--------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: EBC00152Date: 07/03/97 From: JEAN-FRANCOIS GOBIN Time: 08:00am \/To: PAUL WANKADIA (Read 1 times) Subj: protected mode Hello Paul ... > A byte is eight bits. > A word is two bytes. > A dword is a double word is four bytes. > A long is a dword. > A qword is a quad word is eight bytes. > A quad is a qword. Nice poestry ... :-P > What in all the blazes of heck is a "tbyte"??? It's a TenByte ... 10 bytes ... that's used for the math copro : long are in a 80 bits format. Pouce -* Champlon (Belgique) ... Perdu au milieu de la Foret ! --- FMail 1.0g * Origin: - The Alenia BBS - Gobin Jean-Francois SysOp (2:293/3212.83) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: EBD00000Date: 06/20/97 From: SVEN JOOS Time: 06:13pm \/To: HERMAN SCHONFELD (Read 1 times) Subj: 50 line mode3 Hello Mr. Schonfeld. Please note that an elaborous reply was cut, because it a/ had too many words b/ was kinda cruel 14 Jun 97 09:15, Herman Schonfeld wrote to Jerry Coffin: JC>> On (11 Jun 97) Herman Schonfeld wrote to Jerry Coffin... HS>> Those modes are x-modes. They are not documented because they JC>> aren't HS>> specific to the video card. ie, mode-x specifications are just JC>> tweaked HS>> svga specifications. JC>> Nonsense. Absolutely _every_ undocumented mode I've ever seen was JC>> specific to that card (or at least to cards using the same JC>> chipset.) Gosh, this time Jerry is right (chorus : again?) JC>> x-modes are generic to all VGA cards, and do not require SVGA. JC>> While an SVGA card may support the same resolution/bit depth/number JC>> of pages as an x-mode, it's still NOT an x-mode if you set it via JC>> the BIOS. To remain an x-mode, it has to be available on all VGA JC>> cards, which means you have to set the parameters by writing the JC>> directly to the registers yourself. Later, Jerry. Gosh, this time Jerry is right (chorus : again?) HS> ROFL! Try tweaking an old vga card(if you can find one), then come HS> back with your results! That is, Mr. Schonfeld, because, Mr.Schonfeld, those old vga cards were clones made by ppl who didn't get it "the right way" at first... I am not going to spoil any more words than necessary... greetz, Sven Joos --- FMail 1.22 * Origin: Loc (2:292/8139.2) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: EBD00001Date: 06/26/97 From: SVEN JOOS Time: 07:16pm \/To: HERMAN SCHONFELD (Read 1 times) Subj: 50 line mode3 Hello Herman. This is one of your posts i can't resist to answer because they are completely and utterly wrong and prove how much you actually know... You look like someone who needs to learn some things, please, if you want to learn something, loose that attittude... i am the first to admit that i don't know everything, and that i need to learn things (one of them is not replying on your posts :-)), but when i know you are wrong, then you are.. 19 Jun 97 16:31, Herman Schonfeld wrote to Joe Koss: >> > Those modes are x-modes. They are not documented because they >> > aren't specific to the video card. ie, mode-x specifications are >> > just tweaked svga specifications. >> JK> No Herman, they are not x-modes. >> >> I know, however, the specifications are slightly different from >> SVGA. so why the heck do you call them x-modes? Excuse my Klatchian... >> >> You can set SVGA mode without calling the vesa bios interrupt 10h >> by tweaking specific registers. that method is possible, but since every card-manufacturer uses its own proprietary method for setting specific modes, while the x-modes, work on every register-compatible plain vannilla vga-card,... [snip] btw, what is c-code doing on an 80xxx echo? Except for annoying the hell out of me, that is... (sorry moderator) ok, what do we 'ave 'ere >> >> in.x.ax = 0x13; >> int86(0x10, &in, &out); get into 320x200x256 (standard mode 13h) >> >> /* Unchain */ >> outportw(0x3c4, 0x0604); /* explicit tweaking is done here */ chain-4 -> off >> outportw(0x3d4, 0xe317); crtc bytemode :on >> outportw(0x3d4, 0x0014); crtc longmode : off I, personally, would switch those last two, because it is for me easier to think in the genre of i'll put that switch off and that one on, but that is just a matter of taste, those two can be switched... hmm this gets you in 320x200x256 Unchained, so you have all 256K of your standard vga-card instead of the 64k... this is not really mode-x.. mode-x is the 320x240 variant of chain-4... and it is not SVGA.. it is NOT svga... One use for it could be to implement n-buffering without having to use main memory... >> I don't know the values to tweak a SVGA mode so I can't show you, >> but setting the SVGA mode is done similarly to setting an x-mode. ok, one difference between vga and svga you don't seem to grasp is : vga originated at ibm and was set as a standard for ibm-compatible pc's so vga-clones have to be register-compatible svga is non-standard, there were the sierra's hi-dacs, there came others, they all have in common that they were backwards compatible with the vga-specifications .. one day they came together and they said to each other... hey, matey, why don't we set a standard way of getting into some standard modes, and set some standard way of putting pixels.. and thus were the vesa-specifications born.. because there was a wide variety of ways to get into certain modes, it was impossible to set a standard on which registers/ports should be used, so they devised an int10h superset way. Ok , i am babbling again... HS> It will be similar depending of the explicit architecture of the video HS> card used. If you compile a program in ANSI standard C for an HS> IBM/Compatible machine, the code manufactured would obviously fail on HS> a Power Mac. However, compiling for a Power Mac will produce a valid HS> output. It's the kind-of the same with video card specifications, all HS> you really need to do is change a specific port address. (Namely with HS> SVGA modes). In the non-standard undocumented x-modes, you will find HS> that most cards support those modes, however, you will find cards that HS> will fail even the simplest of an x-mode implementation. That is why HS> there is no rationale for these x-modes and that is why they are HS> 'undocumented'! (You can obviously find documentation for HS> implementation techniques though, however, they are usually not HS> advised by the manufactures of the video card as they can damage HS> hardware and are not really compatible). vga-ibm-remark this proves you really don't have a clue what vga, svga and x-modes really e HS> ROFL! HS> Well, I have never seen a rationale for these x-modes, 'hence', they HS> must be 'undocumented' and 'non-standard'. (even if they work with 80% HS> of existing video cards). see above + 80x50 is standard on vga... and can even be set with int calls, so you don't need to tweak any vga-registers... but higher textmodes aren't even vga... btw. max. res. on a plain vanilla vga-card in 256 colors : 360x480 and that really takes some tweaking... greetz, Sven Joos a.k.a. mo6/green --- FMail 1.22 * Origin: Loc (2:292/8139.2) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: EBD00002Date: 07/07/97 From: HERMAN SCHONFELD Time: 09:56am \/To: PAUL WANKADIA (Read 1 times) Subj: Memory! PW>On 03 Jul 97, Herman Schonfeld wrote to Paul Wankadia -- HS> PW> I was about to ask you how you got to talking about protected PW>mode HS> PW> from our discussion of real mode. Oh well... HS> In real mode there are no descriptors/selectors so I doubt that we HS> were talking about real mode. PW>I wonder if the segment registers in real mode still have "hidden" parts PW>that PW>the programmer can't get at. What do you mean? ... EDLINUTL.ZIP 7K Utility that make EDLIN seem like Wordperfect! --- Ezycom V1.48g0 01fd016b * Origin: Fox's Lair BBS Bris Aus +61-7-38033908 V34+ Node 2 (3:640/238) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: EBD00003Date: 07/07/97 From: HERMAN SCHONFELD Time: 10:06am \/To: PAUL WANKADIA (Read 1 times) Subj: more pmode fun PW>On 03 Jul 97, Herman Schonfeld wrote to Paul Wankadia -- HS> Why do you need those tables for anyway? Those tables are PW>maintained HS> by the operating system (the dos extender in your case), you can't HS> PW> I thought I told you ... my program IS the OS. HS> Well you're not going to do it through interrupt calls. PW>That's why I'm trying to load a null IDT. There are basically three levels of virtualization that DPMI implementations can provide: No Virtualization In general, stand-alone single tasking DPMI implementations will not virtualize any hardware devices. These host extension programs will execute as standard DOS real mode drivers or programs. Extenders which use the services provided by these DPMI host drivers will translate protected mode DOS calls to real mode DOS calls. Normally these extenders will invoke DPMI services to return the processor to real mode (instead of virtual 8086 mode) when calling DOS. Partial Virtualization Some environments that execute under DOS will virtualize hardware devices, provide virtual memory, or provide other services that require virtualization of some hardware devices. Under these environments, DPMI applications will always run at a non-privileged ring (usually ring 3). Some or all hardware interrupts will be virtualized, some or all I/O will be virtualized, and virtual memory may be supported. Under these implementations, page locking services usually must be used to lock interrupt and exception handling code. Complete Virtualization These environments provide a completely simulated DOS environment. The native operating system is something other than MS-DOS. Under these implementations of DPMI, all devices will be virtualized to some extent. Normally, page locking services will be ignored by these implementations since all physical device interrupt and I/O handling will be performed by the operating system. Programs will always run at a non-privileged ring. HS> I have no idea on how to load an IDT! Take a look at DJGPP's `go32' PW>if HS> you're after an operating system. PW>I have the Linux source and also have source for a very small OS. Both PW>of PW>them disable interrupts and load GDT and a null IDT with no problems. PW>But PW>when *I* go to do the same, the computer hangs... That's because your operating system loads your application at protection level which prevents it from using instructions such as lidt etc. ... I*love~my$computer,;It's%made in Taiwa~##$ ` #@ --- Ezycom V1.48g0 01fd016b * Origin: Fox's Lair BBS Bris Aus +61-7-38033908 V34+ Node 2 (3:640/238) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: EBD00004Date: 07/07/97 From: HERMAN SCHONFELD Time: 10:11am \/To: AUKE REITSMA (Read 1 times) Subj: Memory! AR>Hi Herman, AR>On 03 Jul 97, 10:29, you wrote to Craig Hart CH>> Correction to lesson one: in real mode, the 286+ can access CH>> 1088kb-16 bytes of memory. This is achieved by CH>> segmentreg=FFFFh offset reg=0 to FFFFh. This is how the 286+ CH>> ITSELF operates. HS> It can't access 1088kb. A 16-bit pointer can only access up to HS> 2^16 bytes, or 64kb. HS> "When in real mode, the 80x86 processor is has limited access to HS> only 1,024 kb using a segment:offset resolution." "Extending DOS, HS> Ray Gwin". AR>Spreading mis-information again, huh ... Craig is _RIGHT_ ... AR>Ever heard of the A20 gate and of the HMA? I don't think so ... Yes I have heard of the A20 line, I've never in all the books that I've read on the subject read anything about an extra 24kb. Either way, it is trivial and hardly worth the trouble. (assuming it is implemented differently). ... In DOS we trust. --- Ezycom V1.48g0 01fd016b * Origin: Fox's Lair BBS Bris Aus +61-7-38033908 V34+ Node 2 (3:640/238) PW> TS> Yeah a mod... also do you know any midi trackers? PW> PW> I didn't think you could use a "tracker" to play MIDI files. TD>tracker not player. i want to make midi files... I think you can only use trackers for s3m/xm/mod files. The only way to make midi is with an electronic keyboard. (I think -- i wouldn't be surprised if someone went out and coded a midi tracker). ... Does the Enterprise use DOS v 2356.0? --- Ezycom V1.48g0 01fd016b * Origin: Fox's Lair BBS Bris Aus +61-7-38033908 V34+ Node 2 (3:640/238) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: EBD00005Date: 07/07/97 From: HERMAN SCHONFELD Time: 10:25am \/To: TOM ST DENIS (Read 1 times) Subj: Re: Two Probs PW> TS> Yeah a mod... also do you know any midi trackers? PW> PW> I didn't think you could use a "tracker" to play MIDI files. TD>tracker not player. i want to make midi files... I think you can only use trackers for s3m/xm/mod files. The only way to make midi is with an electronic keyboard. (I think -- i wouldn't be surprised if someone went out and coded a midi tracker). ... Does the Enterprise use DOS v 2356.0? --- Ezycom V1.48g0 01fd016b * Origin: Fox's Lair BBS Bris Aus +61-7-38033908 V34+ Node 2 (3:640/238) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: EBD00006Date: 07/07/97 From: PAUL WANKADIA Time: 10:36am \/To: TOM ST DENIS (Read 1 times) Subj: Free assemblers On 03 Jul 97, Tom St Denis wrote to Paul Wankadia -- TS> Do i here GNU? Why not use DJGPP and NASM. DJGPP the c compiler TS> which is FREE and NASM the assembler which is also FREE Of course, let's not forget GNU as, which comes with DJGPP anyway. TS> good software is not always the exspensive kind... I'm ferpectly aware of that. Just because I'm an advocate of GNU software doesn't mean I'm going to go shoving it down everyone's throat. We were discussing A86, IIRC, so that's what I was discussing (surprisingly enough). --- PPoint 2.00 * Origin: Junyer's Workshop (3:640/772.3) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: EBD00007Date: 07/07/97 From: PAUL WANKADIA Time: 10:38am \/To: HERMAN SCHONFELD (Read 1 times) Subj: protetion mode On 05 Jul 97, Herman Schonfeld wrote to Paul Wankadia -- HS> PW> I would say that it COULD be because you're not supposed to load a HS> PW> new IDT with DPMI, but simply alter the interrupt descriptors in HS> PW> place. In any case, I won't be using DPMI anyway... HS> So your `operating system' will be real-mode? DPMI is not the only way to do protected mode, Herman. There IS something that all the "lamers" who don't have DPMI use ... ... we like to call it "changing the PE bit in CR0" ... HS> and if it's not there, I doubt it's anywhere.. HS> PW> Have a good read of 386INTEL.TXT ... you DO have it, don't you? HS> Yes, i `DO' have it. I also have the DPMI specification and it doesn't HS> mention it anywhere. I will not waste my time going through the other HS> document. The DPMI specs don't make protected mode. The 386 does. --- PPoint 2.00 * Origin: Junyer's Workshop (3:640/772.3) --------------- FIDO MESSAGE AREA==> TOPIC: 145 ASSEMBLY LANG. Ref: EBD00008Date: 07/07/97 From: PAUL WANKADIA Time: 10:40am \/To: JERRY COFFIN (Read 1 times) Subj: Memory! On 05 Jul 97, Herman Schonfeld wrote to Jerry Coffin -- HS> The DPMI specification mentions nothing about "iAPX286" and the He has a thing about the DPMI specs. --- PPoint 2.00 * Origin: Junyer's Workshop (3:640/772.3)