============================================================================================================================================== OFFSET 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F ---------------------------------------------------------------------------------------------------------------------------------------------- 00000000 D0 CF 11 E0 A1 B1 1A E1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3E 00 03 00 FE FF 09 00 ╨╧◄αí▒→ß................>.♥.■ ○. 00000020 06 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 49 00 00 00 00 00 00 00 00 10 00 00 4A 00 00 00 ♠...........☺...I........►..J... 00000040 01 00 00 00 FE FF FF FF 00 00 00 00 48 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ☺...■ ....H... 00000060 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00000080 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000000A0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000000C0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000000E0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00000100 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00000120 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00000140 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00000160 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00000180 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000001A0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000001C0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000001E0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00000200 DC A5 68 00 57 E0 09 04 00 00 00 00 65 00 00 00 00 00 00 00 00 00 00 00 00 03 00 00 F3 74 00 00 ▄Ñh.Wα○♦....e............♥..≤t.. 00000220 24 8E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F3 71 00 00 00 00 00 00 00 00 00 00 $Ä..................≤q.......... 00000240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 80 00 00 B8 01 00 00 .........................Ç..╕☺.. 00000260 00 80 00 00 B8 01 00 00 B8 81 00 00 00 00 00 00 B8 81 00 00 00 00 00 00 B8 81 00 00 00 00 00 00 .Ç..╕☺..╕ü......╕ü......╕ü...... 00000280 B8 81 00 00 00 00 00 00 B8 81 00 00 14 00 00 00 92 82 00 00 54 02 00 00 92 82 00 00 00 00 00 00 ╕ü......╕ü..¶...Æé..T☻..Æé...... 000002A0 E6 84 00 00 00 00 00 00 E6 84 00 00 00 00 00 00 E6 84 00 00 00 00 00 00 E6 84 00 00 0A 00 00 00 µä......µä......µä......µä..◙... 000002C0 F0 84 00 00 1C 00 00 00 92 82 00 00 00 00 00 00 4C 8D 00 00 44 00 00 00 0C 85 00 00 16 00 00 00 ≡ä..∟...Æé......Lì..D...♀à..▬... 000002E0 22 85 00 00 00 00 00 00 22 85 00 00 00 00 00 00 22 85 00 00 00 00 00 00 22 85 00 00 00 00 00 00 "à......"à......"à......"à...... 00000300 22 85 00 00 24 02 00 00 46 87 00 00 3C 01 00 00 82 88 00 00 A0 00 00 00 33 8B 00 00 02 00 00 00 "à..$☻..Fç..<☺..éê..á...3ï..☻... 00000320 35 8B 00 00 00 00 00 00 35 8B 00 00 00 00 00 00 35 8B 00 00 51 00 00 00 86 8B 00 00 D4 00 00 00 5ï......5ï......5ï..Q...åï..╘... 00000340 5A 8C 00 00 D4 00 00 00 2E 8D 00 00 1E 00 00 00 90 8D 00 00 58 00 00 00 E8 8D 00 00 3C 00 00 00 Zî..╘....ì..▲...Éì..X...Φì..<... 00000360 4C 8D 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B8 81 00 00 00 00 00 00 Lì......................╕ü...... 00000380 22 89 00 00 00 00 00 00 00 00 3B 00 3C 00 01 00 04 00 22 85 00 00 00 00 00 00 22 85 00 00 00 00 "ë........;.<.☺.♦."à......"à.... 000003A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 22 89 00 00 00 00 00 00 22 89 00 00 00 00 .................."ë......"ë.... 000003C0 00 00 4C 8D 00 00 00 00 00 00 F4 8A 00 00 00 00 00 00 B8 81 00 00 00 00 00 00 B8 81 00 00 00 00 ..Lì......⌠è......╕ü......╕ü.... 000003E0 00 00 22 85 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0C 85 00 00 00 00 .."à......................♀à.... 00000400 00 00 F4 8A 00 00 00 00 00 00 F4 8A 00 00 00 00 00 00 F4 8A 00 00 00 00 00 00 22 89 00 00 D2 01 ..⌠è......⌠è......⌠è......"ë..╥☺ 00000420 00 00 B8 81 00 00 00 00 00 00 22 85 00 00 00 00 00 00 B8 81 00 00 00 00 00 00 22 85 00 00 00 00 ..╕ü......"à......╕ü......"à.... 00000440 00 00 33 8B 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 C7 2F 76 3B CC BB 01 CC 81 00 00 4A 00 ..3ï...............╟/v;╠╗☺╠ü..J. 00000460 00 00 16 82 00 00 7C 00 00 00 B8 81 00 00 00 00 00 00 B8 81 00 00 00 00 00 00 B8 81 00 00 00 00 ..▬é..|...╕ü......╕ü......╕ü.... 00000480 00 00 B8 81 00 00 00 00 00 00 22 89 00 00 00 00 00 00 33 8B 00 00 00 00 00 00 F4 8A 00 00 3F 00 ..╕ü......"ë......3ï......⌠è..?. 000004A0 00 00 F4 8A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..⌠è............................ 000004C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000004E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00000500 55 73 69 6E 67 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 0D 54 68 69 73 20 73 65 63 74 Using the SuperVGA Kit♪This sect 00000520 69 6F 6E 20 70 72 6F 76 69 64 65 73 20 61 6E 20 6F 76 65 72 76 69 65 77 20 6F 66 20 74 68 65 20 ion provides an overview of the 00000540 53 75 70 65 72 56 47 41 20 4B 69 74 2C 20 61 6E 64 20 70 72 6F 76 69 64 65 73 20 62 61 63 6B 67 SuperVGA Kit, and provides backg 00000560 72 6F 75 6E 64 20 64 65 74 61 69 6C 73 20 6F 6E 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 round details on the SuperVGA Ki 00000580 74 20 66 75 6E 63 74 69 6F 6E 61 6C 69 74 79 20 61 6E 64 20 68 6F 77 20 74 6F 20 75 74 69 6C 69 t functionality and how to utili 000005A0 7A 65 20 74 68 69 73 20 66 75 6E 63 74 69 6F 6E 61 6C 69 74 79 20 69 6E 20 79 6F 75 72 20 6F 77 ze this functionality in your ow 000005C0 6E 20 61 70 70 6C 69 63 61 74 69 6F 6E 73 2E 0D 4E 6F 74 65 20 74 68 61 74 20 74 68 65 20 53 75 n applications.♪Note that the Su 000005E0 70 65 72 56 47 41 20 4B 69 74 20 69 73 20 6E 6F 20 6C 6F 6E 67 65 72 20 61 20 73 75 70 70 6F 72 perVGA Kit is no longer a suppor 00000600 74 65 64 20 53 63 69 54 65 63 68 20 53 6F 66 74 77 61 72 65 20 70 72 6F 64 75 63 74 2C 20 61 6E ted SciTech Software product, an 00000620 64 20 66 6F 72 20 6D 61 78 69 6D 75 6D 20 70 6F 72 74 61 62 69 6C 69 74 79 20 79 6F 75 20 73 68 d for maximum portability you sh 00000640 6F 75 6C 64 20 61 74 74 65 6D 70 74 20 74 6F 20 6D 6F 76 65 20 61 6C 6C 20 79 6F 75 72 20 53 75 ould attempt to move all your Su 00000660 70 65 72 56 47 41 20 4B 69 74 20 63 6F 64 65 20 61 63 72 6F 73 73 20 74 6F 20 75 73 65 20 74 68 perVGA Kit code across to use th 00000680 65 20 72 65 61 6C 20 4D 47 4C 20 41 50 49 2E 20 48 6F 77 65 76 65 72 20 74 68 65 20 53 75 70 65 e real MGL API. However the Supe 000006A0 72 56 47 41 20 4B 69 74 20 69 73 20 73 74 69 6C 6C 20 70 72 6F 76 69 64 65 64 2C 20 61 6E 64 20 rVGA Kit is still provided, and 000006C0 74 68 69 73 20 64 6F 63 75 6D 65 6E 74 61 74 69 6F 6E 20 69 73 20 70 72 6F 76 69 64 65 64 20 66 this documentation is provided f 000006E0 6F 72 20 64 65 76 65 6C 6F 70 65 72 73 20 77 68 6F 20 61 72 65 20 63 6F 6E 74 65 6E 74 20 74 6F or developers who are content to 00000700 20 75 73 65 20 74 68 69 73 20 41 50 49 2E 0D 57 68 61 74 20 69 73 20 74 68 65 20 53 63 69 54 65 use this API.♪What is the SciTe 00000720 63 68 20 53 75 70 65 72 56 47 41 20 4B 69 74 3F 0D 54 68 65 20 53 63 69 54 65 63 68 20 53 75 70 ch SuperVGA Kit?♪The SciTech Sup 00000740 65 72 56 47 41 20 4B 69 74 20 69 73 20 61 20 53 6F 66 74 77 61 72 65 20 44 65 76 65 6C 6F 70 6D erVGA Kit is a Software Developm 00000760 65 6E 74 20 4B 69 74 20 66 6F 72 20 77 6F 72 6B 69 6E 67 20 77 69 74 68 20 56 45 53 41 20 56 42 ent Kit for working with VESA VB 00000780 45 20 63 6F 6D 70 6C 69 61 6E 74 20 53 75 70 65 72 56 47 41 20 67 72 61 70 68 69 63 73 20 63 61 E compliant SuperVGA graphics ca 000007A0 72 64 73 20 75 6E 64 65 72 20 62 6F 74 68 20 44 4F 53 20 61 6E 64 20 57 69 6E 64 6F 77 73 2E 20 rds under both DOS and Windows. 000007C0 54 68 69 73 20 53 44 4B 20 69 6E 63 6C 75 64 65 73 20 66 75 6C 6C 20 73 75 70 70 6F 72 74 20 66 This SDK includes full support f 000007E0 6F 72 20 61 6C 6C 20 73 74 61 6E 64 61 72 64 20 56 42 45 20 64 65 76 69 63 65 73 2C 20 61 73 20 or all standard VBE devices, as 00000800 77 65 6C 6C 20 61 73 20 64 65 76 69 63 65 73 20 74 68 61 74 20 73 75 70 70 6F 72 74 20 74 68 65 well as devices that support the 00000820 20 6E 65 77 20 56 42 45 2F 41 46 20 41 63 63 65 6C 65 72 61 74 6F 72 20 46 75 6E 63 74 69 6F 6E new VBE/AF Accelerator Function 00000840 73 20 73 70 65 63 69 66 69 63 61 74 69 6F 6E 2E 20 41 6C 74 68 6F 75 67 68 20 56 42 45 20 32 2E s specification. Although VBE 2. 00000860 30 20 6F 72 20 56 42 45 2F 41 46 20 31 2E 30 20 69 73 20 72 65 71 75 69 72 65 64 20 74 6F 20 67 0 or VBE/AF 1.0 is required to g 00000880 65 74 20 74 68 65 20 6D 61 78 69 6D 75 6D 20 70 65 72 66 6F 72 6D 61 6E 63 65 20 6F 75 74 20 6F et the maximum performance out o 000008A0 66 20 74 68 69 73 20 6C 69 62 72 61 72 79 2C 20 69 74 20 64 6F 65 73 20 70 72 6F 76 69 64 65 20 f this library, it does provide 000008C0 66 75 6C 6C 20 73 75 70 70 6F 72 74 20 66 6F 72 20 65 78 69 73 74 69 6E 67 20 63 6F 6E 74 72 6F full support for existing contro 000008E0 6C 6C 65 72 73 20 74 68 61 74 20 73 75 70 70 6F 72 74 20 74 68 65 20 56 42 45 20 31 2E 32 20 61 llers that support the VBE 1.2 a 00000900 6E 64 20 6C 6F 77 65 72 20 73 70 65 63 69 66 69 63 61 74 69 6F 6E 73 2E 0D 54 68 65 20 53 63 69 nd lower specifications.♪The Sci 00000920 54 65 63 68 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 70 72 6F 76 69 64 65 73 20 73 75 70 70 6F Tech SuperVGA Kit provides suppo 00000940 72 74 20 66 6F 72 20 62 6F 74 68 20 31 36 20 62 69 74 20 72 65 61 6C 20 6D 6F 64 65 20 61 6E 64 rt for both 16 bit real mode and 00000960 20 33 32 20 62 69 74 20 70 72 6F 74 65 63 74 65 64 20 6D 6F 64 65 20 64 65 76 65 6C 6F 70 6D 65 32 bit protected mode developme 00000980 6E 74 20 75 6E 64 65 72 20 4D 53 2D 44 4F 53 2C 20 61 6E 64 20 62 6F 74 68 20 31 36 20 61 6E 64 nt under MS-DOS, and both 16 and 000009A0 20 33 32 20 62 69 74 20 70 72 6F 74 65 63 74 65 64 20 6D 6F 64 65 20 75 6E 64 65 72 20 57 69 6E 32 bit protected mode under Win 000009C0 64 6F 77 73 20 33 2E 31 20 61 6E 64 20 57 69 6E 64 6F 77 73 20 39 35 2E 20 55 6E 64 65 72 20 57 dows 3.1 and Windows 95. Under W 000009E0 69 6E 64 6F 77 73 20 33 2E 31 20 61 6E 64 20 57 69 6E 64 6F 77 73 20 39 35 20 74 68 65 20 53 75 indows 3.1 and Windows 95 the Su 00000A00 70 65 72 56 47 41 20 4B 69 74 20 69 73 20 70 72 6F 76 69 64 65 64 20 61 73 20 62 6F 74 68 20 31 perVGA Kit is provided as both 1 00000A20 36 20 61 6E 64 20 33 32 20 62 69 74 20 44 4C 4C 92 73 2C 20 61 6E 64 20 61 73 20 73 74 61 74 69 6 and 32 bit DLLÆs, and as stati 00000A40 63 61 6C 6C 79 20 6C 69 6E 6B 61 62 6C 65 20 6C 69 62 72 61 72 69 65 73 2E 20 49 66 20 79 6F 75 cally linkable libraries. If you 00000A60 20 77 69 73 68 20 74 6F 20 75 73 65 20 74 68 65 20 73 74 61 74 69 63 20 6C 69 6E 6B 20 6C 69 62 wish to use the static link lib 00000A80 72 61 72 69 65 73 20 75 6E 64 65 72 20 31 36 20 62 69 74 20 57 69 6E 64 6F 77 73 2C 20 70 6C 65 raries under 16 bit Windows, ple 00000AA0 61 73 65 20 72 65 61 64 20 74 68 65 20 73 70 65 63 69 61 6C 20 73 65 63 74 69 6F 6E 20 72 65 6C ase read the special section rel 00000AC0 61 74 65 64 20 74 6F 20 74 68 69 73 20 62 65 6C 6F 77 2E 0D 53 75 70 65 72 56 47 41 20 4B 69 74 ated to this below.♪SuperVGA Kit 00000AE0 20 63 6F 6D 70 6F 6E 65 6E 74 73 0D 54 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 63 6F 6E components♪The SuperVGA Kit con 00000B00 73 69 73 74 73 20 6F 66 20 61 20 6E 75 6D 62 65 72 20 6F 66 20 68 65 61 64 65 72 20 66 69 6C 65 sists of a number of header file 00000B20 73 20 61 6E 64 20 73 74 61 74 69 63 20 6C 69 6E 6B 20 6C 69 62 72 61 72 69 65 73 20 66 6F 72 20 s and static link libraries for 00000B40 44 4F 53 20 61 6E 64 20 57 69 6E 64 6F 77 73 20 61 70 70 6C 69 63 61 74 69 6F 6E 73 2C 20 6F 72 DOS and Windows applications, or 00000B60 20 61 73 20 31 36 20 6F 72 20 33 32 20 62 69 74 20 44 4C 4C 92 73 20 66 6F 72 20 57 69 6E 64 6F as 16 or 32 bit DLLÆs for Windo 00000B80 77 73 20 61 70 70 6C 69 63 61 74 69 6F 6E 73 2E 20 54 61 62 6C 65 20 31 20 6C 69 73 74 73 20 74 ws applications. Table 1 lists t 00000BA0 68 65 20 66 69 6C 65 73 20 74 68 61 74 20 63 6F 6D 70 72 69 73 65 20 74 68 65 20 73 74 61 6E 64 he files that comprise the stand 00000BC0 61 72 64 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 6C 69 62 72 61 72 79 20 70 61 63 6B 61 67 65 ard SuperVGA Kit library package 00000BE0 20 28 73 65 65 20 69 6E 73 74 61 6C 6C 61 74 69 6F 6E 20 73 65 63 74 69 6F 6E 20 66 6F 72 20 64 (see installation section for d 00000C00 65 74 61 69 6C 73 20 6F 6E 20 77 68 65 72 65 20 74 68 65 20 66 69 6C 65 73 20 77 69 6C 6C 20 62 etails on where the files will b 00000C20 65 20 6C 6F 63 61 74 65 64 29 2E 0D 46 69 6C 65 07 50 75 72 70 6F 73 65 07 07 53 56 47 41 2E 48 e located).♪File•Purpose••SVGA.H 00000C40 07 4D 61 69 6E 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 68 65 61 64 65 72 20 66 69 6C 65 07 07 •Main SuperVGA Kit header file•• 00000C60 53 56 47 41 4D 47 4C 2E 48 07 53 75 70 65 72 56 47 41 20 4B 69 74 20 43 6F 6D 70 61 74 69 62 69 SVGAMGL.H•SuperVGA Kit Compatibi 00000C80 6C 69 74 79 20 4C 69 62 72 61 72 79 20 68 65 61 64 65 72 20 66 69 6C 65 07 07 56 45 53 41 56 42 lity Library header file••VESAVB 00000CA0 45 2E 48 07 48 65 61 64 65 72 20 66 69 6C 65 20 66 6F 72 20 56 45 53 41 20 56 42 45 20 31 2E 32 E.H•Header file for VESA VBE 1.2 00000CC0 2F 32 2E 30 20 69 6E 74 65 72 66 61 63 65 20 6D 6F 64 75 6C 65 07 07 56 42 45 41 46 2E 48 07 48 /2.0 interface module••VBEAF.H•H 00000CE0 65 61 64 65 72 20 66 69 6C 65 20 66 6F 72 20 56 42 45 2F 41 46 20 31 2E 30 20 69 6E 74 65 72 66 eader file for VBE/AF 1.0 interf 00000D00 61 63 65 20 6D 6F 64 75 6C 65 07 07 53 56 47 41 2E 4C 49 42 07 53 74 61 74 69 63 20 6C 69 6E 6B ace module••SVGA.LIB•Static link 00000D20 20 6C 69 62 72 61 72 69 65 73 20 66 6F 72 20 64 65 66 61 75 6C 74 20 63 61 6C 6C 69 6E 67 20 63 libraries for default calling c 00000D40 6F 6E 76 65 6E 74 69 6F 6E 73 07 07 53 56 47 41 4D 47 4C 2E 4C 49 42 07 53 75 70 65 72 56 47 41 onventions••SVGAMGL.LIB•SuperVGA 00000D60 20 4B 69 74 20 43 6F 6D 70 61 74 69 62 69 6C 69 74 79 20 4C 69 62 72 61 72 79 07 07 53 53 56 47 Kit Compatibility Library••SSVG 00000D80 41 2E 4C 49 42 07 57 61 74 63 6F 6D 20 43 2B 2B 20 73 74 61 74 69 63 20 6C 69 6E 6B 20 6C 69 62 A.LIB•Watcom C++ static link lib 00000DA0 72 61 72 69 65 73 20 66 6F 72 20 73 74 61 63 6B 20 63 61 6C 6C 69 6E 67 20 63 6F 6E 76 65 6E 74 raries for stack calling convent 00000DC0 69 6F 6E 73 07 07 53 53 56 47 41 4D 47 4C 2E 4C 49 42 07 57 61 74 63 6F 6D 20 43 2B 2B 20 53 75 ions••SSVGAMGL.LIB•Watcom C++ Su 00000DE0 70 65 72 56 47 41 20 4B 69 74 20 43 6F 6D 70 61 74 69 62 69 6C 69 74 79 20 4C 69 62 72 61 72 79 perVGA Kit Compatibility Library 00000E00 20 66 6F 72 20 73 74 61 63 6B 20 63 61 6C 6C 69 6E 67 20 63 6F 6E 76 65 6E 74 69 6F 6E 73 07 07 for stack calling conventions•• 00000E20 53 56 47 41 36 32 2E 4C 49 42 07 31 36 20 62 69 74 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 66 SVGA62.LIB•16 bit SuperVGA Kit f 00000E40 6F 72 20 57 69 6E 64 6F 77 73 20 69 6D 70 6F 72 74 20 6C 69 62 72 61 72 79 07 07 53 56 47 41 36 or Windows import library••SVGA6 00000E60 32 46 2E 4C 49 42 07 33 32 20 62 69 74 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 66 6F 72 20 57 2F.LIB•32 bit SuperVGA Kit for W 00000E80 69 6E 64 6F 77 73 20 69 6D 70 6F 72 74 20 6C 69 62 72 61 72 79 07 07 53 56 47 41 36 32 2E 44 4C indows import library••SVGA62.DL 00000EA0 4C 07 31 36 20 62 69 74 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 66 6F 72 20 57 69 6E 64 6F 77 L•16 bit SuperVGA Kit for Window 00000EC0 73 20 44 4C 4C 07 07 53 56 47 41 36 32 46 2E 44 4C 4C 07 33 32 20 62 69 74 20 53 75 70 65 72 56 s DLL••SVGA62F.DLL•32 bit SuperV 00000EE0 47 41 20 4B 69 74 20 66 6F 72 20 57 69 6E 64 6F 77 73 20 44 4C 4C 07 07 54 61 62 6C 65 20 13 20 GA Kit for Windows DLL••Table ‼ 00000F00 53 45 51 20 54 61 62 6C 65 5F 41 2D 20 5C 2A 20 41 52 41 42 49 43 20 14 31 15 0D 4E 6F 74 65 20 SEQ Table_A- \* ARABIC ¶1§♪Note 00000F20 74 68 61 74 20 69 6E 20 6F 72 64 65 72 20 74 6F 20 75 73 65 20 74 68 65 20 53 75 70 65 72 56 47 that in order to use the SuperVG 00000F40 41 20 4B 69 74 20 66 6F 72 20 57 69 6E 64 6F 77 73 2C 20 79 6F 75 20 77 69 6C 6C 20 61 6C 73 6F A Kit for Windows, you will also 00000F60 20 6E 65 65 64 20 74 68 65 20 57 69 6E 44 69 72 65 63 74 20 70 61 63 6B 61 67 65 20 28 64 65 73 need the WinDirect package (des 00000F80 63 72 69 62 65 64 20 62 65 6C 6F 77 29 20 74 6F 20 73 68 75 74 20 64 6F 77 6E 20 61 6E 64 20 72 cribed below) to shut down and r 00000FA0 65 73 74 6F 72 65 20 47 44 49 2E 0D 55 73 69 6E 67 20 57 69 6E 64 6F 77 73 20 31 36 20 62 69 74 estore GDI.♪Using Windows 16 bit 00000FC0 20 73 74 61 74 69 63 20 6C 69 6E 6B 20 6C 69 62 72 61 72 69 65 73 0D 49 6E 20 6F 72 64 65 72 20 static link libraries♪In order 00000FE0 74 6F 20 73 75 70 70 6F 72 74 20 33 32 20 62 69 74 20 6C 69 6E 65 61 72 20 66 72 61 6D 65 62 75 to support 32 bit linear framebu 00001000 66 66 65 72 20 61 63 63 65 73 73 20 66 72 6F 6D 20 31 36 20 62 69 74 20 57 69 6E 64 6F 77 73 20 ffer access from 16 bit Windows 00001020 63 6F 64 65 2C 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 69 6E 63 6C 75 64 65 73 20 code, the SuperVGA Kit includes 00001040 73 70 65 63 69 61 6C 20 33 32 20 62 69 74 20 6C 69 6E 65 61 72 20 66 72 61 6D 65 62 75 66 66 65 special 32 bit linear framebuffe 00001060 72 20 61 73 73 65 6D 62 6C 65 72 20 66 75 6E 63 74 69 6F 6E 73 2E 20 54 68 65 73 65 20 66 75 6E r assembler functions. These fun 00001080 63 74 69 6F 6E 73 20 61 72 65 20 33 32 20 62 69 74 20 61 73 73 65 6D 62 6C 65 72 20 63 6F 64 65 ctions are 32 bit assembler code 000010A0 20 74 68 61 74 20 72 65 73 69 64 65 20 69 6E 20 61 20 63 6F 6D 70 6C 65 74 65 6C 79 20 73 65 70 that reside in a completely sep 000010C0 61 72 61 74 65 20 33 32 20 62 69 74 20 63 6F 64 65 20 73 65 67 6D 65 6E 74 2E 20 42 65 66 6F 72 arate 32 bit code segment. Befor 000010E0 65 20 61 6E 79 20 6F 66 20 74 68 65 20 33 32 20 62 69 74 20 63 6F 64 65 20 63 61 6E 20 62 65 20 e any of the 32 bit code can be 00001100 72 75 6E 2C 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 63 6F 64 65 20 63 61 6C 6C 73 run, the SuperVGA Kit code calls 00001120 20 61 20 73 70 65 63 69 61 6C 20 66 75 6E 63 74 69 6F 6E 20 69 6E 20 74 68 65 20 33 32 20 62 69 a special function in the 32 bi 00001140 74 20 63 6F 64 65 20 73 65 67 6D 65 6E 74 20 74 68 61 74 20 77 69 6C 6C 20 63 6F 6E 76 65 72 74 t code segment that will convert 00001160 20 74 68 65 20 73 65 6C 65 63 74 6F 72 20 66 6F 72 20 74 68 61 74 20 73 65 67 6D 65 6E 74 20 74 the selector for that segment t 00001180 6F 20 61 20 33 32 20 62 69 74 20 63 6F 64 65 20 73 65 67 6D 65 6E 74 20 73 65 6C 65 63 74 6F 72 o a 32 bit code segment selector 000011A0 2E 20 0D 48 6F 77 65 76 65 72 20 63 75 72 72 65 6E 74 20 31 36 20 62 69 74 20 43 20 63 6F 6D 70 . ♪However current 16 bit C comp 000011C0 69 6C 65 72 73 20 64 6F 6E 92 74 20 6B 6E 6F 77 20 61 62 6F 75 74 20 33 32 20 62 69 74 20 63 6F ilers donÆt know about 32 bit co 000011E0 64 65 20 73 65 67 6D 65 6E 74 73 2C 20 61 6E 64 20 62 79 20 64 65 66 61 75 6C 74 20 77 69 6C 6C de segments, and by default will 00001200 20 61 75 74 6F 6D 61 74 69 63 61 6C 6C 79 20 6D 65 72 67 65 20 74 68 65 20 33 32 20 62 69 74 20 automatically merge the 32 bit 00001220 63 6F 64 65 20 73 65 67 6D 65 6E 74 20 77 69 74 68 20 79 6F 75 72 20 61 70 70 6C 69 63 61 74 69 code segment with your applicati 00001240 6F 6E 73 20 6E 6F 72 6D 61 6C 20 31 36 20 62 69 74 20 63 6F 64 65 20 73 65 67 6D 65 6E 74 73 2E ons normal 16 bit code segments. 00001260 20 57 68 65 6E 20 74 68 69 73 20 68 61 70 70 65 6E 73 2C 20 74 68 65 20 73 61 6D 65 20 73 65 6C When this happens, the same sel 00001280 65 63 74 6F 72 20 77 69 6C 6C 20 62 65 20 75 73 65 64 20 66 6F 72 20 74 68 65 20 33 32 20 62 69 ector will be used for the 32 bi 000012A0 74 20 63 6F 64 65 20 73 65 67 6D 65 6E 74 20 61 6E 64 20 61 6E 79 20 6F 66 20 74 68 65 20 6D 65 t code segment and any of the me 000012C0 72 67 65 64 20 31 36 20 62 69 74 20 63 6F 64 65 20 73 65 67 6D 65 6E 74 73 21 20 4E 61 74 75 72 rged 16 bit code segments! Natur 000012E0 61 6C 6C 79 20 74 68 65 20 63 6F 64 65 20 77 69 6C 6C 20 6E 6F 74 20 72 75 6E 20 63 6F 72 72 65 ally the code will not run corre 00001300 63 74 6C 79 2C 20 61 6E 64 20 79 6F 75 72 20 70 72 6F 67 72 61 6D 20 77 69 6C 6C 20 63 72 61 73 ctly, and your program will cras 00001320 68 2E 0D 54 68 65 20 73 6F 6C 75 74 69 6F 6E 20 69 73 20 74 6F 20 65 6E 73 75 72 65 20 74 68 61 h.♪The solution is to ensure tha 00001340 74 20 77 68 65 6E 20 79 6F 75 20 6C 69 6E 6B 20 79 6F 75 72 20 61 70 70 6C 69 63 61 74 69 6F 6E t when you link your application 00001360 20 74 68 61 74 20 79 6F 75 20 74 65 6C 6C 20 79 6F 75 72 20 6C 69 6E 6B 65 72 20 74 6F 20 74 75 that you tell your linker to tu 00001380 72 6E 20 6F 66 66 20 74 68 65 20 63 6F 64 65 20 73 65 67 6D 65 6E 74 20 70 61 63 6B 69 6E 67 20 rn off the code segment packing 000013A0 6F 70 74 69 6F 6E 20 64 75 72 69 6E 67 20 74 68 65 20 6C 69 6E 6B 2C 20 77 68 69 63 68 20 77 69 option during the link, which wi 000013C0 6C 6C 20 73 6F 6C 76 65 20 74 68 65 20 70 72 6F 62 6C 65 6D 2E 20 41 6E 20 61 6C 74 65 72 6E 61 ll solve the problem. An alterna 000013E0 74 69 76 65 20 73 6F 6C 75 74 69 6F 6E 20 69 73 20 74 6F 20 61 6C 77 61 79 73 20 75 73 65 20 74 tive solution is to always use t 00001400 68 65 20 70 72 6F 76 69 64 65 64 20 31 36 20 62 69 74 20 44 4C 4C 20 72 61 74 68 65 72 20 74 68 he provided 16 bit DLL rather th 00001420 61 6E 20 6C 69 6E 6B 69 6E 67 20 77 69 74 68 20 74 68 65 20 73 74 61 74 69 63 20 6C 69 6E 6B 20 an linking with the static link 00001440 6C 69 62 72 61 72 79 20 66 6F 72 20 31 36 20 62 69 74 20 57 69 6E 64 6F 77 73 20 63 6F 64 65 2E library for 16 bit Windows code. 00001460 0D 42 75 69 6C 64 69 6E 67 20 61 70 70 6C 69 63 61 74 69 6F 6E 73 20 77 69 74 68 20 74 68 65 20 ♪Building applications with the 00001480 53 75 70 65 72 56 47 41 20 4B 69 74 0D 54 6F 20 62 75 69 6C 64 20 61 6E 20 61 70 70 6C 69 63 61 SuperVGA Kit♪To build an applica 000014A0 74 69 6F 6E 20 75 73 69 6E 67 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 2C 20 79 6F 75 tion using the SuperVGA Kit, you 000014C0 20 77 69 6C 6C 20 6E 65 65 64 20 74 6F 20 69 6E 63 6C 75 64 65 20 74 68 65 20 53 56 47 41 2E 48 will need to include the SVGA.H 000014E0 20 68 65 61 64 65 72 20 66 69 6C 65 20 69 6E 20 79 6F 75 72 20 63 6F 64 65 2C 20 61 6E 64 20 6C header file in your code, and l 00001500 69 6E 6B 20 79 6F 75 72 20 61 70 70 6C 69 63 61 74 69 6F 6E 20 77 69 74 68 20 62 6F 74 68 20 74 ink your application with both t 00001520 68 65 20 53 56 47 41 2E 4C 49 42 20 61 6E 64 20 50 4D 4F 44 45 2E 4C 49 42 20 6C 69 62 72 61 72 he SVGA.LIB and PMODE.LIB librar 00001540 69 65 73 20 66 6F 72 20 79 6F 75 72 20 44 4F 53 20 45 78 74 65 6E 64 65 72 20 28 73 65 65 20 73 ies for your DOS Extender (see s 00001560 65 63 74 69 6F 6E 20 6F 66 20 50 4D 2F 50 72 6F 20 6C 69 62 72 61 72 79 20 66 6F 72 20 6D 6F 72 ection of PM/Pro library for mor 00001580 65 20 64 65 74 61 69 6C 73 29 2E 20 59 6F 75 20 77 69 6C 6C 20 6E 65 65 64 20 74 6F 20 65 6E 73 e details). You will need to ens 000015A0 75 72 65 20 74 68 61 74 20 79 6F 75 20 73 65 6C 65 63 74 20 74 68 65 20 63 6F 72 72 65 63 74 20 ure that you select the correct 000015C0 6C 69 62 72 61 72 69 65 73 20 66 6F 72 20 74 68 65 20 73 70 65 63 69 66 69 63 20 63 6F 6D 70 69 libraries for the specific compi 000015E0 6C 65 72 20 61 6E 64 20 63 61 6C 6C 69 6E 67 20 63 6F 6E 76 65 6E 74 69 6F 6E 73 20 74 68 61 74 ler and calling conventions that 00001600 20 79 6F 75 20 61 72 65 20 75 73 69 6E 67 2E 20 46 6F 72 20 57 69 6E 64 6F 77 73 20 63 6F 64 65 you are using. For Windows code 00001620 20 79 6F 75 20 77 69 6C 6C 20 6E 65 65 64 20 74 6F 20 6C 69 6E 6B 20 77 69 74 68 20 74 68 65 20 you will need to link with the 00001640 50 4D 2F 50 72 6F 20 44 4C 4C 20 69 6D 70 6F 72 74 20 6C 69 62 72 61 72 69 65 73 20 62 65 63 61 PM/Pro DLL import libraries beca 00001660 75 73 65 20 74 68 65 20 50 4D 2F 50 72 6F 20 6C 69 62 72 61 72 79 20 69 73 20 6F 6E 6C 79 20 70 use the PM/Pro library is only p 00001680 72 6F 76 69 64 65 64 20 61 73 20 44 4C 4C 92 73 20 66 6F 72 20 57 69 6E 64 6F 77 73 2E 0D 49 66 rovided as DLLÆs for Windows.♪If 000016A0 20 79 6F 75 20 61 72 65 20 63 6F 6D 70 69 6C 69 6E 67 20 57 69 6E 64 6F 77 73 20 63 6F 64 65 20 you are compiling Windows code 000016C0 61 6E 64 20 77 69 73 68 20 74 6F 20 75 73 65 20 74 68 65 20 44 4C 4C 20 76 65 72 73 69 6F 6E 20 and wish to use the DLL version 000016E0 6F 66 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 2C 20 79 6F 75 20 77 69 6C 6C 20 6E 65 of the SuperVGA Kit, you will ne 00001700 65 64 20 74 6F 20 23 64 65 66 69 6E 65 20 53 56 47 41 5F 44 4C 4C 20 20 77 68 65 6E 20 79 6F 75 ed to #define SVGA_DLL when you 00001720 20 63 6F 6D 70 69 6C 65 20 61 6C 6C 20 73 6F 75 72 63 65 20 6D 6F 64 75 6C 65 73 20 74 68 61 74 compile all source modules that 00001740 20 69 6E 63 6C 75 64 65 20 74 68 65 20 53 56 47 41 2E 48 20 68 65 61 64 65 72 20 66 69 6C 65 2C include the SVGA.H header file, 00001760 20 61 6E 64 20 6C 69 6E 6B 20 77 69 74 68 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 and link with the SuperVGA Kit 00001780 44 4C 4C 20 69 6D 70 6F 72 74 20 6C 69 62 72 61 72 69 65 73 20 66 6F 72 20 79 6F 75 72 20 63 6F DLL import libraries for your co 000017A0 6D 70 69 6C 65 72 2E 20 54 68 65 20 44 4C 4C 20 69 6D 70 6F 72 74 20 6C 69 62 72 61 72 69 65 73 mpiler. The DLL import libraries 000017C0 20 68 61 76 65 20 74 68 65 20 73 61 6D 65 20 6E 61 6D 65 20 61 73 20 74 68 65 20 44 4C 4C 20 66 have the same name as the DLL f 000017E0 69 6C 65 73 20 66 6F 72 20 74 68 69 73 20 72 65 6C 65 61 73 65 20 6F 66 20 74 68 65 20 53 75 70 iles for this release of the Sup 00001800 65 72 56 47 41 20 4B 69 74 20 77 69 74 68 20 74 68 65 20 2E 4C 49 42 20 66 69 6C 65 20 65 78 74 erVGA Kit with the .LIB file ext 00001820 65 6E 73 69 6F 6E 20 28 69 2E 65 2E 20 53 56 47 41 36 30 2E 4C 49 42 20 6F 72 20 53 56 47 41 36 ension (i.e. SVGA60.LIB or SVGA6 00001840 30 46 2E 4C 49 42 20 66 6F 72 20 74 68 65 20 36 2E 30 20 72 65 6C 65 61 73 65 29 2E 20 4E 6F 74 0F.LIB for the 6.0 release). Not 00001860 65 20 74 68 61 74 20 66 6F 72 20 57 69 6E 64 6F 77 73 20 63 6F 64 65 20 75 73 69 6E 67 20 74 68 e that for Windows code using th 00001880 65 20 44 4C 4C 20 6C 69 62 72 61 72 69 65 73 20 79 6F 75 20 77 69 6C 6C 20 6E 6F 74 20 6E 65 65 e DLL libraries you will not nee 000018A0 64 20 74 6F 20 6C 69 6E 6B 20 74 6F 20 74 68 65 20 50 4D 2F 50 72 6F 20 6C 69 62 72 61 72 79 20 d to link to the PM/Pro library 000018C0 66 69 6C 65 73 20 75 6E 6C 65 73 73 20 79 6F 75 20 6D 61 6B 65 20 65 78 70 6C 69 63 69 74 20 63 files unless you make explicit c 000018E0 61 6C 6C 73 20 74 6F 20 74 68 65 73 65 20 6C 69 62 72 61 72 79 20 66 75 6E 63 74 69 6F 6E 73 2C alls to these library functions, 00001900 20 61 73 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 44 4C 4C 92 73 20 61 72 65 20 61 as the SuperVGA Kit DLLÆs are a 00001920 6C 72 65 61 64 79 20 6C 69 6E 6B 65 64 20 74 6F 20 74 68 65 20 50 4D 2F 50 72 6F 20 6C 69 62 72 lready linked to the PM/Pro libr 00001940 61 72 79 20 44 4C 4C 92 73 2E 0D 54 68 65 20 53 63 69 54 65 63 68 20 53 75 70 65 72 56 47 41 20 ary DLLÆs.♪The SciTech SuperVGA 00001960 4B 69 74 20 63 6F 6D 65 73 20 77 69 74 68 20 66 75 6C 6C 20 73 6F 75 72 63 65 20 63 6F 64 65 2C Kit comes with full source code, 00001980 20 73 6F 20 79 6F 75 20 63 61 6E 20 61 6C 73 6F 20 64 69 72 65 63 74 6C 79 20 69 6E 63 6C 75 64 so you can also directly includ 000019A0 65 20 74 68 65 20 73 6F 75 72 63 65 20 63 6F 64 65 20 66 6F 72 20 74 68 65 20 53 75 70 65 72 56 e the source code for the SuperV 000019C0 47 41 20 4B 69 74 20 69 6E 20 79 6F 75 72 20 6F 77 6E 20 70 72 6F 67 72 61 6D 73 20 72 61 74 68 GA Kit in your own programs rath 000019E0 65 72 20 74 68 61 6E 20 6C 69 6E 6B 69 6E 67 20 77 69 74 68 20 74 68 65 20 70 72 65 2D 63 6F 6D er than linking with the pre-com 00001A00 70 69 6C 65 64 20 6C 69 62 72 61 72 69 65 73 2E 20 48 6F 77 65 76 65 72 20 79 6F 75 20 77 69 6C piled libraries. However you wil 00001A20 6C 20 6E 65 65 64 20 54 75 72 62 6F 20 41 73 73 65 6D 62 6C 65 72 20 34 2E 30 20 6F 72 20 6C 61 l need Turbo Assembler 4.0 or la 00001A40 74 65 72 20 69 6E 20 6F 72 64 65 72 20 74 6F 20 61 73 73 65 6D 62 6C 65 20 74 68 65 20 70 72 6F ter in order to assemble the pro 00001A60 76 69 64 65 64 20 61 73 73 65 6D 62 6C 65 72 20 73 6F 75 72 63 65 20 63 6F 64 65 20 28 65 78 74 vided assembler source code (ext 00001A80 72 61 63 74 20 74 68 65 20 6F 62 6A 65 63 74 20 66 69 6C 65 73 20 66 72 6F 6D 20 74 68 65 20 70 ract the object files from the p 00001AA0 72 6F 76 69 64 65 64 20 6C 69 62 72 61 72 69 65 73 20 77 69 74 68 20 79 6F 75 72 20 63 6F 6D 70 rovided libraries with your comp 00001AC0 69 6C 65 72 92 73 20 6C 69 62 72 61 72 69 61 6E 20 69 66 20 79 6F 75 20 64 6F 6E 92 74 20 68 61 ilerÆs librarian if you donÆt ha 00001AE0 76 65 20 54 75 72 62 6F 20 41 73 73 65 6D 62 6C 65 72 29 2E 0D 49 66 20 79 6F 75 20 64 6F 6E 92 ve Turbo Assembler).♪If you donÆ 00001B00 74 20 77 69 73 68 20 74 6F 20 75 73 65 20 74 68 65 20 65 6E 74 69 72 65 20 53 75 70 65 72 56 47 t wish to use the entire SuperVG 00001B20 41 20 4B 69 74 20 6C 69 62 72 61 72 69 65 73 20 69 6E 20 79 6F 75 72 20 61 70 70 6C 69 63 61 74 A Kit libraries in your applicat 00001B40 69 6F 6E 20 62 75 74 20 77 69 73 68 20 74 6F 20 73 75 70 70 6F 72 74 20 56 42 45 20 32 2E 30 20 ion but wish to support VBE 2.0 00001B60 69 6E 20 79 6F 75 72 20 61 70 70 6C 69 63 61 74 69 6F 6E 73 2C 20 77 65 20 68 69 67 68 6C 79 20 in your applications, we highly 00001B80 72 65 63 6F 6D 6D 65 6E 64 20 79 6F 75 20 6C 69 6E 6B 20 69 6E 20 61 6E 64 20 75 73 65 20 74 68 recommend you link in and use th 00001BA0 65 20 56 45 53 41 56 42 45 2E 43 20 6D 6F 64 75 6C 65 20 61 73 20 79 6F 75 72 20 6D 61 69 6E 20 e VESAVBE.C module as your main 00001BC0 69 6E 74 65 72 66 61 63 65 20 74 6F 20 56 42 45 20 32 2E 30 2E 20 4E 6F 6E 65 20 6F 66 20 74 68 interface to VBE 2.0. None of th 00001BE0 65 20 63 6F 64 65 20 69 6E 20 56 45 53 41 56 42 45 2E 43 20 69 73 20 73 70 65 65 64 20 63 72 69 e code in VESAVBE.C is speed cri 00001C00 74 69 63 61 6C 2C 20 61 6E 64 20 74 68 69 73 20 6D 6F 64 75 6C 65 20 74 61 6B 65 73 20 63 61 72 tical, and this module takes car 00001C20 65 20 6F 66 20 66 69 78 69 6E 67 20 6D 69 6E 6F 72 20 62 75 67 73 20 69 6E 20 73 6C 69 67 68 74 e of fixing minor bugs in slight 00001C40 6C 79 20 76 61 72 79 69 6E 67 20 56 42 45 20 69 6D 70 6C 65 6D 65 6E 74 61 74 69 6F 6E 73 20 74 ly varying VBE implementations t 00001C60 6F 20 6D 61 6B 65 20 74 68 65 20 68 69 67 68 20 6C 65 76 65 6C 20 69 6E 74 65 72 66 61 63 65 20 o make the high level interface 00001C80 63 6F 6E 73 69 73 74 65 6E 74 2E 20 54 68 69 73 20 6D 6F 64 75 6C 65 20 61 6C 73 6F 20 74 61 6B consistent. This module also tak 00001CA0 65 73 20 63 61 72 65 20 6F 66 20 69 73 6F 6C 61 74 69 6E 67 20 70 72 6F 74 65 63 74 65 64 20 6D es care of isolating protected m 00001CC0 6F 64 65 20 61 70 70 6C 69 63 61 74 69 6F 6E 73 20 66 72 6F 6D 20 74 68 65 20 6E 65 65 64 20 74 ode applications from the need t 00001CE0 6F 20 64 65 61 6C 20 77 69 74 68 20 70 6F 69 6E 74 65 72 73 20 74 6F 20 72 65 61 6C 20 6D 6F 64 o deal with pointers to real mod 00001D00 65 20 6D 65 6D 6F 72 79 20 6C 6F 63 61 74 69 6F 6E 73 20 62 79 20 6D 61 70 70 69 6E 67 20 61 6C e memory locations by mapping al 00001D20 6C 20 73 75 63 68 20 64 61 74 61 20 69 6E 74 6F 20 74 68 65 20 64 65 66 61 75 6C 74 20 64 61 74 l such data into the default dat 00001D40 61 20 73 65 67 6D 65 6E 74 20 61 75 74 6F 6D 61 74 69 63 61 6C 6C 79 2E 0D 53 75 70 65 72 56 47 a segment automatically.♪SuperVG 00001D60 41 20 4B 69 74 20 63 6F 6D 70 61 74 69 62 69 6C 69 74 79 20 6C 69 62 72 61 72 79 0D 49 66 20 79 A Kit compatibility library♪If y 00001D80 6F 75 20 68 61 76 65 20 64 65 76 65 6C 6F 70 65 64 20 61 6E 20 61 70 70 6C 69 63 61 74 69 6F 6E ou have developed an application 00001DA0 20 75 73 69 6E 67 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 61 6E 64 20 79 6F 75 20 using the SuperVGA Kit and you 00001DC0 77 6F 75 6C 64 20 6C 69 6B 65 20 74 6F 20 6D 6F 76 65 20 75 70 20 74 6F 20 74 68 65 20 66 75 6C would like to move up to the ful 00001DE0 6C 20 4D 47 4C 20 41 50 49 2C 20 79 6F 75 20 63 61 6E 20 67 65 74 20 73 74 61 72 74 65 64 20 71 l MGL API, you can get started q 00001E00 75 69 63 6B 6C 79 20 77 69 74 68 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 63 6F 6D uickly with the SuperVGA Kit com 00001E20 70 61 74 62 69 6C 69 74 79 20 6C 69 62 72 61 72 79 2E 20 54 68 69 73 20 69 73 20 61 20 73 6D 61 patbility library. This is a sma 00001E40 6C 6C 20 6C 69 62 72 61 72 79 20 74 68 61 74 20 65 78 70 6F 72 74 73 20 61 6E 20 69 64 65 6E 74 ll library that exports an ident 00001E60 69 63 61 6C 20 41 50 49 20 74 6F 20 74 68 65 20 6F 72 69 67 69 6E 61 6C 20 53 75 70 65 72 56 47 ical API to the original SuperVG 00001E80 41 20 4B 69 74 2C 20 62 75 74 20 79 6F 75 20 6C 69 6E 6B 20 79 6F 75 72 20 63 6F 64 65 20 77 69 A Kit, but you link your code wi 00001EA0 74 68 20 74 68 65 20 4D 47 4C 20 6C 69 62 72 61 72 69 65 73 20 72 61 74 68 65 72 20 74 68 61 6E th the MGL libraries rather than 00001EC0 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 6C 69 62 72 61 72 69 65 73 2E 20 0D 49 66 the SuperVGA Kit libraries. ♪If 00001EE0 20 79 6F 75 20 64 6F 20 75 73 65 20 74 68 65 20 63 6F 6D 70 61 74 69 62 69 6C 69 74 79 20 6C 69 you do use the compatibility li 00001F00 62 72 61 72 79 2C 20 77 65 20 72 65 63 6F 6D 6D 65 6E 64 20 74 68 61 74 20 79 6F 75 20 65 76 65 brary, we recommend that you eve 00001F20 6E 74 75 61 6C 6C 79 20 70 6F 72 74 20 79 6F 75 72 20 63 6F 64 65 20 6F 76 65 72 20 74 6F 20 74 ntually port your code over to t 00001F40 68 65 20 66 75 6C 6C 20 4D 47 4C 20 41 50 49 2C 20 61 73 20 74 68 65 20 53 75 70 65 72 56 47 41 he full MGL API, as the SuperVGA 00001F60 20 4B 69 74 20 63 6F 6D 70 61 74 69 62 69 6C 69 74 79 20 6C 69 62 72 61 72 79 20 69 73 20 6E 6F Kit compatibility library is no 00001F80 74 20 70 6F 72 74 61 62 6C 65 20 74 6F 20 57 69 6E 64 6F 77 73 20 61 6E 64 20 77 69 6C 6C 20 6E t portable to Windows and will n 00001FA0 6F 74 20 77 6F 72 6B 20 77 69 74 68 20 74 68 65 20 44 69 72 65 63 74 58 20 6C 69 62 72 61 72 69 ot work with the DirectX librari 00001FC0 65 73 2E 20 54 68 65 20 66 75 6C 6C 20 73 6F 75 72 63 65 20 63 6F 64 65 20 74 6F 20 74 68 65 20 es. The full source code to the 00001FE0 63 6F 6D 70 61 74 69 62 69 6C 69 74 79 20 6C 69 62 72 61 72 79 20 69 73 20 70 72 6F 76 69 64 65 compatibility library is provide 00002000 64 20 61 73 20 70 61 72 74 20 6F 66 20 74 68 65 20 73 74 61 6E 64 61 72 64 20 4D 47 4C 20 64 69 d as part of the standard MGL di 00002020 73 74 72 69 62 75 74 69 6F 6E 2C 20 73 6F 20 79 6F 75 20 63 61 6E 20 75 73 65 20 74 68 61 74 20 stribution, so you can use that 00002040 73 6F 75 72 63 65 20 63 6F 64 65 20 61 73 20 61 20 67 75 69 64 65 20 74 6F 20 68 65 6C 70 69 6E source code as a guide to helpin 00002060 67 20 79 6F 75 20 70 6F 72 74 20 79 6F 75 72 20 63 6F 64 65 20 66 72 6F 6D 20 74 68 65 20 53 75 g you port your code from the Su 00002080 70 65 72 56 47 41 20 4B 69 74 20 41 50 49 20 74 6F 20 74 68 65 20 66 75 6C 6C 20 4D 47 4C 20 41 perVGA Kit API to the full MGL A 000020A0 50 49 2E 0D 55 73 69 6E 67 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 43 6F 6D 70 61 PI.♪Using the SuperVGA Kit Compa 000020C0 74 69 62 69 6C 69 74 79 20 4C 69 62 72 61 72 79 0D 49 6E 20 6F 72 64 65 72 20 74 6F 20 65 61 73 tibility Library♪In order to eas 000020E0 65 20 74 68 65 20 70 6F 72 74 69 6E 67 20 65 66 66 6F 72 74 20 72 65 71 75 69 72 65 64 20 74 6F e the porting effort required to 00002100 20 6D 6F 76 65 20 79 6F 75 72 20 63 6F 64 65 20 66 72 6F 6D 20 74 68 65 20 53 75 70 65 72 56 47 move your code from the SuperVG 00002120 41 20 4B 69 74 20 41 50 49 20 6F 76 65 72 20 74 6F 20 74 68 65 20 53 63 69 54 65 63 68 20 4D 47 A Kit API over to the SciTech MG 00002140 4C 20 41 50 49 2C 20 77 65 20 68 61 76 65 20 70 72 6F 76 69 64 65 64 20 61 20 73 6D 61 6C 6C 20 L API, we have provided a small 00002160 53 75 70 65 72 56 47 41 20 4B 69 74 20 43 6F 6D 70 61 74 69 62 69 6C 69 74 79 20 4C 69 62 72 61 SuperVGA Kit Compatibility Libra 00002180 72 79 20 28 77 69 74 68 20 73 6F 75 72 63 65 20 63 6F 64 65 29 2E 20 54 68 69 73 20 6C 69 62 72 ry (with source code). This libr 000021A0 61 72 79 20 69 6D 70 6C 65 6D 65 6E 74 73 20 74 68 65 20 65 6E 74 69 72 65 20 53 75 70 65 72 56 ary implements the entire SuperV 000021C0 47 41 20 4B 69 74 20 41 50 49 20 62 75 74 20 69 6D 70 6C 65 6D 65 6E 74 73 20 61 6C 6C 20 74 68 GA Kit API but implements all th 000021E0 65 20 6D 6F 64 65 20 69 6E 69 74 69 61 6C 69 7A 61 74 69 6F 6E 20 61 6E 64 20 67 72 61 70 68 69 e mode initialization and graphi 00002200 63 73 20 6F 75 74 70 75 74 20 66 75 6E 63 74 69 6F 6E 73 20 75 73 69 6E 67 20 53 63 69 54 65 63 cs output functions using SciTec 00002220 68 20 4D 47 4C 2E 20 54 6F 20 75 73 65 20 74 68 69 73 20 6C 69 62 72 61 72 79 2C 20 61 6C 6C 20 h MGL. To use this library, all 00002240 79 6F 75 20 6E 65 65 64 20 74 6F 20 64 6F 20 69 73 20 63 6F 6D 70 69 6C 65 20 79 6F 75 72 20 63 you need to do is compile your c 00002260 6F 64 65 20 61 73 20 6E 6F 72 6D 61 6C 2C 20 61 6E 64 20 74 68 65 6E 20 73 69 6D 70 6C 79 20 72 ode as normal, and then simply r 00002280 65 6C 69 6E 6B 20 77 69 74 68 20 62 6F 74 68 20 74 68 65 20 53 56 47 41 4D 47 4C 2E 4C 49 42 20 elink with both the SVGAMGL.LIB 000022A0 61 6E 64 20 74 68 65 20 61 70 70 72 6F 70 72 69 61 74 65 20 4D 47 4C 20 6C 69 62 72 61 72 69 65 and the appropriate MGL librarie 000022C0 73 20 28 69 2E 65 2E 20 4D 47 4C 4C 54 2E 4C 49 42 20 66 6F 72 20 74 68 65 20 4D 47 4C 2F 4C 69 s (i.e. MGLLT.LIB for the MGL/Li 000022E0 74 65 20 6C 69 62 72 61 72 69 65 73 29 2E 0D 49 66 20 68 6F 77 65 76 65 72 20 79 6F 75 20 61 72 te libraries).♪If however you ar 00002300 65 20 75 73 69 6E 67 20 74 68 65 20 57 69 6E 44 69 72 65 63 74 20 63 6F 6D 70 61 74 69 62 69 6C e using the WinDirect compatibil 00002320 69 74 79 20 6C 69 62 72 61 72 69 65 73 20 66 6F 72 20 65 76 65 6E 74 20 68 61 6E 64 6C 69 6E 67 ity libraries for event handling 00002340 20 75 6E 64 65 72 20 44 4F 53 2C 20 79 6F 75 20 77 69 6C 6C 20 6E 65 65 64 20 74 6F 20 69 6E 63 under DOS, you will need to inc 00002360 6C 75 64 65 20 74 68 65 20 53 56 47 41 4D 47 4C 2E 48 20 68 65 61 64 65 72 20 66 69 6C 65 20 69 lude the SVGAMGL.H header file i 00002380 6E 73 74 65 61 64 20 6F 66 20 74 68 65 20 73 74 61 6E 64 61 72 64 20 53 56 47 41 2E 48 20 68 65 nstead of the standard SVGA.H he 000023A0 61 64 65 72 20 66 69 6C 65 2E 20 54 68 69 73 20 66 69 6C 65 20 63 6F 6E 74 61 69 6E 73 20 73 6F ader file. This file contains so 000023C0 6D 65 20 74 72 61 6E 73 6C 61 74 69 6F 6E 20 6D 61 63 72 6F 73 20 61 6E 64 20 66 75 6E 63 74 69 me translation macros and functi 000023E0 6F 6E 73 20 74 6F 20 74 72 61 6E 73 6C 61 74 65 20 74 68 65 20 65 76 65 6E 74 20 68 61 6E 64 6C ons to translate the event handl 00002400 69 6E 67 20 66 75 6E 63 74 69 6F 6E 73 20 66 72 6F 6D 20 74 68 65 20 57 69 6E 44 69 72 65 63 74 ing functions from the WinDirect 00002420 20 41 50 49 20 74 6F 20 74 68 65 20 53 63 69 54 65 63 68 20 4D 47 4C 20 41 50 49 2E 0D 49 6E 69 API to the SciTech MGL API.♪Ini 00002440 74 69 61 6C 69 7A 69 6E 67 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 0D 42 65 66 6F 72 tializing the SuperVGA Kit♪Befor 00002460 65 20 79 6F 75 20 63 61 6E 20 75 73 65 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 2C 20 e you can use the SuperVGA Kit, 00002480 79 6F 75 20 6E 65 65 64 20 74 6F 20 63 61 6C 6C 20 74 68 65 20 53 56 5F 69 6E 69 74 20 69 6E 69 you need to call the SV_init ini 000024A0 74 69 61 6C 69 7A 61 74 69 6F 6E 20 66 75 6E 63 74 69 6F 6E 2E 20 54 68 69 73 20 66 75 6E 63 74 tialization function. This funct 000024C0 69 6F 6E 20 74 61 6B 65 73 20 61 20 66 6C 61 67 20 74 68 61 74 20 69 6E 64 69 63 61 74 65 73 20 ion takes a flag that indicates 000024E0 77 68 65 74 68 65 72 20 79 6F 75 20 77 69 73 68 20 74 6F 20 73 65 61 72 63 68 20 66 6F 72 20 61 whether you wish to search for a 00002500 6E 64 20 75 73 65 20 56 42 45 2F 41 46 20 73 65 72 76 69 63 65 73 20 77 68 65 72 65 20 61 76 61 nd use VBE/AF services where ava 00002520 69 6C 61 62 6C 65 2C 20 61 6E 64 20 77 69 6C 6C 20 72 65 74 75 72 6E 20 61 20 70 6F 69 6E 74 65 ilable, and will return a pointe 00002540 72 20 74 6F 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 92 73 20 67 6C 6F 62 61 6C 20 64 r to the SuperVGA KitÆs global d 00002560 65 76 69 63 65 20 63 6F 6E 74 65 78 74 20 62 6C 6F 63 6B 2E 20 54 68 69 73 20 67 6C 6F 62 61 6C evice context block. This global 00002580 20 64 65 76 69 63 65 20 63 6F 6E 74 65 78 74 20 62 6C 6F 63 6B 20 6D 61 69 6E 74 61 69 6E 73 20 device context block maintains 000025A0 61 6C 6C 20 74 68 65 20 73 74 61 74 65 20 69 6E 66 6F 72 6D 61 74 69 6F 6E 20 66 6F 72 20 74 68 all the state information for th 000025C0 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 2C 20 61 6E 64 20 63 61 6E 20 62 65 20 75 73 65 64 20 e SuperVGA Kit, and can be used 000025E0 74 6F 20 64 69 72 65 63 74 6C 79 20 61 63 63 65 73 73 20 6D 61 6E 79 20 6F 66 20 74 68 65 20 53 to directly access many of the S 00002600 75 70 65 72 56 47 41 20 4B 69 74 92 73 20 69 6E 74 65 72 6E 61 6C 20 76 61 72 69 61 62 6C 65 73 uperVGA KitÆs internal variables 00002620 20 66 6F 72 20 6D 61 78 69 6D 75 6D 20 70 65 72 66 6F 72 6D 61 6E 63 65 2E 0D 4E 6F 74 65 20 74 for maximum performance.♪Note t 00002640 68 61 74 20 74 68 69 73 20 69 73 20 73 6C 69 67 68 74 6C 79 20 64 69 66 66 65 72 65 6E 74 20 74 hat this is slightly different t 00002660 6F 20 74 68 65 20 70 72 65 76 69 6F 75 73 20 35 2E 78 20 72 65 6C 65 61 73 65 73 20 6F 66 20 74 o the previous 5.x releases of t 00002680 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 77 68 65 72 65 20 61 6C 6C 20 67 6C 6F 62 61 6C he SuperVGA Kit where all global 000026A0 20 76 61 72 69 61 62 6C 65 73 20 77 65 72 65 20 61 76 61 69 6C 61 62 6C 65 20 64 69 72 65 63 74 variables were available direct 000026C0 6C 79 2E 20 53 69 6E 63 65 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 68 61 73 20 62 ly. Since the SuperVGA Kit has b 000026E0 65 65 6E 20 75 70 64 61 74 65 64 20 74 6F 20 73 75 70 70 6F 72 74 20 62 6F 74 68 20 31 36 20 61 een updated to support both 16 a 00002700 6E 64 20 33 32 20 62 69 74 20 44 4C 4C 92 73 20 75 6E 64 65 72 20 57 69 6E 64 6F 77 73 2C 20 74 nd 32 bit DLLÆs under Windows, t 00002720 68 65 20 69 6E 74 65 72 66 61 63 65 20 77 61 73 20 63 68 61 6E 67 65 64 20 74 6F 20 69 6E 63 6C he interface was changed to incl 00002740 75 64 65 20 61 20 67 6C 6F 62 61 6C 20 64 65 76 69 63 65 20 63 6F 6E 74 65 78 74 20 62 6C 6F 63 ude a global device context bloc 00002760 6B 20 70 6F 69 6E 74 65 72 20 72 65 74 75 72 6E 65 64 20 74 6F 20 74 68 65 20 61 70 70 6C 69 63 k pointer returned to the applic 00002780 61 74 69 6F 6E 2E 20 54 68 65 20 72 65 61 73 6F 6E 20 66 6F 72 20 74 68 69 73 20 69 73 20 74 68 ation. The reason for this is th 000027A0 61 74 20 79 6F 75 20 63 61 6E 6E 6F 74 20 73 68 61 72 65 20 67 6C 6F 62 61 6C 20 76 61 72 69 61 at you cannot share global varia 000027C0 62 6C 65 73 20 64 69 72 65 63 74 6C 79 20 69 6E 20 31 36 20 62 69 74 20 44 4C 4C 92 73 20 28 79 bles directly in 16 bit DLLÆs (y 000027E0 6F 75 20 63 61 6E 20 66 6F 72 20 33 32 20 62 69 74 20 44 4C 4C 92 73 2C 20 62 75 74 20 6D 61 6E ou can for 32 bit DLLÆs, but man 00002800 79 20 63 6F 6D 70 69 6C 65 72 73 20 64 6F 20 6E 6F 74 20 63 75 72 72 65 6E 74 6C 79 20 73 75 70 y compilers do not currently sup 00002820 70 6F 72 74 20 74 68 69 73 29 2E 20 54 68 65 20 61 64 76 61 6E 74 61 67 65 20 74 6F 20 74 68 65 port this). The advantage to the 00002840 20 6E 65 77 20 69 6E 74 65 72 66 61 63 65 20 69 73 20 74 68 61 74 20 79 6F 75 20 63 61 6E 20 63 new interface is that you can c 00002860 68 61 6E 67 65 20 66 72 6F 6D 20 74 68 65 20 73 74 61 74 69 63 20 6C 69 6E 6B 20 6C 69 62 72 61 hange from the static link libra 00002880 72 69 65 73 20 74 6F 20 74 68 65 20 44 4C 4C 20 76 65 72 73 69 6F 6E 20 6F 66 20 74 68 65 20 53 ries to the DLL version of the S 000028A0 75 70 65 72 56 47 41 20 4B 69 74 20 73 69 6D 70 6C 79 20 62 79 20 61 64 64 69 6E 67 20 74 68 65 uperVGA Kit simply by adding the 000028C0 20 23 64 65 66 69 6E 65 20 53 56 47 41 5F 44 4C 4C 20 61 6E 64 20 72 65 63 6F 6D 70 69 6C 69 6E #define SVGA_DLL and recompilin 000028E0 67 20 61 6E 64 20 6C 69 6E 6B 69 6E 67 20 79 6F 75 72 20 63 6F 64 65 2E 0D 53 74 61 72 74 69 6E g and linking your code.♪Startin 00002900 67 20 61 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 0D 42 65 66 6F 72 65 20 79 6F 75 20 63 61 6E g a graphics mode♪Before you can 00002920 20 73 74 61 72 74 20 61 6E 79 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 2C 20 79 6F 75 20 6D 75 start any graphics mode, you mu 00002940 73 74 20 66 69 72 73 74 20 66 69 6E 64 20 74 68 65 20 6D 6F 64 65 20 6E 75 6D 62 65 72 20 6F 66 st first find the mode number of 00002960 20 74 68 65 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 20 74 68 61 74 20 79 6F 75 20 77 69 73 68 the graphics mode that you wish 00002980 20 74 6F 20 73 74 61 72 74 2E 20 54 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 64 6F 65 73 to start. The SuperVGA Kit does 000029A0 20 6E 6F 74 20 64 65 66 69 6E 65 20 61 6E 79 20 73 74 61 6E 64 61 72 64 20 6D 6F 64 65 20 6E 75 not define any standard mode nu 000029C0 6D 62 65 72 73 2C 20 61 6E 64 20 69 74 20 69 73 20 75 70 20 74 6F 20 79 6F 75 72 20 61 70 70 6C mbers, and it is up to your appl 000029E0 69 63 61 74 69 6F 6E 20 63 6F 64 65 20 74 6F 20 72 65 61 64 20 74 68 72 6F 75 67 68 20 74 68 65 ication code to read through the 00002A00 20 6C 69 73 74 20 6F 66 20 61 76 61 69 6C 61 62 6C 65 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 list of available graphics mode 00002A20 73 20 61 6E 64 20 74 6F 20 73 65 61 72 63 68 20 66 6F 72 20 61 20 67 72 61 70 68 69 63 73 20 6D s and to search for a graphics m 00002A40 6F 64 65 20 77 69 74 68 20 74 68 65 20 64 65 73 69 72 65 64 20 72 65 73 6F 6C 75 74 69 6F 6E 20 ode with the desired resolution 00002A60 61 6E 64 20 63 6F 6C 6F 72 20 64 65 70 74 68 20 75 73 69 6E 67 20 74 68 65 20 56 42 45 5F 67 65 and color depth using the VBE_ge 00002A80 74 4D 6F 64 65 49 6E 66 6F 20 66 75 6E 63 74 69 6F 6E 2E 0D 54 68 65 20 53 75 70 65 72 56 47 41 tModeInfo function.♪The SuperVGA 00002AA0 20 4B 69 74 20 61 6C 6C 6F 77 73 20 79 6F 75 20 74 6F 20 73 74 61 72 74 20 61 20 67 72 61 70 68 Kit allows you to start a graph 00002AC0 69 63 73 20 6D 6F 64 65 20 75 73 69 6E 67 20 65 69 74 68 65 72 20 74 68 65 20 62 61 6E 6B 65 64 ics mode using either the banked 00002AE0 20 66 72 61 6D 65 62 75 66 66 65 72 2C 20 61 20 76 69 72 74 75 61 6C 20 6C 69 6E 65 61 72 20 66 framebuffer, a virtual linear f 00002B00 72 61 6D 65 62 75 66 66 65 72 20 6F 72 20 61 20 68 61 72 64 77 61 72 65 20 6C 69 6E 65 61 72 20 ramebuffer or a hardware linear 00002B20 66 72 61 6D 65 62 75 66 66 65 72 20 6F 6E 20 74 68 65 20 67 72 61 70 68 69 63 73 20 63 61 72 64 framebuffer on the graphics card 00002B40 20 28 64 65 70 65 6E 64 69 6E 67 20 6F 6E 20 74 68 65 20 75 6E 64 65 72 6C 79 69 6E 67 20 56 42 (depending on the underlying VB 00002B60 45 20 64 72 69 76 65 72 92 73 20 63 61 70 61 62 69 6C 69 74 69 65 73 29 2E 20 57 68 65 6E 20 74 E driverÆs capabilities). When t 00002B80 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 69 73 20 69 6E 69 74 69 61 6C 69 7A 65 64 2C 20 he SuperVGA Kit is initialized, 00002BA0 69 74 20 77 69 6C 6C 20 69 6E 74 65 72 72 6F 67 61 74 65 20 74 68 65 20 67 72 61 70 68 69 63 73 it will interrogate the graphics 00002BC0 20 63 61 72 64 20 61 6E 64 20 64 65 74 65 72 6D 69 6E 65 20 69 66 20 69 74 20 73 75 70 70 6F 72 card and determine if it suppor 00002BE0 74 73 20 61 20 68 61 72 64 77 61 72 65 20 6C 69 6E 65 61 72 20 66 72 61 6D 65 62 75 66 66 65 72 ts a hardware linear framebuffer 00002C00 2E 20 49 66 20 69 74 20 64 6F 65 73 20 73 75 70 70 6F 72 74 20 6F 6E 65 2C 20 74 68 65 20 6C 69 . If it does support one, the li 00002C20 6E 65 61 72 41 64 64 72 20 76 61 72 69 61 62 6C 65 20 69 6E 20 74 68 65 20 67 6C 6F 62 61 6C 20 nearAddr variable in the global 00002C40 64 65 76 69 63 65 20 63 6F 6E 74 65 78 74 20 62 6C 6F 63 6B 20 77 69 6C 6C 20 62 65 20 73 65 74 device context block will be set 00002C60 20 74 6F 20 74 68 65 20 76 61 6C 75 65 20 6F 66 20 74 68 65 20 70 68 79 73 69 63 61 6C 20 61 64 to the value of the physical ad 00002C80 64 72 65 73 73 20 6F 66 20 74 68 65 20 6C 69 6E 65 61 72 20 66 72 61 6D 65 62 75 66 66 65 72 20 dress of the linear framebuffer 00002CA0 28 74 68 69 73 20 69 73 20 6E 6F 74 20 61 20 43 50 55 20 61 64 64 72 65 73 73 2C 20 73 6F 20 64 (this is not a CPU address, so d 00002CC0 6F 6E 92 74 20 74 72 79 20 74 6F 20 77 72 69 74 65 20 74 6F 20 69 74 21 21 29 2E 20 49 74 20 69 onÆt try to write to it!!). It i 00002CE0 73 20 74 68 65 6E 20 75 70 20 74 6F 20 79 6F 75 72 20 61 70 70 6C 69 63 61 74 69 6F 6E 20 74 6F s then up to your application to 00002D00 20 70 61 73 73 20 74 68 65 20 73 76 4C 69 6E 65 61 72 42 75 66 66 65 72 20 66 6C 61 67 20 74 6F pass the svLinearBuffer flag to 00002D20 20 74 68 65 20 53 56 5F 73 65 74 4D 6F 64 65 20 66 75 6E 63 74 69 6F 6E 20 77 68 65 6E 20 79 6F the SV_setMode function when yo 00002D40 75 20 73 74 61 72 74 20 74 68 65 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 2C 20 61 6E 64 20 69 u start the graphics mode, and i 00002D60 74 20 77 69 6C 6C 20 65 6E 61 62 6C 65 20 74 68 65 20 68 61 72 64 77 61 72 65 20 6C 69 6E 65 61 t will enable the hardware linea 00002D80 72 20 66 72 61 6D 65 62 75 66 66 65 72 20 6D 6F 64 65 2E 0D 49 66 20 61 20 68 61 72 64 77 61 72 r framebuffer mode.♪If a hardwar 00002DA0 65 20 6C 69 6E 65 61 72 20 66 72 61 6D 65 62 75 66 66 65 72 20 6D 6F 64 65 20 69 73 20 6E 6F 74 e linear framebuffer mode is not 00002DC0 20 61 76 61 69 6C 61 62 6C 65 2C 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 63 68 65 available, the SuperVGA Kit che 00002DE0 63 6B 73 20 74 6F 20 73 65 65 20 69 66 20 69 74 20 69 73 20 70 6F 73 73 69 62 6C 65 20 74 6F 20 cks to see if it is possible to 00002E00 69 6E 69 74 69 61 6C 69 7A 65 20 61 20 76 69 72 74 75 61 6C 20 6C 69 6E 65 61 72 20 66 72 61 6D initialize a virtual linear fram 00002E20 65 62 75 66 66 65 72 20 75 73 69 6E 67 20 74 68 65 20 33 38 36 20 76 69 72 74 75 61 6C 20 6D 65 ebuffer using the 386 virtual me 00002E40 6D 6F 72 79 20 6D 61 6E 61 67 65 72 20 28 6E 6F 74 20 70 6F 73 73 69 62 6C 65 20 75 6E 64 65 72 mory manager (not possible under 00002E60 20 44 4F 53 20 62 6F 78 65 73 20 61 6E 64 20 73 6F 6D 65 20 44 4F 53 20 65 78 74 65 6E 64 65 72 DOS boxes and some DOS extender 00002E80 73 29 2E 20 49 66 20 74 68 69 73 20 69 73 20 70 6F 73 73 69 62 6C 65 2C 20 69 74 20 73 65 74 73 s). If this is possible, it sets 00002EA0 20 74 68 65 20 68 61 76 65 56 69 72 74 75 61 6C 42 75 66 66 65 72 20 66 6C 61 67 20 69 6E 20 74 the haveVirtualBuffer flag in t 00002EC0 68 65 20 67 6C 6F 62 61 6C 20 64 65 76 69 63 65 20 63 6F 6E 74 65 78 74 20 62 6C 6F 63 6B 20 74 he global device context block t 00002EE0 6F 20 74 72 75 65 2C 20 69 6E 64 69 63 61 74 69 6E 67 20 74 68 61 74 20 74 68 65 20 76 69 72 74 o true, indicating that the virt 00002F00 75 61 6C 20 6C 69 6E 65 61 72 20 62 75 66 66 65 72 20 69 73 20 61 76 61 69 6C 61 62 6C 65 2E 20 ual linear buffer is available. 00002F20 57 68 65 6E 20 79 6F 75 20 69 6E 69 74 69 61 6C 69 7A 65 20 61 20 67 72 61 70 68 69 63 73 20 6D When you initialize a graphics m 00002F40 6F 64 65 2C 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 77 69 6C 6C 20 63 68 65 63 6B ode, the SuperVGA Kit will check 00002F60 20 74 68 65 20 75 73 65 56 69 72 74 75 61 6C 42 75 66 66 65 72 20 66 6C 61 67 20 79 6F 75 20 70 the useVirtualBuffer flag you p 00002F80 61 73 73 20 74 6F 20 74 68 65 20 73 65 74 20 6D 6F 64 65 20 66 75 6E 63 74 69 6F 6E 73 20 74 6F ass to the set mode functions to 00002FA0 20 64 65 74 65 72 6D 69 6E 65 20 69 66 20 74 68 65 20 76 69 72 74 75 61 6C 20 6C 69 6E 65 61 72 determine if the virtual linear 00002FC0 20 66 72 61 6D 65 62 75 66 66 65 72 20 73 68 6F 75 6C 64 20 62 65 20 75 73 65 64 2E 20 49 66 20 framebuffer should be used. If 00002FE0 74 68 69 73 20 66 6C 61 67 20 69 73 20 73 65 74 20 74 6F 20 74 72 75 65 20 74 68 65 20 76 69 72 this flag is set to true the vir 00003000 74 75 61 6C 20 6C 69 6E 65 61 72 20 66 72 61 6D 65 62 75 66 66 65 72 20 6D 6F 64 65 20 77 69 6C tual linear framebuffer mode wil 00003020 6C 20 62 65 20 69 6E 69 74 69 61 6C 69 7A 65 64 20 61 6E 64 20 74 68 65 20 76 69 72 74 75 61 6C l be initialized and the virtual 00003040 42 75 66 66 65 72 20 66 6C 61 67 20 69 6E 20 74 68 65 20 67 6C 6F 62 61 6C 20 64 65 76 69 63 65 Buffer flag in the global device 00003060 20 63 6F 6E 74 65 78 74 20 77 69 6C 6C 20 62 65 20 73 65 74 20 74 6F 20 74 72 75 65 20 74 6F 20 context will be set to true to 00003080 69 6E 64 69 63 61 74 65 20 74 68 61 74 20 74 68 65 20 76 69 72 74 75 61 6C 20 62 75 66 66 65 72 indicate that the virtual buffer 000030A0 69 6E 67 20 6D 6F 64 65 20 69 73 20 63 75 72 72 65 6E 74 6C 79 20 61 63 74 69 76 65 2E 0D 4F 6E ing mode is currently active.♪On 000030C0 63 65 20 74 68 65 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 20 69 73 20 69 6E 69 74 69 61 6C 69 ce the graphics mode is initiali 000030E0 7A 65 64 2C 20 79 6F 75 20 63 61 6E 20 64 72 61 77 20 74 6F 20 69 74 20 75 73 69 6E 67 20 74 68 zed, you can draw to it using th 00003100 65 20 73 75 70 70 6C 69 65 64 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 67 72 61 70 68 69 63 73 e supplied SuperVGA Kit graphics 00003120 20 6F 75 74 70 75 74 20 66 75 6E 63 74 69 6F 6E 73 20 28 6E 6F 74 20 76 65 72 79 20 73 70 65 63 output functions (not very spec 00003140 74 61 63 75 6C 61 72 29 20 6F 72 20 79 6F 75 20 63 61 6E 20 77 72 69 74 65 20 79 6F 75 72 20 6F tacular) or you can write your o 00003160 77 6E 20 68 69 67 68 20 73 70 65 65 64 20 72 65 6E 64 65 72 69 6E 67 20 63 6F 64 65 20 74 6F 20 wn high speed rendering code to 00003180 72 65 6E 64 65 72 20 64 69 72 65 63 74 6C 79 20 74 6F 20 74 68 65 20 6C 69 6E 65 61 72 20 66 72 render directly to the linear fr 000031A0 61 6D 65 62 75 66 66 65 72 20 72 65 67 69 6F 6E 73 2E 0D 4E 6F 74 65 20 74 68 61 74 20 69 66 20 amebuffer regions.♪Note that if 000031C0 79 6F 75 20 61 72 65 20 75 73 69 6E 67 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 75 you are using the SuperVGA Kit u 000031E0 6E 64 65 72 20 57 69 6E 64 6F 77 73 2C 20 79 6F 75 20 6D 75 73 74 20 63 61 6C 6C 20 74 68 65 20 nder Windows, you must call the 00003200 57 69 6E 44 69 72 65 63 74 20 57 44 5F 73 74 61 72 74 46 75 6C 6C 73 63 72 65 65 6E 20 66 75 6E WinDirect WD_startFullscreen fun 00003220 63 74 69 6F 6E 20 62 65 66 6F 72 65 20 79 6F 75 20 69 6E 69 74 69 61 6C 69 7A 65 20 61 20 67 72 ction before you initialize a gr 00003240 61 70 68 69 63 73 20 6D 6F 64 65 2C 20 61 6E 64 20 79 6F 75 20 6D 75 73 74 20 63 61 6C 6C 20 57 aphics mode, and you must call W 00003260 44 5F 72 65 73 74 6F 72 65 47 44 49 20 74 6F 20 72 65 74 75 72 6E 20 62 61 63 6B 20 74 6F 20 6E D_restoreGDI to return back to n 00003280 6F 72 6D 61 6C 20 57 69 6E 64 6F 77 73 20 6D 6F 64 65 2E 20 46 61 69 6C 69 6E 67 20 74 6F 20 64 ormal Windows mode. Failing to d 000032A0 6F 20 73 6F 20 77 69 6C 6C 20 63 61 75 73 65 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 o so will cause the SuperVGA Kit 000032C0 20 74 6F 20 77 72 69 74 65 20 74 6F 20 74 68 65 20 64 69 73 70 6C 61 79 20 63 6F 6E 63 75 72 72 to write to the display concurr 000032E0 65 6E 74 6C 79 20 77 69 74 68 20 47 44 49 20 61 6E 64 20 77 69 6C 6C 20 63 61 75 73 65 20 47 44 ently with GDI and will cause GD 00003300 49 20 74 6F 20 65 76 65 6E 74 75 61 6C 6C 79 20 6C 6F 63 6B 20 75 70 2E 0D 53 74 61 72 74 69 6E I to eventually lock up.♪Startin 00003320 67 20 61 20 76 69 72 74 75 61 6C 20 73 63 72 6F 6C 6C 69 6E 67 20 67 72 61 70 68 69 63 73 20 6D g a virtual scrolling graphics m 00003340 6F 64 65 0D 49 66 20 79 6F 75 20 77 69 73 68 20 74 6F 20 75 73 65 20 68 61 72 64 77 61 72 65 20 ode♪If you wish to use hardware 00003360 76 69 72 74 75 61 6C 20 73 63 72 6F 6C 6C 69 6E 67 20 77 69 74 68 20 74 68 65 20 53 75 70 65 72 virtual scrolling with the Super 00003380 56 47 41 20 4B 69 74 2C 20 79 6F 75 20 6D 75 73 74 20 69 6E 69 74 69 61 6C 69 7A 65 20 74 68 65 VGA Kit, you must initialize the 000033A0 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 20 75 73 69 6E 67 20 74 68 65 20 53 56 5F 73 65 74 56 graphics mode using the SV_setV 000033C0 69 72 74 75 61 6C 4D 6F 64 65 20 66 75 6E 63 74 69 6F 6E 20 72 61 74 68 65 72 20 74 68 61 6E 20 irtualMode function rather than 000033E0 74 68 65 20 75 73 75 61 6C 20 53 56 5F 73 65 74 4D 6F 64 65 20 66 75 6E 63 74 69 6F 6E 2E 20 54 the usual SV_setMode function. T 00003400 68 65 20 76 69 72 74 75 61 6C 20 73 63 72 6F 6C 6C 69 6E 67 20 76 65 72 73 69 6F 6E 20 6F 66 20 he virtual scrolling version of 00003420 74 68 69 73 20 66 75 6E 63 74 69 6F 6E 20 74 61 6B 65 73 20 74 77 6F 20 65 78 74 72 61 20 70 61 this function takes two extra pa 00003440 72 61 6D 65 74 65 72 73 20 74 68 61 74 20 64 65 66 69 6E 65 20 74 68 65 20 76 69 72 74 75 61 6C rameters that define the virtual 00003460 20 68 65 69 67 68 74 20 61 6E 64 20 76 69 72 74 75 61 6C 20 77 69 64 74 68 20 6F 66 20 74 68 65 height and virtual width of the 00003480 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 20 74 68 61 74 20 79 6F 75 20 77 69 73 68 20 74 6F 20 graphics mode that you wish to 000034A0 69 6E 69 74 69 61 6C 69 7A 65 2C 20 61 6E 64 20 77 69 6C 6C 20 61 74 74 65 6D 70 74 20 74 6F 20 initialize, and will attempt to 000034C0 73 74 61 72 74 20 74 68 65 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 20 77 69 74 68 20 74 68 65 start the graphics mode with the 000034E0 20 73 70 65 63 69 66 69 65 64 20 76 69 72 74 75 61 6C 20 64 69 6D 65 6E 73 69 6F 6E 73 2E 20 49 specified virtual dimensions. I 00003500 66 20 74 68 65 20 67 72 61 70 68 69 63 73 20 68 61 72 64 77 61 72 65 20 63 61 6E 6E 6F 74 20 68 f the graphics hardware cannot h 00003520 61 6E 64 6C 65 20 61 20 76 69 72 74 75 61 6C 20 6D 6F 64 65 20 6F 66 20 74 68 65 73 65 20 64 69 andle a virtual mode of these di 00003540 6D 65 6E 73 69 6F 6E 73 2C 20 74 68 69 73 20 66 75 6E 63 74 69 6F 6E 20 77 69 6C 6C 20 66 61 69 mensions, this function will fai 00003560 6C 2E 0D 4F 6E 63 65 20 74 68 65 20 76 69 72 74 75 61 6C 20 73 63 72 6F 6C 6C 69 6E 67 20 6D 6F l.♪Once the virtual scrolling mo 00003580 64 65 20 68 61 73 20 62 65 65 6E 20 69 6E 69 74 69 61 6C 69 7A 65 64 2C 20 79 6F 75 20 63 61 6E de has been initialized, you can 000035A0 20 75 73 65 20 74 68 65 20 53 56 5F 73 65 74 44 69 73 70 6C 61 79 53 74 61 72 74 20 66 75 6E 63 use the SV_setDisplayStart func 000035C0 74 69 6F 6E 20 74 6F 20 73 65 74 20 74 68 65 20 64 69 73 70 6C 61 79 20 73 74 61 72 74 20 61 64 tion to set the display start ad 000035E0 64 72 65 73 73 20 66 6F 72 20 74 68 65 20 6D 6F 64 65 2C 20 61 6C 6C 6F 77 69 6E 67 20 79 6F 75 dress for the mode, allowing you 00003600 20 74 6F 20 73 63 72 6F 6C 6C 20 74 68 65 20 76 69 73 69 62 6C 65 20 77 69 6E 64 6F 77 20 69 6E to scroll the visible window in 00003620 74 6F 20 74 68 65 20 66 72 61 6D 65 62 75 66 66 65 72 20 6D 65 6D 6F 72 79 20 75 73 69 6E 67 20 to the framebuffer memory using 00003640 74 68 65 20 68 61 72 64 77 61 72 65 20 70 61 6E 6E 69 6E 67 20 72 65 67 69 73 74 65 72 73 2E 0D the hardware panning registers.♪ 00003660 43 68 61 6E 67 69 6E 67 20 74 68 65 20 63 6F 6C 6F 72 20 70 61 6C 65 74 74 65 0D 49 6E 20 6F 72 Changing the color palette♪In or 00003680 64 65 72 20 74 6F 20 63 68 61 6E 67 65 20 74 68 65 20 63 6F 6C 6F 72 20 70 61 6C 65 74 74 65 20 der to change the color palette 000036A0 66 6F 72 20 74 68 65 20 63 75 72 72 65 6E 74 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 2C 20 79 for the current graphics mode, y 000036C0 6F 75 20 77 69 6C 6C 20 6E 65 65 64 20 74 6F 20 63 61 6C 6C 20 74 68 65 20 53 56 5F 73 65 74 50 ou will need to call the SV_setP 000036E0 61 6C 65 74 74 65 20 66 75 6E 63 74 69 6F 6E 2E 20 49 74 20 69 73 20 69 6D 70 6F 72 74 61 6E 74 alette function. It is important 00003700 20 74 68 61 74 20 79 6F 75 20 75 73 65 20 74 68 69 73 20 66 75 6E 63 74 69 6F 6E 20 74 6F 20 73 that you use this function to s 00003720 65 74 20 74 68 65 20 68 61 72 64 77 61 72 65 20 70 61 6C 65 74 74 65 2C 20 61 73 20 56 42 45 20 et the hardware palette, as VBE 00003740 32 2E 30 20 61 6E 64 20 56 42 45 2F 41 46 20 64 65 76 69 63 65 73 20 6D 61 79 20 62 65 20 72 75 2.0 and VBE/AF devices may be ru 00003760 6E 6E 69 6E 67 20 69 6E 20 61 20 4E 6F 6E 56 47 41 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 20 nning in a NonVGA graphics mode 00003780 69 6E 20 77 68 69 63 68 20 63 61 73 65 20 64 69 72 65 63 74 6C 79 20 70 72 6F 67 72 61 6D 6D 69 in which case directly programmi 000037A0 6E 67 20 74 68 65 20 73 74 61 6E 64 61 72 64 20 56 47 41 20 72 65 67 69 73 74 65 72 73 20 69 73 ng the standard VGA registers is 000037C0 20 6E 6F 74 20 70 6F 73 73 69 62 6C 65 2E 0D 50 65 72 66 6F 72 6D 69 6E 67 20 64 6F 75 62 6C 65 not possible.♪Performing double 000037E0 20 62 75 66 66 65 72 69 6E 67 0D 49 6E 20 6F 72 64 65 72 20 74 6F 20 70 65 72 66 6F 72 6D 20 64 buffering♪In order to perform d 00003800 6F 75 62 6C 65 20 62 75 66 66 65 72 69 6E 67 20 77 69 74 68 20 74 68 65 20 53 75 70 65 72 56 47 ouble buffering with the SuperVG 00003820 41 20 4B 69 74 2C 20 79 6F 75 20 6D 75 73 74 20 70 61 73 73 20 74 68 65 20 73 76 44 6F 75 62 6C A Kit, you must pass the svDoubl 00003840 65 42 75 66 66 65 72 20 66 6C 61 67 20 63 6F 6D 62 69 6E 65 64 20 77 69 74 68 20 74 68 65 20 6E eBuffer flag combined with the n 00003860 75 6D 62 65 72 20 6F 66 20 74 68 65 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 20 79 6F 75 20 77 umber of the graphics mode you w 00003880 69 73 68 20 74 6F 20 69 6E 69 74 69 61 6C 69 7A 65 20 77 68 65 6E 20 79 6F 75 20 63 61 6C 6C 20 ish to initialize when you call 000038A0 53 56 5F 73 65 74 4D 6F 64 65 20 6F 72 20 53 56 5F 73 65 74 56 69 72 74 75 61 6C 4D 6F 64 65 2E SV_setMode or SV_setVirtualMode. 000038C0 20 54 68 69 73 20 66 6C 61 67 20 69 73 20 6E 65 63 65 73 73 61 72 79 20 74 6F 20 63 6F 72 72 65 This flag is necessary to corre 000038E0 63 74 6C 79 20 69 6E 66 6F 72 6D 20 74 68 65 20 56 42 45 2F 41 46 20 64 72 69 76 65 72 73 20 74 ctly inform the VBE/AF drivers t 00003900 68 61 74 20 79 6F 75 20 77 69 73 68 20 74 6F 20 70 65 72 66 6F 72 6D 20 64 6F 75 62 6C 65 20 62 hat you wish to perform double b 00003920 75 66 66 65 72 69 6E 67 2C 20 73 6F 20 74 68 61 74 20 74 68 65 20 64 72 69 76 65 72 73 20 77 69 uffering, so that the drivers wi 00003940 6C 6C 20 63 6F 72 72 65 63 74 6C 79 20 73 65 74 20 61 73 69 64 65 20 65 6E 6F 75 67 68 20 66 72 ll correctly set aside enough fr 00003960 61 6D 65 62 75 66 66 65 72 20 6D 65 6D 6F 72 79 20 74 6F 20 68 6F 6C 64 20 74 68 65 20 64 6F 75 amebuffer memory to hold the dou 00003980 62 6C 65 20 62 75 66 66 65 72 73 20 61 6E 64 20 64 65 63 72 65 61 73 65 20 74 68 65 20 73 69 7A ble buffers and decrease the siz 000039A0 65 20 6F 66 20 74 68 65 20 61 76 61 69 6C 61 62 6C 65 20 6F 66 66 73 63 72 65 65 6E 20 66 72 61 e of the available offscreen fra 000039C0 6D 65 62 75 66 66 65 72 20 6D 65 6D 6F 72 79 20 75 73 65 64 20 66 6F 72 20 73 74 6F 72 69 6E 67 mebuffer memory used for storing 000039E0 20 62 69 74 6D 61 70 73 20 65 74 63 2E 20 49 66 20 74 68 65 20 6D 6F 64 65 20 69 73 20 69 6E 63 bitmaps etc. If the mode is inc 00003A00 61 70 61 62 6C 65 20 6F 66 20 64 6F 75 62 6C 65 20 62 75 66 66 65 72 69 6E 67 20 74 68 65 20 6D apable of double buffering the m 00003A20 6F 64 65 20 73 65 74 20 77 69 6C 6C 20 73 74 69 6C 6C 20 77 6F 72 6B 20 63 6F 72 72 65 63 74 6C ode set will still work correctl 00003A40 79 2C 20 68 6F 77 65 76 65 72 20 74 68 65 20 6D 6F 64 65 20 77 69 6C 6C 20 62 65 20 73 65 74 20 y, however the mode will be set 00003A60 75 70 20 66 6F 72 20 73 69 6E 67 6C 65 20 62 75 66 66 65 72 65 64 20 6F 70 65 72 61 74 69 6F 6E up for single buffered operation 00003A80 2E 0D 4F 6E 63 65 20 61 20 64 6F 75 62 6C 65 20 62 75 66 66 65 72 65 64 20 67 72 61 70 68 69 63 .♪Once a double buffered graphic 00003AA0 73 20 6D 6F 64 65 20 68 61 73 20 62 65 65 6E 20 73 74 61 72 74 65 64 2C 20 74 68 65 20 6D 6F 64 s mode has been started, the mod 00003AC0 65 20 77 69 6C 6C 20 62 65 20 73 65 74 20 75 70 20 77 69 74 68 20 74 68 65 20 61 63 74 69 76 65 e will be set up with the active 00003AE0 20 61 6E 64 20 76 69 73 69 62 6C 65 20 62 75 66 66 65 72 73 20 62 6F 74 68 20 73 65 74 20 74 6F and visible buffers both set to 00003B00 20 74 68 65 20 66 69 72 73 74 20 62 75 66 66 65 72 20 69 6E 20 66 72 61 6D 65 62 75 66 66 65 72 the first buffer in framebuffer 00003B20 20 6D 65 6D 6F 72 79 20 61 6E 64 20 74 68 65 20 73 79 73 74 65 6D 20 69 73 20 65 73 73 65 6E 74 memory and the system is essent 00003B40 69 61 6C 6C 79 20 69 6E 20 6E 6F 72 6D 61 6C 20 73 69 6E 67 6C 65 20 62 75 66 66 65 72 65 64 20 ially in normal single buffered 00003B60 6D 6F 64 65 2E 20 54 6F 20 70 65 72 66 6F 72 6D 20 64 6F 75 62 6C 65 20 62 75 66 66 65 72 69 6E mode. To perform double bufferin 00003B80 67 20 79 6F 75 20 73 69 6D 70 6C 79 20 6D 61 6B 65 20 63 61 6C 6C 73 20 74 6F 20 74 68 65 20 53 g you simply make calls to the S 00003BA0 56 5F 73 65 74 41 63 74 69 76 65 42 75 66 66 65 72 20 61 6E 64 20 53 56 5F 73 65 74 56 69 73 69 V_setActiveBuffer and SV_setVisi 00003BC0 62 6C 65 42 75 66 66 65 72 20 66 75 6E 63 74 69 6F 6E 73 20 74 6F 20 63 68 61 6E 67 65 20 74 68 bleBuffer functions to change th 00003BE0 65 20 61 63 74 69 76 65 20 61 6E 64 20 76 69 73 69 62 6C 65 20 62 75 66 66 65 72 73 2E 20 54 68 e active and visible buffers. Th 00003C00 65 20 61 63 74 69 76 65 20 62 75 66 66 65 72 20 69 73 20 74 68 65 20 62 75 66 66 65 72 20 77 68 e active buffer is the buffer wh 00003C20 65 72 65 20 61 6C 6C 20 6F 75 74 70 75 74 20 77 69 6C 6C 20 63 75 72 72 65 6E 74 6C 79 20 62 65 ere all output will currently be 00003C40 20 64 72 61 77 6E 2C 20 61 6E 64 20 74 68 65 20 76 69 73 69 62 6C 65 20 62 75 66 66 65 72 20 69 drawn, and the visible buffer i 00003C60 73 20 74 68 65 20 6F 6E 65 20 74 68 61 74 20 74 68 65 20 67 72 61 70 68 69 63 73 20 63 61 72 64 s the one that the graphics card 00003C80 20 69 73 20 63 75 72 72 65 6E 74 6C 79 20 64 69 73 70 6C 61 79 69 6E 67 2E 20 46 6F 72 20 64 6F is currently displaying. For do 00003CA0 75 62 6C 65 20 62 75 66 66 65 72 65 64 20 61 6E 69 6D 61 74 69 6F 6E 20 79 6F 75 20 73 65 74 20 uble buffered animation you set 00003CC0 74 68 65 20 61 63 74 69 76 65 20 62 75 66 66 65 72 20 74 6F 20 61 20 68 69 64 64 65 6E 20 62 75 the active buffer to a hidden bu 00003CE0 66 66 65 72 20 73 6F 20 74 68 61 74 20 79 6F 75 20 63 61 6E 20 64 72 61 77 20 74 6F 20 69 74 20 ffer so that you can draw to it 00003D00 77 69 74 68 6F 75 74 20 74 68 65 20 75 73 65 72 20 73 65 65 69 6E 67 20 74 68 65 20 64 72 61 77 without the user seeing the draw 00003D20 20 6F 63 63 75 72 20 6F 6E 20 74 68 65 20 64 69 73 70 6C 61 79 2C 20 61 6E 64 20 74 68 65 6E 20 occur on the display, and then 00003D40 73 77 69 74 63 68 20 74 68 65 20 76 69 73 69 62 6C 65 20 62 75 66 66 65 72 20 74 6F 20 74 68 65 switch the visible buffer to the 00003D60 20 68 69 64 64 65 6E 20 62 75 66 66 65 72 20 74 6F 20 69 6E 73 74 61 6E 74 6C 79 20 64 69 73 70 hidden buffer to instantly disp 00003D80 6C 61 79 20 74 68 65 20 6E 65 77 20 66 72 61 6D 65 2E 0D 49 66 20 79 6F 75 20 61 72 65 20 64 6F lay the new frame.♪If you are do 00003DA0 69 6E 67 20 64 6F 75 62 6C 65 20 62 75 66 66 65 72 69 6E 67 20 61 6E 64 20 79 6F 75 20 77 69 73 ing double buffering and you wis 00003DC0 68 20 74 6F 20 72 65 6E 64 65 72 20 64 69 72 65 63 74 6C 79 20 74 6F 20 74 68 65 20 66 72 61 6D h to render directly to the fram 00003DE0 65 62 75 66 66 65 72 2C 20 79 6F 75 20 77 69 6C 6C 20 6E 65 65 64 20 74 6F 20 75 73 65 20 74 68 ebuffer, you will need to use th 00003E00 65 20 6F 72 69 67 69 6E 4F 66 66 73 65 74 20 61 6E 64 20 62 61 6E 6B 4F 66 66 73 65 74 20 76 61 e originOffset and bankOffset va 00003E20 72 69 61 62 6C 65 20 69 6E 20 74 68 65 20 67 6C 6F 62 61 6C 20 64 65 76 69 63 65 20 63 6F 6E 74 riable in the global device cont 00003E40 65 78 74 20 62 6C 6F 63 6B 20 74 6F 20 64 65 74 65 72 6D 69 6E 65 20 77 68 65 72 65 20 74 68 65 ext block to determine where the 00003E60 20 63 75 72 72 65 6E 74 6C 79 20 61 63 74 69 76 65 20 62 75 66 66 65 72 20 73 74 61 72 74 73 2E currently active buffer starts. 00003E80 20 49 6E 20 62 61 6E 6B 65 64 20 6D 6F 64 65 73 20 74 68 65 73 65 20 64 65 66 69 6E 65 20 74 68 In banked modes these define th 00003EA0 65 20 73 74 61 72 74 69 6E 67 20 36 34 4B 62 20 62 61 6E 6B 20 61 6E 64 20 6F 66 66 73 65 74 20 e starting 64Kb bank and offset 00003EC0 77 69 74 68 20 74 68 61 74 20 36 34 4B 62 20 62 61 6E 6B 20 66 6F 72 20 74 68 65 20 63 75 72 72 with that 64Kb bank for the curr 00003EE0 65 6E 74 6C 79 20 61 63 74 69 76 65 20 62 75 66 66 65 72 2C 20 77 68 69 6C 65 20 69 6E 20 6C 69 ently active buffer, while in li 00003F00 6E 65 61 72 20 66 72 61 6D 65 62 75 66 66 65 72 20 6D 6F 64 65 73 20 74 68 65 20 6F 72 69 67 69 near framebuffer modes the origi 00003F20 6E 4F 66 66 73 65 74 20 76 61 72 69 61 62 6C 65 20 70 6F 69 6E 74 73 20 64 69 72 65 63 74 6C 79 nOffset variable points directly 00003F40 20 74 6F 20 74 68 65 20 73 74 61 72 74 20 6F 66 20 74 68 65 20 61 63 74 69 76 65 20 62 75 66 66 to the start of the active buff 00003F60 65 72 20 69 6E 20 74 68 65 20 33 32 20 62 69 74 20 6C 69 6E 65 61 72 20 61 64 64 72 65 73 73 20 er in the 32 bit linear address 00003F80 73 70 61 63 65 2E 0D 44 72 61 77 69 6E 67 20 70 69 78 65 6C 73 2C 20 6C 69 6E 65 73 20 61 6E 64 space.♪Drawing pixels, lines and 00003FA0 20 74 65 78 74 0D 54 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 70 72 6F 76 69 64 65 73 20 text♪The SuperVGA Kit provides 00003FC0 61 20 66 65 77 20 6C 69 6D 69 74 65 64 20 66 75 6E 63 74 69 6F 6E 73 20 66 6F 72 20 64 72 61 77 a few limited functions for draw 00003FE0 69 6E 67 20 67 72 61 70 68 69 63 73 20 6F 75 74 70 75 74 2C 20 73 75 63 68 20 61 73 20 70 69 78 ing graphics output, such as pix 00004000 65 6C 73 2C 20 6C 69 6E 65 73 20 61 6E 64 20 74 65 78 74 2E 20 54 68 65 73 65 20 70 69 78 65 6C els, lines and text. These pixel 00004020 20 6F 75 74 70 75 74 20 61 6E 64 20 6C 69 6E 65 20 64 72 61 77 69 6E 67 20 66 75 6E 63 74 69 6F output and line drawing functio 00004040 6E 73 20 61 72 65 20 77 72 69 74 74 65 6E 20 69 6E 20 68 69 67 68 6C 79 20 6F 70 74 69 6D 69 7A ns are written in highly optimiz 00004060 65 64 20 61 73 73 65 6D 62 6C 65 72 20 63 6F 64 65 20 73 6F 20 74 68 65 79 20 61 72 65 20 76 65 ed assembler code so they are ve 00004080 72 79 20 66 61 73 74 2E 20 48 6F 77 65 76 65 72 20 74 68 65 20 70 72 69 6D 61 72 79 20 70 75 72 ry fast. However the primary pur 000040A0 70 6F 73 65 20 6F 66 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 69 73 20 6E 6F 74 20 pose of the SuperVGA Kit is not 000040C0 74 6F 20 70 72 6F 76 69 64 65 20 61 20 72 69 63 68 20 73 65 74 20 6F 66 20 67 72 61 70 68 69 63 to provide a rich set of graphic 000040E0 73 20 70 72 69 6D 69 74 69 76 65 73 2C 20 73 6F 20 6F 6E 6C 79 20 73 6F 6C 69 64 2C 20 73 69 6E s primitives, so only solid, sin 00004100 67 6C 65 20 70 69 78 65 6C 20 6C 69 6E 65 73 20 61 72 65 20 73 75 70 70 6F 72 74 65 64 2E 20 54 gle pixel lines are supported. T 00004120 68 65 20 74 65 78 74 20 6F 75 74 70 75 74 20 66 75 6E 63 74 69 6F 6E 20 69 73 20 77 72 69 74 74 he text output function is writt 00004140 65 6E 20 69 6E 20 43 20 61 6E 64 20 63 61 6C 6C 73 20 75 70 6F 6E 20 74 68 65 20 70 69 78 65 6C en in C and calls upon the pixel 00004160 20 6F 75 74 70 75 74 20 66 75 6E 63 74 69 6F 6E 73 20 74 6F 20 64 72 61 77 20 74 68 65 20 74 65 output functions to draw the te 00004180 78 74 2C 20 73 6F 20 69 74 20 69 73 20 6E 6F 74 20 70 61 72 74 69 63 75 6C 61 72 6C 79 20 66 61 xt, so it is not particularly fa 000041A0 73 74 2E 0D 4E 6F 74 65 20 74 68 61 74 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 70 st.♪Note that the SuperVGA Kit p 000041C0 72 6F 76 69 64 65 73 20 74 77 6F 20 6D 65 74 68 6F 64 73 20 6F 66 20 64 72 61 77 69 6E 67 20 70 rovides two methods of drawing p 000041E0 69 78 65 6C 73 20 61 6E 64 20 6C 69 6E 65 73 2E 20 54 68 65 20 66 69 72 73 74 20 6D 65 74 68 6F ixels and lines. The first metho 00004200 64 20 69 73 20 76 69 61 20 74 68 65 20 73 74 61 6E 64 61 72 64 20 66 75 6E 63 74 69 6F 6E 73 20 d is via the standard functions 00004220 61 6E 64 20 63 61 6E 20 62 65 20 75 73 65 64 20 74 6F 20 64 72 61 77 20 70 69 78 65 6C 73 20 61 and can be used to draw pixels a 00004240 6E 64 20 6C 69 6E 65 73 20 61 74 20 61 6E 79 20 74 69 6D 65 20 77 69 74 68 69 6E 20 79 6F 75 72 nd lines at any time within your 00004260 20 63 6F 64 65 2E 20 54 68 65 20 73 65 63 6F 6E 64 20 73 65 74 20 6F 66 20 66 75 6E 63 74 69 6F code. The second set of functio 00004280 6E 73 20 61 72 65 20 70 72 6F 76 69 64 65 64 20 66 6F 72 20 64 72 61 77 69 6E 67 20 66 61 73 74 ns are provided for drawing fast 000042A0 20 62 61 74 63 68 65 64 20 70 69 78 65 6C 73 20 61 6E 64 20 6C 69 6E 65 73 2C 20 61 6E 64 20 70 batched pixels and lines, and p 000042C0 72 6F 76 69 64 65 20 72 6F 75 74 69 6E 65 73 20 74 68 61 74 20 77 69 6C 6C 20 64 72 61 77 20 70 rovide routines that will draw p 000042E0 69 78 65 6C 73 20 61 6E 64 20 6C 69 6E 65 73 20 61 73 20 66 61 73 74 20 61 73 20 70 6F 73 73 69 ixels and lines as fast as possi 00004300 62 6C 65 20 77 68 65 6E 20 79 6F 75 20 6E 65 65 64 20 74 6F 20 64 72 61 77 20 6D 75 6C 74 69 70 ble when you need to draw multip 00004320 6C 65 20 6C 6F 74 73 20 6F 66 20 65 61 63 68 20 64 69 66 66 65 72 65 6E 74 20 70 72 69 6D 69 74 le lots of each different primit 00004340 69 76 65 2E 20 54 6F 20 75 73 65 20 74 68 65 20 62 61 74 63 68 65 64 20 64 72 61 77 69 6E 67 20 ive. To use the batched drawing 00004360 66 75 6E 63 74 69 6F 6E 73 2C 20 79 6F 75 20 6D 75 73 74 20 63 61 6C 6C 20 74 68 65 20 53 56 5F functions, you must call the SV_ 00004380 62 65 67 69 6E 50 69 78 65 6C 20 6F 72 20 53 56 5F 62 65 67 69 6E 4C 69 6E 65 20 66 75 6E 63 74 beginPixel or SV_beginLine funct 000043A0 69 6F 6E 73 20 66 69 72 73 74 2C 20 61 6E 64 20 74 68 65 6E 20 63 61 6C 6C 20 74 68 65 20 66 61 ions first, and then call the fa 000043C0 73 74 20 76 61 72 69 61 6E 74 73 20 6F 66 20 74 68 65 20 6E 6F 72 6D 61 6C 20 64 72 61 77 69 6E st variants of the normal drawin 000043E0 67 20 66 75 6E 63 74 69 6F 6E 73 2E 20 57 68 65 6E 20 79 6F 75 20 61 72 65 20 66 69 6E 69 73 68 g functions. When you are finish 00004400 65 64 20 72 65 6E 64 65 72 69 6E 67 20 79 6F 75 20 6D 75 73 74 20 63 61 6C 6C 20 53 56 5F 65 6E ed rendering you must call SV_en 00004420 64 50 69 78 65 6C 20 6F 72 20 53 56 5F 65 6E 64 4C 69 6E 65 20 74 6F 20 72 65 74 75 72 6E 20 74 dPixel or SV_endLine to return t 00004440 6F 20 74 68 65 20 6E 6F 72 6D 61 6C 20 6D 6F 64 65 20 6F 66 20 6F 70 65 72 61 74 69 6F 6E 2E 0D o the normal mode of operation.♪ 00004460 54 68 65 20 62 61 74 63 68 65 64 20 66 75 6E 63 74 69 6F 6E 73 20 61 72 65 20 69 6D 70 6F 72 74 The batched functions are import 00004480 61 6E 74 20 66 6F 72 20 6F 62 74 61 69 6E 69 6E 67 20 74 68 65 20 6D 61 78 69 6D 75 6D 20 70 65 ant for obtaining the maximum pe 000044A0 72 66 6F 72 6D 61 6E 63 65 20 77 68 65 6E 20 64 72 61 77 69 6E 67 20 6C 69 6E 65 73 20 61 6E 64 rformance when drawing lines and 000044C0 20 70 69 78 65 6C 73 20 6F 6E 20 56 42 45 2F 41 46 20 64 65 76 69 63 65 73 2C 20 65 73 70 65 63 pixels on VBE/AF devices, espec 000044E0 69 61 6C 6C 79 20 77 68 65 6E 20 74 68 65 20 6C 69 6E 65 20 64 72 61 77 69 6E 67 20 69 73 20 62 ially when the line drawing is b 00004500 65 69 6E 67 20 70 65 72 66 6F 72 6D 65 64 20 69 6E 20 73 6F 66 74 77 61 72 65 20 28 66 6F 72 20 eing performed in software (for 00004520 56 42 45 2F 41 46 20 64 65 76 69 63 65 73 20 79 6F 75 20 6E 65 65 64 20 74 6F 20 61 72 62 69 74 VBE/AF devices you need to arbit 00004540 72 61 74 65 20 64 69 72 65 63 74 20 61 63 63 65 73 73 20 74 6F 20 74 68 65 20 66 72 61 6D 65 62 rate direct access to the frameb 00004560 75 66 66 65 72 20 77 69 74 68 20 74 68 65 20 47 55 49 20 65 6E 67 69 6E 65 29 2E 0D 44 69 72 65 uffer with the GUI engine).♪Dire 00004580 63 74 20 66 72 61 6D 65 62 75 66 66 65 72 20 61 63 63 65 73 73 0D 4F 6E 65 20 6F 66 20 74 68 65 ct framebuffer access♪One of the 000045A0 20 70 6F 77 65 72 66 75 6C 20 66 65 61 74 75 72 65 73 20 6F 66 20 74 68 65 20 53 75 70 65 72 56 powerful features of the SuperV 000045C0 47 41 20 4B 69 74 20 69 73 20 74 68 61 74 20 69 74 20 70 72 6F 76 69 64 65 73 20 79 6F 75 72 20 GA Kit is that it provides your 000045E0 61 70 70 6C 69 63 61 74 69 6F 6E 73 20 77 69 74 68 20 64 69 72 65 63 74 20 61 63 63 65 73 73 20 applications with direct access 00004600 74 6F 20 74 68 65 20 68 61 72 64 77 61 72 65 20 76 69 64 65 6F 20 6D 65 6D 6F 72 79 20 66 72 61 to the hardware video memory fra 00004620 6D 65 62 75 66 66 65 72 20 72 65 67 69 6F 6E 73 2E 20 41 63 63 65 73 73 20 69 73 20 70 72 6F 76 mebuffer regions. Access is prov 00004640 69 64 65 64 20 65 69 74 68 65 72 20 76 69 61 20 61 20 62 61 6E 6B 65 64 20 66 72 61 6D 65 62 75 ided either via a banked framebu 00004660 66 66 65 72 20 61 72 63 68 69 74 65 63 74 75 72 65 20 6F 72 20 76 69 61 20 61 20 68 69 67 68 20 ffer architecture or via a high 00004680 70 65 72 66 6F 72 6D 61 6E 63 65 20 6C 69 6E 65 61 72 20 66 72 61 6D 65 62 75 66 66 65 72 20 61 performance linear framebuffer a 000046A0 72 63 68 69 74 65 63 74 75 72 65 20 6F 6E 20 67 72 61 70 68 69 63 73 20 68 61 72 64 77 61 72 65 rchitecture on graphics hardware 000046C0 20 74 68 61 74 20 73 75 70 70 6F 72 74 73 20 69 74 2E 20 54 68 69 73 20 6D 65 61 6E 73 20 74 68 that supports it. This means th 000046E0 61 74 20 79 6F 75 20 63 61 6E 20 75 73 65 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 at you can use the SuperVGA Kit 00004700 74 6F 20 70 65 72 66 6F 72 6D 20 61 6C 6C 20 74 68 65 20 6C 6F 77 20 6C 65 76 65 6C 20 68 6F 75 to perform all the low level hou 00004720 73 65 6B 65 65 70 69 6E 67 20 61 6E 64 20 6D 6F 64 65 20 69 6E 69 74 69 61 6C 69 7A 61 74 69 6F sekeeping and mode initializatio 00004740 6E 20 66 75 6E 63 74 69 6F 6E 73 20 72 65 71 75 69 72 65 64 20 74 6F 20 67 65 74 20 75 70 20 61 n functions required to get up a 00004760 6E 64 20 72 75 6E 6E 69 6E 67 20 69 6E 20 53 75 70 65 72 56 47 41 20 6D 6F 64 65 73 2C 20 61 6E nd running in SuperVGA modes, an 00004780 64 20 74 68 65 6E 20 75 73 65 20 79 6F 75 72 20 6F 77 6E 20 68 69 67 68 20 70 65 72 66 6F 72 6D d then use your own high perform 000047A0 61 6E 63 65 20 72 65 6E 64 65 72 69 6E 67 20 63 6F 64 65 20 74 6F 20 72 65 6E 64 65 72 20 64 69 ance rendering code to render di 000047C0 72 65 63 74 6C 79 20 74 6F 20 74 68 65 20 68 61 72 64 77 61 72 65 20 66 72 61 6D 65 62 75 66 66 rectly to the hardware framebuff 000047E0 65 72 73 2E 0D 41 20 62 61 6E 6B 65 64 20 66 72 61 6D 65 62 75 66 66 65 72 20 69 73 20 70 72 6F ers.♪A banked framebuffer is pro 00004800 76 69 64 65 64 20 62 79 20 56 42 45 20 31 2E 32 20 61 6E 64 20 65 61 72 6C 69 65 72 20 63 6F 6D vided by VBE 1.2 and earlier com 00004820 70 6C 69 61 6E 74 20 64 65 76 69 63 65 73 20 61 6E 64 20 61 6C 73 6F 20 62 79 20 56 42 45 20 32 pliant devices and also by VBE 2 00004840 2E 30 20 61 6E 64 20 56 42 45 2F 41 46 20 64 65 76 69 63 65 73 20 74 68 61 74 20 64 6F 6E 92 74 .0 and VBE/AF devices that donÆt 00004860 20 73 75 70 70 6F 72 74 20 61 20 68 61 72 64 77 61 72 65 20 6C 69 6E 65 61 72 20 66 72 61 6D 65 support a hardware linear frame 00004880 62 75 66 66 65 72 2E 20 49 6E 20 6F 72 64 65 72 20 74 6F 20 61 63 63 65 73 73 20 74 68 65 20 68 buffer. In order to access the h 000048A0 75 67 65 20 61 6D 6F 75 6E 74 20 6F 66 20 76 69 64 65 6F 20 6D 65 6D 6F 72 79 20 6F 6E 20 74 68 uge amount of video memory on th 000048C0 65 20 67 72 61 70 68 69 63 73 20 63 61 72 64 20 64 69 72 65 63 74 6C 79 2C 20 77 65 20 6E 65 65 e graphics card directly, we nee 000048E0 64 20 74 6F 20 6D 61 70 20 65 61 63 68 20 73 65 63 74 69 6F 6E 20 6F 66 20 76 69 64 65 6F 20 6D d to map each section of video m 00004900 65 6D 6F 72 79 20 69 6E 74 6F 20 61 20 36 34 4B 62 20 62 61 6E 6B 20 6C 6F 63 61 74 65 64 20 69 emory into a 64Kb bank located i 00004920 6E 20 74 68 65 20 66 69 72 73 74 20 31 4D 62 20 6F 66 20 6D 65 6D 6F 72 79 2E 20 49 6E 20 6F 72 n the first 1Mb of memory. In or 00004940 64 65 72 20 74 6F 20 63 68 61 6E 67 65 20 74 68 65 20 61 63 74 69 76 65 20 62 61 6E 6B 2C 20 79 der to change the active bank, y 00004960 6F 75 20 6E 65 65 64 20 74 6F 20 63 61 6C 6C 20 70 72 6F 76 69 64 65 64 20 53 56 5F 73 65 74 42 ou need to call provided SV_setB 00004980 61 6E 6B 20 66 75 6E 63 74 69 6F 6E 20 77 69 74 68 20 74 68 65 20 69 6E 64 65 78 20 6F 66 20 74 ank function with the index of t 000049A0 68 65 20 62 61 6E 6B 20 74 68 61 74 20 79 6F 75 20 77 69 73 68 20 74 6F 20 6D 61 6B 65 20 61 63 he bank that you wish to make ac 000049C0 74 69 76 65 2E 20 49 66 20 79 6F 75 20 61 72 65 20 77 72 69 74 69 6E 67 20 68 69 67 68 20 70 65 tive. If you are writing high pe 000049E0 72 66 6F 72 6D 61 6E 63 65 20 61 73 73 65 6D 62 6C 65 72 20 63 6F 64 65 2C 20 79 6F 75 20 73 68 rformance assembler code, you sh 00004A00 6F 75 6C 64 20 63 61 6C 6C 20 74 68 65 20 61 73 73 65 6D 62 6C 65 72 20 53 56 5F 73 65 74 42 61 ould call the assembler SV_setBa 00004A20 6E 6B 41 53 4D 20 76 65 72 73 69 6F 6E 20 6F 66 20 74 68 65 20 62 61 6E 6B 20 73 77 69 74 63 68 nkASM version of the bank switch 00004A40 69 6E 67 20 66 75 6E 63 74 69 6F 6E 20 77 68 69 63 68 20 74 61 6B 65 73 20 69 74 92 73 20 70 61 ing function which takes itÆs pa 00004A60 72 61 6D 65 74 65 72 73 20 69 6E 20 43 50 55 20 72 65 67 69 73 74 65 72 73 20 72 61 74 68 65 72 rameters in CPU registers rather 00004A80 20 74 68 61 6E 20 6F 6E 20 74 68 65 20 73 74 61 63 6B 2E 20 4F 6E 63 65 20 79 6F 75 20 68 61 76 than on the stack. Once you hav 00004AA0 65 20 63 68 61 6E 67 65 64 20 74 68 65 20 61 63 74 69 76 65 20 62 61 6E 6B 20 74 6F 20 74 68 65 e changed the active bank to the 00004AC0 20 6C 6F 63 61 74 69 6F 6E 20 77 68 65 72 65 20 79 6F 75 20 77 69 73 68 20 74 6F 20 70 65 72 66 location where you wish to perf 00004AE0 6F 72 6D 20 79 6F 75 72 20 64 72 61 77 69 6E 67 2C 20 79 6F 75 20 63 61 6E 20 74 68 65 6E 20 64 orm your drawing, you can then d 00004B00 72 61 77 20 64 69 72 65 63 74 6C 79 20 69 6E 74 6F 20 74 68 65 20 66 72 61 6D 65 62 75 66 66 65 raw directly into the framebuffe 00004B20 72 20 76 69 61 20 76 69 64 65 6F 4D 65 6D 20 70 6F 69 6E 74 65 72 20 70 72 6F 76 69 64 65 64 20 r via videoMem pointer provided 00004B40 69 6E 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 64 65 76 69 63 65 20 63 6F 6E 74 65 in the SuperVGA Kit device conte 00004B60 78 74 20 62 6C 6F 63 6B 2E 20 4E 6F 74 65 20 74 68 61 74 20 69 66 20 79 6F 75 20 61 72 65 20 70 xt block. Note that if you are p 00004B80 65 72 66 6F 72 6D 69 6E 67 20 64 6F 75 62 6C 65 20 62 75 66 66 65 72 69 6E 67 2C 20 74 68 65 20 erforming double buffering, the 00004BA0 6F 72 69 67 69 6E 4F 66 66 73 65 74 20 61 6E 64 20 62 61 6E 6B 4F 66 66 73 65 74 20 76 61 72 69 originOffset and bankOffset vari 00004BC0 61 62 6C 65 73 20 69 6E 20 74 68 65 20 64 65 76 69 63 65 20 63 6F 6E 74 65 78 74 20 62 6C 6F 63 ables in the device context bloc 00004BE0 6B 20 61 72 65 20 75 73 65 64 20 74 6F 20 69 6E 64 69 63 61 74 65 20 77 68 65 72 65 20 69 6E 20 k are used to indicate where in 00004C00 76 69 64 65 6F 20 6D 65 6D 6F 72 79 20 74 68 65 20 63 75 72 72 65 6E 74 6C 79 20 61 63 74 69 76 video memory the currently activ 00004C20 65 20 62 75 66 66 65 72 20 62 65 67 69 6E 73 2C 20 61 6E 64 20 79 6F 75 20 77 69 6C 6C 20 6E 65 e buffer begins, and you will ne 00004C40 65 64 20 74 6F 20 6F 66 66 73 65 74 20 61 6C 6C 20 79 6F 75 72 20 64 72 61 77 69 6E 67 20 63 6F ed to offset all your drawing co 00004C60 64 65 20 69 6E 74 6F 20 74 68 65 20 66 72 61 6D 65 62 75 66 66 65 72 20 75 73 69 6E 67 20 74 68 de into the framebuffer using th 00004C80 65 73 65 20 76 61 72 69 61 62 6C 65 73 20 28 63 68 65 63 6B 20 74 68 65 20 5F 53 56 47 41 53 44 ese variables (check the _SVGASD 00004CA0 4B 2E 41 53 4D 20 6D 6F 64 75 6C 65 20 66 6F 72 20 64 65 74 61 69 6C 73 20 6F 6E 20 68 6F 77 20 K.ASM module for details on how 00004CC0 74 68 69 73 20 69 73 20 64 6F 6E 65 20 69 6E 20 61 73 73 65 6D 62 6C 65 72 20 63 6F 64 65 29 2E this is done in assembler code). 00004CE0 0D 49 66 20 74 68 65 20 61 70 70 6C 69 63 61 74 69 6F 6E 20 69 73 20 72 75 6E 6E 69 6E 67 20 69 ♪If the application is running i 00004D00 6E 20 61 20 33 32 20 62 69 74 20 70 72 6F 74 65 63 74 65 64 20 6D 6F 64 65 20 65 6E 76 69 72 6F n a 32 bit protected mode enviro 00004D20 6E 6D 65 6E 74 2C 20 77 65 20 63 61 6E 20 73 69 6D 70 6C 69 66 79 20 61 63 63 65 73 73 20 74 6F nment, we can simplify access to 00004D40 20 74 68 65 20 76 69 64 65 6F 20 6D 65 6D 6F 72 79 20 6F 6E 20 74 68 65 20 67 72 61 70 68 69 63 the video memory on the graphic 00004D60 73 20 63 61 72 64 20 62 79 20 75 73 69 6E 67 20 65 69 74 68 65 72 20 61 20 68 61 72 64 77 61 72 s card by using either a hardwar 00004D80 65 20 6F 72 20 76 69 72 74 75 61 6C 20 6C 69 6E 65 61 72 20 66 72 61 6D 65 62 75 66 66 65 72 2E e or virtual linear framebuffer. 00004DA0 20 41 20 68 61 72 64 77 61 72 65 20 6C 69 6E 65 61 72 20 66 72 61 6D 65 62 75 66 66 65 72 20 61 A hardware linear framebuffer a 00004DC0 6C 6C 6F 77 73 20 74 68 65 20 61 70 70 6C 69 63 61 74 69 6F 6E 20 74 6F 20 64 69 72 65 63 74 6C llows the application to directl 00004DE0 79 20 61 63 63 65 73 73 20 61 6C 6C 20 6F 66 20 74 68 65 20 6D 65 6D 6F 72 79 20 6F 6E 20 74 68 y access all of the memory on th 00004E00 65 20 67 72 61 70 68 69 63 73 20 63 61 72 64 20 69 6E 20 6F 6E 65 20 63 6F 6E 74 69 67 75 6F 75 e graphics card in one contiguou 00004E20 73 20 63 68 75 6E 6B 2C 20 72 61 74 68 65 72 20 74 68 61 6E 20 68 61 76 69 6E 67 20 74 6F 20 64 s chunk, rather than having to d 00004E40 65 61 6C 20 77 69 74 68 20 6D 6F 76 69 6E 67 20 61 20 73 6C 69 64 69 6E 67 20 36 34 4B 62 20 77 eal with moving a sliding 64Kb w 00004E60 69 6E 64 6F 77 20 69 6E 74 6F 20 74 68 65 20 66 72 61 6D 65 62 75 66 66 65 72 2E 20 41 20 76 69 indow into the framebuffer. A vi 00004E80 72 74 75 61 6C 20 6C 69 6E 65 61 72 20 66 72 61 6D 65 62 75 66 66 65 72 20 69 73 20 65 6E 61 62 rtual linear framebuffer is enab 00004EA0 6C 65 64 20 62 79 20 75 73 69 6E 67 20 74 68 65 20 33 38 36 2B 20 43 50 55 92 73 20 76 69 72 74 led by using the 386+ CPUÆs virt 00004EC0 75 61 6C 20 6D 65 6D 6F 72 79 20 66 65 61 74 75 72 65 73 20 74 6F 20 63 72 65 61 74 65 20 77 68 ual memory features to create wh 00004EE0 61 74 20 61 70 70 65 61 72 73 20 74 6F 20 62 65 20 61 20 6C 69 6E 65 61 72 20 66 72 61 6D 65 62 at appears to be a linear frameb 00004F00 75 66 66 65 72 2C 20 62 75 74 20 69 73 20 61 63 74 75 61 6C 6C 79 20 61 20 72 65 67 69 6F 6E 20 uffer, but is actually a region 00004F20 6F 66 20 76 69 72 74 75 61 6C 20 6D 65 6D 6F 72 79 20 74 68 61 74 20 61 75 74 6F 6D 61 74 69 63 of virtual memory that automatic 00004F40 61 6C 6C 79 20 6D 61 70 73 20 74 68 65 20 63 6F 6E 74 72 6F 6C 6C 65 72 73 20 36 34 4B 62 20 62 ally maps the controllers 64Kb b 00004F60 61 6E 6B 65 64 20 61 70 65 72 74 75 72 65 20 77 68 65 6E 20 74 68 65 20 61 70 70 6C 69 63 61 74 anked aperture when the applicat 00004F80 69 6F 6E 20 64 69 72 65 63 74 6C 79 20 61 63 63 65 73 73 65 73 20 70 6F 72 74 69 6F 6E 73 20 6F ion directly accesses portions o 00004FA0 66 20 74 68 65 20 76 69 72 74 75 61 6C 20 66 72 61 6D 65 62 75 66 66 65 72 2E 20 49 66 20 61 20 f the virtual framebuffer. If a 00004FC0 6C 69 6E 65 61 72 20 66 72 61 6D 65 62 75 66 66 65 72 20 6D 6F 64 65 20 69 73 20 73 74 61 72 74 linear framebuffer mode is start 00004FE0 65 64 20 77 69 74 68 20 74 68 65 20 53 56 5F 73 65 74 4D 6F 64 65 20 66 75 6E 63 74 69 6F 6E 2C ed with the SV_setMode function, 00005000 20 74 68 65 20 76 69 64 65 6F 4D 65 6D 20 76 61 72 69 61 62 6C 65 20 6F 66 20 74 68 65 20 67 6C the videoMem variable of the gl 00005020 6F 62 61 6C 20 64 65 76 69 63 65 20 63 6F 6E 74 65 78 74 20 62 6C 6F 63 6B 20 77 69 6C 6C 20 70 obal device context block will p 00005040 6F 69 6E 74 20 74 6F 20 74 68 65 20 73 74 61 72 74 20 6F 66 20 74 68 65 20 6C 69 6E 65 61 72 20 oint to the start of the linear 00005060 66 72 61 6D 65 62 75 66 66 65 72 20 72 65 67 69 6F 6E 2C 20 61 6E 64 20 79 6F 75 20 63 61 6E 20 framebuffer region, and you can 00005080 75 73 65 20 74 68 69 73 20 76 61 72 69 61 62 6C 65 20 74 6F 20 72 65 6E 64 65 72 20 64 69 72 65 use this variable to render dire 000050A0 63 74 6C 79 20 69 6E 74 6F 20 69 74 2E 20 4E 6F 74 65 20 74 68 61 74 20 69 66 20 79 6F 75 20 61 ctly into it. Note that if you a 000050C0 72 65 20 64 6F 69 6E 67 20 64 6F 75 62 6C 65 20 62 75 66 66 65 72 69 6E 67 20 74 68 65 20 6F 72 re doing double buffering the or 000050E0 69 67 69 6E 4F 66 66 73 65 74 20 76 61 72 69 61 62 6C 65 20 69 73 20 73 65 74 20 74 6F 20 70 6F iginOffset variable is set to po 00005100 69 6E 74 20 64 69 72 65 63 74 6C 79 20 74 6F 20 74 68 65 20 73 74 61 72 74 20 6F 66 20 74 68 65 int directly to the start of the 00005120 20 63 75 72 72 65 6E 74 6C 79 20 61 63 74 69 76 65 20 62 75 66 66 65 72 20 69 6E 20 6C 69 6E 65 currently active buffer in line 00005140 61 72 20 66 72 61 6D 65 62 75 66 66 65 72 20 6D 65 6D 6F 72 79 2C 20 61 6E 64 20 74 68 65 20 76 ar framebuffer memory, and the v 00005160 69 64 65 6F 4D 65 6D 20 61 6E 64 20 62 61 6E 6B 4F 66 66 73 65 74 20 76 61 72 69 61 62 6C 65 73 ideoMem and bankOffset variables 00005180 20 61 72 65 20 6E 6F 20 6C 6F 6E 67 65 72 20 75 73 65 64 2E 0D 56 69 72 74 75 61 6C 20 6C 69 6E are no longer used.♪Virtual lin 000051A0 65 61 72 20 66 72 61 6D 65 62 75 66 66 65 72 20 61 63 63 65 73 73 0D 49 74 20 69 73 20 70 6F 73 ear framebuffer access♪It is pos 000051C0 73 69 62 6C 65 20 74 68 61 74 20 77 68 65 6E 20 74 68 65 20 67 72 61 70 68 69 63 73 20 6D 6F 64 sible that when the graphics mod 000051E0 65 20 68 61 73 20 62 65 65 6E 20 69 6E 69 74 69 61 6C 69 7A 65 64 2C 20 69 74 20 68 61 73 20 62 e has been initialized, it has b 00005200 65 65 6E 20 69 6E 69 74 69 61 6C 69 7A 65 64 20 77 69 74 68 20 61 20 6C 69 6E 65 61 72 20 66 72 een initialized with a linear fr 00005220 61 6D 65 62 75 66 66 65 72 20 76 69 72 74 75 61 6C 69 7A 65 64 20 69 6E 20 73 6F 66 74 77 61 72 amebuffer virtualized in softwar 00005240 65 20 28 69 66 20 79 6F 75 20 70 61 73 73 65 64 20 74 68 65 20 75 73 65 56 69 72 74 75 61 6C 42 e (if you passed the useVirtualB 00005260 75 66 66 65 72 20 66 6C 61 67 20 74 6F 20 74 72 75 65 20 66 6F 72 20 74 68 65 20 6D 6F 64 65 20 uffer flag to true for the mode 00005280 73 65 74 29 2E 20 49 66 20 79 6F 75 20 69 6E 74 65 6E 64 20 74 6F 20 64 69 72 65 63 74 6C 79 20 set). If you intend to directly 000052A0 72 65 6E 64 65 72 20 74 6F 20 61 20 76 69 72 74 75 61 6C 20 6C 69 6E 65 61 72 20 66 72 61 6D 65 render to a virtual linear frame 000052C0 62 75 66 66 65 72 2C 20 74 68 65 72 65 20 61 72 65 20 61 20 66 65 77 20 63 61 76 65 61 74 73 20 buffer, there are a few caveats 000052E0 74 68 61 74 20 6D 75 73 74 20 62 65 20 75 6E 64 65 72 73 74 6F 6F 64 2E 0D 46 69 72 73 74 2C 20 that must be understood.♪First, 00005300 74 68 65 72 65 20 69 73 20 61 6E 20 6F 76 65 72 68 65 61 64 20 69 6E 76 6F 6C 76 65 64 20 69 6E there is an overhead involved in 00005320 20 74 68 65 20 70 61 67 65 20 66 61 75 6C 74 69 6E 67 20 6D 65 63 68 61 6E 69 73 6D 20 74 68 61 the page faulting mechanism tha 00005340 74 20 69 73 20 75 73 65 64 20 74 6F 20 61 75 74 6F 6D 61 74 69 63 61 6C 6C 79 20 6D 61 70 20 74 t is used to automatically map t 00005360 68 65 20 67 72 61 70 68 69 63 73 20 6D 65 6D 6F 72 79 2C 20 73 6F 20 69 74 20 77 6F 6E 92 74 20 he graphics memory, so it wonÆt 00005380 62 65 20 61 73 20 66 61 73 74 20 61 73 20 68 69 67 68 6C 79 20 6F 70 74 69 6D 69 7A 65 64 20 62 be as fast as highly optimized b 000053A0 61 6E 6B 20 73 77 69 74 63 68 65 64 20 63 6F 64 65 20 28 62 75 74 20 69 74 20 63 6F 6D 65 73 20 ank switched code (but it comes 000053C0 76 65 72 79 20 63 6C 6F 73 65 29 2E 20 49 66 20 79 6F 75 20 61 72 65 20 73 69 6D 70 6C 79 20 63 very close). If you are simply c 000053E0 6F 70 79 69 6E 67 20 62 6C 6F 63 6B 73 20 6F 66 20 64 61 74 61 20 74 6F 20 74 68 65 20 66 72 61 opying blocks of data to the fra 00005400 6D 65 62 75 66 66 65 72 20 69 6E 20 61 20 6C 65 66 74 20 74 6F 20 72 69 67 68 74 20 61 6E 64 20 mebuffer in a left to right and 00005420 74 6F 70 20 64 6F 77 6E 20 66 61 73 68 69 6F 6E 2C 20 74 68 65 20 63 6F 70 79 69 6E 67 20 77 69 top down fashion, the copying wi 00005440 6C 6C 20 6E 6F 74 20 63 61 75 73 65 20 76 65 72 79 20 6D 61 6E 79 20 70 61 67 65 20 66 61 75 6C ll not cause very many page faul 00005460 74 73 20 61 6E 64 20 68 65 6E 63 65 20 74 68 65 20 6F 76 65 72 68 65 61 64 73 20 77 69 6C 6C 20 ts and hence the overheads will 00005480 62 65 20 73 6D 61 6C 6C 20 69 66 20 6E 6F 74 20 6E 65 67 6C 69 67 69 62 6C 65 2E 20 49 66 20 68 be small if not negligible. If h 000054A0 6F 77 65 76 65 72 20 79 6F 75 20 61 72 65 20 64 72 61 77 69 6E 67 20 72 61 6E 64 6F 6D 20 6C 69 owever you are drawing random li 000054C0 6E 65 73 20 6F 6E 20 74 68 65 20 73 63 72 65 65 6E 2C 20 79 6F 75 20 77 69 6C 6C 20 66 69 6E 64 nes on the screen, you will find 000054E0 20 74 68 61 74 20 74 68 65 20 6F 76 65 72 68 65 61 64 20 69 6E 76 6F 6C 76 65 64 20 69 6E 20 74 that the overhead involved in t 00005500 68 65 20 70 61 67 65 20 66 61 75 6C 74 69 6E 67 20 61 6E 64 20 62 61 6E 6B 20 73 77 69 74 63 68 he page faulting and bank switch 00005520 69 6E 67 20 77 69 6C 6C 20 73 6C 6F 77 20 64 6F 77 6E 20 70 65 72 66 6F 72 6D 61 6E 63 65 20 28 ing will slow down performance ( 00005540 62 75 74 20 69 74 20 69 73 20 6E 6F 74 20 74 68 61 74 20 6D 75 63 68 20 73 6C 6F 77 65 72 20 74 but it is not that much slower t 00005560 68 61 6E 20 68 69 67 68 20 73 70 65 65 64 20 62 61 6E 6B 20 73 77 69 74 63 68 65 64 20 61 73 73 han high speed bank switched ass 00005580 65 6D 62 6C 65 72 20 63 6F 64 65 3B 20 70 65 72 68 61 70 73 20 35 2D 31 30 25 29 2E 0D 53 65 63 embler code; perhaps 5-10%).♪Sec 000055A0 6F 6E 64 2C 20 79 6F 75 20 73 69 6D 70 6C 79 20 63 61 6E 6E 6F 74 20 70 65 72 66 6F 72 6D 20 61 ond, you simply cannot perform a 000055C0 20 57 4F 52 44 20 6F 72 20 44 57 4F 52 44 20 6D 65 6D 6F 72 79 20 61 63 63 65 73 73 20 74 68 61 WORD or DWORD memory access tha 000055E0 74 20 63 72 6F 73 73 65 73 20 61 20 36 34 4B 62 20 62 61 6E 6B 20 62 6F 75 6E 64 61 72 79 2E 20 t crosses a 64Kb bank boundary. 00005600 44 6F 69 6E 67 20 73 6F 20 63 61 75 73 65 73 20 61 6E 20 69 6E 66 69 6E 69 74 65 20 70 61 67 65 Doing so causes an infinite page 00005620 20 66 61 75 6C 74 20 6C 6F 6F 70 20 74 68 61 74 20 77 69 6C 6C 20 68 61 6E 67 20 74 68 65 20 6D fault loop that will hang the m 00005640 61 63 68 69 6E 65 2E 20 54 68 65 20 69 6E 66 69 6E 69 74 65 20 6C 6F 6F 70 20 6F 63 63 75 72 73 achine. The infinite loop occurs 00005660 20 62 65 63 61 75 73 65 20 74 68 65 20 43 50 55 20 70 61 67 65 20 66 61 75 6C 74 73 20 6F 6E 20 because the CPU page faults on 00005680 74 68 65 20 73 65 63 6F 6E 64 20 68 61 6C 66 20 6F 66 20 74 68 65 20 6D 65 6D 6F 72 79 20 61 63 the second half of the memory ac 000056A0 63 65 73 73 2C 20 77 68 69 63 68 20 63 61 75 73 65 73 20 61 20 62 61 6E 6B 20 73 77 69 74 63 68 cess, which causes a bank switch 000056C0 20 74 6F 20 6F 63 63 75 72 2E 20 54 68 65 6E 20 74 68 65 20 65 6E 74 69 72 65 20 69 6E 73 74 72 to occur. Then the entire instr 000056E0 75 63 74 69 6F 6E 20 69 73 20 72 65 2D 73 74 61 72 74 65 64 20 61 6E 64 20 63 61 75 73 65 73 20 uction is re-started and causes 00005700 61 20 6D 65 6D 6F 72 79 20 61 63 63 65 73 73 20 74 6F 20 74 68 65 20 70 72 65 76 69 6F 75 73 20 a memory access to the previous 00005720 36 34 4B 62 20 62 61 6E 6B 20 77 68 69 63 68 20 68 61 73 20 6E 6F 77 20 62 65 65 6E 20 6D 61 70 64Kb bank which has now been map 00005740 70 65 64 20 6F 75 74 2E 20 41 6E 6F 74 68 65 72 20 70 61 67 65 20 66 61 75 6C 74 20 6F 63 63 75 ped out. Another page fault occu 00005760 72 73 20 61 6E 64 20 74 68 65 20 69 6E 73 74 72 75 63 74 69 6F 6E 20 69 73 20 72 65 2D 73 74 61 rs and the instruction is re-sta 00005780 72 74 65 64 20 61 67 61 69 6E 20 61 6E 64 20 77 65 20 61 72 65 20 62 61 63 6B 20 77 68 65 72 65 rted again and we are back where 000057A0 20 77 65 20 73 74 61 72 74 65 64 2E 20 0D 48 65 6E 63 65 20 69 74 20 69 73 20 76 69 74 61 6C 6C we started. ♪Hence it is vitall 000057C0 79 20 69 6D 70 6F 72 74 61 6E 74 20 74 68 61 74 20 61 6E 79 20 76 69 72 74 75 61 6C 20 6C 69 6E y important that any virtual lin 000057E0 65 61 72 20 66 72 61 6D 65 62 75 66 66 65 72 20 72 65 6E 64 65 72 69 6E 67 20 63 6F 64 65 20 65 ear framebuffer rendering code e 00005800 6E 73 75 72 65 20 74 68 61 74 20 61 6C 6C 20 6D 65 6D 6F 72 79 20 61 63 63 65 73 73 65 73 20 61 nsure that all memory accesses a 00005820 72 65 20 61 6C 69 67 6E 65 64 20 74 6F 20 65 69 74 68 65 72 20 61 20 42 59 54 45 2C 20 57 4F 52 re aligned to either a BYTE, WOR 00005840 44 20 6F 72 20 44 57 4F 52 44 20 62 6F 75 6E 64 61 72 79 20 74 6F 20 61 76 6F 69 64 20 74 68 65 D or DWORD boundary to avoid the 00005860 20 69 6E 66 69 6E 69 74 65 20 70 61 67 65 20 66 61 75 6C 74 20 6C 6F 6F 70 2E 0D 55 73 69 6E 67 infinite page fault loop.♪Using 00005880 20 74 68 65 20 56 42 45 2F 41 46 20 41 63 63 65 6C 65 72 61 74 6F 72 20 46 75 6E 63 74 69 6F 6E the VBE/AF Accelerator Function 000058A0 73 0D 54 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 70 72 6F 76 69 64 65 73 20 74 72 61 6E s♪The SuperVGA Kit provides tran 000058C0 73 70 61 72 65 6E 74 20 73 75 70 70 6F 72 74 20 66 6F 72 20 62 6F 74 68 20 56 42 45 20 32 2E 30 sparent support for both VBE 2.0 000058E0 20 61 6E 64 20 62 65 6C 6F 77 20 64 65 76 69 63 65 73 2C 20 61 6E 64 20 56 42 45 2F 41 46 20 41 and below devices, and VBE/AF A 00005900 63 63 65 6C 65 72 61 74 6F 72 20 46 75 6E 63 74 69 6F 6E 73 2E 20 49 74 20 77 69 6C 6C 20 61 75 ccelerator Functions. It will au 00005920 74 6F 6D 61 74 69 63 61 6C 6C 79 20 75 73 65 20 74 68 65 20 56 42 45 2F 41 46 20 67 72 61 70 68 tomatically use the VBE/AF graph 00005940 69 63 73 20 61 63 63 65 6C 65 72 61 74 6F 72 20 66 6F 72 20 63 6C 65 61 72 69 6E 67 20 74 68 65 ics accelerator for clearing the 00005960 20 66 72 61 6D 65 62 75 66 66 65 72 20 61 6E 64 20 64 72 61 77 69 6E 67 20 6C 69 6E 65 73 20 69 framebuffer and drawing lines i 00005980 66 20 74 68 65 20 68 61 72 64 77 61 72 65 20 73 75 70 70 6F 72 74 73 20 74 68 61 74 20 66 75 6E f the hardware supports that fun 000059A0 63 74 69 6F 6E 61 6C 69 74 79 20 69 6E 20 74 68 65 20 63 75 72 72 65 6E 74 20 67 72 61 70 68 69 ctionality in the current graphi 000059C0 63 73 20 6D 6F 64 65 20 28 61 6E 64 20 79 6F 75 20 73 65 74 20 74 68 65 20 75 73 65 56 42 45 41 cs mode (and you set the useVBEA 000059E0 46 20 66 6C 61 67 20 74 6F 20 74 72 75 65 20 77 68 65 6E 20 74 68 65 20 67 72 61 70 68 69 63 73 F flag to true when the graphics 00005A00 20 6D 6F 64 65 20 77 61 73 20 73 74 61 72 74 65 64 29 2E 20 48 6F 77 65 76 65 72 20 74 68 65 20 mode was started). However the 00005A20 56 42 45 2F 41 46 20 73 70 65 63 69 66 69 63 61 74 69 6F 6E 20 61 6C 73 6F 20 70 72 6F 76 69 64 VBE/AF specification also provid 00005A40 65 73 20 73 75 70 70 6F 72 74 20 66 6F 72 20 61 20 6D 75 63 68 20 6C 61 72 67 65 72 20 61 72 72 es support for a much larger arr 00005A60 61 79 20 6F 66 20 70 72 69 6D 69 74 69 76 65 73 20 74 68 61 6E 20 6A 75 73 74 20 74 68 65 73 65 ay of primitives than just these 00005A80 20 74 77 6F 20 66 75 6E 63 74 69 6F 6E 73 2C 20 73 75 63 68 20 61 73 20 70 61 74 74 65 72 6E 65 two functions, such as patterne 00005AA0 64 20 72 65 63 74 61 6E 67 6C 65 20 66 69 6C 6C 73 2C 20 70 6F 6C 79 67 6F 6E 20 66 69 6C 6C 73 d rectangle fills, polygon fills 00005AC0 20 61 6E 64 20 74 72 61 6E 73 70 61 72 65 6E 74 20 42 69 74 42 6C 74 20 66 75 6E 63 74 69 6F 6E and transparent BitBlt function 00005AE0 73 2E 0D 49 66 20 61 20 56 42 45 2F 41 46 20 64 65 76 69 63 65 20 68 61 73 20 62 65 65 6E 20 64 s.♪If a VBE/AF device has been d 00005B00 65 74 65 63 74 65 64 20 61 6E 64 20 69 73 20 63 75 72 72 65 6E 74 6C 79 20 62 65 69 6E 67 20 75 etected and is currently being u 00005B20 73 65 64 20 62 79 20 74 68 65 20 6C 69 62 72 61 72 79 2C 20 74 68 65 20 67 6C 6F 62 61 6C 20 76 sed by the library, the global v 00005B40 61 72 69 61 62 6C 65 20 41 46 44 43 20 77 69 6C 6C 20 62 65 20 73 65 74 20 74 6F 20 61 20 70 6F ariable AFDC will be set to a po 00005B60 69 6E 74 65 72 20 74 6F 20 74 68 65 20 56 42 45 2F 41 46 20 64 65 76 69 63 65 20 63 6F 6E 74 65 inter to the VBE/AF device conte 00005B80 78 74 20 62 6C 6F 63 6B 20 66 6F 72 20 74 68 65 20 63 75 72 72 65 6E 74 6C 79 20 6C 6F 61 64 65 xt block for the currently loade 00005BA0 64 20 64 72 69 76 65 72 2E 20 59 6F 75 20 63 61 6E 20 74 68 65 6E 20 75 73 65 20 74 68 65 20 73 d driver. You can then use the s 00005BC0 75 70 70 6C 69 65 64 20 56 42 45 2F 41 46 20 43 20 62 61 73 65 64 20 41 50 49 20 69 6E 20 74 68 upplied VBE/AF C based API in th 00005BE0 65 20 56 42 45 41 46 2E 48 20 68 65 61 64 65 72 20 66 69 6C 65 20 74 6F 20 64 69 72 65 63 74 6C e VBEAF.H header file to directl 00005C00 79 20 63 61 6C 6C 20 74 68 65 73 65 20 66 75 6E 63 74 69 6F 6E 73 2C 20 6F 72 20 79 6F 75 20 63 y call these functions, or you c 00005C20 61 6E 20 75 73 65 20 74 68 65 20 73 61 6D 70 6C 65 20 61 73 73 65 6D 62 6C 65 72 20 63 6F 64 65 an use the sample assembler code 00005C40 20 69 6E 20 74 68 65 20 5F 56 42 45 41 46 2E 41 53 4D 20 6D 6F 64 75 6C 65 20 74 6F 20 77 72 69 in the _VBEAF.ASM module to wri 00005C60 74 65 20 79 6F 75 72 20 6F 77 6E 20 68 69 67 68 20 70 65 72 66 6F 72 6D 61 6E 63 65 20 61 63 63 te your own high performance acc 00005C80 65 6C 65 72 61 74 65 64 20 67 72 61 70 68 69 63 73 20 66 75 6E 63 74 69 6F 6E 73 2E 0D 4E 6F 74 elerated graphics functions.♪Not 00005CA0 65 20 74 68 61 74 20 61 6C 74 68 6F 75 67 68 20 77 65 20 70 72 6F 76 69 64 65 20 61 20 43 20 62 e that although we provide a C b 00005CC0 61 73 65 64 20 41 50 49 20 66 6F 72 20 56 42 45 2F 41 46 20 61 63 63 65 6C 65 72 61 74 69 6F 6E ased API for VBE/AF acceleration 00005CE0 20 69 6E 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 2C 20 74 68 65 20 73 70 65 63 69 66 in the SuperVGA Kit, the specif 00005D00 69 63 61 74 69 6F 6E 20 70 61 73 73 65 73 20 76 61 6C 75 65 73 20 74 6F 20 74 68 65 20 64 72 69 ication passes values to the dri 00005D20 76 65 72 20 69 6E 20 61 20 63 6F 6D 62 69 6E 61 74 69 6F 6E 20 6F 66 20 72 65 67 69 73 74 65 72 ver in a combination of register 00005D40 73 20 61 6E 64 20 70 61 72 61 6D 65 74 65 72 20 62 6C 6F 63 6B 73 20 74 68 61 74 20 69 73 20 68 s and parameter blocks that is h 00005D60 69 67 68 6C 79 20 74 75 6E 65 64 20 74 6F 77 61 72 64 73 20 63 61 6C 6C 73 20 66 72 6F 6D 20 74 ighly tuned towards calls from t 00005D80 69 67 68 74 20 61 73 73 65 6D 62 6C 79 20 6C 61 6E 67 75 61 67 65 20 6C 6F 6F 70 73 2E 20 46 6F ight assembly language loops. Fo 00005DA0 72 20 61 62 73 6F 6C 75 74 65 20 6D 61 78 69 6D 75 6D 20 70 65 72 66 6F 72 6D 61 6E 63 65 20 69 r absolute maximum performance i 00005DC0 6E 20 79 6F 75 72 20 63 6F 64 65 2C 20 70 6C 65 61 73 65 20 72 65 61 64 20 74 68 65 20 56 42 45 n your code, please read the VBE 00005DE0 2F 41 46 20 73 70 65 63 69 66 69 63 61 74 69 6F 6E 73 20 61 6E 64 20 77 72 69 74 65 20 79 6F 75 /AF specifications and write you 00005E00 72 20 6F 77 6E 20 61 73 73 65 6D 62 6C 65 72 20 66 75 6E 63 74 69 6F 6E 73 20 74 6F 20 69 6E 74 r own assembler functions to int 00005E20 65 72 66 61 63 65 20 64 69 72 65 63 74 6C 79 20 77 69 74 68 20 74 68 65 20 56 42 45 2F 41 46 20 erface directly with the VBE/AF 00005E40 64 65 76 69 63 65 20 64 72 69 76 65 72 20 66 75 6E 63 74 69 6F 6E 73 2E 0D 49 6E 20 6F 72 64 65 device driver functions.♪In orde 00005E60 72 20 74 6F 20 61 6C 6C 6F 77 20 79 6F 75 72 20 61 63 63 65 6C 65 72 61 74 69 6F 6E 20 63 6F 64 r to allow your acceleration cod 00005E80 65 20 74 6F 20 72 75 6E 20 63 6F 72 72 65 63 74 6C 79 2C 20 79 6F 75 20 6D 75 73 74 20 61 6C 73 e to run correctly, you must als 00005EA0 6F 20 6F 62 73 65 72 76 65 20 61 20 66 65 77 20 72 75 6C 65 73 20 74 6F 20 65 6E 73 75 72 65 20 o observe a few rules to ensure 00005EC0 63 6F 72 72 65 63 74 20 61 72 62 69 74 72 61 74 69 6F 6E 20 62 65 74 77 65 65 6E 20 74 68 65 20 correct arbitration between the 00005EE0 67 72 61 70 68 69 63 73 20 61 63 63 65 6C 65 72 61 74 6F 72 20 68 61 72 64 77 61 72 65 20 61 6E graphics accelerator hardware an 00005F00 64 20 61 6E 79 20 63 6F 64 65 20 74 68 61 74 20 72 65 6E 64 65 72 73 20 64 69 72 65 63 74 6C 79 d any code that renders directly 00005F20 20 74 6F 20 74 68 65 20 66 72 61 6D 65 62 75 66 66 65 72 2E 20 42 79 20 64 65 66 61 75 6C 74 20 to the framebuffer. By default 00005F40 77 68 65 6E 20 61 20 6D 6F 64 65 20 69 73 20 69 6E 69 74 69 61 6C 69 7A 65 64 2C 20 69 74 20 69 when a mode is initialized, it i 00005F60 73 20 73 65 74 20 75 70 20 66 6F 72 20 68 61 72 64 77 61 72 65 20 61 63 63 65 6C 65 72 61 74 65 s set up for hardware accelerate 00005F80 64 20 72 65 6E 64 65 72 69 6E 67 20 61 6E 64 20 79 6F 75 20 63 61 6E 6E 6F 74 20 64 69 72 65 63 d rendering and you cannot direc 00005FA0 74 6C 79 20 61 63 63 65 73 73 20 74 68 65 20 66 72 61 6D 65 62 75 66 66 65 72 2E 20 42 65 66 6F tly access the framebuffer. Befo 00005FC0 72 65 20 79 6F 75 20 64 6F 20 61 6E 79 20 64 69 72 65 63 74 20 66 72 61 6D 65 62 75 66 66 65 72 re you do any direct framebuffer 00005FE0 20 61 63 63 65 73 73 2C 20 79 6F 75 20 6D 75 73 74 20 63 61 6C 6C 20 74 68 65 20 53 56 5F 62 65 access, you must call the SV_be 00006000 67 69 6E 44 69 72 65 63 74 41 63 63 65 73 73 20 66 75 6E 63 74 69 6F 6E 20 74 6F 20 65 6E 73 75 ginDirectAccess function to ensu 00006020 72 65 20 6D 75 74 75 61 6C 20 65 78 63 6C 75 73 69 6F 6E 20 74 6F 20 74 68 65 20 66 72 61 6D 65 re mutual exclusion to the frame 00006040 62 75 66 66 65 72 2C 20 61 6E 64 20 77 68 65 6E 20 79 6F 75 20 61 72 65 20 64 6F 6E 65 20 63 61 buffer, and when you are done ca 00006060 6C 6C 20 53 56 5F 65 6E 64 44 69 72 65 63 74 41 63 63 65 73 73 20 61 67 61 69 6E 20 74 6F 20 72 ll SV_endDirectAccess again to r 00006080 65 74 75 72 6E 20 74 6F 20 6E 6F 72 6D 61 6C 20 68 61 72 64 77 61 72 65 20 61 63 63 65 6C 65 72 eturn to normal hardware acceler 000060A0 61 74 69 6F 6E 20 6D 6F 64 65 2E 20 49 66 20 79 6F 75 20 64 6F 20 6E 6F 74 20 64 6F 20 74 68 69 ation mode. If you do not do thi 000060C0 73 2C 20 74 68 65 72 65 20 69 73 20 61 20 63 68 61 6E 63 65 20 74 68 61 74 20 74 68 65 20 64 61 s, there is a chance that the da 000060E0 74 61 20 73 74 6F 72 65 64 20 69 6E 20 74 68 65 20 66 72 61 6D 65 62 75 66 66 65 72 20 77 69 6C ta stored in the framebuffer wil 00006100 6C 20 67 65 74 20 63 6F 72 72 75 70 74 65 64 2C 20 6F 72 20 65 76 65 6E 20 77 6F 72 73 65 20 69 l get corrupted, or even worse i 00006120 74 20 69 73 20 71 75 69 74 65 20 70 6F 73 73 69 62 6C 65 20 74 6F 20 6C 6F 63 6B 20 75 70 20 74 t is quite possible to lock up t 00006140 68 65 20 67 72 61 70 68 69 63 73 20 63 6F 6E 74 72 6F 6C 6C 65 72 20 68 61 72 64 77 61 72 65 20 he graphics controller hardware 00006160 72 65 71 75 69 72 69 6E 67 20 61 20 68 61 72 64 20 72 65 62 6F 6F 74 2E 0D 0D 0C 44 65 76 65 6C requiring a hard reboot.♪♪♀Devel 00006180 6F 70 69 6E 67 20 66 6F 72 20 4D 61 78 69 6D 75 6D 20 43 6F 6D 70 61 74 69 62 69 6C 69 74 79 0D oping for Maximum Compatibility♪ 000061A0 54 68 69 73 20 73 65 63 74 69 6F 6E 20 63 6F 6E 74 61 69 6E 73 20 69 6E 66 6F 72 6D 61 74 69 6F This section contains informatio 000061C0 6E 20 72 65 6C 61 74 69 6E 67 20 74 6F 20 64 65 76 65 6C 6F 70 69 6E 67 20 61 70 70 6C 69 63 61 n relating to developing applica 000061E0 74 69 6F 6E 20 73 6F 66 74 77 61 72 65 20 77 69 74 68 20 6D 61 78 69 6D 75 6D 20 63 6F 6D 70 61 tion software with maximum compa 00006200 74 69 62 69 6C 69 74 79 20 69 6E 20 6D 69 6E 64 2C 20 77 69 74 68 6F 75 74 20 73 61 63 72 69 66 tibility in mind, without sacrif 00006220 69 63 69 6E 67 20 70 65 72 66 6F 72 6D 61 6E 63 65 20 6F 72 20 66 65 61 74 75 72 65 73 2E 20 41 icing performance or features. A 00006240 6C 74 68 6F 75 67 68 20 74 68 65 20 56 42 45 20 73 74 61 6E 64 61 72 64 20 64 65 66 69 6E 65 73 lthough the VBE standard defines 00006260 20 68 6F 77 20 74 68 65 20 73 70 65 63 69 66 69 63 61 74 69 6F 6E 20 73 68 6F 75 6C 64 20 77 6F how the specification should wo 00006280 72 6B 2C 20 74 68 65 72 65 20 61 72 65 20 6D 61 6E 79 20 64 69 66 66 65 72 65 6E 74 20 66 6C 61 rk, there are many different fla 000062A0 76 6F 72 73 20 6F 66 20 68 61 72 64 77 61 72 65 20 6F 75 74 20 69 6E 20 74 68 65 20 66 69 65 6C vors of hardware out in the fiel 000062C0 64 2E 20 49 74 20 69 73 20 76 65 72 79 20 69 6D 70 6F 72 74 61 6E 74 20 74 68 61 74 20 79 6F 75 d. It is very important that you 000062E0 20 64 65 73 69 67 6E 20 79 6F 75 72 20 61 70 70 6C 69 63 61 74 69 6F 6E 20 77 69 74 68 20 74 68 design your application with th 00006300 65 20 66 6F 6C 6C 6F 77 69 6E 67 20 73 70 65 63 69 61 6C 20 63 61 73 65 73 20 69 6E 20 6D 69 6E e following special cases in min 00006320 64 20 73 6F 20 74 68 61 74 20 79 6F 75 20 61 70 70 6C 69 63 61 74 69 6F 6E 20 77 69 6C 6C 20 72 d so that you application will r 00006340 75 6E 20 6F 6E 20 74 68 65 20 77 69 64 65 73 74 20 76 61 72 69 65 74 79 20 6F 66 20 68 61 72 64 un on the widest variety of hard 00006360 77 61 72 65 20 70 6F 73 73 69 62 6C 65 2E 0D 4E 6F 74 65 20 74 68 61 74 20 6D 61 6E 79 20 6F 66 ware possible.♪Note that many of 00006380 20 74 68 65 20 69 73 73 75 65 73 20 69 6E 20 74 68 69 73 20 73 65 63 74 69 6F 6E 20 61 72 65 20 the issues in this section are 000063A0 6F 6E 6C 79 20 72 65 6C 61 74 65 64 20 74 6F 20 64 69 72 65 63 74 6C 79 20 70 72 6F 67 72 61 6D only related to directly program 000063C0 6D 69 6E 67 20 66 6F 72 20 74 68 65 20 56 42 45 20 31 2E 32 2F 32 2E 30 20 69 6E 74 65 72 66 61 ming for the VBE 1.2/2.0 interfa 000063E0 63 65 73 2E 20 49 66 20 79 6F 75 20 61 72 65 20 64 6F 69 6E 67 20 61 6C 6C 20 79 6F 75 72 20 64 ces. If you are doing all your d 00006400 65 76 65 6C 6F 70 6D 65 6E 74 20 77 69 74 68 20 74 68 65 20 6E 61 74 69 76 65 20 4D 47 4C 20 41 evelopment with the native MGL A 00006420 50 49 2C 20 53 63 69 54 65 63 68 20 4D 47 4C 20 69 6E 73 75 6C 61 74 65 73 20 79 6F 75 20 66 72 PI, SciTech MGL insulates you fr 00006440 6F 6D 20 6D 61 6E 79 20 6F 66 20 74 68 65 73 65 20 69 73 73 75 65 73 2E 20 48 6F 77 65 76 65 72 om many of these issues. However 00006460 20 73 6F 6D 65 20 69 73 73 75 65 73 20 73 75 63 68 20 61 73 20 62 65 69 6E 67 20 61 77 61 72 65 some issues such as being aware 00006480 20 6F 66 20 74 68 65 20 64 69 66 66 65 72 65 6E 74 20 74 79 70 65 73 20 6F 66 20 68 61 72 64 77 of the different types of hardw 000064A0 61 72 65 20 63 6F 6E 66 69 67 75 72 61 74 69 6F 6E 73 20 74 68 61 74 20 77 69 6C 6C 20 62 65 20 are configurations that will be 000064C0 6F 75 74 20 74 68 65 72 65 20 28 73 75 63 68 20 61 73 20 68 61 72 64 77 61 72 65 20 74 68 61 74 out there (such as hardware that 000064E0 20 63 61 6E 6E 6F 74 20 64 6F 20 70 61 67 65 20 66 6C 69 70 70 69 6E 67 29 20 61 66 66 65 63 74 cannot do page flipping) affect 00006500 20 4D 47 4C 20 61 70 70 6C 69 63 61 74 69 6F 6E 73 20 61 73 20 77 65 6C 6C 2E 0D 43 68 65 63 6B MGL applications as well.♪Check 00006520 20 69 66 20 56 47 41 20 43 6F 6D 70 61 74 69 62 6C 65 20 42 65 66 6F 72 65 20 54 6F 75 63 68 69 if VGA Compatible Before Touchi 00006540 6E 67 20 41 6E 79 20 56 47 41 20 52 65 67 69 73 74 65 72 73 0D 43 61 72 64 73 20 41 66 66 65 63 ng Any VGA Registers♪Cards Affec 00006560 74 65 64 3A 0D 41 54 49 20 4D 61 63 68 33 32 20 61 6E 64 20 4D 61 63 68 36 34 0D 44 69 61 6D 6F ted:♪ATI Mach32 and Mach64♪Diamo 00006580 6E 64 20 56 69 70 65 72 20 73 65 72 69 65 73 20 28 57 65 69 74 65 6B 20 50 39 30 30 30 20 61 6E nd Viper series (Weitek P9000 an 000065A0 64 20 50 39 31 30 30 29 0D 44 69 61 6D 6F 6E 64 20 45 64 67 65 20 33 44 20 28 4E 56 69 64 69 61 d P9100)♪Diamond Edge 3D (NVidia 000065C0 20 4E 56 31 29 0D 49 42 4D 20 58 47 41 0D 49 49 54 20 41 47 58 0D 4D 61 74 72 6F 78 20 4D 69 6C NV1)♪IBM XGA♪IIT AGX♪Matrox Mil 000065E0 6C 65 6E 69 75 6D 20 0D 4E 75 6D 62 65 72 20 4E 69 6E 65 20 49 6D 61 67 69 6E 65 20 31 32 38 0D lenium ♪Number Nine Imagine 128♪ 00006600 4D 6F 73 74 20 6E 65 77 65 72 20 63 61 72 64 73 0D 0D 4D 61 6E 79 20 64 65 76 65 6C 6F 70 65 72 Most newer cards♪♪Many developer 00006620 73 20 66 69 6E 64 20 74 68 61 74 20 74 68 65 72 65 20 69 73 20 61 6E 20 69 72 72 65 73 69 73 74 s find that there is an irresist 00006640 69 62 6C 65 20 75 72 67 65 20 74 6F 20 70 75 73 68 20 74 68 65 20 62 6F 75 6E 64 61 72 69 65 73 ible urge to push the boundaries 00006660 20 6F 66 20 70 65 72 66 6F 72 6D 61 6E 63 65 2C 20 61 6E 64 20 74 68 65 79 20 77 69 6C 6C 20 74 of performance, and they will t 00006680 72 79 20 61 6E 79 74 68 69 6E 67 20 61 6E 64 20 65 76 65 72 79 74 68 69 6E 67 20 74 68 65 79 20 ry anything and everything they 000066A0 63 61 6E 20 74 6F 20 61 74 74 61 69 6E 20 74 68 65 73 65 20 67 6F 61 6C 73 2E 20 4F 6E 65 20 6F can to attain these goals. One o 000066C0 66 20 74 68 65 20 74 68 69 6E 67 73 20 74 68 61 74 20 69 73 20 63 6F 6D 6D 6F 6E 6C 79 20 64 6F f the things that is commonly do 000066E0 6E 65 20 69 73 20 74 6F 20 70 65 72 66 6F 72 6D 20 77 65 69 72 64 20 61 6E 64 20 77 6F 6E 64 65 ne is to perform weird and wonde 00006700 72 66 75 6C 20 66 65 61 74 73 20 6F 66 20 6D 61 67 69 63 20 75 73 69 6E 67 20 73 6F 6D 65 20 6F rful feats of magic using some o 00006720 66 20 74 68 65 20 73 74 61 6E 64 61 72 64 20 56 47 41 20 72 65 67 69 73 74 65 72 73 2E 20 54 68 f the standard VGA registers. Th 00006740 69 73 20 64 6F 65 73 20 77 6F 72 6B 2C 20 61 6E 64 20 77 6F 72 6B 20 77 65 6C 6C 20 6F 6E 20 73 is does work, and work well on s 00006760 6F 6D 65 20 67 72 61 70 68 69 63 73 20 63 61 72 64 73 2C 20 62 75 74 20 6E 6F 74 20 6F 6E 20 61 ome graphics cards, but not on a 00006780 6C 6C 20 63 61 72 64 73 21 20 20 0D 49 66 20 74 68 65 20 67 72 61 70 68 69 63 73 20 63 6F 6E 74 ll cards! ♪If the graphics cont 000067A0 72 6F 6C 6C 65 72 20 69 73 20 62 61 73 65 64 20 6F 6E 20 61 20 4E 6F 6E 56 47 41 20 67 72 61 70 roller is based on a NonVGA grap 000067C0 68 69 63 73 20 68 61 72 64 77 61 72 65 20 74 65 63 68 6E 6F 6C 6F 67 79 20 28 61 6E 64 20 6D 61 hics hardware technology (and ma 000067E0 6E 79 20 70 6F 70 75 6C 61 72 20 6F 6E 65 73 20 61 72 65 29 2C 20 69 6E 20 74 68 65 20 53 75 70 ny popular ones are), in the Sup 00006800 65 72 56 47 41 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 73 20 74 68 65 20 56 47 41 20 72 65 67 erVGA graphics modes the VGA reg 00006820 69 73 74 65 72 73 20 73 69 6D 70 6C 79 20 64 6F 20 6E 6F 74 20 65 78 69 73 74 20 61 6E 79 6D 6F isters simply do not exist anymo 00006840 72 65 2C 20 61 6E 64 20 61 74 74 65 6D 70 74 69 6E 67 20 74 6F 20 73 79 6E 63 68 20 74 6F 20 74 re, and attempting to synch to t 00006860 68 65 73 65 20 72 65 67 69 73 74 65 72 73 20 77 69 6C 6C 20 70 75 74 20 79 6F 75 72 20 63 6F 64 hese registers will put your cod 00006880 65 20 69 6E 74 6F 20 61 6E 20 69 6E 66 69 6E 69 74 65 20 6C 6F 6F 70 2E 20 53 6F 20 62 65 20 66 e into an infinite loop. So be f 000068A0 6F 72 65 77 61 72 6E 65 64 20 74 68 61 74 20 64 6F 69 6E 67 20 61 6E 79 20 66 69 64 64 6C 69 6E orewarned that doing any fiddlin 000068C0 67 20 77 69 74 68 20 74 68 65 20 73 74 61 6E 64 61 72 64 20 56 47 41 20 72 65 67 69 73 74 65 72 g with the standard VGA register 000068E0 73 20 69 73 20 61 73 6B 69 6E 67 20 66 6F 72 20 74 72 6F 75 62 6C 65 20 6F 6E 20 63 65 72 74 61 s is asking for trouble on certa 00006900 69 6E 20 67 72 61 70 68 69 63 73 20 63 61 72 64 20 74 68 61 74 20 75 73 65 20 4E 6F 6E 56 47 41 in graphics card that use NonVGA 00006920 20 63 6F 6E 74 72 6F 6C 6C 65 72 73 20 74 6F 20 70 72 6F 67 72 61 6D 20 74 68 65 20 53 75 70 65 controllers to program the Supe 00006940 72 56 47 41 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 73 20 28 61 6E 64 20 6C 6F 74 73 20 6D 6F rVGA graphics modes (and lots mo 00006960 72 65 20 6F 66 20 74 68 65 73 65 20 61 72 65 20 63 6F 6D 69 6E 67 20 6F 75 74 29 2E 0D 54 68 65 re of these are coming out).♪The 00006980 72 65 20 69 73 20 68 6F 77 65 76 65 72 20 61 20 73 6F 6C 75 74 69 6F 6E 20 66 6F 72 20 56 42 45 re is however a solution for VBE 000069A0 20 32 2E 30 20 61 6E 64 20 56 42 45 2F 41 46 20 63 6F 6E 74 72 6F 6C 6C 65 72 73 2E 20 54 68 65 2.0 and VBE/AF controllers. The 000069C0 72 65 20 69 73 20 61 20 62 69 74 20 69 6E 20 74 68 65 20 56 42 45 20 6D 6F 64 65 49 6E 66 6F 42 re is a bit in the VBE modeInfoB 000069E0 6C 6F 63 6B 20 66 6F 72 20 65 76 65 72 79 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 20 74 68 61 lock for every graphics mode tha 00006A00 74 20 69 6E 64 69 63 61 74 65 73 20 77 68 65 74 68 65 72 20 74 68 61 74 20 6D 6F 64 65 20 69 73 t indicates whether that mode is 00006A20 20 61 20 4E 6F 6E 56 47 41 20 6D 6F 64 65 20 6F 72 20 56 47 41 20 63 6F 6D 70 61 74 69 62 6C 65 a NonVGA mode or VGA compatible 00006A40 20 6D 6F 64 65 2E 20 49 66 20 74 68 69 73 20 62 69 74 20 69 73 20 73 65 74 20 69 6E 64 69 63 61 mode. If this bit is set indica 00006A60 74 69 6E 67 20 74 68 61 74 20 61 20 4E 6F 6E 56 47 41 20 63 6F 6E 74 72 6F 6C 6C 65 72 20 69 73 ting that a NonVGA controller is 00006A80 20 62 65 69 6E 67 20 75 73 65 64 20 74 6F 20 70 72 6F 67 72 61 6D 20 74 68 65 20 64 65 73 69 72 being used to program the desir 00006AA0 65 64 20 67 72 61 70 68 69 63 73 20 6D 6F 64 65 2C 20 79 6F 75 20 6D 75 73 74 20 6E 6F 74 20 64 ed graphics mode, you must not d 00006AC0 6F 20 61 6E 79 74 68 69 6E 67 20 72 65 6C 61 74 65 64 20 74 6F 20 72 65 2D 70 72 6F 67 72 61 6D o anything related to re-program 00006AE0 6D 69 6E 67 20 61 6E 79 20 6F 66 20 74 68 65 20 73 74 61 6E 64 61 72 64 20 56 47 41 20 72 65 67 ming any of the standard VGA reg 00006B00 69 73 74 65 72 73 2E 20 49 6E 20 74 68 65 73 65 20 63 61 73 65 73 20 79 6F 75 20 6D 75 73 74 20 isters. In these cases you must 00006B20 66 61 6C 6C 62 61 63 6B 20 6F 6E 74 6F 20 67 65 6E 65 72 69 63 20 63 6F 64 65 20 74 68 61 74 20 fallback onto generic code that 00006B40 77 69 6C 6C 20 70 65 72 66 6F 72 6D 20 61 6C 6C 20 69 74 92 73 20 67 72 61 70 68 69 63 73 20 63 will perform all itÆs graphics c 00006B60 61 72 64 20 69 6E 74 65 72 61 63 74 69 6F 6E 20 74 68 72 6F 75 67 68 20 74 68 65 20 73 74 61 6E ard interaction through the stan 00006B80 64 61 72 64 20 56 42 45 20 32 2E 30 20 73 65 72 76 69 63 65 73 2E 0D 4E 4F 54 45 3A 20 54 68 65 dard VBE 2.0 services.♪NOTE: The 00006BA0 20 53 63 69 54 65 63 68 20 4D 47 4C 20 41 50 49 20 69 6E 73 75 6C 61 74 65 73 20 64 65 76 65 6C SciTech MGL API insulates devel 00006BC0 6F 70 65 72 73 20 66 72 6F 6D 20 74 68 69 73 20 69 73 73 75 65 2E 0D 43 68 65 63 6B 20 69 66 20 opers from this issue.♪Check if 00006BE0 56 47 41 20 43 6F 6D 70 61 74 69 62 6C 65 20 42 65 66 6F 72 65 20 44 69 72 65 63 74 6C 79 20 50 VGA Compatible Before Directly P 00006C00 72 6F 67 72 61 6D 6D 69 6E 67 20 74 68 65 20 44 41 43 0D 43 61 72 64 73 20 41 66 66 65 63 74 65 rogramming the DAC♪Cards Affecte 00006C20 64 3A 0D 41 54 49 20 4D 61 63 68 33 32 20 61 6E 64 20 4D 61 63 68 36 34 0D 44 69 61 6D 6F 6E 64 d:♪ATI Mach32 and Mach64♪Diamond 00006C40 20 56 69 70 65 72 20 73 65 72 69 65 73 20 28 57 65 69 74 65 6B 20 50 39 30 30 30 20 61 6E 64 20 Viper series (Weitek P9000 and 00006C60 50 39 31 30 30 29 0D 44 69 61 6D 6F 6E 64 20 45 64 67 65 20 33 44 20 28 4E 56 69 64 69 61 20 4E P9100)♪Diamond Edge 3D (NVidia N 00006C80 56 31 29 0D 49 42 4D 20 58 47 41 0D 49 49 54 20 41 47 58 0D 4D 61 74 72 6F 78 20 4D 69 6C 6C 65 V1)♪IBM XGA♪IIT AGX♪Matrox Mille 00006CA0 6E 69 75 6D 20 0D 4E 75 6D 62 65 72 20 4E 69 6E 65 20 49 6D 61 67 69 6E 65 20 31 32 38 0D 4D 6F nium ♪Number Nine Imagine 128♪Mo 00006CC0 73 74 20 6E 65 77 65 72 20 63 61 72 64 73 0D 0D 41 6E 6F 74 68 65 72 20 61 72 65 61 20 6F 66 20 st newer cards♪♪Another area of 00006CE0 63 6F 6E 63 65 72 6E 20 69 73 20 70 72 6F 67 72 61 6D 6D 69 6E 67 20 74 68 65 20 63 6F 6C 6F 72 concern is programming the color 00006D00 20 70 61 6C 65 74 74 65 2E 20 4F 6E 63 65 20 61 67 61 69 6E 20 74 68 65 20 73 61 6D 65 20 70 72 palette. Once again the same pr 00006D20 6F 62 6C 65 6D 20 6F 63 63 75 72 73 20 77 68 65 6E 20 70 72 6F 67 72 61 6D 6D 69 6E 67 20 74 68 oblem occurs when programming th 00006D40 65 20 70 61 6C 65 74 74 65 20 66 6F 72 20 4E 6F 6E 56 47 41 20 63 6F 6E 74 72 6F 6C 6C 65 72 73 e palette for NonVGA controllers 00006D60 3B 20 74 68 65 20 56 47 41 20 70 61 6C 65 74 74 65 20 72 65 67 69 73 74 65 72 73 20 6E 6F 20 6C ; the VGA palette registers no l 00006D80 6F 6E 67 65 72 20 65 78 69 73 74 20 61 6E 64 20 61 74 74 65 6D 70 74 69 6E 67 20 74 6F 20 70 72 onger exist and attempting to pr 00006DA0 6F 67 72 61 6D 20 74 68 65 20 70 61 6C 65 74 74 65 20 76 69 61 20 74 68 65 73 65 20 72 65 67 69 ogram the palette via these regi 00006DC0 73 74 65 72 73 20 77 69 6C 6C 20 73 69 6D 70 6C 79 20 64 6F 20 6E 6F 74 68 69 6E 67 2E 20 45 76 sters will simply do nothing. Ev 00006DE0 65 6E 20 77 6F 72 73 65 20 61 74 74 65 6D 70 74 69 6E 67 20 74 6F 20 73 79 6E 63 68 20 74 6F 20 en worse attempting to synch to 00006E00 74 68 65 20 76 65 72 74 69 63 61 6C 20 6F 72 20 68 6F 72 69 7A 6F 6E 74 61 6C 20 72 65 74 72 61 the vertical or horizontal retra 00006E20 63 65 20 77 69 6C 6C 20 61 6C 73 6F 20 63 61 75 73 65 20 74 68 65 20 73 79 73 74 65 6D 20 74 6F ce will also cause the system to 00006E40 20 67 65 74 20 69 6E 74 6F 20 61 6E 20 69 6E 66 69 6E 69 74 65 20 6C 6F 6F 70 2E 0D 48 65 6E 63 get into an infinite loop.♪Henc 00006E60 65 20 69 66 20 79 6F 75 20 6E 65 65 64 20 74 6F 20 70 72 6F 67 72 61 6D 20 74 68 65 20 63 6F 6C e if you need to program the col 00006E80 6F 72 20 70 61 6C 65 74 74 65 2C 20 79 6F 75 20 73 68 6F 75 6C 64 20 61 6C 77 61 79 73 20 74 72 or palette, you should always tr 00006EA0 79 20 74 6F 20 75 73 65 20 74 68 65 20 73 75 70 70 6C 69 65 64 20 56 42 45 20 32 2E 30 20 61 6E y to use the supplied VBE 2.0 an 00006EC0 64 20 56 42 45 2F 41 46 20 70 61 6C 65 74 74 65 20 70 72 6F 67 72 61 6D 6D 69 6E 67 20 72 6F 75 d VBE/AF palette programming rou 00006EE0 74 69 6E 65 73 20 72 61 74 68 65 72 20 74 68 61 6E 20 70 72 6F 67 72 61 6D 6D 69 6E 67 20 74 68 tines rather than programming th 00006F00 65 20 70 61 6C 65 74 74 65 20 64 69 72 65 63 74 6C 79 2E 20 49 66 20 79 6F 75 20 6D 75 73 74 20 e palette directly. If you must 00006F20 68 61 76 65 20 79 6F 75 72 20 6F 77 6E 20 70 61 6C 65 74 74 65 20 70 72 6F 67 72 61 6D 6D 69 6E have your own palette programmin 00006F40 67 20 63 6F 64 65 2C 20 6D 61 6B 65 20 73 75 72 65 20 79 6F 75 20 63 68 65 63 6B 20 74 68 65 20 g code, make sure you check the 00006F60 4E 6F 6E 56 47 41 20 61 74 74 72 69 62 75 74 65 20 62 69 74 20 61 73 20 64 69 73 63 75 73 73 65 NonVGA attribute bit as discusse 00006F80 64 20 61 62 6F 76 65 2C 20 61 6E 64 20 69 66 20 61 20 4E 6F 6E 56 47 41 20 6D 6F 64 65 20 69 73 d above, and if a NonVGA mode is 00006FA0 20 64 65 74 65 63 74 65 64 20 79 6F 75 20 77 69 6C 6C 20 68 61 76 65 20 74 6F 20 70 72 6F 67 72 detected you will have to progr 00006FC0 61 6D 20 74 68 65 20 70 61 6C 65 74 74 65 20 76 69 61 20 74 68 65 20 73 74 61 6E 64 61 72 64 20 am the palette via the standard 00006FE0 56 42 45 20 32 2E 30 20 6F 72 20 56 42 45 2F 41 46 20 73 65 72 76 69 63 65 73 2E 0D 4E 4F 54 45 VBE 2.0 or VBE/AF services.♪NOTE 00007000 3A 20 54 68 65 20 53 63 69 54 65 63 68 20 4D 47 4C 20 41 50 49 20 69 6E 73 75 6C 61 74 65 73 20 : The SciTech MGL API insulates 00007020 64 65 76 65 6C 6F 70 65 72 73 20 66 72 6F 6D 20 74 68 69 73 20 69 73 73 75 65 2E 0D 48 61 6E 64 developers from this issue.♪Hand 00007040 6C 69 6E 67 20 47 72 61 70 68 69 63 73 20 43 61 72 64 73 20 77 69 74 68 20 4F 6E 6C 79 20 4D 65 ling Graphics Cards with Only Me 00007060 6D 6F 72 79 20 4D 61 70 70 65 64 20 52 65 67 69 73 74 65 72 73 0D 43 61 72 64 73 20 41 66 66 65 mory Mapped Registers♪Cards Affe 00007080 63 74 65 64 3A 0D 41 6C 6C 69 61 6E 63 65 20 50 72 6F 4D 6F 74 69 6F 6E 20 33 32 31 30 2F 36 34 cted:♪Alliance ProMotion 3210/64 000070A0 31 30 0D 4E 75 6D 62 65 72 20 4E 69 6E 65 20 49 6D 61 67 69 6E 65 20 31 32 38 0D 53 6F 6D 65 20 10♪Number Nine Imagine 128♪Some 000070C0 6E 65 77 65 72 20 63 61 72 64 73 0D 0D 4F 6E 65 20 61 72 65 61 20 74 68 61 74 20 69 73 20 6E 6F newer cards♪♪One area that is no 000070E0 74 20 76 65 72 79 20 77 65 6C 6C 20 63 6F 76 65 72 65 64 20 69 6E 20 74 68 65 20 56 42 45 20 32 t very well covered in the VBE 2 00007100 2E 30 20 73 70 65 63 73 20 69 73 20 73 75 70 70 6F 72 74 20 66 6F 72 20 63 6F 6E 74 72 6F 6C 6C .0 specs is support for controll 00007120 65 72 73 20 74 68 61 74 20 6F 6E 6C 79 20 68 61 76 65 20 6D 65 6D 6F 72 79 20 6D 61 70 70 65 64 ers that only have memory mapped 00007140 20 72 65 67 69 73 74 65 72 73 20 72 61 74 68 65 72 20 74 68 61 6E 20 49 4F 20 6D 61 70 70 65 64 registers rather than IO mapped 00007160 20 72 65 67 69 73 74 65 72 73 2E 20 46 6F 72 20 74 68 65 73 65 20 63 6F 6E 74 72 6F 6C 6C 65 72 registers. For these controller 00007180 73 20 74 68 65 72 65 20 61 72 65 20 61 20 6E 75 6D 62 65 72 20 6F 66 20 73 6D 61 6C 6C 20 69 73 s there are a number of small is 000071A0 73 75 65 73 20 74 68 61 74 20 6E 65 65 64 20 74 6F 20 62 65 20 68 61 6E 64 6C 65 64 20 69 6E 20 sues that need to be handled in 000071C0 6F 72 64 65 72 20 74 6F 20 6D 61 6B 65 20 73 75 72 65 20 74 68 61 74 20 74 68 65 20 33 32 20 62 order to make sure that the 32 b 000071E0 69 74 20 56 42 45 20 32 2E 30 20 72 65 6C 6F 63 61 74 65 61 62 6C 65 20 66 75 6E 63 74 69 6F 6E it VBE 2.0 relocateable function 00007200 73 20 77 6F 72 6B 20 63 6F 72 72 65 63 74 6C 79 2E 20 49 66 20 6F 72 64 65 72 20 66 6F 72 20 74 s work correctly. If order for t 00007220 68 65 73 65 20 66 75 6E 63 74 69 6F 6E 73 20 74 6F 20 77 6F 72 6B 2C 20 61 20 73 65 6C 65 63 74 hese functions to work, a select 00007240 6F 72 20 74 6F 20 74 68 65 20 6D 65 6D 6F 72 79 20 6D 61 70 70 65 64 20 72 65 67 69 73 74 65 72 or to the memory mapped register 00007260 73 20 6D 75 73 74 20 62 65 20 70 61 73 73 65 64 20 69 6E 20 74 68 65 20 45 53 20 72 65 67 69 73 s must be passed in the ES regis 00007280 74 65 72 20 74 6F 20 74 68 65 20 62 61 6E 6B 20 73 77 69 74 63 68 69 6E 67 20 61 6E 64 20 64 69 ter to the bank switching and di 000072A0 73 70 6C 61 79 20 73 74 61 72 74 20 61 64 64 72 65 73 73 20 70 72 6F 67 72 61 6D 6D 69 6E 67 20 splay start address programming 000072C0 72 6F 75 74 69 6E 65 73 2C 20 61 6E 64 20 69 6E 20 74 68 65 20 44 53 20 72 65 67 69 73 74 65 72 routines, and in the DS register 000072E0 20 66 6F 72 20 74 68 65 20 70 61 6C 65 74 74 65 20 70 72 6F 67 72 61 6D 6D 69 6E 67 20 72 6F 75 for the palette programming rou 00007300 74 69 6E 65 2E 20 49 66 20 74 68 69 73 20 73 65 6C 65 63 74 6F 72 20 69 73 20 6E 6F 74 20 70 61 tine. If this selector is not pa 00007320 73 73 65 64 2C 20 74 68 65 20 63 6F 64 65 20 77 69 6C 6C 20 6E 6F 74 20 62 65 20 61 62 6C 65 20 ssed, the code will not be able 00007340 74 6F 20 63 6F 72 72 65 63 74 6C 79 20 61 63 63 65 73 73 20 74 68 65 20 6E 65 63 65 73 73 61 72 to correctly access the necessar 00007360 79 20 6D 65 6D 6F 72 79 20 6D 61 70 70 65 64 20 72 65 67 69 73 74 65 72 73 20 61 6E 64 20 79 6F y memory mapped registers and yo 00007380 75 72 20 61 70 70 6C 69 63 61 74 69 6F 6E 20 77 69 6C 6C 20 70 72 6F 62 61 62 6C 79 20 63 72 61 ur application will probably cra 000073A0 73 68 2E 0D 4E 6F 74 65 20 74 68 61 74 20 74 68 65 20 55 6E 69 56 42 45 20 61 6E 64 20 6F 75 72 sh.♪Note that the UniVBE and our 000073C0 20 55 56 42 45 4C 69 62 20 64 65 76 69 63 65 20 73 75 70 70 6F 72 74 20 6C 69 62 72 61 72 69 65 UVBELib device support librarie 000073E0 73 20 68 61 76 65 20 73 6F 6D 65 20 73 70 65 63 69 61 6C 20 63 61 73 65 20 63 6F 64 65 20 74 68 s have some special case code th 00007400 61 74 20 77 69 6C 6C 20 77 6F 72 6B 20 63 6F 72 72 65 63 74 6C 79 20 69 66 20 44 4F 53 34 47 57 at will work correctly if DOS4GW 00007420 20 69 73 20 75 73 65 64 2C 20 62 75 74 20 6E 6F 74 20 77 69 74 68 20 61 6E 79 20 6F 74 68 65 72 is used, but not with any other 00007440 20 44 4F 53 20 65 78 74 65 6E 64 65 72 2E 20 48 6F 77 65 76 65 72 20 79 6F 75 20 73 68 6F 75 6C DOS extender. However you shoul 00007460 64 20 6D 61 6B 65 20 73 75 72 65 20 79 6F 75 20 63 6F 64 65 20 63 6F 72 72 65 63 74 6C 79 20 68 d make sure you code correctly h 00007480 61 6E 64 6C 65 73 20 74 68 65 73 65 20 73 69 74 75 61 74 69 6F 6E 73 2C 20 61 73 20 69 74 20 6D andles these situations, as it m 000074A0 61 79 20 65 6E 64 20 75 70 20 72 75 6E 6E 69 6E 67 20 6F 6E 20 61 20 64 69 66 66 65 72 65 6E 74 ay end up running on a different 000074C0 20 56 42 45 20 69 6D 70 6C 65 6D 65 6E 74 61 74 69 6F 6E 20 74 68 61 74 20 64 6F 65 73 20 6E 6F VBE implementation that does no 000074E0 74 20 68 61 76 65 20 73 70 65 63 69 61 6C 20 63 61 73 65 20 63 6F 64 65 20 66 6F 72 20 44 4F 53 t have special case code for DOS 00007500 34 47 57 2E 0D 50 6C 65 61 73 65 20 6C 6F 6F 6B 20 61 74 20 74 68 65 20 63 6F 64 65 20 69 6E 20 4GW.♪Please look at the code in 00007520 74 68 65 20 53 56 47 41 53 44 4B 2E 43 20 61 6E 64 20 5F 53 56 47 41 53 44 4B 2E 41 53 4D 20 73 the SVGASDK.C and _SVGASDK.ASM s 00007540 6F 75 72 63 65 20 66 69 6C 65 73 20 69 6E 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 20 ource files in the SuperVGA Kit 00007560 74 68 61 74 20 70 65 72 66 6F 72 6D 20 74 68 69 73 20 66 75 6E 63 74 69 6F 6E 20 28 56 42 45 32 that perform this function (VBE2 00007580 30 5F 73 65 74 42 61 6E 6B 41 45 53 20 65 74 63 2E 29 2E 20 49 74 20 69 73 20 70 6F 73 73 69 62 0_setBankAES etc.). It is possib 000075A0 6C 65 20 74 6F 20 68 61 6E 64 6C 65 20 74 68 65 73 65 20 73 69 74 75 61 74 69 6F 6E 73 20 63 6F le to handle these situations co 000075C0 72 72 65 63 74 6C 79 20 77 69 74 68 6F 75 74 20 69 6D 70 61 63 74 69 6E 67 20 74 68 65 20 70 65 rrectly without impacting the pe 000075E0 72 66 6F 72 6D 61 6E 63 65 20 6F 6E 20 63 6F 6E 74 72 6F 6C 6C 65 72 73 20 77 68 65 72 65 20 74 rformance on controllers where t 00007600 68 69 73 20 69 73 20 6E 6F 74 20 61 6E 20 69 73 73 75 65 2E 20 54 68 69 73 20 69 73 20 61 6C 73 his is not an issue. This is als 00007620 6F 20 61 6E 20 69 73 73 75 65 20 74 68 61 74 20 6E 65 65 64 73 20 74 6F 20 62 65 20 73 6F 6C 76 o an issue that needs to be solv 00007640 65 64 20 6E 6F 77 2C 20 62 65 63 61 75 73 65 20 74 68 65 72 65 20 61 72 65 20 61 20 6E 75 6D 62 ed now, because there are a numb 00007660 65 72 20 6F 66 20 6E 65 77 20 67 72 61 70 68 69 63 73 20 63 6F 6E 74 72 6F 6C 6C 65 72 73 20 63 er of new graphics controllers c 00007680 6F 6D 69 6E 67 20 6F 75 74 20 74 68 61 74 20 68 61 76 65 20 6F 6E 6C 79 20 6D 65 6D 6F 72 79 20 oming out that have only memory 000076A0 6D 61 70 70 65 64 20 72 65 67 69 73 74 65 72 73 2E 0D 4E 4F 54 45 3A 20 54 68 65 20 53 63 69 54 mapped registers.♪NOTE: The SciT 000076C0 65 63 68 20 4D 47 4C 20 41 50 49 20 69 6E 73 75 6C 61 74 65 73 20 64 65 76 65 6C 6F 70 65 72 73 ech MGL API insulates developers 000076E0 20 66 72 6F 6D 20 74 68 69 73 20 69 73 73 75 65 2E 0D 0D 18 00 A4 D0 2F A5 E0 3D A6 A0 05 A7 A0 from this issue.♪♪↑.ñ╨/Ñα=ªá♣ºá 00007700 05 A8 A0 05 A9 A0 05 AA 00 00 AB 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ♣¿á♣⌐á♣¬..½☺.................... 00007720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00007740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00007760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00007780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000077A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000077C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000077E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00007800 00 03 00 00 FE 0C 00 00 FF 0C 00 00 17 0D 00 00 18 0D 00 00 19 0D 00 00 1A 0D 00 00 79 19 00 00 .♥..■♀.. ♀..↨♪..↑♪..↓♪..→♪..y↓.. 00007820 7F 19 00 00 1E 2A 00 00 29 2A 00 00 54 2A 00 00 55 2A 00 00 75 2A 00 00 7D 2A 00 00 0A 2B 00 00 ⌂↓..▲*..)*..T*..U*..u*..}*..◙+.. 00007840 18 2B 00 00 A5 2C 00 00 B6 2C 00 00 65 2D 00 00 76 2D 00 00 39 2E 00 00 46 2E 00 00 F2 2F 00 00 ↑+..Ñ,..╢,..e-..v-..9...F...≥/.. 00007860 F6 2F 00 00 55 30 00 00 59 30 00 00 39 36 00 00 47 36 00 00 02 3C 00 00 0E 3C 00 00 13 3C 00 00 ÷/..U0..Y0..96..G6..☻<..♫<..‼<.. 00007880 1D 3C 00 00 1B 3D 00 00 28 3D 00 00 A1 40 00 00 A8 40 00 00 BE 41 00 00 C2 41 00 00 12 47 00 00 ↔<..←=..(=..í@..¿@..╛A..┬A..↕G.. 000078A0 16 47 00 00 79 47 00 00 84 47 00 00 18 48 00 00 25 48 00 00 26 49 00 00 2E 49 00 00 A0 49 00 00 ▬G..yG..äG..↑H..%H..&I...I..áI.. 000078C0 AC 49 00 00 B1 49 00 00 BB 49 00 00 05 4E 00 00 0D 4E 00 00 DE 4E 00 00 EA 4E 00 00 5F 4F 00 00 ¼I..▒I..╗I..♣N..♪N..▐N..ΩN.._O.. 000078E0 67 4F 00 00 6C 4F 00 00 76 4F 00 00 55 50 00 00 65 50 00 00 B0 53 00 00 B6 53 00 00 D4 54 00 00 gO..lO..vO..UP..eP..░S..╢S..╘T.. 00007900 DA 54 00 00 D9 57 00 00 E1 57 00 00 48 59 00 00 4C 59 00 00 97 69 00 00 9C 69 00 00 FC 6D 00 00 ┌T..┘W..ßW..HY..LY..ùi..£i..ⁿm.. 00007920 01 6E 00 00 B2 74 00 00 B7 74 00 00 F3 74 00 00 0D 75 00 00 00 FB 00 FB F9 FB 00 F7 00 F7 00 F7 ☺n..▓t..╖t..≤t..♪u...√.√∙√.≈.≈.≈ 00007940 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 .≈.≈.≈.≈.≈.≈.≈.≈.≈.≈.≈.≈.≈.≈.≈.≈ 00007960 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F7 00 F4 00 F4 00 F4 00 F2 .≈.≈.≈.≈.≈.≈.≈.≈.≈.≈.≈.≈.⌠.⌠.⌠.≥ 00007980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000079A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000079C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000079E0 00 00 00 00 02 75 01 00 04 55 81 56 81 00 02 56 81 00 03 61 00 04 08 75 01 44 04 00 00 00 00 4C ....☻u☺.♦UüVü.☻Vü.♥a.♦◘u☺D♦....L 00007A00 00 03 00 00 17 03 00 00 D0 03 00 00 0F 05 00 00 31 05 00 00 19 07 00 00 D4 08 00 00 EC 08 00 00 .♥..↨♥..╨♥..☼♣..1♣..↓•..╘◘..∞◘.. 00007A20 2C 0A 00 00 31 0A 00 00 39 0A 00 00 3A 0A 00 00 41 0A 00 00 5F 0A 00 00 60 0A 00 00 6A 0A 00 00 ,◙..1◙..9◙..:◙..A◙.._◙..`◙..j◙.. 00007A40 99 0A 00 00 9A 0A 00 00 A4 0A 00 00 D6 0A 00 00 D7 0A 00 00 DF 0A 00 00 0B 0B 00 00 0C 0B 00 00 Ö◙..Ü◙..ñ◙..╓◙..╫◙..▀◙..♂♂..♀♂.. 00007A60 15 0B 00 00 4B 0B 00 00 4C 0B 00 00 58 0B 00 00 7B 0B 00 00 7C 0B 00 00 86 0B 00 00 C5 0B 00 00 §♂..K♂..L♂..X♂..{♂..|♂..å♂..┼♂.. 00007A80 C6 0B 00 00 D3 0B 00 00 1F 0C 00 00 20 0C 00 00 2B 0C 00 00 5A 0C 00 00 5B 0C 00 00 67 0C 00 00 ╞♂..╙♂..▼♀.. ♀..+♀..Z♀..[♀..g♀.. 00007AA0 96 0C 00 00 FE 00 01 90 24 7E 02 FC 00 03 90 24 12 01 FC 00 04 90 24 12 01 FA 00 01 90 24 50 01 û♀..■.☺É$~☻ⁿ.♥É$↕☺ⁿ.♦É$↕☺·.☺É$P☺ 00007AC0 FC 00 06 90 24 12 01 FC 00 06 90 24 12 01 FA 00 01 90 24 50 01 FC 00 04 90 24 12 01 F6 00 01 04 ⁿ.♠É$↕☺ⁿ.♠É$↕☺·.☺É$P☺ⁿ.♦É$↕☺÷.☺♦ 00007AE0 08 0D 01 F6 00 01 85 13 0D 01 E2 00 01 85 13 0D 01 DE 00 01 04 08 12 01 DE 00 01 85 13 12 01 E2 ◘♪☺÷.☺à‼♪☺Γ.☺à‼♪☺▐.☺♦◘↕☺▐.☺à‼↕☺Γ 00007B00 00 01 85 13 12 01 DE 00 01 04 08 12 01 DE 00 01 85 13 12 01 E2 00 01 85 13 12 01 DE 00 01 04 08 .☺à‼↕☺▐.☺♦◘↕☺▐.☺à‼↕☺Γ.☺à‼↕☺▐.☺♦◘ 00007B20 12 01 DE 00 01 85 13 12 01 E2 00 01 85 13 12 01 DE 00 01 04 08 12 01 DE 00 01 85 13 12 01 E2 00 ↕☺▐.☺à‼↕☺Γ.☺à‼↕☺▐.☺♦◘↕☺▐.☺à‼↕☺Γ. 00007B40 01 85 13 12 01 DE 00 01 04 08 12 01 DE 00 01 85 13 12 01 E2 00 01 85 13 12 01 DE 00 01 04 08 12 ☺à‼↕☺▐.☺♦◘↕☺▐.☺à‼↕☺Γ.☺à‼↕☺▐.☺♦◘↕ 00007B60 01 DE 00 01 85 13 12 01 E2 00 01 85 13 12 01 DE 00 01 04 08 12 01 DE 00 02 85 13 12 01 E2 00 02 ☺▐.☺à‼↕☺Γ.☺à‼↕☺▐.☺♦◘↕☺▐.☻à‼↕☺Γ.☻ 00007B80 85 13 12 01 DE 00 01 04 08 12 01 DE 00 02 85 13 12 01 E2 00 02 85 13 12 01 DE 00 01 04 08 12 01 à‼↕☺▐.☺♦◘↕☺▐.☻à‼↕☺Γ.☻à‼↕☺▐.☺♦◘↕☺ 00007BA0 DE 00 01 85 13 12 01 E2 00 01 85 13 12 01 DE 00 01 04 08 12 01 DE 00 01 85 13 12 01 03 0F 00 08 ▐.☺à‼↕☺Γ.☺à‼↕☺▐.☺♦◘↕☺▐.☺à‼↕☺♥☼.◘ 00007BC0 01 18 01 00 13 00 00 18 01 19 01 B8 6C 00 C0 01 00 A7 00 BB 0A 00 0A 00 0A 00 0A 00 09 00 09 00 ☺↑☺.‼..↑☺↓☺╕l.└☺.º.╗◙.◙.◙.◙.○.○. 00007BE0 BE 08 00 02 C5 02 A1 0B FE 1F 00 00 03 10 00 08 01 18 01 00 01 02 00 00 01 11 00 00 01 01 00 28 ╛◘.☻┼☻í♂■▼..♥►.◘☺↑☺.☺☻..☺◄..☺☺.( 00007C00 96 0C 00 00 97 0C 00 00 A2 0C 00 00 C6 0C 00 00 C7 0C 00 00 D3 0C 00 00 F7 0C 00 00 F8 0C 00 00 û♀..ù♀..ó♀..╞♀..╟♀..╙♀..≈♀..°♀.. 00007C20 1B 0D 00 00 AC 0D 00 00 D7 0D 00 00 A3 0F 00 00 23 11 00 00 61 12 00 00 8D 12 00 00 9E 14 00 00 ←♪..¼♪..╫♪..ú☼..#◄..a↕..ì↕..₧¶.. 00007C40 4B 17 00 00 F5 18 00 00 59 1B 00 00 7C 1B 00 00 DE 1C 00 00 A4 1E 00 00 D1 1E 00 00 EF 20 00 00 K↨..⌡↑..Y←..|←..▐∟..ñ▲..╤▲..∩ .. 00007C60 3D 22 00 00 5B 22 00 00 3A 24 00 00 F9 26 00 00 12 27 00 00 94 28 00 00 94 2B 00 00 BE 2E 00 00 ="..["..:$..∙&..↕'..ö(..ö+..╛... 00007C80 B3 2F 00 00 19 31 00 00 44 31 00 00 63 33 00 00 60 34 00 00 7B 34 00 00 CF 35 00 00 EB 35 00 00 │/..↓1..D1..c3..`4..{4..╧5..δ5.. 00007CA0 82 38 00 00 EC 00 01 85 13 12 01 E8 00 01 04 08 12 01 E8 00 01 85 13 12 01 EC 00 01 85 13 12 01 é8..∞.☺à‼↕☺Φ.☺♦◘↕☺Φ.☺à‼↕☺∞.☺à‼↕☺ 00007CC0 E8 00 01 04 08 12 01 E8 00 01 85 13 12 01 EC 00 01 85 13 12 01 E6 00 01 90 24 D8 00 E4 00 02 90 Φ.☺♦◘↕☺Φ.☺à‼↕☺∞.☺à‼↕☺µ.☺É$╪.Σ.☻É 00007CE0 24 12 01 E2 00 01 90 24 50 01 E4 00 06 90 24 12 01 E4 00 05 90 24 12 01 E4 00 04 90 24 12 01 E2 $↕☺Γ.☺É$P☺Σ.♠É$↕☺Σ.♣É$↕☺Σ.♦É$↕☺Γ 00007D00 00 01 90 24 50 01 E4 00 07 90 24 12 01 E4 00 09 90 24 12 01 E4 00 05 90 24 12 01 E4 00 08 90 24 .☺É$P☺Σ.•É$↕☺Σ.○É$↕☺Σ.♣É$↕☺Σ.◘É$ 00007D20 12 01 E2 00 01 90 24 50 01 E4 00 05 90 24 12 01 E4 00 06 90 24 12 01 E2 00 01 90 24 50 01 E4 00 ↕☺Γ.☺É$P☺Σ.♣É$↕☺Σ.♠É$↕☺Γ.☺É$P☺Σ. 00007D40 07 90 24 12 01 E4 00 04 90 24 12 01 E2 00 01 90 24 50 01 E4 00 06 90 24 12 01 E4 00 09 90 24 12 •É$↕☺Σ.♦É$↕☺Γ.☺É$P☺Σ.♠É$↕☺Σ.○É$↕ 00007D60 01 E2 00 01 90 24 50 01 E4 00 05 90 24 12 01 E4 00 09 90 24 12 01 E4 00 0A 90 24 12 01 E4 00 03 ☺Γ.☺É$P☺Σ.♣É$↕☺Σ.○É$↕☺Σ.◙É$↕☺Σ.♥ 00007D80 90 24 12 01 E4 00 05 90 24 12 01 E2 00 01 90 24 50 01 E4 00 07 90 24 12 01 E4 00 03 90 24 12 01 É$↕☺Σ.♣É$↕☺Γ.☺É$P☺Σ.•É$↕☺Σ.♥É$↕☺ 00007DA0 E2 00 01 90 24 50 01 E4 00 04 90 24 12 01 E2 00 01 90 24 50 01 E4 00 08 90 24 12 01 00 00 00 00 Γ.☺É$P☺Σ.♦É$↕☺Γ.☺É$P☺Σ.◘É$↕☺.... 00007DC0 00 00 00 00 01 02 00 00 01 11 00 00 01 12 00 00 03 0F 00 08 01 18 01 00 13 00 00 18 01 19 01 B8 ....☺☻..☺◄..☺↕..♥☼.◘☺↑☺.‼..↑☺↓☺╕ 00007DE0 6C 00 C0 01 00 A7 00 BB 0A 00 0A 00 0A 00 0A 00 09 00 09 00 BE 08 00 02 C5 02 A1 0B FE 1F 00 28 l.└☺.º.╗◙.◙.◙.◙.○.○.╛◘.☻┼☻í♂■▼.( 00007E00 82 38 00 00 93 3B 00 00 87 3D 00 00 A6 3D 00 00 A4 3F 00 00 60 42 00 00 7C 43 00 00 96 43 00 00 é8..ô;..ç=..ª=..ñ?..`B..|C..ûC.. 00007E20 E5 45 00 00 E1 4A 00 00 95 4F 00 00 B7 4F 00 00 F9 50 00 00 9D 53 00 00 AE 55 00 00 7B 56 00 00 σE..ßJ..òO..╖O..∙P..¥S..«U..{V.. 00007E40 A2 56 00 00 E3 58 00 00 9D 5A 00 00 59 5C 00 00 79 5F 00 00 7A 5F 00 00 A0 5F 00 00 6F 61 00 00 óV..πX..¥Z..Y\..y_..z_..á_..oa.. 00007E60 1B 63 00 00 55 63 00 00 65 63 00 00 7B 63 00 00 A9 63 00 00 C6 63 00 00 CE 63 00 00 D6 63 00 00 ←c..Uc..ec..{c..⌐c..╞c..╬c..╓c.. 00007E80 E8 63 00 00 00 64 00 00 11 64 00 00 12 64 00 00 8C 65 00 00 7D 67 00 00 97 69 00 00 D7 69 00 00 Φc...d..◄d..↕d..îe..}g..ùi..╫i.. 00007EA0 13 6A 00 00 23 6A 00 00 39 6A 00 00 67 6A 00 00 84 6A 00 00 FE 00 0A 90 24 12 01 FE 00 06 90 24 ‼j..#j..9j..gj..äj..■.◙É$↕☺■.♠É$ 00007EC0 12 01 FC 00 01 90 24 50 01 FE 00 06 90 24 12 01 FE 00 09 90 24 12 01 FE 00 04 90 24 12 01 FC 00 ↕☺ⁿ.☺É$P☺■.♠É$↕☺■.○É$↕☺■.♦É$↕☺ⁿ. 00007EE0 01 90 24 50 01 FE 00 07 90 24 12 01 FE 00 0F 90 24 12 01 FE 00 0E 90 24 12 01 FC 00 01 90 24 50 ☺É$P☺■.•É$↕☺■.☼É$↕☺■.♫É$↕☺ⁿ.☺É$P 00007F00 01 FE 00 04 90 24 12 01 FE 00 08 90 24 12 01 FE 00 07 90 24 12 01 FE 00 03 90 24 12 01 FC 00 01 ☺■.♦É$↕☺■.◘É$↕☺■.•É$↕☺■.♥É$↕☺ⁿ.☺ 00007F20 90 24 50 01 FE 00 07 90 24 12 01 FE 00 06 90 24 12 01 FE 00 06 90 24 12 01 FE 00 0A 90 24 12 01 É$P☺■.•É$↕☺■.♠É$↕☺■.♠É$↕☺■.◙É$↕☺ 00007F40 FE 00 01 90 24 12 01 FA 00 00 00 00 00 00 FE 00 06 90 24 12 01 FE 00 05 90 24 12 01 FC 00 01 90 ■.☺É$↕☺·......■.♠É$↕☺■.♣É$↕☺ⁿ.☺É 00007F60 24 50 01 F8 00 01 90 24 0A 01 F6 00 01 90 24 12 01 F6 00 01 90 24 12 01 F6 00 01 90 24 12 01 F6 $P☺°.☺É$◙☺÷.☺É$↕☺÷.☺É$↕☺÷.☺É$↕☺÷ 00007F80 00 01 90 24 12 01 F6 00 01 90 24 12 01 F6 00 01 90 24 12 01 F6 00 01 90 24 12 01 F6 00 01 90 24 .☺É$↕☺÷.☺É$↕☺÷.☺É$↕☺÷.☺É$↕☺÷.☺É$ 00007FA0 12 01 F6 00 01 90 24 12 01 FE 00 05 90 24 12 01 FE 00 06 90 24 12 01 FE 00 07 90 24 12 01 FE 00 ↕☺÷.☺É$↕☺■.♣É$↕☺■.♠É$↕☺■.•É$↕☺■. 00007FC0 01 90 24 12 01 FC 00 01 90 24 50 01 F8 00 01 90 24 0A 01 F6 00 01 90 24 12 01 F6 00 01 90 24 12 ☺É$↕☺ⁿ.☺É$P☺°.☺É$◙☺÷.☺É$↕☺÷.☺É$↕ 00007FE0 01 F6 00 01 90 24 12 01 00 00 00 00 01 14 00 00 01 13 00 00 01 01 00 00 01 02 00 00 01 11 00 2C ☺÷.☺É$↕☺....☺¶..☺‼..☺☺..☺☻..☺◄., 00008000 84 6A 00 00 8C 6A 00 00 94 6A 00 00 A6 6A 00 00 BE 6A 00 00 CF 6A 00 00 D0 6A 00 00 5C 6C 00 00 äj..îj..öj..ªj..╛j..╧j..╨j..\l.. 00008020 FC 6D 00 00 3C 6E 00 00 76 6E 00 00 86 6E 00 00 A3 6E 00 00 BB 6E 00 00 CC 6E 00 00 CD 6E 00 00 ⁿm..<n..vn..ån..ún..╗n..╠n..═n.. 00008040 A4 71 00 00 05 73 00 00 B2 74 00 00 F2 74 00 00 F3 74 00 00 FE 00 01 90 24 12 01 FE 00 01 90 24 ñq..♣s..▓t..≥t..≤t..■.☺É$↕☺■.☺É$ 00008060 12 01 FE 00 01 90 24 12 01 FE 00 01 90 24 12 01 FE 00 01 90 24 12 01 FE 00 01 90 24 12 01 FC 00 ↕☺■.☺É$↕☺■.☺É$↕☺■.☺É$↕☺■.☺É$↕☺ⁿ. 00008080 05 90 24 12 01 FC 00 06 90 24 12 01 FC 00 01 90 24 12 01 FA 00 01 90 24 50 01 F8 00 01 90 24 0A ♣É$↕☺ⁿ.♠É$↕☺ⁿ.☺É$↕☺·.☺É$P☺°.☺É$◙ 000080A0 01 FE 00 01 90 24 12 01 FE 00 01 90 24 12 01 FE 00 01 90 24 12 01 FE 00 01 90 24 12 01 FC 00 09 ☺■.☺É$↕☺■.☺É$↕☺■.☺É$↕☺■.☺É$↕☺ⁿ.○ 000080C0 90 24 12 01 FC 00 05 90 24 12 01 FC 00 06 90 24 12 01 FC 00 01 90 24 12 01 FC 00 01 90 24 12 01 É$↕☺ⁿ.♣É$↕☺ⁿ.♠É$↕☺ⁿ.☺É$↕☺ⁿ.☺É$↕☺ 000080E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00008100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00008120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00008140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00008160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00008180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000081A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000081C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000081E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 13 00 00 01 02 00 00 01 11 00 00 01 14 00 14 ................☺‼..☺☻..☺◄..☺¶.¶ 00008200 0E 00 15 00 08 00 01 00 4B 00 0F 00 00 00 00 00 1A 00 00 40 F1 FF 02 00 1A 00 06 4E 6F 72 6D 61 ♫.§.◘.☺.K.☼.....→..@± ☻.→.♠Norma 00008220 6C 00 02 00 00 00 03 00 61 09 04 00 34 00 01 40 01 00 12 01 34 00 09 48 65 61 64 69 6E 67 20 31 l.☻...♥.a○♦.4.☺@☺.↕☺4.○Heading 1 00008240 00 00 0F 00 01 00 05 02 08 01 15 E0 01 16 E0 01 28 19 08 00 0B 00 56 81 5D 02 00 63 30 00 6B 1C ..☼.☺.♣☻◘☺§α☺▬α☺(↓◘.♂.Vü]☻.c0.k∟ 00008260 00 00 28 00 02 40 01 00 12 01 28 00 09 48 65 61 64 69 6E 67 20 32 00 00 0A 00 02 00 08 01 15 78 ..(.☻@☺.↕☺(.○Heading 2..◙.☻.◘☺§x 00008280 00 16 F0 00 06 00 5D 02 00 63 1C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 22 00 41 40 F2 FF .▬≡.♠.]☻.c∟...............".A@≥ 000082A0 A1 00 22 00 16 44 65 66 61 75 6C 74 20 50 61 72 61 67 72 61 70 68 20 46 6F 6E 74 00 00 00 00 00 í.".▬Default Paragraph Font..... 000082C0 00 00 00 00 00 00 20 00 FE 4F 01 00 F2 00 20 00 09 54 61 62 6C 65 54 65 78 74 00 00 02 00 0F 00 ...... .■O☺.≥. .○TableText..☻.☼. 000082E0 06 00 5D 03 00 63 16 00 2A 00 FE 4F 01 00 02 01 2A 00 11 53 74 72 75 63 54 61 62 6C 65 48 65 61 ♠.]♥.c▬.*.■O☺.☻☺*.◄StrucTableHea 00008300 64 69 6E 67 00 00 02 00 10 00 08 00 55 81 5D 03 00 63 16 00 24 00 FE 4F 01 00 12 01 24 00 08 41 ding..☻.►.◘.Uü]♥.c▬.$.■O☺.↕☺$.◘A 00008320 62 4E 6F 72 6D 61 6C 00 08 00 11 00 11 D0 02 16 DC 00 06 00 5D 03 00 63 16 00 2A 00 22 40 01 00 bNormal.◘.◄.◄╨☻▬▄.♠.]♥.c▬.*."@☺. 00008340 02 00 2A 00 07 43 61 70 74 69 6F 6E 00 00 0B 00 12 00 11 D0 02 15 78 00 16 78 00 00 08 00 55 81 ☻.*.•Caption..♂.↕.◄╨☻§x.▬x..◘.Uü 00008360 5D 03 00 63 12 00 22 00 FE 4F 11 01 32 01 22 00 09 4C 69 73 74 54 69 74 6C 65 00 00 05 00 13 00 ]♥.c↕.".■O◄☺2☺".○ListTitle..♣.‼. 00008380 16 00 00 00 04 00 55 81 56 81 2C 00 FE 4F 01 00 42 01 2C 00 11 53 69 6E 67 6C 65 53 70 61 63 65 ▬...♦.UüVü,.■O☺.B☺,.◄SingleSpace 000083A0 49 6E 64 65 6E 74 00 00 05 00 14 00 11 38 04 00 06 00 5D 03 00 63 16 00 00 00 00 00 F3 71 00 00 Indent..♣.¶.◄8♦.♠.]♥.c▬.....≤q.. 000083C0 04 00 F3 74 00 00 00 00 FF FF FF FF 0C 00 04 21 FF FF 01 00 00 21 FF FF 02 00 04 20 FF FF 03 00 ♦.≤t.... ♀.♦! ☺..! ☻.♦ ♥. 000083E0 00 21 FF FF 04 00 04 20 FF FF 05 00 00 20 FF FF 06 00 04 20 FF FF 07 00 00 20 FF FF 08 00 04 20 .! ♦.♦ ♣.. ♠.♦ •.. ◘.♦ 00008400 FF FF 09 00 00 21 FF FF 0A 00 04 20 FF FF 0B 00 00 20 FF FF 0C 00 00 00 00 00 2C 07 00 00 DB 10 ○..! ◙.♦ ♂.. ♀.....,•..█► 00008420 00 00 A4 1B 00 00 35 27 00 00 CF 32 00 00 60 3F 00 00 95 4C 00 00 42 58 00 00 7B 5C 00 00 73 65 ..ñ←..5'..╧2..`?..òL..BX..{\..se 00008440 00 00 D1 6D 00 00 F3 71 00 00 00 00 99 01 00 00 01 00 C3 00 00 00 02 00 4B 02 00 00 03 00 5F 01 ..╤m..≤q....Ö☺..☺.├...☻.K☻..♥._☺ 00008460 00 00 04 00 1C 00 00 00 05 00 1C 01 00 00 06 00 22 00 00 00 07 00 17 01 00 00 08 00 25 00 00 00 ..♦.∟...♣.∟☺..♠."...•.↨☺..◘.%... 00008480 09 00 24 01 00 00 0A 00 D3 00 00 00 0B 00 00 00 00 00 00 00 00 00 17 00 00 00 D0 00 00 00 0F 02 ○.$☺..◙.╙...♂.........↨...╨...☼☻ 000084A0 00 00 31 02 00 00 19 04 00 00 D4 05 00 00 EC 05 00 00 2C 07 00 00 3A 07 00 00 60 07 00 00 9A 07 ..1☻..↓♦..╘♣..∞♣..,•..:•..`•..Ü• 000084C0 00 00 D7 07 00 00 0C 08 00 00 4C 08 00 00 7C 08 00 00 C6 08 00 00 20 09 00 00 5B 09 00 00 97 09 ..╫•..♀◘..L◘..|◘..╞◘.. ○..[○..ù○ 000084E0 00 00 C7 09 00 00 F8 09 00 00 1B 0A 00 00 AC 0A 00 00 D7 0A 00 00 A3 0C 00 00 23 0E 00 00 61 0F ..╟○..°○..←◙..¼◙..╫◙..ú♀..#♫..a☼ 00008500 00 00 8D 0F 00 00 9E 11 00 00 4B 14 00 00 F5 15 00 00 59 18 00 00 7C 18 00 00 DE 19 00 00 A4 1B ..ì☼..₧◄..K¶..⌡§..Y↑..|↑..▐↓..ñ← 00008520 00 00 D1 1B 00 00 EF 1D 00 00 3D 1F 00 00 5B 1F 00 00 3A 21 00 00 F9 23 00 00 12 24 00 00 94 25 ..╤←..∩↔..=▼..[▼..:!..∙#..↕$..ö% 00008540 00 00 94 28 00 00 BE 2B 00 00 B3 2C 00 00 19 2E 00 00 44 2E 00 00 63 30 00 00 60 31 00 00 7B 31 ..ö(..╛+..│,..↓...D...c0..`1..{1 00008560 00 00 CF 32 00 00 EB 32 00 00 82 35 00 00 93 38 00 00 87 3A 00 00 A6 3A 00 00 A4 3C 00 00 60 3F ..╧2..δ2..é5..ô8..ç:..ª:..ñ<..`? 00008580 00 00 7C 40 00 00 96 40 00 00 E5 42 00 00 E1 47 00 00 95 4C 00 00 B7 4C 00 00 F9 4D 00 00 9D 50 ..|@..û@..σB..ßG..òL..╖L..∙M..¥P 000085A0 00 00 AE 52 00 00 7B 53 00 00 A2 53 00 00 E3 55 00 00 9D 57 00 00 59 59 00 00 F3 71 00 00 06 00 ..«R..{S..óS..πU..¥W..YY..≤q..♠. 000085C0 01 00 9E 00 40 00 9E 00 40 00 16 00 02 00 9E 00 40 00 9E 00 40 00 16 00 02 00 9E 00 40 00 9F 00 ☺.₧.@.₧.@.▬.☻.₧.@.₧.@.▬.☻.₧.@.ƒ. 000085E0 27 00 9F 00 24 00 9F 00 24 00 9F 00 24 00 9F 00 24 00 9F 00 24 00 9F 00 24 00 9F 00 24 00 9F 00 '.ƒ.$.ƒ.$.ƒ.$.ƒ.$.ƒ.$.ƒ.$.ƒ.$.ƒ. 00008600 24 00 9F 00 24 00 9F 00 24 00 9F 00 24 00 9F 00 24 00 9E 00 4E 00 9E 00 40 00 16 00 02 00 9E 00 $.ƒ.$.ƒ.$.ƒ.$.ƒ.$.₧.N.₧.@.▬.☻.₧. 00008620 40 00 9E 00 40 00 9E 00 40 00 16 00 02 00 9E 00 40 00 9E 00 40 00 9E 00 40 00 9E 00 40 00 16 00 @.₧.@.₧.@.▬.☻.₧.@.₧.@.₧.@.₧.@.▬. 00008640 02 00 9E 00 40 00 9E 00 40 00 16 00 02 00 9E 00 40 00 9E 00 40 00 16 00 02 00 9E 00 40 00 9E 00 ☻.₧.@.₧.@.▬.☻.₧.@.₧.@.▬.☻.₧.@.₧. 00008660 40 00 16 00 02 00 9E 00 40 00 9E 00 40 00 9E 00 40 00 9E 00 40 00 9E 00 40 00 16 00 02 00 9E 00 @.▬.☻.₧.@.₧.@.₧.@.₧.@.₧.@.▬.☻.₧. 00008680 40 00 9E 00 40 00 16 00 02 00 9E 00 40 00 16 00 02 00 9E 00 40 00 9E 00 40 00 9E 00 40 00 16 00 @.₧.@.▬.☻.₧.@.▬.☻.₧.@.₧.@.₧.@.▬. 000086A0 02 00 9E 00 40 00 9E 00 40 00 9E 00 40 00 16 00 02 00 9E 00 40 00 9E 00 40 00 9E 00 40 00 16 00 ☻.₧.@.₧.@.₧.@.▬.☻.₧.@.₧.@.₧.@.▬. 000086C0 02 00 9E 00 40 00 9E 00 40 00 9E 00 40 00 9E 00 40 00 16 00 02 00 9E 00 40 00 9E 00 40 00 9E 00 ☻.₧.@.₧.@.₧.@.₧.@.▬.☻.₧.@.₧.@.₧. 000086E0 40 00 06 00 00 00 00 03 00 00 0D 75 00 00 3B 00 00 03 00 00 96 0C 00 00 82 38 00 00 84 6A 00 00 @.♠....♥..♪u..;..♥..û♀..é8..äj.. 00008700 F3 74 00 00 3C 00 3D 00 3E 00 3F 00 FE 09 00 00 17 0A 00 00 19 0A 00 00 F3 71 00 00 13 0C 14 FF ≤t..<.=.>.?.■○..↨◙..↓◙..≤q..‼♀¶ 00008720 95 80 24 02 0D 5F 54 6F 63 33 34 38 38 38 30 35 35 39 0D 5F 54 6F 63 33 35 35 38 39 31 31 37 34 òÇ$☻♪_Toc348880559♪_Toc355891174 00008740 0D 5F 54 6F 63 33 37 30 37 32 30 32 35 39 0D 5F 54 6F 63 33 35 35 38 39 31 31 37 35 0D 5F 54 6F ♪_Toc370720259♪_Toc355891175♪_To 00008760 63 33 37 30 37 32 30 32 36 30 0D 5F 54 6F 63 33 35 35 38 39 31 31 37 36 0D 5F 54 6F 63 33 37 30 c370720260♪_Toc355891176♪_Toc370 00008780 37 32 30 32 36 31 0D 5F 54 6F 63 33 35 35 38 39 31 31 37 37 0D 5F 54 6F 63 33 37 30 37 32 30 32 720261♪_Toc355891177♪_Toc3707202 000087A0 36 32 0D 5F 54 6F 63 33 35 35 38 39 31 31 37 38 0D 5F 54 6F 63 33 37 30 37 32 30 32 36 33 0D 5F 62♪_Toc355891178♪_Toc370720263♪_ 000087C0 54 6F 63 33 37 30 37 32 30 32 36 34 0D 5F 54 6F 63 33 37 30 37 32 30 32 36 35 0D 5F 54 6F 63 33 Toc370720264♪_Toc370720265♪_Toc3 000087E0 35 35 38 39 31 31 37 39 0D 5F 54 6F 63 33 37 30 37 32 30 32 36 36 0D 5F 54 6F 63 33 35 35 38 39 55891179♪_Toc370720266♪_Toc35589 00008800 31 31 38 30 0D 5F 54 6F 63 33 37 30 37 32 30 32 36 37 0D 5F 54 6F 63 33 35 35 38 39 31 31 38 31 1180♪_Toc370720267♪_Toc355891181 00008820 0D 5F 54 6F 63 33 37 30 37 32 30 32 36 38 0D 5F 54 6F 63 33 35 35 38 39 31 31 38 32 0D 5F 54 6F ♪_Toc370720268♪_Toc355891182♪_To 00008840 63 33 37 30 37 32 30 32 36 39 0D 5F 54 6F 63 33 35 35 38 39 31 31 38 33 0D 5F 54 6F 63 33 37 30 c370720269♪_Toc355891183♪_Toc370 00008860 37 32 30 32 37 30 0D 5F 54 6F 63 33 35 35 38 39 31 31 38 34 0D 5F 54 6F 63 33 37 30 37 32 30 32 720270♪_Toc355891184♪_Toc3707202 00008880 37 31 0D 5F 54 6F 63 33 35 35 38 39 31 31 38 35 0D 5F 54 6F 63 33 37 30 37 32 30 32 37 32 0D 5F 71♪_Toc355891185♪_Toc370720272♪_ 000088A0 54 6F 63 33 34 38 38 38 30 35 36 30 0D 5F 54 6F 63 33 35 35 38 39 31 31 38 36 0D 5F 54 6F 63 33 Toc348880560♪_Toc355891186♪_Toc3 000088C0 37 30 37 32 30 32 37 33 0D 5F 54 6F 63 33 34 38 39 30 31 37 35 30 0D 5F 54 6F 63 33 35 35 38 39 70720273♪_Toc348901750♪_Toc35589 000088E0 31 32 31 39 0D 5F 54 6F 63 33 37 31 33 39 31 30 38 34 0D 5F 54 6F 63 33 34 38 39 30 31 37 35 31 1219♪_Toc371391084♪_Toc348901751 00008900 0D 5F 54 6F 63 33 35 35 38 39 31 32 32 30 0D 5F 54 6F 63 33 37 31 33 39 31 30 38 35 0D 5F 54 6F ♪_Toc355891220♪_Toc371391085♪_To 00008920 63 33 34 38 39 30 31 37 35 32 0D 5F 54 6F 63 33 35 35 38 39 31 32 32 31 0D 5F 54 6F 63 33 37 31 c348901752♪_Toc355891221♪_Toc371 00008940 33 39 31 30 38 36 17 00 00 00 0F 02 00 00 0F 02 00 00 D4 05 00 00 D4 05 00 00 AC 0A 00 00 AC 0A 391086↨...☼☻..☼☻..╘♣..╘♣..¼◙..¼◙ 00008960 00 00 61 0F 00 00 61 0F 00 00 59 18 00 00 59 18 00 00 A4 1B 00 00 3D 1F 00 00 F9 23 00 00 F9 23 ..a☼..a☼..Y↑..Y↑..ñ←..=▼..∙#..∙# 00008980 00 00 19 2E 00 00 19 2E 00 00 60 31 00 00 60 31 00 00 CF 32 00 00 CF 32 00 00 87 3A 00 00 87 3A ..↓...↓...`1..`1..╧2..╧2..ç:..ç: 000089A0 00 00 7C 40 00 00 7C 40 00 00 95 4C 00 00 95 4C 00 00 7B 53 00 00 7B 53 00 00 7B 53 00 00 1B 60 ..|@..|@..òL..òL..{S..{S..{S..←` 000089C0 00 00 1B 60 00 00 1B 60 00 00 D7 66 00 00 D7 66 00 00 D7 66 00 00 FC 6A 00 00 FC 6A 00 00 3C 6B ..←`..←`..╫f..╫f..╫f..ⁿj..ⁿj..<k 000089E0 00 00 F5 71 00 00 08 00 00 00 00 00 00 00 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 ..⌡q..◘.......☺...☻...♥...♦...♣. 00008A00 00 00 06 00 00 00 07 00 00 00 0B 00 00 00 09 00 00 00 0A 00 00 00 0C 00 00 00 0D 00 00 00 0E 00 ..♠...•...♂...○...◙...♀...♪...♫. 00008A20 00 00 0F 00 00 00 10 00 00 00 11 00 00 00 12 00 00 00 13 00 00 00 14 00 00 00 15 00 00 00 16 00 ..☼...►...◄...↕...‼...¶...§...▬. 00008A40 00 00 17 00 00 00 18 00 00 00 19 00 00 00 1A 00 00 00 1B 00 00 00 1C 00 00 00 1D 00 00 00 1E 00 ..↨...↑...↓...→...←...∟...↔...▲. 00008A60 00 00 1F 00 00 00 20 00 00 00 21 00 00 00 22 00 00 00 23 00 00 00 24 00 00 00 25 00 00 00 26 00 ..▼... ...!..."...#...$...%...&. 00008A80 00 00 30 02 00 00 30 02 00 00 EB 05 00 00 EB 05 00 00 D6 0A 00 00 D6 0A 00 00 8C 0F 00 00 8C 0F ..0☻..0☻..δ♣..δ♣..╓◙..╓◙..î☼..î☼ 00008AA0 00 00 59 18 00 00 7B 18 00 00 D0 1B 00 00 5A 1F 00 00 5A 1F 00 00 11 24 00 00 11 24 00 00 43 2E ..Y↑..{↑..╨←..Z▼..Z▼..◄$..◄$..C. 00008AC0 00 00 43 2E 00 00 7A 31 00 00 7A 31 00 00 EA 32 00 00 EA 32 00 00 A5 3A 00 00 A5 3A 00 00 95 40 ..C...z1..z1..Ω2..Ω2..Ñ:..Ñ:..ò@ 00008AE0 00 00 95 40 00 00 B6 4C 00 00 B6 4C 00 00 A1 53 00 00 A1 53 00 00 A1 53 00 00 54 60 00 00 54 60 ..ò@..╢L..╢L..íS..íS..íS..T`..T` 00008B00 00 00 54 60 00 00 12 67 00 00 12 67 00 00 12 67 00 00 75 6B 00 00 75 6B 00 00 75 6B 00 00 F5 71 ..T`..↕g..↕g..↕g..uk..uk..uk..⌡q 00008B20 00 00 00 00 00 00 46 05 00 00 4E 05 00 00 FE 09 00 00 1A 0A 00 00 1D 19 00 00 29 19 00 00 7F 1D ......F♣..N♣..■○..→◙..↔↓..)↓..⌂↔ 00008B40 00 00 85 1D 00 00 7A 25 00 00 89 25 00 00 1E 27 00 00 28 27 00 00 A5 29 00 00 B6 29 00 00 65 2A ..à↔..z%..ë%..▲'..('..Ñ)..╢)..e* 00008B60 00 00 75 2A 00 00 39 2B 00 00 46 2B 00 00 0A 2D 00 00 1C 2D 00 00 39 33 00 00 47 33 00 00 B3 34 ..u*..9+..F+..◙-..∟-..93..G3..│4 00008B80 00 00 BC 34 00 00 9F 36 00 00 B1 36 00 00 B6 36 00 00 C9 36 00 00 02 39 00 00 0E 39 00 00 13 39 ..╝4..ƒ6..▒6..╢6..╔6..☻9..♫9..‼9 00008BA0 00 00 1D 39 00 00 1B 3A 00 00 27 3A 00 00 26 46 00 00 2E 46 00 00 A0 46 00 00 AC 46 00 00 B1 46 ..↔9..←:..':..&F...F..áF..¼F..▒F 00008BC0 00 00 BB 46 00 00 9A 47 00 00 A5 47 00 00 05 4B 00 00 0D 4B 00 00 DE 4B 00 00 EA 4B 00 00 5F 4C ..╗F..ÜG..ÑG..♣K..♪K..▐K..ΩK.._L 00008BE0 00 00 67 4C 00 00 6C 4C 00 00 76 4C 00 00 55 4D 00 00 65 4D 00 00 D9 54 00 00 E1 54 00 00 BA 60 ..gL..lL..vL..UM..eM..┘T..ßT..║` 00008C00 00 00 C0 60 00 00 D6 60 00 00 DC 60 00 00 DD 60 00 00 E6 60 00 00 D7 64 00 00 E4 64 00 00 78 67 ..└`..╓`..▄`..▌`..µ`..╫d..Σd..xg 00008C20 00 00 7E 67 00 00 94 67 00 00 9A 67 00 00 9B 67 00 00 A4 67 00 00 8F 6B 00 00 98 6B 00 00 EB 6C ..~g..ög..Üg..¢g..ñg..Åk..ÿk..δl 00008C40 00 00 F7 6C 00 00 C1 6E 00 00 C8 6E 00 00 33 70 00 00 3E 70 00 00 F5 71 00 00 07 00 1C 00 07 00 ..≈l..┴n..╚n..3p..>p..⌡q..•.∟.•. 00008C60 07 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 •.•.∟.•.∟.•.∟.•.∟.•.∟.•.∟.•.∟.•. 00008C80 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 ∟.•.∟.•.∟.•.∟.•.∟.•.∟.•.∟.•.∟.•. 00008CA0 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 ∟.•.∟.•.∟.•.∟.•.∟.•.∟.•.∟.•.∟.•. 00008CC0 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 ∟.•.∟.•.∟.•.∟.•.∟.•.∟.•.∟.•.∟.•. 00008CE0 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 1C 00 07 00 3F 00 09 52 6F 62 20 42 61 68 61 6D ∟.•.∟.•.∟.•.∟.•.∟.•.?.○Rob Baham 00008D00 32 5C 5C 53 45 52 56 45 52 5C 41 44 4D 49 4E 5C 64 6F 63 73 5C 4D 47 4C 5C 55 73 69 6E 67 20 74 2\\SERVER\ADMIN\docs\MGL\Using t 00008D20 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 2E 64 6F 63 FF 40 48 50 20 4C 61 73 65 72 4A 65 74 he SuperVGA Kit.doc @HP LaserJet 00008D40 20 34 4D 20 50 6C 75 73 00 5C 5C 48 50 5F 4E 65 74 77 6F 72 6B 5F 50 72 69 6E 74 65 72 73 5C 48 4M Plus.\\HP_Network_Printers\H 00008D60 50 4C 41 53 45 52 34 4D 00 48 50 50 43 4C 35 4D 53 00 48 50 20 4C 61 73 65 72 4A 65 74 20 34 4D PLASER4M.HPPCL5MS.HP LaserJet 4M 00008D80 20 50 6C 75 73 00 48 50 20 4C 61 73 65 72 4A 65 74 20 34 4D 20 50 6C 75 73 00 00 00 00 00 00 00 Plus.HP LaserJet 4M Plus....... 00008DA0 00 00 00 00 00 00 00 04 01 04 94 00 40 00 03 67 00 06 01 00 01 00 00 00 00 00 00 00 01 00 09 01 .......♦☺♦ö.@.♥g.♠☺.☺.......☺.○☺ 00008DC0 58 02 01 00 01 00 58 02 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 X☻☺.☺.X☻♦....................... 00008DE0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00008E00 00 00 00 00 00 00 00 00 00 00 06 01 00 00 02 00 00 00 00 00 00 00 00 00 00 00 01 00 40 00 4D 53 ..........♠☺..☻...........☺.@.MS 00008E20 55 44 4E 03 48 50 20 4C 61 73 65 72 4A 65 74 20 34 4D 20 50 6C 75 73 00 00 00 00 00 00 00 00 00 UDN♥HP LaserJet 4M Plus......... 00008E40 00 00 00 00 E4 01 00 00 00 00 00 00 3B 01 00 00 00 00 04 00 64 00 0A 00 00 00 48 50 20 4C 61 73 ....Σ☺......;☺....♦.d.◙...HP Las 00008E60 65 72 4A 65 74 20 34 4D 20 50 6C 75 73 00 00 00 00 00 00 00 00 00 00 00 00 00 00 04 01 04 94 00 erJet 4M Plus..............♦☺♦ö. 00008E80 40 00 03 67 00 06 01 00 01 00 00 00 00 00 00 00 01 00 09 01 58 02 01 00 01 00 58 02 04 00 00 00 @.♥g.♠☺.☺.......☺.○☺X☻☺.☺.X☻♦... 00008EA0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00008EC0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 01 ..............................♠☺ 00008EE0 00 00 02 00 00 00 00 00 00 00 00 00 00 00 01 00 40 00 4D 53 55 44 4E 03 48 50 20 4C 61 73 65 72 ..☻...........☺.@.MSUDN♥HP Laser 00008F00 4A 65 74 20 34 4D 20 50 6C 75 73 00 00 00 00 00 00 00 00 00 00 00 00 00 E4 01 00 00 00 00 00 00 Jet 4M Plus.............Σ☺...... 00008F20 3B 01 00 00 00 00 04 00 64 00 0A 00 00 00 03 80 01 00 00 00 00 00 00 00 00 00 07 00 01 00 7D 01 ;☺....♦.d.◙...♥Ç☺.........•.☺.}☺ 00008F40 00 00 00 00 00 00 00 00 00 00 00 00 44 00 15 16 90 01 00 00 54 69 6D 65 73 20 4E 65 77 20 52 6F ............D.§▬É☺..Times New Ro 00008F60 6D 61 6E 00 0C 16 90 01 02 00 53 79 6D 62 6F 6C 00 0B 26 90 01 00 00 41 72 69 61 6C 00 12 16 90 man.♀▬É☺☻.Symbol.♂&É☺..Arial.↕▬É 00008F80 01 00 00 42 6F 6F 6B 20 41 6E 74 69 71 75 61 00 22 00 04 00 31 08 80 18 00 00 D0 02 00 00 68 01 ☺..Book Antiqua.".♦.1◘Ç↑..╨☻..h☺ 00008FA0 00 00 00 00 8A FA 0A 86 E5 33 0B 66 00 00 00 00 04 00 02 00 00 00 7B 10 00 00 F5 5D 00 00 0C 00 ....è·◙åσ3♂f....♦.☻...{►..⌡]..♀. 00008FC0 30 00 00 00 04 00 83 10 C8 00 00 00 00 00 00 00 00 00 00 00 0C 00 01 00 00 00 01 00 00 00 00 00 0...♦.â►╚...........♀.☺...☺..... 00008FE0 00 00 21 03 00 00 00 00 3C 00 00 00 16 55 73 69 6E 67 20 74 68 65 20 53 75 70 65 72 56 47 41 20 ..!♥....<...▬Using the SuperVGA 00009000 4B 69 74 00 00 00 09 52 6F 62 20 42 61 68 61 6D 09 52 6F 62 20 42 61 68 61 6D 00 00 00 00 00 00 Kit...○Rob Baham○Rob Baham...... 00009020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000090A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000090C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000090E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000091A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000091C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 000091E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009200 01 00 00 00 02 00 00 00 03 00 00 00 04 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00 08 00 00 00 ☺...☻...♥...♦...♣...♠...•...◘... 00009220 09 00 00 00 0A 00 00 00 0B 00 00 00 0C 00 00 00 0D 00 00 00 0E 00 00 00 0F 00 00 00 10 00 00 00 ○...◙...♂...♀...♪...♫...☼...►... 00009240 11 00 00 00 12 00 00 00 13 00 00 00 14 00 00 00 15 00 00 00 16 00 00 00 17 00 00 00 18 00 00 00 ◄...↕...‼...¶...§...▬...↨...↑... 00009260 19 00 00 00 1A 00 00 00 1B 00 00 00 1C 00 00 00 1D 00 00 00 1E 00 00 00 1F 00 00 00 20 00 00 00 ↓...→...←...∟...↔...▲...▼... ... 00009280 21 00 00 00 22 00 00 00 23 00 00 00 24 00 00 00 25 00 00 00 26 00 00 00 27 00 00 00 28 00 00 00 !..."...#...$...%...&...'...(... 000092A0 29 00 00 00 2A 00 00 00 2B 00 00 00 2C 00 00 00 2D 00 00 00 2E 00 00 00 2F 00 00 00 30 00 00 00 )...*...+...,...-......./...0... 000092C0 31 00 00 00 32 00 00 00 33 00 00 00 34 00 00 00 35 00 00 00 36 00 00 00 37 00 00 00 38 00 00 00 1...2...3...4...5...6...7...8... 000092E0 39 00 00 00 3A 00 00 00 3B 00 00 00 3C 00 00 00 3D 00 00 00 3E 00 00 00 3F 00 00 00 40 00 00 00 9...:...;...<...=...>...?...@... 00009300 41 00 00 00 42 00 00 00 43 00 00 00 44 00 00 00 45 00 00 00 46 00 00 00 47 00 00 00 FE FF FF FF A...B...C...D...E...F...G...■ 00009320 FD FF FF FF 4C 00 00 00 FE FF FF FF 54 00 00 00 FE FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ² L...■ T...■ 00009340 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FE FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF ■ 00009360 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00009380 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000093A0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000093C0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000093E0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00009400 52 00 6F 00 6F 00 74 00 20 00 45 00 6E 00 74 00 72 00 79 00 00 00 00 00 3C 0F 00 00 22 01 00 00 R.o.o.t. .E.n.t.r.y.....<☼.."☺.. 00009420 D4 05 00 00 EC 05 00 00 07 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF 00 C0 00 00 00 60 01 00 ╘♣..∞♣..•....... .. .└...`☺. 00009440 16 00 05 01 FF FF FF FF FF FF FF FF 01 00 00 00 00 09 02 00 00 00 00 00 C0 00 00 00 00 00 00 46 ▬.♣☺ ☺....○☻.....└......F 00009460 00 00 00 00 00 E3 47 48 20 C8 BB 01 00 C7 2F 76 3B CC BB 01 4B 00 00 00 80 03 00 00 2C 07 00 00 .....πGH ╚╗☺.╟/v;╠╗☺K...Ç♥..,•.. 00009480 57 00 6F 00 72 00 64 00 44 00 6F 00 63 00 75 00 6D 00 65 00 6E 00 74 00 00 00 FF FF 00 00 00 00 W.o.r.d.D.o.c.u.m.e.n.t... .... 000094A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 D0 02 90 24 00 00 00 00 00 00 00 00 ....................╨☻É$........ 000094C0 1A 00 02 01 02 00 00 00 03 00 00 00 FF FF FF FF 2C 07 00 00 3A 07 00 00 07 00 00 00 00 00 00 00 →.☻☺☻...♥... ,•..:•..•....... 000094E0 FF FF 00 00 FF FF FF FF 04 C0 00 00 00 60 01 00 FF FF FF FF 00 00 00 00 24 8E 00 00 00 00 00 00 .. ♦└...`☺. ....$Ä...... 00009500 01 00 43 00 6F 00 6D 00 70 00 4F 00 62 00 6A 00 00 00 00 00 00 00 00 00 58 02 00 00 BC 13 00 00 ☺.C.o.m.p.O.b.j.........X☻..╝‼.. 00009520 3C 0F 00 00 78 00 00 00 3A 07 00 00 60 07 00 00 07 00 00 00 00 00 00 00 FF FF 00 00 FF FF FF FF <☼..x...:•..`•..•....... .. 00009540 12 00 02 01 FF FF FF FF FF FF FF FF FF FF FF FF 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ↕.☻☺ ................ 00009560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6A 00 00 00 78 00 00 00 ........................j...x... 00009580 05 00 53 00 75 00 6D 00 6D 00 61 00 72 00 79 00 49 00 6E 00 66 00 6F 00 72 00 6D 00 61 00 74 00 ♣.S.u.m.m.a.r.y.I.n.f.o.r.m.a.t. 000095A0 69 00 6F 00 6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 D0 02 90 24 i.o.n.......................╨☻É$ 000095C0 28 00 02 01 FF FF FF FF 04 00 00 00 FF FF FF FF 3C 0F 00 00 78 00 00 00 9A 07 00 00 D7 07 00 00 (.☻☺ ♦... <☼..x...Ü•..╫•.. 000095E0 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 D4 01 00 00 00 00 00 00 •...................☻...╘☺...... 00009600 01 00 00 00 FE FF FF FF 03 00 00 00 04 00 00 00 05 00 00 00 06 00 00 00 07 00 00 00 08 00 00 00 ☺...■ ♥...♦...♣...♠...•...◘... 00009620 09 00 00 00 FE FF FF FF 0B 00 00 00 0C 00 00 00 0D 00 00 00 FE FF FF FF FF FF FF FF FF FF FF FF ○...■ ♂...♀...♪...■ 00009640 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00009660 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00009680 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000096A0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000096C0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000096E0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00009700 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00009720 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00009740 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00009760 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00009780 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000097A0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000097C0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 000097E0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 00009800 01 00 FE FF 03 0A 00 00 FF FF FF FF 00 09 02 00 00 00 00 00 C0 00 00 00 00 00 00 46 18 00 00 00 ☺.■ ♥◙.. .○☻.....└......F↑... 00009820 4D 69 63 72 6F 73 6F 66 74 20 57 6F 72 64 20 44 6F 63 75 6D 65 6E 74 00 0A 00 00 00 4D 53 57 6F Microsoft Word Document.◙...MSWo 00009840 72 64 44 6F 63 00 10 00 00 00 57 6F 72 64 2E 44 6F 63 75 6D 65 6E 74 2E 36 00 F4 39 B2 71 00 00 rdDoc.►...Word.Document.6.⌠9▓q.. 00009860 00 00 00 00 00 00 00 00 00 00 D0 CF 11 E0 A1 B1 1A E1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ..........╨╧◄αí▒→ß.............. 00009880 FE FF 00 00 04 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 E0 85 9F F2 ■ ..♦.☻.................☺...αàƒ≥ 000098A0 F9 4F 68 10 AB 91 08 00 2B 27 B3 D9 30 00 00 00 A4 01 00 00 12 00 00 00 01 00 00 00 98 00 00 00 ∙Oh►½æ◘.+'│┘0...ñ☺..↕...☺...ÿ... 000098C0 02 00 00 00 A0 00 00 00 03 00 00 00 C0 00 00 00 04 00 00 00 CC 00 00 00 05 00 00 00 E0 00 00 00 ☻...á...♥...└...♦...╠...♣...α... 000098E0 06 00 00 00 EC 00 00 00 07 00 00 00 F8 00 00 00 08 00 00 00 0C 01 00 00 09 00 00 00 20 01 00 00 ♠...∞...•...°...◘...♀☺..○... ☺.. 00009900 12 00 00 00 2C 01 00 00 0A 00 00 00 54 01 00 00 0B 00 00 00 60 01 00 00 0C 00 00 00 6C 01 00 00 ↕...,☺..◙...T☺..♂...`☺..♀...l☺.. 00009920 0D 00 00 00 78 01 00 00 0E 00 00 00 84 01 00 00 0F 00 00 00 8C 01 00 00 10 00 00 00 94 01 00 00 ♪...x☺..♫...ä☺..☼...î☺..►...ö☺.. 00009940 13 00 00 00 9C 01 00 00 02 00 00 00 E4 04 00 00 1E 00 00 00 17 00 00 00 55 73 69 6E 67 20 74 68 ‼...£☺..☻...Σ♦..▲...↨...Using th 00009960 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 00 00 1E 00 00 00 01 00 00 00 00 BE 4B 00 1E 00 00 00 e SuperVGA Kit..▲...☺....╛K.▲... 00009980 0A 00 00 00 52 6F 62 20 42 61 68 61 6D 00 4A 00 1E 00 00 00 01 00 00 00 00 65 63 68 1E 00 00 00 ◙...Rob Baham.J.▲...☺....ech▲... 000099A0 01 00 00 00 00 00 61 72 1E 00 00 00 0B 00 00 00 4E 6F 72 6D 61 6C 2E 64 6F 74 00 00 1E 00 00 00 ☺.....ar▲...♂...Normal.dot..▲... 000099C0 0A 00 00 00 52 6F 62 20 42 61 68 61 6D 00 44 00 1E 00 00 00 02 00 00 00 34 00 80 18 1E 00 00 00 ◙...Rob Baham.D.▲...☻...4.Ç↑▲... 000099E0 1E 00 00 00 4D 69 63 72 6F 73 6F 66 74 20 57 6F 72 64 20 66 6F 72 20 57 69 6E 64 6F 77 73 20 39 ▲...Microsoft Word for Windows 9 00009A00 05 00 44 00 6F 00 63 00 75 00 6D 00 65 00 6E 00 74 00 53 00 75 00 6D 00 6D 00 61 00 72 00 79 00 ♣.D.o.c.u.m.e.n.t.S.u.m.m.a.r.y. 00009A20 49 00 6E 00 66 00 6F 00 72 00 6D 00 61 00 74 00 69 00 6F 00 6E 00 00 00 8F 01 00 00 90 01 00 00 I.n.f.o.r.m.a.t.i.o.n...Å☺..É☺.. 00009A40 38 00 02 00 FF FF FF FF FF FF FF FF FF FF FF FF 95 01 00 00 96 01 00 00 97 01 00 00 98 01 00 00 8.☻. ò☺..û☺..ù☺..ÿ☺.. 00009A60 99 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0A 00 00 00 E8 00 00 00 A0 01 00 00 Ö☺..................◙...Φ...á☺.. 00009A80 5F 00 39 00 30 00 36 00 34 00 36 00 32 00 38 00 38 00 34 00 00 00 00 00 A7 01 00 00 A8 01 00 00 _.9.0.6.4.6.2.8.8.4.....º☺..¿☺.. 00009AA0 A9 01 00 00 AA 01 00 00 AB 01 00 00 AC 01 00 00 AD 01 00 00 AE 01 00 00 AF 01 00 00 B0 01 00 00 ⌐☺..¬☺..½☺..¼☺..¡☺..«☺..»☺..░☺.. 00009AC0 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF 00 17 02 00 00 00 00 00 C0 00 00 00 00 00 00 46 .... .↨☻.....└......F 00009AE0 00 00 00 00 20 DC F4 8E 37 CC BB 01 00 0F 1E 8F 37 CC BB 01 BE 01 00 00 BF 01 00 00 C0 01 00 00 .... ▄⌠Ä7╠╗☺.☼▲Å7╠╗☺╛☺..┐☺..└☺.. 00009B00 5F 00 39 00 30 00 36 00 34 00 36 00 32 00 38 00 38 00 33 00 00 00 00 00 C7 01 00 00 C8 01 00 00 _.9.0.6.4.6.2.8.8.3.....╟☺..╚☺.. 00009B20 C9 01 00 00 CA 01 00 00 CB 01 00 00 CC 01 00 00 CD 01 00 00 CE 01 00 00 CF 01 00 00 D0 01 00 00 ╔☺..╩☺..╦☺..╠☺..═☺..╬☺..╧☺..╨☺.. 00009B40 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF 00 17 02 00 00 00 00 00 C0 00 00 00 00 00 00 46 .... .↨☻.....└......F 00009B60 00 00 00 00 00 0F 1E 8F 37 CC BB 01 E0 D7 2E 8F 37 CC BB 01 DE 01 00 00 DF 01 00 00 E0 01 00 00 .....☼▲Å7╠╗☺α╫.Å7╠╗☺▐☺..▀☺..α☺.. 00009B80 5F 00 39 00 30 00 36 00 34 00 36 00 32 00 38 00 38 00 32 00 00 00 00 00 E7 01 00 00 E8 01 00 00 _.9.0.6.4.6.2.8.8.2.....τ☺..Φ☺.. 00009BA0 E9 01 00 00 EA 01 00 00 EB 01 00 00 EC 01 00 00 ED 01 00 00 EE 01 00 00 EF 01 00 00 F0 01 00 00 Θ☺..Ω☺..δ☺..∞☺..φ☺..ε☺..∩☺..≡☺.. 00009BC0 00 00 00 00 FF FF FF FF FF FF FF FF FF FF FF FF 00 17 02 00 00 00 00 00 C0 00 00 00 00 00 00 46 .... .↨☻.....└......F 00009BE0 00 00 00 00 E0 D7 2E 8F 37 CC BB 01 E0 D7 2E 8F 37 CC BB 01 FE 01 00 00 FF 01 00 00 00 02 00 00 ....α╫.Å7╠╗☺α╫.Å7╠╗☺■☺.. ☺...☻.. 00009C00 FE FF 00 00 04 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 D5 CD D5 ■ ..♦.☻.................☺...☻╒═╒ 00009C20 9C 2E 1B 10 93 97 08 00 2B 2C F9 AE 30 00 00 00 B8 00 00 00 08 00 00 00 01 00 00 00 48 00 00 00 £.←►ôù◘.+,∙«0...╕...◘...☺...H... 00009C40 0F 00 00 00 50 00 00 00 04 00 00 00 60 00 00 00 05 00 00 00 68 00 00 00 06 00 00 00 70 00 00 00 ☼...P...♦...`...♣...h...♠...p... 00009C60 0B 00 00 00 78 00 00 00 10 00 00 00 80 00 00 00 0C 00 00 00 88 00 00 00 02 00 00 00 E4 04 00 00 ♂...x...►...Ç...♀...ê...☻...Σ♦.. 00009C80 1E 00 00 00 08 00 00 00 53 63 69 54 65 63 68 00 03 00 00 00 00 AC 00 00 03 00 00 00 C8 00 00 00 ▲...◘...SciTech.♥....¼..♥...╚... 00009CA0 03 00 00 00 30 00 00 00 0B 00 00 00 00 00 00 00 0B 00 00 00 00 00 00 00 0C 10 00 00 02 00 00 00 ♥...0...♂.......♂.......♀►..☻... 00009CC0 1E 00 00 00 17 00 00 00 55 73 69 6E 67 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 00 03 ▲...↨...Using the SuperVGA Kit.♥ 00009CE0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009D00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009D20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009D40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009D60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009D80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009DA0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009DC0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009DE0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009E00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009E20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009E40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009E60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009E80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009EA0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009EC0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009EE0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009F00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009F20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009F40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009F60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009F80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009FA0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009FC0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 00009FE0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A0A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A0C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A0E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A1A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A1C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A1E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A2A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A2C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A2E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A3A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A3C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A3E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A4A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A4C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A4E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A5A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A5C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A5E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A6A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A6C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A6E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A7A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A7C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A7E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A8A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A8C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A8E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A9A0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A9C0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000A9E0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................ 0000AA00 35 00 45 00 40 00 00 00 00 8C 86 47 00 00 00 00 40 00 00 00 00 00 00 00 00 00 00 00 40 00 00 00 5.E.@....îåG....@...........@... 0000AA20 00 8C EC BA 56 C7 BB 01 40 00 00 00 00 76 D5 67 3B CC BB 01 03 00 00 00 0C 00 00 00 03 00 00 00 .î∞║V╟╗☺@....v╒g;╠╗☺♥...♀...♥... 0000AA40 7B 10 00 00 03 00 00 00 F5 5D 00 00 03 00 00 00 00 00 00 00 D0 CF 11 E0 A1 B1 1A E1 00 00 00 00 {►..♥...⌡]..♥.......╨╧◄αí▒→ß.... 0000AA60 00 00 00 00 00 00 00 00 00 00 00 00 3E 00 03 00 FE FF 09 00 06 00 00 00 00 00 00 00 00 00 00 00 ............>.♥.■ ○.♠........... 0000AA80 FE FF 00 00 04 00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 02 D5 CD D5 ■ ..♦.☻.................☺...☻╒═╒ 0000AAA0 9C 2E 1B 10 93 97 08 00 2B 2C F9 AE 30 00 00 00 B8 00 00 00 08 00 00 00 01 00 00 00 48 00 00 00 £.←►ôù◘.+,∙«0...╕...◘...☺...H... 0000AAC0 0F 00 00 00 50 00 00 00 04 00 00 00 60 00 00 00 05 00 00 00 68 00 00 00 06 00 00 00 70 00 00 00 ☼...P...♦...`...♣...h...♠...p... 0000AAE0 0B 00 00 00 78 00 00 00 10 00 00 00 80 00 00 00 0C 00 00 00 88 00 00 00 02 00 00 00 E4 04 00 00 ♂...x...►...Ç...♀...ê...☻...Σ♦.. 0000AB00 1E 00 00 00 08 00 00 00 53 63 69 54 65 63 68 00 03 00 00 00 00 AC 00 00 03 00 00 00 C8 00 00 00 ▲...◘...SciTech.♥....¼..♥...╚... 0000AB20 03 00 00 00 30 00 00 00 0B 00 00 00 00 00 00 00 0B 00 00 00 00 00 00 00 0C 10 00 00 02 00 00 00 ♥...0...♂.......♂.......♀►..☻... 0000AB40 1E 00 00 00 17 00 00 00 55 73 69 6E 67 20 74 68 65 20 53 75 70 65 72 56 47 41 20 4B 69 74 00 03 ▲...↨...Using the SuperVGA Kit.♥ 0000AB60 00 00 00 00 00 00 00 00 D0 CF 11 E0 A1 B1 1A E1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ........╨╧◄αí▒→ß................ 0000AB80 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0000ABA0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0000ABC0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 0000ABE0 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF