Commit Graph

4745 Commits

Author SHA1 Message Date
Andrei Holub
7e4f6c616b WIP: all-in-one 2025-05-04 14:29:00 -04: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
Michael Zapf
d96222a3f0 tms52xx: Remove legacy spchrom implementation. 2025-02-27 22:58:01 +01:00
goldnchild
e6989d494a
bus/sg1000_exp/sp400.cpp: Added a skeleton device for the SP-400 plotter (#13410) [Fabio Dalla Libera, Golden Child] 2025-02-27 03:29:17 +11:00
goldnchild
72daadc756
bus/centronics: Added a skeleton Epson RX-80 printer device to allow the CPU ROM to be debugged. (#13391) 2025-02-23 02:44:16 +11:00
angelosa
a3bdebb78f pci/zr36057.cpp: preliminary PostOffice interactions, kick off enough glue logic with a ZR36060 so that DC10+ passes board tests 2025-02-22 12:16:59 +01:00
Devin Acker
752c45b42b
casio/wk1800.cpp, sound/gt155.cpp: Added Casio WK-1800/WK-1600 music keyboards. (#12957)
WK-1800 floppy support is not implemented.

New working systems
----------
Casio WK-1800 [Edward d-tech, Devin Acker]

New working clones
----------
Casio WK-1600 [Edward d-tech, Devin Acker]
2025-02-22 08:34:36 +11:00
AJR
0759cce9e7 bus/qbus: Add dump and skeleton device for TDL-12 SCSI Host Adapter [Bitsavers]
* z8536: Respect data direction registers when reading back from Ports A & B
2025-02-21 09:59:31 -05:00
angelosa
733f24e153 pci/zr36057.cpp: add SAA7110A stub 2025-02-17 21:10:19 +01:00
Felipe Corrêa da Silva Sanches
2905f85348
cpu/tlcs900: Added the TMP94C241 variant (used by the Technics SX-KN5000). (#13220)
matsushita/kn5000.cpp: Use TMP94C241 CPU, hooked up I/O to onboard CPU peripherals.
2025-02-18 06:06:48 +11:00