diff options
Diffstat (limited to 'src/mame/drivers/twin16.c')
-rw-r--r-- | src/mame/drivers/twin16.c | 98 |
1 files changed, 49 insertions, 49 deletions
diff --git a/src/mame/drivers/twin16.c b/src/mame/drivers/twin16.c index 19e80350990..5160fc8f695 100644 --- a/src/mame/drivers/twin16.c +++ b/src/mame/drivers/twin16.c @@ -10,32 +10,32 @@ OSC. : 3.579545MHz 18432.00KHz Main processors are a pair of 68000 CPUs Sounds are generated by a Z80, a Yamaha 2151 and 3012, a Konami custom IC and a uPD7759C - Dark Adventure / Devil World / Majuu no Ohkoku - Vulcan Venture / Gradius II - Cuebrick - MIA (Japan) - Final Round / Hard Puncher (Japan) + Dark Adventure / Devil World / Majuu no Ohkoku + Vulcan Venture / Gradius II + Cuebrick + MIA (Japan) + Final Round / Hard Puncher (Japan) 68000 Memory Map for Konami Twin System - CPUA CPUB - 0x000000..0x03ffff ROM 0x000000..0x03ffff - 0x040000..0x043fff communication RAM 0x040000..0x043fff (shared) - 0x060000..0x063fff work RAM 0x060000..0x063fff - 0x080000..0x080fff palette - 0x080000..0x09ffff ROM (extra tile data) - 0x0a0000..0x0a0001 IRQ control 0x0a0000..0x0a0001 - 0x0a0008..0x0a0009 sound command - 0x0a0010..0xa00011 watchdog - 0x0c0000..0x0c0001 screenflip - 0x0c0002..0x0c000f scroll registers - - 0x100000..0x103fff FIXRAM (text layer) - 0x120000..0x123fff VIDRAM (tilemaps) 0x480000..0x483fff (shared) - 0x140000..0x143fff OBJRAM (sprites) 0x400000..0x403fff (shared) - ZIP RAM (tiles) 0x500000..0x53ffff - gfx ROM (banked) 0x600000..0x77ffff - sprite gfx RAM 0x780000..0x79ffff + CPUA CPUB + 0x000000..0x03ffff ROM 0x000000..0x03ffff + 0x040000..0x043fff communication RAM 0x040000..0x043fff (shared) + 0x060000..0x063fff work RAM 0x060000..0x063fff + 0x080000..0x080fff palette + 0x080000..0x09ffff ROM (extra tile data) + 0x0a0000..0x0a0001 IRQ control 0x0a0000..0x0a0001 + 0x0a0008..0x0a0009 sound command + 0x0a0010..0xa00011 watchdog + 0x0c0000..0x0c0001 screenflip + 0x0c0002..0x0c000f scroll registers + + 0x100000..0x103fff FIXRAM (text layer) + 0x120000..0x123fff VIDRAM (tilemaps) 0x480000..0x483fff (shared) + 0x140000..0x143fff OBJRAM (sprites) 0x400000..0x403fff (shared) + ZIP RAM (tiles) 0x500000..0x53ffff + gfx ROM (banked) 0x600000..0x77ffff + sprite gfx RAM 0x780000..0x79ffff Known Issues: - repeated uPD7759C samples in fround, disconnecting reset helps but doesn't fix it @@ -115,13 +115,13 @@ static WRITE16_HANDLER( sound_command_w ) static WRITE16_HANDLER( twin16_CPUA_register_w ) { /* - 7 6 5 4 3 2 1 0 - X sprite processing disable - X IRQ5 enable (CPUA) - X 0->1 trigger IRQ6 on CPUB - X 0->1 trigger IRQ on sound CPU - x x x coin counters - */ + 7 6 5 4 3 2 1 0 + X sprite processing disable + X IRQ5 enable (CPUA) + X 0->1 trigger IRQ6 on CPUB + X 0->1 trigger IRQ on sound CPU + x x x coin counters + */ UINT16 old = twin16_CPUA_register; COMBINE_DATA(&twin16_CPUA_register); if (twin16_CPUA_register != old) @@ -144,11 +144,11 @@ static WRITE16_HANDLER( twin16_CPUA_register_w ) static WRITE16_HANDLER( twin16_CPUB_register_w ) { /* - 7 6 5 4 3 2 1 0 - X gfx bank select - X IRQ5 enable - X 0->1 trigger IRQ6 on CPUA - */ + 7 6 5 4 3 2 1 0 + X gfx bank select + X IRQ5 enable + X 0->1 trigger IRQ6 on CPUA + */ UINT16 old = twin16_CPUB_register; COMBINE_DATA(&twin16_CPUB_register); if( twin16_CPUB_register!=old ) @@ -161,17 +161,17 @@ static WRITE16_HANDLER( twin16_CPUB_register_w ) static WRITE16_HANDLER( fround_CPU_register_w ) { /* - 7 6 5 4 3 2 1 0 - X 0->1 trigger IRQ on sound CPU - x x coin counters - */ + 7 6 5 4 3 2 1 0 + X 0->1 trigger IRQ on sound CPU + x x coin counters + */ UINT16 old = twin16_CPUA_register; COMBINE_DATA(&twin16_CPUA_register); if (twin16_CPUA_register != old) { if ((old & 0x08) == 0 && (twin16_CPUA_register & 0x08)) cputag_set_input_line_and_vector(space->machine, "audiocpu", 0, HOLD_LINE, 0xff); - + coin_counter_w(0, twin16_CPUA_register & 0x01); coin_counter_w(1, twin16_CPUA_register & 0x02); } @@ -240,7 +240,7 @@ static ADDRESS_MAP_START( sound_map, ADDRESS_SPACE_PROGRAM, 8 ) static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0x040000, 0x043fff) AM_READWRITE(COMRAM_r, COMRAM_w) -// AM_RANGE(0x044000, 0x04ffff) AM_NOP // miaj +// AM_RANGE(0x044000, 0x04ffff) AM_NOP // miaj AM_RANGE(0x060000, 0x063fff) AM_RAM AM_RANGE(0x080000, 0x080fff) AM_RAM_WRITE(twin16_paletteram_word_w) AM_BASE(&paletteram16) AM_RANGE(0x081000, 0x081fff) AM_WRITENOP @@ -253,7 +253,7 @@ static ADDRESS_MAP_START( main_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x0c0000, 0x0c000f) AM_WRITE(twin16_video_register_w) AM_RANGE(0x0c000e, 0x0c000f) AM_READ(twin16_sprite_status_r) AM_RANGE(0x100000, 0x103fff) AM_RAM_WRITE(twin16_text_ram_w) AM_BASE(&twin16_text_ram) -// AM_RANGE(0x104000, 0x105fff) AM_NOP // miaj +// AM_RANGE(0x104000, 0x105fff) AM_NOP // miaj AM_RANGE(0x120000, 0x123fff) AM_RAM AM_BASE(&videoram16) AM_RANGE(0x140000, 0x143fff) AM_RAM AM_SHARE(1) AM_BASE(&spriteram16) AM_SIZE(&spriteram_size) ADDRESS_MAP_END @@ -261,7 +261,7 @@ ADDRESS_MAP_END static ADDRESS_MAP_START( sub_map, ADDRESS_SPACE_PROGRAM, 16 ) AM_RANGE(0x000000, 0x03ffff) AM_ROM AM_RANGE(0x040000, 0x043fff) AM_READWRITE(COMRAM_r, COMRAM_w) -// AM_RANGE(0x044000, 0x04ffff) AM_NOP // miaj +// AM_RANGE(0x044000, 0x04ffff) AM_NOP // miaj AM_RANGE(0x060000, 0x063fff) AM_RAM AM_RANGE(0x080000, 0x09ffff) AM_READ(extra_rom_r) AM_RANGE(0x0a0000, 0x0a0001) AM_WRITE(twin16_CPUB_register_w) @@ -704,11 +704,11 @@ static MACHINE_START( twin16 ) { twin16_CPUA_register=0; twin16_CPUB_register=0; - + /* register for savestates */ state_save_register_global(machine, twin16_CPUA_register); state_save_register_global(machine, twin16_CPUB_register); - + state_save_register_global(machine, twin16_sound_command); state_save_register_global(machine, cuebrickj_nvram_bank); state_save_register_global_array(machine, cuebrickj_nvram); @@ -728,10 +728,10 @@ static MACHINE_DRIVER_START( twin16 ) MDRV_CPU_PROGRAM_MAP(sound_map) MDRV_QUANTUM_TIME(HZ(6000)) - + MDRV_MACHINE_START(twin16) MDRV_MACHINE_RESET(twin16) - + // video hardware MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS | VIDEO_BUFFERS_SPRITERAM) @@ -783,10 +783,10 @@ static MACHINE_DRIVER_START( fround ) MDRV_CPU_PROGRAM_MAP(sound_map) MDRV_QUANTUM_TIME(HZ(6000)) - + MDRV_MACHINE_START(twin16) MDRV_MACHINE_RESET(twin16) - + /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_HAS_SHADOWS | VIDEO_BUFFERS_SPRITERAM) |