diff options
author | 2016-10-18 17:58:24 +0300 | |
---|---|---|
committer | 2016-10-18 17:58:24 +0300 | |
commit | 4222413e1631c54408b6902d4c3dd94a9087fe7c (patch) | |
tree | 94161a9ee0946e63fbfeb8ac50eb2b73ba159ece /src | |
parent | a67bcb06ff7378a28b5bceaa3f10d79b61145ef5 (diff) |
istrebiteli: split program ROMs as per schematics, notes
Diffstat (limited to 'src')
-rw-r--r-- | src/mame/drivers/istrebiteli.cpp | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/src/mame/drivers/istrebiteli.cpp b/src/mame/drivers/istrebiteli.cpp index c9ac3e9bb41..c1538d33c74 100644 --- a/src/mame/drivers/istrebiteli.cpp +++ b/src/mame/drivers/istrebiteli.cpp @@ -5,19 +5,19 @@ Istrebiteli driver by MetalliC TODO: - sound emulation + hardware-like noice sound generation accurate sprite collision - how to play: + how to play: insert one or more coins, each coin gives 2 minutes of play time, then press 1 or 2 player game start - hit enemy 15 or more times to get bonus game - - test mode: - insert 12 or more coins then press 2 player start + hit enemy 15 or more times to get bonus game - note: + test mode: + insert 12 or more coins then press 2 player start + + notes: dumped PCB is early game version, have several bugs, possible test/prototype. - later version was seen in St.Petersburg arcade museum. + later version was seen in St.Petersburg arcade museum, CPU board have single 8Kx8 ROM. **************************************************************************/ @@ -91,8 +91,8 @@ void istrebiteli_sound_device::sound_stream_update(sound_stream &stream, stream_ smpl = (m_rom[m_rom_cnt] >> m_sample_num) & 1; // below is huge guess - if ((m_prev_data & 0x40) == 0) // b6 noice enable ? - smpl &= rand() & 1; + if ((m_prev_data & 0x40) == 0) // b6 noice enable ? + smpl &= rand() & 1; smpl *= (m_prev_data & 0x80) ? 1000 : 4000; // b7 volume ? *sample++ = smpl; @@ -113,8 +113,8 @@ void istrebiteli_sound_device::sound_w(UINT8 data) } else m_rom_incr = 1; -// if (m_prev_data != data) -// printf("sound %02X rescnt %d sample %d outen %d b6 %d b7 %d\n", data, (data >> 1) & 1, (data >> 2) & 7, (data >> 5) & 1, (data >> 6) & 1, (data >> 7) & 1); +// if (m_prev_data != data) +// printf("sound %02X rescnt %d sample %d outen %d b6 %d b7 %d\n", data, (data >> 1) & 1, (data >> 2) & 7, (data >> 5) & 1, (data >> 6) & 1, (data >> 7) & 1); m_prev_data = data; } @@ -413,7 +413,7 @@ GFXDECODE_END static MACHINE_CONFIG_START( istreb, istrebiteli_state) /* basic machine hardware */ - MCFG_CPU_ADD(I8080_TAG, I8080, XTAL_8MHz / 4) // KR580VM80A + MCFG_CPU_ADD(I8080_TAG, I8080, XTAL_8MHz / 4) // KR580VM80A MCFG_CPU_PROGRAM_MAP(mem_map) MCFG_CPU_IO_MAP(io_map) @@ -445,7 +445,11 @@ MACHINE_CONFIG_END ROM_START( istreb ) ROM_REGION( 0x1000, I8080_TAG, ROMREGION_ERASEFF ) - ROM_LOAD( "main.bin", 0x000, 0xa00, CRC(ae67c41c) SHA1(1f7807d486cd4d161ee49be991b81db7dc9b0f3b) ) // actually 5x 512B ROMs, TODO split + ROM_LOAD( "002-ia12.bin", 0x000, 0x200, CRC(de0bce75) SHA1(ca284e8220d0d55c1a4dd3e951b53404f40fc873) ) + ROM_LOAD( "002-ia9.bin", 0x200, 0x200, CRC(e9a93ee7) SHA1(63c2001140d2b30657fceca97a639b1acbf614c2) ) + ROM_LOAD( "002-ib11-2.bin", 0x400, 0x200, CRC(4bb8b875) SHA1(230193e08586f4585fe98b2b31c4c8aa57a83e70) ) + ROM_LOAD( "002-ib9.bin", 0x600, 0x200, CRC(4eb948b5) SHA1(e9926591d1b0c528630b54956993c01139c58913) ) + ROM_LOAD( "002-ib13.bin", 0x800, 0x200, CRC(4fec5b14) SHA1(72b01c28882d567cad6924e05849438e5fe7a133) ) ROM_REGION( 0x200, "chars", 0 ) ROM_LOAD( "003-g8.bin", 0x000, 0x200, CRC(5cd7ad47) SHA1(2142711c8a3640b7aa258a2059cfb0f14297a5ac) ) |