summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/src
Commit message (Collapse)AuthorAgeFilesLines
* srcclean and manual cleanup Vas Crabb3 days1-1/+1
|
* ti99: Add sidecar Thermal Printer PHP1900 Michael Zapf7 days1-0/+2
|
* add sound to bftetris (#15342) mamehaze7 days1-0/+2
| | | - added CHA/CHB (tied to timers g/h) for DAC sound output on GPL951xx, which is used by bftetris
* Current Plug & Play / Handhelds PR / GPL951xx milestone (9 new sets, 3 ↵ mamehaze9 days1-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | softlist entries) (#15334) - continued work on GPL951xx and GPL162xx further documenting registers / differences - created stub device for GPL951xx RTC allowing some sets to boot a bit further - added LCDC to GPL951xx based games (all of them have one) and allow bftetris to render graphics as it programs it directly - added 'timebase' timers to GPL951xx and GPL162xx emulation, which was also required by bftetris and others. Discovered that bornkidh and beijuehh have a protection function in the timebase interrupt that needs studying (disabled it in those cases for now) - added 'scheduler' interrupt to GPL162xx instead of unknown timer hack, used by smartfp - moved some code out into devices - split GPL951xx and GPL162xx implementations as despite similarities there are many differences and sharing a base doesn't make much sense - removed some hacks (dressmtv doesn't boot to title anymore, but that will be addressed later) - moved a few files around (GPL951xx has no TV out, so moved those out of tvgames) New working systems ------------------- TV Joy Pro 15-in-1 (2500) [Team Europe, David Haywood] TV Joy Pro 30-in-1 (2501) [Team Europe, David Haywood] New clones marked not working ----------------------------- Punirunes (HXR-1 PCB) [Team Europe] New systems marked not working ------------------------------ Popstar Karaoke [Team Europe, David Haywood] Wild King (Japan) [Team Europe, David Haywood] Jewel Pad (Japan) [Team Europe, David Haywood] Kimi mo Pokemon Hakase! Rotom Pad (Japan) [Team Europe] Popstarz Karaoke (GK8000) [Team Europe] Mini Arcade Machine 240-in-1 (translucent case) [Team Europe, David Haywood] New software list items marked not working ------------------------------------------ popstar_cart.xml: Popstar Karaoke - 5 Songs [Team Europe, David Haywood] Popstar Karaoke Vol. 1 [Team Europe, David Haywood] Popstar Karaoke Vol. 2 [Team Europe, David Haywood]
* pixtermu: Make the system boot and LCD/touchscreen work (#15220) myrtle2026-05-081-0/+12
| | | | | | * pixtermu: Split up the APB peripherals * pixtermu: Implement the LH79524 timer * pixtermu: Implement dummy SSP * pixtermu: Make it boot and LCD/TS work
* nubus/laserview.cpp: Folded the SE/30 PDS version of the card in and ↵ arbee2026-05-021-2/+0
| | | | improved the overall emulation. [R. Belmont]
* saitek_osa: added brute force module [hap, Berger, Mr. Lars] hap2026-05-021-0/+2
|
* 3rdparty: Retired softfloat2. (#15270) Patrick Mackinlay2026-04-282-41/+1
| | | cpu/i386, machine/i8087.cpp: Migrated to SoftFloat 3.
* mb87077: actually add mb87077 type hap2026-04-261-2/+2
|
* source org: move k054321 and mb87078 from machine to sound folder (renamed ↵ hap2026-04-262-23/+22
| | | | latter to mb87077)
* Refactor 28-series EEPROM code (#15237) Christian Brunschen2026-04-251-13/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | * Refactor 28-series EEPROM code Refactor 28-series EEPROM code: - Separate out a generic `eeprom28_device` template - Create Xicor x28 instantiations with appropriate template parameters. Add functionality to the `eeprom28_device` template to implement Atmel-style - Identification Page - Hardware Chip Erase - Software Chip Erase Add a templated `eeprom28_nvram_device` subclass that adds an `device_nvram_interface` implementation. Add `at28.{h,cpp}` specializations implementing known Atmel AT28 devices. Both X28 and AT28 devices are made available both with and without nvram support. This also replaces the existing `at28c64b` implementation. This has two current users in the codebase, both of which are Apple II cards. I have very little experience with that, sadly. But with many thanks to @rb6502 I was able to test this in the `booti` device, which helped me identify and fix something I had missed in the ee28 implementation: while the EEPROM is buffering data, reads from the page being buffered will be sourced from the buffer, so will include whatever is currently being buffered. I've gathered more detailed results of testing and am happy to share those on request. I'm using C++20 concepts to elide some member functions from the templates; and macros to simplify declaring device classes and types both with and without NVRAM. All of this works, and adds what I think is quite complete support for a number of similar real-world devices in a way that I hope is reasonable documented and maintainable. I've tried to keep this in line with MAME's guidelines and coding standards and what I've observed as existing practices, but I'm sure there are things I've missed or got wrong. So any feedback or guidance would be greatly appreciated. * ee28.* -> eeprom28.* improve logging macros
* identified bl_handhelds_lcdc_device as st7735 and moved to devices/video ↵ mamehaze2026-04-221-0/+12
| | | | | | | | (#15248) * identified bl_handhelds_lcdc_device as st7735 * renamed implementation and moved to devices/video/st7735.cpp / .h * fleshed out some logging to verify behavior so that it's easier to identify * fixed an out of bounds access on the video update, which now respects cliprect
* generalplus gpce4 refactoring (#15246) mamehaze2026-04-211-0/+3
| | | | | | | | * moved GeneralPlus GPCE4 series SoC emulation from driver file into a device [David Haywood] * begin to flesh out GPCE4 emulation a little more [David Haywood] * move mapacman away from make-believe hookups to something a little more grounded in reality now that the chip has been identified [David Haywood] * added internal ROM for digicolr set, replace with clean dump [Harold Seo] * removed local implementation of LCDC previously used by mapacman and replaced it with the bl_handhelds_lcdc.cpp device, which looks like it's actually a ST7735SV (which is what these use) [David Haywood] * mapacman display is now more stable [David Haywood]
* luxor/abc1600: Added ABC 1656 bus expander. [Curt Coder] Curt Coder2026-04-201-2/+4
|
* grandmas/emirage: move chessboard to a device hap2026-04-121-0/+12
|
* HP98x6: 98259 bubble memory module added (#15202) fulivi2026-04-102-0/+14
| | | | * i7110_7220: Re-implemented Intel bubble memory subsystem * hp98x6: HP98259 bubble memory module added
* 3rdparty/asmjit: Sync with upstream version 1.21. (#15205) Patrick Mackinlay2026-04-092-168/+172
| | | From asmjit/asmjit@0bd5787b54b575ed94bf32ac452153b34385c514
* build: retire superseded Intel C++ Compiler target Patrick Mackinlay2026-04-081-56/+0
|
* sound/cem3340.cpp: Implemented preliminary CEM3340 and incorporated it as ↵ m1macrophage2026-04-071-0/+12
| | | | | | | | an LFO on the prophet5. (#15153) * sound/cem3340.cpp: Initial implementation of CEM3340. sequential/prophet5.cpp: Incorporated CEM3340 LFO. Corrected mod wheel range. * src/sound.lua: added cem3340.
* osd: target Windows 10 API Patrick Mackinlay2026-04-072-24/+2
| | | | * remove MODERN_WIN_API flag
* 3rdparty/expat: Don't generate errors for format warnings with GCC/ucrt. Vas Crabb2026-04-071-0/+6
|
* Cleaned up unsupportable legacy stuff: Vas Crabb2026-04-063-53/+1
| | | | | | | | | | | | | | | | | | | | cpu/drcbex86.cpp: Removed i686 recompiler back-end. Without a practical way to make Windows i686 builds, it's just going to rot. Also, x86-64 is now older than Pac-Man was when MAME was initially created. It's dead on the desktop tools: Removed aueffectutil - it's no longer useful. emu/video/rgbutil.cpp: Removed Altivec/VMX bilinear filtering implementation. PowerPC on desktop is dead. file/posixptty.cpp, sdl, sdl3, scripts: Removed support for SysV operating systems. They’re dead on the desktop. scripts: Removed outdated Lua compatibility macros. They weren't doing anything sice we updated to Lua 5.4 (the compatibility options changed, but we just left the old macros in place, which no longer had any effect).
* Remove leftover end from Lua script. Vas Crabb2026-04-051-1/+0
|
* Move build system adjusttment and fixes: Vas Crabb2026-04-054-42/+26
| | | | | | | | | * Bumped minimum clang version to 13 - clang 12 is just too buggy. * Assume Qt 6 will be used, dropped Qt 5 support. * Fixed finding Qt headers on Fedora and hopefully other distros. * Always use static SDL2 on Windows. * debugger/qt/debuggerview.cpp: Fixed build with Qt < 6.6. * imgtool/modules/vzdos.cpp: Fixed build with Linux GCC 11.
* Fixed Qt debugger build on Windows with clang. Vas Crabb2026-04-041-0/+5
| | | | | | Qt provides inline definitions of dllimport functions, which causes a warning. There are too many of them to practically leave the warning enabled for this module.
* ui/submenu.cpp: Fixed potential crash in Video Options menu on Windows. Vas Crabb2026-04-041-6/+0
|
* Fix up more stuff for upgraded tools, etc. Vas Crabb2026-04-043-4/+29
| | | | | | | | | | | docs: It's no longer possible to get a working Qt 5 setup with MSYS2, and there's no 32-bit Qt 6 package. Updated docs to reflect this. Use Qt 6 on Windows, use qmake to find moc. Fixed linking on Windows with static SDL3. input/input_dinput.cpp: Support SDL3.
* Various cleanups: Vas Crabb2026-04-041-6/+0
| | | | | | | | | | * emu/device.cpp: Take std::string_view tag in constructor. * emu/save.cpp: Cleaned up interface for reporting error messages. * docs: Cleaned up stuff that's no longer relevant. * machine/s3c44b0.cpp: Overhauled logging. * osd/modules/lib/osdobj_common.cpp: Removed CoreAudio options that no longer do anything. * Cleaned up some more stuff to prepare for 64-bit offs_t.
* scripts/src/tools.lua: Fix errors linking romcmp on newer Linux AJR2026-04-011-0/+1
|
* scripts/src/tools.lua: Fix errors linking jedutil on newer Linux AJR2026-04-011-0/+3
|
* bus/pci: add 3 new sound card stubs: angelosa2026-04-011-0/+6
| | | | | | * C-Media CMI8738/C3DX * Cirrus Logic Crystal CS4281 "SoundFusion" * Yamaha YMF740C DS-1L
* epson/qx10.cpp: implement semidisk battery backed ramdisk card (#15069) Brian Johnson2026-03-311-0/+2
|
* vfxcart.cpp: add a timer to complete the write cycle. (#15155) Christian Brunschen2026-03-301-0/+13
| | | | | | | | | -vfx: [CBrunschen] * Added a timer to complete the write cycle. * X27C256 -> X28C256 * Added a generic implementation for Xicor X28 series EEPROMs, and use it in vfxcart. * Added license and copyright holder comments. * Improved some indentation, braces, and comments. * Improved comments documenting the different devices.
* bus/centronics: Add NEC PC-6022 plotter [Devin Acker] (#15162) Devin Acker2026-03-281-0/+2
|
* pc/pcipc_via.cpp: kickoff an Apollo Pro + 596 chipset angelosa2026-03-231-1/+12
| | | | | | | | | * base implementation of a Winbond W83877TF Super I/O * taito/taitowlf.cpp: hookup Super I/O New systems marked not working ------------------------------ Gigabyte GA-6VX [The Retro Web]
* bus/centronics: initial Neo Mania Adapter JAMMA board angelosa2026-03-201-0/+2
|
* bus/isa: add the original Microsoft Sound System card angelosa2026-03-191-0/+2
|
* bus/pc98_cbus: add PC-FXGA placeholder angelosa2026-03-181-0/+2
|
* tmp94c241: Add serial port sub-device with I/O interface mode (#15015) Felipe Corrêa da Silva Sanches2026-03-171-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * tmp94c241: Add serial port sub-device with I/O interface mode Replace the inline serial stubs (which just instantly set TX-complete) with a proper sub-device implementation supporting: - I/O interface mode (mode 0): Synchronous clocked serial using SCLK pin. Supports both internal (baud rate generator) and external (IOC=1) clock sources. TX double buffering with auto-load from buffer to shift register. Pre-outputs bit 0 on TXD before first clock edge so receiver can sample it on the rising edge. - Baud rate generator: Configurable via BRxCR register with divisor and clock source selection. Timer drives SCLK at the configured rate. Clock frequency derived from CPU clock. - TX/RX data callbacks: txd(), rxd(), sclk_out(), sclk_in() for connecting external devices to the serial ports. - tx_start callback: Signals the start of each byte transmission with the current PFFC pin function state, allowing connected devices to distinguish real transmissions from phantom ones. The serial registers (SC0BUF/SC1BUF, SC0CR/SC1CR, SC0MOD/SC1MOD, BR0CR/BR1CR) are now delegated to the sub-devices in the internal memory map. TX-complete flags (INTES0/INTES1 bit 7) are set at device_reset to indicate empty TX buffers at power-on. UART modes (7/8/9-bit) are recognized but not yet implemented. Also moves interrupt register indices from a file-scope enum to public static constexpr members of tmp94c241_device. * tmp94c241: move irq vector map to static const class member Per galibert's review suggestion: defining the IRQ vector table as a static const member of tmp94c241_device and providing the out-of-class definition in class scope allows the INTE* constants to be referenced without tmp94c241_device:: qualifiers in the initializer. The nested struct is named irq_vector_entry. NUM_MASKABLE_IRQS is replaced by std::size(irq_vector_map) directly at each use site inside member functions. * tmp94c241: use enum for public interrupt index constants * tmp94c241: use required_device for serial sub-device parent access Replace dynamic_cast with required_device<tmp94c241_device> using DEVICE_SELF_OWNER to access the parent CPU from the serial sub-device. This provides automatic type checking during MAME's -valid pass. Break the circular header dependency by replacing the #include of tmp94c241_serial.h in tmp94c241.h with a forward declaration, and having tmp94c241_serial.h include tmp94c241.h instead. The .cpp files include what they need directly. Addresses review feedback from galibert on PR #15015.
* intel/i420ex.cpp: initial Aries chipset check-in (#15110) Angelo Salese2026-03-172-0/+18
| | | | * Initial check-in of CL-GD5434 "Alpine" based PCI cards; * Initial check-in of Intel 82091AA AIP Super I/O;
* build: autodetect Homebrew SDL3 on macOS (#15108) Mats Engstrom2026-03-161-2/+30
|
* video/x1_020_dx_101.cpp: Refactored Allumer X1-020/NEC DX-101 as a device. ↵ cam9002026-03-141-0/+12
| | | | | | | | (#15093) * video/x1_020_dx_101.cpp (former seta/seta2_v.cpp): Minor optimisation, reduced duplication, expanded notes. * namco/funcube.cpp, namco/funcube_touchscreen.cpp: Moved Funcube hardware emulation out of seta/seta2.cpp. * namco/namcoeva.cpp: Moved to the namco project from the seta project, removed dependency on seta/seta2.cpp. * seta/seta2.cpp: Consolidated into a single file, reduced literal tags, and cleaned up code, updated notes.
* video/ky3211_ky10510.cpp: Made TAXAN KY-3211 and KY-10510 into separate ↵ cam9002026-03-111-0/+12
| | | | | | | | | | | | | devices. (#15010) * sigma/sammymdl.cpp: Separated Sammy medal games from Sigma B-98 games in sigma/sigmab98.cpp. * sigma/sigmab98.cpp: Cleaned up code. * Use multibyte helpers for 16-bit parameters, use BIT helper to extract bits. * Reduced duplication, improved names. * Use abbreviated integer type names consistently. * Updated notes. -sigma/sigmab98.cpp: Marked dodghero as MACHINE_IMPERFECT_TIMING. * Its title screen runs faster than should, which causes desyncing title call.
* bus/a2bus: Add emulation of Micromint Sweet Talker Phonetic Speech ↵ AJR2026-03-081-0/+2
| | | | Synthesizer Interface
* Add support for cassette images in AIFF format [AJR] AJR2026-03-081-0/+2
|
* cpu/sh: Add cv1k SH7709S cache handling behavior for slowdown emulation (#15054) Jesus Ramos2026-03-071-0/+2
| | | | | | | | | | | | | * Add cv1k SH7709S cache handling behavior for slowdown emulation - Handles some basic caching for the sh7709s used for cv1k titles so that they run at more appropriate speeds * sh7709s.cpp: Fix up a couple of timing handling bugs - Use the writeback flag instead of write flag as the access to external memory is what matters for those - Fix up the writeback buffer timing, we don't need to precharge twice for writes. Also rolled up the command costs the SDRAM region handling so the writes only need to add trwl to the penalty - Check for burst mode availability when determining the base cycle cost, only burst ROM and sdram can use burst access to each other area requires 4 separate accesses * sh7709s.cpp: Add some comments explaining missing/unimplemented features - Add the non-burst timing table for WCR2 - Updates and adds a couple of extra comments related to the penalties/timing
* bus/a2bus: Add emulation of Apple II Serial Interface Card [AJR, Apple II ↵ AJR2026-03-071-0/+2
| | | | Documentation Project]
* bus/pci/trident_4dwavedx.cpp: initial hookup of an AC'97 STAC9704 device angelosa2026-03-051-0/+12
|
* More stuff mostly related to recompiling CPUs: Vas Crabb2026-03-061-2/+2
| | | | | | | | | | | | | | | | cpu/drcbearm64.cpp: Don't set the rounding mode on SETFMOD if it hasn't changed. cpu/e132xs.cpp: Skip more unnecessary flag calculations, use pre-calculated PC for updating G0 in memory when possible, better analysis of pre-calculated PC values when delay slots are involved. cpu/sh: Cleaned up register dependency analysis logging, fixed an instruction analysis bug. cpu/sharc: Disassemble unimplemented instructions executed in recompiled code, include tag in more fatal errors, use throw syntax to make it cleared it's an early out.
* apricot: Add support for plain sector format disk images Dirk Best2026-03-051-0/+12
|