Commit Graph

93467 Commits

Author SHA1 Message Date
hap
481002e640 sindbadm: add note about version with different sound hw 2025-03-29 22:23:04 +01:00
Vas Crabb
f5ac6aaa54 Merge branch 'release0276' into HEAD 2025-03-30 06:40:55 +11:00
Vas Crabb
bba2956f52 misc/dgpix.cpp: Demote the correct game. 2025-03-30 06:38:28 +11:00
Vas Crabb
b860e736f6 Miscelaneous minor fixes:
Changed "Exception Points" to "Exceptionpoints" in the debugger
documentation and help.  This better matches "Watchpoints" and
"Registerpoints".  Also, it's very confusing that you see the help topic
listing showing "Exception Points" but typing "help Exception Points"
doesn't actually work.

cpu/e132xs: Fixed a flags issue in the recompiler.

misc/dgpix.cpp: Demoted The X-Files to not working with unemulated
protection.

skeleton/turnierdart.cpp: The srcclean on this file was missed.
2025-03-30 06:29:08 +11:00
Vas Crabb
27b3384acd -cpu/e132xs: Implemented pointer error exceptions for recompiler.
* Implemented pointer error exceptions on attempting to use a zero
  address register (other than SR) in the recompiler.
* Also optimised load/store instructions a bit and reduced copy/paste.
* Fixed a couple of disassembler issues.

-misc/dgpix.cpp: Demoted The X-Files to not working with unemulated
 protection.
2025-03-30 06:21:27 +11:00
hap
bff1ab51d9 m6502: like z80, around 10% performance gain by checking unset devcb on every opcode 2025-03-29 19:25:41 +01:00
hap
df2098bdcc z80: around 10% performance gain by checking if devcb is unset that is called on every opcode 2025-03-29 18:58:32 +01:00
angelosa
89f4c0d698 nec/pc88va.cpp: port SASI support from PC-9801 2025-03-29 16:13:20 +01:00
Ivan Vangelista
bf62676ccc New systems marked not working
------------------------------
Da Bai Sha [little0]
2025-03-29 09:16:19 +01:00
Roberto Fresca
3134106854 naroutp.cpp driver improvements: [Roberto Fresca, Grull Osgo]
- Added inputs & DIP switches for pma.
 - Switched CPU to i8080 for pma.
 - Added buttons-lamps clickable layout for pma.
 - Promoted pma set to working.
 - Added ASCII PCB layout for Dellfern sets.
 - Improved Prologic, Kimble Z80, and Noraut JP
    ASCII PCB layouts.

Systems promoted to working
---------------------------
PMA Poker [Roberto Fresca, Grull Osgo]
2025-03-29 04:18:50 +01:00
holub
fd1dd96c38
src/mame/sinclair/spec128.cpp: Memory access specifics moved to base driver; Cleaned up comments style (#13527)
* src/mame/sinclair/spec128.cpp: Memory access specifics moved to base driver; Cleaned up comments style

* move comment
2025-03-28 21:58:31 +01:00
Vas Crabb
40a0638ba7 -cpu/e132xs: General cleanup and usability improvements:
* Aligned the operand field in disassembly.
* Calculate results of immediate values against the PC to make
  position-independent code easier to read  without constantly using a
  calculator (e.g. this shows destinations for call Rd, PC, imm).
* Added more symbols to the UML helper to make logged generated code
  more readable.
* Made single-instruction-per-sequence mode configurable rather than a
  compile-time option.
* Got rid of a criminal amount of copy/paste in the disassembler, and
  got rid of all the deprecated strcpy calls.
* Got rid of some duplicated constants, changed some constants from
  macros to enumerated values or constexpr globals.
* Reduced the amound of stuff in headers that doesn't need to be there.

-cpu/drcbex64.cpp: Don't construct std::function objects during code
 generation - they require allocation.

-eolith/eolith.cpp: Turned single-instruction-per-sequence mode on for
 now until someone works out why turning it off causes Raccoon World to
 generate so much code it's unplayably slow.
2025-03-29 04:56:48 +11:00
Roberto Fresca
345ab51e9d new line... 2025-03-28 18:51:51 +01:00
Roberto Fresca
56ce860be3 naroutp.cpp driver improvements: [Roberto Fresca, Grull Osgo]
- Unified some machine configs.
 - Added inputs & DIP switches for newhilop and pkii_dm.
 - Switched CPU to i8080 for newhilop and pkii_dm.
 - Added buttons-lamps clickable layout for newhilop and pkii_dm.
 - Promoted newhilop and pkii_dm sets to working.

Systems promoted to working
---------------------------
New Hi-Low Poker [Roberto Fresca, Grull Osgo]
unknown poker game PKII/DM [Roberto Fresca, Grull Osgo]
2025-03-28 18:47:55 +01:00
Vas Crabb
87dac9299c cpu/e132xs: More recompiler optimisation:
* Optimised double word shifts.
* Optimised the most common PC-relative operations to treat PC as
  constant when possible, including:
  - addi  PC,imm      (long relative branch)
  - add   PC,Rs       (computed goto)
  - sum   Rd,PC,imm   (calculate PC-relative address)
  - add   Rd,PC       (calculate PC-relative address)
  - ldw.d PC,Rs,imm   (PC-relative load)
  - stw.d PC,Rs,imm   (PC-relative store)
* Changed template parameters to LlamaCase to make them more visible
  different to constants/macros.
2025-03-28 18:04:55 +11:00
Roberto Fresca
c1ea75f879 naroutp.cpp driver improvements: [Roberto Fresca, Grull Osgo]
- Added 3 new sets: df_djpkra, norautn1a, and norautpt.
 - Proper machine config and memory map for gtipokra.
 - Figured out the DIP switch for gtipoker minimal hand.
 - Fixed some ROM loads.
 - Added technical notes.

New working clones
------------------
Double Joker Poker / Jacks Plus (45%-75% payout, alt) [Roberto Fresca, Grull Osgo, Hammy]
Noraut Joker Poker (N1A) [Roberto Fresca, Grull Osgo, Hammy]
Noraut Joker Poker (text hack) [Roberto Fresca, Grull Osgo, ArcadePT]
2025-03-28 02:29:37 +01:00
AJR
d4a9950e5a mame.lst: Fix validation 2025-03-27 18:47:40 -04:00
Ivan Vangelista
a23b4f0e4c New systems marked not working
------------------------------
Hong Mayi [little0]
2025-03-27 18:00:48 +01:00
Vas Crabb
3533b7f79e cpu/e132xs: More recompiler optimisation:
* Disabled single-instruction-per-block mode.
* Don't bother with delay slot checks where it's unnecessary.
* Try to generate a speicalised copy of the delay slot instruction
  followed by a direct branch of possible.
* Use the pre-decoded instruction length for updating the PC.
* Specialised versions of the CHK instruction that always or never
  raise exceptions.
2025-03-27 23:15:45 +11:00
cam900
d48596b042
sound/s_dsp.cpp: Updates/Cleanups (#13488)
* sound/s_dsp.cpp: Fix pitch modulation emulation, Fix save state support

reference: https://snes.nesdev.org/wiki/SNESdev_Wiki

* sound/s_dsp.cpp: Fix indent

* s_dsp.cpp: Reduce unnecessary lines, Fix typenames

* sound/s_dsp.cpp: More std::clamp uses, Use BIT for single bit flags

* sound/s_dsp.cpp: Fix input clock, Fix indent, Use lowercase hexadecimal values, Use reference for voice state

reference: https://snes.nesdev.org/wiki/S-SMP

* sound/s_dsp.cpp: Use logmacro.h for logging, Use BIT for single bit flags
2025-03-26 23:35:51 -04:00
ClawGrip
67a7e51339
Add a skeleton for the 2023 version of Paracaidista (#13499)
New systems marked not working
------------------------------
Paracaidista (recreation) [Recreativas.org, ClawGrip]
2025-03-26 23:34:45 -04:00
mamehaze
dff08116da
Plug+Play work (1 working, 8 non-working, 2 softlist, minor research) (#13497)
- added controls to maxheart (game is playable, but shuts down into power saving after 15 minutes as if no buttons had been pressed) [David Haywood]
- started researching the banking scheme used by atgame40, while several games are now bootable the others appear to use video modes specific to this Genesis clone SoC so fail to display proper gameplay [David Haywood]

new WORKING machines
------------
Millennium Arcade 3D 15-in-1 [TeamEurope, David Haywood]

new NOT WORKING machines
------------
TV Games Baseball (SH6578 hardware) [Ankos, Kryzsiobal]
Chāo Jí Zhī Shi Dà Fù Wēng (vol. 1) [Ankos, Kryzsiobal]
Chāo Jí Zhī Shi Dà Fù Wēng (vol. 2) [Ankos, Kryzsiobal]
My Arcade Tetris (Slurpee) [Sean Riddle]
My Arcade Tetris (DGUNL-7030, Gamer V, with 220 bonus games) [Sean Riddle]
My Arcade Tetris (DGUNL-7027, Pico Player, with 100+ bonus games) [Sean Riddle]
My Arcade All Star Stadium - Pocket Player (307-in-1) [TeamEurope]
Hippo: et la formidable aventure des lettres (France) [TeamEurope, David Haywood]

new NOT WORKING software list entries
--------------
tvgogo.xml:
Snowboarding (Europe) [TeamEurope, David Haywood]
Paintball (Europe) [TeamEurope, David Haywood]
2025-03-26 22:49:09 -04:00
Vincent-Halver
7555232b0c
CD-i: Fix DYUV off-by-1 (#13511)
The DYUV decoder requires an interpolation between steps. The previous implementation was based on the manual. This interpolation is based on visual comparison to the hardware.
2025-03-26 22:23:19 -04:00
holub
52f1f3ac1c
3rdparty/zlib: Updated to 1.3.1. (#13505) 2025-03-26 21:52:28 -04:00
r09
d1b6221df7
x68k_flop.xml: added/replaced 17 dumps from original disks (#13519)
New working software list additions
-----------------------------------
Domino Soldier Albion [krugman]
Guerriere Lyeward [krugman]
Hanafuda Tengoku [krugman]
Horror of Cridewell (Revised Edition) [krugman]
Hyper UD (v1.00) [krugman]
Jigen no Tabi [krugman]
Kindan no Paradise [krugman]
King's Dungeon [krugman]
Magic Knight [krugman]
Momotarou II Ohimesama ga Ippai (v1.11) [krugman]
Namachuukei 68 [rockleevk]
Rouge - Manatsu no Kuchibeni [krugman]
Sadistic Gamers Part-4 - Rumi no Crime Play [krugman]

Replaced software list items
----------------------------
Baruusa no Fukushuu [krugman]
Jane [krugman]
Nicoll [krugman]
Quintia Road [krugman]
2025-03-26 21:47:26 -04:00
Vas Crabb
128c29c52f cpu/e132xs: More fixes and optimisation:
* Fixed failing to call the debugger instruction hook for the first
  instruction following an interrupt, exception or trap.
* Use UML branches to emulate non-delayed intra-block branches, avoiding
  the expensive "hash jump".
* Re-worked the instruction description code:
  - Calculate static branch targets for more instructions.
  - Flag instructions that may cause mode changes.
  - Don't be so eager to end an instruction sequence.
  - Removed the local register input/output flags - FP may no be the
    same when executing the code as when describing instructions.
* Fixed interpreter incorrectly setting ILC when an interrupt
  immediately follows a RET instruction.
* Fixed recompiler flag calculation regressions, and optimised a little.
2025-03-27 08:07:52 +11:00
hap
08fae4612b winspike: remove outdated comment and MUP flag 2025-03-26 16:57:49 +01:00
Vas Crabb
3b7e214343 cpu/e132xs: Fixed some recompiler cycle counts:
* Fixed double-counting bug in exception dispatch.
* Fixed unsigned comparison of signed values in MUL cycles calculation.
2025-03-26 20:10:55 +11:00
Vas Crabb
81a0a72bda cpu/e132xs: Made debugging Hyperstone E1 software less painful.
* Fixed local register display in debugger (this never worked).
* Made disassembler show local register indices.
2025-03-26 19:11:24 +11:00
Matthew Daniels
d8f21c57f8
scsp: improve handling of MIDI interrupts (#13521) 2025-03-26 08:18:44 +01:00
Vas Crabb
9fd89a456e cpu/e132xs: Call debugger exception hook for TRAP instructions.
Also made cycle counts a bit more consistent between interpreter and
recompiler for exceptions and traps.
2025-03-26 17:58:40 +11:00
AJR
221f40f1b1 i960: Further disassembly fixes
- Enable decoding of a few more reg-type instructions
- Add 0x prefix to unary branch destinations
2025-03-25 21:39:36 -04:00
Vas Crabb
213e1b5857 cpu/e132xs: Moved interrupt check to the beginning of instruction execution.
* Fixes interrupts not being serviced while tracing.
* Further improves recompiler performance.
* Fixes recompiler interrupt check function calling itself recursively.
* Also added debugger exception hook calls to interpreter and recompiler.
2025-03-26 10:06:25 +11:00
angelosa
add2015ce3 machine/i82371sb.cpp: rectify 377e9d6d7d 2025-03-25 18:44:45 +01:00
Vas Crabb
ef974fbdad -cpu/e132xs: Fixes and optimisations:
* Fixed XM (index move) instructions failing to update the destination
  register on range error for interpreter and recompiler.
* Fixed double-word stores when the source indicates SR (both stored
  words are zero) for interpreter and recompiler.
* Fixed recompiler failing to set ILC and P on range error and frame
  error exceptions.
* Optimised recompiled code for word size shifts.
* Pushed more recompiler logic from run-time to code generation time and
  simplified delay slot PC check and trace check logic.
* Use MOV rather than LOAD where possible in recompiler to improve code
  generation performance and symbolic memory locatin names in
  disassembled UML.
* Updated TODO list in header comment, reduced copy/paste some more.

-cpu/drcbex64.cpp: Avoid some more unnecessary register copies for
 ROLAND.
2025-03-26 04:28:09 +11:00
Ivan Vangelista
4b19418739 New systems marked not working
------------------------------
Balance Try (Japan, ver 1.00) [Guru, Hammy]
Love Power [Siftware]
Pai Pai Le 3 [dyq, little0, Guru]
unknown bubble soccer game [Kevin Eshbach]

New clones marked not working
-----------------------------
Chao Ji Da Heng 2 (V311CN, alternate GFX ROMs) [little0]
2025-03-25 18:26:54 +01:00
Roberto Fresca
1126bb6c3d naroutp.cpp driver improvements: [Roberto Fresca, Grull Osgo]
- Added support for dynamic size chars lines.
    That fixes the paytable shown in different games
    such as dphl, dphljp, dphlunkb, sureshoto, smshilo,
    etc, allowing to remove the imperfect graphics flags.
 - norautua: fixed the overflow when drawing cards
    in the possible straight case.
 - Rewrote the screen update to save a big number of lines.
 - Removed the driver init for ssjkrpkr.
 - Added Inputs & DIP switches for gtipoker.
 - Change gtipoker game description to: Aces or Better Draw Poker.
 - Rearrange the gtipoker graphics ROM.
 - Promoted gtipoker set to working.
 - Added technical notes.

Systems promoted to working
---------------------------
Aces or Better Draw Poker (GTI) [Roberto Fresca, Grull Osgo]
2025-03-25 15:24:52 +01:00
Vas Crabb
76c8864115 cpu/e132xs: Optimised recompiled FRAME instruction.
Also added some more constants so there are a few less magic literals.
2025-03-25 09:04:37 +11:00
AJR
bdee79bc42 i960: Fix disassembly of ADD<cc>, SUB<cc> & SEL<cc> for cc = l, ne, le, o 2025-03-24 14:58:13 -04:00
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