summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author R. Belmont <rb6502@users.noreply.github.com>2012-11-17 22:22:25 +0000
committer R. Belmont <rb6502@users.noreply.github.com>2012-11-17 22:22:25 +0000
commita6eea509cce3690762ba6b378a7939c27b9988ef (patch)
tree35fce0ba9c81cf3f6d1a21e453f795e52fd780c8
parentb67409028fcf89d6fd060af0c5fe6d04b138be83 (diff)
Adding info on the gfx h/w so it doesn't get lost (nw)
-rw-r--r--src/mame/drivers/firebeat.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/mame/drivers/firebeat.c b/src/mame/drivers/firebeat.c
index 1b17ab64677..f17dece379b 100644
--- a/src/mame/drivers/firebeat.c
+++ b/src/mame/drivers/firebeat.c
@@ -106,7 +106,27 @@
The display list objects seem to be there, but the address is wrong (0x14c400, instead of the correct address)
- The external Yamaha MIDI sound board is not emulated (no keyboard sounds).
-*/
+
+
+ - Notes on how the video is supposed to work from Ville / Ian Patterson:
+
+ There are four "display contexts" that are set up via registers 20-4E. They are
+ basically just raw framebuffers. 40-4E sets the base framebuffer pointer, 30-3E
+ sets the size, 20-2E may set the minimum x and y coordinates but I haven't seen
+ them set to something other than 0 yet. One context is set as the one the RAMDAC
+ outputs to the monitor (not sure how this is selected yet, probably the lower
+ bits of register 12). Thestartup test in the popn BIOS checks all of VRAM, so
+ it moves the currentdisplay address around so you don't see crazy colors, which
+ is very helpful in figuring out how this part works.
+
+ The other new part is that there are two VRAM write ports, managed by registers
+ 60+68+70 and 64+6A+74, with status read from the lower bits of reg 7A. Each context
+ can either write to VRAM as currently emulated, or the port can be switched in to
+ "immediate mode" via registers 68/6A. Immedate mode can be used to run GCU commands
+ at any point during the frame. It's mainly used to call display lists, which is where
+ the display list addresses come from. Some games use it to send other commands, so
+ it appears to be a 4-dword FIFO or something along those lines.
+*/
#include "emu.h"
#include "cpu/m68000/m68000.h"