diff options
Diffstat (limited to 'src/mame/konami/k007121.cpp')
| -rw-r--r-- | src/mame/konami/k007121.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/src/mame/konami/k007121.cpp b/src/mame/konami/k007121.cpp index 62c9189d6cb..2fedcf01abb 100644 --- a/src/mame/konami/k007121.cpp +++ b/src/mame/konami/k007121.cpp @@ -53,8 +53,10 @@ outputs: - color code to be output on screen (COA0-COA6) -control registers +control registers: + 000: scroll x (low 8 bits) + 001: -------x scroll x (high bit, if tilemap width > 256) ------x- enable row/colscroll instead of normal scroll (combatsc) -----x-- if above is enabled: 0 = rowscroll, 1 = colscroll @@ -62,7 +64,9 @@ control registers school where tilemap #2 is overlayed on front and doesn't scroll. The 32 lines of the front layer can be individually turned on or off using the second 32 bytes of scroll RAM. + 002: scroll y + 003: -------x bit 13 of the tile code ------x- unknown (contra) -----x-- might be sprite / tilemap priority (0 = sprites have priority) @@ -84,10 +88,12 @@ control registers visible area from 256 to 240 pixels. This is used by combatsc on the scrolling stages, and by labyrunr on the title screen. x------- unknown (contra) + 004: ----xxxx bits 9-12 of the tile code. Only the bits enabled by the following mask are actually used, and replace the ones selected by register 005. xxxx---- mask enabling the above bits + 005: selects where in the attribute byte to pick bits 9-12 of the tile code, output to pins R12-R15. The bit of the attribute byte to use is the specified bit (0-3) + 3, that is one of bits 3-6. Bit 7 is hardcoded as @@ -97,6 +103,7 @@ control registers ----xx-- attribute bit to use for tile code bit 10 --xx---- attribute bit to use for tile code bit 11 xx------ attribute bit to use for tile code bit 12 + 006: ----xxxx select additional effect for bits 3-6 of the tile attribute (the same ones indexed by register 005). Note that an attribute bit can therefore be used at the same time to be BOTH a tile code bit @@ -113,6 +120,7 @@ control registers to place soldiers behind the stand. Use in labyrunr has not been investigated yet. --xx---- palette bank (both tiles and sprites, see contra) + 007: -------x nmi enable ------x- irq enable -----x-- firq enable @@ -140,7 +148,7 @@ BTANB: #include "tilemap.h" -DEFINE_DEVICE_TYPE(K007121, k007121_device, "k007121", "Konami 007121 Sprite/Tilemap Controller") +DEFINE_DEVICE_TYPE(K007121, k007121_device, "k007121", "Konami 007121 Video Controller") k007121_device::k007121_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : device_t(mconfig, K007121, tag, owner, clock) @@ -438,7 +446,7 @@ TIMER_CALLBACK_MEMBER(k007121_device::scanline) if (scanline == 240) { // FIRQ once every other frame - if (BIT(m_ctrlram[7], 1) && screen().frame_number() & 1) + if (BIT(m_ctrlram[7], 2) && screen().frame_number() & 1) m_firq_cb(ASSERT_LINE); if (BIT(m_ctrlram[7], 1)) |
