Metropoli BBS
VIEWER: svgakit.doc MODE: BINARY (HEX)
==============================================================================================================================================
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 KitThis 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   componentsThe 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).FilePurposeSVGA.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.HSuperVGA 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 fileVESAVB
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.HHeader 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 moduleVBEAF.HH
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 moduleSVGA.LIBStatic 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  onventionsSVGAMGL.LIBSuperVGA
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 LibrarySSVG
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.LIBWatcom 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  ionsSSVGAMGL.LIBWatcom 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.LIB16 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 librarySVGA6
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.LIB32 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 librarySVGA62.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  L16 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 DLLSVGA62F.DLL32 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 DLLTable  
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 librariesIn 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 KitTo 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 libraryIf 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 LibraryIn 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 KitBefor
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 modeBefore 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  odeIf 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 paletteIn 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   bufferingIn 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   textThe 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 accessOne 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 accessIt 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  sThe 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 RegistersCards 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 Mach64Diamo
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 XGAIIT AGXMatrox 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 cardsMany 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 DACCards 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 Mach64Diamond
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 XGAIIT AGXMatrox 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 128Mo
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 cardsAnother 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 RegistersCards 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  10Number Nine Imagine 128Some 
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 cardsOne 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.uD....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.".O2".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  UDNHP 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  ..............@.MSUDNHP 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  ....è·åσ3f........{..]...
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 BahamRob 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.9q..
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@....vg;.........
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                                  
[ RETURN TO DIRECTORY ]