Commit Graph

93528 Commits

Author SHA1 Message Date
Vas Crabb
dd7e50dc84 src/devices/cpu/e132xs/e132xsdrc.cpp: Fixed regression in exceptions. 2025-03-25 05:32:08 +11:00
Vas Crabb
4eed813fa1 cpu/e132xs: Removed leftover block end from a function that no longer generates a standalone block. 2025-03-25 05:05:59 +11:00
Ivan Vangelista
092cf02d15 New clones marked not working
-----------------------------
Long Hu Bang III Cuo Pai Gao Shou (China, V242C) [little0]
Manguan Caishen (China, V110C) [little0]
2025-03-24 18:00:54 +01:00
Vas Crabb
c13ea3d36b cpu/e132xs, cpu/drcbex64.cpp: More fixes and optimisation:
cpu/e132xs: Implemented supervisor and trace modes as recompiler modes.
This eliminates or simplifies a lot of run-time checks.  In particular,
the trace checks on every instruction are not generated when not
tracing, and simplified to just checking the P bit when tracing.

cpu/e132xs: Optimised code generation for RET, avoid a redundant load
when checking for an overflow trap, use the exception parameter for
exception codes rather than generating one function for each possible
code.  Also simplified interpreter code for RET.

cpu/e132xs: Implemented SUMS for the recompiler.

cpu/e132xs: Implemented privilege check for setting L (interrupt
lockout) for recompiler.  Not implemented for interpreter.

cpu/e132xs: Partially fixed tracing.  P flag should be set by all
instructions except RET.  Trace exceptions are not triggered for
branches when using the recompiler.

cpu/e132xs: Fixed ILC being set incorrectly for RET.

cpu/drcbex64.cpp: Avoid unnecessary expensive operations when a shift
operation request the zero and/or sign flags but not the carry flag.
2025-03-25 03:38:51 +11:00
Vas Crabb
91d9b3cb02 cpu/e132xs: Don't generate code to handle a delayed branch inline.
* Also avoid an redundant load when checking if trace is active.
* Reduces generated native instruction count by about 24% on x86-64 and
  gives an overall performance improvement of about 3.5% in -bench
  scores.
2025-03-24 03:33:04 +11:00
Ivan Vangelista
d0b681c51e New working clones
------------------
Chong Chong Le Yuan (V100CN) [little0]
2025-03-23 08:36:42 +01:00
ClawGrip
728f24da8c
galaxian/galaxian.cpp: Add a new Mandinga set (bootleg of Amidar) (#13326)
New working clones
------------------
Mandinga (bootleg of Amidar) [Luis Arrufat, Jordi Tuells]
2025-03-23 07:53:23 +01:00
AJR
97467ad077 mn10300: Fix disassembly of ADD Dm, Dn 2025-03-22 20:44:30 -04:00
AJR
7c4cdf37ed mn10300: Fix disassembly of even more move instruction modes 2025-03-22 20:41:24 -04:00
AJR
96688cfe03 mn10300: Re-add missing LSR and ASR modes 2025-03-22 20:32:43 -04:00
AJR
ada8249a07 mn10300: Fix disassembly of yet another move instruction mode 2025-03-22 20:26:18 -04:00
AJR
f96fa09eda mn10300: Fix disassembly of another move instruction mode 2025-03-22 20:19:49 -04:00
AJR
70f8492d7f mn10300: Fix disassembly of some move instruction modes 2025-03-22 20:11:46 -04:00
holub
c709a0f124
build: Fixed QT6 build for macosx (#13510) 2025-03-22 19:40:50 -04:00
AJR
e95cdde8e9 unidasm: Add Panasonic MN10300 disassembler 2025-03-22 19:28:42 -04:00
Nigel Barnes
b294aff9a7 acorn/acrnsys2: Replaced bad dump of COS. 2025-03-22 23:16:20 +00:00
Vas Crabb
297e546844 srcclean the tree. 2025-03-23 05:13:47 +11:00
Nigel Barnes
cbe7391c95 psion/psion.cpp: Consolidated into single file, and removed runtime tag lookups.
- Simplified ROM/RAM banking.
- Added Alpha and Numerical keyboards for POS variants.
- Applied software list filters.
- Added topslot for Organiser II variants.
- Removed fake LZ64S model, ROMs moved to LZ64.

psion/psion_pack.cpp: Allow setting image_interface.

New working clones
------------------
Organiser II Alpha POS 200 [Nigel Barnes, Jaap Scherphuis]
Organiser II P 250 [Nigel Barnes, Jaap Scherphuis]
Organiser II P 432 [Nigel Barnes, Jaap Scherphuis]
2025-03-22 18:07:15 +00:00
Vas Crabb
0e2241ef0a cpu/e132xs: Fixed IO2 interrupt check in recompiler.
Also further reduced conditional branches and logic operations in
interrupt check.
2025-03-23 05:04:41 +11:00
Vas Crabb
2e256840ff cpu/e132xs: More recompiler optimisation:
* Made interrupt check function generate far more compact code (about
  85% reduction in number of native instructions on x86-64).
* Optimised out-of-cycles check.
* Applied prior optimisation for trap/interrupt checks to static
  exception checks as well (code is still copy/pasted).
2025-03-23 04:05:02 +11:00
ClawGrip
df2b117eb6
Create skeleton device for Sega Megalo 50 DASS and hook it on supported Sega C2 games [jordigahan, Recreativas.org] (#12401) 2025-03-22 16:13:45 +01:00
m1macrophage
d11197c548
linn/linndrum.cpp: Emulating hi-hat decay. (#13509)
* Hi-hat decay knob is now working.
* Open and closed hats have different decays.
* Better default tuning for the snare.
* Removed `strobe_` prefix from functions where it was redundant. Made it an argument in a function where it matters.
2025-03-22 16:09:55 +01:00
ClawGrip
891a89643f
misc/compucranes.cpp: Add a new crane coinop on GANCHONEW hardware (#13358)
New systems marked not working
------------------------------
Cranesaurus Single [Zooo Arcade, Recreativas.org]
2025-03-22 15:56:02 +01:00
ClawGrip
c946188daa
Add a skeleton driver for Secoinsa Serie 20 (#13381)
New systems marked not working
------------------------------
Serie 20 [ArcadeHacker]
2025-03-22 15:54:55 +01:00
ClawGrip
604b39ef76
Add a skeleton for Microtek Powerpack In-Circuit Emulator PP-SW+ PIII (#13390)
New systems marked not working
------------------------------
Powerpack In-Circuit Emulator PP-SW+ PIII [ArcadeHacker]
2025-03-22 15:52:51 +01:00
ClawGrip
cbfce1c556
Add a skeleton for Microtek MICE-IIIS-68000 In-Circuit Emulator (#13393)
New systems marked not working
------------------------------
MICE-IIIS 68000 [ArcadeHacker]

Also renamed "Microtek International" to just "Microtek" as manufacturer name on the driver for older MICE models (the commercial brand was "Microtek", without any suffix).
2025-03-22 15:51:48 +01:00
angelosa
eec99a6643 hash/pc88va.xml: update QA 2025-03-22 15:50:55 +01:00
angelosa
80162c1546 nec/pc80s13k.cpp: sync pc88va2_fd_if_device with timer fixup from main driver 2025-03-22 15:50:55 +01:00
ClawGrip
8bbff64062
capcom/gng.cpp: Add a new Ghosts'n Goblins bootleg (#13428)
New working clones
------------------
Ghosts'n Goblins (bootleg) [Jordi Tuells, Jordi Beltran (Crazy Taxi)]
2025-03-22 15:50:27 +01:00
ClawGrip
1a03fdb8a7
Add a skeleton for Turnier Dart darts machine (#13437)
New systems marked not working
------------------------------
Turnier Dart [Victor Fernandez (City Game)]

New clones marked not working
------------------------------
Turnier Dart (HB8-97) [Victor Fernandez (City Game)]
2025-03-22 15:43:46 +01:00
ClawGrip
02d309ea7e
Add a Skeleton driver for Honeywell CAMIR-F1 motion sensor (#13441)
New systems marked not working
------------------------------
CAMIR-F1 [ArcadeHacker]
2025-03-22 15:42:35 +01:00
ClawGrip
81f91611a6
Add a skeleton driver form AMS Optomax V image analyser (#13460)
New machines marked not working
-----------------------------
Optomax V [ClawGrip]
2025-03-22 15:41:08 +01:00
ClawGrip
5a0bdb23bf
Add a new Cadash Spanish set (#13461)
New working clones
------------------
Cadash (Spain) [Tailsnic Retroworks]
2025-03-22 15:35:29 +01:00
Michael Borthwick
db64e253a6
Update sorcerer_cass.xml (#13480)
Corrected developer names and added dates and publisher details for various titles.
2025-03-22 15:33:54 +01:00
ClawGrip
3b4d107f79
dataeast/rohga.cpp: Add Wizard Fire (Over Sea v1.0) (#13495)
New working clones
------------------
Wizard Fire (Over Sea v1.0) [Tailsnic Retroworks]
2025-03-22 15:28:58 +01:00
holub
1d3e23615c
sinclair/spectrum.cpp Improved performance by 50% avoiding memregion lookup in a critical path (#13508) 2025-03-22 11:43:19 +01:00
Ivan Vangelista
1481692510 - igs/igs01.cpp: dumped missing GFX ROM for xymga [little0]
- igs/spoker.cpp: dumped missing GFX ROM for jinhulu2101is and cjdh6. Renamed cjdh6 to huahuas2a as it was misnamed [little0]

- igs/spoker.cpp: implemented more tile banking bits following Haze's IGS033 implementation, gives correct GFX for the sets which use that chip without breaking the ones using the IGS001 / IGS002 combo
2025-03-22 10:36:46 +01:00
angelosa
7f51ac8fe5 tatsumi: bulk replace screen_update suffixes, m_rotatingsprites -> m_sprites 2025-03-21 20:56:27 +01:00
Nigel Barnes
892f944daa machine/psion_ssd.cpp: Don't save state of removable media. 2025-03-21 18:36:14 +00:00
Nigel Barnes
38d2cbaedf machine/psion_asic9.cpp: Improved ASIC9MX RAM configuration to detect 2MB.
psion/psion3a.cpp: Improved LCD palette contrast.
- Series 3mx now uses ASIC9MX to correctly detect 2MB RAM.

psion/siena.cpp: Improved LCD palette contrast.

psion/workabout.cpp: Improved LCD palette contrast.
- Workabout mx now uses ASIC9MX to correctly detect 2MB RAM.
2025-03-21 18:36:14 +00:00
AJR
e3997fb6b2 Revert "i960: don't preserve sign bit when shifting integer left (#13507)"
This reverts commit 5954767b0b.

This was merged way too hastily based on incomplete information.
2025-03-21 14:21:08 -04:00
Matthew Daniels
5954767b0b
i960: don't preserve sign bit when shifting integer left (#13507) 2025-03-21 19:02:43 +01:00
mamehaze
49e7a4a464
tatsumi code location shuffle (not a cleanup) (#13503)
* Tatsumi code location shuffle

* put the wrong class name here

* chip type difference is definitely not the CLUT size, which is weird, but now confirmed on a PCB.

---------

Co-authored-by: David Haywood <hazemamewip@hotmail.com>
2025-03-21 18:43:39 +01:00
Vas Crabb
3313c37cb3 cpu/e132xs: More recompiler fixes:
* Cleaned up and commented code for generating an exception, reducing
  about nine memory accesses to update SR to two.
* Implemented NEGS, and fixed ADDS and SUBS not setting excption handler
  address.
* Optimised code to update Z flag on logic operations to avoid branches.
* Reduced copy/paste a bit more.
2025-03-22 04:32:22 +11:00
Ivan Vangelista
28e4809e88 igs/spoker.cpp: corrected decryption and memory map for jinhuang 2025-03-21 18:20:54 +01:00
Matthew Daniels
53f391ff5e
v60: implement correct rounding mode when converting float to integer (#13506) 2025-03-21 17:40:22 +01:00
Ivan Vangelista
760ae70305 New systems marked not working
------------------------------
Da Fu Wang III (V130LI) [Dr.Liu(BJ), little0]
Huahua Shijie II (v100FI) [Dr.Liu(BJ), little0]
Hua Sheng II (v120DI) [Dr.Liu(BJ), little0]
Hu Lu Wang II (v100KI) [Dr.Liu(BJ), little0]
Jin Huang Guan [Dr.Liu(BJ), little0]
Shuiguo Leyuan (V150UI) [Dr.Liu(BJ), little0]
Zuanshi Wutai (V110II) [Dr.Liu(BJ), little0]

New clones marked not working
-----------------------------
Jin Hu Lu II (v100GI) [Dr.Liu(BJ), little0]
2025-03-21 16:05:41 +01:00
holub
48bdad7ada
z80/z80dasm.cpp: Switched *R (LDIR, OTIR, etc) debugger flag to STEP_OVER (#13451) 2025-03-21 11:29:39 +01:00
m1macrophage
a2adba2984
linn_linndrum.lay, oberheim_dmx.lay: Warn when scripting is disabled. (#13504) 2025-03-21 10:18:15 +01:00
Vas Crabb
17cd39bb4c cpu/e132xs, cpu/drcbex64.cpp: Recompiler fixes and optimisations:
cpu/e132xs.cpp: Refactored code generation to improve performance and
fixed some issues:
* Moved a considerable amound of logic from execution time to code
  generation time.
* Fixed some cases where add/subtract carry was being interpreted
  incorrectly.
* Fixed a case where a load double intruction was incorrectly writing
  the same register twice.
* Use UML flags to generate condition codes for addition/subtraction.
* Use UML carry flag for carry-/borrow-in.
* Reduced UML register pressure (improves performance for hosts with
  fewer callee-saved CPU registers).
* Moved more logic to helper functions to simplify maintenance.

cpu/drcbex64.cpp: Fixed upper bits of UML registers being cleared when
used as address offset for LOAD/STORE.

cpu/drcbex64.cpp: Don't do expensive zero/sign flag update for shift
operations if only carry flag will be used.

cpu/drcbex64.cpp: Reduced copy/paste in READ[M]/WRITE[M] generators.
2025-03-21 17:56:15 +11:00