----------------------------------
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]
----------------------------------
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]
----------------------------------
Color Match [Jorge Silva]
Sport Memory [Jorge Silva]
- 391in1.cpp: dumped flash ROM and EEPROM for pokrwild [Jorge Silva]
--------------------------------
Tetris (bootleg set 5) [Jorge Silva]
- audio/nichisnd.cpp, audio/rax.cpp, drivers/usgames.cpp: used finder for memory banks
------------------
Genius 6 (V132F) [Jorge Silva]
Lethal Crash Race / Bakuretsu Crash Race (set 2, alternate sound ROM) [Jorge Silva]
- ohmygod.cpp: used finder for memory bank and other minor cleanups
- Streamlined logging across chips to use logmacro.h, removed popmessages and printfs in production code;
- Add missing include guards in header files;
- split Atomiswave into own file from naomi.cpp (dc_atomiswave.cpp);
- powervr2.cpp: YUV pitch follows U size, fixes#8999
- powervr2.cpp: move Elan related stuff back into naomi2_state;
- naomi.cpp: support for player 2 keyboard inputs;
- naomi.cpp: add proper inputs to alpilot/alpilotj and sstrkfgt;
- naomi.cpp: hookup lightgun for deathcox;
- naomi.cpp: make G2-DMA timings slightly more accurate (fixes sfz3ugd silent BGMs regression caused by implicit insta-DMAs)
- dc_g2if.cpp: wrote a device for G2 DMA interface, fixes#9000 ;
- dc_g2if.cpp: add E1/E2/DD channels thru template, add area protection, add illegal address and overflow exceptions (fixes loopchk g2 bus tests 0302 and 0303)
- aica.cpp: $2814 CA reads doesn't need shifting, fixes ADX repeating sample/hang bugs in many entries [Angelo Salese, MetalliC];
- powervr2.cpp: make ISP/TSP irq to be slower, fixes regression bug with Capcom fighters having frame hiccups [David Haywood, Angelo Salese]
- dc_atomiswave.cpp: converted aw_modem_r/_w to 32-bit, added 3p/4p inputs to ggisuka, expose EXID to an input/output ioports for future extensions;
- dc_atomiswave.cpp: extend xtrmhnt2 ALL.Net hack for -drc, move around state machine to derive ALL.Net external device mapping instead of driver_init fn, demote to MUP for obvious reasons;
- dc_atomiswave: add Area 1 mirrors, fix maxspeed title screen animation;
- [MT#8143](https://mametesters.org/view.php?id=8143) is fixed
New NOT_WORKING software list additions
---------------------------------------
dc.xml: DC Checker for Repair v2.05R (World), Loop Checker v1.00 (World), GD Drive Repair Program v0.1 (World) [Hidden Palace]
- Move from falco5220.cpp to falco500.cpp
- Implement many ASIC features and support most video options
- Fully hook up RS232 ports
- Hook up bell
- Add keyboard
- Add detailed hardware descriptions for 3 models
New machines marked as NOT_WORKING
----------------------------------
Falco 500e [Bitsavers]
------------------
Rastan Saga (bootleg, Japan Rev 1, earlier code base) [Fabrice Arzeno]
timeplt.cpp: added a note about a spaceplta PCB with a char ROM taken from the original [Trol]
* Created an initial file system implementation for OS-9 under the CoCo
* Minor fixes to directory entry handling
* Changed to use fsblk_t::r[8|16|24|32]b()
- Changed the above functions to be const
* Reimplemented support for the CoCo's RS-DOS filesystem on top of the "fsmgr" framework (currently read only)
* Added support for file_type and ascii_flag metadata, minor bug fix decoding file allocation table entries
* Creating a "CoCo Raw Disk" format and changing the CoCo RS-DOS filesystem to use it
* 1. Adding COCO_RAWDSK to all.cpp
2. Fixing sector order on CoCo raw disk
* Research into thoop and squash 'refrsh rate' protection [Victor Fernandez (City Game), Peter Ferrie, David Haywood]
- prevents freeze when dying in stage 4 of Thunder Hoop, and bad text on continue in Squash
* Minor changes to various drivers (todo, comments, text strings).
* ec1847: Moved to pc.cpp, it's a generic OEM clone.
* Use proper name for serial/parallel ports card in ec1840 and ec1841.
* superga2: Moved to arcade section, updated emulation status.
* ctk2100: preliminary work
* ctk2100: possible keyboard hookup
* ctk2100: hook up rudimentary timers
* ctk2100: add ports and hook up the LCD
* ctk2100: timer tweaks, input tweaks
* ctk2100: fix I/O port reads (stops constant LCD resets)
* gt913: increase key polling rate (fixes ctk2100 test mode)
* ctk2100: add ADCs, clean up and comment some other stuff
* lpc210x: add the PL190 VIC here too while i'm at it
* vic_pl192: fix clang build
* unidasm: add gt913
New clones marked as NOT_WORKING
--------------------------------
PC-8001mkIISR [anonymous]
* Generate a new pc8001_flop.xml list, based off Neo Kobe dumps;
* Move several items from pc8801_flop.xml to the new pc8001_flop.xml;
* Generate new lists for pc8001mk2_flop.xml and pc8001mk2sr_flop.xml;
* Hook aforementioned lists where they belongs
( i.e. N-Basic list is now shared between pc8801.cpp and pc8001.cpp,
N80 list belongs to pc8001mk2 and pc8001mk2sr,
N80SR list belongs to pc8001mk2sr alone)
* upd3301.cpp: fix scrolling glitch when unthrottled
* pc8001.cpp: fix machine configs inheritance
* pc8001.cpp: constexpr the XTALs
* pc8001.cpp: allow to enter into N80 BASIC mode for mk2 machines
* Ported pc80s31k to device interface, and hooked it up to pc8001
* Fix validation errors
* Misc documentation updates
* uPD3301.cpp: implement bulk of attribute fields
* upd3301: fix olyboss compile and crashing, add rvv signal
* upd3301.cpp: fix last value of attribute row (7narabe), fix graphic mode when in width 40 (15puzzle)
* upd3301.cpp: consider an attribute end of 0 equal to max size, fixes starfire
* upd3301.cpp: rvv is definitely a global reverse rather than acting on palette for PC8001, document flgworld attribute weirdness (double somersault)
* pc8001_flop.xml: QA selected SW
* pc80s31k.cpp: split into PC80S31 (2d) and PC80S31K (2d/2dd/2hd) devices, rearrange disk bioses
* pc8801.cpp: inherit pc80s31k device and kill off FDC legacy code
* pc80s31k.cpp: documentation updates
* pc8001_flop: move Magic Copy and a alt versions of ay1 and 4d house in here
* pc98.xml: move daivacal from PC88 since it really belongs here
* pc8801_flop.xml: major QA testing on suspicious floppy activities
* pc8801.cpp: remove logging of High [TV]RAM
* pc8801_flop.xml: fix rogue extra comment closing
* pc80s31k.cpp: mailbox the PPI ports, fix barbatus booting;
pc80s31k.cpp: allow filemst to boot, and add note about its unemulated
extended HW;
* upd3301.cpp: convert AT1/AT0/SC to an aggregate variable
* upd3301.cpp: convert attribute fetch to be a client delegate
* pc8001.cpp: move some shared functions to pc8001_base_state
* pc8001.cpp: add DMA functions
* pc8001.cpp: add extension setter for 24KHz mode (which will be used by PC-8801 once implementation is merged)
* pc8801_flop.xml: fix description duplicate
* Bulk replace pc8*_flop.xml capitalized Alt into lowercase
* pc80s31k.cpp: add space.unmap() for terminal_count_r, reorder headers, make constructor trampoline protected
* Standardize Daiva titles across XMLs
* pc8801_cass.xml: revert of software name t[ape] postfixes
* pc8801_flop.xml: more identification of N/V1 BASIC SWs
* If a delegate is set to a functoid (e.g. a lambda) with a signature
that is an exact match for the delegate's signature, it will be bound
directly. If arguments or the return value need conversion, a static
adaptor will be generated. This removes unnecessary indirection
through std::function::operator().
-Added a few more documentation comments.
* Filled in proper screen parameters for goldnpkr, witchcrd and
megadpkr. There may be other games that use different parameters.
* Demoted megadpkr and megadpkrb to not working as they can only boot
once before writing timekeeper data that prevents booting again.
-Tidied up a few drivers a little.
----------------------------------
Recel Bios
Alaska
Hot & Cold
Screech
Mr Evil
Torneo
Crazy Race
Fair Fight
Poker Plus
Mr Doom
Cavalier
Swashbuckler
Don Quijote
The Flipper Game
Black Magic 4 [Robbbert]
cchasm.cpp: Combined source files, added I/O port finder, reduced audio
levels to avoid hitting the limiter.
redalert.cpp: Converted sound boards to devices and removed a couple of
trampolines, making the driver state class considerably tidier.
bus/amiga/keyboard, bus/sunkbd: Put a bunch of implementation classes in
anonymous namespaces, getting implementation details out of headers and
out of the global namespace.
* The UI controls are described as zoom in/out, but they had the
opposite effect on the palette and tile viewers. That has been
changed to make them consistent with the tilemap viewer.
* Made the default zoom key not act as a toggle. People are familiar
with the function of Ctrl+0/=/- in web browsers, so making them behave
similarly in MAME should make it more approachable. Also added the
default zoom key to the relevant documentation page.
* Implemented the default zoom key for the palette and tile viewers.
* In the tilemap viewer, if the view is in default expand to fit mode,
zoom in/out starting from the actual zoom ratio. Once again, this
behaves more like the zoom controls in a web browser displaying an
image so it should be more intuitive.
* Made more messages from the tilemap viewer localisable.
-util/zippath.cpp: Fixed MT08074.
* There were multiple issues at play here. After #8443 was applied,
is_root was simply never returning true on Windows, as OSD_WINDOWS
isn't actually defined outside libosd and libocore. This caused
phantom parent items to appear in disk roots on Windows, but it meant
that the check in zippath_resolve would always fail so the trailing
backslash would be trimmed. Fixing the macro test in is_root meant
the trailing backslash from C:\ would no longer be trimmed, which
caused the stat in zippath_resolve to fail.
-bigbord2.cpp: Hooked up floppy DRQ that had somehow got lost.
-Reduced tag map lookups in several drivers and devices.
-util/coretmpl.h: Removed an overload of bitswap that can be avoided
using if constexpr.
-Added doxygen comments to some classes, and fixed several doxygen
warnings.
-util, osd: Test for _WIN32 rather than WIN32.
* In C++17 mode, WIN32 is no longer a predefined macro, although various
things in 3rdparty define it to maintain legacy support. We're better
off moving forward anyway for when WIN32 disappears entirely. (WIN32
is not a reserved name, while _WIN32 is, starting with an underscore
follwed by an uppercase letter.)
emu/render.cpp: Use I/O filter for zlib decompression, avoiding the need
to use zlib directly.
audo/bally.cpp: Moved several constructors out of the header, fixed a
save state issue, and made outputs use finders.
exidy.cpp: Split up state class and reduced reliance on driver init
functions.
Changed various drivers to use output finders.
First major step in splitting up machine classes in NEC PC98 family tree:
* Splits up derivative HWs into own state machine and files (pc98ha.cpp, pc9821.cpp and pc9801_epson.cpp);
* Adds a preliminary uPD4991a parallel RTC, used by pc98ha;
* Fix -26, -86, -118 C-bus sound board dips or jumper settings;
* Fix default sound card for pc9821 (-86) and pc9821ce2 / pc9821cx3 (-118);
* Adds preliminary MAD Factory Otomichan-kai C-bus sound board;
* Adds boilerplate code for C-bus installing board I/Os, avoiding the possible inconvenience of board(s) getting silently unmapped by other installed boards;
* Major refactoring of HW dip switches readouts, using required_ioports instead of scattering things around in PPI hooks;
* Extensive QA rundown, including research on missing features and undumped machines.
pc9801.cpp: Don't passthrough mouse irq frequency when cycle setting is setup too, fixes jastrike mouse input on options menu.
pc9801.cpp: Fix kanji RAM window LR readback, makes telenetm to properly display 8x16 chars on RS and derivative machines.
pc8801.cpp: fixed OPNA RAM readback, allowing SWs to playback ADPCMs properly.
New machines marked as NOT_WORKING
----------------------------------
PC-98LT [anonymous]
PC-98HA "Handy98" [anonymous]
PC-9821Nr15 (98NOTE Lavie) [flyingharuka]
PC-9821Nr166 (98NOTE Lavie) [flyingharuka]
PC-9821Nw150 (98NOTE Lavie) [flyingharuka]
PC-9821Ra266 (98MATE R) [flyingharuka]
PC-9821Cx3 (98MULTi CanBe) [flyingharuka]
PC-9801VX [qazmko1029]
PC-9801US [CoolMod]
- Implement video slot and mono graphics video card
- Hook up CIO, SIO, RTC, PIT, SN76489
- Add daisy chain for Z80 devices and hook it up to the PIC
- Add system control ports
neogeo.cpp: Added newer Universe BIOS versions to irrmaze - this allows
the Japanese version to be seen by switching the region, and joystick
play using a cheat (although 2.3 and later also support trackball play,
a joystick is still required for setup and to use the in-game menu).
Also changed roboarma to roboarmya, as this matches the software list,
and we prefer to make clone set names using suffixes.
neogeo.xml: Added irrmaze with usage note explaining that newer
Universe BIOS versions support joystick play as a cheat (must be enabled
each session - Universe BIOS does not save cheat state to NVRAM).
lwriter.cpp: Got rid of a couple of literal tags, make use of Allman
style a bit more consistent, and got rid of a redundant part of a
bitwise or expression.
runaway.cpp: Merged video code into main driver file, split state
classes, reduced a bit of redundancy, eliminated runtime input tag
lookups, and generally tidied up code.
dai3wksi.cpp: Noted manufacture in description for runaways.
* Removed unnecessary VRAM read trampolines.
* Use buffered_spriteram16_device for buffered sprite RAM.
* Derive clocks from crystals.
* Reduced runtime tag lookups, unnecessary region size.
* Fix naming, spacing.
* Use generic graphics layouts, fix color usage of gfxdecode related to palette size.
* Restrict rowscroll to screen clipping rectangle.