Use a memory view to switching between Game Gear and Master System compatibility I/O space mapping. Got rid of most of the conditional code checking whether it's a Game Gear driver.
Got rid of the special Game Gear EXT port slot. It's the same thing as a Mega Drive controller/expansion I/O port with a different connector.
sega/mdioport.cpp: Added a variant for the Game Gear with the TH/PC6 interrupt latch, and added it to the Game Gear.
* Moved YM sound out of "core" Mega Drive state, and made more devices
required in "base" Mega Drive state.
* Made Pico/Copera derive from "core" Mega Drive state so they aren't
carrying unnecessary baggage (all it uses is the CPU and VDP).
* Corrected title for puckpkmna.
-cpu/avr8: Mask ADC samples to ten bits on acquisition.
-cpu/avr8: Added minimal ADC support (in particular, ADC interrupts are
not implemented).
-sega/megadriv.cpp: Further broke up base Mega Drive class.
* Created a light-weight base class with just the core functionality,
used for "Genie" hardware (Puckman Pockimon).
* Moved built-in controller emulation to a derived class so it isn't
lurking underneath the consoles with pluggable controllers.
* Moved the Sun Mixing Mega Drive bootlegs to their own source file -
they're substantially different, not using the I/O blocks for input.
-sega/sms.cpp: Untangled SG-1000 Mark III slightly.
- Added cards ETI Real Time Clock, ETI Sound Card, Microtanic Real Time Clock, TUG Combo Card, and TUG EPROM Storage Card.
mt6809: Fixed keyboard input, RALBUG commands now work, and promoted to working.
- Added support for FLEX and BBC Micro floppy formats.
spinveti: Replaced incorrect ROM to load at &F800.
mdconsole.cpp: Got rid of EXP port from Mega Drive II, Mega Jet and
Nomad configurations, and made built-in Nomad controller fixed.
puckpkmn.cpp: Cleaned up code, register local class member for save
states, suppress side effects for debugger.
New working software list additions
--------------------------------------------
ACE 2088 (MCM) [spectrumcomputing.co.uk]
Adidas Championship Football (Erbe) [spectrumcomputing.co.uk]
Adidas Championship Tie Break (Musical 1) [spectrumcomputing.co.uk]
Remove
--------------------------------------------
Agent - X 2 (Dro Soft) [duplicated entry]
metadata cleanups: Corrected parent/cloneof relationships, publishers, release years (based on the info provided by spectrumcomputing.co.uk)
sega/puckpkmn.cpp: Eliminated dependency on other Mega Drive arcade
bootlegs.
sega/megadriv_acbl.cpp: Use more derived memory maps, and fewer driver
init functions.
Adapted all Mega Drive hardware drivers to work with the new I/O port
device, and moved based Mega Drive 68k peripherals to a common address
map function.
sega/megadriv_acbl.cpp: Added base machine configuration to attach an
optional I/O port to the EXP port, and moved some stuff to derived
classes.
sega/megadriv_rad.cpp: Simplified code.
bus/sms_ctrl: Added an RS-232 adapter. Only sending from the console to
the attached device works so far, reception will have to wait.