home *** CD-ROM | disk | FTP | other *** search
/ Collection of Hack-Phreak Scene Programs / cleanhpvac.zip / cleanhpvac / VGADOC4B.ZIP / PCJR.TXT < prev    next >
Text File  |  1995-09-29  |  5KB  |  141 lines

  1. IBM PC Jr graphics system:
  2.  
  3.  
  4.  
  5. 3D4h (W): Index register.
  6.           The value written to this register selects which of the data
  7.           registers will be accessed at 3D5h.
  8.  
  9. 3D4h index 00h (W): Horizontal Total Register
  10. Bit 0-7  Number of characters (-1) in a scan line incl. retrace.
  11.  
  12. 3D4h index 01h (W): Horizontal Displayed Register
  13. Bit 0-7  Number of characters (-1) displayed during a scan line.
  14.  
  15. 3D4h index 02h (W): Horizontal Sync Position Register
  16. Bit 0-7  Number of characters displayed before Horizontal Sync pulse starts.
  17.  
  18. 3D4h index 03h (W): Horizontal Sync Width Register
  19. Bit 0-7  Number of character clocks during a Horizontal Sync pulse.
  20.  
  21. 3D4h index 04h (W): Vertical Total Register
  22. Bit 0-6  Number of character rows in a frame. This is adjusted by the number
  23.          of scanlines in a character (index 9) and the Vertical Adjust (index
  24.          5).
  25.  
  26. 3D4h index 05h (W): Vertical Total Adjust Register
  27. Bit 0-3  Number of scanlines added to the Vertical Total time.
  28.  
  29. 3D4h index 06h (W): Vertical Displayed Register
  30. Bit 0-6  Number of character rows displayed per frame.
  31.  
  32. 3D4h index 07h (W): Vertical SyncPosition Register
  33. Bit 0-6  Number of character rows displayed before the Vertical Sync pulse
  34.          starts.
  35.  
  36. 3D4h index 08h (W): Interlace Mode Register
  37.  
  38. 3D4h index 09h (W): Maximum Scan Line Register
  39. Bit 0-3  Number of scanlines (-1) in a character row.
  40.  
  41. 3D4h index 0Ah (W): Cursor Start Register
  42. Bit 0-4  The scanline (starting from 0) within the character where the
  43.          cursor starts.
  44.     5-6  Cursor Attributes:
  45.            0,2: Cursor is blinking at the blink rate.
  46.              1: Cursor is turned off.
  47.              3: Cursor is blinking at half the blink rate.
  48.          The default blink rate is 1/16 of the frame rate (8 frames on, 8
  49.          off).
  50.  
  51. 3D4h index 0Bh (W): Cursor End Register
  52. Bit 0-4  The scanline (starting from 0) within the character where the
  53.          cursor ends. If the start position (index 0Ah) is larger than this
  54.          value, no cursor is shown.
  55.  
  56. 3D4h index 0Ch (W): Start Address High Register
  57. Bit 0-5  The upper 6 bits of the address of the start of the display.
  58.          The lower 8 bits are in index 0Dh.
  59.  
  60. 3D4h index 0Dh (W): Start Address Low Register
  61. Bit 0-7  The lower 8 bits of the address of the start of the display.
  62.          The upper 6 bits are in index 0Ch.
  63.  
  64. 3D4h index 0Eh (W): Cursor Location High Register
  65. Bit 0-5  The upper 6 bits of the address of the start of the cursor.
  66.          The lower 8 bits are in index 0Fh.
  67.  
  68. 3D4h index 0Fh (W): Cursor Location Low Register
  69. Bit 0-7  The lower 8 bits of the address of the start of the cursor.
  70.          The upper 6 bits are in index 0Eh.
  71.  
  72. 3DAh (R):
  73. bit   0  Display Active.
  74.       1  Light Pen Trigger.
  75.       2  Light Pen Switch.
  76.       3  Vertical Retrace active if set
  77.       4  Video Dots.
  78.  
  79. 3DAh (W):  VGA registers
  80. The indexed VGA (Video Gate Array) registers are accessed by reading 3DAh,
  81. then writing the index to 3DAh and finally writing the data to 3DAh
  82.  
  83. 3DAh index 00h (W):  Mode Control 1 Register
  84. bit   0  ?
  85.       1  ?
  86.       2  ?
  87.       3  ?
  88.       4  ?
  89.  
  90. 3DAh index 01h (W):  Palette Mask Register
  91. bit 0-3  Palette mask. Guess: 1 in 2color modes, 3 in 4 color modes and 15
  92.          in 16color & text modes ?  (ANDed with the pixel?)
  93.  
  94. 3DAh index 02h (W):  Border Color Register
  95. bit 0-3  Border color in IRGB format (bit0 is Blue)
  96.  
  97. 3DAh index 03h (W):  Mode Control 2 Register
  98. bit   1  Enable Blink if set, disable if clear
  99.       3  Set in 640x200 2color mode, clear in all other modes
  100.  
  101. 3DAh index 04h (W):  Reset Register
  102. bit   0  ?
  103.       1  ?
  104.  
  105. 3DAh index 10h-1Fh (W):  Palette Array Entry 0-15
  106. bit 0-3  Palette entry in IRGB format. Bit 0 is blue and bit 3 is intensity.
  107.          The text & 16color modes use all 16 entries, the 4 color modes use
  108.          entries 0-3 and the 2 color modes only use entries 0-1.
  109.  
  110. 3DFh (R/W):
  111. bit 0-2  Identifies the page of main memory being displayed in units of 16K.
  112.           0: 0K, 1: 16K...7: 112K. In 32K modes (bits 6-7 = 2) only 0,2,4 and
  113.             6 are valid, as the next page will also be used.
  114.     3-5  Identifies the page of main memory that can be read/written at B8000h
  115.          in units of 16K. 0: 0K, 1: 16K...7: 112K. In 32K modes (bits 6-7 = 2)
  116.          only 0,2,4 and 6 are valid, as the next page will also be used.
  117.     6-7  Display mode. 0: Text, 1: 16K graphics mode (4,5,6,8)
  118.           2: 32K graphics mode (9,Ah)
  119.  
  120. Video modes (set via INT 10h with AX=mode#):
  121.  
  122.  00h  T   40   25  mono
  123.  01h  T   40   25  color
  124.  02h  T   80   25  mono
  125.  03h  T   80   25  color
  126.  04h  G  320  200  4 color
  127.  05h  G  320  200  4 mono
  128.  06h  G  640  200  2 color
  129.  08h  G  160  200 16 color
  130.  09h  G  320  200 16 color
  131.  0Ah  G  640  200  4 color
  132.  
  133. The text modes are similar to MDA/Hercules/CGA/EGA/VGA text modes.
  134.  
  135. The graphics modes resemble CGA modes. The pixels are packed 2/4/8 in each
  136. byte with the lowest pixel in the highest bits. The display memory is split 2
  137. or 4 ways, with modes 5-8 having even scanlines in the first 8K and odd lines
  138. in the next 8K, and modes 9,0Ah split into 4 banks based on the two lowest
  139. bits of the scanline number (Scanline 0,4,8.. are in the first 8K, line 1,5,9
  140. .. in the 2nd 8K, line 2,6,10 in the 3rd and line 3,7,11 in the last 8K bank).
  141.