/*************************************************************************** TODO: - dkongjr discrete interface - write a shootgal palette_init - when i am retired: implement 8257 DMA controller - radarscp_grid_color_w() is wrong, it probably isn't supposed to change the grid color. There are reports of the grid being constantly blue in the real game, the flyer confirms this. Couriersud: On the TRS01/TRS02 hardware the grid color is changed by writing to radarscp_grid_color_w. The available flyers show a green and a white grid. Couriersud: 05-06/2007 - Implemented discrete sound from schematics: dkong, radarscp - Implemented discrete background from schematics for radarscp and various effects - Changed inputs for radarscp - Color generation from schematics (resistor mixer) for radarscp, dkong, dkongjr and dkong3 - Added sprite ram bank switching from schematics - combined memory maps - first attempts on decoding m58815 Donkey Kong and Donkey Kong Jr. memory map (preliminary) (DKong 3 follows) 0000-3fff ROM (Donkey Kong Jr.and Donkey Kong 3: 0000-5fff) 6000-6fff RAM 6900-6a7f sprites 7000-73ff ? 7400-77ff Video RAM 8000-9fff ROM (DK3 only) memory mapped ports: read: 7c00 IN0 7c80 IN1 7d00 IN2 (DK3: DSW2) 7d80 DSW1 * * IN0 (bits NOT inverted) * bit 7 : ? * bit 6 : reset (when player 1 active) * bit 5 : ? * bit 4 : JUMP player 1 * bit 3 : DOWN player 1 * bit 2 : UP player 1 * bit 1 : LEFT player 1 * bit 0 : RIGHT player 1 * * * IN1 (bits NOT inverted) * bit 7 : ? * bit 6 : reset (when player 2 active) * bit 5 : ? * bit 4 : JUMP player 2 * bit 3 : DOWN player 2 * bit 2 : UP player 2 * bit 1 : LEFT player 2 * bit 0 : RIGHT player 2 * * * IN2 (bits NOT inverted) * bit 7 : COIN (IS inverted in Radarscope) * bit 6 : ? Radarscope does some wizardry with this bit * bit 5 : ? * bit 4 : ? * bit 3 : START 2 * bit 2 : START 1 * bit 1 : ? * bit 0 : ? if this is 1, the code jumps to $4000, outside the rom space * * * DSW1 (bits NOT inverted) * bit 7 : COCKTAIL or UPRIGHT cabinet (1 = UPRIGHT) * bit 6 : \ 000 = 1 coin 1 play 001 = 2 coins 1 play 010 = 1 coin 2 plays * bit 5 : | 011 = 3 coins 1 play 100 = 1 coin 3 plays 101 = 4 coins 1 play * bit 4 : / 110 = 1 coin 4 plays 111 = 5 coins 1 play * bit 3 : \bonus at * bit 2 : / 00 = 7000 01 = 10000 10 = 15000 11 = 20000 * bit 1 : \ 00 = 3 lives 01 = 4 lives * bit 0 : / 10 = 5 lives 11 = 6 lives * write: 7800-780F P8257 Control registers 7c00 Background sound/music select: 00 - nothing 01 - Intro tune 02 - How High? (intermisson) tune 03 - Out of time 04 - Hammer 05 - Rivet level 2 completed (end tune) 06 - Hammer hit 07 - Standard level end 08 - Background 1 (first screen) 09 - ??? 0A - Background 3 (springs) 0B - Background 2 (rivet) 0C - Rivet level 1 completed (end tune) 0D - Rivet removed 0E - Rivet level completed 0F - Gorilla roar 7c80 gfx bank select (Donkey Kong Jr. only) 7d00 digital sound trigger - walk 7d01 digital sound trigger - jump 7d02 digital sound trigger - boom (gorilla stomps foot) 7d03 digital sound trigger - coin input/spring 7d04 digital sound trigger - gorilla fall 7d05 digital sound trigger - barrel jump/prize 7d06 ? 7d07 ? 7d80 digital sound trigger - dead 7d82 flip screen 7d83 ? 7d84 interrupt enable 7d85 0/1 toggle 7d86-7d87 palette bank selector (only bit 0 is significant: 7d86 = bit 0 7d87 = bit 1) 8035 Memory Map: 0000-07ff ROM 0800-0fff Compressed sound sample (Gorilla roar in DKong) Read ports: 0x20 Read current tune P2.5 Active low when jumping T0 Select sound for jump (Normal or Barrell?) T1 Active low when gorilla is falling Write ports: P1 Digital out P2.7 External decay P2.6 Select second ROM reading (MOVX instruction will access area 800-fff) P2.2-0 Select the bank of 256 bytes for second ROM Donkey Kong 3 memory map (preliminary): RAM and read ports same as above; write: 7d00 ? 7d80 ? 7e00 ? 7e80 7e81 char bank selector 7e82 flipscreen 7e83 ? 7e84 interrupt enable 7e85 ? 7e86-7e87 palette bank selector (only bit 0 is significant: 7e86 = bit 0 7e87 = bit 1) I/O ports write: 00 ? Changes: Apr 7 98 Howie Cohen * Added samples for the climb, jump, land and walking sounds Jul 27 99 Chad Hendrickson * Added cocktail mode flipscreen ***************************************************************************/ #include "driver.h" #include "cpu/i8039/i8039.h" #include "cpu/s2650/s2650.h" #include "cpu/m6502/m6502.h" #include "sound/dac.h" #include "sound/samples.h" #include "sound/nes_apu.h" #include "includes/dkong.h" #include /************************************* * * Globals * *************************************/ static INT8 counter; static int hunchloopback; /************************************* * * VBLANK and IRQ generation * *************************************/ static INTERRUPT_GEN( hunchbkd_interrupt ) { cpunum_set_input_line_and_vector(0, 0, HOLD_LINE, 0x03); } /************************************* * * Machine setup * *************************************/ /* EPOS games */ static MACHINE_RESET( dkong ) { } static MACHINE_RESET( strtheat ) { UINT8 *ROM = memory_region(REGION_CPU1); machine_reset_dkong(machine); /* The initial state of the counter is 0x08 */ memory_configure_bank(1, 0, 4, &ROM[0x10000], 0x4000); counter = 0x08; memory_set_bank(1, 0); } static MACHINE_RESET( drakton ) { UINT8 *ROM = memory_region(REGION_CPU1); machine_reset_dkong(machine); /* The initial state of the counter is 0x09 */ memory_configure_bank(1, 0, 4, &ROM[0x10000], 0x4000); counter = 0x09; memory_set_bank(1, 1); } static MACHINE_START( dkong ) { state_save_register_global(counter); state_save_register_global(hunchloopback); hunchloopback = 0; } /************************************* * * Output ports * *************************************/ static READ8_HANDLER( hunchbkd_mirror_r ) { return program_read_byte(0x1000+offset); } static WRITE8_HANDLER( hunchbkd_mirror_w ) { program_write_byte(0x1000+offset,data); } static READ8_HANDLER( epos_decrypt_rom ) { if (offset & 0x01) { counter = counter - 1; if (counter < 0) counter = 0x0F; } else { counter = (counter + 1) & 0x0F; } switch(counter) { case 0x08: memory_set_bank(1, 0); break; case 0x09: memory_set_bank(1, 1); break; case 0x0A: memory_set_bank(1, 2); break; case 0x0B: memory_set_bank(1, 3); break; default: logerror("Invalid counter = %02X\n",counter); break; } return 0; } static WRITE8_HANDLER( hunchbkd_data_w ) { hunchloopback=data; } static READ8_HANDLER( hunchbkd_port0_r ) { logerror("port 0 : pc = %4x\n",activecpu_get_pc()); switch (activecpu_get_pc()) { case 0x00e9: return 0xff; case 0x0114: return 0xfb; } return 0; } static READ8_HANDLER( hunchbkd_port1_r ) { return hunchloopback; } static READ8_HANDLER( herbiedk_port1_r ) { switch (activecpu_get_pc()) { case 0x002b: case 0x09dc: return 0x0; } return 1; } static READ8_HANDLER( spclforc_port0_r ) { switch (activecpu_get_pc()) { case 0x00a3: // spclforc case 0x007b: // spcfrcii return 1; } return 0; } static READ8_HANDLER( eightact_port1_r ) { switch (activecpu_get_pc()) { case 0x0021: return 0; } return 1; } static READ8_HANDLER( shootgal_port0_r ) { switch (activecpu_get_pc()) { case 0x0079: return 0xff; } return 0; } static WRITE8_HANDLER( dkong3_2a03_reset_w ) { if (data & 1) { cpunum_set_input_line(1, INPUT_LINE_RESET, CLEAR_LINE); cpunum_set_input_line(2, INPUT_LINE_RESET, CLEAR_LINE); } else { cpunum_set_input_line(1, INPUT_LINE_RESET, ASSERT_LINE); cpunum_set_input_line(2, INPUT_LINE_RESET, ASSERT_LINE); } } /************************************* * * NVRAM handling * *************************************/ /************************************* * * Main CPU memory handlers * *************************************/ static ADDRESS_MAP_START( dkong_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_ROM AM_RANGE(0x6000, 0x73ff) AM_RAM AM_RANGE(0x6900, 0x6a7f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* sprite set 1 */ AM_RANGE(0x6a80, 0x6cff) AM_RAM /* 0x6b00: sprite set 2 */ AM_RANGE(0x7400, 0x77ff) AM_READWRITE(MRA8_RAM, dkong_videoram_w) AM_BASE(&videoram) AM_RANGE(0x7800, 0x780f) AM_NOP /* P8257 control registers */ AM_RANGE(0x7c00, 0x7c00) AM_READWRITE(input_port_0_r, dkong_sh_tuneselect_w) /* IN0, sound CPU intf */ AM_RANGE(0x7c80, 0x7c80) AM_READ(input_port_1_r) /* IN1 */ AM_RANGE(0x7d00, 0x7d00) AM_READ(dkong_in2_r) /* IN2/DSW2 */ AM_RANGE(0x7d00, 0x7d07) AM_WRITE(dkong_snd_disc_w) /* Sound signals */ AM_RANGE(0x7d80, 0x7d80) AM_READWRITE(input_port_3_r, dkong_sh_w) /* DSW1 */ AM_RANGE(0x7d82, 0x7d82) AM_WRITE(dkong_flipscreen_w) AM_RANGE(0x7d83, 0x7d83) AM_WRITE(dkong_spritebank_w) /* 2 PSL Signal */ AM_RANGE(0x7d84, 0x7d84) AM_WRITE(interrupt_enable_w) AM_RANGE(0x7d85, 0x7d85) AM_NOP /* P8257 ==> /DRQ0 /DRQ1 */ AM_RANGE(0x7d86, 0x7d87) AM_WRITE(dkong_palettebank_w) AM_RANGE(0xb000, 0xbfff) AM_READ(MRA8_ROM) /* Pest Place only */ ADDRESS_MAP_END static ADDRESS_MAP_START( epos_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_READ(MRA8_BANK1) /* DK: 0000-3fff */ AM_RANGE(0x6000, 0x61ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) AM_RANGE(0x6200, 0x6fff) AM_RAM AM_RANGE(0x7400, 0x77ff) AM_READWRITE(MRA8_RAM, dkong_videoram_w) AM_BASE(&videoram) AM_RANGE(0x7800, 0x780f) AM_NOP /* P8257 control registers */ AM_RANGE(0x7c00, 0x7c00) AM_READWRITE(input_port_0_r, dkong_sh_tuneselect_w) AM_RANGE(0x7c80, 0x7c80) AM_READ(input_port_1_r) /* IN1 */ AM_RANGE(0x7d00, 0x7d00) AM_READ(dkong_in2_r) /* IN2/DSW2 */ AM_RANGE(0x7d00, 0x7d07) AM_WRITE(dkong_snd_disc_w) /* sound */ AM_RANGE(0x7d80, 0x7d80) AM_READWRITE(dkong_in2_r, dkong_sh_w) AM_RANGE(0x7d82, 0x7d82) AM_WRITE(dkong_flipscreen_w) AM_RANGE(0x7d83, 0x7d83) AM_NOP AM_RANGE(0x7d84, 0x7d84) AM_WRITE(interrupt_enable_w) AM_RANGE(0x7d85, 0x7d85) AM_NOP /* P8257 ==> /DRQ0 /DRQ1 */ AM_RANGE(0x7d86, 0x7d87) AM_WRITE(dkong_palettebank_w) ADDRESS_MAP_END static ADDRESS_MAP_START( epos_readport, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_FLAGS( AMEF_ABITS(8) ) AM_RANGE(0x00, 0xff) AM_READ(epos_decrypt_rom) /* Switch protection logic */ ADDRESS_MAP_END static ADDRESS_MAP_START( radarscp_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_ROM AM_RANGE(0x6000, 0x73ff) AM_RAM AM_RANGE(0x6900, 0x6a7f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* sprite set 1 */ AM_RANGE(0x6a80, 0x6cff) AM_RAM /* 0x6b00: sprite set 2 */ AM_RANGE(0x7400, 0x77ff) AM_READWRITE(MRA8_RAM, dkong_videoram_w) AM_BASE(&videoram) AM_RANGE(0x7800, 0x780f) AM_NOP /* P8257 control registers */ AM_RANGE(0x7c00, 0x7c00) AM_READWRITE(input_port_0_r, dkong_sh_tuneselect_w) /* IN0, sound CPU intf */ AM_RANGE(0x7c80, 0x7c80) AM_READWRITE(input_port_1_r, radarscp_grid_color_w)/* IN1 */ AM_RANGE(0x7d00, 0x7d00) AM_READ(dkong_in2_r) /* IN2/DSW2 */ AM_RANGE(0x7d00, 0x7d07) AM_WRITE(dkong_snd_disc_w) /* Sound signals */ AM_RANGE(0x7d80, 0x7d80) AM_READWRITE(input_port_3_r, dkong_sh_w) /* DSW1 */ AM_RANGE(0x7d81, 0x7d81) AM_WRITE(radarscp_grid_enable_w) AM_RANGE(0x7d82, 0x7d82) AM_WRITE(dkong_flipscreen_w) AM_RANGE(0x7d83, 0x7d83) AM_WRITE(dkong_spritebank_w) /* 2 PSL Signal */ AM_RANGE(0x7d84, 0x7d84) AM_WRITE(interrupt_enable_w) AM_RANGE(0x7d85, 0x7d85) AM_NOP /* P8257 ==> /DRQ0 /DRQ1 */ AM_RANGE(0x7d86, 0x7d87) AM_WRITE(dkong_palettebank_w) AM_RANGE(0xb000, 0xbfff) AM_READ(MRA8_ROM) /* Pest Place only */ ADDRESS_MAP_END static ADDRESS_MAP_START( radarsc1_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x3fff) AM_ROM AM_RANGE(0x6000, 0x73ff) AM_RAM AM_RANGE(0x6900, 0x6a7f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* sprite set 1 */ AM_RANGE(0x6a80, 0x6cff) AM_RAM /* 0x6b00: sprite set 2 */ AM_RANGE(0x7400, 0x77ff) AM_READWRITE(MRA8_RAM, dkong_videoram_w) AM_BASE(&videoram) AM_RANGE(0x7800, 0x780f) AM_NOP /* P8257 control registers */ AM_RANGE(0x7c00, 0x7c00) AM_READWRITE(input_port_0_r, dkong_sh_tuneselect_w) /* IN0, sound CPU intf */ AM_RANGE(0x7c80, 0x7c80) AM_READWRITE(input_port_1_r, radarscp_grid_color_w)/* IN1 */ AM_RANGE(0x7d00, 0x7d00) AM_READ(dkong_in2_r) /* IN2/DSW2 */ AM_RANGE(0x7d00, 0x7d07) AM_WRITE(radarsc1_snd_disc_w) /* Sound signals */ AM_RANGE(0x7d80, 0x7d80) AM_READWRITE(input_port_3_r, dkong_sh_w) /* DSW1 */ AM_RANGE(0x7d81, 0x7d81) AM_WRITE(radarscp_grid_enable_w) AM_RANGE(0x7d82, 0x7d82) AM_WRITE(dkong_flipscreen_w) AM_RANGE(0x7d83, 0x7d83) AM_WRITE(dkong_spritebank_w) /* 2 PSL Signal */ AM_RANGE(0x7d84, 0x7d84) AM_WRITE(interrupt_enable_w) AM_RANGE(0x7d85, 0x7d85) AM_NOP /* P8257 ==> /DRQ0 /DRQ1 */ AM_RANGE(0x7d86, 0x7d87) AM_WRITE(dkong_palettebank_w) AM_RANGE(0xb000, 0xbfff) AM_READ(MRA8_ROM) /* Pest Place only */ ADDRESS_MAP_END static ADDRESS_MAP_START( hunchbkd_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x0fff) AM_ROM AM_RANGE(0x1400, 0x1400) AM_READWRITE(input_port_0_r, dkong_sh_tuneselect_w) AM_RANGE(0x1480, 0x1480) AM_READWRITE(input_port_1_r, dkongjr_gfxbank_w) AM_RANGE(0x1500, 0x1500) AM_READ(input_port_2_r) /* IN2/DSW2 */ AM_RANGE(0x1580, 0x1580) AM_READWRITE(input_port_3_r, dkong_sh_w) /* DSW1 */ AM_RANGE(0x1582, 0x1582) AM_WRITE(dkong_flipscreen_w) AM_RANGE(0x1584, 0x1584) AM_NOP /* Possibly still interupt enable */ AM_RANGE(0x1585, 0x1585) AM_NOP /* written a lot - every int */ AM_RANGE(0x1586, 0x1587) AM_WRITE(dkong_palettebank_w) AM_RANGE(0x1600, 0x17ff) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) AM_RANGE(0x1800, 0x1bff) AM_READWRITE(MRA8_RAM, dkong_videoram_w) AM_BASE(&videoram) AM_RANGE(0x1C00, 0x1fff) AM_RAM AM_RANGE(0x2000, 0x2fff) AM_ROM AM_RANGE(0x3000, 0x3fff) AM_READWRITE(hunchbkd_mirror_r, hunchbkd_mirror_w) AM_RANGE(0x4000, 0x4fff) AM_ROM AM_RANGE(0x5000, 0x5fff) AM_READWRITE(hunchbkd_mirror_r, hunchbkd_mirror_w) AM_RANGE(0x6000, 0x6fff) AM_ROM AM_RANGE(0x7000, 0x7fff) AM_READWRITE(hunchbkd_mirror_r, hunchbkd_mirror_w) ADDRESS_MAP_END static ADDRESS_MAP_START( hunchbkd_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x00, 0x00) AM_READ(hunchbkd_port0_r) AM_RANGE(0x01, 0x01) AM_READ(hunchbkd_port1_r) AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ(input_port_4_r) AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_WRITE(hunchbkd_data_w) ADDRESS_MAP_END static ADDRESS_MAP_START( herbiedk_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x01, 0x01) AM_READ(herbiedk_port1_r) AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ(input_port_4_r) AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_WRITE(hunchbkd_data_w) ADDRESS_MAP_END static ADDRESS_MAP_START( spclforc_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x00, 0x00) AM_READ(spclforc_port0_r) AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ(input_port_4_r) AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_WRITE(hunchbkd_data_w) ADDRESS_MAP_END static ADDRESS_MAP_START( eightact_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x01, 0x01) AM_READ(eightact_port1_r) AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ(input_port_4_r) AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_WRITE(hunchbkd_data_w) ADDRESS_MAP_END static ADDRESS_MAP_START( shootgal_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x00, 0x00) AM_READ(shootgal_port0_r) AM_RANGE(S2650_SENSE_PORT, S2650_SENSE_PORT) AM_READ(input_port_4_r) AM_RANGE(S2650_DATA_PORT, S2650_DATA_PORT) AM_WRITE(hunchbkd_data_w) ADDRESS_MAP_END static ADDRESS_MAP_START( dkong3_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x5fff) AM_ROM AM_RANGE(0x6000, 0x68ff) AM_RAM AM_RANGE(0x6900, 0x6a7f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* sprite set 1 */ AM_RANGE(0x6a80, 0x6cff) AM_RAM /* 0x6b00: sprite set 2 */ AM_RANGE(0x6d00, 0x6fff) AM_RAM /* ???? */ AM_RANGE(0x7400, 0x77ff) AM_READWRITE(MRA8_RAM, dkong_videoram_w) AM_BASE(&videoram) AM_RANGE(0x7c00, 0x7c00) AM_READWRITE(input_port_0_r, soundlatch_w) AM_RANGE(0x7c80, 0x7c80) AM_READWRITE(input_port_1_r, soundlatch2_w) AM_RANGE(0x7d00, 0x7d00) AM_READWRITE(input_port_2_r, soundlatch3_w) AM_RANGE(0x7d80, 0x7d80) AM_READWRITE(input_port_3_r, dkong3_2a03_reset_w) AM_RANGE(0x7e81, 0x7e81) AM_WRITE(dkong3_gfxbank_w) AM_RANGE(0x7e82, 0x7e82) AM_WRITE(dkong_flipscreen_w) AM_RANGE(0x7e84, 0x7e84) AM_WRITE(interrupt_enable_w) AM_RANGE(0x7e85, 0x7e85) AM_NOP /* ==> DMA Chip */ AM_RANGE(0x7e86, 0x7e87) AM_WRITE(dkong_palettebank_w) AM_RANGE(0x8000, 0x9fff) AM_ROM /* DK3 and bootleg DKjr only */ ADDRESS_MAP_END static ADDRESS_MAP_START( dkong3_io_map, ADDRESS_SPACE_IO, 8 ) ADDRESS_MAP_FLAGS( AMEF_ABITS(8) ) AM_RANGE(0x00, 0x00) AM_WRITE(MWA8_NOP) /* ??? */ ADDRESS_MAP_END static ADDRESS_MAP_START( dkongjr_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x5fff) AM_ROM AM_RANGE(0x6000, 0x68ff) AM_RAM AM_RANGE(0x6900, 0x6a7f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* sprite set 1 */ AM_RANGE(0x6a80, 0x6cff) AM_RAM /* 0x6b00: sprite set 2 */ AM_RANGE(0x6d00, 0x6fff) AM_RAM AM_RANGE(0x7400, 0x77ff) AM_READWRITE(MRA8_RAM, dkong_videoram_w) AM_BASE(&videoram) AM_RANGE(0x7800, 0x780f) AM_NOP /* P8257 control registers */ AM_RANGE(0x7c00, 0x7c00) AM_READWRITE(input_port_0_r, dkongjr_sh_tuneselect_w) AM_RANGE(0x7c80, 0x7c80) AM_READWRITE(input_port_1_r, dkongjr_gfxbank_w) AM_RANGE(0x7c81, 0x7c81) AM_WRITE(dkongjr_sh_test6_w) AM_RANGE(0x7d00, 0x7d00) AM_READ(dkong_in2_r) /* IN2/DSW2 */ AM_RANGE(0x7d00, 0x7d07) AM_WRITE(dkongjr_snd_w1) /* Sound addrs */ AM_RANGE(0x7d80, 0x7d80) AM_READ(input_port_3_r) /* DSW1 */ AM_RANGE(0x7d80, 0x7d81) AM_WRITE(dkongjr_snd_w2) /* Sound addrs */ AM_RANGE(0x7d82, 0x7d82) AM_WRITE(dkong_flipscreen_w) AM_RANGE(0x7d83, 0x7d83) AM_WRITE(dkong_spritebank_w) /* 2 PSL Signal */ AM_RANGE(0x7d84, 0x7d84) AM_WRITE(interrupt_enable_w) AM_RANGE(0x7d85, 0x7d85) AM_NOP /* P8257 ==> /DRQ0 /DRQ1 */ AM_RANGE(0x7d86, 0x7d87) AM_WRITE(dkong_palettebank_w) AM_RANGE(0x8000, 0x9fff) AM_WRITE(MWA8_ROM) /* bootleg DKjr only */ AM_RANGE(0xd000, 0xdfff) AM_WRITE(MWA8_ROM) /* DK3 bootleg only */ ADDRESS_MAP_END static ADDRESS_MAP_START( pestplce_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x5fff) AM_ROM AM_RANGE(0x6000, 0x68ff) AM_RAM AM_RANGE(0x6900, 0x6a7f) AM_RAM AM_BASE(&spriteram) AM_SIZE(&spriteram_size) /* sprite set 1 */ AM_RANGE(0x6a80, 0x6cff) AM_RAM /* 0x6b00: sprite set 2 */ AM_RANGE(0x6d00, 0x6fff) AM_RAM AM_RANGE(0x7400, 0x77ff) AM_READWRITE(MRA8_RAM, dkong_videoram_w) AM_BASE(&videoram) AM_RANGE(0x7800, 0x780f) AM_NOP /* P8257 control registers */ AM_RANGE(0x7c00, 0x7c00) AM_READWRITE(input_port_0_r, dkongjr_sh_tuneselect_w) AM_RANGE(0x7c80, 0x7c80) AM_READWRITE(input_port_1_r, dkongjr_gfxbank_w) AM_RANGE(0x7c81, 0x7c81) AM_WRITE(dkongjr_sh_test6_w) AM_RANGE(0x7d00, 0x7d00) AM_READ(dkong_in2_r) /* IN2/DSW2 */ AM_RANGE(0x7d00, 0x7d07) AM_WRITE(dkong_snd_disc_w) /* walk/jump/boom sample trigger */ AM_RANGE(0x7d80, 0x7d80) AM_READ(input_port_3_r) AM_WRITENOP //(dkong_sh_w) AM_RANGE(0x7d82, 0x7d82) AM_WRITE(dkong_flipscreen_w) //AM_RANGE(0x7d83, 0x7d83) AM_WRITE(dkong_spritebank_w) /* 2 PSL Signal */ AM_RANGE(0x7d84, 0x7d84) AM_WRITE(interrupt_enable_w) AM_RANGE(0x7d85, 0x7d85) AM_NOP /* P8257 ==> /DRQ0 /DRQ1 */ AM_RANGE(0x7d86, 0x7d87) AM_WRITE(dkong_palettebank_w) AM_RANGE(0xb000, 0xbfff) AM_ROM ADDRESS_MAP_END /************************************* * * Sound CPU memory handlers * *************************************/ static ADDRESS_MAP_START( dkong_sound_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x0fff) AM_ROM ADDRESS_MAP_END static ADDRESS_MAP_START( dkong_sound_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x00, 0xff) AM_READ(dkong_sh_tune_r) AM_RANGE(I8039_p1, I8039_p1) AM_READWRITE(dkong_sh_p1_r, dkong_sh_p1_w) AM_RANGE(I8039_p2, I8039_p2) AM_READWRITE(dkong_sh_p2_r, dkong_sh_p2_w) AM_RANGE(I8039_t0, I8039_t0) AM_READ(dkong_sh_t0_r) AM_RANGE(I8039_t1, I8039_t1) AM_READ(dkong_sh_t1_r) ADDRESS_MAP_END static ADDRESS_MAP_START( radarsc1_sound_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(0x00, 0xff) AM_READ(radarsc1_sh_tune_r) AM_RANGE(0x00, 0xff) AM_WRITE(dkong_sh_p1_w) // DAC here AM_RANGE(I8039_p1, I8039_p1) AM_READWRITE(radarsc1_sh_p1_r, radarsc1_sh_p1_w) AM_RANGE(I8039_p2, I8039_p2) AM_READWRITE(dkong_sh_p2_r, radarsc1_sh_p2_w) AM_RANGE(I8039_t0, I8039_t0) AM_READ(dkong_sh_t0_r) AM_RANGE(I8039_t1, I8039_t1) AM_READ(dkong_sh_t1_r) ADDRESS_MAP_END static ADDRESS_MAP_START( hunchbkd_sound_io_map, ADDRESS_SPACE_IO, 8 ) AM_RANGE(I8039_bus, I8039_bus) AM_READ(soundlatch_r) AM_RANGE(I8039_p1, I8039_p1) AM_READWRITE(dkong_sh_p1_r, dkong_sh_p1_w) AM_RANGE(I8039_p2, I8039_p2) AM_READWRITE(dkong_sh_p2_r, dkong_sh_p2_w) AM_RANGE(I8039_t0, I8039_t0) AM_READ(dkong_sh_t0_r) AM_RANGE(I8039_t1, I8039_t1) AM_READ(dkong_sh_t1_r) ADDRESS_MAP_END static ADDRESS_MAP_START( dkong3_sound1_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x01ff) AM_RAM AM_RANGE(0x4016, 0x4016) AM_READ(soundlatch_r) // overwrite default AM_RANGE(0x4017, 0x4017) AM_READ(soundlatch2_r) AM_RANGE(0x4000, 0x4017) AM_READ(NESPSG_0_r) AM_RANGE(0x4000, 0x4017) AM_WRITE(NESPSG_0_w) AM_RANGE(0xe000, 0xffff) AM_ROM ADDRESS_MAP_END static ADDRESS_MAP_START( dkong3_sound2_map, ADDRESS_SPACE_PROGRAM, 8 ) AM_RANGE(0x0000, 0x01ff) AM_RAM AM_RANGE(0x4016, 0x4016) AM_READ(soundlatch3_r) // overwrite default AM_RANGE(0x4000, 0x4017) AM_READ(NESPSG_1_r) AM_RANGE(0x4000, 0x4017) AM_WRITE(NESPSG_1_w) AM_RANGE(0xe000, 0xffff) AM_ROM ADDRESS_MAP_END /************************************* * * Port definitions * *************************************/ static INPUT_PORTS_START( dkong ) PORT_START /* IN0 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* not connected - held to high */ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* not connected - held to high */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* not connected - held to high */ PORT_START /* IN1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* not connected - held to high */ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* not connected - held to high */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* not connected - held to high */ /* Bit 0x80 is (SERVICE OR COIN) ! * Bit 0x01 is going to the connector but it is not labeled * It should be a IPT_UNKNOWN. In fact, it will reset the game. */ PORT_START /* IN2 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME(DEF_STR( Service_Mode )) PORT_CODE(KEYCODE_F2) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* connection not labeled in schematics */ /* This may freeze or reset dkong */ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* not connected - held to high */ PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* not connected - held to high */ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* status from sound cpu */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_START /* DSW0 */ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION( "SW1:!1,!2" ) PORT_DIPSETTING( 0x00, "3" ) PORT_DIPSETTING( 0x01, "4" ) PORT_DIPSETTING( 0x02, "5" ) PORT_DIPSETTING( 0x03, "6" ) PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION( "SW1:!3,!4" ) PORT_DIPSETTING( 0x00, "7000" ) PORT_DIPSETTING( 0x04, "10000" ) PORT_DIPSETTING( 0x08, "15000" ) PORT_DIPSETTING( 0x0c, "20000" ) PORT_DIPNAME( 0x70, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION( "SW1:!5,!6,!7" ) PORT_DIPSETTING( 0x70, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x50, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) PORT_DIPLOCATION( "SW1:!8" ) PORT_DIPSETTING( 0x80, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) PORT_START_TAG("VR2") PORT_ADJUSTER( 90, "VR2 - DAC Volume" ) INPUT_PORTS_END static INPUT_PORTS_START( radarscp ) PORT_START /* IN0 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) /* not connected - held to high */ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) /* not connected - held to high */ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNUSED ) /* not connected - held to high */ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNUSED ) /* not connected - held to high */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNUSED ) /* not connected - held to high */ PORT_START /* IN1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_COCKTAIL /* not connected - held to high */ PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_UNUSED ) PORT_COCKTAIL /* not connected - held to high */ PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* not connected - held to high */ PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* not connected - held to high */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* not connected - held to high */ /* Bit 0x80 is (SERVICE OR COIN) ! * Bit 0x01 is going to the connector and is labeled test switch * It should be a IPT_UNUSED. In fact, it will reset the game. */ PORT_START /* IN2 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_SERVICE ) PORT_NAME(DEF_STR( Service_Mode )) PORT_CODE(KEYCODE_F2) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) /* connection not labeled in schematics */ PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 ) PORT_DIPNAME( 0x10, 0x10, "TP3" ) PORT_DIPSETTING( 0x00, "Gnd" ) PORT_DIPSETTING( 0x10, "Open" ) PORT_DIPNAME( 0x20, 0x20, "TP5" ) PORT_DIPSETTING( 0x00, "Gnd" ) PORT_DIPSETTING( 0x20, "Open" ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* SACA - Sound Acknowledge*/ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_START /* DSW0 */ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPSETTING( 0x00, "3" ) PORT_DIPSETTING( 0x01, "4" ) PORT_DIPSETTING( 0x02, "5" ) PORT_DIPSETTING( 0x03, "6" ) PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPSETTING( 0x00, "7000" ) PORT_DIPSETTING( 0x04, "10000" ) PORT_DIPSETTING( 0x08, "15000" ) PORT_DIPSETTING( 0x0c, "20000" ) PORT_DIPNAME( 0x70, 0x00, DEF_STR( Coinage ) ) PORT_DIPSETTING( 0x70, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x50, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) PORT_DIPSETTING( 0x80, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) PORT_START_TAG("VR2") PORT_ADJUSTER( 35, "VR2 - DAC Volume" ) INPUT_PORTS_END static INPUT_PORTS_START( dkong3 ) PORT_START /* IN0 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_START2 ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN3 ) PORT_START /* IN1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_COIN2 ) PORT_IMPULSE(1) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* DSW0 */ PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW2:!1,!2,!3") PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x03, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x05, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x07, DEF_STR( 1C_6C ) ) PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x00, "SW2:!4" ) PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x00, "SW2:!5" ) PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x00, "SW2:!6" ) PORT_SERVICE_DIPLOC( 0x40, IP_ACTIVE_HIGH, "SW2:!7" ) PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) PORT_DIPLOCATION("SW2:!8") PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) PORT_START /* DSW1 */ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPLOCATION("SW1:!1,!2") PORT_DIPSETTING( 0x00, "3" ) PORT_DIPSETTING( 0x01, "4" ) PORT_DIPSETTING( 0x02, "5" ) PORT_DIPSETTING( 0x03, "6" ) PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPLOCATION("SW1:!3,!4") PORT_DIPSETTING( 0x00, "30000" ) PORT_DIPSETTING( 0x04, "40000" ) PORT_DIPSETTING( 0x08, "50000" ) PORT_DIPSETTING( 0x0c, DEF_STR( None ) ) PORT_DIPNAME( 0x30, 0x00, "Additional Bonus" ) PORT_DIPLOCATION("SW1:!5,!6") PORT_DIPSETTING( 0x00, "30000" ) PORT_DIPSETTING( 0x10, "40000" ) PORT_DIPSETTING( 0x20, "50000" ) PORT_DIPSETTING( 0x30, DEF_STR( None ) ) PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW1:!7,!8") PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x40, DEF_STR( Medium ) ) PORT_DIPSETTING( 0x80, DEF_STR( Hard ) ) PORT_DIPSETTING( 0xc0, DEF_STR( Hardest ) ) INPUT_PORTS_END static INPUT_PORTS_START( dkong3b ) PORT_START /* IN0 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN2 */ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x02, DEF_STR( On ) ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 ) PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* status from sound cpu */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_IMPULSE(1) PORT_START /* DSW0 */ PORT_DIPNAME( 0x07, 0x00, DEF_STR( Coinage ) ) PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x06, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x01, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x03, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x05, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x07, DEF_STR( 1C_6C ) ) PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x40, DEF_STR( On ) ) PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) INPUT_PORTS_END static INPUT_PORTS_START( hunchbkd ) PORT_START /* IN0 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN2 */ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* status from sound cpu */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_START /* DSW0 */ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x00, DEF_STR( Lives ) ) PORT_DIPSETTING( 0x00, "3" ) PORT_DIPSETTING( 0x02, "5" ) PORT_DIPNAME( 0x0c, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPSETTING( 0x00, "10000" ) PORT_DIPSETTING( 0x04, "20000" ) PORT_DIPSETTING( 0x08, "40000" ) PORT_DIPSETTING( 0x0c, "80000" ) PORT_DIPNAME( 0x70, 0x00, DEF_STR( Coinage ) ) PORT_DIPSETTING( 0x70, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x50, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) PORT_DIPSETTING( 0x80, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) PORT_START /* Sense */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK ) INPUT_PORTS_END static INPUT_PORTS_START( shootgal ) PORT_START /* IN0 */ PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_X ) PORT_CROSSHAIR(X, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(4) PORT_REVERSE PORT_START /* IN1 */ PORT_BIT( 0xff, 0x80, IPT_LIGHTGUN_Y ) PORT_CROSSHAIR(Y, 1.0, 0.0, 0) PORT_SENSITIVITY(50) PORT_KEYDELTA(4) PORT_REVERSE PORT_START /* IN2 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_START /* DSW0 */ PORT_DIPNAME( 0x01, 0x00, "1" ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x02, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x00, "Time" ) PORT_DIPSETTING( 0x00, "60" ) PORT_DIPSETTING( 0x04, "100" ) PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x08, DEF_STR( On ) ) PORT_DIPNAME( 0x10, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x10, DEF_STR( On ) ) PORT_DIPNAME( 0x20, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x20, DEF_STR( On ) ) PORT_DIPNAME( 0x40, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x40, DEF_STR( On ) ) PORT_SERVICE( 0x80, IP_ACTIVE_HIGH ) PORT_START /* Sense */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK ) INPUT_PORTS_END static INPUT_PORTS_START( sbdk ) PORT_START /* IN0 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN2 */ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* status from sound cpu */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_START /* DSW0 */ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x00, DEF_STR( Lives ) ) PORT_DIPSETTING( 0x00, "3" ) PORT_DIPSETTING( 0x02, "5" ) PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x04, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x08, DEF_STR( On ) ) PORT_DIPNAME( 0x70, 0x00, DEF_STR( Coinage ) ) PORT_DIPSETTING( 0x70, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x50, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) PORT_DIPSETTING( 0x80, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) PORT_START /* Sense */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK ) INPUT_PORTS_END static INPUT_PORTS_START( herbiedk ) PORT_START /* IN0 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN2 */ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Start 1 / P1 Button 1") PORT_PLAYER(1) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Start 2 / P1 Button 2") PORT_PLAYER(1) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* status from sound cpu */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_START /* DSW0 */ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x02, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x04, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x08, DEF_STR( On ) ) PORT_DIPNAME( 0x70, 0x00, DEF_STR( Coinage ) ) PORT_DIPSETTING( 0x70, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x50, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) PORT_DIPSETTING( 0x80, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) PORT_START /* Sense */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_VBLANK ) INPUT_PORTS_END /* Notes : - you ALWAYS get an extra life at 150000 points. - having more than 6 lives will reset the game. */ static INPUT_PORTS_START( herodk ) PORT_START /* IN0 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN2 */ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* status from sound cpu */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_START /* DSW0 */ PORT_DIPUNUSED( 0x01, IP_ACTIVE_HIGH ) PORT_DIPNAME( 0x02, 0x00, DEF_STR( Lives ) ) PORT_DIPSETTING( 0x00, "3" ) PORT_DIPSETTING( 0x02, "5" ) PORT_DIPNAME( 0x0c, 0x00, "Difficulty?" ) // Stored at 0x1c99 PORT_DIPSETTING( 0x00, "0" ) PORT_DIPSETTING( 0x04, "1" ) PORT_DIPSETTING( 0x08, "2" ) PORT_DIPSETTING( 0x0c, "3" ) PORT_DIPNAME( 0x70, 0x00, DEF_STR( Coinage ) ) PORT_DIPSETTING( 0x70, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x50, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) ) PORT_DIPNAME( 0x80, 0x80, DEF_STR( Cabinet ) ) PORT_DIPSETTING( 0x80, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x00, DEF_STR( Cocktail ) ) PORT_START /* Sense */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_VBLANK ) INPUT_PORTS_END static INPUT_PORTS_START( pestplce ) PORT_START /* IN0 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(1) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(1) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(1) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(1) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_PLAYER(2) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_PLAYER(2) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_PLAYER(2) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_PLAYER(2) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN2 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* status from sound cpu */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_START /* DSW0 */ PORT_DIPNAME( 0x03, 0x00, DEF_STR( Lives ) ) PORT_DIPSETTING( 0x00, "3" ) PORT_DIPSETTING( 0x01, "4" ) PORT_DIPSETTING( 0x02, "5" ) PORT_DIPSETTING( 0x03, "6" ) PORT_DIPNAME( 0x1c, 0x00, DEF_STR( Coinage ) ) PORT_DIPSETTING( 0x08, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x18, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x04, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x0c, DEF_STR( 1C_4C ) ) PORT_DIPSETTING( 0x14, DEF_STR( 1C_5C ) ) PORT_DIPSETTING( 0x1c, DEF_STR( 1C_6C ) ) PORT_DIPNAME( 0x20, 0x20, "2 Players Game" ) PORT_DIPSETTING( 0x00, "1 Credit" ) PORT_DIPSETTING( 0x20, "2 Credits" ) PORT_DIPNAME( 0xc0, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPSETTING( 0x00, "20000" ) PORT_DIPSETTING( 0x40, "30000" ) PORT_DIPSETTING( 0x80, "40000" ) PORT_DIPSETTING( 0xc0, DEF_STR ( None ) ) INPUT_PORTS_END static INPUT_PORTS_START( spclforc ) PORT_START /* IN0 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN2 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_NAME("Start 1 / P1 Button 1") PORT_PLAYER(1) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_NAME("Start 2 / P1 Button 2") PORT_PLAYER(1) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* status from sound cpu */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_START /* DSW0 */ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x02, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x00, DEF_STR( Cabinet ) ) PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x04, DEF_STR( Cocktail ) ) PORT_DIPNAME( 0x18, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPSETTING( 0x00, "40000" ) PORT_DIPSETTING( 0x08, "50000" ) PORT_DIPSETTING( 0x10, "60000" ) PORT_DIPSETTING( 0x18, "70000" ) PORT_DIPNAME( 0xe0, 0x00, DEF_STR( Coinage ) ) PORT_DIPSETTING( 0xe0, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0xa0, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x60, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x20, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x80, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0xc0, DEF_STR( 1C_4C ) ) PORT_START /* Sense */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_VBLANK ) INPUT_PORTS_END static INPUT_PORTS_START( 8ballact ) PORT_START /* IN0 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_8WAY PORT_COCKTAIL PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN2 */ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* status from sound cpu */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_START /* DSW0 */ PORT_DIPNAME( 0x01, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x02, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x02, DEF_STR( On ) ) PORT_DIPNAME( 0x04, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x04, DEF_STR( On ) ) PORT_DIPNAME( 0x08, 0x00, DEF_STR( Cabinet ) ) PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x08, DEF_STR( Cocktail ) ) PORT_DIPNAME( 0x70, 0x00, DEF_STR( Coinage ) ) PORT_DIPSETTING( 0x70, DEF_STR( 5C_1C ) ) PORT_DIPSETTING( 0x50, DEF_STR( 4C_1C ) ) PORT_DIPSETTING( 0x30, DEF_STR( 3C_1C ) ) PORT_DIPSETTING( 0x10, DEF_STR( 2C_1C ) ) PORT_DIPSETTING( 0x00, DEF_STR( 1C_1C ) ) PORT_DIPSETTING( 0x20, DEF_STR( 1C_2C ) ) PORT_DIPSETTING( 0x40, DEF_STR( 1C_3C ) ) PORT_DIPSETTING( 0x60, DEF_STR( 1C_4C ) ) PORT_DIPNAME( 0x80, 0x00, DEF_STR( Unknown ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x80, DEF_STR( On ) ) PORT_START /* Sense */ PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_VBLANK ) INPUT_PORTS_END static INPUT_PORTS_START( drakton ) PORT_START /* IN0 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_JOYSTICK_UP ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_JOYSTICK_DOWN ) PORT_4WAY PORT_COCKTAIL PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN2 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* status from sound cpu */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_START /* DSW0 */ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Demo_Sounds ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x06, 0x04, DEF_STR( Lives ) ) PORT_DIPSETTING( 0x00, "3" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x04, "5" ) PORT_DIPSETTING( 0x06, "6" ) PORT_DIPNAME( 0x08, 0x08, DEF_STR( Difficulty ) ) PORT_DIPSETTING( 0x00, DEF_STR( Easy ) ) PORT_DIPSETTING( 0x08, DEF_STR( Normal ) ) PORT_DIPNAME( 0x70, 0x10, DEF_STR( Bonus_Life ) ) PORT_DIPSETTING( 0x00, "10000" ) PORT_DIPSETTING( 0x10, "20000" ) PORT_DIPSETTING( 0x20, "30000" ) PORT_DIPSETTING( 0x30, "40000" ) PORT_DIPSETTING( 0x40, "50000" ) PORT_DIPSETTING( 0x50, "60000" ) PORT_DIPSETTING( 0x60, "70000" ) PORT_DIPSETTING( 0x70, "80000" ) PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) INPUT_PORTS_END static INPUT_PORTS_START( strtheat ) PORT_START /* IN0 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN1 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_JOYSTICK_RIGHT ) PORT_2WAY PORT_COCKTAIL PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_JOYSTICK_LEFT ) PORT_2WAY PORT_COCKTAIL PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_BUTTON1 ) PORT_COCKTAIL PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_BUTTON2 ) PORT_COCKTAIL PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_BUTTON3 ) PORT_COCKTAIL PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_START /* IN2 */ PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x04, IP_ACTIVE_HIGH, IPT_START1 ) PORT_BIT( 0x08, IP_ACTIVE_HIGH, IPT_START2 ) PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_UNKNOWN ) PORT_BIT( 0x40, IP_ACTIVE_HIGH, IPT_SPECIAL ) /* status from sound cpu */ PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_COIN1 ) PORT_START /* DSW0 */ PORT_DIPNAME( 0x01, 0x01, DEF_STR( Demo_Sounds ) ) PORT_DIPSETTING( 0x00, DEF_STR( Off ) ) PORT_DIPSETTING( 0x01, DEF_STR( On ) ) PORT_DIPNAME( 0x06, 0x00, DEF_STR( Lives ) ) PORT_DIPSETTING( 0x00, "3" ) PORT_DIPSETTING( 0x02, "4" ) PORT_DIPSETTING( 0x04, "5" ) PORT_DIPSETTING( 0x06, "6" ) PORT_DIPNAME( 0x38, 0x00, DEF_STR( Bonus_Life ) ) PORT_DIPSETTING( 0x00, "10000" ) PORT_DIPSETTING( 0x08, "20000" ) PORT_DIPSETTING( 0x10, "30000" ) PORT_DIPSETTING( 0x18, "40000" ) PORT_DIPSETTING( 0x20, "50000" ) PORT_DIPSETTING( 0x28, "60000" ) PORT_DIPSETTING( 0x30, "70000" ) PORT_DIPSETTING( 0x38, "80000" ) PORT_DIPNAME( 0x40, 0x00,"Control type" ) PORT_DIPSETTING( 0x00, "Steering Wheel" ) PORT_DIPSETTING( 0x40, DEF_STR ( Joystick ) ) PORT_DIPNAME( 0x80, 0x00, DEF_STR( Cabinet ) ) PORT_DIPSETTING( 0x00, DEF_STR( Upright ) ) PORT_DIPSETTING( 0x80, DEF_STR( Cocktail ) ) PORT_START /* IN4 */ PORT_BIT( 0x03, 0x00, IPT_DIAL ) PORT_SENSITIVITY(40) PORT_KEYDELTA(10) PORT_REVERSE PORT_START /* IN5 */ PORT_BIT( 0x03, 0x00, IPT_DIAL ) PORT_SENSITIVITY(40) PORT_KEYDELTA(10) PORT_REVERSE PORT_COCKTAIL INPUT_PORTS_END /************************************* * * Graphics definitions * *************************************/ static const gfx_layout charlayout = { 8,8, /* 8*8 characters */ RGN_FRAC(1,2), 2, /* 2 bits per pixel */ { RGN_FRAC(1,2), RGN_FRAC(0,2) }, /* the two bitplanes are separated */ { 0, 1, 2, 3, 4, 5, 6, 7 }, /* pretty straightforward layout */ { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8 }, 8*8 /* every char takes 8 consecutive bytes */ }; static const gfx_layout spritelayout = { 16,16, /* 16*16 sprites */ RGN_FRAC(1,4), /* 128 sprites */ 2, /* 2 bits per pixel */ { RGN_FRAC(1,2), RGN_FRAC(0,2) }, /* the two bitplanes are separated */ { 0, 1, 2, 3, 4, 5, 6, 7, /* the two halves of the sprite are separated */ RGN_FRAC(1,4)+0, RGN_FRAC(1,4)+1, RGN_FRAC(1,4)+2, RGN_FRAC(1,4)+3, RGN_FRAC(1,4)+4, RGN_FRAC(1,4)+5, RGN_FRAC(1,4)+6, RGN_FRAC(1,4)+7 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 }, 16*8 /* every sprite takes 16 consecutive bytes */ }; static const gfx_layout pestplce_spritelayout = { 16,16, /* 16*16 sprites */ 256, /* 256 sprites */ 2, /* 2 bits per pixel */ { 0, 256*16*16 }, /* the two bitplanes are separated */ { 0, 1, 2, 3, 4, 5, 6, 7, /* the two halves of the sprite are separated */ 256*16*8+0, 256*16*8+1, 256*16*8+2, 256*16*8+3, 256*16*8+4, 256*16*8+5, 256*16*8+6, 256*16*8+7 }, { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 }, 16*8 /* every sprite takes 16 consecutive bytes */ }; static GFXDECODE_START( dkong ) GFXDECODE_ENTRY( REGION_GFX1, 0x0000, charlayout, 0, 64 ) GFXDECODE_ENTRY( REGION_GFX2, 0x0000, spritelayout, 0, 64 ) GFXDECODE_END static GFXDECODE_START( pestplce ) GFXDECODE_ENTRY( REGION_GFX1, 0x0000, charlayout, 0, 64 ) GFXDECODE_ENTRY( REGION_GFX2, 0x0000, pestplce_spritelayout, 0, 64 ) GFXDECODE_END /************************************* * * Sound interfaces * *************************************/ static const char *dkongjr_sample_names[] = { "*dkongjr", "jump.wav", "land.wav", "roar.wav", "climb0.wav", "climb1.wav", "climb2.wav", "death.wav", "drop.wav", "walk0.wav", "walk1.wav", "walk2.wav", "snapjaw.wav", 0 /* end of array */ }; static struct Samplesinterface dkongjr_samples_interface = { 8, /* 8 channels */ dkongjr_sample_names }; static struct NESinterface nes_interface_1 = { REGION_CPU2 }; static struct NESinterface nes_interface_2 = { REGION_CPU3 }; /************************************* * * Machine driver * *************************************/ static MACHINE_DRIVER_START( radarscp ) /* basic machine hardware */ MDRV_CPU_ADD(Z80, CLOCK_1H) /* 3.072 MHz (?) */ MDRV_CPU_PROGRAM_MAP(radarscp_map, 0) MDRV_CPU_VBLANK_INT(nmi_line_pulse,1) MDRV_CPU_ADD(I8035,I8035_CLOCK) MDRV_CPU_PROGRAM_MAP(dkong_sound_map, 0) MDRV_CPU_IO_MAP(dkong_sound_io_map, 0) MDRV_MACHINE_START(dkong) MDRV_MACHINE_RESET(dkong) /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART) MDRV_GFXDECODE(dkong) MDRV_PALETTE_LENGTH(256+256+8+1) MDRV_PALETTE_INIT(radarscp) MDRV_VIDEO_START(radarscp) MDRV_VIDEO_UPDATE(radarscp) /* sound hardware */ MDRV_SOUND_START(dkong) MDRV_SPEAKER_STANDARD_MONO("mono") MDRV_SOUND_ADD_TAG("discrete", DISCRETE, 0) MDRV_SOUND_CONFIG_DISCRETE(radarscp) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MACHINE_DRIVER_END static MACHINE_DRIVER_START( radarsc1 ) /* basic machine hardware */ MDRV_CPU_ADD(Z80, CLOCK_1H) /* 3.072 MHz (?) */ MDRV_CPU_PROGRAM_MAP(radarsc1_map, 0) MDRV_CPU_VBLANK_INT(nmi_line_pulse,1) MDRV_CPU_ADD(I8035,I8035_CLOCK) MDRV_CPU_PROGRAM_MAP(dkong_sound_map,0) MDRV_CPU_IO_MAP(radarsc1_sound_io_map, 0) MDRV_MACHINE_START(dkong) MDRV_MACHINE_RESET(dkong) /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART) MDRV_GFXDECODE(dkong) MDRV_PALETTE_LENGTH(256+256+8+1) MDRV_PALETTE_INIT(radarsc1) MDRV_VIDEO_START(radarsc1) MDRV_VIDEO_UPDATE(radarscp) /* sound hardware */ MDRV_SOUND_START(radarsc1) MDRV_SPEAKER_STANDARD_MONO("mono") MDRV_SOUND_ADD_TAG("discrete", DISCRETE, 0) MDRV_SOUND_CONFIG_DISCRETE(radarscp) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) MACHINE_DRIVER_END static MACHINE_DRIVER_START( dkong ) /* basic machine hardware */ MDRV_CPU_ADD(Z80, CLOCK_1H) MDRV_CPU_PROGRAM_MAP(dkong_map, 0) MDRV_CPU_VBLANK_INT(nmi_line_pulse,1) MDRV_CPU_ADD(I8035,I8035_CLOCK) MDRV_CPU_PROGRAM_MAP(dkong_sound_map,0) MDRV_CPU_IO_MAP(dkong_sound_io_map, 0) MDRV_MACHINE_START(dkong) MDRV_MACHINE_RESET(dkong) /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART) MDRV_GFXDECODE(dkong) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(dkong) MDRV_VIDEO_START(dkong) MDRV_VIDEO_UPDATE(dkong) /* sound hardware */ MDRV_SOUND_START(dkong) MDRV_SPEAKER_STANDARD_MONO("mono") MDRV_SOUND_ADD_TAG("discrete", DISCRETE, 0) MDRV_SOUND_CONFIG_DISCRETE(dkong) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.7) MACHINE_DRIVER_END static MACHINE_DRIVER_START( hunchbkd ) /* basic machine hardware */ MDRV_CPU_ADD_TAG("main", S2650, 3072000/2) /* ??? */ MDRV_CPU_PROGRAM_MAP(hunchbkd_map, 0) MDRV_CPU_IO_MAP(hunchbkd_io_map, 0) MDRV_CPU_VBLANK_INT(hunchbkd_interrupt,1) MDRV_CPU_ADD_TAG("sound", I8035,I8035_CLOCK) MDRV_CPU_PROGRAM_MAP(dkong_sound_map, 0) MDRV_CPU_IO_MAP(hunchbkd_sound_io_map, 0) MDRV_MACHINE_START(dkong) MDRV_MACHINE_RESET(dkong) /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART) MDRV_GFXDECODE(dkong) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(dkong) MDRV_VIDEO_START(dkong) MDRV_VIDEO_UPDATE(dkong) /* sound hardware */ MDRV_SOUND_START(hunchbkd) MDRV_SPEAKER_STANDARD_MONO("mono") MDRV_SOUND_ADD(DAC, 0) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.55) MACHINE_DRIVER_END static MACHINE_DRIVER_START( epos ) /* basic machine hardware */ MDRV_CPU_ADD(Z80, CLOCK_1H) MDRV_CPU_PROGRAM_MAP(epos_map, 0) MDRV_CPU_IO_MAP(epos_readport,0) MDRV_CPU_VBLANK_INT(nmi_line_pulse,1) MDRV_CPU_ADD(I8035,I8035_CLOCK) MDRV_CPU_PROGRAM_MAP(dkong_sound_map,0) MDRV_CPU_IO_MAP(dkong_sound_io_map, 0) MDRV_MACHINE_START(dkong) MDRV_MACHINE_RESET(dkong) /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART) MDRV_GFXDECODE(dkong) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(dkong) MDRV_VIDEO_START(dkong) MDRV_VIDEO_UPDATE(dkong) /* sound hardware */ MDRV_SOUND_START(hunchbkd) MDRV_SPEAKER_STANDARD_MONO("mono") MDRV_SOUND_ADD(DAC, 0) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.55) MACHINE_DRIVER_END static MACHINE_DRIVER_START( dkong3 ) /* basic machine hardware */ MDRV_CPU_ADD(Z80,8000000/2) /* 4 MHz */ MDRV_CPU_PROGRAM_MAP(dkong3_map, 0) MDRV_CPU_IO_MAP(0, dkong3_io_map) MDRV_CPU_VBLANK_INT(nmi_line_pulse,1) MDRV_CPU_ADD(N2A03,N2A03_DEFAULTCLOCK) MDRV_CPU_PROGRAM_MAP(dkong3_sound1_map, 0) MDRV_CPU_VBLANK_INT(nmi_line_pulse,1) MDRV_CPU_ADD(N2A03,N2A03_DEFAULTCLOCK) MDRV_CPU_PROGRAM_MAP(dkong3_sound2_map, 0) MDRV_CPU_VBLANK_INT(nmi_line_pulse,1) MDRV_MACHINE_START(dkong) MDRV_MACHINE_RESET(dkong) /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART) MDRV_GFXDECODE(dkong) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(dkong3) MDRV_VIDEO_START(dkong) MDRV_VIDEO_UPDATE(dkong) /* sound hardware */ MDRV_SPEAKER_STANDARD_MONO("mono") MDRV_SOUND_ADD(NES, N2A03_DEFAULTCLOCK) MDRV_SOUND_CONFIG(nes_interface_1) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) MDRV_SOUND_ADD(NES, N2A03_DEFAULTCLOCK) MDRV_SOUND_CONFIG(nes_interface_2) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50) MACHINE_DRIVER_END static MACHINE_DRIVER_START( dkongjr ) /* basic machine hardware */ MDRV_CPU_ADD(Z80, CLOCK_1H) MDRV_CPU_PROGRAM_MAP(dkongjr_map, 0) MDRV_CPU_VBLANK_INT(nmi_line_pulse,1) MDRV_CPU_ADD(I8035,I8035_CLOCK) MDRV_CPU_PROGRAM_MAP(dkong_sound_map,0) MDRV_CPU_IO_MAP(dkong_sound_io_map, 0) MDRV_MACHINE_START(dkong) MDRV_MACHINE_RESET(dkong) /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART) MDRV_GFXDECODE(dkong) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(dkong) MDRV_VIDEO_START(dkong) MDRV_VIDEO_UPDATE(dkong) /* sound hardware */ MDRV_SOUND_START(dkongjr) MDRV_SPEAKER_STANDARD_MONO("mono") MDRV_SOUND_ADD(DAC, 0) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.55) MDRV_SOUND_ADD(SAMPLES, 0) MDRV_SOUND_CONFIG(dkongjr_samples_interface) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25) MACHINE_DRIVER_END static MACHINE_DRIVER_START( pestplce ) /* basic machine hardware */ MDRV_CPU_ADD(Z80, 3072000) /* 3.072 MHz (?) */ MDRV_CPU_PROGRAM_MAP(pestplce_map, 0) MDRV_CPU_VBLANK_INT(nmi_line_pulse,1) MDRV_CPU_ADD(I8035,I8035_CLOCK) MDRV_CPU_PROGRAM_MAP(dkong_sound_map, 0) MDRV_CPU_IO_MAP(dkong_sound_io_map, 0) MDRV_MACHINE_START(dkong) MDRV_MACHINE_RESET(dkong) /* video hardware */ MDRV_VIDEO_ATTRIBUTES(VIDEO_TYPE_RASTER) MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) MDRV_SCREEN_RAW_PARAMS(PIXEL_CLOCK, HTOTAL, HBEND, HBSTART, VTOTAL, VBEND, VBSTART) MDRV_GFXDECODE(pestplce) MDRV_PALETTE_LENGTH(256) MDRV_PALETTE_INIT(dkong) // wrong! MDRV_VIDEO_START(dkong) MDRV_VIDEO_UPDATE(pestplce) /* sound hardware */ MDRV_SOUND_START(hunchbkd) MDRV_SPEAKER_STANDARD_MONO("mono") MDRV_SOUND_ADD(DAC, 0) MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.55) /* samples */ MACHINE_DRIVER_END static MACHINE_DRIVER_START( herbiedk ) /* basic machine hardware */ MDRV_IMPORT_FROM(hunchbkd) MDRV_CPU_MODIFY("main") MDRV_CPU_IO_MAP(herbiedk_io_map, 0) //MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(1000)) MACHINE_DRIVER_END static MACHINE_DRIVER_START( spclforc ) /* basic machine hardware */ MDRV_IMPORT_FROM(hunchbkd) MDRV_CPU_MODIFY("main") MDRV_CPU_IO_MAP(spclforc_io_map,0) MDRV_CPU_REMOVE("sound") /* video hardware */ MDRV_VIDEO_UPDATE(spclforc) /* analog sound */ MACHINE_DRIVER_END static MACHINE_DRIVER_START( eightact ) /* basic machine hardware */ MDRV_IMPORT_FROM(hunchbkd) MDRV_CPU_MODIFY("main") MDRV_CPU_IO_MAP(eightact_io_map, 0) MACHINE_DRIVER_END static MACHINE_DRIVER_START( shootgal ) /* basic machine hardware */ MDRV_IMPORT_FROM(hunchbkd) MDRV_CPU_MODIFY("main") MDRV_CPU_IO_MAP(shootgal_io_map, 0) MACHINE_DRIVER_END static MACHINE_DRIVER_START( dkong3b ) /* basic machine hardware */ MDRV_IMPORT_FROM(dkongjr) MDRV_PALETTE_INIT(dkong3) MACHINE_DRIVER_END static MACHINE_DRIVER_START( strtheat ) /* basic machine hardware */ MDRV_IMPORT_FROM(epos) MDRV_MACHINE_RESET(strtheat) MACHINE_DRIVER_END static MACHINE_DRIVER_START( drakton ) /* basic machine hardware */ MDRV_IMPORT_FROM(epos) MDRV_MACHINE_RESET(drakton) MACHINE_DRIVER_END /************************************* * * ROM definitions * *************************************/ ROM_START( radarscp ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "trs2c5fc", 0x0000, 0x1000, CRC(40949e0d) SHA1(94717b9d027600e25b863e89900df41325875961) ) ROM_LOAD( "trs2c5gc", 0x1000, 0x1000, CRC(afa8c49f) SHA1(25880e9dcf2dc8862f7f3c38687f01dfe2424293) ) ROM_LOAD( "trs2c5hc", 0x2000, 0x1000, CRC(51b8263d) SHA1(09687f2c40cf09ffc2aeddde4a4fa32800847f01) ) ROM_LOAD( "trs2c5kc", 0x3000, 0x1000, CRC(1f0101f7) SHA1(b9f988847fdefa64dfeae06c2244215cb0d64dbe) ) /* space for diagnostic ROM */ ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "trs2s3i", 0x0000, 0x0800, CRC(78034f14) SHA1(548b44ac69f39df6687da1c0f60968009b1e0767) ) /* socket 3J is empty */ ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "trs2v3gc", 0x0000, 0x0800, CRC(f095330e) SHA1(dd3de744f28ff108630d3336bd246d3323fa34af) ) ROM_LOAD( "trs2v3hc", 0x0800, 0x0800, CRC(15a316f0) SHA1(8785a996c6433882a0a7150693c329a4247bb77e) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "trs2v3dc", 0x0000, 0x0800, CRC(e0bb0db9) SHA1(b570439ea1b5d34d0ac938ac9157f22f319b786d) ) ROM_LOAD( "trs2v3cc", 0x0800, 0x0800, CRC(6c4e7dad) SHA1(54e6a5005c44261dc4ba845dcd5ff62ea1402d26) ) ROM_LOAD( "trs2v3bc", 0x1000, 0x0800, CRC(6fdd63f1) SHA1(2eb09ab0759e4c8df9188fb833440d8fc94f6172) ) ROM_LOAD( "trs2v3ac", 0x1800, 0x0800, CRC(bbf62755) SHA1(cb4ca8d4fe689ca0011a4b6c0a2dbd4c764ac70a) ) ROM_REGION( 0x0800, REGION_GFX3, 0 ) /* radar/star timing table */ ROM_LOAD( "trs2v3ec", 0x0000, 0x0800, CRC(0eca8d6b) SHA1(8358b5131d082b2fb8dd793d2e5382daeef6f75c) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "rs2-x.xxx", 0x0000, 0x0100, CRC(54609d61) SHA1(586620ecc61f3e55258fe6360bcacad5f570f29c) ) /* palette low 4 bits (inverted) */ ROM_LOAD( "rs2-c.xxx", 0x0100, 0x0100, CRC(79a7d831) SHA1(475ec991929d43b2bcd4b5aee144249f487d0b5b) ) /* palette high 4 bits (inverted) */ ROM_LOAD( "rs2-v.1hc", 0x0200, 0x0100, CRC(1b828315) SHA1(00c9f8c5ae86b68d38c66f9071b5f1ef421c1005) ) /* character color codes on a per-column basis */ ROM_END ROM_START( radarsc1 ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "trs01_5f", 0x0000, 0x1000, CRC(40949e0d) SHA1(94717b9d027600e25b863e89900df41325875961) ) ROM_LOAD( "trs01_5g", 0x1000, 0x1000, CRC(afa8c49f) SHA1(25880e9dcf2dc8862f7f3c38687f01dfe2424293) ) ROM_LOAD( "trs01_5h", 0x2000, 0x1000, CRC(51b8263d) SHA1(09687f2c40cf09ffc2aeddde4a4fa32800847f01) ) ROM_LOAD( "trs01_5k", 0x3000, 0x1000, CRC(1f0101f7) SHA1(b9f988847fdefa64dfeae06c2244215cb0d64dbe) ) /* space for diagnostic ROM */ //FIXME other drivers need to be updated ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "trs015aa.bin", 0x0000, 0x0800, CRC(5166554c) SHA1(00bf501ca448929f6187598da6fdbc1ea488745a) ) ROM_REGION( 0x0800, REGION_SOUND1, 0 ) /* speech rom */ ROM_LOAD( "trs014ha.bin", 0x0000, 0x0800, CRC(d1f1b48c) SHA1(ee5584368d2e9f7bde271f5004585b53f5ff5c3f) ) // speech rom ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "trs01v3f", 0x0000, 0x0800, CRC(f095330e) SHA1(dd3de744f28ff108630d3336bd246d3323fa34af) ) ROM_LOAD( "trs01v3g", 0x0800, 0x0800, CRC(15a316f0) SHA1(8785a996c6433882a0a7150693c329a4247bb77e) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "trs01v3d", 0x0000, 0x0800, CRC(e0bb0db9) SHA1(b570439ea1b5d34d0ac938ac9157f22f319b786d) ) ROM_LOAD( "trs01v3c", 0x0800, 0x0800, CRC(6c4e7dad) SHA1(54e6a5005c44261dc4ba845dcd5ff62ea1402d26) ) ROM_LOAD( "trs01v3b", 0x1000, 0x0800, CRC(6fdd63f1) SHA1(2eb09ab0759e4c8df9188fb833440d8fc94f6172) ) ROM_LOAD( "trs01v3a", 0x1800, 0x0800, CRC(bbf62755) SHA1(cb4ca8d4fe689ca0011a4b6c0a2dbd4c764ac70a) ) ROM_REGION( 0x0800, REGION_GFX3, 0 ) /* radar/star timing table */ ROM_LOAD( "trs011ha.bin", 0x0000, 0x0800, CRC(dbcc50c2) SHA1(1e438057d4d93ba22794ab0a9bf41bb49ac28a35) ) /* star /grid */ ROM_REGION( 0x0100, REGION_GFX4, 0 ) /* priority based on hor. pos */ ROM_LOAD( "trs01e3k.bin", 0x0000, 0x0100, CRC(6c6f989c) SHA1(d4b90e43d93ef141a8002b88ce5e33411b870ced) ) ROM_REGION( 0x0400, REGION_PROMS, 0 ) ROM_LOAD( "trs01c2j.bin", 0x0000, 0x0100, CRC(2a087c87) SHA1(dbf0c6173583dc4fa5d3f34d2f42cbaf2bd4b167) ) /* blue */ ROM_LOAD( "trs01c2k.bin", 0x0100, 0x0100, CRC(650c5daf) SHA1(72f91ee2fab9eee58ee42881327e6345aa70b7f9) ) /* green */ ROM_LOAD( "trs01c2l.bin", 0x0200, 0x0100, CRC(23087910) SHA1(afc05c322b11fefaf0af857fee06a5afd0d4593e) ) /* red */ // Hack! The prom at pos 1D on video board has not been dumped // Rom 1D is a MB7051, only 5 address lines // Rom below from TRS02 dump: rs2-v.1hc ROM_LOAD( "trs01v1d.bin", 0x0300, 0x0100, BAD_DUMP CRC(1b828315) SHA1(00c9f8c5ae86b68d38c66f9071b5f1ef421c1005) ) /* character color codes on a per-column basis */ ROM_END ROM_START( dkong ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "c_5et_g.bin", 0x0000, 0x1000, CRC(ba70b88b) SHA1(d76ebecfea1af098d843ee7e578e480cd658ac1a) ) ROM_LOAD( "c_5ct_g.bin", 0x1000, 0x1000, CRC(5ec461ec) SHA1(acb11a8fbdbb3ab46068385fe465f681e3c824bd) ) ROM_LOAD( "c_5bt_g.bin", 0x2000, 0x1000, CRC(1c97d324) SHA1(c7966261f3a1d3296927e0b6ee1c58039fc53c1f) ) ROM_LOAD( "c_5at_g.bin", 0x3000, 0x1000, CRC(b9005ac0) SHA1(3fe3599f6fa7c496f782053ddf7bacb453d197c4) ) /* space for diagnostic ROM */ ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "s_3i_b.bin", 0x0000, 0x0800, CRC(45a4ed06) SHA1(144d24464c1f9f01894eb12f846952290e6e32ef) ) ROM_LOAD( "s_3j_b.bin", 0x0800, 0x0800, CRC(4743fe92) SHA1(6c82b57637c0212a580591397e6a5a1718f19fd2) ) ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "v_5h_b.bin", 0x0000, 0x0800, CRC(12c8c95d) SHA1(a57ff5a231c45252a63b354137c920a1379b70a3) ) ROM_LOAD( "v_3pt.bin", 0x0800, 0x0800, CRC(15e9c5e9) SHA1(976eb1e18c74018193a35aa86cff482ebfc5cc4e) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "l_4m_b.bin", 0x0000, 0x0800, CRC(59f8054d) SHA1(793dba9bf5a5fe76328acdfb90815c243d2a65f1) ) ROM_LOAD( "l_4n_b.bin", 0x0800, 0x0800, CRC(672e4714) SHA1(92e5d379f4838ac1fa44d448ce7d142dae42102f) ) ROM_LOAD( "l_4r_b.bin", 0x1000, 0x0800, CRC(feaa59ee) SHA1(ecf95db5a20098804fc8bd59232c66e2e0ed3db4) ) ROM_LOAD( "l_4s_b.bin", 0x1800, 0x0800, CRC(20f2ef7e) SHA1(3bc482a38bf579033f50082748ee95205b0f673d) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "c-2k.bpr", 0x0000, 0x0100, CRC(e273ede5) SHA1(b50ec9e1837c00c20fb2a4369ec7dd0358321127) ) /* palette low 4 bits (inverted) */ ROM_LOAD( "c-2j.bpr", 0x0100, 0x0100, CRC(d6412358) SHA1(f9c872da2fe8e800574ae3bf483fb3ccacc92eb3) ) /* palette high 4 bits (inverted) */ ROM_LOAD( "v-5e.bpr", 0x0200, 0x0100, CRC(b869b8f5) SHA1(c2bdccbf2654b64ea55cd589fd21323a9178a660) ) /* character color codes on a per-column basis */ /********************************************************* I use more appropreate filenames for color PROMs. ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "dkong.2k", 0x0000, 0x0100, CRC(1e82d375) ) ROM_LOAD( "dkong.2j", 0x0100, 0x0100, CRC(2ab01dc8) ) ROM_LOAD( "dkong.5f", 0x0200, 0x0100, CRC(44988665) ) *********************************************************/ ROM_END ROM_START( dkongo ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "c_5f_b.bin", 0x0000, 0x1000, CRC(424f2b11) SHA1(e4f096f2bbd37281f42a5f8e083738f55c07f3dd) ) // tkg3c.5f ROM_LOAD( "c_5ct_g.bin", 0x1000, 0x1000, CRC(5ec461ec) SHA1(acb11a8fbdbb3ab46068385fe465f681e3c824bd) ) // tkg3c.5g ROM_LOAD( "c_5h_b.bin", 0x2000, 0x1000, CRC(1d28895d) SHA1(63792cab215fc2a7b0e8ee61d8115045571e9d42) ) // tkg3c.5h ROM_LOAD( "tkg3c.5k", 0x3000, 0x1000, CRC(553b89bb) SHA1(61611df9e2748fdcd31821038dcc0e16dc933873) ) /* space for diagnostic ROM */ ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "s_3i_b.bin", 0x0000, 0x0800, CRC(45a4ed06) SHA1(144d24464c1f9f01894eb12f846952290e6e32ef) ) ROM_LOAD( "s_3j_b.bin", 0x0800, 0x0800, CRC(4743fe92) SHA1(6c82b57637c0212a580591397e6a5a1718f19fd2) ) ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "v_5h_b.bin", 0x0000, 0x0800, CRC(12c8c95d) SHA1(a57ff5a231c45252a63b354137c920a1379b70a3) ) ROM_LOAD( "v_3pt.bin", 0x0800, 0x0800, CRC(15e9c5e9) SHA1(976eb1e18c74018193a35aa86cff482ebfc5cc4e) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "l_4m_b.bin", 0x0000, 0x0800, CRC(59f8054d) SHA1(793dba9bf5a5fe76328acdfb90815c243d2a65f1) ) ROM_LOAD( "l_4n_b.bin", 0x0800, 0x0800, CRC(672e4714) SHA1(92e5d379f4838ac1fa44d448ce7d142dae42102f) ) ROM_LOAD( "l_4r_b.bin", 0x1000, 0x0800, CRC(feaa59ee) SHA1(ecf95db5a20098804fc8bd59232c66e2e0ed3db4) ) ROM_LOAD( "l_4s_b.bin", 0x1800, 0x0800, CRC(20f2ef7e) SHA1(3bc482a38bf579033f50082748ee95205b0f673d) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "c-2k.bpr", 0x0000, 0x0100, CRC(e273ede5) SHA1(b50ec9e1837c00c20fb2a4369ec7dd0358321127) ) /* palette low 4 bits (inverted) */ ROM_LOAD( "c-2j.bpr", 0x0100, 0x0100, CRC(d6412358) SHA1(f9c872da2fe8e800574ae3bf483fb3ccacc92eb3) ) /* palette high 4 bits (inverted) */ ROM_LOAD( "v-5e.bpr", 0x0200, 0x0100, CRC(b869b8f5) SHA1(c2bdccbf2654b64ea55cd589fd21323a9178a660) ) /* character color codes on a per-column basis */ /********************************************************* I use more appropreate filenames for color PROMs. ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "dkong.2k", 0x0000, 0x0100, CRC(1e82d375) ) ROM_LOAD( "dkong.2j", 0x0100, 0x0100, CRC(2ab01dc8) ) ROM_LOAD( "dkong.5f", 0x0200, 0x0100, CRC(44988665) ) *********************************************************/ ROM_END ROM_START( dkongjp ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "c_5f_b.bin", 0x0000, 0x1000, CRC(424f2b11) SHA1(e4f096f2bbd37281f42a5f8e083738f55c07f3dd) ) ROM_LOAD( "5g.cpu", 0x1000, 0x1000, CRC(d326599b) SHA1(94c7382604d0a123a442d53f9641f366dfbb7631) ) ROM_LOAD( "5h.cpu", 0x2000, 0x1000, CRC(ff31ac89) SHA1(9626a9e6df0d1b0ff273dbbe986f670200f91f75) ) ROM_LOAD( "c_5k_b.bin", 0x3000, 0x1000, CRC(394d6007) SHA1(57e5ae76ef5d4a2fa9cd860b6c6be03b6d5ed5ba) ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "s_3i_b.bin", 0x0000, 0x0800, CRC(45a4ed06) SHA1(144d24464c1f9f01894eb12f846952290e6e32ef) ) ROM_LOAD( "s_3j_b.bin", 0x0800, 0x0800, CRC(4743fe92) SHA1(6c82b57637c0212a580591397e6a5a1718f19fd2) ) ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "v_5h_b.bin", 0x0000, 0x0800, CRC(12c8c95d) SHA1(a57ff5a231c45252a63b354137c920a1379b70a3) ) ROM_LOAD( "v_5k_b.bin", 0x0800, 0x0800, CRC(3684f914) SHA1(882ae48ec1eabf5d350438dfec37ab20f7ee155d) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "l_4m_b.bin", 0x0000, 0x0800, CRC(59f8054d) SHA1(793dba9bf5a5fe76328acdfb90815c243d2a65f1) ) ROM_LOAD( "l_4n_b.bin", 0x0800, 0x0800, CRC(672e4714) SHA1(92e5d379f4838ac1fa44d448ce7d142dae42102f) ) ROM_LOAD( "l_4r_b.bin", 0x1000, 0x0800, CRC(feaa59ee) SHA1(ecf95db5a20098804fc8bd59232c66e2e0ed3db4) ) ROM_LOAD( "l_4s_b.bin", 0x1800, 0x0800, CRC(20f2ef7e) SHA1(3bc482a38bf579033f50082748ee95205b0f673d) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "c-2k.bpr", 0x0000, 0x0100, CRC(e273ede5) SHA1(b50ec9e1837c00c20fb2a4369ec7dd0358321127) ) /* palette low 4 bits (inverted) */ ROM_LOAD( "c-2j.bpr", 0x0100, 0x0100, CRC(d6412358) SHA1(f9c872da2fe8e800574ae3bf483fb3ccacc92eb3) ) /* palette high 4 bits (inverted) */ ROM_LOAD( "v-5e.bpr", 0x0200, 0x0100, CRC(b869b8f5) SHA1(c2bdccbf2654b64ea55cd589fd21323a9178a660) ) /* character color codes on a per-column basis */ /********************************************************* I use more appropreate filenames for color PROMs. ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "dkong.2k", 0x0000, 0x0100, CRC(1e82d375) ) ROM_LOAD( "dkong.2j", 0x0100, 0x0100, CRC(2ab01dc8) ) ROM_LOAD( "dkong.5f", 0x0200, 0x0100, CRC(44988665) ) *********************************************************/ ROM_END ROM_START( dkongjo ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "c_5f_b.bin", 0x0000, 0x1000, CRC(424f2b11) SHA1(e4f096f2bbd37281f42a5f8e083738f55c07f3dd) ) ROM_LOAD( "c_5g_b.bin", 0x1000, 0x1000, CRC(3b2a6635) SHA1(32c62e00863ab99c6f263587d9d5bb775a68f3de) ) ROM_LOAD( "c_5h_b.bin", 0x2000, 0x1000, CRC(1d28895d) SHA1(63792cab215fc2a7b0e8ee61d8115045571e9d42) ) ROM_LOAD( "c_5k_b.bin", 0x3000, 0x1000, CRC(394d6007) SHA1(57e5ae76ef5d4a2fa9cd860b6c6be03b6d5ed5ba) ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "s_3i_b.bin", 0x0000, 0x0800, CRC(45a4ed06) SHA1(144d24464c1f9f01894eb12f846952290e6e32ef) ) ROM_LOAD( "s_3j_b.bin", 0x0800, 0x0800, CRC(4743fe92) SHA1(6c82b57637c0212a580591397e6a5a1718f19fd2) ) ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "v_5h_b.bin", 0x0000, 0x0800, CRC(12c8c95d) SHA1(a57ff5a231c45252a63b354137c920a1379b70a3) ) ROM_LOAD( "v_5k_b.bin", 0x0800, 0x0800, CRC(3684f914) SHA1(882ae48ec1eabf5d350438dfec37ab20f7ee155d) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "l_4m_b.bin", 0x0000, 0x0800, CRC(59f8054d) SHA1(793dba9bf5a5fe76328acdfb90815c243d2a65f1) ) ROM_LOAD( "l_4n_b.bin", 0x0800, 0x0800, CRC(672e4714) SHA1(92e5d379f4838ac1fa44d448ce7d142dae42102f) ) ROM_LOAD( "l_4r_b.bin", 0x1000, 0x0800, CRC(feaa59ee) SHA1(ecf95db5a20098804fc8bd59232c66e2e0ed3db4) ) ROM_LOAD( "l_4s_b.bin", 0x1800, 0x0800, CRC(20f2ef7e) SHA1(3bc482a38bf579033f50082748ee95205b0f673d) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "c-2k.bpr", 0x0000, 0x0100, CRC(e273ede5) SHA1(b50ec9e1837c00c20fb2a4369ec7dd0358321127) ) /* palette low 4 bits (inverted) */ ROM_LOAD( "c-2j.bpr", 0x0100, 0x0100, CRC(d6412358) SHA1(f9c872da2fe8e800574ae3bf483fb3ccacc92eb3) ) /* palette high 4 bits (inverted) */ ROM_LOAD( "v-5e.bpr", 0x0200, 0x0100, CRC(b869b8f5) SHA1(c2bdccbf2654b64ea55cd589fd21323a9178a660) ) /* character color codes on a per-column basis */ /********************************************************* I use more appropreate filenames for color PROMs. ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "dkong.2k", 0x0000, 0x0100, CRC(1e82d375) ) ROM_LOAD( "dkong.2j", 0x0100, 0x0100, CRC(2ab01dc8) ) ROM_LOAD( "dkong.5f", 0x0200, 0x0100, CRC(44988665) ) *********************************************************/ ROM_END ROM_START( dkongjo1 ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "c_5f_b.bin", 0x0000, 0x1000, CRC(424f2b11) SHA1(e4f096f2bbd37281f42a5f8e083738f55c07f3dd) ) ROM_LOAD( "5g.cpu", 0x1000, 0x1000, CRC(d326599b) SHA1(94c7382604d0a123a442d53f9641f366dfbb7631) ) ROM_LOAD( "c_5h_b.bin", 0x2000, 0x1000, CRC(1d28895d) SHA1(63792cab215fc2a7b0e8ee61d8115045571e9d42) ) ROM_LOAD( "5k.bin", 0x3000, 0x1000, CRC(7961599c) SHA1(698a4c2b8d67840dca7526efb1ac0d3370a86925) ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "s_3i_b.bin", 0x0000, 0x0800, CRC(45a4ed06) SHA1(144d24464c1f9f01894eb12f846952290e6e32ef) ) ROM_LOAD( "s_3j_b.bin", 0x0800, 0x0800, CRC(4743fe92) SHA1(6c82b57637c0212a580591397e6a5a1718f19fd2) ) ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "v_5h_b.bin", 0x0000, 0x0800, CRC(12c8c95d) SHA1(a57ff5a231c45252a63b354137c920a1379b70a3) ) ROM_LOAD( "v_5k_b.bin", 0x0800, 0x0800, CRC(3684f914) SHA1(882ae48ec1eabf5d350438dfec37ab20f7ee155d) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "l_4m_b.bin", 0x0000, 0x0800, CRC(59f8054d) SHA1(793dba9bf5a5fe76328acdfb90815c243d2a65f1) ) ROM_LOAD( "l_4n_b.bin", 0x0800, 0x0800, CRC(672e4714) SHA1(92e5d379f4838ac1fa44d448ce7d142dae42102f) ) ROM_LOAD( "l_4r_b.bin", 0x1000, 0x0800, CRC(feaa59ee) SHA1(ecf95db5a20098804fc8bd59232c66e2e0ed3db4) ) ROM_LOAD( "l_4s_b.bin", 0x1800, 0x0800, CRC(20f2ef7e) SHA1(3bc482a38bf579033f50082748ee95205b0f673d) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "c-2k.bpr", 0x0000, 0x0100, CRC(e273ede5) SHA1(b50ec9e1837c00c20fb2a4369ec7dd0358321127) ) /* palette low 4 bits (inverted) */ ROM_LOAD( "c-2j.bpr", 0x0100, 0x0100, CRC(d6412358) SHA1(f9c872da2fe8e800574ae3bf483fb3ccacc92eb3) ) /* palette high 4 bits (inverted) */ ROM_LOAD( "v-5e.bpr", 0x0200, 0x0100, CRC(b869b8f5) SHA1(c2bdccbf2654b64ea55cd589fd21323a9178a660) ) /* character color codes on a per-column basis */ /********************************************************* I use more appropreate filenames for color PROMs. ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "dkong.2k", 0x0000, 0x0100, CRC(1e82d375) ) ROM_LOAD( "dkong.2j", 0x0100, 0x0100, CRC(2ab01dc8) ) ROM_LOAD( "dkong.5f", 0x0200, 0x0100, CRC(44988665) ) *********************************************************/ ROM_END ROM_START( dkongjr ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "dkj.5b", 0x0000, 0x1000, CRC(dea28158) SHA1(08baf84ae6f9b40a2c743fe1d8c158c74a40e95a) ) ROM_CONTINUE( 0x3000, 0x1000 ) ROM_LOAD( "dkj.5c", 0x2000, 0x0800, CRC(6fb5faf6) SHA1(ce1cfde71a9e2a8b5896a6301d386f72869a1d2e) ) ROM_CONTINUE( 0x4800, 0x0800 ) ROM_CONTINUE( 0x1000, 0x0800 ) ROM_CONTINUE( 0x5800, 0x0800 ) ROM_LOAD( "dkj.5e", 0x4000, 0x0800, CRC(d042b6a8) SHA1(57ac237d273496b44220b4437118115ef11dbd9f) ) ROM_CONTINUE( 0x2800, 0x0800 ) ROM_CONTINUE( 0x5000, 0x0800 ) ROM_CONTINUE( 0x1800, 0x0800 ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "c_3h.bin", 0x0000, 0x1000, CRC(715da5f8) SHA1(f708c3fd374da65cbd9fe2e191152f5d865414a0) ) ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "dkj.3n", 0x0000, 0x1000, CRC(8d51aca9) SHA1(64887564b079d98e98aafa53835e398f34fe4e3f) ) ROM_LOAD( "dkj.3p", 0x1000, 0x1000, CRC(4ef64ba5) SHA1(41a7a4005087951f57f62c9751d62a8c495e6bb3) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "v_7c.bin", 0x0000, 0x0800, CRC(dc7f4164) SHA1(07a6242e95b5c3b8dfdcd4b4950f463dba16dd77) ) ROM_LOAD( "v_7d.bin", 0x0800, 0x0800, CRC(0ce7dcf6) SHA1(0654b77526c49f0dfa077ac4f1f69cf5cb2e2f64) ) ROM_LOAD( "v_7e.bin", 0x1000, 0x0800, CRC(24d1ff17) SHA1(696854bf3dc5447d33b4815db357e6ce3834d867) ) ROM_LOAD( "v_7f.bin", 0x1800, 0x0800, CRC(0f8c083f) SHA1(0b688ae9da296b2447fffa5e135fd6a56ec3e790) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "c-2e.bpr", 0x0000, 0x0100, CRC(463dc7ad) SHA1(b2c9f22facc8885be2d953b056eb8dcddd4f34cb) ) /* palette low 4 bits (inverted) */ ROM_LOAD( "c-2f.bpr", 0x0100, 0x0100, CRC(47ba0042) SHA1(dbec3f4b8013628c5b8f83162e5f8b1f82f6ee5f) ) /* palette high 4 bits (inverted) */ ROM_LOAD( "v-2n.bpr", 0x0200, 0x0100, CRC(dbf185bf) SHA1(2697a991a4afdf079dd0b7e732f71c7618f43b70) ) /* character color codes on a per-column basis */ ROM_END ROM_START( dkongjrj ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "c_5ba.bin", 0x0000, 0x1000, CRC(50a015ce) SHA1(edcafdf8f989dd25bb142817084d270a6942577a) ) ROM_CONTINUE( 0x3000, 0x1000 ) ROM_LOAD( "c_5ca.bin", 0x2000, 0x0800, CRC(c0a18f0d) SHA1(6d7396b98c0a7fa508dc233f90e5a8359439c97b) ) ROM_CONTINUE( 0x4800, 0x0800 ) ROM_CONTINUE( 0x1000, 0x0800 ) ROM_CONTINUE( 0x5800, 0x0800 ) ROM_LOAD( "c_5ea.bin", 0x4000, 0x0800, CRC(a81dd00c) SHA1(ec507d963151bb8fcee13a47d7f93aa4cd089b7e) ) ROM_CONTINUE( 0x2800, 0x0800 ) ROM_CONTINUE( 0x5000, 0x0800 ) ROM_CONTINUE( 0x1800, 0x0800 ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "c_3h.bin", 0x0000, 0x1000, CRC(715da5f8) SHA1(f708c3fd374da65cbd9fe2e191152f5d865414a0) ) ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "v_3na.bin", 0x0000, 0x1000, CRC(a95c4c63) SHA1(75e312b6872958f3bfc7bafd0743efdf7a74e8f0) ) ROM_LOAD( "v_3pa.bin", 0x1000, 0x1000, CRC(4974ffef) SHA1(7bb1e207dd3c5214e405bf32c57ec1b048061050) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "v_7c.bin", 0x0000, 0x0800, CRC(dc7f4164) SHA1(07a6242e95b5c3b8dfdcd4b4950f463dba16dd77) ) ROM_LOAD( "v_7d.bin", 0x0800, 0x0800, CRC(0ce7dcf6) SHA1(0654b77526c49f0dfa077ac4f1f69cf5cb2e2f64) ) ROM_LOAD( "v_7e.bin", 0x1000, 0x0800, CRC(24d1ff17) SHA1(696854bf3dc5447d33b4815db357e6ce3834d867) ) ROM_LOAD( "v_7f.bin", 0x1800, 0x0800, CRC(0f8c083f) SHA1(0b688ae9da296b2447fffa5e135fd6a56ec3e790) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "c-2e.bpr", 0x0000, 0x0100, CRC(463dc7ad) SHA1(b2c9f22facc8885be2d953b056eb8dcddd4f34cb) ) /* palette low 4 bits (inverted) */ ROM_LOAD( "c-2f.bpr", 0x0100, 0x0100, CRC(47ba0042) SHA1(dbec3f4b8013628c5b8f83162e5f8b1f82f6ee5f) ) /* palette high 4 bits (inverted) */ ROM_LOAD( "v-2n.bpr", 0x0200, 0x0100, CRC(dbf185bf) SHA1(2697a991a4afdf079dd0b7e732f71c7618f43b70) ) /* character color codes on a per-column basis */ ROM_END ROM_START( dkngjnrj ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "dkjp.5b", 0x0000, 0x1000, CRC(7b48870b) SHA1(4f737559e2bf5cc28824220417d7a2827361221f) ) ROM_CONTINUE( 0x3000, 0x1000 ) ROM_LOAD( "dkjp.5c", 0x2000, 0x0800, CRC(12391665) SHA1(3141ed5096097c48ac128636330ab6837a665d40) ) ROM_CONTINUE( 0x4800, 0x0800 ) ROM_CONTINUE( 0x1000, 0x0800 ) ROM_CONTINUE( 0x5800, 0x0800 ) ROM_LOAD( "dkjp.5e", 0x4000, 0x0800, CRC(6c9f9103) SHA1(2d595e13c4ecb74b18e92b00efcc90c1e841b478) ) ROM_CONTINUE( 0x2800, 0x0800 ) ROM_CONTINUE( 0x5000, 0x0800 ) ROM_CONTINUE( 0x1800, 0x0800 ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "c_3h.bin", 0x0000, 0x1000, CRC(715da5f8) SHA1(f708c3fd374da65cbd9fe2e191152f5d865414a0) ) ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "dkj.3n", 0x0000, 0x1000, CRC(8d51aca9) SHA1(64887564b079d98e98aafa53835e398f34fe4e3f) ) ROM_LOAD( "dkj.3p", 0x1000, 0x1000, CRC(4ef64ba5) SHA1(41a7a4005087951f57f62c9751d62a8c495e6bb3) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "v_7c.bin", 0x0000, 0x0800, CRC(dc7f4164) SHA1(07a6242e95b5c3b8dfdcd4b4950f463dba16dd77) ) ROM_LOAD( "v_7d.bin", 0x0800, 0x0800, CRC(0ce7dcf6) SHA1(0654b77526c49f0dfa077ac4f1f69cf5cb2e2f64) ) ROM_LOAD( "v_7e.bin", 0x1000, 0x0800, CRC(24d1ff17) SHA1(696854bf3dc5447d33b4815db357e6ce3834d867) ) ROM_LOAD( "v_7f.bin", 0x1800, 0x0800, CRC(0f8c083f) SHA1(0b688ae9da296b2447fffa5e135fd6a56ec3e790) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "c-2e.bpr", 0x0000, 0x0100, CRC(463dc7ad) SHA1(b2c9f22facc8885be2d953b056eb8dcddd4f34cb) ) /* palette low 4 bits (inverted) */ ROM_LOAD( "c-2f.bpr", 0x0100, 0x0100, CRC(47ba0042) SHA1(dbec3f4b8013628c5b8f83162e5f8b1f82f6ee5f) ) /* palette high 4 bits (inverted) */ ROM_LOAD( "v-2n.bpr", 0x0200, 0x0100, CRC(dbf185bf) SHA1(2697a991a4afdf079dd0b7e732f71c7618f43b70) ) /* character color codes on a per-column basis */ ROM_END ROM_START( dkongjrb ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "dkjr1", 0x0000, 0x1000, CRC(ec7e097f) SHA1(c10885d8724434030094a106c5b6de7fa6976d0f) ) ROM_CONTINUE( 0x3000, 0x1000 ) ROM_LOAD( "c_5ca.bin", 0x2000, 0x0800, CRC(c0a18f0d) SHA1(6d7396b98c0a7fa508dc233f90e5a8359439c97b) ) ROM_CONTINUE( 0x4800, 0x0800 ) ROM_CONTINUE( 0x1000, 0x0800 ) ROM_CONTINUE( 0x5800, 0x0800 ) ROM_LOAD( "c_5ea.bin", 0x4000, 0x0800, CRC(a81dd00c) SHA1(ec507d963151bb8fcee13a47d7f93aa4cd089b7e) ) ROM_CONTINUE( 0x2800, 0x0800 ) ROM_CONTINUE( 0x5000, 0x0800 ) ROM_CONTINUE( 0x1800, 0x0800 ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "c_3h.bin", 0x0000, 0x1000, CRC(715da5f8) SHA1(f708c3fd374da65cbd9fe2e191152f5d865414a0) ) ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "v_3na.bin", 0x0000, 0x1000, CRC(a95c4c63) SHA1(75e312b6872958f3bfc7bafd0743efdf7a74e8f0) ) ROM_LOAD( "dkjr10", 0x1000, 0x1000, CRC(adc11322) SHA1(01c13213e413c269cf8d9e391209b32b18747c8d) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "v_7c.bin", 0x0000, 0x0800, CRC(dc7f4164) SHA1(07a6242e95b5c3b8dfdcd4b4950f463dba16dd77) ) ROM_LOAD( "v_7d.bin", 0x0800, 0x0800, CRC(0ce7dcf6) SHA1(0654b77526c49f0dfa077ac4f1f69cf5cb2e2f64) ) ROM_LOAD( "v_7e.bin", 0x1000, 0x0800, CRC(24d1ff17) SHA1(696854bf3dc5447d33b4815db357e6ce3834d867) ) ROM_LOAD( "v_7f.bin", 0x1800, 0x0800, CRC(0f8c083f) SHA1(0b688ae9da296b2447fffa5e135fd6a56ec3e790) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "c-2e.bpr", 0x0000, 0x0100, CRC(463dc7ad) SHA1(b2c9f22facc8885be2d953b056eb8dcddd4f34cb) ) /* palette low 4 bits (inverted) */ ROM_LOAD( "c-2f.bpr", 0x0100, 0x0100, CRC(47ba0042) SHA1(dbec3f4b8013628c5b8f83162e5f8b1f82f6ee5f) ) /* palette high 4 bits (inverted) */ ROM_LOAD( "v-2n.bpr", 0x0200, 0x0100, CRC(dbf185bf) SHA1(2697a991a4afdf079dd0b7e732f71c7618f43b70) ) /* character color codes on a per-column basis */ ROM_END ROM_START( dkngjnrb ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "djr1-c.5b", 0x0000, 0x1000, CRC(ffe9e1a5) SHA1(715dc79d85169b4c1faf43458592e69b434afefd) ) ROM_CONTINUE( 0x3000, 0x1000 ) ROM_LOAD( "djr1-c.5c", 0x2000, 0x0800, CRC(982e30e8) SHA1(4d93d79e6ab1cad678af509cb3be4166b239bfa6) ) ROM_CONTINUE( 0x4800, 0x0800 ) ROM_CONTINUE( 0x1000, 0x0800 ) ROM_CONTINUE( 0x5800, 0x0800 ) ROM_LOAD( "djr1-c.5e", 0x4000, 0x0800, CRC(24c3d325) SHA1(98b0354cddf2cb5e21a3aa8387b86e8606e51d55) ) ROM_CONTINUE( 0x2800, 0x0800 ) ROM_CONTINUE( 0x5000, 0x0800 ) ROM_CONTINUE( 0x1800, 0x0800 ) ROM_LOAD( "djr1-c.5a", 0x8000, 0x1000, CRC(bb5f5180) SHA1(1ef6236b7204432cfd17c689760943ab603c6fb7) ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "c_3h.bin", 0x0000, 0x1000, CRC(715da5f8) SHA1(f708c3fd374da65cbd9fe2e191152f5d865414a0) ) ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "dkj.3n", 0x0000, 0x1000, CRC(8d51aca9) SHA1(64887564b079d98e98aafa53835e398f34fe4e3f) ) ROM_LOAD( "dkj.3p", 0x1000, 0x1000, CRC(4ef64ba5) SHA1(41a7a4005087951f57f62c9751d62a8c495e6bb3) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "v_7c.bin", 0x0000, 0x0800, CRC(dc7f4164) SHA1(07a6242e95b5c3b8dfdcd4b4950f463dba16dd77) ) ROM_LOAD( "v_7d.bin", 0x0800, 0x0800, CRC(0ce7dcf6) SHA1(0654b77526c49f0dfa077ac4f1f69cf5cb2e2f64) ) ROM_LOAD( "v_7e.bin", 0x1000, 0x0800, CRC(24d1ff17) SHA1(696854bf3dc5447d33b4815db357e6ce3834d867) ) ROM_LOAD( "v_7f.bin", 0x1800, 0x0800, CRC(0f8c083f) SHA1(0b688ae9da296b2447fffa5e135fd6a56ec3e790) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "c-2e.bpr", 0x0000, 0x0100, CRC(463dc7ad) SHA1(b2c9f22facc8885be2d953b056eb8dcddd4f34cb) ) /* palette low 4 bits (inverted) */ ROM_LOAD( "c-2f.bpr", 0x0100, 0x0100, CRC(47ba0042) SHA1(dbec3f4b8013628c5b8f83162e5f8b1f82f6ee5f) ) /* palette high 4 bits (inverted) */ ROM_LOAD( "v-2n.bpr", 0x0200, 0x0100, CRC(dbf185bf) SHA1(2697a991a4afdf079dd0b7e732f71c7618f43b70) ) /* character color codes on a per-column basis */ ROM_END ROM_START( pestplce ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "pest.1p", 0x0000, 0x1000, CRC(80d50721) SHA1(9c0e7571b1664dce741595a2d13dc9d7709b35a9) ) ROM_CONTINUE( 0x3000, 0x1000 ) ROM_LOAD( "pest.2p", 0x2000, 0x0800, CRC(9c3681cc) SHA1(c12e8e7ab79c9fde92cca2c589904f68cf52cbf1) ) ROM_CONTINUE( 0x4800, 0x0800 ) ROM_CONTINUE( 0x1000, 0x0800 ) ROM_CONTINUE( 0x5800, 0x0800 ) ROM_LOAD( "pest.3p", 0x4000, 0x0800, CRC(49853922) SHA1(1e8a29fdb1af52a39c07ef214f5e7c2d56b35ea5) ) ROM_CONTINUE( 0x2800, 0x0800 ) ROM_CONTINUE( 0x5000, 0x0800 ) ROM_CONTINUE( 0x1800, 0x0800 ) ROM_LOAD( "pest.0", 0xb000, 0x1000, CRC(28952b56) SHA1(fa8abe594a88a61e85f074d03822d7e0dcd52fb2) ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "pest.4", 0x0000, 0x1000, CRC(715da5f8) SHA1(f708c3fd374da65cbd9fe2e191152f5d865414a0) ) ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "pest.o", 0x0000, 0x1000, CRC(03939ece) SHA1(a776558eba2f8a2bc16933555d41a4532b627bff) ) ROM_LOAD( "pest.k", 0x1000, 0x1000, CRC(2acacedf) SHA1(f91863f46aeb8986226b0b0854bac00217d6e7cf) ) ROM_REGION( 0x4000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "pest.a", 0x1000, 0x1000, CRC(1958346e) SHA1(c4053dafc904b5e202e4a1acc48dd3e22db05c74) ) ROM_LOAD( "pest.b", 0x0000, 0x1000, CRC(e760073e) SHA1(917e74a4efa62b7404a03f094f3f4047dda8feda) ) ROM_LOAD( "pest.c", 0x3000, 0x1000, CRC(bf08f2a3) SHA1(c755f7463ac46054c65248d91b8e8da9cd379bf5) ) ROM_LOAD( "pest.d", 0x2000, 0x1000, CRC(3a993c17) SHA1(af7048576aa3185b051518663693802ec9014a74) ) /* not standard dkong layout */ ROM_REGION( 0x0300, REGION_PROMS, ROMREGION_INVERT ) ROM_LOAD( "n82s129a.bin", 0x0000, 0x0100, CRC(0330f35f) SHA1(5bd50cdd738b258dd3cfcd0e1dd8d37c927edc4b) ) ROM_LOAD( "n82s129b.bin", 0x0100, 0x0100, CRC(ba88311b) SHA1(b4388ebd3984bdb966d850cfb7d34c3ebce230b7) ) ROM_LOAD( "sn74s288n.bin", 0x0200, 0x0020, CRC(a5a6f2ca) SHA1(5507fb6f5c8845c4421c2996e9f76c818d987623) ) ROM_END ROM_START( dkong3 ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "dk3c.7b", 0x0000, 0x2000, CRC(38d5f38e) SHA1(5a6bb0e5070211515e3d56bd7d4c2d1655ac1621) ) ROM_LOAD( "dk3c.7c", 0x2000, 0x2000, CRC(c9134379) SHA1(ecddb3694b93cb3dc98c3b1aeeee928e27529aba) ) ROM_LOAD( "dk3c.7d", 0x4000, 0x2000, CRC(d22e2921) SHA1(59a4a1a36aaca19ee0a7255d832df9d042ba34fb) ) ROM_LOAD( "dk3c.7e", 0x8000, 0x2000, CRC(615f14b7) SHA1(145674073e95d97c9131b6f2b03303eadb57ca78) ) ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound #1 */ ROM_LOAD( "dk3c.5l", 0xe000, 0x2000, CRC(7ff88885) SHA1(d530581778aab260e21f04c38e57ba34edea7c64) ) ROM_REGION( 0x10000, REGION_CPU3, 0 ) /* sound #2 */ ROM_LOAD( "dk3c.6h", 0xe000, 0x2000, CRC(36d7200c) SHA1(7965fcb9bc1c0fdcae8a8e79df9c7b7439c506d8) ) ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "dk3v.3n", 0x0000, 0x1000, CRC(415a99c7) SHA1(e0855b03bb1dc0d8ae46da9fe33ca30ecf6a2e96) ) ROM_LOAD( "dk3v.3p", 0x1000, 0x1000, CRC(25744ea0) SHA1(4866e43e80b010ccf2c8cc94c232786521f9e26e) ) ROM_REGION( 0x4000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "dk3v.7c", 0x0000, 0x1000, CRC(8ffa1737) SHA1(fa5896124227d412fbdf83f129ddffa32cf2053b) ) ROM_LOAD( "dk3v.7d", 0x1000, 0x1000, CRC(9ac84686) SHA1(a089376b9c23094490703152ad98ed27f519402d) ) ROM_LOAD( "dk3v.7e", 0x2000, 0x1000, CRC(0c0af3fb) SHA1(03e0c3f51bc3c20f95cb02f76f2d80188d5dbe36) ) ROM_LOAD( "dk3v.7f", 0x3000, 0x1000, CRC(55c58662) SHA1(7f3d5a1b386cc37d466e42392ffefc928666a8dc) ) ROM_REGION( 0x0500, REGION_PROMS, 0 ) ROM_LOAD( "dkc1-c.1d", 0x0000, 0x0200, CRC(df54befc) SHA1(7912dbf0a0c8ef68f4ae0f95e55ab164da80e4a1) ) /* palette red & green component */ ROM_LOAD( "dkc1-c.1c", 0x0200, 0x0200, CRC(66a77f40) SHA1(c408d65990f0edd78c4590c447426f383fcd2d88) ) /* palette blue component */ ROM_LOAD( "dkc1-v.2n", 0x0400, 0x0100, CRC(50e33434) SHA1(b63da9bed9dc4c7da78e4c26d4ba14b65f2b7e72) ) /* character color codes on a per-column basis */ ROM_END ROM_START( dkong3j ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "dk3c.7b", 0x0000, 0x2000, CRC(38d5f38e) SHA1(5a6bb0e5070211515e3d56bd7d4c2d1655ac1621) ) ROM_LOAD( "dk3c.7c", 0x2000, 0x2000, CRC(c9134379) SHA1(ecddb3694b93cb3dc98c3b1aeeee928e27529aba) ) ROM_LOAD( "dk3c.7d", 0x4000, 0x2000, CRC(d22e2921) SHA1(59a4a1a36aaca19ee0a7255d832df9d042ba34fb) ) ROM_LOAD( "dk3cj.7e", 0x8000, 0x2000, CRC(25b5be23) SHA1(43cf2a676922e60d9d637777a7721ab7582129fc) ) ROM_REGION( 0x10000, REGION_CPU2, 0 ) /* sound #1 */ ROM_LOAD( "dk3c.5l", 0xe000, 0x2000, CRC(7ff88885) SHA1(d530581778aab260e21f04c38e57ba34edea7c64) ) ROM_REGION( 0x10000, REGION_CPU3, 0 ) /* sound #2 */ ROM_LOAD( "dk3c.6h", 0xe000, 0x2000, CRC(36d7200c) SHA1(7965fcb9bc1c0fdcae8a8e79df9c7b7439c506d8) ) ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "dk3v.3n", 0x0000, 0x1000, CRC(415a99c7) SHA1(e0855b03bb1dc0d8ae46da9fe33ca30ecf6a2e96) ) ROM_LOAD( "dk3v.3p", 0x1000, 0x1000, CRC(25744ea0) SHA1(4866e43e80b010ccf2c8cc94c232786521f9e26e) ) ROM_REGION( 0x4000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "dk3v.7c", 0x0000, 0x1000, CRC(8ffa1737) SHA1(fa5896124227d412fbdf83f129ddffa32cf2053b) ) ROM_LOAD( "dk3v.7d", 0x1000, 0x1000, CRC(9ac84686) SHA1(a089376b9c23094490703152ad98ed27f519402d) ) ROM_LOAD( "dk3v.7e", 0x2000, 0x1000, CRC(0c0af3fb) SHA1(03e0c3f51bc3c20f95cb02f76f2d80188d5dbe36) ) ROM_LOAD( "dk3v.7f", 0x3000, 0x1000, CRC(55c58662) SHA1(7f3d5a1b386cc37d466e42392ffefc928666a8dc) ) ROM_REGION( 0x0500, REGION_PROMS, 0 ) ROM_LOAD( "dkc1-c.1d", 0x0000, 0x0200, CRC(df54befc) SHA1(7912dbf0a0c8ef68f4ae0f95e55ab164da80e4a1) ) /* palette red & green component */ ROM_LOAD( "dkc1-c.1c", 0x0200, 0x0200, CRC(66a77f40) SHA1(c408d65990f0edd78c4590c447426f383fcd2d88) ) /* palette blue component */ ROM_LOAD( "dkc1-v.2n", 0x0400, 0x0100, CRC(50e33434) SHA1(b63da9bed9dc4c7da78e4c26d4ba14b65f2b7e72) ) /* character color codes on a per-column basis */ ROM_END ROM_START( dkong3b ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "5b.bin", 0x0000, 0x1000, CRC(549979bc) SHA1(58532f39285db0b081089e54a23041d83bec49aa) ) ROM_CONTINUE( 0x3000, 0x1000 ) ROM_LOAD( "5c-2.bin", 0x2000, 0x0800, CRC(b9dcbae6) SHA1(a7a7a3d79cb1eed93e54dff508c61cbc24797007) ) ROM_CONTINUE( 0x4800, 0x0800 ) ROM_CONTINUE( 0x1000, 0x0800 ) ROM_CONTINUE( 0x5800, 0x0800 ) ROM_LOAD( "5e-2.bin", 0x4000, 0x0800, CRC(5a61868f) SHA1(25c57969c1fbf457d223c4186ed291a1e0f75e14) ) ROM_CONTINUE( 0x2800, 0x0800 ) ROM_CONTINUE( 0x5000, 0x0800 ) ROM_CONTINUE( 0x1800, 0x0800 ) ROM_LOAD( "5c-1.bin", 0x9000, 0x1000, CRC(77a012d6) SHA1(334ae2c213acd50eda71b4102d0803bc596973ec) ) ROM_LOAD( "5e-1.bin", 0xd000, 0x1000, CRC(745ed767) SHA1(32f4678f3eea9dc88f4c99509719a42292d6833a) ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "3h.bin", 0x0000, 0x1000, CRC(715da5f8) SHA1(f708c3fd374da65cbd9fe2e191152f5d865414a0) ) ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "3n.bin", 0x0000, 0x1000, CRC(fed67d35) SHA1(472a378abff96a76aac0e2da06c8d7c3ce172b60) ) ROM_LOAD( "3p.bin", 0x1000, 0x1000, CRC(3d1b87ce) SHA1(e0cbeebf8dc291302ab1f039e51e9b409cced340) ) ROM_REGION( 0x4000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "7c.bin", 0x0000, 0x1000, CRC(8ffa1737) SHA1(fa5896124227d412fbdf83f129ddffa32cf2053b) ) ROM_LOAD( "7d.bin", 0x1000, 0x1000, CRC(9ac84686) SHA1(a089376b9c23094490703152ad98ed27f519402d) ) ROM_LOAD( "7e.bin", 0x2000, 0x1000, CRC(0c0af3fb) SHA1(03e0c3f51bc3c20f95cb02f76f2d80188d5dbe36) ) ROM_LOAD( "7f.bin", 0x3000, 0x1000, CRC(55c58662) SHA1(7f3d5a1b386cc37d466e42392ffefc928666a8dc) ) ROM_REGION( 0x0500, REGION_PROMS, 0 ) ROM_LOAD( "dk3b-c.1d", 0x0000, 0x0200, CRC(df54befc) SHA1(7912dbf0a0c8ef68f4ae0f95e55ab164da80e4a1) ) /* palette red & green component */ ROM_LOAD( "dk3b-c.1c", 0x0200, 0x0200, CRC(66a77f40) SHA1(c408d65990f0edd78c4590c447426f383fcd2d88) ) /* palette blue component */ ROM_LOAD( "dk3b-v.2n", 0x0400, 0x0100, CRC(50e33434) SHA1(b63da9bed9dc4c7da78e4c26d4ba14b65f2b7e72) ) /* character color codes on a per-column basis */ ROM_END ROM_START( hunchbkd ) ROM_REGION( 0x8000, REGION_CPU1, 0 ) ROM_LOAD( "hb.5e", 0x0000, 0x1000, CRC(4c3ac070) SHA1(636843b33f1b7e994b112fa29e65038098528b8c) ) ROM_LOAD( "hbsc-1.5c", 0x2000, 0x1000, CRC(9b0e6234) SHA1(a7405451e5cd42bc276c659ec5a2136dbb7b6aba) ) ROM_LOAD( "hb.5b", 0x4000, 0x1000, CRC(4cde80f3) SHA1(3d93d8e454b2c517971a99c5700b6e943f975a11) ) ROM_LOAD( "hb.5a", 0x6000, 0x1000, CRC(d60ef5b2) SHA1(b2b5528cb837d58ef632d7670820ad8b07e5af1b) ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "hb.3h", 0x0000, 0x0800, CRC(a3c240d4) SHA1(8cb6057ca617909c73b09988ba65a1176696cb5d) ) ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "hb.3n", 0x0000, 0x0800, CRC(443ed5ac) SHA1(febed689e03abf25452aab6eff85ea01883e929c) ) ROM_LOAD( "hb.3p", 0x0800, 0x0800, CRC(073e7b0c) SHA1(659cd3b1827bf6b7f0c9bef3cd83e69c2b2193ff) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "hb.7c", 0x0000, 0x0800, CRC(3ba71686) SHA1(34c2ceadea1026de6157df1e7a1c2f6b86fd3c82) ) ROM_LOAD( "hb.7d", 0x0800, 0x0800, CRC(5786948d) SHA1(7e8bc953195cc9a07a8429b547e1fab6cd487b51) ) ROM_LOAD( "hb.7e", 0x1000, 0x0800, CRC(f845e8ca) SHA1(4bedbbc74a637f6d60b3b2dbf41efc7390ee9091) ) ROM_LOAD( "hb.7f", 0x1800, 0x0800, CRC(52d20fea) SHA1(e3825f75f312d1e256f78a89098e328e8f307577) ) ROM_REGION( 0x0500, REGION_PROMS, 0 ) ROM_LOAD( "hbprom.2e", 0x0000, 0x0100, CRC(37aab98f) SHA1(0b002ab82158854bdd4a9db05eee037711017313) ) /* palette low 4 bits (inverted) */ ROM_LOAD( "hbprom.2f", 0x0100, 0x0100, CRC(845b8dcc) SHA1(eebd0c024172e54b509f1f99d9159438d5f3a905) ) /* palette high 4 bits (inverted) */ ROM_LOAD( "hbprom.2n", 0x0200, 0x0100, CRC(dff9070a) SHA1(307b95749343b5106247d842f773b2b445faa156) ) /* character color codes on a per-column basis */ ROM_LOAD( "82s147.prm", 0x0300, 0x0200, CRC(46e5bc92) SHA1(f4171f8650818c017d58ad7131a7aff100b1b99c) ) /* unknown */ ROM_END ROM_START( sbdk ) ROM_REGION( 0x8000, REGION_CPU1, 0 ) ROM_LOAD( "sb-dk.ap", 0x0000, 0x1000, CRC(fef0ef9c) SHA1(8d3de7f96354672d906b2e124f3fb355f3201ed2) ) ROM_LOAD( "sb-dk.ay", 0x2000, 0x1000, CRC(2e9dade2) SHA1(74e5770fd362fd0242b8174b0ea5383fdf893cb3) ) ROM_LOAD( "sb-dk.as", 0x4000, 0x1000, CRC(e6d200f3) SHA1(3787334df76e629baa9ef5362495cd3af7777358) ) ROM_LOAD( "sb-dk.5a", 0x6000, 0x1000, CRC(ca41ca56) SHA1(d862172b1cc6639d540efc140b63d1a598f75656) ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "sb-dk.3h", 0x0000, 0x0800, CRC(13e60b6e) SHA1(f5dca15db0f1a225ff0116726bb055bb7b9655cc) ) ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "sb-dk.3n", 0x0000, 0x0800, CRC(b1d76b59) SHA1(aed57ec67d80abdff1a4bfc3a713fa01c0dd15a2) ) ROM_LOAD( "sb-dk.3p", 0x0800, 0x0800, CRC(ea5f9f88) SHA1(5742d3554d967ed1e90f7c6f73dafbd302f0f244) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "sb-dk.7c", 0x0000, 0x0800, CRC(c12c18f2) SHA1(77e99d80e05108ceec21ae299645139f83a389b1) ) ROM_LOAD( "sb-dk.7d", 0x0800, 0x0800, CRC(f7a32d23) SHA1(5782e8f8744481a931c629579ae6f4fff7e2f838) ) ROM_LOAD( "sb-dk.7e", 0x1000, 0x0800, CRC(8e48b13e) SHA1(b4589685a60a8463f656a4f5b0dedfb265c3b3e4) ) ROM_LOAD( "sb-dk.7f", 0x1800, 0x0800, CRC(989969f3) SHA1(de641082476ac3da3872461263566dfb398ea43a) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "sb.2e", 0x0000, 0x0100, CRC(4f06f789) SHA1(0b2775dd8da1c20121639871ed291a015a34e1f6) ) ROM_LOAD( "sb.2f", 0x0100, 0x0100, CRC(2c15b1b2) SHA1(7c80eb77ba47e2f4d889fc10663a0391d4329a1d) ) ROM_LOAD( "sb.2n", 0x0200, 0x0100, CRC(dff9070a) SHA1(307b95749343b5106247d842f773b2b445faa156) ) ROM_END ROM_START( herbiedk ) ROM_REGION( 0x8000, REGION_CPU1, 0 ) ROM_LOAD( "5f.cpu", 0x0000, 0x1000, CRC(c7ab3ac6) SHA1(5ef8c0ac1acd09a0f6c1536d0525cc27bb87b167) ) ROM_LOAD( "5g.cpu", 0x2000, 0x1000, CRC(d1031aa6) SHA1(6f5eadf43f1a59333833b3ee72d8d3043ac8c899) ) ROM_LOAD( "5h.cpu", 0x4000, 0x1000, CRC(c0daf551) SHA1(f39058fa05ad69e839e7c0281cb1fad80cfa3134) ) ROM_LOAD( "5k.cpu", 0x6000, 0x1000, CRC(67442242) SHA1(0241281e8cc721f7fe22822f2cf168c2eed7983d) ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "3i.snd", 0x0000, 0x0800, CRC(20e30406) SHA1(e2b9c6b731e53651d26455c2753a6dc3d5e9d066) ) ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "5h.vid", 0x0000, 0x0800, CRC(ea2a2547) SHA1(ec714abe43ab86ef615e1105688bf3df209c8f5f) ) ROM_LOAD( "5k.vid", 0x0800, 0x0800, CRC(a8d421c9) SHA1(b733246d8674450ef00ed81b7d5e2ca09b3731d8) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "7c.clk", 0x0000, 0x0800, CRC(af646166) SHA1(c935051697f559fa8dea647e976d35b607c931d5) ) ROM_LOAD( "7d.clk", 0x0800, 0x0800, CRC(d8e15832) SHA1(d11983d7a3ff71c6bc75607453080d554ae15df2) ) ROM_LOAD( "7e.clk", 0x1000, 0x0800, CRC(2f7e65fa) SHA1(ff4d03020f9ad423fcebca28395964cb01b19b31) ) ROM_LOAD( "7f.clk", 0x1800, 0x0800, CRC(ad32d5ae) SHA1(578e703ca07b9a0284d1c9c7f260a52e4f4dac0e) ) ROM_REGION( 0x0500, REGION_PROMS, 0 ) ROM_LOAD( "74s287.2k", 0x0000, 0x0100, CRC(7dc0a381) SHA1(7d974b2249392160e3b800e7113d4899c3600b7f) ) /* palette high 4 bits (inverted) */ ROM_LOAD( "74s287.2j", 0x0100, 0x0100, CRC(0a440c00) SHA1(e3249a646cd8aa50739e09ae101e796ea3aac37a) ) /* palette low 4 bits (inverted) */ ROM_LOAD( "74s287.vid", 0x0200, 0x0100, CRC(5a3446cc) SHA1(158de015006e6c400cb7ee758fda7ff760eb5835) ) /* character color codes on a per-column basis */ ROM_LOAD( "82s147.hh", 0x0300, 0x0200, CRC(46e5bc92) SHA1(f4171f8650818c017d58ad7131a7aff100b1b99c) ) /* unknown */ ROM_REGION( 0x0100, REGION_PLDS, ROMREGION_DISPOSE ) ROM_LOAD( "pls153h.bin", 0x0000, 0x00eb, CRC(d6a04bcc) SHA1(ef1ed4311869d46dec95c2bfb31875c2f022da4f) ) ROM_END ROM_START( herodk ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "red-dot.rgt", 0x0c00, 0x0400, CRC(9c4af229) SHA1(8b7330457acdd8d92f2853f3e5f8c18f8991c5c9) ) /* encrypted */ ROM_CONTINUE( 0x0800, 0x0400 ) ROM_CONTINUE( 0x0400, 0x0400 ) ROM_CONTINUE( 0x0000, 0x0400 ) ROM_CONTINUE( 0x2000, 0x0e00 ) ROM_CONTINUE( 0x6e00, 0x0200 ) ROM_LOAD( "wht-dot.lft", 0x4000, 0x1000, CRC(c10f9235) SHA1(42dbf01e5da80cd8bdd18a27c3fbdf4cb5110d9a) ) /* encrypted */ ROM_CONTINUE( 0x6000, 0x0e00 ) ROM_CONTINUE( 0x2e00, 0x0200 ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "silver.3h", 0x0000, 0x0800, CRC(67863ce9) SHA1(2b78e3d32a64cdef34afc476fed7ff0ab6a0277c) ) ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "pnk.3n", 0x0000, 0x0800, CRC(574dfd7a) SHA1(78bbe4ea83fdaec14ca92ceae03e8a3d0877d14b) ) ROM_LOAD( "blk.3p", 0x0800, 0x0800, CRC(16f7c040) SHA1(d1bd1b5f3c66ac6e71637ef42962adabacd79340) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "gold.7c", 0x0000, 0x0800, CRC(5f5282ed) SHA1(fcd467e404fab89addd55bd7c5c07d28551a4c8e) ) ROM_LOAD( "orange.7d", 0x0800, 0x0800, CRC(075d99f5) SHA1(ff6f85a50179e0599b39871be1739080768fc475) ) ROM_LOAD( "yellow.7e", 0x1000, 0x0800, CRC(f6272e96) SHA1(a9608966613aedb36cfb04f85730efed9a44d17c) ) ROM_LOAD( "violet.7f", 0x1800, 0x0800, CRC(ca020685) SHA1(fe0d8d85c3bf244384e9c94f6a7f17db31083245) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "82s129.2e", 0x0000, 0x0100, CRC(da4b47e6) SHA1(2cfc7d489002113eb91048cc29d24831dadbfabb) ) /* palette low 4 bits (inverted) */ ROM_LOAD( "82s129.2f", 0x0100, 0x0100, CRC(96e213a4) SHA1(38f21e7bce96fd2159aa61e64d66aa574d85873c) ) /* palette high 4 bits (inverted) */ ROM_LOAD( "82s126.2n", 0x0200, 0x0100, CRC(37aece4b) SHA1(08dbb470644278132b8126649fe41d70e7750bee) ) /* character color codes on a per-column basis */ ROM_END ROM_START( herodku ) ROM_REGION( 0x10000, REGION_CPU1, 0 ) ROM_LOAD( "2764.8h", 0x0c00, 0x0400, CRC(989ce053) SHA1(852401856a2d91118d1bd0b3db892b57d0ac949c) ) ROM_CONTINUE( 0x0800, 0x0400 ) ROM_CONTINUE( 0x0400, 0x0400 ) ROM_CONTINUE( 0x0000, 0x0400 ) ROM_CONTINUE( 0x2000, 0x1000 ) ROM_LOAD( "2764.8f", 0x4000, 0x1000, CRC(835e0074) SHA1(187358973f595033a4745759f554a3dfd398889b) ) ROM_CONTINUE( 0x6000, 0x1000 ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "2716.3h", 0x0000, 0x0800, CRC(caf57bef) SHA1(60c19c65bf312b36c68631ccea5434ad8cf0f3df) ) ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "pnk.3n", 0x0000, 0x0800, CRC(574dfd7a) SHA1(78bbe4ea83fdaec14ca92ceae03e8a3d0877d14b) ) ROM_LOAD( "blk.3p", 0x0800, 0x0800, CRC(16f7c040) SHA1(d1bd1b5f3c66ac6e71637ef42962adabacd79340) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "gold.7c", 0x0000, 0x0800, CRC(5f5282ed) SHA1(fcd467e404fab89addd55bd7c5c07d28551a4c8e) ) ROM_LOAD( "orange.7d", 0x0800, 0x0800, CRC(075d99f5) SHA1(ff6f85a50179e0599b39871be1739080768fc475) ) ROM_LOAD( "yellow.7e", 0x1000, 0x0800, CRC(f6272e96) SHA1(a9608966613aedb36cfb04f85730efed9a44d17c) ) ROM_LOAD( "violet.7f", 0x1800, 0x0800, CRC(ca020685) SHA1(fe0d8d85c3bf244384e9c94f6a7f17db31083245) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "82s129.2e", 0x0000, 0x0100, CRC(da4b47e6) SHA1(2cfc7d489002113eb91048cc29d24831dadbfabb) ) /* palette low 4 bits (inverted) */ ROM_LOAD( "82s129.2f", 0x0100, 0x0100, CRC(96e213a4) SHA1(38f21e7bce96fd2159aa61e64d66aa574d85873c) ) /* palette high 4 bits (inverted) */ ROM_LOAD( "82s126.2n", 0x0200, 0x0100, CRC(37aece4b) SHA1(08dbb470644278132b8126649fe41d70e7750bee) ) /* character color codes on a per-column basis */ ROM_END ROM_START( spclforc ) ROM_REGION( 0x8000, REGION_CPU1, 0 ) ROM_LOAD( "27128.8f", 0x0000, 0x1000, CRC(1e9b8d26) SHA1(783e733cfb5d8fa560a6e6a7b49f782abc60bb58) ) ROM_CONTINUE( 0x2000, 0x1000 ) ROM_CONTINUE( 0x4000, 0x1000 ) ROM_CONTINUE( 0x6000, 0x1000 ) ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "2716.3n", 0x0000, 0x0800, CRC(68c28bcb) SHA1(12a12cd4d639fea649f4baf40c60994fba303cf0) ) ROM_LOAD( "2716.3p", 0x0800, 0x0800, CRC(dfb18c81) SHA1(a7a17b14f0c1194da1e771cd1291b59d330e4307) ) ROM_REGION( 0x4000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "2732.7c", 0x0000, 0x1000, CRC(c1ea2b17) SHA1(6e95b15e7fdd04023622e8c521560e47e98acf28) ) ROM_LOAD( "2732.7d", 0x1000, 0x1000, CRC(fe5501f0) SHA1(ab7d1e02400659ebedfed2837823f228af017a94) ) ROM_LOAD( "2732.7e", 0x2000, 0x1000, CRC(f6a113bd) SHA1(2f8776780284081f7858334766be6a6fde3a3371) ) ROM_LOAD( "2732.7f", 0x3000, 0x1000, CRC(42857a7a) SHA1(267dd954480bc87f14c758803cb26b7812d323b8) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "82s126.2e", 0x0000, 0x0100, CRC(b3751a25) SHA1(4b444e8fd02ac8674ecaba2fee083cb9feb99fa0) ) ROM_LOAD( "82s126.2f", 0x0100, 0x0100, CRC(1026d438) SHA1(927009e6ed520c39c36c1d7966589c6778df1a3a) ) ROM_LOAD( "82s126.2n", 0x0200, 0x0100, CRC(9735998d) SHA1(c3f50f97369547b1fd25da64507a5c8b725de6d0) ) ROM_END ROM_START( spcfrcii ) ROM_REGION( 0x8000, REGION_CPU1, 0 ) ROM_LOAD( "spfc2.8f", 0x0000, 0x1000, CRC(87f9bb6c) SHA1(f432ff205336280ae11ef4b3061be48e19e07d76) ) ROM_CONTINUE( 0x2000, 0x1000 ) ROM_CONTINUE( 0x4000, 0x1000 ) ROM_CONTINUE( 0x6000, 0x1000 ) ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "spfc2.3n", 0x0000, 0x0800, CRC(7aba051a) SHA1(d9c9f9932991fbc8a2130d3025fdc027e7f89511) ) ROM_LOAD( "spfc2.3p", 0x0800, 0x0800, CRC(efeed826) SHA1(d62c5c75f9c77f7313cb4a60c22368a85807a39a) ) ROM_REGION( 0x4000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "spfc2.7c", 0x0000, 0x1000, CRC(c1ea2b17) SHA1(6e95b15e7fdd04023622e8c521560e47e98acf28) ) ROM_LOAD( "spfc2.7d", 0x1000, 0x1000, CRC(fe5501f0) SHA1(ab7d1e02400659ebedfed2837823f228af017a94) ) ROM_LOAD( "spfc2.7e", 0x2000, 0x1000, CRC(f6a113bd) SHA1(2f8776780284081f7858334766be6a6fde3a3371) ) ROM_LOAD( "spfc2.7f", 0x3000, 0x1000, CRC(42857a7a) SHA1(267dd954480bc87f14c758803cb26b7812d323b8) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "spfc2.2e", 0x0000, 0x0100, CRC(b3751a25) SHA1(4b444e8fd02ac8674ecaba2fee083cb9feb99fa0) ) ROM_LOAD( "spfc2.2f", 0x0100, 0x0100, CRC(1026d438) SHA1(927009e6ed520c39c36c1d7966589c6778df1a3a) ) ROM_LOAD( "spfc2.2n", 0x0200, 0x0100, CRC(9735998d) SHA1(c3f50f97369547b1fd25da64507a5c8b725de6d0) ) ROM_END ROM_START( 8ballact ) ROM_REGION( 0x8000, REGION_CPU1, 0 ) ROM_LOAD( "8b-dk.5e", 0x0400, 0x0400, CRC(166c1c9b) SHA1(fd5661dbb4617a1daff7949ef030b8572bdebb85) ) ROM_CONTINUE( 0x0000, 0x0400 ) ROM_CONTINUE( 0x0c00, 0x0400 ) ROM_CONTINUE( 0x0800, 0x0400 ) ROM_LOAD( "8b-dk.5c", 0x2000, 0x1000, CRC(9ec87baa) SHA1(79fc89d9474ac23cda56f6af27db77aba964f395) ) ROM_LOAD( "8b-dk.5b", 0x4000, 0x1000, CRC(f836a962) SHA1(5a45514ea59cd92092523d116b0dc4a1f8fc46b7) ) ROM_LOAD( "8b-dk.5a", 0x6000, 0x1000, CRC(d45866d4) SHA1(5dfb121aa87bc5e6efadd9412b9f8d360c3dabd3) ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "8b-dk.3h", 0x0000, 0x0800, CRC(a8752c60) SHA1(0d7d35fd271d796e884a33071b83c000b91208a0) ) ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "8b-dk.3n", 0x0000, 0x0800, CRC(44830867) SHA1(29d34792b9193edcdac427367c360d6f01e1e094) ) ROM_LOAD( "8b-dk.3p", 0x0800, 0x0800, CRC(6148c6f2) SHA1(7e6ddb8999f07888ac49441ed8cf6496e8db3caa) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "8b-dk.7c", 0x0000, 0x0800, CRC(e34409f5) SHA1(81fd6f038988843d7ef1c57af75253e497a6f57b) ) ROM_LOAD( "8b-dk.7d", 0x0800, 0x0800, CRC(b4dc37ca) SHA1(6c469f8edbc6dd02e1821972a503e634f920e221) ) ROM_LOAD( "8b-dk.7e", 0x1000, 0x0800, CRC(655af8a8) SHA1(d434efc89226d28d24e858186fab9aff0e476deb) ) ROM_LOAD( "8b-dk.7f", 0x1800, 0x0800, CRC(a29b2763) SHA1(6b2ee88e96a1b74193f12f4fa64a6705f17557b1) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "8b.2e", 0x0000, 0x0100, CRC(c7379a12) SHA1(e128e7d7c71ec61b934651c29648d0d2fc69e306) ) ROM_LOAD( "8b.2f", 0x0100, 0x0100, CRC(116612b4) SHA1(9a7c5329f211b13d5a757fdac761d7096d78b65a) ) ROM_LOAD( "8b.2n", 0x0200, 0x0100, CRC(30586988) SHA1(a9c246fd01cb3ff371ad33b55d5b2fe4898c4d1b) ) ROM_END ROM_START( 8ballat2 ) ROM_REGION( 0x8000, REGION_CPU1, 0 ) ROM_LOAD( "8b-jr.5b", 0x0400, 0x0400, CRC(579cd634) SHA1(93d81539459f7198d8cbf05b3e66a40466aee2d9) ) ROM_CONTINUE( 0x0000, 0x0400 ) ROM_CONTINUE( 0x0c00, 0x0400 ) ROM_CONTINUE( 0x0800, 0x0400 ) ROM_CONTINUE( 0x6000, 0x1000 ) ROM_LOAD( "8b-jr.5c", 0x4000, 0x1000, CRC(9bccbe93) SHA1(dec4e1d41e1df36359f205bf090c4290311e4141) ) ROM_CONTINUE( 0x2000, 0x1000 ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "8b-jr.3h", 0x0000, 0x1000, CRC(7f5c19fa) SHA1(9cde134137ee8e34bb745a72e67981c581561428) ) ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "8b-jr.3n", 0x0000, 0x1000, CRC(9ec0edac) SHA1(ffa1ae2236995527d72917c45be337f642134cf8) ) ROM_LOAD( "8b-jr.3p", 0x1000, 0x1000, CRC(2978a88b) SHA1(15c21a3b3fb879996c13ce56791828e170c771d1) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "8b-jr.7c", 0x0000, 0x0800, CRC(e34409f5) SHA1(81fd6f038988843d7ef1c57af75253e497a6f57b) ) ROM_LOAD( "8b-jr.7d", 0x0800, 0x0800, CRC(b4dc37ca) SHA1(6c469f8edbc6dd02e1821972a503e634f920e221) ) ROM_LOAD( "8b-jr.7e", 0x1000, 0x0800, CRC(655af8a8) SHA1(d434efc89226d28d24e858186fab9aff0e476deb) ) ROM_LOAD( "8b-jr.7f", 0x1800, 0x0800, CRC(a29b2763) SHA1(6b2ee88e96a1b74193f12f4fa64a6705f17557b1) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "8b.2e", 0x0000, 0x0100, CRC(c7379a12) SHA1(e128e7d7c71ec61b934651c29648d0d2fc69e306) ) ROM_LOAD( "8b.2f", 0x0100, 0x0100, CRC(116612b4) SHA1(9a7c5329f211b13d5a757fdac761d7096d78b65a) ) ROM_LOAD( "8b.2n", 0x0200, 0x0100, CRC(30586988) SHA1(a9c246fd01cb3ff371ad33b55d5b2fe4898c4d1b) ) ROM_END /* encrypted */ ROM_START( drakton ) ROM_REGION( 0x20000, REGION_CPU1, 0 ) /* 64k for code + 4*16k for decrypted code */ ROM_LOAD( "2764.u2", 0x0000, 0x2000, CRC(d9a33205) SHA1(06dc96412e7162fd8a4f6ef4d14d1510c06b1d00) ) ROM_LOAD( "2764.u3", 0x2000, 0x2000, CRC(69583a35) SHA1(061271be4e9ddfd8dff4217f1434215ad35ba505) ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ /* one is used for dkong conversions, the other one for dkongjr conversions */ ROM_LOAD( "2716.3h", 0x0000, 0x0800, CRC(3489a35b) SHA1(9ebcf4b20b212d54e6b1a6d9abbda3109298631b) ) ROM_LOAD( "2716.3h1", 0x0000, 0x0800, CRC(2a6ec016) SHA1(c95e185a39c8029f00798ce0a00759a4deb45677) ) ROM_REGION( 0x1000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "2716.3n", 0x0000, 0x0800, CRC(ea0e7f9a) SHA1(a8e2b43e15281d45e414eaae98e5248bad79c41b) ) ROM_LOAD( "2716.3p", 0x0800, 0x0800, CRC(46f51b68) SHA1(7d1c3a61cdd0ad471cb0064c0cbaf758325fc267) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "2716.7c", 0x0000, 0x0800, CRC(2925dc2d) SHA1(721748031714ba488191eb074643093c906e8ce2) ) ROM_LOAD( "2716.7d", 0x0800, 0x0800, CRC(bdf6b1b4) SHA1(ea9076a2bba909bfae8a10a92d857e8f0644fc8b) ) ROM_LOAD( "2716.7e", 0x1000, 0x0800, CRC(4d62e62f) SHA1(01e757110edcb24600a27b1505f54e3bd04b9e58) ) ROM_LOAD( "2716.7f", 0x1800, 0x0800, CRC(81d200e5) SHA1(5eb74f319756ba3fbc6d0d918799337f911e9419) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "82s126.2e", 0x0000, 0x0100, CRC(3ff45f76) SHA1(4068b5568f9e22e54f0df8a9e02bfed0bfb00db7) ) ROM_LOAD( "82s126.2f", 0x0100, 0x0100, CRC(38f905be) SHA1(a963aea9a92ac95850c90c43085376cb4e06696b) ) ROM_LOAD( "82s126.2n", 0x0200, 0x0100, CRC(3c343b9b) SHA1(f84f5fddcccc8499a2511877f5d706b37ddc7db8) ) ROM_END /* encrypted */ ROM_START( strtheat ) ROM_REGION( 0x20000, REGION_CPU1, 0 ) /* 64k for code + 4*16k for decrypted code */ ROM_LOAD( "2764.u2", 0x0000, 0x2000, CRC(8d3e82c3) SHA1(ec26fb1c6015721da1f61eca76a4b3390d8dcc76) ) ROM_LOAD( "2764.u3", 0x2000, 0x2000, CRC(f0759e76) SHA1(e086f02d1861269194c4cd2ada71696b48ed1a1d) ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) /* sound */ ROM_LOAD( "2716.3h", 0x0000, 0x0800, CRC(4cd17174) SHA1(5ed9b5275b0779d1ca05d6e62d3ad8a682ebde37) ) ROM_RELOAD( 0x0800, 0x0800 ) ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "2716.3n", 0x0000, 0x0800, CRC(29e57678) SHA1(cbbb980c44c7f5c45d5f0b85209658f53b7ba4a7) ) ROM_RELOAD( 0x0800, 0x0800 ) ROM_LOAD( "2716.3p", 0x1000, 0x0800, CRC(31171146) SHA1(e26b22e73b528810b566b2b9f6d81e2d7856523d) ) ROM_RELOAD( 0x1800, 0x0800 ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "2716.7c", 0x0000, 0x0800, CRC(a8238e9c) SHA1(947bbe48ce1c705ef974e37b138929f1c846ed79) ) ROM_LOAD( "2716.7d", 0x0800, 0x0800, CRC(71202138) SHA1(b4edc77ed2844ef46aee4a492282e4785bdb7224) ) ROM_LOAD( "2716.7e", 0x1000, 0x0800, CRC(dc7785ac) SHA1(4ccb3f9f938fd1d9bd20f1601a16a2780c84588b) ) ROM_LOAD( "2716.7f", 0x1800, 0x0800, CRC(ede71d86) SHA1(0bce1b1d4180173537685a08055ce44b9dedc76a) ) ROM_REGION( 0x0300, REGION_PROMS, 0 ) ROM_LOAD( "82s129.2e", 0x0000, 0x0100, CRC(1311ba28) SHA1(d9b5bc07c8943d83592833e8b1c2ff57e4accb55) ) /* palette low 4 bits (inverted) */ ROM_LOAD( "82s129.2f", 0x0100, 0x0100, CRC(18d90d4f) SHA1(b956fd652dcc5eb50eaec8729762d19cfd475bc7) ) /* palette high 4 bits (inverted) */ ROM_LOAD( "82s129.2n", 0x0200, 0x0100, CRC(a515d59b) SHA1(930616c4bcd819c2a4432a6619a8c6da74f3e8c5) ) /* character color codes on a per-column basis */ ROM_END /* ------------------------------------------------ Shooting Gallery by SEATON GROVE/ZACCARIA (1984) ------------------------------------------------ Location Device File ID Checksum ----------------------------------------------- SSB 5B 2716 SG-01-0 81B9 CPU 3H 2732 SG-01-3H 3F58 CPU 5B 2764 SG-01-5B C2A9 GFX 3N 2732 SG-01-3N C8AC GFX 3P 2732 SG-01-3P 715A GFX 7C 2716 SG-01-7C D73C GFX 7D 2716 SG-01-7D 1545 GFX 7E 2716 SG-01-7E 48A3 GFX 7F 2716 SG-01-7F 97C5 SND IC6 2532 SG-01-SND 6AE1 SND IC8 2716 SG-01-SPK 852B CPU 2E 6306 SG-01-2E 127E CPU 2F 6306 SG-01-2F 1167 GFX 2N 6306 SG-01-2N 1000 GIB 82S147 SG-01 1554 GIB 82S153 SG-02 D966 * Note: CPU - CPU PCB GFX - GFX/Video PCB SSB - (Century) Speech/Sound PCB 500-38 Iss3 (1981) SND - Sound PCB GIB - Gun Interface PCB (C) Seatongrove (1984) * - JEDEC fusemap checksum, not the file checksum - Some ROM images have duplicate halves, this is not an error Hardware information: CPU PCB: MBL8035N (MCU, RAM 64byte, ROM N/A) upD8257C (DMA Controller) ROM SG-01-3H ROM SG-01-5B PROM SG-01-2E PROM SG-01-2F Gun Interface: 2650A (8-bit CPU) PROM SG-1 PLD SG-2 Sound PCB: 2x AY8910 ROM SG-01-SND ROM SG-01-SPK Speech PCB: 2x 2650A (8-bit CPU) MC6810 (128x8 SRAM) TMS5100ANL (Speech) ROM SG-01-0 */ ROM_START( shootgal ) ROM_REGION( 0x8000, REGION_CPU1, 0 ) ROM_LOAD( "cpu.5e", 0x0000, 0x1000, CRC(c6d61b9c) SHA1(de3f4cf559313c4e5c5f7019aa6f68b3334e05c1) ) ROM_LOAD( "cpu.5a", 0x6000, 0x1000, CRC(5dabe5e3) SHA1(7a36d97b2604aa61fe468863651cf67b851bbfca) ) ROM_REGION( 0x1000, REGION_CPU2, 0 ) ROM_LOAD( "sg-01-3h", 0x0000, 0x1000, CRC(80be5915) SHA1(a4f7d6a8319065a7a712df0195a3f8695d8f99f9) ) ROM_REGION( 0x0800, REGION_CPU3, 0 ) ROM_LOAD( "sg-01-0", 0x0000, 0x0800, CRC(f055a624) SHA1(5dfe89d7271092e665cdd5cd59d15a2b70f92f43) ) ROM_REGION( 0x1800, REGION_SOUND1, 0 ) ROM_LOAD( "sg-01snd", 0x0000, 0x1000, CRC(644a0728) SHA1(e249fd57bc49572a2246aaf7c68a547f319f51bc) ) //sg-01-snd ROM_LOAD( "sg-01spk", 0x1000, 0x0800, CRC(aacaf730) SHA1(cd562093ab8931d165cb0877e332474fce131c67) ) //sg-01-spk ROM_REGION( 0x2000, REGION_USER1, 0 ) // gun proms? ROM_LOAD( "sg-1", 0x0000, 0x0200, CRC(fda82517) SHA1(b36bac69b6f8218b280aae59133ea0d22d7a99f6) ) ROM_LOAD( "sg-2", 0x0200, 0x091d, CRC(6e065613) SHA1(26d048af5c302f921de8e2c1bc7c7bf48dc21b5a) ) ROM_REGION( 0x2000, REGION_GFX1, ROMREGION_DISPOSE ) ROM_LOAD( "sg-01-3n", 0x0000, 0x1000, CRC(72987a57) SHA1(8b972cfccb43023aca905c51182f8d3c06f7d0bb) ) ROM_LOAD( "sg-01-3p", 0x1000, 0x1000, CRC(1ae9434e) SHA1(26228bf0aba99f48366544772693b35788084a6b) ) ROM_REGION( 0x2000, REGION_GFX2, ROMREGION_DISPOSE ) ROM_LOAD( "sg-01-7c", 0x0000, 0x0800, CRC(3315658e) SHA1(613387aaa58f5df75d42d38b07237c0dc8aaba36) ) ROM_LOAD( "sg-01-7d", 0x0800, 0x0800, CRC(76ad4143) SHA1(4ccc32656de9d5142e539b84d4c73bb14d32f8bf) ) ROM_LOAD( "sg-01-7e", 0x1000, 0x0800, CRC(65d11685) SHA1(4e4b0b60ca4c16e26d842e142002887456d98ea4) ) ROM_LOAD( "sg-01-7f", 0x1800, 0x0800, CRC(44fe71a2) SHA1(ff4442a5601ac2ed63c57e22977299b5b5499c93) ) ROM_REGION( 0x0600, REGION_PROMS, 0 ) ROM_LOAD( "sg-01-2e", 0x0000, 0x0200, CRC(34fb23ea) SHA1(6bd6de791c9e0a5f9c833c287663e9755e01c573) ) ROM_LOAD( "sg-01-2f", 0x0100, 0x0200, CRC(c29b880a) SHA1(950017a0298f91e41db9865ed8ce388f4095f6cf) ) ROM_LOAD( "sg-01-2n", 0x0200, 0x0200, CRC(e08ed788) SHA1(6982f6bcc70dbf4c75ff538a5df70da11bc89bb4) ) ROM_END /************************************* * * Driver Init Code * *************************************/ static DRIVER_INIT( herodk ) { int A; UINT8 *rom = memory_region(REGION_CPU1); /* swap data lines D3 and D4 */ for (A = 0;A < 0x8000;A++) { if ((A & 0x1000) == 0) { int v; v = rom[A]; rom[A] = (v & 0xe7) | ((v & 0x10) >> 1) | ((v & 0x08) << 1); } } } /************************************* * * Game drivers * *************************************/ GAME( 1980, radarscp, 0, radarscp, radarscp, 0, ROT90, "Nintendo", "Radar Scope", GAME_SUPPORTS_SAVE ) GAME( 1980, radarsc1, 0, radarsc1, radarscp, 0, ROT90, "Nintendo", "Radar Scope (TRS01)", GAME_SUPPORTS_SAVE ) GAME( 1981, dkong, 0, dkong, dkong, 0, ROT90, "Nintendo of America", "Donkey Kong (US set 1)", GAME_SUPPORTS_SAVE ) GAME( 1981, dkongo, dkong, dkong, dkong, 0, ROT90, "Nintendo", "Donkey Kong (US set 2)", GAME_SUPPORTS_SAVE ) GAME( 1981, dkongjp, dkong, dkong, dkong, 0, ROT90, "Nintendo", "Donkey Kong (Japan set 1)", GAME_SUPPORTS_SAVE ) GAME( 1981, dkongjo, dkong, dkong, dkong, 0, ROT90, "Nintendo", "Donkey Kong (Japan set 2)", GAME_SUPPORTS_SAVE ) GAME( 1981, dkongjo1, dkong, dkong, dkong, 0, ROT90, "Nintendo", "Donkey Kong (Japan set 3) (bad dump?)", GAME_SUPPORTS_SAVE ) GAME( 1982, dkongjr, 0, dkongjr, dkong, 0, ROT90, "Nintendo of America", "Donkey Kong Junior (US)", GAME_SUPPORTS_SAVE ) GAME( 1982, dkongjrj, dkongjr, dkongjr, dkong, 0, ROT90, "Nintendo", "Donkey Kong Jr. (Japan)", GAME_SUPPORTS_SAVE ) GAME( 1982, dkngjnrj, dkongjr, dkongjr, dkong, 0, ROT90, "Nintendo", "Donkey Kong Junior (Japan?)", GAME_SUPPORTS_SAVE ) GAME( 1982, dkongjrb, dkongjr, dkongjr, dkong, 0, ROT90, "bootleg", "Donkey Kong Jr. (bootleg)", GAME_SUPPORTS_SAVE ) GAME( 1982, dkngjnrb, dkongjr, dkongjr, dkong, 0, ROT90, "Nintendo of America", "Donkey Kong Junior (bootleg?)", GAME_SUPPORTS_SAVE ) GAME( 1983, dkong3, 0, dkong3, dkong3, 0, ROT90, "Nintendo of America", "Donkey Kong 3 (US)", GAME_SUPPORTS_SAVE ) GAME( 1983, dkong3j, dkong3, dkong3, dkong3, 0, ROT90, "Nintendo", "Donkey Kong 3 (Japan)", GAME_SUPPORTS_SAVE ) GAME( 1984, dkong3b, dkong3, dkong3b, dkong3b, 0, ROT90, "bootleg", "Donkey Kong 3 (bootleg on Donkey Kong Jr. hardware)", GAME_SUPPORTS_SAVE ) GAME( 1984, herbiedk, huncholy, herbiedk, herbiedk, 0, ROT90, "CVS", "Herbie at the Olympics (DK conversion)", GAME_SUPPORTS_SAVE ) GAME( 1983, hunchbkd, hunchbak, hunchbkd, hunchbkd, 0, ROT90, "Century Electronics", "Hunchback (DK conversion)", GAME_WRONG_COLORS | GAME_NOT_WORKING | GAME_SUPPORTS_SAVE ) GAME( 1984, sbdk, superbik, hunchbkd, sbdk, 0, ROT90, "Century Electronics", "Super Bike (DK conversion)", GAME_SUPPORTS_SAVE ) GAME( 1984, herodk, hero, hunchbkd, herodk, herodk, ROT90, "Seatongrove Ltd (Crown license)", "Hero in the Castle of Doom (DK conversion)", GAME_SUPPORTS_SAVE ) GAME( 1984, herodku, hero, hunchbkd, herodk, 0, ROT90, "Seatongrove Ltd (Crown license)", "Hero in the Castle of Doom (DK conversion not encrypted)", GAME_SUPPORTS_SAVE ) GAME( 1984, 8ballact, 0, eightact, 8ballact, 0, ROT90, "Seatongrove Ltd (Magic Eletronics USA licence)", "Eight Ball Action (DK conversion)", GAME_SUPPORTS_SAVE ) GAME( 1984, 8ballat2, 8ballact, eightact, 8ballact, 0, ROT90, "Seatongrove Ltd (Magic Eletronics USA licence)", "Eight Ball Action (DKJr conversion)", GAME_SUPPORTS_SAVE ) GAME( 1984, shootgal, 0, shootgal, shootgal, 0, ROT180, "Seatongrove Ltd (Zaccaria licence)", "Shooting Gallery", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1983, pestplce, mario, pestplce, pestplce, 0, ROT180, "bootleg", "Pest Place", GAME_WRONG_COLORS | GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1985, spclforc, 0, spclforc, spclforc, 0, ROT90, "Senko Industries (Magic Eletronics Inc. licence)", "Special Forces", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1985, spcfrcii, 0, spclforc, spclforc, 0, ROT90, "Senko Industries (Magic Eletronics Inc. licence)", "Special Forces II", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1984, drakton, 0, drakton, drakton, drakton, ROT90, "Epos Corporation", "Drakton", GAME_NO_SOUND | GAME_SUPPORTS_SAVE ) GAME( 1985, strtheat, 0, strtheat, strtheat, strtheat, ROT90, "Epos Corporation", "Street Heat - Cardinal Amusements", GAME_NO_SOUND | GAME_SUPPORTS_SAVE )