From b8a8aa1a26b67ace1c6402c4b7c57a9f6a2776d6 Mon Sep 17 00:00:00 2001 From: Vas Crabb Date: Fri, 16 Apr 2021 03:02:04 +1000 Subject: -qx10.cpp: DeMorgan is your friend. -machine/k007452.cpp: Be more paranoid with intger promotion/truncation. -Adjust some comments. --- src/mame/drivers/midtunit.cpp | 4 +- src/mame/drivers/midwunit.cpp | 17 ------ src/mame/drivers/midxunit.cpp | 31 ----------- src/mame/drivers/midyunit.cpp | 120 +----------------------------------------- src/mame/drivers/qx10.cpp | 2 +- src/mame/machine/k007452.cpp | 33 ++++++------ src/mame/machine/k007452.h | 6 +-- 7 files changed, 25 insertions(+), 188 deletions(-) diff --git a/src/mame/drivers/midtunit.cpp b/src/mame/drivers/midtunit.cpp index dd7c247291b..664253f5702 100644 --- a/src/mame/drivers/midtunit.cpp +++ b/src/mame/drivers/midtunit.cpp @@ -464,7 +464,7 @@ static INPUT_PORTS_START( nbajam ) PORT_DIPSETTING( 0x0c00, DEF_STR( USA ) ) PORT_DIPSETTING( 0x0800, DEF_STR( French ) ) 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_DIPSETTING( 0x7000, "1" ) PORT_DIPSETTING( 0x3000, "2" ) @@ -567,7 +567,7 @@ static INPUT_PORTS_START( nbajamte ) PORT_DIPSETTING( 0x0c00, DEF_STR( USA ) ) PORT_DIPSETTING( 0x0800, DEF_STR( French ) ) 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_DIPSETTING( 0x7000, "1" ) PORT_DIPSETTING( 0x3000, "2" ) diff --git a/src/mame/drivers/midwunit.cpp b/src/mame/drivers/midwunit.cpp index 957855d9e96..18a28aede6e 100644 --- a/src/mame/drivers/midwunit.cpp +++ b/src/mame/drivers/midwunit.cpp @@ -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 Midway, 1995 diff --git a/src/mame/drivers/midxunit.cpp b/src/mame/drivers/midxunit.cpp index af7734046e0..da6b5b2984d 100644 --- a/src/mame/drivers/midxunit.cpp +++ b/src/mame/drivers/midxunit.cpp @@ -10,37 +10,6 @@ Games supported: * 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 diff --git a/src/mame/drivers/midyunit.cpp b/src/mame/drivers/midyunit.cpp index 80eab046589..99b83d6bfa0 100644 --- a/src/mame/drivers/midyunit.cpp +++ b/src/mame/drivers/midyunit.cpp @@ -31,113 +31,6 @@ 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 @@ -2199,17 +2092,6 @@ ROM_START( trogpa5 ) 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_REGION( 0x90000, "cvsd:cpu", 0 ) /* sound CPU */ 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_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_LOAD ( "sl2_smash_tv_sound_rom_u4.u4", 0x10000, 0x10000, CRC(29d3f6c8) SHA1(8a90cdff54f59ddb7dba521504d880515a59df08) ) ROM_RELOAD( 0x20000, 0x10000 ) diff --git a/src/mame/drivers/qx10.cpp b/src/mame/drivers/qx10.cpp index dc06d3a9bf9..b2e413679ad 100644 --- a/src/mame/drivers/qx10.cpp +++ b/src/mame/drivers/qx10.cpp @@ -280,7 +280,7 @@ void qx10_state::update_speaker() * !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); } diff --git a/src/mame/machine/k007452.cpp b/src/mame/machine/k007452.cpp index 3f6a3202d61..20d4ac450af 100644 --- a/src/mame/machine/k007452.cpp +++ b/src/mame/machine/k007452.cpp @@ -30,16 +30,16 @@ k007452_device::k007452_device(const machine_config &mconfig, const char *tag, d // read - read the registers //------------------------------------------------- -uint8_t k007452_device::read(offs_t offset) +u8 k007452_device::read(offs_t offset) { switch (offset & 7) { - case 0: return m_multiply_result & 0xff; - case 1: return (m_multiply_result >> 8) & 0xff; - case 2: return m_divide_remainder & 0xff; - case 3: return (m_divide_remainder >> 8) & 0xff; - case 4: return m_divide_quotient & 0xff; - case 5: return (m_divide_quotient >> 8) & 0xff; + case 0: return u8(m_multiply_result & 0xff); + case 1: return u8((m_multiply_result >> 8) & 0xff); + case 2: return u8(m_divide_remainder & 0xff); + case 3: return u8((m_divide_remainder >> 8) & 0xff); + case 4: return u8(m_divide_quotient & 0xff); + case 5: return u8((m_divide_quotient >> 8) & 0xff); default: return 0; } } @@ -51,22 +51,26 @@ uint8_t k007452_device::read(offs_t offset) 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) { // 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) { // Starts division process - u16 dividend = (m_math_regs[4]<<8) + m_math_regs[5]; - u16 divisor = (m_math_regs[2]<<8) + m_math_regs[3]; - if (!divisor) { + u16 const dividend = (u16(m_math_regs[4]) << 8) | m_math_regs[5]; + u16 const divisor = (u16(m_math_regs[2]) << 8) | m_math_regs[3]; + if (!divisor) + { m_divide_quotient = 0xffff; m_divide_remainder = 0x0000; - } else { + } + else + { m_divide_quotient = dividend / divisor; m_divide_remainder = dividend % divisor; } @@ -98,4 +102,3 @@ void k007452_device::device_reset() m_divide_quotient = 0; m_divide_remainder = 0; } - diff --git a/src/mame/machine/k007452.h b/src/mame/machine/k007452.h index a5eccb8f794..2ffe202061c 100644 --- a/src/mame/machine/k007452.h +++ b/src/mame/machine/k007452.h @@ -33,14 +33,14 @@ protected: private: // internal state - u32 m_math_regs[6]; + u8 m_math_regs[6]; u16 m_multiply_result; u16 m_divide_quotient; u16 m_divide_remainder; }; -// device type definition -DECLARE_DEVICE_TYPE(KONAMI_007452_MATH, k007452_device) +// device type declaration +DECLARE_DEVICE_TYPE(KONAMI_007452_MATH, k007452_device) #endif // MAME_MACHINE_K007452_H -- cgit v1.2.3