istrebiteli: split program ROMs as per schematics, notes

This commit is contained in:
MetalliC 2016-10-18 17:58:24 +03:00
parent a67bcb06ff
commit 4222413e16

View File

@ -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) )