Commit Graph

93591 Commits

Author SHA1 Message Date
hap
899e857ef0 segaorun/xbd/ybd: lower perfect quantum a bit 2025-04-10 16:43:50 +02:00
hap
dcca8368e8 z80make: sort prefixes to have consistent generated output 2025-04-10 15:02:43 +02:00
fulivi
defaf6283c
MSX: add Video80 homebrew card (#13568)
* MSX: fixed vy0010 ROM image
2025-04-10 08:10:58 -04:00
hap
b8f93608a7 t6a84: remove unneeded devcb 2025-04-10 13:55:49 +02:00
holub
6e595d751f
z80/z80make.py: Revisited z80 code generator (#13573)
* z80/z80make.py: Revisited z80 code generator
* cpu/z80/t6a84.cpp: isolate device specific callbacks
2025-04-10 13:19:01 +02:00
m1macrophage
e0ea6961f7
sound/dac76.cpp: Emulating multiplying capability. (#13577)
* Added support for reference current (multiplying capability).
* Added support for voltage output.
* Added support for streaming reference current.
* Used those capabilities in oberheim/dmx.cpp and linn/linndrum.cpp.
2025-04-10 11:04:35 +02:00
Lord-Nightmare
6bc01c176c Fix cases where specific segment register settings could cause the i80186/188 peripherals to fail to be properly mapped into memory space. [crazyc, Lord Nightmare] 2025-04-09 17:26:39 -04:00
Vas Crabb
1c8234fb80 cpu/drcbex86.cpp: Fixed flags for 64-bit multiply instructions. 2025-04-10 07:00:50 +10:00
Vas Crabb
f0b88787fb dynax/dynax.cpp: Improved DIP switches for mjelctrn and majxtal7. 2025-04-10 05:50:39 +10:00
Ivan Vangelista
dcd6c81a78 New systems marked not working
------------------------------
Jin Sanse [little0]

New clones marked not working
-----------------------------
Kai Men Hu [little0]
2025-04-09 20:26:28 +02:00
Vas Crabb
67a0fb4af4 cpu/drcbearm64.cpp: Don't clear carry for ROLC/RORC with zero shift count. 2025-04-10 02:24:51 +10:00
Vas Crabb
51c9a3a0b1 Still more recompiler fixes:
* cpu/uml.cpp: Fixed some cases where simplifying multiplication
  instructons incorrectly changed output flags.
* cpu/drcbex64.cpp: Fixed some cases where a ROLC/RORC with zero shift
  count could incorrectly clear the carry flag.
* cpu/drcbex86.cpp: Made 64-bit ROLC/RORC with zero bit count preserve
  the carry flag.
* cpu/drcbec.cpp: Fixed FSMOV/FDMOV turning things that look like
  signalling NaNs into quiet NaNs on i686.
* cpu/drcbex64.cpp: Greatly reduced copy/paste in the code generation
  for multiply instructions.
2025-04-10 01:58:08 +10:00
Vas Crabb
cff4924beb cpu/uml.cpp: Fixed assertion failures when simplification reduces operand count.
* Also added a few more simplifications.
* cpu/drcbearm64.cpp, cpu/drcbex64.cpp: Removed more speical cases for
  things the simplifier deals with.
2025-04-09 22:07:11 +10:00
Brice Onken
3612c23f96
machine/dp83932c.cpp: Advance CRBA on packet RX (#13571) 2025-04-09 07:32:40 -04:00
Vas Crabb
1f871c19ee -A few recompiler adjustments:
* cpu/drcbec.cpp: Don't clear carry flag on a zero-bit rotate through
  carry.
* cpu/drcbex86.cpp: Don't clear carry flag on a word-sized zero-bit
  rotate through carry (64-bit case is more involved).
* cpu/drcbex64.cpp: Removed code for another special case of ROLAND that
  the simplifier deals with.

-konami/ksys573.cpp, bus/pccard/linflash.cpp: Corrected "Gacha Gachamp".
2025-04-09 16:33:50 +10:00
Roberto Fresca
9e61025370 naroutp.cpp driver improvements: [Roberto Fresca, Grull Osgo]
- Added new sets, worked inputs, DIP switches, layouts, lamps,
    and promoted to working: winbnk88, nor6007a, nor6007b,
    ddellf96, ddellf97, ddellf97a, ddellf97b, ddellf97c,
    ddellf97d, ddellf97e.
 - Hopper support for winbank88, nor6007a, and nor6007b.

Systems promoted to working
---------------------------
Winbank Joker Poker [Roberto Fresca, Grull Osgo]
Noraut Poker (6007 32k) [Roberto Fresca, Grull Osgo]
Noraut Poker (6007 64k) [Roberto Fresca, Grull Osgo]
Double Joker Poker Dellfern 1996 [Roberto Fresca, Grull Osgo]
Dellfern V18 (77's, 99's & Suits, 1 Credit) [Roberto Fresca, Grull Osgo]
Dellfern V18 (77's, 99's & Suits, 10 Credit) [Roberto Fresca, Grull Osgo]
Dellfern V18 (Joker Poker, raise bet, 2p/10p) [Roberto Fresca, Grull Osgo]
Dellfern V18 (£6 Jackpot Bank Poker) [Roberto Fresca, Grull Osgo]
Dellfern V18 (Joker Poker / Jack Plus) [Roberto Fresca, Grull Osgo]
Dellfern V18 (Amusement Poker) [Roberto Fresca, Grull Osgo]
2025-04-09 02:39:55 +02:00
m1macrophage
ccb469b9a7
sound/va_eg.cpp: Fixing subtle bugs. (#13570)
* Actually take a voltage snapshot when R or C change. This was being attempted, but didn't work because set_target_v would exit early if the target V was not changing. Made the snapshoting more explicit.
* Consider the EG done based on elapsed time, instead of proximity to target value. Some low volume DMX sounds were affected by this.
2025-04-09 00:36:19 +02:00
hap
1779ca5db6 screen: remove obsolete loadstate workaround 2025-04-08 23:54:48 +02:00
cam900
69b45ce25c
stern/mazerbla.cpp, video/mb_vcu.cpp: Updates/Cleanups: (#13569)
* video/mb_vcu.cpp:
 - Implement device_palette_interface for palette functionality.
 - Use an address space finder to access the host address space.
 - Use logmacro.h helpers for configurable logging.
 - Added a VRAM addressing helper.
 - Suppress side effects for debugger reads.
 - Cleanup 2bpp graphics drawing and screen update function.

* stern/mazerbla.cpp:
 - Reduced run-time tag lookups and preprocessor macros.
 - Reduced duplication and unnecessary trampolines.
 - Updated comments.
2025-04-09 07:37:45 +10:00
cam900
7214b1d748
bandai/wswan.cpp, bandai/wswan_v.cpp, shared/wswansound.cpp, virtual/vgmplay.cpp: Updates/Cleanups: (#13469)
* bandai/wswan.cpp:
 - Remove unused graphics decoding layout.
 - Fixed sound DMA, implemented DMA direction, moved DMA-related code into WonderSwan color state class.
 - Make some variables constant, reformatted code.

* bandai/wswan_v.cpp:
 - Split wonderswan color VDP device class into a separate class.
 - Move palette functionality from system driver into VDP device.
 - Corrected VRAM size.
 - Use bool for Boolean values.
 - Use logmacro.h helpers for configurable logging.
 - Reduced duplicated code.
 - Remove unused variables and code, reduced duplication, reformatted code.

* shared/wswansound.cpp:
 - Implemented Hypervoice.
 - Added mono speaker/stereo headphones selection.
 - Fixed some emulation issues and corrected output rate and volume.
 - Use logmacro.h helpers for configurable logging.

* virtual/vgmplay.cpp: Added Hypervoice support and stereo output for WonderSwan sound.
2025-04-09 07:30:15 +10:00
cam900
be3a4c60dc
-snk/k1ge.cpp: Cleaned up code: (#13478)
* Fixed save state support.
* Use indirect palette for color palette.
* Implemented full screen update function.
* Reduced a lot of duplication.
* Use more appropriate integer types, made some variables const, reformatted code.

-snk/ngp.cpp: Fixed save state support
* Also reduced literal tag usage and removed unnecessary screen update trampoline function.
2025-04-09 07:07:32 +10:00
ClawGrip
460c53ac48
midcoin/wallc.cpp: Use the original 2*2764 ROM program ROM arrangement for brkblast. (#13548) [Jordi Tuells]
Later examples replaced the two ROMs with a single 27128 to reduce costs.
2025-04-09 06:37:47 +10:00
ArcadeShadow
fdb7e6a002
neogeo.xml: Added four working items. (#13517)
New working software list items (neogeo.xml)
--------------------------------------------
Double Dragon One (demo) [OzzyOuzo]
Double Dragon One (prototype 1) [Casa de Ruivo]
Double Dragon One (prototype 2) [Casa de Ruivo]
Xeno Crisis [O'Cara-do-Sei-lá]
2025-04-09 06:35:33 +10:00
cam900
633e196e59
video/ppu2c0x*.cpp: Implemented device_palette_interface and cleaned up code: (#13491)
* Implement device_palette_interface for color palette functionality.
* Added some missing members to save states, and use fixed-size integer types for members that need to be saved.
* Moved many internal functions into protected: and private: sections.
* Use more appropriate integer types, made many local variables const.
2025-04-09 06:33:43 +10:00
shattered
689ed7c59d
ussr/dvk_kcgd.cpp: Corrected CPU type to K1801VP065 and removed serial speed workarounnd for MS7004 keyboard. (#13564)
* machine/ie15_kbd.cpp: Reassigned keys on the IE15 keyboard to match the layout of a VT52 keypad.
* ussr/ms0515.cpp, ussr/dvk_ksm.cpp: Removed keyboard serial speed workaround.
2025-04-09 06:13:23 +10:00
Vas Crabb
08875eebfa emu/diexec.cpp: Deal with the annoyances of the timer state machine 2025-04-09 05:06:47 +10:00
Vas Crabb
98b18d69f7 -emu/schedule.cpp: Restore timers expiring at the same time in the order they were scheduled when loading a saved state.
-emu/diexec.cpp: If a shorter input line pulse overlaps a longer pulse, don't shorten the pulse.

-cpu/e132xs: Added named input line number constants.

-video/sprite.cpp: Got rid of simple_list and fixed_allocator.
2025-04-09 04:22:53 +10:00
Vas Crabb
84a5fe1618 Corrected some Chinese UI translations. [aGuGu] 2025-04-09 02:06:37 +10:00
hap
0826ae066a diexec: change input_line_state getter back to int 2025-04-08 17:50:22 +02:00
angelosa
5a36097f04 nec/pc9801.cpp: add 1.44MB floppy 3-mode support 2025-04-08 16:18:43 +02:00
hap
49261a7dbc rohga: correction to prev commit 2025-04-08 11:19:54 +02:00
Ivan Vangelista
d8613f0d95 New systems marked not working
------------------------------
Bio Rhythm [Siftware]
Janken Man Ganso 2 [buffi]
Jipin Dou Di Zhu (set 1) [little0]
San Da Yi [little0]

New clones marked not working
-----------------------------
Feng Kuang Dou Di Zhu II [little0]
Jipin Dou Di Zhu (set 2)  [little0]

- bmc/koftball.cpp: identified a couple of inputs for jxzh [little0]

- igs/igspoker.cpp: added NVRAM support, split driver in subclasses, small cleanups

- kaneko/airbustr.cpp: added PLD dumps for the original sets [PLD Archive, f205v]
2025-04-08 06:43:10 +02:00
Roberto Fresca
e4d09c2b64 i8085 core: Readded the TODO item about the DSUB H flag verification. 2025-04-08 02:50:16 +02:00
hap
28ec18ab96 diexec: remove duplicate getter 2025-04-08 01:46:36 +02:00
hap
fe7a73df4b jack: remove unneeded irq ack callback 2025-04-08 01:46:36 +02:00
Vas Crabb
cce7b01de9 cpu/powerpc: Fixed issues in POWER div (signed divide) instruction causing GitHub #13329.
This was "working" on x86-64 due to the backend treating shift/rotate
instructions with zero immediate bit count as a no-op even if the source
and destination registaer aren't the same.  Fixing the bug in the
back-end caused it to break the same way on x86-64 as it does on the
other three back-ends that didn't have this bug.
2025-04-08 06:50:34 +10:00
Vas Crabb
63be095e58 -cpu/uml.cpp: Rewrote the UML simplification code.
* Fixed many cases that could cause the upper bits of a register not to
  cleared following a 32-bit operation.
* Added more simplifications.
* Allow many simplifications when flag updates are requested.
* Fixed various bits of unreachable code.
* cpu/drcbearm64.cpp, cpu/drcbex64.cpp: Removed code for special-casing
  some situations the simplifier can now take care of consistently.

-cpu/drcbex64.cpp: Fixed a bug causing some shifts to be treated as a
 no-op when the destination and source are not the same.

-cpu/drcbearm64.cpp, cpu/drcbex64.cpp: Added a special case for
 comparing something to itself.

-cpu/e132xs: Use the CARRY instruction rather than a right shift to set
 up carry in.
2025-04-08 06:42:46 +10:00
hap
113d351625 i8085: remove myself from copyright holders, does not match my criteria 2025-04-07 19:03:27 +02:00
Roberto Fresca
574a30042b i8085 core: Take out from the TODO list the item related to
the undocumented DSUB H flag verification.
2025-04-07 18:24:04 +02:00
angelosa
486479c815 skeleton/cle68k.cpp: notes 2025-04-07 15:36:39 +02:00
hap
35b49fd3f2 i8085: small cleanup 2025-04-07 12:18:39 +02:00
hap
8f2cde3399 rohga: correct allow continue dipswitch [coyonut] 2025-04-07 11:30:40 +02:00
hap
1e40f6e880 i8085: no need for a diagram on how a rotate opcode works 2025-04-07 11:29:52 +02:00
Roberto Fresca
d3b0fd4678 Paracaidista driver and i8085 core improvements: [Roberto Fresca, Grull Osgo]
- Working RAM through PPI 8155 internal RAM and handlers.
 - Extended the PPI 8166 to support the 14bit timer + 2bit control.
 - Hooked the i8257 DMA controller.
 - Demuxed the digital inputs.
 - Adjusted screen visible area.
 - Worked the DMA support to get registers in the correct addressing.
 - Hooked the analogic inputs.
 - Added inputs for two players.
 - Added DIP switches for coinage, difficulty, and lives.
 - Added and demuxed spinner controls.
 - Added NVRAM support.
 - Sound support.
 - Adjusted the spinners parameters to general purpose.
 - Sound level control circuitry.
 - Wired players lamps.
 - Added technical notes.

 - Rewrote the enhanced no documented i8085 RDEL & DSUB
    instructions and their own flags.

Systems promoted to working
---------------------------
Paracaidista [Roberto Fresca, Grull Osgo]
2025-04-07 04:15:34 +02:00
cam900
dccd92dfbe
Fixed a few issues and cleaned up code in Hudson Soft PC Engine component devices: (#13493)
* sound/c6280.cpp: Improved accuracy of volume control and LFO.
* video/huc6260.cpp: Suppress side effects for debugger reads, fixed save state issues.
* video/huc6270.cpp: Suppress side effects for debugger reads.
* Chose better types for member variables, made more local variables const, reformatted code.
2025-04-07 03:40:45 +10:00
cam900
ec582979e7
shared/namco_c355spr.cpp: Update comments and description to reflect the fact that the C355 is used with a 187. (#13518) 2025-04-07 03:21:32 +10:00
cam900
178f205a4a
video/gba_lcd.cpp: Implement device_palette_interface rather than instantiating a separate palette device. (#13481) 2025-04-07 03:15:56 +10:00
hap
e7250f3563 konami.lst: correction to prev commit with shift count 2025-04-06 18:21:00 +02:00
m1macrophage
2c7efb2177
oberheim/dmx.cpp: Corrected HPFs. Converted audio path to voltages. Tidying. (#13562)
* Corrected the calculation of the voice DC-block HPF.
* Audio streams are in voltages.
* Cross-checked component values with parts list, and corrected a couple of them.
* Also updating master volume and pitch adjustments on reset.
2025-04-06 17:41:28 +02:00
Vas Crabb
79db8d2a59 -cpu/e132xs: Use word addressing for I/O.
* There are no byte enable or write strobe signals for I/O, and there's
  only a single operand size, so word addresses make more sense.
* Also changed STBS/STWS to allow any valid signed or unsigned value of
  the applicable size.  This allows vamphalf attract mode to work as
  well as the storage test.

-misc/limenko.cpp: Better input types for spotty.
2025-04-07 00:24:48 +10:00