ui: Added some missing functionality:
* Added an option to copy input device IDs to the relevant menus.
* Added an item for setting the software lists files path (-hashpath) to
the folder setup menu.
* Allow pasting text from clipboard in most places that allow typing
(searching, entering filenames, entering barcodes).
* Changed the software selection menu heading to be a bit less
misleading.
* Made barcode menu less eager to rebuild itself unnecessarily, and
removed some confusing and apparently pointless code.
Exposed more Lua bindings:
* Added low-level palette objects.
* Added indexed bitmap types.
* Added a bitmap method for extracting pixels from a rectangular area as a
packed binary string.
* Changed screen device pixels method to return width and height in
addition to the pixels.
osd: Added some functionality and cleaned up a little:
* Added a function for copying text to the clipboard.
* Moved function for converting Windows error codes to standard error
conditions to winutil.cpp so it can be used from more places.
* Removed duplicate declaration of osd_get_clipboard_text and made the
function noexcept (including fixing implementations).
* Made macOS implementation of osd_get_clipboard_text skip the encoding
conversion if it finds UTF-8 text first.
* Changed the default -uimodekey setting so it doesn't lose the "not
shift" that stops the default from interfering with UI paste.
Various bug fixes:
* util/unicode.cpp: Fixed the version of utf8_from_uchar that returns
std::string blowing up on invalid codepoints.
* util/bitmap.h: Fixed wrapping constructors for indexed bitmaps taking
the wrong parameter type (nothing was using them before).
* util/bitmap.cpp: Fixed potential use-after-free issues with bitmap
palettes.
* emu/input.cpp, emu/inputdev.cpp: Log 1-based device numbers, matching
what's shown in the internal UI and used in tokens in CFG files.
* emu/emumem.cpp: Added the bank tag to a fatal error message where it
was missing.
docs: Reworked and expanded documentation on configuring stable
controller IDs.
For translators, the changes are quite minor:
* There's a menu item for copying a device ID to the clipboard, and
associated success/failure messages.
* There's the menu item for setting the software list file search path.
* One of the lines in the software selection menu heading has changes as
it could be interpreted as implying it showed a software list name.
* 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).
* Initial FAT file system support for Floptool
Current Limitations:
- Read only
- Only supports floppy disks
- No FAT32 support
- No Long Filenames Support
-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 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
* Use flat gradient style rather than embossed edges.
* Made rightmost stroke of the M thicker.
* Use a dark border to emphasise the outline on light backgrounds.
* Use flat style without anti-aliasing up to 64*64.
* Manually tweaked small sizes to preserve sharp mitres.
* cloned the mcs51 core as axc51, stripped it back, will allow monon work to continue without making a mess of the original mcs51 core.
* remove some redundant bits
* replace SFR table with AXC51 / AX208 one, removing some other functionality which is not the same on this series
* remove some other bits that are redundant now we're not trying to support other mcs51 models in the axc core
* Don't put full path to target resources in generated version resource
file.
* apple/sonora.cpp: Only #include "emu.h" as first thing in .cpp file to
avoid PCH issues.
* taito/rbisland.cpp: Cleaned up a few details.
- Use 16-bit pointer for sprite RAM storage (despite some systems only having 8-bit CPUs)
- Rename device and move to src/devices
- Clean up variable naming in associated drivers
- neobattl: Add DIP switch locations
- krzybowl: Reduce clocks to match known XTAL value
Added support for wildcards in .flt filter files. You'll need to quote
them to avoid /* being parsed as a comment initiator, like "seta/*.cpp"
on a line including the quotes.
Added an XSLT filter for listing system driver sources, like
mame -lx | xsltproc scripts/xslt/list-system-sources.xslt
Converted the ci subtarget (which isn't really used much) into a .flt
rather than .lua and .lst files.
Added SOURCEFILTER option to specify a driver filter file in your make
options, e.g. like make SUBTARGET=custom SOURCEFILTER=mydrivers.flt (or
put it in your useroptions.mak if you'll be using it a lot). It
functions more-or-less like SOURCES on steroids.
Changed the way system/device source file paths are displayed to suit
the new source layout better. INI file loading hasn't changed, that
still just uses the base file name.
Added overlooked trigger to src/bus.lua to include NES controller bus if
the NES zapper sensor is needed.
Driver projects now use globs to search for files. There's less effort
editing the Lua files when things are moved around. Remember it won't
automatically pick up a change, so if you add/remove/change files, you
should touch makefile to get it to find the change.
Driver projects no longer get the top-level MAME directory as an include
path. This means you need to think about how you structure things and
not introduce nasty circular dependencies.
Subtarget projects can now be generated entirely from .flt files without
the need for separate Lua scripts and .lst files. This has been done
for the arcade, mess and virtual targets. It effectively works like a
SOURCES= build on a large scale. This means you need to organise things
so the dependency genrators can find them.
There's an issue with the mess subtarget right now. For some reason,
decmate2.cpp isn't picking up the dependency on the PDP8 CPU core for
the HD6120 device. I'll debug it later
* Changed name of cards for slot selection to "mdc48" and "mdc824" as
they're unrelated to the later 8*24 GC card.
* Also cleaned up code substantially and got rid of artificial
differences between Display Card 4*8 and 8*24.
* Moved lists of NuBus and SE/30 PDS cards to a common place.
* Got some class declarations out of headers to reduce recompiles.
Started implementing the Macintosh Display Card CRTC. It gives correct
resolutions, although refresh rates are incorrect. Added machine
configuration settings allowing several monitors to be selected.
Implemented the Macintosh Display Card's packed RGB mode. The
base/stride in RGB mode make more sense with this implemented.
Cleaned up the code for the SuperMac Spectrum cards, and fixed the
garbage at the bottom of the screen on the Spectrum/8.
Put a layout with views for common monitor aspect ratios in a place
where cards can use it. This is especially useful for the NuBus cards
that can support portrait monitors.
Factored CRTC and shift register out of Spectrum/8 and added to Spectrum
PDQ. Fixes video mode selection and resolution for Spectrum PDQ.
Implemented vertical interrupt position, stride, line offset and clock
source registers for Spectrum PDQ. Added a hack to work around line end
control not being understood. Also added save state support.
Slightly modernised the Macintosh Display Card (JMFB) device code.
Initialised some driver state class members that were causing System 7
to fail to see files. [Ivan Vangelista]
-----------------------------------
a2600.xml: Asteroids (PAL, rev. 06) [Guru]
Clones promoted to working
----------------------------
Super Treasure Island (Italy, v1.6) [Ivan Vangelista]
- tankbust.cpp: used finders, logmacro and other small cleanups
emu/schedule.cpp: Fixed a few more pessimising assumptions. Gains a few
percent in Ketsui and SNES SuperFX.
util/endianness.h: Added some more operations on endian-swizzlers.
Changed a few more drivers to use them.
sun2.cpp: Fixed uninitialised variable that could cause corrupt video.
Fixed some issues with Visual Studio project generation after the
changes to Windows resource creation.
----------------------------
Borderline (Tranquillizer Gun conversion) [anonymous]
New working clones
------------------
Beta Force [anonymous]
- astinvad.cpp, rollerg.cpp, shootout.cpp: used finders, derived classes and other minor cleanups
Optimised the scheduler's handling of unscheduled timers - gives a 50%
performance improvement in some timer-heavy drivers.
Added better endianness swizzling helpers.
Got rid of some of the OSD input modules' dependence on concrete input
classes from emu.
* Moved protection simulation to devices, and got more games to boot.
* Corrected lamp output mapping for most games.
* Correctly identified more games, and removed bad dumps.
* Organised sets better, and cleaned up some of the implementation.
* Got rid of the special-casing for the "mess" subtarget name.
* Got rid of the MESS-specific Windows resources, emuator info source
and man page.
* Added subtarget name to the internal name and original name in Windows
resources.
-ui: Put the system-specific items on the input settings menu together,
and fixed the crosshair visibility settings.
Added menus for controlling toggle inputs, and showing recognised input
devices and control state. Moved input menu options off main menu to a
submenu, as there are a lot of them now.
Moved menu heading drawing into base class, added headings to more
menus, and made headings more consistent with the menu items used to
reach them. Also made terminology more consistent.
Changed the default names for buttons and hat switches/D-pads to use
1-based numbering. DirectInput still returns 0-based button numbers for
some devices.
Removed local copy of MinGW xaudio2.h as it’s now included in the MSYS2
package. Also fixed building the DirectSound sound output module with
the SDL OSD on Windows - the Windows headers are sensitive to include
order.
Started adding documentation for menus, to hopefully help people find
menus they remember seeing but can't recall how to access.
For translators, this makes terminology more consistent. In particular:
* "Settings" is preferred over "configuration" in a number of places, as
the latter can be construed as referring specifically to settings
stored in .cfg files in the cfg_directory folder. Also, references to
saving machine configuration could be interpreted as relating to the
settings on the "Machine Configuration" menu.
* The controls on host input devices (e.g. keys, buttons, joystick axes)
are referred to as "controls", while emulated inputs are referred to
as "inputs".
* The menus for assigning host controls to emulated inputs are called
"input assignments" menus to distinguish them from other input
settings menus.
* Combinations of controls that can be assigned to emulated inputs are
referred to as "combinations" rather than "sequences".
* The potentially confusing term "ROM set" has been removed altogether.
Use "short name" to refer to a device or system's identifier.
* "System" is used in almost places to refer to a complete, runnable
system rather than "Machine".
* "Driver" is now only used to refer to source files where systems or
devices are defined - it is no longer used to refer to individual
systems.
* A few more menus have message context for the messages. This makes it
a bit easier to guess where the messages are used. It also means you
can use different translations in different places if necessary (e.g.
if the same English text should be translated differently as an item
in one menu and as a heading in another).
- Every file in src/mame/{includes,drivers,audio,machine} with the
exception of konamiic.txt has to appear in one and only one of the
projects of arcade.lua or mess.lua (ignoring mameshared)
- Files in mameshared must exist in mame.lua
* cpu/dsp56156: Fixed ANDI, fixed BFCLR errata, fixed DEC24 not affecting flags.
* cpu/dsp56156: Added proper devcb_write16 for Port C output.
* plygonet.cpp: Fixed banking and tightened up VRAM access.
* plygonet.cpp: Account for endianness in tilemap accesses.
* plygonet.cpp: Switched to logmacro, merged into one file, and general code cleanup.
New working machines
-----------------------------------
Micromint SB180 [Miodrag Milanovic]
-z180: implemented ASCI serial communication [Miodrag Milanovic]
-tim011: hookup serial keyboard [Miodrag Milanovic]
-20pacgal: Add support for terminal
* Make netlist/plib noexcept issue workaround trigger for clang 8 or
Apple clang 11.0.0.
* Disable lifetime DSE optimisation for GCC 10.2 (this may be an issue
in GNU libstdc++ rather than GCC itself - using compiler version as a
proxy for standard library version is bad, but it's the path of least
resistance for now).
Updated Space Invaders C.V. and Space Invaders Part II input definitions
based on schematics and manuals.
Got Space Invaders specific stuff out of the Midway 8080 B/W base class.
Got some of the game-specific stuff out of the _8080bw_state class.
It's still a bit of a mess because sound hardware is implemented in the
driver classes so some games pull in a more derived class than they
really should just for sound handlers.
Got rid of the duplicate joystick inputs in rollingc.
Fixed cocktail mode input and DIP switches in a few games.
-----------------------------------------
Tinker Bell [Darksoft, Team Europe, R. Belmont]
segam1.cpp: removed and games merged into the new segasm1.cpp. [R. Belmont]
------------------
Nostromo [anonymous]
Samurai (World) [anonymous, SNESNESCUBE64]
Super Ship [anonymous]
- gotya.cpp: minor cleanups
- hyprduel.cpp: used standard ROM loading macros
--------------------------------
Dead or Alive (Model 2A) [Trol]
- arkanoid.cpp, snk.cpp: minor documentation updates
- funworld.cpp: demoted multiwina to MIG
- jack.cpp: corrected ROM lables [Brian Troha]
- nmk16.cpp: fixed missing sprites in attract mode for tdragonb3, thanks to info from hammy
- sidearms.cpp: dumped PROMs, added hardware info and correcte clocks for Turtle Ship [Guru]
- vamphalf.cpp: improved hardware info [Guru]
- xain.cpp: corrected audio CPU clock to match measurements
- yunsun16.cpp: used standard ROM loading macros and other minor cleanups
* Bumped target windows version to 6.0.0 (Vista).
* Use WRL COM pointers to manage some COM-like objects.
* Cleaned up logging in DirectSound module.
* Cleaned up includes in Windows input modules.
* Switched to Common Item Dialogs in Windows debugger.
* Replaced disabled code that never really worked with a TODO comment.
- Add more or less complete implementations of sis630_host, sis950_lpc, sis630_gui, sis5513_ide, sis7001_usb, sis7018_audio, sis900_eth devices;
- Removed gamecstl.cpp in favour to the new sis630.cpp driver;
- i386.cpp: enable CMOV feature for Pentium III and 4;
- i386.cpp: add PSN stub feature for Pentium III;
New machines marked as NOT_WORKING
----------------------------------
Shuttle MS-11 [Angelo Salese, archive.org]
- More c++, less macros
* Significantly reduced the use of unused_var and replaced it with
[[maybe_unused]]
* use enum class in ppmf.h
- Changes to testing code in ptest.h
* Catch exceptions in more places
* The verbosity of the output can now be controlled
* Display of test stats totals
- added support for cspell
- fixed various typos
- fixed SUBTARGET=nl build
- fixed more file permissions
- srcclean and add fix_permissions target to netlist makefile
netlist: pointer to member function code
- Address PR #9752 and issue #8590
- change comments in ppmf.h
- add support for function desciptors (IA64)
- sizeof(size_t) may be different on build targets
make plib::hash use uint64 to ensure consistent static solver
hashes across platforms (EMSCRIPTEN)
- Moved constructor and member functions outside the class declaration
with the exception of "call" member functions.
- Updated comment on accessing RDX
- Added more test cases
* Removed execution bit on certain files
I have separated out the raw processing code into `ppmf.cpp`. I have
also taken first steps to clean the abi identification.
The code submitted now supports:
a) The unknown virtual inheritance case with specific code for MSVC for
simple (i.e. scalar, void, reference, pointer) return types using the
optimized code. This is the test case only supported under MSVC and
which should return 7. Please have a look at the code. Basically
m_vptr_offset is an index into a pointer table. It needs to be
multiplied by `sizeof(void *)`.
b) If you enable PPMF_EXPERIMENTAL complex return type member functions
for MSVC will also use the optimized code path. This is explained in
detail in the code in ppmf, including caveats and possible solutions.
c) Enabling PPMF_USE_MAME_DELEGATES will use `src/lib/util/delegate.h`
as a replacement for `ppmf.h`. This allows to run the same tests
(`nltool -c tests` from standalone build) as for the ppmf code.
d) The code now also supports `clang-cl`
e) sizeof(size_t) may be different on build targets.
Make plib::hash use uint64 to ensure consistent static solver hashes
across platforms. This fixes loading static solvers (if enabled) on
EMSCRIPTEN.
Don't treat hypen and dot as the same thing - it will cause issues with
pacakge revisions. Cleaned up some Lua code as well.
Also show warnings about potentially uninitialised stuff with GCC 12,
just don't make them fatal errors.
New working clones
------------------
RC2014 Mini with CP/M Upgrade [Miodrag Milanovic]
-rc2014: added RTC, IDE, FDC and Sound module, fix memory and i/o mapping, proper flash mapping
----------------------------------
Neo Print - Popeye (Japan) (T4i 3.04) [buffi]
Neo Print - European Version (World) (T4i 2.00) [buffi]
Rally Point 2 [coolmod]
- toaplan2.cpp: added a note about a different ROM configuration found for sstrikerk [buffi]
* Hooked up floppy drives and controller properly, and implemented video display.
* formats/tim011_dsk.cpp: Added TIM 011 floppy image format.
-machine/upd765.cpp: If waiting for additional command bytes, treat a data register read as an open bus write (tested on real hardware) and always trigger the DRQ line even if in nodma mode. [Carl
-cpu/z180: Added callbacks for tend; decrement bcr1 when DMA channel 1 is active. [Carl]
* pc80s31k.cpp: minor XTAL cleanup
* pc8801.cpp: reduce signature name fns
* pc8801.cpp: separate dictionary and CD-ROM later model use into own state machines
* pc8801.cpp: clean input ports a bit
* pc8801.cpp: bulk printf -> logerror
* pc8801.cpp: misc cleanups
* pc8801.cpp: more misc cleanups
* pc8801.cpp: initial batch of exporting PC8801-31 to a separate device
* pc8801_31.cpp: document register map, add machine ID
* pc8801.cpp: fix configuration mistake for CPU speed
* pc8801.cpp: add base diplocations, massage documentation of ports $30, $31, $40, misc cleanups
* pc8801.cpp: fix mouse cursor jump bugs, remove deprecated PORT_RESET usage;
pc8801.cpp: rework and extend expansion slot descriptions;
* pc8801.cpp: add note about extended FH keyboards
* pc8801.cpp: add dip positions for BASIC dips
* pc8801_31.cpp: add stub SCSI bus controller
* pc8801.cpp: blind fix kanji LV2 hookup
* pc8801.cpp: use required_region_ptr for ROM regions, split kanji_lv2 to own one
* pc8801.cpp: move a few notes to XML
* pc8801_flop.xml: correct Digan no Maseki title
* pc8801.cpp: remove unneeded port $33 hookup (should be unmapped on all PC8801 variants)
* pc8801.cpp: initial implementation of interrupts using i8214 as base. Fixes at least yojukiko and bishojbg BGMs
* pc8801.cpp: add clock calculation for internal DAC1BIT, add reported V1 revision numbers for each romset.
* pc8801.cpp: move OPN/OPNA sound chip mounts to internal model types, add stereo mixing
* pc8801.cpp: add sound irq pending mechanism, particularly needed by Telenet games
* pc8801_flop.xml: update QA notes
* pc8801_flop.xml: more misc QA notes
* pc8801.cpp: improve irq semantics, connect rxrdy_irq_w signal
* pc8801.cpp: fix some irq regressions
* pc8801.cpp: make OPNA a bit less louder, QA checkpoint
* pc8801.cpp: fix broken link, unmapped I/O documentation
* pc8801.cpp: add JMB-X1 map, other minor notes
* pc8801_flop.xml: fix metalora title and manufacturer
* pc8801.cpp: minor cleanups
* pc8801.cpp: start inheriting from base pc8001_base_state, add initial hooks for actual 3301 + i8257 devices
* pc8801.cpp: fix port40_r reading mistake
* pc8801.cpp: fix 24kHz pixel clock
* pc8801.cpp: 3301 irq is tied to VRTC not INT
* upd3301.cpp: fix VRTC vblank/display bit timer
* pc8801.cpp: fix DMA readback
* upd3301.cpp: convert to logmasked
* upd3301.cpp: support for no attributes/no special control mode
* pc8801.cpp: simplify bitmap 3bpp drawing and add preliminary palette rasters
* pc8801.cpp: misc documentation updates
* upd3301.cpp: clear bitmap layer on FIFO reset
* i8214.cpp: PoC in separating INT ASSERT and CLEAR phases
pc8801.cpp: tie acknowledge to INT rather than inside callback. Avoids spurious irq regressions;
* upd3301.cpp: handle bitmaps as pure transparent;
pc8801.cpp: add BG Pal handling, honor transparency in all bitmap layers;
* pc8801.cpp: minor cleanups
* pc8801.cpp: better handling of bitmap fills
* pc8001.cpp: carry over attribute fetches between lines when 3301 is in color mode
* pc8801_flop.xml: update QA, move notes from main driver
* pc8801.cpp: implement colorized b&w graphic modes
* pc8801.cpp: cleanup obsolete functions
* pc8801.cpp: extend a bunch of notes
* pc8801.cpp: add boilerplate code for base irq mechanism
* pc8801.cpp: add expansion card support, with JMB-X1 (partly addresses #8709), PC-8801-23 and PCG-8100 as PoC examples.
* pc8801_exp.h: fix CI clang build
* pc8801_31.cpp: SW list hookup
New NOT_WORKING software list additions
---------------------------------------
pc8801_cdrom.xml: CD Takarabako [r09]
* pc8801.cpp: promote some romsets to parent
* pc8801.h: reinstate dummy initialization in state machines
* pc8801.cpp: save_item to all variables in state machines
----------------------------------
Super 97 (Ver. 1.00) [Ioannis Bampoulas]
- hexion.cpp: used finders and other small cleanups
- powerins.cpp: corrected one sprite ROM for powerinsc
- bottom9.cpp: finders and other minor cleanups
- pc8001.cpp: initialized a variable which was causing problems in regression testing and actually save some states
- seta.cpp: used correct ROM for daiohp2, fixes various GFX glitches
This will hopefully work around the very unhelpful uninitialised
variable warning that seems to be triggered by using Sol's get function
with std::optional<T> or sol::optional<T> on Linux.
* Enabled GCC lifetime dead store elimination optimisation.
* emu/device.h: Don't pre-clear memory for drivers. Ivan Vangelista
fixed at least the majority of things that crashed outright, and
Robbbert initialised variables that coverity complained about. It's
unlikely anything will break due to this.
* sound/discrete.h: Explicitly initialise members of discrete "devices"
to zero. I don't see a way around doing this in headers due to the
macro soup used to build the constructors.
* sound/mos6581.cpp: Moved creation of the SID core to device_start and
explictly initialised members of the SID core structures. These
structures are in internal headers, so they won't cause downstream
recompiles.
-Lua engine: Made I/O port manager type_seq a bit more tolerant of
omitted arguments.
* machine/laserdsc.cpp: Added functionality to retrieve if a disc is CAV.
* machine/ldv4200hle.cpp: Added high-level Pioneer LD-V4200 player emulation.
Machines promoted to working
----------------------------
Time Traveler (set 1) [Ryan Holtz, Matt O, ld-decode Team]
* New NOT_WORKING machines
---------------------------------
Basketball (Benchmark Games, set 1) [Museo del Recreativo, ClawGrip]
Ten Strike Classic [Museo del Recreativo, ClawGrip]
New NOT_WORKING clones
---------------------------------
Basketball (Benchmark Games, set 2) [Museo del Recreativo, ClawGrip]
- quizpun2.cpp, tail2nos.cpp: used finder for memory bank, small cleanups
- aerofgt.cpp, cop01.cpp, dacholer.cpp, galivan.cpp, pzletime.cpp, taxidriv.cpp, terracre.cpp, welltris.cpp: removed some custom GFX decodes in favor of the ones provided in emu/video/generic.cpp
----------------------------------
unknown game on TrueSys hardware [Jorge Silva]
New clones marked as NOT_WORKING
--------------------------------
Royal Card (stealth with NES multigame, set 2) [Jorge Silva]
Structural changes:
- amiga_copper.cpp: convert to device, added copins implementation as debugging mailbox, convert to logmacro.h;
- 8364_paula.cpp: convert audio implementation accessors from switch-case to per-channel maps;
- amiga.cpp: convert OCS/ECS/AGA chipset flavours to address_map_bank_device, currently using the older custom_chip_r/_w as a legacy trampoline that will be progressively removed once that we have working implementations of Agnus/Denise and derivatives;
- akiko.cpp: convert to logmacro.h;
- amigafdc.cpp: better elaborate QA notes, add "Trackdisk" to device long name as officially referred by Amiga SDK:
- amiga.cpp: kicked off an amiga_demos.xml SW list hookup;
Adds the following implementation detail changes:
- amigaaga.cpp: fix sprites and bitplanes in dualpf modes, fixes at very least cd32:dstreets on gameplay;
- amigaaga.cpp: fix BPLCON0 when planes == 7 is set, fixes title screen GFXs in surfninj;
- amigaaga.cpp: use HAM6 when not in AGA mode, fixes colors in cdtv:townona when run with CD32 system;
- amigaaga.cpp: fix sprite control fetches when FMODE != 0, fixes at very least Digger AGA sprites display;
- amigaaga.cpp: add extended bitplane delay hooks;
- amigaaga.cpp: fix HAM8 when in HIRES mode, fixes at least roadkill title and car screens;
- amiga.cpp: allow LOF bit to be set by writing bit 15 on VPOSW, fix roadkill AGA boot;
- amigaaga.cpp: implement Extra Half-Brite mode, used by bblow_a main menu
- amiga.cpp: disallow blitter address writes to go beyond the allocated chip RAM, fixes OCS sockid and AGA sockid_a drawing spurious filled tiles on playfield;
- amiga.cpp, amigaaga.cpp: workaround most GFX pitch corruptions, caused by implicit DDFSTOP overrunning width loop;
- amiga.cpp: allow DDFSTRT and DDFSTOP to read bit 2 in lores mode, fix swordsod GFX pitch in gameplay;
- amiga.cpp: use pf2pri for non-dual playfield, fixes alfred player sprite visibility;
- akiko.cpp: subq command adds +2 in command buffer, fixes cdtv:defcrown hardlock emulation;
- amigaaga.cpp: implement bscan2;
- amiga.cpp: disable floppy drive default for CD32;
- cubo.cpp: add inputs to eldoralg/odeontw/odeontw2;
- amiga.cpp: allow CD32 to read CDTV titles from SW list;
New NOT_WORKING software list additions
---------------------------------------
cdtv.xml: 17 Bit - Collection for Amiga CDTV, 17 Bit - Continuation Disc,
A Bun for Barney (USA), Advanced Military Systems (Europe),
American Heritage Illustrated Encyclopedic Dictionary (USA, 1991a Edition),
Barney Bear Goes to School (USA), Cinderella - The Original Fairy Tale (USA),
Defender of the Crown CDTV (Europe), Deutschland Kompakt (Germany),
Fantastic Voyage (USA), Garden Fax - Garden Plants (USA),
Garden Fax - Trees, Shrubs, Roses, and Conifers (USA),
Language TV - English (France), Lemmings (Europe), Log!cal (Europe),
Mud Puddle (USA, Multi 5), Pandora's CD v1.0 (alt), Psycho Killer (U2A2020UA),
CDTV Demo Disc (Europe), Raffles (Sweden),
Snoopy - The Case of the Missing Blanket (Sweden), Team Yankee (Europe),
The Curse of Ra (Germany),
The Demo Collection for Amiga CDTV (Europe, Black Disc),
The Hutchinson Encyclopedia (Europe),
The New Basics Electronic Cookbook (USA, 1991a Edition),
Time Table of History - Business, Politics & Media (USA, 1991a Edition),
Trivial Pursuit - The CDTV Edition (Europe, v1.0a),
Turrican (Germany, alt), Turrican II: The Final Fight (Germany, alt),
Welcome to CDTV Multimedia (USA, CDRM-499000), Wrath of the Demon (USA),
Xenon 2 - Megablast (Eng, Fra, Ger, Ita), Ten on Ten Compilation [redump.org]
------------------
BBC Micro Model B (Norway) [Nigel Barnes]
New clones marked as NOT_WORKING
--------------------------------
Cisco SIST1 Terminal [Nigel Barnes]
----------------------------------
unknown game on FR004 hardware (set 1) [Jorge Silva]
unknown game on FR009 hardware [Jorge Silva]
New clones marked as NOT_WORKING
--------------------------------
unknown game on FR004 hardware (set 2) [Jorge Silva]
unknown game on FR004 hardware (set 3) [Jorge Silva]
unknown game on FR004 hardware (set 4) [Jorge Silva]
----------------------------------
unknown PMC game [Mike Coates]
New clones marked as NOT_WORKING
--------------------------------
Boa Sorte! (Golden Poker prequel HW) [Jorge Silva]
- galaxian.cpp: added correct dip switches for redufob3 and dip locations for the redufo bootlegs [Guru]
Addressed pure virtual function call crash on end of emulation session
if you haven't explicitly removed all address space taps, memory
corruption on end of emulation session if you haven't explicitly removed
all address space change notifiers, and symbol being garbage-collected
out from under you while you have parsed expressions or other symbol
tables that depend on them.
Removed the copy constructor for parsed expressions as the underlying
C++ copy constructor appears to be broken, and simplified symbol table
constructors. Also made symbol table add methods return the new entry
to avoid the need for an extra lookup.
Fixed breakpoint/watchpoint objects being inappropriately copied into
the tables returned by bplist() and wplist(), allowing the enabled
property to be modifiable for breakpoint and watchpoint objects in Lua.
Fixed drivers and devices causing a new memory pass-through handler to
be allocated on each soft reset, and fixed multiple instances of taps
being installed in the event the machine is reset before the tap is
removed.
Added classes for managing broadcast subscriptions, and adapted address
spaces to use this for change notifications.
----------------------------------
Color Match [Jorge Silva]
Sport Memory [Jorge Silva]
- 391in1.cpp: dumped flash ROM and EEPROM for pokrwild [Jorge Silva]