New machines marked as NOT_WORKING

----------------------------------
Zooty Drum [xuserv]
This commit is contained in:
Ivan Vangelista 2021-05-31 18:09:36 +02:00
parent 84f9b1e2a5
commit bfe4aa26da
2 changed files with 182 additions and 37 deletions

View File

@ -68,8 +68,15 @@ Notes:
TODO:
- eeprom - is it used?
- irq2 - sound related? reads the 2 unmapped input registers.
- irq3 - it only writes a 0 into memory and changes a registe
- simulate music (DREAM chip)
- irq3 - it only writes a 0 into memory and changes a register
- pasha2: simulate music (DREAM chip)
- zdrum: with DRC it fatal errors with 'Unimplemented: generate_adds (c00013ae)' if let in attract for a while or at the end of the 'Flash memory check' in test mode)
with interpreter the game hangs itself with 'Assertion failed: file flash.dat'
- zdrum: proper inputs (coin seems to freeze the game - gets stuck in a loop at c0001386, can be forced out of it with do PC=c0001392 and the coin gets credited) -
right arrow not found yet, second left drum switch flickers on and off continuously in i/o test)
- zdrum: when coined up via debugger and then started, the game itself reports an assert with DRC, gets to the select character screen and then hangs with the interpreter
- zdrum: settings aren't kept after reset, possibly needs eeprom hook up
- zdrum: dump hard disc and emulate MP3 board
*********************************************************************/
@ -97,17 +104,22 @@ public:
, m_lamps_g(*this, "lamp_p%u_g", 1U)
, m_lamps_b(*this, "lamp_p%u_b", 1U)
, m_maincpu(*this, "maincpu")
, m_audiocpu(*this, "audiocpu")
, m_oki(*this, "oki%u", 1U)
, m_palette(*this, "palette")
{ }
void pasha2(machine_config &config);
void zdrum(machine_config &config);
void init_pasha2();
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
private:
/* memory pointers */
// memory pointers
required_shared_ptr<uint16_t> m_wram;
required_shared_ptr<uint16_t> m_paletteram;
@ -117,14 +129,14 @@ private:
output_finder<3> m_lamps_g;
output_finder<3> m_lamps_b;
/* video-related */
int m_vbuffer;
// video-related
uint8_t m_vbuffer;
/* memory */
// memory
std::unique_ptr<uint8_t[]> m_bitmap0[2];
std::unique_ptr<uint8_t[]> m_bitmap1[2];
void pasha2_misc_w(offs_t offset, uint16_t data);
void pasha2_palette_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
void misc_w(offs_t offset, uint16_t data);
void palette_w(offs_t offset, uint16_t data, uint16_t mem_mask = ~0);
void vbuffer_set_w(uint16_t data);
void vbuffer_clear_w(uint16_t data);
void bitmap_0_w(offs_t offset, uint8_t data, uint8_t mem_mask = ~0);
@ -132,20 +144,17 @@ private:
void pasha2_lamps_w(uint16_t data);
uint16_t pasha2_speedup_r(offs_t offset);
template<int Chip> void oki_bank_w(offs_t offset, uint16_t data);
virtual void machine_start() override;
virtual void machine_reset() override;
virtual void video_start() override;
uint32_t screen_update_pasha2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
required_device<cpu_device> m_maincpu;
required_device<at89c52_device> m_audiocpu;
required_device_array<okim6295_device, 2> m_oki;
required_device<palette_device> m_palette;
void pasha2_io(address_map &map);
void pasha2_map(address_map &map);
void zdrum_audio_map(address_map &map);
};
void pasha2_state::pasha2_misc_w(offs_t offset, uint16_t data)
void pasha2_state::misc_w(offs_t offset, uint16_t data)
{
if (offset)
{
@ -167,7 +176,7 @@ void pasha2_state::pasha2_misc_w(offs_t offset, uint16_t data)
}
}
void pasha2_state::pasha2_palette_w(offs_t offset, uint16_t data, uint16_t mem_mask)
void pasha2_state::palette_w(offs_t offset, uint16_t data, uint16_t mem_mask)
{
int color;
@ -236,7 +245,7 @@ void pasha2_state::pasha2_map(address_map &map)
map(0x40074000, 0x40074001).w(FUNC(pasha2_state::vbuffer_set_w));
map(0x40078000, 0x40078001).nopw(); //once at startup -> to disable the eeprom?
map(0x80000000, 0x803fffff).bankr("mainbank");
map(0xe0000000, 0xe00003ff).ram().w(FUNC(pasha2_state::pasha2_palette_w)).share("paletteram"); //tilemap? palette?
map(0xe0000000, 0xe00003ff).ram().w(FUNC(pasha2_state::palette_w)).share("paletteram"); //tilemap? palette?
map(0xfff80000, 0xffffffff).rom().region("maincpu", 0);
}
@ -249,13 +258,19 @@ void pasha2_state::pasha2_io(address_map &map)
map(0x60, 0x63).portr("DSW");
map(0x80, 0x83).portr("INPUTS");
map(0xa0, 0xa3).nopw(); //soundlatch?
map(0xc0, 0xc3).w(FUNC(pasha2_state::pasha2_misc_w));
map(0xc0, 0xc3).w(FUNC(pasha2_state::misc_w));
map(0xe3, 0xe3).rw(m_oki[0], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
map(0xe7, 0xe7).rw(m_oki[1], FUNC(okim6295_device::read), FUNC(okim6295_device::write));
map(0xe8, 0xeb).w(FUNC(pasha2_state::oki_bank_w<0>));
map(0xec, 0xef).w(FUNC(pasha2_state::oki_bank_w<1>));
}
void pasha2_state::zdrum_audio_map(address_map &map)
{
map(0x00000000, 0x001fffff).ram();
map(0xfff80000, 0xffffffff).rom().region("audiocpu", 0);
}
static INPUT_PORTS_START( pasha2 )
PORT_START("COINS")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
@ -343,6 +358,94 @@ static INPUT_PORTS_START( pasha2 )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_START3 )
INPUT_PORTS_END
static INPUT_PORTS_START( zdrum )
PORT_START("COINS") // no apparent effects on gameplay or i/o test, but for otherwise noted
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_COIN1 ) // coin, but game enters a loop when pressed
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_SERVICE1 ) // service in i/o test, seems to have no effect during gameplay
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_SERVICE_NO_TOGGLE( 0x800, IP_ACTIVE_LOW )
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
// 2 physical dip-switches, but the settings seem to be done via service mode, so possibly unused?
PORT_START("DSW")
PORT_DIPNAME( 0x0001, 0x0001, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0001, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0002, 0x0002, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0002, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0004, 0x0004, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0004, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0008, 0x0008, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0008, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0010, 0x0010, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0010, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0020, 0x0020, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0020, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0040, 0x0040, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0040, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0080, 0x0080, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0080, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0100, 0x0100, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0100, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0200, 0x0200, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0200, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0400, 0x0400, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0400, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x0800, 0x0800, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x0800, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x1000, 0x1000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x1000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x2000, 0x2000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x2000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x4000, 0x4000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x4000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Unknown ) )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_START("INPUTS")
PORT_BIT( 0x0001, IP_ACTIVE_LOW, IPT_BUTTON6 ) PORT_PLAYER(1) PORT_NAME( "Drum switch right 2" )
PORT_BIT( 0x0002, IP_ACTIVE_LOW, IPT_BUTTON4 ) PORT_PLAYER(1) // TODO: what's up with this? should probably be // PORT_NAME( "Drum switch left 3" ), but it flickers on and off regardless
PORT_BIT( 0x0004, IP_ACTIVE_LOW, IPT_BUTTON2 ) PORT_PLAYER(1) PORT_NAME( "Drum switch left 1" )
PORT_BIT( 0x0008, IP_ACTIVE_LOW, IPT_BUTTON3 ) PORT_PLAYER(1) PORT_NAME( "Drum switch left 2" )
PORT_BIT( 0x0010, IP_ACTIVE_LOW, IPT_BUTTON7 ) PORT_PLAYER(1) PORT_NAME( "Drum switch right 3" )
PORT_BIT( 0x0020, IP_ACTIVE_LOW, IPT_BUTTON5 ) PORT_PLAYER(1) PORT_NAME( "Drum switch right 1" )
PORT_BIT( 0x0040, IP_ACTIVE_LOW, IPT_BUTTON1 ) PORT_PLAYER(1) PORT_NAME( "Left arrow" )
PORT_BIT( 0x0080, IP_ACTIVE_LOW, IPT_START1 )
PORT_BIT( 0x0100, IP_ACTIVE_LOW, IPT_UNKNOWN ) // all the following but 0x800 don't seem to have any effect
PORT_BIT( 0x0200, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0400, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x0800, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x1000, IP_ACTIVE_LOW, IPT_JOYSTICK_DOWN ) // isn't shown in the i/o test but it's used to move between items in the service mode
PORT_BIT( 0x2000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x4000, IP_ACTIVE_LOW, IPT_UNKNOWN )
PORT_BIT( 0x8000, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
void pasha2_state::video_start()
{
for (int i = 0; i < 2; i++)
@ -354,9 +457,9 @@ void pasha2_state::video_start()
}
}
uint32_t pasha2_state::screen_update_pasha2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
uint32_t pasha2_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
/* 2 512x256 bitmaps */
// 2 512x256 bitmaps
for (int y = cliprect.min_y; y <= cliprect.max_y; y++)
{
@ -387,6 +490,10 @@ void pasha2_state::machine_start()
m_lamps_r.resolve();
m_lamps_g.resolve();
m_lamps_b.resolve();
m_mainbank->configure_entries(0, 6, memregion("bankeddata")->base(), 0x400000);
m_mainbank->set_entry(0);
save_item(NAME(m_vbuffer));
}
@ -397,29 +504,29 @@ void pasha2_state::machine_reset()
void pasha2_state::pasha2(machine_config &config)
{
/* basic machine hardware */
E116XT(config, m_maincpu, 20000000*4); /* 4x internal multiplier */
// basic machine hardware
E116XT(config, m_maincpu, 20000000*4); // 4x internal multiplier
m_maincpu->set_addrmap(AS_PROGRAM, &pasha2_state::pasha2_map);
m_maincpu->set_addrmap(AS_IO, &pasha2_state::pasha2_io);
m_maincpu->set_vblank_int("screen", FUNC(pasha2_state::irq0_line_hold));
AT89C52(config, m_audiocpu, 12000000); /* clock from docs */
/* TODO : ports are unimplemented; P0,P1,P2,P3 and Serial Port Used */
AT89C52(config, "audiocpu", 12000000); // clock from docs
// TODO : ports are unimplemented; P0,P1,P2,P3 and Serial Port Used
EEPROM_93C46_16BIT(config, "eeprom");
/* video hardware */
// video hardware
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER));
screen.set_refresh_hz(60);
screen.set_vblank_time(ATTOSECONDS_IN_USEC(0));
screen.set_size(512, 512);
screen.set_visarea(0, 383, 0, 239);
screen.set_screen_update(FUNC(pasha2_state::screen_update_pasha2));
screen.set_screen_update(FUNC(pasha2_state::screen_update));
screen.set_palette(m_palette);
PALETTE(config, m_palette).set_entries(0x200);
/* sound hardware */
// sound hardware
SPEAKER(config, "mono").front_center();
OKIM6295(config, m_oki[0], 1000000, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 1.0);
@ -429,30 +536,69 @@ void pasha2_state::pasha2(machine_config &config)
//and ATMEL DREAM SAM9773
}
void pasha2_state::zdrum(machine_config &config)
{
pasha2(config);
m_maincpu->set_force_no_drc(true); // gets a bit further
e116xt_device &audiocpu(E116XT(config.replace(), "audiocpu", 45_MHz_XTAL)); // type unknown, but it does look like Hyperstone code
audiocpu.set_addrmap(AS_PROGRAM, &pasha2_state::zdrum_audio_map);
// TODO: MP3 hw, also PCB should be stereo according to test mode
}
ROM_START( pasha2 )
ROM_REGION16_BE( 0x80000, "maincpu", 0 ) /* Hyperstone CPU Code */
ROM_REGION16_BE( 0x80000, "maincpu", 0 ) // Hyperstone CPU Code
ROM_LOAD( "pp2.u3", 0x00000, 0x80000, CRC(1c701273) SHA1(f465323a1d3f2fd752c51c178fafe4cc866e28d6) )
ROM_REGION16_BE( 0x400000*6, "bankeddata", ROMREGION_ERASEFF ) /* data roms */
ROM_REGION16_BE( 0x400000*6, "bankeddata", ROMREGION_ERASEFF ) // data roms
ROM_LOAD16_BYTE( "pp2-u2.u101", 0x000000, 0x200000, CRC(85c4a2d0) SHA1(452b24b74bd0b65d2d6852486e2917f94e21ecc8) )
ROM_LOAD16_BYTE( "pp2-u1.u101", 0x000001, 0x200000, CRC(96cbd04e) SHA1(a4e7dd61194584b3c4217674d78ab2fd96b7b2e0) )
ROM_LOAD16_BYTE( "pp2-u2.u102", 0x400000, 0x200000, CRC(2097d88c) SHA1(7597578e6ddca00909feac35d9d7331f783b2bd6) )
ROM_LOAD16_BYTE( "pp2-u1.u102", 0x400001, 0x200000, CRC(7a3492fb) SHA1(de72c4d10e17eaf2b7531f637b42cbb3d07819b5) )
// empty space, but no empty sockets on the pcb
ROM_REGION( 0x2000, "audiocpu", 0 ) /* AT89C52 */
ROM_REGION( 0x2000, "audiocpu", 0 ) // AT89C52
ROM_LOAD( "89c52.bin", 0x0000, 0x2000, CRC(9ce43ce4) SHA1(8027a3549b38e9a2e7bb8f518a0defcaf9743371) ) // music play 1.0
ROM_REGION( 0x80000, "sam9773", 0 ) /* SAM9773 sound data */
ROM_REGION( 0x80000, "sam9773", 0 ) // SAM9773 sound data
ROM_LOAD( "pp2.um2", 0x00000, 0x80000, CRC(86814b37) SHA1(70f8a94410e362669570c39e00492c0d69de6b17) )
ROM_REGION( 0x80000, "oki1", 0 ) /* Oki Samples */
ROM_REGION( 0x80000, "oki1", 0 ) // Oki Samples
ROM_LOAD( "pp2.um51", 0x00000, 0x80000, CRC(3b1b1a30) SHA1(1ea1266d280a2b96ac4ef9fe8ee7b1a5f7861672) )
ROM_REGION( 0x80000, "oki2", 0 ) /* Oki Samples */
ROM_REGION( 0x80000, "oki2", 0 ) // Oki Samples
ROM_LOAD( "pp2.um53", 0x00000, 0x80000, CRC(8a29ad03) SHA1(3e9b0c86d8e3bb0b7691f68ad45431f6f9e8edbd) )
ROM_END
// PARA8B16 main PCB, very similar to the Pasha Pasha 2 PCB but with no AT89C52 and SAM9773
// PARA MP3 MAIN Ver. 1.00 2000.1 plug in PCB (Xilinx XC9536, Micronas MAS3507D F10, Micronas DAC3550A C2, 14.7456 XTAL)
// MUTALISK V3.02 PCB which plugs in the MP3 PCB (stickered IC 'Catos Creative Staffs' - probably an Hyperstone core given the ROM content -, 45.0000000 MHz XTAL, GM71V65163CT5 RAM, D27C040 ROM)
ROM_START( zdrum )
ROM_REGION16_BE( 0x80000, "maincpu", 0 ) // Hyperstone CPU Code
ROM_LOAD( "u3.bin", 0x00000, 0x80000, CRC(296c6ee8) SHA1(67814ac87828f578591ec2069ad96861fe29de6c) )
ROM_REGION16_BE( 0x400000*6, "bankeddata", ROMREGION_ERASEFF ) // data roms
ROM_LOAD16_WORD_SWAP( "u101.bin", 0x000000, 0x400000, CRC(e9bc892e) SHA1(f50cde278693a38cfad1185a89c41e2e2029c5ac) ) // Dumped as 27C322, but actually E28F916S5 * 2
ROM_LOAD16_WORD_SWAP( "u102.bin", 0x400000, 0x400000, CRC(954e67a1) SHA1(cf1553fd70e27fab2d77df07ccd2866c198b5b35) ) // "
ROM_REGION( 0x80000, "audiocpu", 0 ) // on the MUTALISK PCB
ROM_LOAD( "mutalisk_u6.bin", 0x00000, 0x80000, CRC(7d044372) SHA1(41c63644ce048cec2079fb5ec8a2da9c66841c48) ) // 27C4000DC
ROM_REGION( 0x80000, "oki1", 0 )
ROM_LOAD( "um51.bin", 0x00000, 0x80000, CRC(b1a22ea2) SHA1(2814d212faf99504bd19602c4183fd8a4763c44c) ) // AM29F040
ROM_REGION( 0x80000, "oki2", 0 )
ROM_LOAD( "um53.bin", 0x00000, 0x80000, CRC(372022da) SHA1(809d103bdb365c9ff9e32b6a3032040b6a91ce88) ) // MBM29F040A
ROM_REGION( 0x117, "plds", 0 )
ROM_LOAD( "u507.bin", 0x000, 0x117, CRC(c89d2f52) SHA1(f9d52d9c42ef95b7b85bbf6d09888ebdeac11fd3) ) // PALCE16V8H, mostly 1, protected?
DISK_REGION( "ide:0:hdd:image" ) // should contain the songs
DISK_IMAGE( "zdrum", 0, NO_DUMP )
ROM_END
uint16_t pasha2_state::pasha2_speedup_r(offs_t offset)
{
if(m_maincpu->pc() == 0x8302)
@ -464,9 +610,7 @@ uint16_t pasha2_state::pasha2_speedup_r(offs_t offset)
void pasha2_state::init_pasha2()
{
m_maincpu->space(AS_PROGRAM).install_read_handler(0x95744, 0x95747, read16sm_delegate(*this, FUNC(pasha2_state::pasha2_speedup_r)));
m_mainbank->configure_entries(0, 6, memregion("bankeddata")->base(), 0x400000);
m_mainbank->set_entry(0);
}
GAMEL( 1998, pasha2, 0, pasha2, pasha2, pasha2_state, init_pasha2, ROT0, "Dong Sung", "Pasha Pasha 2", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE, layout_pasha2 )
GAMEL( 1998, pasha2, 0, pasha2, pasha2, pasha2_state, init_pasha2, ROT0, "Dong Sung", "Pasha Pasha 2", MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE, layout_pasha2 )
GAME ( 2000, zdrum, 0, zdrum, zdrum, pasha2_state, empty_init, ROT0, "PARA Enterprises", "Zooty Drum", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_SOUND | MACHINE_SUPPORTS_SAVE ) // missing HD dump, MP3 board emulation. Inputs seem to be read differently.

View File

@ -33515,6 +33515,7 @@ partner //
@source:pasha2.cpp
pasha2 // (c) 1998 Dong Sung
zdrum // (c) 2000 PARA Enterprises
@source:paso1600.cpp
paso1600 //