Commit Graph

4326 Commits

Author SHA1 Message Date
AJR
38498868fc roland_s50.cpp: Add floppy format 2023-04-13 22:37:05 -04:00
AJR
c3c625c8f3 Add device emulation of Dallas DS2430A 1-Wire EEPROM
- crazyfgt, lastfght, all games in subsino2.cpp: Hook up DS2430A device, add handcrafted EEPROM data to satisfy serial protection checks and remove ROM patches that forced them to pass
- crazyfgt: Hook up coin counter
- queenbeei, queenbeesa, qbeebing, treamary: Add RTE-to-RTS ROM patches that were missing
- treamary: Change configuration to one that allows booting into title screen rather than getting stuck on initial tests
2023-04-11 21:29:29 -04:00
Justin Kerk
657c19f2a7 Fix single-driver compile for sony/psx.cpp 2023-04-10 18:10:23 +00:00
hap
b0e88ea915 smc1102: add device skeleton 2023-04-07 19:27:41 +02:00
Patrick Mackinlay
7a0f090406 mb89352: retire legacy scsi device 2023-04-05 18:30:07 +07:00
holub
2a1ba144a5
bus/spectrum: Added ZXBUS and NeoGS card. (#11032) 2023-04-05 04:34:27 +10:00
Olivier Galibert
ca6e220dbb tmp68301: Reimplement in the new68k framework. The timers are not yet implemented, couldn't find a driver which cared. Hopefully the regression testing will find some. 2023-04-04 14:43:17 +02:00
Dirk Best
a2e265a539 pegasos2: Initial devices for MV64361 and VT8231
Enough to get data from the initial bootloader to the serial console.
2023-04-03 14:02:03 +02:00
arbee
c708e0ebac 3rdparty: Another attempt to satisfy Windows Clang. [R. Belmont] 2023-04-01 22:27:22 -04:00
arbee
bd3ea17108 3rdparty.lua: Windows Clang needs another warning suppression for PortAudio. [R. Belmont] 2023-04-01 21:07:16 -04:00
AJR
8081f94107 3rdparty.lua: Fix clang build after portaudio update 2023-04-01 19:41:40 -04:00
arbee
645bbe989b PortAudio: sync to upstream GitHub revision 0e9b386a1053261340bc8bb32335484ef77b258b [R. Belmont, PortAudio team]
* Tested and works on Windows, macOS, and Linux.
* Fixes compatibility with macOS Ventura and bugfixes WASAPI and WDM-KS on Windows.
2023-04-01 19:03:31 -04:00
987123879113
ec6b3d2b55
namcos10: Refactored driver, and implemented MEM(M) and MEM(N) boards. (#11053)
* machine/smartmed.cpp, machine/nandflash.cpp: Separated NAND Flash from smartmed.
* sound/spu.cpp: Calculate tables based on clock speed.
* machine/intelfsh.cpp: Added Intel 28F640J5 device.
* namco/namcos10.cpp: Refactored driver, and implemented MEM(M) and MEM(N) boards.
* namco/namcos10.cpp: Fixed parenting of Mr. Driller 2, and renamed Kono e Tako.
2023-04-01 05:39:02 +11:00
Brian Johnson
56281ca463
bus/nabupc: Added support for RS232 Card. (#11047) 2023-03-29 15:49:58 +11:00
Curt Coder
30e34256b1 abc80: Devicify the SN74S263 character generator. [Curt Coder] 2023-03-28 13:26:59 +03:00
Curt Coder
d280b65088 abc80x: Split floppy software lists by disk drive type. [Curt Coder]
abc800_dsk: Split to interleaved and non-interleaved disk formats. [Curt Coder]

New working software list items
-------------------------------
abc838_flop: Systemskiva ABC800 v1.0 (Sweden), Systemskiva för UFD-DOS v6.3 (Sweden) [Curt Coder]
2023-03-26 11:30:36 +03:00
AJR
0cc8539dfa mos8563: Split device source from mc6845 2023-03-25 18:52:27 -04:00
wilbertpol
6c28bd93ba
scripts/minimaws: Fixed last-minute change to zipfile use. (#11028) 2023-03-26 04:47:30 +11:00
Vas Crabb
4cf33cfe0a Various optimisations to code generaton.
util/bitmap.cpp, util/palette.cpp: Marked lots of things constexpr.
Bitmaps don't throw exceptions on allocation failure, they just become
invalid.  Almost nothing in MAME actually checks for this.

emu/profiler.cpp: Abort if the profile stack overflows rather than
throwing an exception.  This is a developer feature and if it overflows,
the code is broken.  Calling a noreturn noexcept function generates less
code than throwing an exception, which adds up.

util/strformat.cpp: Traded away some unnecessary flexibility for more
compact code.  The stream objects must derive from std::basic_ostream
now - they can't just be any old objects with the expected operators.
2023-03-26 01:32:50 +11:00
wilbertpol
fb81cb16bb
minimaws: Let command-line romident identify media inside zip archives. (#11024) 2023-03-26 01:31:09 +11:00
Nigel Barnes
469c2906d9 New systems marked not working
------------------------------
Series 3a [Nigel Barnes, The Last Psion]
Series 3c [Nigel Barnes, The Last Psion]
Series 3mx [Nigel Barnes, The Last Psion]
Siena [Nigel Barnes, The Last Psion]
Workabout [Nigel Barnes, The Last Psion]
Workabout mx [Nigel Barnes, The Last Psion]

New clones marked not working
-----------------------------
Pocket Book II [Nigel Barnes, The Last Psion]
Series 3a (2M) [Nigel Barnes, The Last Psion]
Series 3a (2M) (German) [Nigel Barnes, The Last Psion]
2023-03-25 12:25:50 +00:00
Sven Schnelle
972703281d
bus/ISA: Added HP82321A BASIC Language coprocessor (#10926)
* emu: add defer_access() method, which is useful for keeping the cpu in a loop restarting the current
instruction to emulate waitstates.

* add HP82321A Basic Language Coprocessor
This adds support for the HP82321A Basic language coprocessor, which emulates a HP9816 system with a 68K cpu. See http://www.hpmuseum.net/display_item.php?hw=681 for more details and software to run on this card.
2023-03-24 23:35:18 -04:00
Vas Crabb
5f97af903c
-Lua engine: run everything in coroutines. (#11019)
* This lets you use emu.wait(...) directly without mucking around creating coroutines.
* Allow emu.wait to accept an attotime argument.
* Added a couple more wait helper functions.

-emu/profiler.h: Actually use scope-based profiling helpers.
* This makes the comment at the top of emu/profile.h less dishonest, and makes it easier to write exception-safe code.
* Got rid of some do { ... } while (0) loops that only existed so break could be used like a goto.
2023-03-25 05:53:58 +11:00
AJR
da94203755 Remove unused cd90_640_dsk formats (functionally replaced by thom_dsk)
* apple2video.cpp: Fix permissions
2023-03-23 19:04:15 -04:00
BartmanAbyss
4ff301b134
brother/lw30.cpp: Added driver for Brother LW-30 word processor. (#10996)
New working systems
---------------------
Brother LW-30
2023-03-20 03:54:11 +11:00
wilbertpol
2461397c80
bus/msx: Moved Yamaha module and minicart slots into their own folders. (#10984)
Also defined MSX cartridge slot options in one place.
2023-03-14 06:35:01 +11:00
AJR
6543248641 unidasm: Add Interdata Series 16 disassembler 2023-03-11 09:19:24 -05:00
wilbertpol
c1b0bf352b
bus/msx: Added Yamaha UCN-01 cartridge-to-module slot adapter. (#10972) 2023-03-11 05:33:19 +11:00
Vas Crabb
2eba8b2112 cpu/z180: Added CSIO emulation. [Vas Crabb, Sandro Ronco] 2023-03-11 05:02:50 +11:00
Ivan Vangelista
9006ed9c92
bus/snes/profighter.cpp: Added skeleton devices for "Pro Figher" SNES cartridge copiers. (#10952)
Dumped four SNES copiers (3 Super Pro. Fighter Q variants and a Pro Fighter X). [Darksoft, Apocalypse]
2023-03-10 06:17:46 +11:00
Curt Coder
3b8c1569cf abc1600: Implement Luxor R8 mouse. [Curt Coder] 2023-03-07 12:28:40 +02:00
Vas Crabb
31c0d2a4a8 Reduce warnings that need to be suppressed to build linenoise. 2023-03-07 05:46:28 +11:00
Vas Crabb
8384223ac8 Updated forked linenoise to latest upstream.
This removes the need to force it to build as C++, and adds proper UTF-8
support for Windows.

Since this is a fork of linenoise, there's no hope for getting
lua-linenoise to sync with it upstream.  I made the bare minimum changes
to keep it working, but didn't add bindings for new functionality (e.g.
multi-line editing).
2023-03-07 05:33:37 +11:00
Vas Crabb
dc87571a43 3rdparty: Avoid the need for -fpermissive since clang doesn't like it.
I'll try to get some of this upstreamed.
2023-03-07 04:19:36 +11:00
Vas Crabb
b5475eb38b Various updates, mostly around Lua:
Compile Lua as C++.  When Lua is compiled as C, it uses setjmp/longjmp
for error handling, resulting in failure to unwind intermediate stack
frames.  Trying to ensure no objects with non-trivial destructors are in
scope when raising a Lua error is error-prone.  In particular,
converting an exception to a Lua error becomes convoluted, and raising a
Lua error from a constructor is effectively impossible.

Updated Lua to 5.4.4 - this includes a brand-new garbage collector
implementation with better performance.  The main thing removed is the
deprecated bitlib.

Updated sol2 to version 3.3.0 - this adds support for Lua 5.4 and fixes
a number of issues, including not correctly handling errors when Lua is
built as C++.

Updated LuaFileSystem to version 1.8.0 - this adds support for symbolic
links on Windows, as well as Lua 5.4 compatibility.

Updated LuaSQLite3 to version 0.9.5 - this fixes issues in
multi-threaded environments, as well as Lua 5.4 compatibility.

Fixed double-free after attempting to construct a debugger expression
from Lua with an invalid string, and exposed expression error to Lua in
a better way.

Added warning level print function to Lua.

Fixed saving cheats with shift operators in expressions, although this
code isn't actually used as there's no cheat editor.
2023-03-07 01:39:42 +11:00
Eric Anderson
369ecb2f77
vectorgraphic/vector4.cpp: Added Vector 4 driver. (#10710)
* bus/s100: Added Vector Dual-Mode Disk Controller (only floppy supported for now).
* formats/vgi_dsk.cpp: Addec Micropolis VGI floppy disk image format.
2023-02-27 19:47:55 +11:00
Vas Crabb
383ab43dbc Various cleanups:
* cpu/dsp56156: Removed vestigial (and excessively slow) "new" execution code.
* apple/bandit.cpp: Got rid of unnecessary friend declaration.
* nintendo/n64_v.cpp: More const.
* Fixed a few "const qualifier has no effect" warnings.
2023-02-27 06:11:37 +11:00
Miodrag Milanović
bd59a0d447
Removed local copy of SDL source and update Android build support. (#10899)
* Removed SDL2 source.
* Updated gradle.
* Updated SDL2 Java support glue code.
* Increased minimum supported Android API version to 24.
* Updated required asset files for Android app.
* Added proper tag for Android logging.
* Added SDL2 hint to make BGFX work on Android.
2023-02-27 05:40:37 +11:00
AJR
793367ff91 Retire legacy NCR 539X emulation 2023-02-25 20:02:17 -05:00
Dirk Best
281957363e
machine/pccard.cpp, machine/pccard_sram.cpp: Added support for PCMCIA linear SRAM cards. (#10886)
* Added callbacks for card detect, battery voltage and write protect to the PCCard interface.
* Added helpers to read/write data swapped (similar to the existing support in the ATA device).
* Add support for 2 MB and 4 MB SRAM PCMCIA models from Centennial with built-in EEPROM storage for CIS information.
* machine/linflash.cpp: Updated the linear Flash PCMCIA card emulation to use the new card detection support.
* machine/gayle.cpp: Rewrote the Amiga Gayle emulation, adding support for PCMCIA.
* Fixed an issue with Amiga interrupts arriving at the wrong time.
2023-02-26 05:33:56 +11:00
AJR
df80004c3c Add dump and skeleton device for Schneider NLQ 401 Printer [unknown]
* tms1024.cpp: Add optional logging messages
2023-02-25 10:41:37 -05:00
wilbertpol
14d00bf2f7
bus/msx/cart/slotexpander.cpp: Add support for four-slot expander cartridges. (#10890)
* bus/msx/cart/softcard.cpp: Fixed typo in 'Electric Software'.
* bus/msx/slot/ram_mm.h: Renamed m_ramio_set_bits to m_unused bits.
* Don't allow external memory mapper register readback to avoid conflicts with internal memory mappers.
2023-02-23 04:18:47 +11:00
Olivier Galibert
e76e82c9e4 scc68070: Revert to use musashi for now, it's very much not a traditional 68000. 2023-02-22 11:29:51 +01:00
Olivier Galibert
0b6732cf91 emumem: First try at wait states 2023-02-22 11:29:48 +01:00
Olivier Galibert
74971c2f53 m68000: New implementation, generated from the micro/nanocode 2023-02-22 11:29:45 +01:00
Vas Crabb
63ea393695 3rdpary/bimg: Just disable SSE on all 32-bit builds to be safe. 2023-02-20 03:08:50 +11:00
Vas Crabb
46c0de4f55 3rdparty/bimg: Try to keep all the builds working. 2023-02-19 04:37:35 +11:00
Vas Crabb
cca40d6ea1 3rdparty/bimg: Disable SSE on 32-bit x86 - it assumes x86-64 integer ALU is available when using SSE. 2023-02-19 04:20:48 +11:00
Vas Crabb
19a3f5dea2 srcclean and bump copyright date on language files to 2023 2023-02-19 03:28:47 +11:00
Vas Crabb
d4589e0b29 Input refactoring:
osd/modules/input, emu/inpttype.cpp: Made most default joystick
assignments supplied by input modules.  Input modules take available
controls into consideration when generating default assignments.

emu/inpttype.ipp: Added a separate "Back" UI input separate from Cancel.
You may want an easier to hit combination for moving to the previous
menu than for exiting or cancelling input.  They both default to Escape.

emu/inpttype.ipp: Added a UI Help control.  Currently only used by
analog inputs menu

emu/inpttype.h: Moved I/O port field type enum to its own header and
sorted UI controls so they appear in a more logical order.

ui: Don't use UI Select to restore defaults - people should be getting
used to the UI Clear input by now.  UI Select cycles multi-value items
instead.

ui/inputmap.cpp: Don't use immediate cancel to cycle between clearing
and restoring default assignment (use UI Clear instead).

osd: Reduced the number of files needing to include the dreaded emu.h.
Got some implementation out of headers.
2023-02-18 06:18:45 +11:00