Testing module for ATI graphics stuff
Marcel Sondaar
Educational Purposes
| test_ati.bas | Testing module for ATI graphics stuff |
| VREGS | Registers common to all Verite-based boards |
| Constants | |
| VERITE_MEMENDIAN | This register controls the byteswapping performed when writing to the linear framebuffer. |
| VERITE_GPUCTL | This register controls the state of the RISC processor It holds several bitflags: 01h - reset chip 02h - hold risc 04h - single step 08h - divide by 2 disable 10h - VGA reset 20h - assert XReset output to ext devices |
| VERITE_MODE | This register allows one to select between CRTC modes. |
| VERITE_CRTCCTL | CRTC Control register. |
| VERITE_CRTCH | Horizontal timing register |
| VERITE_CRTCV | Vertical timing register |
| Functions | |
| TestVerite | runs the test suite for the Verite graphics card |
Registers common to all Verite-based boards
| Constants | |
| VERITE_MEMENDIAN | This register controls the byteswapping performed when writing to the linear framebuffer. |
| VERITE_GPUCTL | This register controls the state of the RISC processor It holds several bitflags: 01h - reset chip 02h - hold risc 04h - single step 08h - divide by 2 disable 10h - VGA reset 20h - assert XReset output to ext devices |
| VERITE_MODE | This register allows one to select between CRTC modes. |
| VERITE_CRTCCTL | CRTC Control register. |
| VERITE_CRTCH | Horizontal timing register |
| VERITE_CRTCV | Vertical timing register |
| Functions | |
| TestVerite | runs the test suite for the Verite graphics card |
This register controls the byteswapping performed when writing to the linear framebuffer.
| 0 | no byteswapping |
| 1 | 32-bit byteswapping |
| 2 | 16-bit byteswapping |
| 3 | swap halfwords |
This register controls the state of the RISC processor It holds several bitflags: 01h - reset chip 02h - hold risc 04h - single step 08h - divide by 2 disable 10h - VGA reset 20h - assert XReset output to ext devices
This register allows one to select between CRTC modes. One can choose between VGA, VESA and Native mode by encoding the proper bits
| 01h | Decode 0xA0000. |
| 02h | Operate in VGA Mode. This will enable A0000-BFFFF indepent of bit 1 |
| 04h | 32-bit VGA |
CRTC Control register. 32-bits in size, contains several flags and pixel formats
| 0000000F | color format |
| 00000010 | CRTCCTL_VIDEOFIFOSIZE128 |
| 00000020 | CRTCCTL_ENABLEDDC |
| 00000040 | CRTCCTL_DDCOUTPUT |
| 00000080 | CRTCCTL_DDCDATA |
| 00000100 | CRTCCTL_VSYNCHI |
| 00000200 | CRTCCTL_HSYNCHI |
| 00000400 | CRTCCTL_VSYNCENABLE |
| 00000800 | CRTCCTL_HSYNCENABLE |
| 00001000 | CRTCCTL_VIDEOENABLE |
| 00002000 | CRTCCTL_STEREOSCOPIC |
| 00004000 | CRTCCTL_FRAMEDISPLAYED |
| 00008000 | CRTCCTL_FRAMEBUFFERBGR |
| 00010000 | CRTCCTL_EVENFRAME |
| 00020000 | CRTCCTL_LINEDOUBLE |
| 00040000 | CRTCCTL_FRAMESWITCHED |
| 4 | 16 bpp (R5-G6-B5) |
| 5 | 16 bpp (R4-G4-B4-X4) |
| 12 | 32 bpp (R8-G8-B8-X8) |
Sub TestVerite( board_model As Long, board_version As Long, lfb As Long, portbase As Long )
runs the test suite for the Verite graphics card
| board_model | the board type. 1 for a V1k, 2 for a V2k |
| board_version | the board rating. 1 for a V2100, 2 for a V2200, 0 if unknown |
| lfb | address of the framebuffer in memory |
| portbase | the base I/O port for the Verite registers |
runs the test suite for the Verite graphics card
Sub TestVerite( board_model As Long, board_version As Long, lfb As Long, portbase As Long )