March 12, 2010
- drivers/viper.c is back to working order.
- Some changes to idectrl.c broke CF card soft reset -> made sure the sector and cylinder regs are set to expected values on soft reset.
- Fleshed out MPC8240 emulation.
- MPC8240 EPIC now successfully processes IRQ0 requests.
- viper.c doesn't like the auto-endian-conversion of the device system...
- Viper wants Voodoo3 to have 16Mbit SGRAMs... Changed dramInit0 to comply.
- Voodoo3 hits an unemulated function, User Interrupt Command. IRQ4 handler seems to expect this.
July 31, 2008
Unfinished business
One of the things I worked on about half a year ago, was a driver for Konami Cobra system.
Cobra is a very complex system, comprising of 3 boards with a PowerPC CPU on each one. The first board with PPC603, can be considered as the "main" board as it runs the main game program. The second board has a PPC403, and does all the I/O handling, hard disk access and sound. The last board is a graphics board, with a PPC604 running a series of custom graphics chips (possibly designed by IBM...)
Cobra doesn't seem to have 2D graphics capabilities at all, so getting something on screen wasn't exactly easy ;-) The screenshot below shows some hex numbers that are a debugging feature built in to Cobra software. Each number represents the "debug state" of the software running on each of the three boards. The numbers themselves are rendered as textured quads, and the whole process is done entirely on the graphics board. This of course required the emulation of the graphics board FIFOs, command buffers and texture uploading... ;-)