mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
notes (nw)
This commit is contained in:
parent
8167704ef0
commit
565b835ee1
@ -60,13 +60,18 @@ M82 - board made for Major Title, Z80 has a rom, no MCU
|
||||
M84 - 2 PCB stack
|
||||
functionally same as M82 but without the extra sprite hw??
|
||||
|
||||
M84-A-A (bottom board)
|
||||
M84-A-A (bottom board) (most games)
|
||||
supports
|
||||
4 program roms
|
||||
8 tile roms
|
||||
1 snd prg, 1 voice rom
|
||||
CPUs and some customs etc.
|
||||
|
||||
M84-D-B (bottom board) (found on lightning swords / kengo)
|
||||
redesigned version of above but
|
||||
for V35 CPU? (seems to lack the UPD71059C interrupt
|
||||
controller which isn't needed when with the V35)
|
||||
|
||||
M84-C-A (top board) (listed as for Hammering Harry)
|
||||
4 sprite roms (in a row)
|
||||
6 larger chips with detail removed
|
||||
@ -91,6 +96,7 @@ M84 - 2 PCB stack
|
||||
|
||||
M85 - Pound for Pound uses this, possibly just M84 with
|
||||
a modified sound section?
|
||||
- not Jamma, trackball input only
|
||||
|
||||
|
||||
Year Board Protected?
|
||||
@ -882,7 +888,7 @@ READ16_MEMBER(m72_state::poundfor_trackball_r)
|
||||
}
|
||||
|
||||
|
||||
#define CPU1_MEMORY(NAME,ROMSIZE,WORKRAM) \
|
||||
#define M72_CPU1_MEMORY(NAME,ROMSIZE,WORKRAM) \
|
||||
static ADDRESS_MAP_START( NAME##_map, AS_PROGRAM, 16 , m72_state ) \
|
||||
AM_RANGE(0x00000, ROMSIZE-1) AM_ROM \
|
||||
AM_RANGE(WORKRAM, WORKRAM+0x3fff) AM_RAM /* work RAM */ \
|
||||
@ -896,50 +902,55 @@ static ADDRESS_MAP_START( NAME##_map, AS_PROGRAM, 16 , m72_state ) \
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
/* ROMSIZE WORKRAM */
|
||||
CPU1_MEMORY( m72, 0x80000, 0xa0000 )
|
||||
CPU1_MEMORY( rtype, 0x40000, 0x40000 )
|
||||
CPU1_MEMORY( xmultiplm72, 0x80000, 0x80000 )
|
||||
CPU1_MEMORY( dbreedm72, 0x80000, 0x90000 )
|
||||
/* ROMSIZE WORKRAM */
|
||||
M72_CPU1_MEMORY( m72, 0x80000, 0xa0000 )
|
||||
M72_CPU1_MEMORY( rtype, 0x40000, 0x40000 )
|
||||
M72_CPU1_MEMORY( xmultiplm72, 0x80000, 0x80000 )
|
||||
M72_CPU1_MEMORY( dbreedm72, 0x80000, 0x90000 )
|
||||
|
||||
static ADDRESS_MAP_START( xmultipl_map, AS_PROGRAM, 16, m72_state )
|
||||
AM_RANGE(0x00000, 0x7ffff) AM_ROM
|
||||
AM_RANGE(0x9c000, 0x9ffff) AM_RAM /* work RAM */
|
||||
AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITEONLY /* leftover from protection?? */
|
||||
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE(palette1_r, palette1_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(palette2_r, palette2_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE(videoram1_w) AM_SHARE("videoram1")
|
||||
AM_RANGE(0xd8000, 0xdbfff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
|
||||
AM_RANGE(0xffff0, 0xfffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( dbreed_map, AS_PROGRAM, 16, m72_state )
|
||||
AM_RANGE(0x00000, 0x7ffff) AM_ROM
|
||||
AM_RANGE(0x88000, 0x8bfff) AM_RAM /* work RAM */
|
||||
AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITEONLY /* leftover from protection?? */
|
||||
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE(palette1_r, palette1_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(palette2_r, palette2_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE(videoram1_w) AM_SHARE("videoram1")
|
||||
AM_RANGE(0xd8000, 0xdbfff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
|
||||
AM_RANGE(0xffff0, 0xfffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
#define M81_CPU1_MEMORY(NAME,WORKRAM) \
|
||||
static ADDRESS_MAP_START( NAME##_map, AS_PROGRAM, 16 , m72_state ) \
|
||||
AM_RANGE(0x00000, 0x7ffff) AM_ROM \
|
||||
AM_RANGE(WORKRAM, WORKRAM+0x3fff) AM_RAM /* work RAM */ \
|
||||
AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITEONLY /* leftover from protection?? */ \
|
||||
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_SHARE("spriteram") \
|
||||
AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE(palette1_r, palette1_w) AM_SHARE("paletteram") \
|
||||
AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(palette2_r, palette2_w) AM_SHARE("paletteram2") \
|
||||
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE(videoram1_w) AM_SHARE("videoram1") \
|
||||
AM_RANGE(0xd8000, 0xdbfff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2") \
|
||||
AM_RANGE(0xffff0, 0xfffff) AM_ROM \
|
||||
ADDRESS_MAP_END \
|
||||
|
||||
static ADDRESS_MAP_START( rtype2_map, AS_PROGRAM, 16, m72_state )
|
||||
AM_RANGE(0x00000, 0x7ffff) AM_ROM
|
||||
AM_RANGE(0xb0000, 0xb0001) AM_WRITE(irq_line_w)
|
||||
AM_RANGE(0xbc000, 0xbc001) AM_WRITE(dmaon_w)
|
||||
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE(palette1_r, palette1_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE(videoram1_w) AM_SHARE("videoram1")
|
||||
AM_RANGE(0xd4000, 0xd7fff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
|
||||
AM_RANGE(0xd8000, 0xd8bff) AM_READWRITE(palette2_r, palette2_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0xe0000, 0xe3fff) AM_RAM /* work RAM */
|
||||
AM_RANGE(0xffff0, 0xfffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
/* WORKRAM */
|
||||
M81_CPU1_MEMORY( xmultipl, 0x9c000 )
|
||||
M81_CPU1_MEMORY( dbreed, 0x88000 )
|
||||
M81_CPU1_MEMORY( hharry, 0xa0000 )
|
||||
|
||||
static ADDRESS_MAP_START( majtitle_map, AS_PROGRAM, 16, m72_state )
|
||||
|
||||
#define M84_CPU1_MEMORY(NAME,VIDEORAM,PALETTERAM1,PALETTERAM2) \
|
||||
static ADDRESS_MAP_START( NAME##_map, AS_PROGRAM, 16 , m72_state ) \
|
||||
AM_RANGE(0x00000, 0x7ffff) AM_ROM \
|
||||
AM_RANGE(0xb0000, 0xb0001) AM_WRITE(irq_line_w) \
|
||||
AM_RANGE(0xb4000, 0xb4001) AM_WRITENOP /* ??? */ \
|
||||
AM_RANGE(0xbc000, 0xbc001) AM_WRITE(dmaon_w) \
|
||||
AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITEONLY /* leftover from protection?? */ \
|
||||
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_SHARE("spriteram") \
|
||||
AM_RANGE(VIDEORAM+0x0000, VIDEORAM+0x3fff) AM_RAM_WRITE(videoram1_w) AM_SHARE("videoram1") \
|
||||
AM_RANGE(VIDEORAM+0x4000, VIDEORAM+0x7fff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2") \
|
||||
AM_RANGE(PALETTERAM1, PALETTERAM1+0xbff) AM_READWRITE(palette1_r, palette1_w) AM_SHARE("paletteram") \
|
||||
AM_RANGE(PALETTERAM2, PALETTERAM2+0xbff) AM_READWRITE(palette2_r, palette2_w) AM_SHARE("paletteram2") \
|
||||
AM_RANGE(0xe0000, 0xe3fff) AM_RAM /* work RAM */ \
|
||||
AM_RANGE(0xffff0, 0xfffff) AM_ROM \
|
||||
ADDRESS_MAP_END \
|
||||
|
||||
M84_CPU1_MEMORY( rtype2, 0xd0000, 0xc8000, 0xd8000 )
|
||||
M84_CPU1_MEMORY( hharryu, 0xd0000, 0xa0000, 0xa8000 )
|
||||
M84_CPU1_MEMORY( kengo, 0x80000, 0xa0000, 0xa8000 )
|
||||
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( m82_map, AS_PROGRAM, 16, m72_state )
|
||||
AM_RANGE(0x00000, 0x7ffff) AM_ROM
|
||||
AM_RANGE(0xa0000, 0xa03ff) AM_RAM AM_SHARE("majtitle_rowscr")
|
||||
AM_RANGE(0xa4000, 0xa4bff) AM_READWRITE(palette2_r, palette2_w) AM_SHARE("paletteram2")
|
||||
@ -955,46 +966,8 @@ static ADDRESS_MAP_START( majtitle_map, AS_PROGRAM, 16, m72_state )
|
||||
AM_RANGE(0xffff0, 0xfffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( hharry_map, AS_PROGRAM, 16, m72_state )
|
||||
AM_RANGE(0x00000, 0x7ffff) AM_ROM
|
||||
AM_RANGE(0xa0000, 0xa3fff) AM_RAM /* work RAM */
|
||||
AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITEONLY /* leftover from protection?? */
|
||||
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xc8000, 0xc8bff) AM_READWRITE(palette1_r, palette1_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xcc000, 0xccbff) AM_READWRITE(palette2_r, palette2_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE(videoram1_w) AM_SHARE("videoram1")
|
||||
AM_RANGE(0xd8000, 0xdbfff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
|
||||
AM_RANGE(0xffff0, 0xfffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( hharryu_map, AS_PROGRAM, 16, m72_state )
|
||||
AM_RANGE(0x00000, 0x7ffff) AM_ROM
|
||||
AM_RANGE(0xa0000, 0xa0bff) AM_READWRITE(palette1_r, palette1_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xa8000, 0xa8bff) AM_READWRITE(palette2_r, palette2_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0xb0000, 0xb0001) AM_WRITE(irq_line_w)
|
||||
AM_RANGE(0xbc000, 0xbc001) AM_WRITE(dmaon_w)
|
||||
AM_RANGE(0xb0ffe, 0xb0fff) AM_WRITEONLY /* leftover from protection?? */
|
||||
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0xd0000, 0xd3fff) AM_RAM_WRITE(videoram1_w) AM_SHARE("videoram1")
|
||||
AM_RANGE(0xd4000, 0xd7fff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
|
||||
AM_RANGE(0xe0000, 0xe3fff) AM_RAM /* work RAM */
|
||||
AM_RANGE(0xffff0, 0xfffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( kengo_map, AS_PROGRAM, 16, m72_state )
|
||||
AM_RANGE(0x00000, 0x7ffff) AM_ROM
|
||||
AM_RANGE(0xa0000, 0xa0bff) AM_READWRITE(palette1_r, palette1_w) AM_SHARE("paletteram")
|
||||
AM_RANGE(0xa8000, 0xa8bff) AM_READWRITE(palette2_r, palette2_w) AM_SHARE("paletteram2")
|
||||
AM_RANGE(0xb0000, 0xb0001) AM_WRITE(irq_line_w)
|
||||
AM_RANGE(0xb4000, 0xb4001) AM_WRITENOP /* ??? */
|
||||
AM_RANGE(0xbc000, 0xbc001) AM_WRITE(dmaon_w)
|
||||
AM_RANGE(0xc0000, 0xc03ff) AM_RAM AM_SHARE("spriteram")
|
||||
AM_RANGE(0x80000, 0x83fff) AM_RAM_WRITE(videoram1_w) AM_SHARE("videoram1")
|
||||
AM_RANGE(0x84000, 0x87fff) AM_RAM_WRITE(videoram2_w) AM_SHARE("videoram2")
|
||||
AM_RANGE(0xe0000, 0xe3fff) AM_RAM /* work RAM */
|
||||
AM_RANGE(0xffff0, 0xfffff) AM_ROM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( m72_portmap, AS_IO, 16, m72_state )
|
||||
AM_RANGE(0x00, 0x01) AM_READ_PORT("IN0")
|
||||
@ -1012,7 +985,7 @@ static ADDRESS_MAP_START( m72_portmap, AS_IO, 16, m72_state )
|
||||
/* { 0xc0, 0xc0 trigger sample, filled by init_ function */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( rtype2_portmap, AS_IO, 16, m72_state )
|
||||
static ADDRESS_MAP_START( m84_portmap, AS_IO, 16, m72_state )
|
||||
AM_RANGE(0x00, 0x01) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x02, 0x03) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x04, 0x05) AM_READ_PORT("DSW")
|
||||
@ -1025,6 +998,20 @@ static ADDRESS_MAP_START( rtype2_portmap, AS_IO, 16, m72_state )
|
||||
AM_RANGE(0x86, 0x87) AM_WRITE(scrollx2_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( m84_v33_portmap, AS_IO, 16, m72_state )
|
||||
AM_RANGE(0x00, 0x01) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x02, 0x03) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x04, 0x05) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x00, 0x01) AM_DEVWRITE("m72", m72_audio_device, sound_command_w)
|
||||
AM_RANGE(0x02, 0x03) AM_WRITE(rtype2_port02_w)
|
||||
AM_RANGE(0x80, 0x81) AM_WRITE(scrolly1_w)
|
||||
AM_RANGE(0x82, 0x83) AM_WRITE(scrollx1_w)
|
||||
AM_RANGE(0x84, 0x85) AM_WRITE(scrolly2_w)
|
||||
AM_RANGE(0x86, 0x87) AM_WRITE(scrollx2_w)
|
||||
// AM_RANGE(0x8c, 0x8f) AM_WRITENOP /* ??? */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( poundfor_portmap, AS_IO, 16, m72_state )
|
||||
AM_RANGE(0x02, 0x03) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x04, 0x05) AM_READ_PORT("DSW")
|
||||
@ -1070,18 +1057,6 @@ static ADDRESS_MAP_START( m81_portmap, AS_IO, 16, m72_state )
|
||||
AM_RANGE(0x86, 0x87) AM_WRITE(scrollx2_w)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( kengo_portmap, AS_IO, 16, m72_state )
|
||||
AM_RANGE(0x00, 0x01) AM_READ_PORT("IN0")
|
||||
AM_RANGE(0x02, 0x03) AM_READ_PORT("IN1")
|
||||
AM_RANGE(0x04, 0x05) AM_READ_PORT("DSW")
|
||||
AM_RANGE(0x00, 0x01) AM_DEVWRITE("m72", m72_audio_device, sound_command_w)
|
||||
AM_RANGE(0x02, 0x03) AM_WRITE(rtype2_port02_w)
|
||||
AM_RANGE(0x80, 0x81) AM_WRITE(scrolly1_w)
|
||||
AM_RANGE(0x82, 0x83) AM_WRITE(scrollx1_w)
|
||||
AM_RANGE(0x84, 0x85) AM_WRITE(scrolly2_w)
|
||||
AM_RANGE(0x86, 0x87) AM_WRITE(scrollx2_w)
|
||||
// AM_RANGE(0x8c, 0x8f) AM_WRITENOP /* ??? */
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( sound_ram_map, AS_PROGRAM, 8, m72_state )
|
||||
@ -1989,7 +1964,7 @@ static MACHINE_CONFIG_START( rtype2, m72_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
|
||||
MCFG_CPU_PROGRAM_MAP(rtype2_map)
|
||||
MCFG_CPU_IO_MAP(rtype2_portmap)
|
||||
MCFG_CPU_IO_MAP(m84_portmap)
|
||||
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("upd71059c", pic8259_device, inta_cb)
|
||||
|
||||
MCFG_CPU_ADD("soundcpu", Z80, SOUND_CLOCK)
|
||||
@ -2032,7 +2007,7 @@ static MACHINE_CONFIG_START( cosmccop, m72_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", V35,MASTER_CLOCK/2)
|
||||
MCFG_CPU_PROGRAM_MAP(kengo_map)
|
||||
MCFG_CPU_IO_MAP(kengo_portmap)
|
||||
MCFG_CPU_IO_MAP(m84_v33_portmap)
|
||||
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("upd71059c", pic8259_device, inta_cb)
|
||||
|
||||
MCFG_CPU_ADD("soundcpu", Z80, SOUND_CLOCK)
|
||||
@ -2078,7 +2053,7 @@ static MACHINE_CONFIG_START( m82, m72_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", V30,MASTER_CLOCK/2/2) /* 16 MHz external freq (8MHz internal) */
|
||||
MCFG_CPU_PROGRAM_MAP(majtitle_map)
|
||||
MCFG_CPU_PROGRAM_MAP(m82_map)
|
||||
MCFG_CPU_IO_MAP(m82_portmap)
|
||||
MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("upd71059c", pic8259_device, inta_cb)
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user