Commit Graph

4753 Commits

Author SHA1 Message Date
Vas Crabb
72de682bbf -sound/wasapi_sound.cpp: Added preliminary WASAPI sound module (not enabled yet).
-sound/xaudio2_sound.cpp: More fixes:
* Fixed a couple more potential deadlocks when handling critical engine errors.
* Better tracking of the default device when devices are reconfigured.
2025-05-25 05:03:57 +10:00
mamehaze
7ba36c5d36
various VT3xx (mostly VT369) work + some other VT refactoring, many sets now boot + games selectable (#13727)
- added a derived 6502 core for the VT3xx Sound CPU (built into the SoC), it has some customized opcodes
- added enough emulation of the Sound CPU to get denv150 to pass initial checks
- added internal SoC ROM to a number of sets that copy the sound program from it, allowing those to pass startup checks too
- added preliminary support for some of the extra VT3xx background video features, note even the way the hardware implements these is ugly, they really are hacked on top of the standard NES modes
- added preliminary support for extra VT3xx sprite modes
- the above also allow various Lexibook sets to show boot screens eg. lxcmcysw, lxcmcyfz, lxcmcydp, lxcmcysp, lxcmcycr, lxcmcypj, lxcmcyba, lxcmcypp
- paired some scrambling/encryption to specific SoC classes, as it's likely these represent slightly customized models, added modes for nubsupmf, red5mam, dgun2593, gcs2mgp, 240in1ar which also now show something
- started looking at the new DMA modes needed by 240in1ar etc.
- denv150 basically now works, but leaving it marked as NOT WORKING until the rest of the sound CPU logic is hooked up
- flagged a few sets as potentially bad dumps
- verified / corrected metadata for a number of sets now that they boot and can be better identified
- identified some cases where there seem to be additional protection devices present, supplying either code or data
- replaced vt1682 ALU in vt3xx emulation with its own implementation as it isn't the same
- added relative offset support (a kind of banking internal to the VT3xx) allowing the majority of games in the multi-game menus to go ingame
- added external banking support to a number of the larger games (anything larger than 32Mbytes has to be externally banked)
- corrected ROM loading for a number of sets
- fixed additional opcodes on sound CPU, and added the remaining peripherals
- misc other VT related tweaks
2025-05-23 15:19:52 -04:00
Vas Crabb
aa1a83e481 sound/xaudio2_sound.cpp: Initial support for new sound system features. 2025-05-23 07:49:09 +10:00
hap
1e8c8d01b7 remove obsolete wave (cassette sound) device 2025-05-21 16:56:27 +02:00
Patrick Mackinlay
02651759af tsvme104: added Tekmis TSVME104 card [Xolod] 2025-05-20 14:34:05 +07:00
Olivier Galibert
4f0ced57de muichiz 2025-05-18 00:34:09 +02:00
Patrick Mackinlay
da468a4f50
build: update vs/msbuild settings to reflect current clangcl (#13633) 2025-05-13 11:38:55 +07:00
Olivier Galibert
c0fa1306b8 sound: Add a compressor. May need some tuning 2025-05-10 14:09:03 +02:00
hap
141c8f1db6 modules.lua: only check for pipewire lib if NO_USE_PIPEWIRE is 0 2025-05-07 14:05:47 +02:00
holub
745e040e16
3rdparty/expat: Updated expat to version 2.7.1. (#13643) 2025-05-03 00:18:06 +10:00
Vas Crabb
b4e1f5f1b5 Only link asmjit if native DRCs are built. 2025-05-01 23:31:40 +10:00
Olivier Galibert
d0f1c15a0f New sound infrastructure.
Should be added soon:
- mute
- speaker/microphone resampling

To be added a little later:
- compression
- reverb

Needs to be added by someone else:
- coreaudio
- direct
- portaudio
- xaudio2
- js
2025-04-27 22:23:20 +02:00
arbee
bf499766fc apple/macii.cpp: Fixed regression where NuBus was stealing the internal video's slot $E space and
allow PDS cards to hijack the internal screen. [R. Belmont]

bus/nubus: Many updates. [R. Belmont]
* All cards: modernized with short types, fewer boilerplate comments, general cleanups,
        and card memory map support.
* Lapis ProColor: fixed "encrypted" 4 and 8 bit-per-pixel modes and added the NuBus and PDS/30
  	versions of the ProColor 8.  Also used the TLC34075/34076 DAC device.
* m2video: use the CRTC registers of the TFB 1.0 chip and the Bt453 DAC device.
* m2hires: use the CRTC registers of the TFB 2.2 chip, merge in the Apple Portrait Card, and
	add the Apple Workstation Card.  All 3 of these were the same card with different ROMs,
	pixel clock crystals, and DAC models (Bt473 or Bt474).
* Sigma Designs LaserView: Now uses the CRTC register values.
* RasterOps ColorBoard/264 NuBus: Much better correctness on the NuBus version, including support
	for the 30 Hz NTSC mode
* RasterOps ColorBoard/264 PDS: Near-total rewrite using the TMS34061 and Bt473 devices.
* SuperMac Spectrum/8 Series III: Use Bt478 DAC device like the real card.
* SuperMac Spectrum PDQ: Documented that the card uses 3 Bt458 DACs.  Not actually hooked up that
  	way yet.
* Moniterm MacViking: Documented that the CRTC is a TTL state machine, there are no registers.
* Micron/XCEED MacroColor/30: Merged with Color 30HR which is 99% the same hardware, and
	added an "internal" version which takes over the SE/30's internal display and allows you to
	show grayscale on the original CRT.
* Micron/XCEED Color HR30: All available video modes are supported now with the MonitorXCEED
  	software.  Also added an "internal" version like the MacroColor/30, decoded the register
	encryption, and used the correct Bt473 and Bt478 devices.
2025-04-26 07:19:39 -04:00
holub
75d9b59cb8
cpu/z80: Corrected name of generated nsc800 source file, removed duplicate sources from build script. (#13622) 2025-04-26 03:16:26 +10:00
angelosa
de28051b3b bus/cbus: preliminary conversion of MSX style DE-9 ports in -26 and -86
* -86 uses only one port not two;
* Remove joystick readback from -118, mounts a DA-15 PC gameport instead;
* Remove pc9801_snd_device glue logic;
2025-04-23 11:30:18 +02:00
Patrick Mackinlay
458d529007 build: fix msvc build 2025-04-23 14:49:14 +07:00
Vas Crabb
670e2062cb osd: Got rid of the gross globals and functions for manipulating them in the network modules. 2025-04-23 04:25:39 +10:00
Vas Crabb
c10ecb0941 Fixed the last GCC class memory access warnings and cleaned up some stuff.
* shared/exidysound.cpp: Use real 8253 PIT device rather than a local
  implementation, fixed class memory access error, cleaned up code to
  use virtual member functions idiomatically.
* cpu/alto2: Fixed class memory access error (was nuking unique
  pointers).
* interton/vc4000_v.cpp: Fixed class memory access error, got rid of
  indirection on bitmap, cleaned up a little.
* Enabled error for GCC class memory access warning to avoid rot.
2025-04-21 05:28:13 +10:00
Vas Crabb
fd2ff42459 3rdparty/portmidi: Disable another warning to help clang on Windows. 2025-04-20 10:20:13 +10:00
Vas Crabb
435f04a4c5 3rdparty/portmidi: Fixes for Linux and clang builds. 2025-04-20 09:12:55 +10:00
Vas Crabb
844af3a173 3rdparty/portmidi: Updated to PortMidi 2.0.4. 2025-04-20 08:16:03 +10:00
Vas Crabb
e3f386c2a9 Made PTR64 a makefile-only thing - it isn't necessary in the code. 2025-04-20 06:10:25 +10:00
arbee
68315a6625 machine/pseudovia.cpp: Moved from mame/apple because some bus devices will need this soon. [R. Belmont] 2025-04-19 14:50:33 -04:00
Vas Crabb
8c28d3ff7e Cleaned up build scripts and compiling documentation:
* Made it a bit easier to cross-compile for x86-64 or i686 on an AArch64
  Windows system.
* Choose the default native recompiler back-end based on predefined
  macros rather than requiring the build scripts to set it.
* Don't require every target without a native recompiler to declare
  this.
* Got rid of the code that was supposed to set -m32 or -m64 when
  building GENie (it didn't work - it tried to use ARCHITECTURE before
  setting it).
* Avoid relying on the unreliable PROCESSOR_ARCHITECTURE environment
  variable.
* Got rid of stuff for versions of Xcode that are definitely no longer
  supported.
* Got rid of workarounds for very old Linux distros.
* Use newer makefile syntax for if/else/if structures, comment some else
  and endif statements for clarity.
2025-04-20 02:36:58 +10:00
Vas Crabb
c2a22eb5e2 3rdparty/bimg: Re-added hack to work around GitHub CI issues.
Attempt to enable SSE features explicitly specified in ARCHOPTS.  It
will still fall back to SSE 2 if you just use -march= to enable later
SSE features.
2025-04-19 04:17:08 +10:00
hap
98736c0972 toolchain.lua: correct typo,
xmen: add todo note about weird mcfg issue
2025-04-18 18:53:20 +02:00
Vas Crabb
5bd60d58c0 -cpu/e132xs: Cleaned up disassembler a bit, disassemble most invalid instructions as D.HU.
-bimg: There should be no need to force SSE2 for 64-bit builds.
2025-04-19 02:28:03 +10:00
Vas Crabb
c5328f94c1 Avoid the need to set MINGW32 or MINGW64 environment variables when using a standard MSYS environment on Windows. 2025-04-19 00:32:18 +10:00
cam900
075fffa097
bus/snes/st018.cpp: Add primary support of ST018 coprocessor (#13553)
* bus/snes/st018.cpp: Add primary support of ST018 coprocessor
moritas2 now boots, but still hangs at in-game.

* bus/snes/st018.cpp: Fix CPU latch accessing
2025-04-13 08:09:29 -04:00
fulivi
defaf6283c
MSX: add Video80 homebrew card (#13568)
* MSX: fixed vy0010 ROM image
2025-04-10 08:10:58 -04: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
3299e78bae
Implemented VA EG (Envelope Generator) and VCA (Voltage Controlled Amplifier) sound devices. (#13545)
* sound/va_eg.cpp, sound/va_vca.cpp: Envelope generator and voltage-controlled amplifier.

Implemented RC-based envelope generator and voltage-controlled amplifier devices.
Replaced custom implementations in paia/fatman, linn/linndrum and oberheim/dmx.

* Fixing comments.

* More comment fixes.

* Adding comments based on feedback.

* Fixed typo.
2025-04-02 10:31:23 +02:00
Vas Crabb
1dca832b37 -cpu/e132xs.cpp: Improved exception emulation:
* Fixed behaviour of exceptions in delay slots, and fixed recompiler not
  updating ILC and P for some exceptions.
* Implemented privilege error exception on setting L in user mode for
  interpreter.

-emu/debug, osd/modules/debugger: Added an option to show
 exceptionpoints in breakpoints windows.
2025-04-01 03:45:36 +11:00
cam900
3fb2594c99
devices/sound/mmc5.cpp: Implement MMC5 sound emulation (#13487)
* Implement MMC5 sound emulation
- Heavily based from devices/sound/nes_apu.cpp, Adjusted to differences compares to NES APU and MMC5.

* bus/nes/mmc5,cpp: Fix save state support, Implement MMC5 sound

* bus/nes/nes_slot.h: Fix save state support
 
* sound/nes_defs.h: Fix save state support
2025-03-30 15:53:31 -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
Mark Garlanger
adcf81c34c
[heathzenith/h8.cpp] Update interrupt handling to not use set_input_line_and_vector (#13492)
* [heathzenith/h8.cpp] Update interrupt handling to not use set_input_line_and_vector

* Fix include guards for moved header file
2025-03-20 15:42:29 +01:00
Vas Crabb
5f6296049b Miscellaneous minor stuff:
* scripts/minimaws: Set option strict for JavaScript code.
* util/mfpresolve.h: Be explicit about turning nullptr into a pointer to
  data.
* cpu/drcbearm64.cpp: Reduced number of temporary registers used for AND
  with some operand combinations.
2025-03-17 05:17:57 +11:00
Vas Crabb
25fa1ff89a -Fixed some -listxml issues:
* frontend/mame/infoxml.cpp: Recursively discover device types when
  filtering output.
* frontend/mame/infoxml.cpp: Don't waste time/memory collecting device
  types when not filtering.
* scripts/target/mame: Sort driver projects and sources within driver
  projects to give more determinisitc output on filesystems that don't
  enumerate in order by filename (e.g. XFS or ext).

-machine/s3c24xx.hxx: Got rid of a layer of indirection on LCD bitmaps.
2025-03-13 16:49:51 +11:00
Patrick Mackinlay
77a89b409e bt450: new ramdac device 2025-03-12 14:23:10 +07:00
Vas Crabb
288839a395 3rdparty/expat: Updated to expat 2.6.4. 2025-03-12 17:23:33 +11:00
AJR
2f4ca0631f scripts/src/cpu.lua: Update comment 2025-03-09 15:46:50 -04:00
AJR
b8de24c775 New machines marked as NOT_WORKING
----------------------------------
MicroVAX I [microvax2.org]
MicroVAX II [microvax2.org]
MicroVAX 3400 [microvax2.org]
MicroVAX 3500 [microvax2.org]
2025-03-09 14:51:01 -04:00
AJR
fb6b48711a Add disassembler for CDC 160(-A) architecture 2025-03-07 19:36:38 -05:00
angelosa
91f7db1c68 scripts/build/check_include_guards.py: bail if no argument specified 2025-03-07 19:12:26 +01:00
Michael Zapf
f769905a02 ti99: Model the Speech Synthesizer as an own unit, with an adapter board for the PEB. 2025-03-06 17:14:34 +01:00
goldnchild
87abee6bd8
bus/centronics/epson_fx80.cpp: Added skeleton devices Epson FX-80 and JX-80 printers. (#13429) 2025-03-07 01:45:24 +11:00
angelosa
b0613ccfab bus/cbus: add MIF-201 MIDI interface stub 2025-03-05 11:32:25 +01:00
Michael Zapf
acf0aeaa4b ti99: Add sidecar cartridge Arcturus. 2025-03-02 22:28:51 +01:00
Michael Zapf
f962ece5fd ti99: Added I/O port Splitter device. 2025-03-02 22:04:29 +01:00