MAME 0.170 was released on 27 January 2016.
MAMETesters Bugs Fixed
The known contributions for this version are, in the order specified in the whatsnew:
- Ed Bernard added more accurate SSi S14001A speech chip emulation, written by one of the people at SSi who originally laid out the S14001a silicon in 1974/5!
- Sandro Ronco updated nokia_3310.cpp: started implementing the driver based on available information. Also added dumps for various models.
- Lord Nightmare and brizzo provided corrections to some ROM names and labels on Elevator Action based on pcb pictures.
- Sean Riddle updated tispeak.cpp: Dumped and added correct version of 1979 US Speak & Spell.
- hap updated vicdual.cpp: rewrote carnival music board emulation, copy-pasted samples handling from audio/pulsar.cpp. Kept sample names and function names the same.
- MooglyGuy and Tafoid removed this == nullptr checks and fixed most of the resulting crashes.
- AJR provided more configuration fixes:
- terrafb: remove unused NB1414M4.
- segas16b.cpp: sanity check forgotten in last confix.
- sega16sp.cpp: fix region width, make required (as last confix allows)
- Angelo Salese updated psychic5.cpp: Fixed sprite disable for Bombs Away.
- AJR made the core pass and return palette devices by reference, not as pointers:
- Add screen_device::has_palette().
- Require device_gfx_interface::gfx() and palette() to access members.
- Getters for atari_vad_device return devices as references, not pointers.
- AJR provided driver configuration fixes:
- Implement found() method for object finders.
- a1200, cubo, midzeus2, etc.: remove spurious palette tags.
- bagman, sbagman & clones: correct PROM region lengths.
- atomicp, snapper: remove unused(?) sprite device w/no ROMs.
- Ville Linde updated the taitotz driver: replace HLE rendering with actual chip emulation.
- f205v updated NAOMI/Chihiro docs.
- brizzo and MetalliC documented rest of Atomiswave registers.
- ANY added dump of World Club Champion Football's camera sensor board.
- system11 updated tourvis.cpp: Added V4.0 BIOS to the Tourvision driver.
- brizzo updated the Arkanoid driver: Add note about the number of optical quadrature slots (24) the arkanoid 1:20 geared spinner's quadrature wheel.
- Lord Nightmare updated arkanoid.cpp: Set YM2149 emulation to mix channels the same way the real pcb mixes them, by directly tying them together with no mixing resistors. This introduces some distortion, but is more accurate to actual pcb audio.
- Angelo Salese updated 40love.cpp: added global color select bank, fixes colors in later levels for Forty-Love.
- Miso Kim updated the spc1000 driver: cassette tape motor fixed for working properly.
- Lord Nightmare and Brizzo updated arkanoid.cpp: Added emulation of the 68705 timer and timer interrupts. Fixed bugs with MCU port c ddr handling, latches and edge detection, added missing interrupt on Z80 write to MCU, and removed a boost interleave hack which was made unnecessary by these fixes. Switched the Arkanoid (older) sets to use original Taito A75 06 MCU code as opposed to the bootleg MCU code used until now. The 3 (newer) and 1 Tournament sets still use hand-hacked bootleg MCU code until original MCU chips can be dumped and/or decapped. All 9 of the dumped Arkanoid MCU code roms now work, if hooked up to the appropriate drivers. Hooked the now-working 'deprotected Taito' MCU dump up to arkanoidjbl. Added an alternate gfx rom dumped from an original 'older' US board.
- ANY provided some Fast Invaders improvements.
- AJR made the core return std::string objects by value rather than pass by reference.
- strprintf is unaltered, but strformat now takes one fewer argument.
- state_string_export still fills a buffer, but has been made const.
- get_default_card_software now takes no arguments but returns a string.
- Lord Nightmare added some comments on TRS-01 'early radar scope' 5-PCB set. Fixed some ROM names based on PCB pictures from Superully.
- Arzeno Fabrice updated segas18.cpp: Add documentation of a Laser Ghost test PCB.
- Jeffrey Clark provided common osd path environment var expansion.
- Carl updated the pc9801_86 driver: add pcm.
- mrsinister added official updater roms to the calspeeda set so that you can update the hdd / game revision if you so please.
- Gabriele D'Antona updated the ts803 driver: can display text and graphics, can boot from disk.
- R. Belmont updated the apple2e driver: fix $c800 arbitration, fixes IDE and SCSI cards among others.
- Brandon Munger updated the R9751 driver: Clean up, add timer register, and add another system disk set to software list.
- O. Galibert updated makedep.py: Finish making it python3-compatible.
- Brian Troha updated sfkick.cpp: Fill in missing dipswitches and added dip locations.
- F.Ulivi provided improvements to hp9845b driver.
- ConHuevosGuey increased debug console maximum parameters in debugcon.h.
- Till Harbaum updated the m68k core: fix 020+ bfins instruction results and flags.
- Berger updated the fidelz80 driver: redumped CC10B PRG ROM.
- Ville Linde updated the rf5c400 core: added external memory r/w function.
- Felipe Sanches updated the marywu driver: Most of the hardware has been mapped by analysing the pcb tracks. This set of commits include:
- a video layout with all 30 LEDs 13 double-digit 7seg modules.
- an improved memory map hooking up the couple AY8910-3 chips, 2kb of Static RAM and the keyboard/display controller (an i8279 clone).
- multiplexing signals for the 7seg displays.
- LEDs being controlled by the IO ports of the 2 AY8910-3 chips.
- 8-bit set of DIP-Switches, a 2x16 keyboard and 4 push buttons mapped to the i8279 scanlines and return lines.
- AJR provided some more validity checking improvements:
- The -validate command now accepts an optional string, validating only matching drivers. This has proven useful for debugging. The default is to validate all drivers as usual.
- Devices' names are tracked when validating their auto-finders.
- AJR made sound_stream::input_name return the std::string it constructs.
- ImJezze refactored NTSC pass and added sliders:
- merged YIQ encode and decode pass into one NTSC pass.
- fixed half texel offset.
- re-added usage of A value.
- re-added usage of P value.
- re-added jitter of B value.
- changed default O value to 0.
- reduced sample count to 64.
- removed duplicate YIQ settings definition.
- added sliders for most NTSC settings.
- fit B value jitter between a min/max range of 0 and 1.
- fit A and B value between a min/max range of -1 and 1
- ImJezze refactored color convergence pass.
- color convergence is now independent from ratio.
- color convergence is now limited to a maximum of 10.
- the radial color convergence now "translates" the most outer pixel as they would be translated by the linear color convergence with the same amount.
- added color convergence pass to vector rendering.
- ImJezze provided misc. updates:
- fixed half texel offset in pre-scale pass.
- fit scan-line jitter between a min/max range of 0 and 1.
- color convolution, defocus and phosphor pass will now be skipped if all influencing parameters are 0.
- added hum bar simulation based on MooglyGuy's GLSL port of the MAME shader pipeline.
- added monochrome-chessboard.png.
- added slot-mask-aligned.png (to simulate a TFT LCD).
New machines added or promoted from NOT_WORKING status
New clones added or promoted from NOT_WORKING status
New machines marked as GAME_NOT_WORKING
New clones marked as GAME_NOT_WORKING
Notable new WORKING software list additions
Notable new not WORKING software list additions