- Added exception points as a new class of "points" triggering on specific exception numbers, with a similar set of commands to breakpoints and registerpoints.
- Removed the per-instruction callback hook from device_debug. Only one driver was using this (rmnimbus.cpp), and what it was doing with it could be done more cleanly with exception points.
- Change the type of the action string parameter for "points"-creating methods and make some parameters optional for those.
- Change trace file logging to use a std::ostream instead of FILE * to take better advantage of strformat.
- Move osd_midi_device from osdcore.h to osdepend.h
- Move osd_list_network_adapters from osdcore.h to osdnet.h (was already defineduniquely in osdnet.cpp)
- Move #include <cstdarg> from osdcore.h to emu.h
- Remove dinetwork.h from emu.h
* Use macros for the common repeated definitions of joystick, coins, etc.
* Player buttons are "B" and "A", like the real panels. Start buttons have number and color, etc.
* bnglngby, iceclimb, jajamaru, nvs_machridera, supxevs, tkoboxng: Removed as many modifications from the base VS. machine IO ports as possible.
* Adjusted coin PORT_IMPULSE closer to hardware, so that all games now work with it.
* Updated notes on why Coin 2 inputs don't work in some games.
Retested all of these and they are still working. Did not have a UniFLEX DMAF2
disk to test that one combination, but it should be close to working.
Added comments to help people make a start with these.
Machines promoted to working
----------------
SWTPC swtpc S/09 Sbug
Clones promoted to working
----------------
SWTPC swtpc S/09 Sbug + piaide
SWTPC swtpc S/09 UNIBug + DMAF2
SWTPC swtpc S/09 UNIBug + DMAF3
SWTPC swtpc S/09 OS9
* monon_color.cpp : music MCU commands axxx really are reading a 0x1000 range from the internal ROM for a direct comparison, not sniffing the SPI bus. Add some debugging code to run that if wanted for now, even if it's incomplete (defaults to suspending the CPU)
new WORKING software list entries
-------------
monon_color.xml:
ielts: Yǎsī tǎ dà màoxiǎn / 雅思塔大冒险 / IELTS Adventure [Peter Wilhelmsen]
ultbrain: Nǎolì liánlián kàn / 脑力连连看 / Ultimate Brain Power [Peter Wilhelmsen]
labmath: Àoshù shíyàn shì / 奥数实验室 / Laboratory Mathematica Olympiad [Peter Wilhelmsen]
* c2color changes
- added dumps of both internal SPI ROMs to the driver [Peter Wilhelmsen]
new NOT WORKING software list additions
-----------
c2color_cart.xml:
agree: Dì 1 dàn: Dài Lóngwáng Fēngyìn [Peter Wilhelmsen]
kingwing: Dì 2 dàn: Zhī Yìwáng De Shì Liàn [Peter Wilhelmsen]
- replaced overdumped darkones set in Software List with correct dump [Peter Wilhelmsen]
* util/ioprocsvec.h: Fixed truncating when a write doesn't reach the end
of stream. [F.Ulivi]
* floptool.cpp: Fixed reversed error checking logic. [F.Ulivi]
* Fixed SUBTARGET=tiny build (required Sega encrypted CPUs to be added).
-hash/gbcolor.xml: Added notes on what happens if you bypass the boot
check for Rocket Games cartridges.
-bus/vboy/slot.cpp: Don't instantiate a cartridge device when no media
is loaded.
* Initial FAT file system support for Floptool
Current Limitations:
- Read only
- Only supports floppy disks
- No FAT32 support
- No Long Filenames Support
* There are three kinds of cartridge: 32K flat, 16K fixed plus 16K
switchable, and 32K switchable. Cart implementation will come later.
-Various cleanups:
* gbcolor.xml: Proper Pinyin description for sqsd.
* sound/pokey.cpp: Minor cleanup, and got rid of an unnecessary member
in channel structures (only used in inline member functions).
* nintendo/gb.cpp: Spell Mega Duck with a space consistently.
* sega/turbo_a.cpp: Use an optional device finder to get discrete sound
device. The function that would add this seems to have been lost.
* Super Pinball Action protoype - add emulation of 2nd screen
Clones promoted to working
--------------
Super Pinball Action (US, prototype, dual screen) [David Haywood]
-Moved some stuff out of misc and skeleton:
* Moved Innovative Concepts machines to their own project.
* Moved various things out of skeleton to existing company projects.
Added minimal support for manipulating bitmaps and drawing them in
render containers. Y'CbCr 4:2:2, RGB and ARGB are supported. Argument
order doesn't always match the underlying classes to make the Lua
interface more consistent with render bounds and render containers.
Added bindings for device_palette_interface.
Fixed some errors in the documentation as well as documenting new
functionality.
* added emulation of required/used AXC51 / AX208 extended operations
* added preliminary emulation of required/used AXC51 / AX208 features
* added support for many Monon specific features, such as the video controller
* most games are playable, those not requiring a card/badge scanner to function at all are promoted
* no music, as it's contained in a game specific MCU under a glob on each cart
* Combined driver source files.
* Split up state classes and got rid of legacy start/reset callback
overrides.
* Use configured banking for GBC RAM (fixes some save state issues, but
there could be more lurking).
* Moved notes about cartridge hardware to more appropriate places.
Currently the speaker device is the only way sound can get to the OSD
layer, so its presence or absence determines whether the emulated system
is capabale of producing sound. A few systems use chips with sound
capability for other purposes (typically I/O or video) while leaving the
sound outputs disconnected. These systems should display the notice
about the absence of sound output.
The implementation details of how the cartridges allocate storage for
memory really shouldn't be part of the interface. Having tags in the
headers encourages people to depend on these implementation details.
This gets rid of it in most of the headers. A few particularly leaky
abstractions (bbc/rom, electron/cart, gba, generic, jakks_gamekey, m5)
depend on this, so it can't be removed in those cases without further
refactoring to encapsulate the slot devices better.
This doesn't change behaviour, it just mechanically removes stuff from
the headers and uses device_t::subtag rather than string manipulation on
tags. Most of the cartridge devices shouldn't have rom_alloc member
functions at all - the region created by the software list loader can be
used directly when loading from the software list, and the slot can
allocate a region with the same tag when loading loose software. This
avoids creating an extra region and copying the data when loading from
the software list. See vboy for an example that doesn't allocate a
superfluous region.
* sony_news/news_hid.cpp: Added APbus I/O mapping.
* bus/nscsi/cd.cpp: Added Sony CD-ROM CDU-541 1.0A recognised by NEWS-OS.
* machine/upd765.cpp: Added National Semiconductor PC8477B clone.
New machines marked not working
--------------------
Sony NET WORK STATION NWS-5000X