Commit Graph

3822 Commits

Author SHA1 Message Date
David Haywood
eca8831836
remove deco_zoomspr device, refactor deco32 - drgngun, lockload to use the namco_c355spr device instead (#8725) 2021-10-22 22:52:21 -04:00
Vas Crabb
0ba5d664f9 Add new files to SDL OSD as well as Mac OSD. 2021-10-18 08:46:17 +11:00
Vas Crabb
40a30af10f Still more user experience improvements:
Changed the default mapping for UI select to not trigger on Alt+Enter
fullscreen toggle.  (Fullscreen toggle still doesn't work in menus -
actually fixing that is complicated.)

frontend: Made the about box wrap text properly, made the title and
backtrack menu item always visible, and added a footer with the VCS
revision.

frontend: Don't highlight the favourites and info toolbar buttons if
there's no selection (can happen if filters produce no results).  Also
made the info viewer appear even if no info is available - it's less
confusing to see an empty menu than wonder why clicking the button does
nothing.

debugger: Added a register points view to the GUI debuggers, to go with
the breakpoints and watchpoints views.

debugger: Extended [brw]p(clear|(en|dis)able) commands to accept
multiple arguments to perform the same action on multiple
(break|watch|register)points at once.  Also made rplist accept a CPU for
showing a single CPU's register points ([bw]plist already support this).

docs: Updated registerpoints debugger commands page, and updated other
pages for latest extensions to syntax.
2021-10-18 08:22:21 +11:00
Ivan Vangelista
edc339dbca New machines marked as NOT_WORKING
----------------------------------
Exciting Boat Race [Phil Bennett]
Speed Basketball [Tailsnic Retroworks]
2021-10-15 17:12:35 +02:00
Vas Crabb
22bc3486c3 More user experience improvements:
frontend: Made it possible to cancel a media audit while it's in
progress.  Also made the media audit multi-threaded so it's faster.

frontend: Made the DIP switches in the DIP switch preview clickable.

frontend: Made the system and software selection menus leave focus on
the same system when clearing the search rather than jumping to the
first item.  Also fixed a couple of bugs in the logic for keeping the
selected item visible.

frontend: Fixed a few places that weren't showing localised system
names.

frontend: Made UI Cancel clear a search in the file manager the same way
it does on the system and sofware selection menus.

frontend: Made it possible for plugin menus to handle UI Cancel more
naturally, backing up to the previous plugin menu rather than dropping
straight back to the list of plugins.  Updated the autofire, cheat and
cheatfind plugins, and fixed a few other issues in the cheatfind plugin.

debugger: Made the mount and unmount commands accept instance names as
well as brief instance names.  Also updated another page of debugger
documentation.
2021-10-15 10:12:56 +11:00
Ivan Vangelista
afc2ca17f1 asuka.cpp: split in subclasses 2021-10-14 06:24:31 +02:00
Vas Crabb
96ca1dbd96 More user experience improvements:
frontend: Allow clicking the adjuster arrows on menu items.  This allows
things like video options and DIP switches to be configured using a
mouse only.  Also fixed a bug preventing paging menus with a mouse if
the first item scrolled off the bottom is not selectable.

debugger: Allow wplist and bplist to accept a CPU argument to list
breakpoints/watchpoints for a single CPU only.

debugger: Fixed some corner cases in address space syntax in memory
accesses, and allowed memory region accesses to use tags relative to the
visible CPU.

emu/softlist.cpp: Ignore notes elements when loading software lists.
It's effectively a comment that isn't a comment syntactically, it's
being used for things that are not useful to display in the internal UI,
and it slows down startup.

docs: Updated three more pages of debugger documentation.  Also updated
more of the built-in debugger help.

minimaws: Fixed up schema for software list notes, made sofware list
notes display initially collapsed.
2021-10-14 08:00:04 +11:00
Devin Acker
8962638b77
Casio CTK-551 [Daivn Acker]
* New machine marked as NOT_WORKING
----------------------------------
Casio CTK-551 [Devin Acker]
2021-10-13 09:35:00 +02:00
0kmg
32574013d2
bus/nes: Improved support for various VRC clone boards. (#8687)
* Expanded VRC4 CHR bank regs to 9-bit. This functionality is verified on Konami VRC4 hardware as well but is only used by clones (World Hero here).
* Removed board for World Hero. Its VRC4 clone chip is under a glop top but is thought to be identical to Konami's.
* Reimplemented TF1201 (Lethal Weapon) as a VRC4 subclass. Its clone chip is only known to differ by the IRQ reload bit, which it ignores.
* Reimplemented Shui Guan Pipe as a VRC4 subclass. Its clone chip has different PRG banking but is otherwise standard.

Software list items promoted to working (nes.xml)
---------------------------------------
Gimmick! (Asia, pirate)
Lethal Weapon (China)
World Hero (Asia)
World Hero (Asia, alt)
2021-10-11 23:49:37 +11:00
Vas Crabb
fd6309ee91 frontend: Keep cleaning up.
Got rid of one of the UI audit inputs.  There only needs to be one, and
the options can be presented in the confirmation menu.  Two secret
keystrokes is too confusing.  Also got rid of the long-obsolete UI
Toggle Debugger input.

Added audit media button to the toolbar so it's a bit less opaque, and
it can be accessed with a mouse/trackball (not just by knowing the key
mapping).

Made default I/O port names localisable.

Made autofire plugin save port fields using the { port, mask, type }
tuple, the same way MAME does.  Unfortunately this will break existing
autofire configuration, but it should be more stable going forward.

Added some more UI keys to the default key mappings documentation.
2021-10-11 13:14:31 +11:00
Vas Crabb
38082ccbee
Overdue internal UI enhancements (#8674)
* frontend: Added support for message context to localisations.
* frontend: Added string_view versions of the message lookup functions.
* frontend: Added a few more folder options to the internal UI.
* emu/softlist.cpp: Use more appropriate containers.
* Switched to Python 3 by default - this will become a requirement.
* Updated msgfmt.py for message context support.
* frontend: Show all software item info in the internal UI.
* frontend: Search alternate titles in software selection menu.
* 3rdparty/utf8proc: Updated to v2.6.1 (has several fixes).
* frontend: Added software filters for common info fields.
* frontend: Allow UI manager to hold onto persistent session data.
* frontend: Cache software lists for eight machines.
* frontend: Added support for loading localised system names.
* frontend: Add UI for selecting localised system names.
2021-10-09 12:16:17 +11:00
Patrick Mackinlay
24e14ba50a New machines marked as NOT_WORKING
---
Omron Luna [Plamen Mihaylov]
2021-10-08 08:42:08 +07:00
Ivan Vangelista
82f27190f0 - cchasm.cpp: removed duplicated include
- dietgo.cpp: moved everything into the driver file, as video/dietgo.cpp only had one method
2021-10-07 17:28:11 +02:00
wilbertpol
eae75824d3
softlist.cpp: Add support for a 'notes' field to store information ab… (#8482)
* softlist.cpp: Add support for a 'notes' field to store information about a software list or software list item.  [Wilbert Pol]

* Add software list and software notes to minimaws
2021-10-05 19:16:42 +02:00
Vas Crabb
aeb9eae874
util: Further API cleanups: (#8661)
* Turned `core_file` into an implementation of `random_read_write`.
* Turned PNG errors into a standard error category.
* Added a helper for generating what look like derived classes on-the-fly.
2021-10-05 03:34:45 +11:00
AJR
a271303a9f Add Z80-derived stub devices for eZ80 and R800 CPUs 2021-10-03 13:56:49 -04:00
Vas Crabb
299265cc52 bus/rs232: Added a configurable patch box device, and various cleanups.
Added comments with V.24 interchange circuit numbers and names to
rs232.h to make the meanings of the abbreviated signal names clearer.

Moved a few slot card classes out of headers and into anonymous
namespaces to reduce compile depedencies and exported symbols.

Transliterated a Korean NES game title.
2021-10-03 03:52:22 +11:00
Julian Sikorski
0eeb918991
Update bgfx, bx and bimg to latest upstream (fixes issue #8057) (#8645) 2021-10-02 12:21:12 -04:00
Dirk Best
635a7e6c2b karnov: Cleanup 2021-10-01 12:56:50 +02:00
Vas Crabb
18188c7191 -minimaws: Changed geometry of disclosure triangles.
-util/delegate.cpp: Fixed typo in comment.
2021-09-29 14:27:57 +10:00
Angelo Salese
ec33fac7c7
Add floppy support to NEC PC-8001 (#8532)
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
2021-09-25 16:00:29 +02:00
Vas Crabb
7a6e383cb9 minimaws: Added disclosure triangle controls to many sections. 2021-09-23 23:59:19 +10:00
Vas Crabb
d35ff4bca6 -minimaws: Made table sort widgets (and the code behind them) less ugly.
-util/delegate.cpp: Added a couple of comments about assumptions.
2021-09-23 17:03:20 +10:00
Ivan Vangelista
fd1bba9a58 - konmedal68k.cpp: tentatively identified the unkkonmd set [Wayder]
- model2.cpp: minor documentation update [Brian Troha]

- arcade.lua: fixed arcade build compiling [Brian Troha]
2021-09-23 06:32:55 +02:00
David Haywood
47e5d8c5c6
Dumped the 68705P3 MCUs on 2 different types of sp.ACE fruit machine reel driver PCBs [TTX] (#8593) 2021-09-21 22:26:09 -04:00
0kmg
cdf1780074
bus/nes: Added support for several Shenzhen Jncota RPGs. (#8500)
* Also corrected metadata for lots of items.

Software list items promoted to working (nes.xml)
---------------------------------------
Jīng Kē Xīnzhuàn (China, Shenzhen Jncota)
Shènghuǒ Lièzhuàn (China)
Xiákè Chuánqí (China)
Zhànguó Fēngyún (China)
2021-09-21 04:31:28 +10:00
arbee
ef41d5f454 Fix build script typo [R. Belmont] 2021-09-19 20:09:18 -04:00
arbee
463fb129c4 New games added as MACHINE_NOT_WORKING
--------------------------------------
Unknown medal game GS471 [Phil Bennett, R. Belmont]
2021-09-19 19:47:14 -04:00
0kmg
2976726f82 bus/nes: Added support for Super Russian Roulette.
New working software list additions (nes.xml)
-----------------------------------
Super Russian Roulette [re4mat]
2021-09-18 10:19:26 -08:00
Vas Crabb
df8703523b util/strformat.h: Detect C++ standard > C++17 before doing weird stuff. 2021-09-18 02:02:58 +10:00
Vas Crabb
d334586156 -util/delegate.cpp: One less level of indirection for functoid delegates.
* 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.
2021-09-16 02:02:45 +10:00
hap
934eb69361 New working machines
--------------------
Checker Challenger (model CR, 2 levels) [hap, Sean Riddle]
2021-09-14 23:26:15 +02:00
Vas Crabb
f7d1c0dca4 -goldnpkr.cpp: Base screen parameters on how games program the CRTC.
* 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.
2021-09-13 06:24:23 +10:00
ajrhacker
bebc2c4917
Merge pull request #8559 from 0kmg/nes-mappers-297,374
bus/nes: Added support for MMC1-based multicarts.
2021-09-11 19:18:01 -04:00
AJR
0da505b43e Formats-related refactoring
- Remove opresolv.h from emu.h and some other base headers
- Split legacy floppy image class into a separate file
- Clean up a lot of #includes in src/lib and src/tools/imgtool
2021-09-11 16:09:27 -04:00
Robbbert
63e2028788 New machines marked as NOT_WORKING
----------------------------------
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]
2021-09-11 14:43:21 +10:00
0kmg
968fb7f491 bus/nes: Added support for MMC1-based multicarts.
- Modified MMC1 base class (SxROM) to have outer bank base/mask to make it extensible by multicarts.
- Implemented two boards, reset-based SxROM and a 2-in-1 by TXC, as proof of concept.
- Marked Operation Wolf games as partially supported due to zapper inputs not working.
- Marked Space Shadow as not supported since it requires the extra buttons on the Bandai Hyper Shot gun.

New working software list additions (nes.xml)
-----------------------------------
1997 Super HiK 4 in 1 (JY-021) [MLX]
1995 Super HiK 4 in 1 (JY-022) [NewRisingSun, taizou]
1996 Super HiK 4 in 1 (JY-051) [NewRisingSun, taizou]
2 in 1 Uzi Lightgun [CaH4e3]
2021-09-09 17:04:22 -08:00
smf-
2811cda9c6 fixed vs2019, broken by clang fix. 2021-09-09 12:55:56 +01:00
Vas Crabb
693764eb9c Miscellaneous cleanup.
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.
2021-09-09 04:12:45 +10:00
arbee
ea8102906e apple2: support for the AppleIISD card [R. Belmont, Florian Reitz] 2021-09-07 19:51:34 -04:00
Ivan Vangelista
304e133862 - airraid.cpp, hanaawas.cpp: used finders instead of tagmap lookups and other minor cleanups
-  flstory.cpp: corrected main CPU clock for rumba, fixes sound regression [David Haywood]

- sbmjb.cpp: lowered Oki volume
2021-09-07 19:08:44 +02:00
Vas Crabb
88f6393be8 minimaws: Better equality for devices. 2021-09-07 00:43:52 +10:00
Vas Crabb
4f495994c4 -ui: Made zoom controls a bit more intuitive.
* 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.)
2021-09-06 06:34:42 +10:00
npwoods
5e02ff231e
Decoupled RPK logic from TI-99 cartridge code. (#7880)
Decoupled support for RPK (RomPacK cartridge images) from TI-99 code, enabling the logic to be leveraged by other drivers.
2021-09-06 03:48:30 +10:00
smf-
32267e4852 fixes for building with clang 12.0.1 on windows 2021-09-04 20:09:51 +01:00
AJR
fb6b0f0cc4 unidasm: Add disassembler for DEC VAX architecture 2021-09-03 13:27:48 -04:00
Ivan Vangelista
44d514aa70 funkyjet.cpp: moved everything into the driver file, as video/funkyjet.cpp only had one method 2021-09-03 06:19:54 +02:00
AJR
ccaa00b3ed Move endianness type into lib/util header 2021-08-31 12:30:11 -04:00
Vas Crabb
7e1795ae6b More miscellaneous cleanup:
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.
2021-08-30 23:05:02 +10:00
ajrhacker
fc97bea7b7
Merge pull request #8495 from 0kmg/nes-mappers-114,115,182
bus/nes: Simplified a few related boards by Kasheng and Hosenkan.
2021-08-26 20:34:01 -04:00