Commit Graph

4770 Commits

Author SHA1 Message Date
Andrei Holub
0b3f205b52 WIP: all-in-one 2025-06-20 10:29:41 -04:00
Nigel Barnes
1d0e436fd7 bus/bbc/1mhzbus: Added BEEBEX Extender for BBC Micro. 2025-06-19 18:21:47 +01:00
Nigel Barnes
6a0a1af3f9 bus/acorn: Buffered the bus using device_memory_interface.
- Added BLK0 and PB lines to the interface.
- Moved existing devices into anonymous namespaces.

bus/acorn/atom: Added GDOS, GDOS-2015, MDCR, Speech Synthesis Module, EPROM Switch Card, Tube Interface, EF9345 80 Column Card.

bus/acorn/cu: Added High Resolution Graphics, CUBIO w/ Race Controllers, Teletext Video Interface.

bus/acorn/system: Added configuration to use 32K RAM card with the Atom.

acorn/acrnsys.cpp: Devicified the System keyboard with AY-3-4592 encoder.
2025-06-18 23:33:21 +01:00
holub
d438fea99d
sinclair/spec128.cpp: Support multiple kinds of AY devices through a slot (#13808) 2025-06-17 22:08:52 -04:00
Olivier Galibert
f0e6df8048 sound:
move positions to osd interface
  add special-casing for LFE
  add reverb (currently too subtle, need to find out why)

vgm_visualizer: stop going OOB on the bitmap
2025-06-17 00:56:05 +02:00
Nigel Barnes
673b0861f2 video/mr9735.cpp: New MR9735-002 Teletext/Viewdata Video Generator device.
New systems marked not working
------------------------------
STC 3910 Executel [Binary Dinosaurs, Nigel Barnes]
2025-06-16 22:44:34 +01:00
Nigel Barnes
b4e04ba8cf machine/ay34592.cpp: New AY-3-4592 keyboard encoder device. 2025-06-16 22:44:33 +01:00
Pino Toscano
557a45157a
osd: remove redundant checks when setting BASE_TARGETOS/SDLOS_TARGETOS (#13830)
The vast majority of the OSes use BASE_TARGETOS=unix and
SDLOS_TARGETOS=unix, which are set as default values; the few exceptions
(Windows and macOS) already have their own selections.

Hence drop all the empty if statements for other OSes than Windows and
macOS, as actually redundant.
2025-06-15 16:25:22 -04:00
holub
e3efc055b1
bus/spectrum/zxbus.cpp Moved to separate folder (#13809) 2025-06-13 12:56:04 +02:00
m1macrophage
9112f09cb5
roland_tr707.cpp, video/hd61602.cpp: LCD emulation. (#13798)
* Emulated HD61602 device.
* Incorporated it into the 707 driver and layout.
* Corrected tempo potentiometer curve.
* Made dinsync testable.
* Marked systems as supporting save.
* Minor layout cleanup.
2025-06-12 10:21:01 +02:00
arbee
bca9f1b061 nubus/enetlc.cpp: Support for the Apple Ethernet LC Card and Apple Ethernet LC Twisted Pair Card. [R. Belmont, Al Kossow]
nubus/enetnbtp.cpp: Support for	the Apple Ethernet NB Twisted Pair card. [R. Belmont, Al Kossow]

apple/macpwrbkmsc.cpp: Support the dock	slot on	all supported PowerBook	Duos. [R. Belmont]

nubus/pwrbkduo/duodock.cpp: Preliminary	support	for the	PowerBook Duo Dock, including video, SCSI bus, floppy, and NuBus slots. [R. Belmont, Al Kossow]

nubus/pwrbkduo/ethernetudock.cpp: Support for the Newer	Technology Ethernet MicroDock. [R. Belmont, Doug Brown]

nubus/pwrbkduo/floppydock.cpp: Support for the PowerBook Duo Floppy Dock. [R. Belmont]
2025-06-11 21:55:17 -04:00
arbee
8da6d7a8b0 video/ariel.cpp: New device for the Apple "Ariel" RAMDAC used in several lower-end Macs. [R. Belmont]
apple/v8.cpp: Use the Ariel device.

machine/pseudovia.cpp: Improved accuracy, support more interrupt lines, and support the "AIV3" variant used in Duo Docks. [R. Belmont]
2025-06-11 07:38:27 -04:00
Patrick Mackinlay
c8a1636422 rtpc: fix keyboard diagnostic 2025-06-09 17:08:34 +07:00
AJR
c41e9e0754 atarifdc: Convert to slot device 2025-06-08 23:03:25 -04:00
Justin Kerk
92b4640d3c sound: Set SOUND_DISABLE_THREADING for Emscripten target 2025-06-05 17:48:32 -07:00
Michael Zapf
b42f1752ee Add 74LS61x memory mapper circuit. 2025-06-01 23:17:01 +02:00
Vas Crabb
a0412a6387 -sound: Removed DirectSound sound module.
-sound/xaudio2_sound.cpp: Use more fine-grained locking in voice
 callbacks, simplified further simplified buffer queueing.
2025-05-29 16:20:33 +10:00
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