mirror of
https://github.com/holub/mame
synced 2025-07-04 17:38:08 +03:00
-qx10.cpp: DeMorgan is your friend.
-machine/k007452.cpp: Be more paranoid with intger promotion/truncation. -Adjust some comments.
This commit is contained in:
parent
a1cdac0ece
commit
b8a8aa1a26
@ -464,7 +464,7 @@ static INPUT_PORTS_START( nbajam )
|
|||||||
PORT_DIPSETTING( 0x0c00, DEF_STR( USA ) )
|
PORT_DIPSETTING( 0x0c00, DEF_STR( USA ) )
|
||||||
PORT_DIPSETTING( 0x0800, DEF_STR( French ) )
|
PORT_DIPSETTING( 0x0800, DEF_STR( French ) )
|
||||||
PORT_DIPSETTING( 0x0400, DEF_STR( German ) )
|
PORT_DIPSETTING( 0x0400, DEF_STR( German ) )
|
||||||
// PORT_DIPSETTING( 0x0000, DEF_STR( Unused ) ) // Listed as "OUTERSPACE" in source code
|
// PORT_DIPSETTING( 0x0000, DEF_STR( Unused ) )
|
||||||
PORT_DIPNAME( 0x7000, 0x7000, DEF_STR( Coinage ) )
|
PORT_DIPNAME( 0x7000, 0x7000, DEF_STR( Coinage ) )
|
||||||
PORT_DIPSETTING( 0x7000, "1" )
|
PORT_DIPSETTING( 0x7000, "1" )
|
||||||
PORT_DIPSETTING( 0x3000, "2" )
|
PORT_DIPSETTING( 0x3000, "2" )
|
||||||
@ -567,7 +567,7 @@ static INPUT_PORTS_START( nbajamte )
|
|||||||
PORT_DIPSETTING( 0x0c00, DEF_STR( USA ) )
|
PORT_DIPSETTING( 0x0c00, DEF_STR( USA ) )
|
||||||
PORT_DIPSETTING( 0x0800, DEF_STR( French ) )
|
PORT_DIPSETTING( 0x0800, DEF_STR( French ) )
|
||||||
PORT_DIPSETTING( 0x0400, DEF_STR( German ) )
|
PORT_DIPSETTING( 0x0400, DEF_STR( German ) )
|
||||||
// PORT_DIPSETTING( 0x0000, DEF_STR( Unused ) ) // Listed as "OUTERSPACE" in source code
|
// PORT_DIPSETTING( 0x0000, DEF_STR( Unused ) )
|
||||||
PORT_DIPNAME( 0x7000, 0x7000, DEF_STR( Coinage ) )
|
PORT_DIPNAME( 0x7000, 0x7000, DEF_STR( Coinage ) )
|
||||||
PORT_DIPSETTING( 0x7000, "1" )
|
PORT_DIPSETTING( 0x7000, "1" )
|
||||||
PORT_DIPSETTING( 0x3000, "2" )
|
PORT_DIPSETTING( 0x3000, "2" )
|
||||||
|
@ -28,23 +28,6 @@
|
|||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
Wrestlemania prototype development based on source code release:
|
|
||||||
|
|
||||||
2.01 Tues 6 Jun Initial release.
|
|
||||||
2.02 Thurs 8 Jun Endgame stories added.
|
|
||||||
Fixed a bug that cut many combos short.
|
|
||||||
Buddy mode powerup didn't work. Fixed.
|
|
||||||
Various minor bug fixes.
|
|
||||||
2.03 ??? Fixed a problem with a new watchdog part.
|
|
||||||
3.00 Fri 23 Jun Test version only -- never released.
|
|
||||||
Attract AAMA transition crash bug fixed.
|
|
||||||
Various minor bug fixes.
|
|
||||||
Lots of gameplay tweaking.
|
|
||||||
3.01 Tues 27 Jun Various tweaks and bug fixes.
|
|
||||||
Buy-in during fireworks bug fixed.
|
|
||||||
|
|
||||||
***************************************************************************
|
|
||||||
|
|
||||||
MK3/ Ultimate Mortal Kombat 3 / Williams-Midway Wolf hardware
|
MK3/ Ultimate Mortal Kombat 3 / Williams-Midway Wolf hardware
|
||||||
Midway, 1995
|
Midway, 1995
|
||||||
|
|
||||||
|
@ -10,37 +10,6 @@
|
|||||||
Games supported:
|
Games supported:
|
||||||
* Revolution X
|
* Revolution X
|
||||||
|
|
||||||
|
|
||||||
***************************************************************************
|
|
||||||
|
|
||||||
Notes based on source code release:
|
|
||||||
|
|
||||||
STARTED: 08/10/92
|
|
||||||
RELEASED: 05/23/94
|
|
||||||
|
|
||||||
DIRECTED & PRODUCED BY: GEORGE N. PETRO & JACK E. HAEGER
|
|
||||||
GAME DESIGN: GEORGE N. PETRO, JACK E. HAEGER, BILL DABELSTEIN, WARREN B. DAVIS, STEVE BERAN & MARTIN MARTINEZ
|
|
||||||
ARTWORK, ANIMATIONS: JACK E. HAEGER, STEVE BERAN, MARTIN MARTINEZ & JOHN VOGEL
|
|
||||||
GAME PROGRAM: BILL DABELSTEIN, WARREN DAVIS & GEORGE N. PETRO
|
|
||||||
SOUNDS & MUSIC: CHRIS GRANNER
|
|
||||||
HARDWARE: RAY MACIKA, STEVE CORRELL, MARK LOFFREDO, CARY MEDNICK & PAT COX
|
|
||||||
SOUND SYSTEM: MATT BOOTY & RK140
|
|
||||||
MECHANICS, CABINET: TED VALAVANIS, MATT DAVIS & BOB
|
|
||||||
SUPPORT: AL LASKO & DR. SHERIDAN OURSLER
|
|
||||||
|
|
||||||
Revision history:
|
|
||||||
|
|
||||||
DATE REV DESCRIPTION
|
|
||||||
---- --- -----------
|
|
||||||
9/1/93 - Name changed from GENERATION X to REVOLUTION X
|
|
||||||
3/17/94 TA1 ACME show, first showing, 2500 sold
|
|
||||||
4/1/94 TA2 First weekend test, $424.00 in 3 days
|
|
||||||
4/15/94 TA3 Second weekend test, $189.00 in 1.5 days
|
|
||||||
4/22/94 TA4 Installed 4/22/94 10:00pm at Times Square
|
|
||||||
5/5/94 TA5 Put out the weekend before releasing
|
|
||||||
5/23/94 PA5
|
|
||||||
6/16/94 LA1
|
|
||||||
|
|
||||||
***************************************************************************
|
***************************************************************************
|
||||||
|
|
||||||
Revolution X
|
Revolution X
|
||||||
|
@ -31,113 +31,6 @@
|
|||||||
table from the UTILITIES menu. It's best to do a FULL FACTORY RESTORE
|
table from the UTILITIES menu. It's best to do a FULL FACTORY RESTORE
|
||||||
|
|
||||||
|
|
||||||
*************************************************************************
|
|
||||||
|
|
||||||
Notes for NARC based on source code release:
|
|
||||||
|
|
||||||
DESIGNED BY: EUGENE P. JARVIS, GEORGE N. PETRO, TODD R. ALLEN & JACK E. HAEGER
|
|
||||||
PROGRAMMED BY: EUGENE P. JARVIS, GEORGE N. PETRO, TODD R. ALLEN & LAWRENCE E. DEMAR
|
|
||||||
ARTWORK BY: JACK E. HAEGER, JOHN R. NEWCOMER, LIN YOUNG & TIMOTHY J. ELLIOT
|
|
||||||
Z-UNIT BY: MARK "THE LARGE ONE" LOFFREDO & GLENN A. MILLION (SHIPP)
|
|
||||||
|
|
||||||
STARTED: 8/1/87
|
|
||||||
RELEASED 2.00: 1/16/89
|
|
||||||
|
|
||||||
Revision history for NARC:
|
|
||||||
|
|
||||||
1.0 Initial software for AMOA 1988 (11/3/88)
|
|
||||||
1.1 Fixed driving wave. Fixed cars left behind is deleted & warped ahead (11/14/88)
|
|
||||||
1.2 Initial On-Sight test software. Added coins & audits. Players hit by explosions & rockets (11/19/88)
|
|
||||||
1.3 Fixed 2nd player buy-in. More audits & core dump software (11/21/88)
|
|
||||||
1.8 First game release for PROTO run (250) games released for greed reasons. Not recommended by dev team (12/18/88)
|
|
||||||
1.91 Used as location test, no other information, see below
|
|
||||||
2.00 Production release number 1. Too much was added / changed from v1.8 for itemized. Considered starting point
|
|
||||||
for production revisions (1/16/89)
|
|
||||||
3.00 More data structures initialized on secret bonus.
|
|
||||||
Bad trap jumps to secret bonus any time during gameplay.
|
|
||||||
Fixed Player cold start supplemental list knot bug.
|
|
||||||
Added sound for exploding Sgt. Skyghighs.
|
|
||||||
Wheel chairs and cards are no longer transferred.
|
|
||||||
Added more gameplay per attract mode cycle.
|
|
||||||
Fixed the endless buy-in music.
|
|
||||||
New and improved joystick Left/Right flip response
|
|
||||||
An unlocked card slot door lets either player out now.
|
|
||||||
Made both players walk through the safe doors. (2/5/89)
|
|
||||||
3.10 Production run release number 2
|
|
||||||
If a cash card exists and only one player is active, then that player activates the cash machine regardless.
|
|
||||||
Made breakers and such in the drug lab easier to pop with bullets.
|
|
||||||
Factory Difficulty setting lowered to 3
|
|
||||||
German Factory Difficulty = 2, Buyin = Easy
|
|
||||||
Dumpster is much kinder (2/9/89)
|
|
||||||
3.20 Added stupid pea brained idea to mark a ROM good if it only dropped 1 bit in a byte. This was for the ROM test.
|
|
||||||
This was done because the 512 parts there were purchased would lose bits over time. This decision was made by
|
|
||||||
Williams management, and is also a prime example of their infinite wisdom. Surely I jest. (2/13/89)
|
|
||||||
3.30 Bad 27C512s are dropping more then 1 bit per byte in some cases. Williams management has now decided that then
|
|
||||||
ROM check change should be removed. There is a difference between production and development, they should not
|
|
||||||
be mixed (2/14/89)
|
|
||||||
3.31 Same as 3.30, except is made to be burned on 1 Mbit ROMs (2/14/89)
|
|
||||||
4.00 Same as 3.30, but Gurnee did not like our revision number. It was too hard to distinguish. (2/17/89)
|
|
||||||
5.00 Same as 3.31, for the revision # reason. (2/17/89)
|
|
||||||
6.00 Fixes Player Buy-in to invisibility bug. It was hard to find but we fingered it. (2/20/89) - Yes! it was noted as "fingered"
|
|
||||||
7.00 Same as 6.00 but for 1 Mbit ROMs. (2/20/89)
|
|
||||||
|
|
||||||
There was a location test report generated on Saturday afternoon 1/21/89 for a currently undumped
|
|
||||||
Version 1.91 4 locations: Chicago Game Co., Times Square, Alladin's Castle and Galaxy Game Center.
|
|
||||||
|
|
||||||
The following feedback was also documented:
|
|
||||||
Chicago Game Co. ( 527 Plays... 0 Dump of any kind ):
|
|
||||||
No Mr. Big Kills
|
|
||||||
Only 2 trips to the silver safe
|
|
||||||
Times Square ( 876 Plays... 2 "Survived Lockup" ):
|
|
||||||
No Mr. Big Kills
|
|
||||||
Continuous Buy-in observed in the silver safe and beyond
|
|
||||||
Alladin's Castle ( 704 Plays... 1 Watchdog ):
|
|
||||||
Mr. Big killed twice
|
|
||||||
Report that helicopter can be made to disappear by violent car action
|
|
||||||
Galaxy Game Center ( 617 plays... 1 Lockup ):
|
|
||||||
No Mr. Big kills
|
|
||||||
Players not able to find blue card in drug lab witnessed
|
|
||||||
|
|
||||||
NARC sound program and data ROMs:
|
|
||||||
|
|
||||||
The REV1 ROMs have no known build date or revision code.
|
|
||||||
The REV2 ROMs have a Version 1.1 1/16/89 string in the U5 ROM starting at 0xC04C, which
|
|
||||||
coincides with the above released date of the 2.00 ROMs for the first production release.
|
|
||||||
In the source code archive that was released, there are sound ROMs with a Version 1.0 1/12/89
|
|
||||||
string. It's not known which if any set these should be matched to. Maybe the missing v1.91?
|
|
||||||
|
|
||||||
For each sound ROM set, both program ROMs as well as the 4 data ROMs are unique to that build.
|
|
||||||
|
|
||||||
*************************************************************************
|
|
||||||
|
|
||||||
TROG development based on notes in source code & dumped sets:
|
|
||||||
|
|
||||||
TROG:
|
|
||||||
STARTED: 6/5/89 INTERNATIONAL DUX DAY
|
|
||||||
RELEASED:
|
|
||||||
1.00 6/20/90 FINAL VERSION OF ORIGINAL TROG
|
|
||||||
2.00 6/27/90 FIXED NASTY DINO SPACE BUG
|
|
||||||
3.00 7/9/90 A FEW CORRECTIONS
|
|
||||||
4.00 7/27/90
|
|
||||||
|
|
||||||
PAC-TROG (prototype & release):
|
|
||||||
STARTED: 7/10/90
|
|
||||||
RELEASED:
|
|
||||||
PA3 8/15/90
|
|
||||||
PA5 8/28/90
|
|
||||||
PA6 9/27/90 PROTO PAC-TROG 10 DOMESTIC 10 ABROAD.
|
|
||||||
LA1 1/14/91 MANY CHANGES BEFORE PRODUCTION
|
|
||||||
LA2 2/6/91 FIRST TO BE MASS PRODUCED
|
|
||||||
LA3 2/14/91 HAPPY VALENTINES DAY!
|
|
||||||
LA4 3/11/91
|
|
||||||
LA5 3/29/91
|
|
||||||
|
|
||||||
DESIGN: GEORGE N. PETRO & JACK E. HAEGER
|
|
||||||
GAME PROGRAM: GEORGE N. PETRO & J. KURT MAHAN
|
|
||||||
HARDWARE: MARK LOFFREDO, GLENN SHIPP & CARY MEDNICK
|
|
||||||
|
|
||||||
ARTWORK, ANIMATIONS, CLAY SCULPTING: JACK E. HAEGER
|
|
||||||
|
|
||||||
*************************************************************************
|
*************************************************************************
|
||||||
|
|
||||||
Super High Impact
|
Super High Impact
|
||||||
@ -2199,17 +2092,6 @@ ROM_START( trogpa5 )
|
|||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
Trog's source code release documents an undumped PAC-TROG version PA3-PAC 8/15/90 set with the following unique ROMs:
|
|
||||||
|
|
||||||
TROGU105.PP checksum 2298 program ROM
|
|
||||||
TROGU89.PP checksum E999 program ROM
|
|
||||||
TROGU97.PP checksum 2E80 image ROM
|
|
||||||
TROGU113.PP checksum 737D image ROM
|
|
||||||
|
|
||||||
*/
|
|
||||||
|
|
||||||
|
|
||||||
ROM_START( trogpa4 )
|
ROM_START( trogpa4 )
|
||||||
ROM_REGION( 0x90000, "cvsd:cpu", 0 ) /* sound CPU */
|
ROM_REGION( 0x90000, "cvsd:cpu", 0 ) /* sound CPU */
|
||||||
ROM_LOAD( "trog_ii_u-4_sl_1.u4", 0x10000, 0x10000, CRC(759d0bf4) SHA1(c4c3fa51c43cf7fd241ac1f33d7d220aa9f9edb3) )
|
ROM_LOAD( "trog_ii_u-4_sl_1.u4", 0x10000, 0x10000, CRC(759d0bf4) SHA1(c4c3fa51c43cf7fd241ac1f33d7d220aa9f9edb3) )
|
||||||
@ -2347,7 +2229,7 @@ ROM_START( smashtv5 )
|
|||||||
ROM_END
|
ROM_END
|
||||||
|
|
||||||
|
|
||||||
ROM_START( smashtv4 ) // source docs states Smash TV Rev 4.00 released 5/4/90 to production.
|
ROM_START( smashtv4 )
|
||||||
ROM_REGION( 0x90000, "cvsd:cpu", 0 ) /* sound CPU */
|
ROM_REGION( 0x90000, "cvsd:cpu", 0 ) /* sound CPU */
|
||||||
ROM_LOAD ( "sl2_smash_tv_sound_rom_u4.u4", 0x10000, 0x10000, CRC(29d3f6c8) SHA1(8a90cdff54f59ddb7dba521504d880515a59df08) )
|
ROM_LOAD ( "sl2_smash_tv_sound_rom_u4.u4", 0x10000, 0x10000, CRC(29d3f6c8) SHA1(8a90cdff54f59ddb7dba521504d880515a59df08) )
|
||||||
ROM_RELOAD( 0x20000, 0x10000 )
|
ROM_RELOAD( 0x20000, 0x10000 )
|
||||||
|
@ -280,7 +280,7 @@ void qx10_state::update_speaker()
|
|||||||
* !enable -----
|
* !enable -----
|
||||||
*/
|
*/
|
||||||
|
|
||||||
uint8_t level = (!((!((!m_spkr_enable) && m_pit1_out0)) && m_spkr_freq)) ? 1 : 0;
|
uint8_t level = ((!m_spkr_enable && m_pit1_out0) || !m_spkr_freq) ? 1 : 0;
|
||||||
m_speaker->level_w(level);
|
m_speaker->level_w(level);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,16 +30,16 @@ k007452_device::k007452_device(const machine_config &mconfig, const char *tag, d
|
|||||||
// read - read the registers
|
// read - read the registers
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
|
|
||||||
uint8_t k007452_device::read(offs_t offset)
|
u8 k007452_device::read(offs_t offset)
|
||||||
{
|
{
|
||||||
switch (offset & 7)
|
switch (offset & 7)
|
||||||
{
|
{
|
||||||
case 0: return m_multiply_result & 0xff;
|
case 0: return u8(m_multiply_result & 0xff);
|
||||||
case 1: return (m_multiply_result >> 8) & 0xff;
|
case 1: return u8((m_multiply_result >> 8) & 0xff);
|
||||||
case 2: return m_divide_remainder & 0xff;
|
case 2: return u8(m_divide_remainder & 0xff);
|
||||||
case 3: return (m_divide_remainder >> 8) & 0xff;
|
case 3: return u8((m_divide_remainder >> 8) & 0xff);
|
||||||
case 4: return m_divide_quotient & 0xff;
|
case 4: return u8(m_divide_quotient & 0xff);
|
||||||
case 5: return (m_divide_quotient >> 8) & 0xff;
|
case 5: return u8((m_divide_quotient >> 8) & 0xff);
|
||||||
default: return 0;
|
default: return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -51,22 +51,26 @@ uint8_t k007452_device::read(offs_t offset)
|
|||||||
|
|
||||||
void k007452_device::write(offs_t offset, u8 data)
|
void k007452_device::write(offs_t offset, u8 data)
|
||||||
{
|
{
|
||||||
if (offset < 6) m_math_regs[offset] = data;
|
if (offset < 6)
|
||||||
|
m_math_regs[offset] = data;
|
||||||
|
|
||||||
if (offset == 1)
|
if (offset == 1)
|
||||||
{
|
{
|
||||||
// Starts multiplication process
|
// Starts multiplication process
|
||||||
m_multiply_result = m_math_regs[0] * m_math_regs[1];
|
m_multiply_result = u16(m_math_regs[0]) * m_math_regs[1];
|
||||||
}
|
}
|
||||||
else if (offset == 5)
|
else if (offset == 5)
|
||||||
{
|
{
|
||||||
// Starts division process
|
// Starts division process
|
||||||
u16 dividend = (m_math_regs[4]<<8) + m_math_regs[5];
|
u16 const dividend = (u16(m_math_regs[4]) << 8) | m_math_regs[5];
|
||||||
u16 divisor = (m_math_regs[2]<<8) + m_math_regs[3];
|
u16 const divisor = (u16(m_math_regs[2]) << 8) | m_math_regs[3];
|
||||||
if (!divisor) {
|
if (!divisor)
|
||||||
|
{
|
||||||
m_divide_quotient = 0xffff;
|
m_divide_quotient = 0xffff;
|
||||||
m_divide_remainder = 0x0000;
|
m_divide_remainder = 0x0000;
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
m_divide_quotient = dividend / divisor;
|
m_divide_quotient = dividend / divisor;
|
||||||
m_divide_remainder = dividend % divisor;
|
m_divide_remainder = dividend % divisor;
|
||||||
}
|
}
|
||||||
@ -98,4 +102,3 @@ void k007452_device::device_reset()
|
|||||||
m_divide_quotient = 0;
|
m_divide_quotient = 0;
|
||||||
m_divide_remainder = 0;
|
m_divide_remainder = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,14 +33,14 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
// internal state
|
// internal state
|
||||||
u32 m_math_regs[6];
|
u8 m_math_regs[6];
|
||||||
u16 m_multiply_result;
|
u16 m_multiply_result;
|
||||||
u16 m_divide_quotient;
|
u16 m_divide_quotient;
|
||||||
u16 m_divide_remainder;
|
u16 m_divide_remainder;
|
||||||
};
|
};
|
||||||
|
|
||||||
// device type definition
|
|
||||||
|
// device type declaration
|
||||||
DECLARE_DEVICE_TYPE(KONAMI_007452_MATH, k007452_device)
|
DECLARE_DEVICE_TYPE(KONAMI_007452_MATH, k007452_device)
|
||||||
|
|
||||||
|
|
||||||
#endif // MAME_MACHINE_K007452_H
|
#endif // MAME_MACHINE_K007452_H
|
||||||
|
Loading…
Reference in New Issue
Block a user