MAME 0.79u2: Difference between revisions
From MAMEDEV Wiki
(Initial version.) |
mNo edit summary |
||
(2 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Release Date == | == Release Date == | ||
MAME 0.79u2 was released | MAME 0.79u2 was a private internal release and never released to the public. | ||
It was released privately to MAMEDev on 21 February 2004. | |||
== Contributors == | == Contributors == | ||
Line 29: | Line 30: | ||
* [[Aaron Giles]] updated the timer system: | * [[Aaron Giles]] updated the timer system: | ||
** The timer system is now integer-based instead of floating-point based. It requires 64-bit ints. I've defined a new type 'mame_time' which is a 96-bit time value. There are 32 bits for counting full seconds, and 64 bits for counting subseconds. This type is used extensively in the core timer system and the CPU scheduler. | ** The timer system is now integer-based instead of floating-point based. It requires 64-bit ints. I've defined a new type 'mame_time' which is a 96-bit time value. There are 32 bits for counting full seconds, and 64 bits for counting subseconds. This type is used extensively in the core timer system and the CPU scheduler. | ||
** The accuracy of the new system is down to 1 attosecond (10^-18 seconds). This may seem excessive, but for a 100MHz CPU, each clock cycle is 10^10 attoseconds. That works nicely because 100MHz divides evenly. For a 96MHz | ** The accuracy of the new system is down to 1 attosecond (10^-18 seconds). This may seem excessive, but for a 100MHz CPU, each clock cycle is 10^10 attoseconds. That works nicely because 100MHz divides evenly. For a 96MHz CPU, each clock cycle is 1.041666667 * 10^10 attoseconds. Rounding, we lose 1/3 of an attosecond per cycle in error. Multiply that error by 96000000 and you end up with an error of 32000000 attoseconds. Fortunately, that's only 0.032ns, but if I had much less accuracy than this, the errors would start to add up in a more significant way. | ||
CPU, each clock cycle is 1.041666667 * 10^10 attoseconds. Rounding, we lose 1/3 of an attosecond per cycle in error. Multiply that error by 96000000 and you end up with an error of 32000000 attoseconds. Fortunately, that's only 0.032ns, but if I had much less accuracy than this, the errors would start to add up in a more significant way. | |||
** All the existing APIs are still around, and doubles can still be passed as arguments. But they are all immediately connverted to 'mame_time' values for processing. | ** All the existing APIs are still around, and doubles can still be passed as arguments. But they are all immediately connverted to 'mame_time' values for processing. | ||
** The old system had some drifting errors due to FP rounding which are gone now. | ** The old system had some drifting errors due to FP rounding which are gone now. | ||
Line 81: | Line 81: | ||
* [[Erik Ruud]] added sample support in Tailgunner | * [[Erik Ruud]] added sample support in Tailgunner | ||
== Game Support == | == Game Support == |
Latest revision as of 17:48, 28 November 2014
Release Date
MAME 0.79u2 was a private internal release and never released to the public.
It was released privately to MAMEDev on 21 February 2004.
Contributors
The known contributors for this version are, in alphabetical order:
- B.S.Ruggeri
- Brian Troha
- Bryan McPhail
- chaneman
- Curt Coder
- David Haywood
- David Widel
- Erik Ruud
- HPMAN
- Leon van Rooij
- Nathan Woods
- Norbert Kehrer
- Pierpaolo Prazzoli
- Quench
- R. Belmont
- Tomasz Slanina
Specific Contributions
The known contributions for this version are, in the order specified in the whatsnew:
- Aaron Giles updated the timer system:
- The timer system is now integer-based instead of floating-point based. It requires 64-bit ints. I've defined a new type 'mame_time' which is a 96-bit time value. There are 32 bits for counting full seconds, and 64 bits for counting subseconds. This type is used extensively in the core timer system and the CPU scheduler.
- The accuracy of the new system is down to 1 attosecond (10^-18 seconds). This may seem excessive, but for a 100MHz CPU, each clock cycle is 10^10 attoseconds. That works nicely because 100MHz divides evenly. For a 96MHz CPU, each clock cycle is 1.041666667 * 10^10 attoseconds. Rounding, we lose 1/3 of an attosecond per cycle in error. Multiply that error by 96000000 and you end up with an error of 32000000 attoseconds. Fortunately, that's only 0.032ns, but if I had much less accuracy than this, the errors would start to add up in a more significant way.
- All the existing APIs are still around, and doubles can still be passed as arguments. But they are all immediately connverted to 'mame_time' values for processing.
- The old system had some drifting errors due to FP rounding which are gone now.
- R. Belmont fixed Unix compile errors (renamed rand_r in namconb1 driver)
- Nathan Woods added misc Fixes
- Fixups for the CP1610 core
- Fixed the declaration of activecpu_set_irq_callback()
- Added a new consistency check for drivers that use non-existent CPU cores
- Refactored to remove MESS specific code
- Added ide_bus_0_r() call to access the bus directly
- This patch changes the Z80 CPU core to set the Z80 cycle tables to their defaults on startup. This removes any need for drivers to reset the Z80 cycle tables back to their defaults on exit.
- Brian Troha cleaned up some itech32 notes
- B.S.Ruggeri fixed some firebatl DIP switches
- Aaron Giles fixed CPU specific memory maps
- chaneman fixed targ filenames and added proms
- Quench updated the PIC core + drivers to use internal memory maps
- Aaron Giles added support for the IACK and IDLE commands in the TMS32031 core
- Curt Coder contributed various updates
- HPMAN updated NeoGeo sets to use correct roms
- Leon van Rooij contributed Psikyo.c video fixes:
- glitch in gunbird attract mode (tilemaps can be opaque);
- glitch in s1945, when the planes are shown (sprite-tilemap priorities);
- glitch in s1945, lvl 7 (there is an additional per-tile rowscroll mode). This solves mametesters 1945066gre.
- Leon van Rooij fixed a m68kdasm bug
- David Widel decoded information for the custom cpu used by robowrest2001
- R. Belmont fixed the Irem GA-20 pitch
- Aaron Giles added support for DMA based DAC 'sound chip' and updated DCS / CAGE to use it.
- Tomasz Slanina fixed Enigma 2:
- sound
- bg starfield in enigma2
- cocktail mode
- fixed some bugs (protection?)
- colors
- Erik Ruud added sample support in Tailgunner
Game Support
New games added or promoted from NOT_WORKING status
New clones added
New games marked as GAME_NOT_WORKING