Rendition BIOS info:
[EDIT] to detect board
Int 10h AX=0x158D (Detect if Rendition BIOS is present)
On exit CX and DX contain entry point BIOS address and BIOS segment (CX depends on BIOS and DX is 0xC000)
Int 1A AX=0xB101 Query PCI version.
See here:
https://www.delorie.com/djgpp/doc/rbinter/id/81/23.html
(For vQuake and so far only for vQuake, EDI needs to return a 32 bit address to call to run Int 1A queries from protected mode.)
Int 1Ah AX=0xb101, CX=0x01, DX=0x1163 (Query PCI device by ID)
(CX=1 for V1000 and CX=2000 for V2000, DX is the PCI manufacturer ID 0x1163).
return bus num in BH and dev num in BL. The call is described here:https://www.delorie.com/djgpp/doc/rbinter/id/82/23.html
Int 1Ah AX=0xb108, CX=((BusNum<<8)|devNum), DI = <reg num> (Query PCI device by ID)
Read PCI device register (These are not GPU registers, but PCI interface controls like interrupts.) The PCI register list can be found in the v2200 spec(http://vogonsdrivers.com/getfile.php?fileid=324&menustate=0) on page [EDIT]39[/EDIT].
The int call is described here:https://www.delorie.com/djgpp/doc/rbinter/id/85/23.html
Int 10h AX=0x1582, All regs 0
Called to possibly stop the currently running microcode program [EDIT[(RISCReset)[/EDIT]
Between these calls the microcode has to be copied over to VRAM,.
Int 10h AX=0x1583, CX=<board relative address of firmware> all other regs 0
runs the microcode at GPU address stored in register CX. (Usually 0x1000).
[EDIT] After this and before running actual handing out commands:
Int 10h AX=0x1584 (all regs 0)
Int 10h AX=0x1587, BX =0x10 (all others 0) (Possibly run subroutine at program start(0x1000 + register BX)
Int 10h AX=0x1580 (all regs 0)
Issue commands
To shutdown do an Int 10 h setmode mode 3 (text).
Developer of RReady - Rendition Verité Wrapper.
https://www.youtube.com/@sharangadayananda