diff options
author | Vas Crabb <vas@vastheman.com> | 2016-02-08 13:24:12 +1100 |
---|---|---|
committer | Vas Crabb <vas@vastheman.com> | 2016-02-08 13:49:44 +1100 |
commit | f489eeaaef76676b848b5958912191011a387a38 (patch) | |
tree | 129554ba91b53820701bf06de6ae199f5e64f9c9 | |
parent | 503ae769d1bd7867bfdfb0535ecf1da547810cee (diff) |
catnmous: fix sprite banking
-rw-r--r-- | src/mame/audio/laserbat.cpp | 10 | ||||
-rw-r--r-- | src/mame/drivers/laserbat.cpp | 4 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/mame/audio/laserbat.cpp b/src/mame/audio/laserbat.cpp index 5e8ee062b45..b16c4d73388 100644 --- a/src/mame/audio/laserbat.cpp +++ b/src/mame/audio/laserbat.cpp @@ -282,7 +282,7 @@ WRITE8_MEMBER(laserbat_state::csound2_w) | 6 | SOUND 5 | PIA CA1 | | 7 | | | | 8 | | | - | 9 | | | + | 9 | | 14L A11 | | 10 | | | | 11 | | | | 12 | | | @@ -292,6 +292,10 @@ WRITE8_MEMBER(laserbat_state::csound2_w) | 16 | RESET | Unknown | +-----+----------+-------------+ + Bit 9 is used to select the sprite ROM bank. There's a wire visible + on the component side of the PCB connecting it to the high address + bit (A11) of the sprite ROM at 14L. + There could well be other connections on the sound board - these are just what can be deduced by tracing the sound program. @@ -308,8 +312,12 @@ WRITE8_MEMBER(catnmous_state::csound1_w) WRITE8_MEMBER(catnmous_state::csound2_w) { + // the bottom bit is used for sprite banking, of all things + m_gfx2 = memregion("gfx2")->base() + ((data & 0x01) ? 0x0800 : 0x0000); + // the top bit is called RESET on the wiring diagram - assume it resets the sound CPU m_audiocpu->set_input_line(INPUT_LINE_RESET, (data & 0x80) ? ASSERT_LINE : CLEAR_LINE); + m_csound2 = data; } diff --git a/src/mame/drivers/laserbat.cpp b/src/mame/drivers/laserbat.cpp index c9617fb8de5..38f7d3cbb39 100644 --- a/src/mame/drivers/laserbat.cpp +++ b/src/mame/drivers/laserbat.cpp @@ -62,6 +62,9 @@ * Service coin 1 input grants two credits the first time it's pushed, but remembers this and won't grant credits again unless unless you trigger the tilt input + * The sprite ROM is twice the size as Laser Battle with the bank + selected using bit 9 of the 16-bit sound interface (there's a wire + making this connection visible on the component side of the PCB) * Judging by the PLA program, the colour weight resistors are likely different to what Laser Battle/Lazarian uses - we need a detailed colour photo of the game board or a schematic to confirm values @@ -71,7 +74,6 @@ TODO: - work out where all the magic layer offsets come from - - catnmous sprite ROM appears to be underdumped - need to confirm colour weight resistors on catnmous (detailed photo required): R58, R59, R60, R61, R62, R65, R66, R67, R68, R69, R72, R73, R74, R75 (network connected between 11M, 12M, Q5, Q7, Q8) |