mirror of
https://github.com/holub/mame
synced 2025-04-24 09:20:02 +03:00
b5000: add assert to multistep opcodes
This commit is contained in:
parent
d931fa9bde
commit
8a607beafd
@ -28,7 +28,7 @@ void b5000_cpu_device::set_bu(u8 bu)
|
||||
{
|
||||
m_bu = bu & 3;
|
||||
|
||||
// changing from 0 to non-0 or vice versa delays RAM address modification
|
||||
// changing to or from 0 delays RAM address modification
|
||||
if ((m_bu && !m_prev_bu) || (!m_bu && m_prev_bu))
|
||||
m_bu_delay = true;
|
||||
}
|
||||
@ -54,6 +54,8 @@ void b5000_cpu_device::op_tl()
|
||||
|
||||
void b5000_cpu_device::op_tra()
|
||||
{
|
||||
assert(m_tra_step > 0);
|
||||
|
||||
// TRA 0/1,x: call/jump to x (multi step)
|
||||
switch (m_tra_step)
|
||||
{
|
||||
@ -90,10 +92,13 @@ void b5000_cpu_device::op_tra()
|
||||
|
||||
void b5000_cpu_device::op_ret()
|
||||
{
|
||||
assert(m_ret_step > 0);
|
||||
|
||||
// RET: return from subroutine (multi step)
|
||||
switch (m_ret_step)
|
||||
{
|
||||
// step 1: skip next opcode
|
||||
// a TL after RET will return to the page specified by TL
|
||||
case 1:
|
||||
m_skip = true;
|
||||
break;
|
||||
@ -261,6 +266,8 @@ void b5000_cpu_device::op_kseg()
|
||||
|
||||
void b5000_cpu_device::op_atbz()
|
||||
{
|
||||
assert(m_atbz_step > 0);
|
||||
|
||||
// ATBZ (aka ATB on B5xxx): ATB + load strobe (multi step)
|
||||
switch (m_atbz_step)
|
||||
{
|
||||
@ -295,6 +302,8 @@ void b5000_cpu_device::op_tkb()
|
||||
|
||||
void b5000_cpu_device::op_tkbs()
|
||||
{
|
||||
assert(m_tkbs_step > 0);
|
||||
|
||||
// TKBS: TKB + load segments (multi step)
|
||||
switch (m_tkbs_step)
|
||||
{
|
||||
|
@ -53,7 +53,7 @@ u16 b6100_cpu_device::decode_digit(u8 data)
|
||||
{
|
||||
static u16 lut_segs[0x10] =
|
||||
{
|
||||
// 0-9 same as B5000
|
||||
// 0-9 same as B6000
|
||||
0x3f, 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f,
|
||||
|
||||
// EFG, BCG, none, SEG8, SEG9, SEG10
|
||||
|
@ -195,7 +195,7 @@ ROM_END
|
||||
/***************************************************************************
|
||||
|
||||
Mattel Missile Attack / Battlestar Galactica: Space Alert
|
||||
* B6000 MCU (label B6001, die label B6001)
|
||||
* B6000 MCU (label B6001CA/EA, die label B6001)
|
||||
* 2-digit 7seg display, 21 other leds, 1-bit sound
|
||||
|
||||
The initial release was titled Missile Attack, it didn't sell well (Mattel
|
||||
@ -270,7 +270,7 @@ void misatk_state::misatk(machine_config &config)
|
||||
|
||||
ROM_START( misatk )
|
||||
ROM_REGION( 0x200, "maincpu", 0 )
|
||||
ROM_LOAD( "b6001", 0x000, 0x200, CRC(56564b79) SHA1(6f33f57ea312cb2018fb59f72eaff3a9642e74a2) )
|
||||
ROM_LOAD( "b6001ea", 0x000, 0x200, CRC(56564b79) SHA1(6f33f57ea312cb2018fb59f72eaff3a9642e74a2) )
|
||||
ROM_END
|
||||
|
||||
|
||||
@ -641,7 +641,7 @@ ROM_END
|
||||
|
||||
// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
|
||||
CONS( 1976, autorace, 0, 0, autorace, autorace, autorace_state, empty_init, "Mattel Electronics", "Auto Race", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
||||
CONS( 1976, misatk, 0, 0, misatk, misatk, misatk_state, empty_init, "Mattel Electronics", "Missile Attack (Mattel)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
||||
CONS( 1977, misatk, 0, 0, misatk, misatk, misatk_state, empty_init, "Mattel Electronics", "Missile Attack (Mattel)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
||||
CONS( 1977, mfootb, 0, 0, mfootb, mfootb, mfootb_state, empty_init, "Mattel Electronics", "Football (Mattel)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
||||
CONS( 1978, mbaseb, 0, 0, mbaseb, mbaseb, mbaseb_state, empty_init, "Mattel Electronics", "Baseball (Mattel)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
||||
CONS( 1980, gravity, 0, 0, gravity, gravity, gravity_state, empty_init, "Mattel Electronics", "Gravity (Mattel)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
|
||||
|
Loading…
Reference in New Issue
Block a user