-qx10.cpp: DeMorgan is your friend.

-machine/k007452.cpp: Be more paranoid with intger promotion/truncation.

-Adjust some comments.
This commit is contained in:
Vas Crabb 2021-04-16 03:02:04 +10:00
parent a1cdac0ece
commit b8a8aa1a26
7 changed files with 25 additions and 188 deletions

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -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;
} }

View File

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