summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
author MetalliC <0vetal0@gmail.com>2016-10-18 17:58:24 +0300
committer MetalliC <0vetal0@gmail.com>2016-10-18 17:58:24 +0300
commit4222413e1631c54408b6902d4c3dd94a9087fe7c (patch)
tree94161a9ee0946e63fbfeb8ac50eb2b73ba159ece /src
parenta67bcb06ff7378a28b5bceaa3f10d79b61145ef5 (diff)
istrebiteli: split program ROMs as per schematics, notes
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/istrebiteli.cpp32
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) )