MESSUI 0.188
------------
Changes:
- Big rewrite due to new code that was added to the core. Big thanks to Mamesick for clues on how to handle this.
- History display was completely rewritten. This adds gameinit.dat and marp.dat, and fixes the missing source info.
- Note that the text format in dat files is interpreted slightly differently - the text is displayed as is. No need for extra blank lines and so on.
- Media View: Mount Item, and Unmount only show when needed.
- The full name of a software-list item is passed around, eliminating the possiblity of loading an identically-named item from another list.
- Many, many other small changes, too many to list individually


Note:
- The new code we referred to last time has been added. The main problem with it is that if you have unacceptable ini files in your system, it will crash MESSUI/MAMEUI as soon as you click on a game. You will need to clean away any ini/cfg files for the game that caused the crash. Even after that, there's a handfull of games that just crash anyway. There's plans to arrange some sort of workaround in the future, but it's a lot of work


MAMETesters Bugs Fixed
----------------------
- 06588: [Interface] Regression loading softlist items from the command line with changed slot options [Nathan Woods].
- 06562: [Crash/Freeze] All sets in octopus.cpp, zorba.cpp: Fatal Error when using various terminal/printers in slots [Osso].
- 06564: [Crash/Freeze] (ti99_4x.cpp) All sets in ti99_4x.cpp, ti99_4p.cpp: SuperAMS memory expansion card (samsmem) Fatal Errorvwhen mounted [Ivan Vangelista].
- 06581: [Interface] Various problems with software loading/unloading: Various problems with software loading [Nathan Woods].
- 06624: [Misc.] (mc10.cpp) Emulation of the right-shift and rotate instructions (ASR, LSR, ROR) do not modify correctly the overflow flag (V) [AJR].


New working machines
--------------------
A-One Arrange Ball/Tandy Zingo/LJN Computer Impulse [hap, Sean Riddle]
INTELLEC 4/MOD 4 [Vas Crabb]
INTELLEC 4/MOD 40 [Vas Crabb]
Milton Bradley Arcade Mania [hap, Sean Riddle]
Sonic The Hedgehog (Tiger handheld) [hap, Sean Riddle]
Space Jam (Tiger handheld) [hap, Sean Riddle]


New working clones
------------------
Explorers of Space [hap, Igor]
Fidelity Excel 68000 Mach III [CB-Emu]
Fidelity Excel 68000 Mach II (rev. C+) [CB-Emu]
Game & Watch: Egg [hap]
HP 85 [F.Ulivi]
Nu, pogodi! [hap, Igor]


Machines promoted to working
----------------------------
Alphatronic PC [R. Belmont, Carl, rfka01]
Game & Watch: Mickey Mouse [hap]


Clones promoted to working
--------------------------
-


New machines marked as NOT_WORKING
----------------------------------
Sharp FontWriter FW-700 (German) [R. Belmont, rfka01]
Super Derby II [Phil Bennett, Hammy]
Tsuugakuro no Yuuwaku (Japan) [system11, The Dumping Union]
VG Pocket Mini (VG-1500) [BeckieRGB]
VG Pocket (VG-2000) [BeckieRGB]
Virtua Striker 4 (Export) (GDT-0014) [rtw]
Virtua Striker 4 Ver.2006 (Japan) (Rev B) (GDT-0020B) [rtw]
VT330 [Toshi]
WaiWai Drive [Arzeno Fabrice, brizzo]
War: The Final Assault (EPROM 1.91 Apr 13 1999, GUTS 1.3 Apr 7 1999, GAME Apr 7 1999) [rtw, Smitdogg, The Dumping Union]
World Kicks PCB (World, WKC2 Ver.A) [rtw, Smitdogg, The Dumping Union]
Yamaha TG100 [vampirefrog, superctr, bmos, Valley Bell]


New clones marked as NOT_WORKING
--------------------------------
Commodore PC 10 [rfka01]


New working software list additions
-----------------------------------
abc80_flop: ABCDatastorm [Genesis Project]
coco_flop: Pacman (z80 to 6809 Transcoded - v1.01) (512kb) [Glen Hewlett]
gameboy: Sachen 4 in 1 (Euro, 4B-003) [Tauwasser]
ibm5150: Le Manoir de Mortevielle [breiztiger] Battle Chess, Blades of Steel, Castlevania, Double Dribble, Earl Weaver Baseball, Future Wars - Adventures in Time, Gamer's Edge Sampler - Catacomb and Dangerous Dave, Hardball 2, Heroes of the Lance, John Madden Football, King's Bounty, Lakers vs Celtics and the NBA Playoffs, Links - Championship Course - Bountiful Golf Course, Links - The Challenge of Golf, Mean Streets, Monopoly v2.00 (Shareware), Monty Python's Flying Circus, Ninja Gaiden II, Nova 9, Over the Net, Pharaoh's Pursuit, Secret of the Silver Blades, Speedball II, Street Fighting Man, Super C, Superstar Ice Hockey, Superstar Indoor Soccer, Superstar Indoor Sports, Superstar Outdoor Soccer, The Cycles, Top 10 Solid Gold Volume II, Wings of Fury, Zool [Justin Kerk].
ibm5170: B-17 Flying Fortress, Body Blows, Corncob Deluxe, DOS/V (multiple versions), Dune, Global Conquest, King's Quest V, Lightspeed, MS-DOS (Version 6.22, Brazilian Portuguese), Star Trek - 25th Anniversary [Justin Kerk].
pce_tourvision: Doraemon - Nobita no Dorabian Night, Majin Eiyuu Den Wataru [system11, The Dumping Union]
x68k_flop: Chourensha 68k (v1.00) [Justin Kerk].


New NOT_WORKING software list additions
--------------------------------------
ibm5150: Boulder Dash Construction Kit [Justin Kerk]
ibm5170: IBM Personal Computer DOS (Version J5.00/V) (Japanese), PC-DOS (multiple sets using XDF disk format) [Justin Kerk]


Source Changes
--------------
- z8: Fixed disassembly of DECW RR opcode, added more control registers to state for debugger [AJR].
- Added support for experimental overclocking of sound devices through UI sliders with -cheat enabled [AJR].
- ym2151, ymf271, namco: Added support for dynamic changes to clock frequency [AJR].
- Fixed scheduler overflow when a device executes for more cycles than there are in a second [AJR].
- vgmplay enhancements: Added support for YMZ280B and YMF271. Fixed clock speed for dual POKEY. Produce error message when nonexistent file is specified [AJR].
- listxml enhancements: Match arguments against device names as well as driver names. Allowed DTD output for -listxml, -listsoftware and -getsoftlist to be suppressed with -nodtd option [AJR].
- MC6800: Fixed LSR/ROR/ASR overflow flag generation (N XOR C) [AJR].
- ygv608.cpp: Added CRTC function, turned IRQs into handler callbacks, added border color [Angelo Salese].
- socrates: Reimplemented keyboard MCU simulation as a separate timer-driven function. Fixes issues with super painter and a few other games not recognizing keyboard input. Also eliminated anonymous timers and keyboard tagmap lookups, and added savestate support [Lord Nightmare].
- missb2 updates: Fixed OKI read/write bitswap so what seem to be the correct sound effects are played. Replaced the corrupt OKI ROM dump with the bublpong OKI ROM - all non-corrupted areas are identical. Added watchdog [Lord Nightmare].
- pc9801: Moved cbus to bus and added WIP mpu401 support [Carl].
- plugins/cheat updates: Poll for setting hotkeys. Link simple cheats [Carl].
- Added Motorola MC14411 Bit Rate Generator device [Joakim Larsson Edstrom].
- fccpu1 updates: Updated LOG system and replaced CLOCK_SIGNAL_HANDLER with real MC14411 BRG device. Added machine configuration for baud rates for all three serial ports using MC14411 device. Added newer version of firmware Force Debugger v1.1 [Joakim Larsson Edstrom].
-68340: Added configuration macros and callbacks for 8-bit ports A and B, updated LOG system [Joakim Larsson Edstrom].
- sda5708: Added layout support and state saving [Joakim Larsson Edstrom].
- sda5708: Added layout with generated bezels and program snippet to redo it as a comment [Joakim Larsson Edstrom].
- dbox: Added sda5708 matrix display layout (displays version number on start but hangs shortly thereafter) [Joakim Larsson Edstrom].
- ti99: Changed Hexbus chaining; moved Hexbus up one level (from bus/ti99 to bus) [Michael Zapf].
- Overhauled MAME options handling. The new options system is more dynamic and should detect errors earlier. The slot menu now shows updated options in response to selections made by the user [Nathan Woods].
- Added a menu listing existing state files displayed when choosing a position to save/load. Any position may be selected with keyboard 0-9/A-Z or joystick buttons. Existing positions may be selected using UI navigation controls [Nathan Woods].
- Made the length parameter for debugger 'load' command optional (defaults to length of file), converted code from stdio to iostream [Nathan Woods].
- MC6847: Fixed "Semigraphics 6" mode on CoCo/MC-10 (issue reported by Jim Gerrie). Displays "stripes" for video bytes $00-$7F because INT/EXT is asserted but A/S is not, and there is no external ROM [Nathan Woods].
- Cleaned up the MC-10 driver [Nathan Woods].
- Fixed regression in ROM loading that resulted in not all actual hashes being printed on mismatch [Nathan Woods].
- sdl: Added SDL_WINDOW_BORDERLESS for fullscreen, required by some Linux window managers [O. Galibert].
- dvdisasm: Simplified by decoupling information creation and display rendering [O. Galibert].
- debugcpu: Eliminated direct() from read_opcode [O. Galibert].
 -options: Set the value when setting the default as before [O. Galibert].
- mameopts: Don't lose the system inipath when looking for hashpath [O. Galibert].
- dimemory: Lifted cap on number of address spaces per device, renamed AS_DECRYPTED_OPCODES to AS_OPCODES [O. Galibert].
- Fixed media option numbering with custom instance names (github issue 2468) [O. Galibert].
- cbuster.cpp: Added a x3 hack to the YM2203 clock frequency to fix incorrect pitch [Phil Bennett].
- Improved -romident performance by dynamically allocating large arrays at device_start time [Phil Bennett].
- m377xx: Added preliminary M37720 support [R. Belmont].
- alphatro improvements: Added correct banking and partial floppy support. Corrected motor on and FDC reset. Corrected number of driver (real machine only has two), and fixed B: drive [R. Belmont].
- output: Fleshed out network output provider to have the same capabilities as legacy Win32 provider: Messages are of form "verb = value\1"; "hello = 1" on successful connection, "mamerun = 0" on shutdown. Send "send_id = n" to query IDs where n=0 means machine shortname, and n=1-? are output node names [R. Belmont].
- Rewrote MCS-40 (4004/4040) emulation/disassembly: Added support for all 4040 features besides interrupts. Split address/status, RAM/ROM ports, and program memory into separate address spaces. Emulated 8-clock instruction cycle, interruptible at any point, bus signals exposed. Converted inputs to input lines, added callbacks for chip select outputs and 4008/4009/4289 signals. Made disassembly output closer to what ASL accepts as input. Allowed 4-bit registers to be set independently through the debugger [Vas Crabb].
- Added INTELLEC 4 driver with support for MOD 4 and MOD 40 variants: Supports TTY, PROM programmer, and all front-panel debugging features using clickable artwork. Supports PROM, program/data storage and high-speed paper tape reader cards [Vas Crabb].
- Updated flicker to use new MCS-40 core and improved emulation: Re-implemented I/O based on how hardware actually works (wasn't possible with previous 4004 core). Corrected flicker RAM size, removed NVRAM, and connected playfield lamps and operator adjustments. Added save state support [Vas Crabb].
-Layout system improvements: Made scripts do substantial validation of layouts at build time. Drop views that don't validate at runtime rather than entire layouts to help machines with terminals connected by default [Vas Crabb].
- Cleaned up serial, matrix keyboard and TI-8x link protocol interfaces: Switched to delegate timers and moved state registration to post-start, making implementations a bit less error-prone [Vas Crabb].
- Made device_memory_interface own its address space objects [Vas Crabb].
- Made parent/clone loops raise a fatal error rather than hanging in a loop appending to a string [Vas Crabb].
- Made internal UI list missing/incorrect files when audit fails [Vas Crabb].
- Cocoa debugger improvements: Save/restore window positions/sizes/splits/scrolling/expressions/focus (excluding device info viewer). Fixed scroll jump on clicking a memory/disassembly view that's been scrolled while unfocused [Vas Crabb].
- Made XML file a specialisation of data node that can be easily managed with smart pointers and added a method for copying a data node/subtree into a different tree [Vas Crabb].
- Fixed fatal error on selecting a software part with internal UI and made software parts menu sort by name [Vas Crabb].
- hh_sm510 artwork updates: Added background vector graphics to gnw_ml102 [ChoccyHobNob]. Improved gnw_mw56 SVG screen and added background graphics [hap, ChoccyHobNob, Tanukichi]. Improved gnw_jr55 LCD segments. [hap, JonasP]. Added background graphics to nupogodi.svg. [Igor, hap]. Added background graphics to gnw_dm53.svg [O. Galibert, hap].
- Improved WD2010 emulation: Better feedback on cylinder positions, almost all checks pass except low level tests expecting manufacturer or diagnostic tracks [Bavarese].
- Added Commodore D9060 82S137 PROM dumps [Bo Zimmerman, Andrew Welburn].
- r9751: Added preliminary SMIOC device with 8237 DMA controllers and RS-232 ports [Brandon Munger].
- Added an external panel for the Ensoniq VFX family of keyboards, with a websocket interface and an HTML/Javascript implementation that can be served over HTTP [Christian Brunschen].
- Fixed QT 5.5.1 for Ubuntu 14.04 "Trusty Tahr" (allows Travis CI build to complete) [dankan1890].
- srdarwin: Replace MCU simulation with internal ROM dump: Using real dump for srdarwin, and hand-modified version to satisfy srdarwinj. Fixes incorrect behaviour for 6th boss (no longer skips first form) [Caps0ff, David Haywood].
- upd7810, upd7811: Added internal address maps [David Haywood].
- Initial HP series 80 emulation: Working HP-85A with 16kB RAM, including Capricorn CPU, keyboard, CRT text/graphics modes, timers, and beeper. DC100 cassette, extension ROMs, I/O modules, and integrated printer are not supported [F. Ulivi].
- ITT3030: Corrected 70-track drive type, and added 35-track drive type and format definition [helwie44, rfka01].
- Added Commodore PC10-III ROM dumps collected by German vintage computer forum users [rfka01].
- Added original Commodore PC 10/PC 20/ PC 30 in two BIOS variants [rfka01].
- Enhanced Emscripten support: Fixed save/load support and scheduled exit. Improved main loop, simplified integration points, and made JavaScript entry points static members of running_machine. Exposed soft_reset, hard_reset, exit load and save functions, allowing more control of emulation session from JavaScript [James Baicoianu].
- Fixed #include path with USE_LIBSDL on macOS [Joshua Root].
- Hooked up ibm5150 softlist to compc and europc drivers; changed europc to use single built-in 3.5" drive [Justin Kerk].
- z80scc: Added basic wait/DMA request support, renamed WRDY to WREQ to match datasheet [Patrick Mackinlay].
- ncr5390 improvements: Improved initiator transfer information logic. Split transfer count/counter. Added rudimentary 53C90A/53C94 support. Reworked initiator transfer information state machine, should now support all SCSI phases. Improved handling of DMA/non-DMA commands. Added an undocumented hack to make InterPro work. Implemented interrupt status flag in status register for 53C90A (critical for InterPro). Improved tcounter and DMA/DRQ handling. Corrected tcounter and transfer count zero handling (based on transfers to/from SCSI bus, not DMA). Prevent fifo over/underrun, requires restarting state machine from dma_r()/dma_w(). Corrected bus/function complete with FIFO (interrupt only when it empties, but state detected based on SCSI bus). Clear status, istatus and sequence when reading istatus (not status) with active interrupt. Tweaked DRQ behaviour - only assert if there is insufficient data in FIFO [Patrick Mackinlay].
- nscsi_hd: Corrected INQUIRY command handling when a non-zero LUN is requested [Patrick Mackinlay].
- interpro: Got SCSI working and other improvements: Reworked DMA, added eth registers.  Improved 5390 device, removed legacy 539x SCSI stuff. Passes all iogadiag tests if bus error hack is enabled. Implemented basic serial DMA. Switched to ncr53c94. Initial preparation for Ethernet implementation. Implemented timer-based DMA [Patrick Mackinlay].
- Implemented i82586 Ethernet MAC, ~90% complete [Patrick Mackinlay].
- sun1: Replaced console hack with upd7201 device [shattered].
- Added skeleton driver for Yamaha TG100 MIDI module. H8/520 CPU is not implemented, sound chip is Yamaha YMW258-F (likely to be identical to Sega MultiPCM) [superctr].
- Game Boy/Super Game Boy improvements: Added Super Chinese Land 1.2.3' to MBC1 Collection check code. Fixed MMM01 zero-adjust logic for ROM bank. Fixed Super Game Boy VRAM transfers and removed border hack. Fixed various code style and comment issues [Tauwasser].
- macpci: Added more Pippin ROM sets [unknown].
-cretofinv.cpp: Added DIP switch locations and documented edge connectors [Brian Troha].
- sms.xml updates: Fix The Terminator by adding their on-cart RAM. Added notes for games with SK-1100 keyboard support. Corrected Great Baseball (Euro, USA, Bra) release year. Corrected Teddy Boy Blues (Jpn, Ep-MyCard, Prototype) and Ghost House (Sega Card, Prototype) interface types [Enik Land].
- Updated compiling instructions for Fedora Linux [inflatador].
- Updated hiscore.dat [Leezer].
- Added -output option to documentation with description of available choices [OzFalcon].
- SDL sound: Fill buffer with silence on underrun [057a3dd61f99517a3afea0051a49cb27994f94d].
