summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine
Commit message (Collapse)AuthorAgeFilesLines
* gpl951xx - more aggressive template use (#15352) mamehaze4 days14-465/+777
| | | | | | | | | - generalplus_gpl951xx_soc - use templates for timebase and timers, add more timers [David Haywood] - generalplus_gpl951xx_soc - basic 'manual' ADC mode support [David Haywood] - generalplus_gpl951xx_soc - provide address when required in autocmd mode for spifc, to prevent wrong addresses being written [David Haywood] - generalplus_gpl951xx_soc - add stub logging more registers [David Haywood] - gpl_renderer - port improved linemap code from spg_renderer so that other BPPs can be handled [David Haywood] - generalplus_gpl951xx_rtc - allow setting / reading of timer registers [David Haywood] - generalplus_gpl951xx.cpp - various cleanups driver-side, including template use [David Haywood]
* srcclean and manual cleanup Vas Crabb4 days9-33/+33
|
* steppers: Integrate the draw functionality and the outputs in the class Olivier Galibert5 days2-0/+29
|
* taito/lsasquad.cpp: Added FIXME comments to obviously dubious code. Vas Crabb6 days1-1/+2
|
* New systems marked not working Nigel Barnes7 days2-17/+191
| | | | | | | | ------------------------------ netBook [Nigel Barnes, Bs()Dd] Series 7 [Nigel Barnes] machine/sa1110.cpp: Added LCD controller.
* ces/cesclass.cpp: default NVRAM is 1-filled angelosa7 days1-9/+13
|
* am79(c)90: Add clocks for all users AJR7 days2-3/+5
|
* psion/psion3a.cpp: Moved CODEC device to separate file, and added microphone ↵ Nigel Barnes8 days2-87/+47
| | | | | | input (not working). machine/psion_asic9.cpp: Added port CD handlers.
* add sound to bftetris (#15342) mamehaze8 days7-129/+798
| | | - added CHA/CHB (tied to timers g/h) for DAC sound output on GPL951xx, which is used by bftetris
* generalplus_gpl951xx_soc: no need for m_portnames hap9 days2-24/+20
|
* Current Plug & Play / Handhelds PR / GPL951xx milestone (9 new sets, 3 ↵ mamehaze10 days12-618/+2279
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]
* iwm: fix debugger side-effects (#15329) arekkusu4211 days2-13/+19
| | | | | * propagate eac5b0f from swim1 * also remove dead code leftover from 623e248 * fixes #15315, laser128
* pixtermu: Make the system boot and LCD/touchscreen work (#15220) myrtle2026-05-082-0/+217
| | | | | | * pixtermu: Split up the APB peripherals * pixtermu: Implement the LH79524 timer * pixtermu: Implement dummy SSP * pixtermu: Make it boot and LCD/TS work
* GPL951xx milestone (begin splitting from GPL162xx, hack removal in driver, ↵ mamehaze2026-05-0611-988/+1765
| | | | | | | | | | cleanup) (#15309) - began splitting GPL951xx state from GPL162xx state - improved function naming / logging in GPL162xx / GPL951xx - rough/preliminary implementation of some GPL951xx features - removed start-up code bypass hack for bfpacman, bfdigdug, bfspyhnt etc. as they can now properly identify the SPI ROM - a few comment updates in GPCE4 - used u8 / u16 / u32 in touched files rather than the uintxx_t form + other general cleanups
* philips/p2000t.cpp: initial Cassette SW list (#15307) Angelo Salese2026-05-061-0/+1
| | | | | | | | | | | philips/p2000t.cpp: fix machine_config duplication New working software list items ------------------------------- p2000_cass: 4 x 4, Alggrot, Androiden Nim, Azuda, BABA, Beursspel, P2000 Bingo, Black Jack, Bommenwerpers, Boter-Kaas-En-Eieren, Brick-Wall, Bugs From Space, Canyon Killers, Cave In, Centenkwestie, Chess, Chuckie Egg, Cijferdans, Code Kraker, Computer Jackpot, Dam-Puzzel, De schat van de Inca's, Doolhof, Doolhofspel, Draaikubus, Drakendoolhof, Een-en-twintigen, Eendenjacht, Elevatie, Elevator Humpie / Liftjongen, Eliza & Killer Cars, Explosie, Fantuper, Flight Simulator, Fraxxon: Space Fight II (2 sets), Ganzenbord, De Gebochelde / The Humpbacked Man, Geheugentest, Go Bang, Go spel, Grotvliegers, Haasje-over, Handicap Race, Hexapawn, Hussel, Jackpot Rowa, Jacht op de Schat, Kanonnen, Klei-duiven Schieten, Klemvast, Klibberdrath Castle, Klimop, Kogel-lawine, Koh-i-noor, Korenvliet, Kralen & Schalen, Ladders en Adders, Lazy Bug / Lady Bug, LetterReactieTest, Lucifers, Macho Man, Marco Polo Jr, Mens erger je niet, Monkey Kong, Multipede, Oliedruppels, Oregon Trail, Othello-1 / Sluit-In, Overleven, Pacific, Pacman, Pak de muis, Patience, Peleton verkenning, Pirate's adventure / Piraten avontuur, Qubic, Quest, Racen (3 sets), Wegversmalling, Racetrack, Rijsimulator, Risk, Ruimte-mug, Schateiland, Schatzoeken, Skien, The Snakeygame, Snelletterland, Snorkel, Space Attack, Space Fight, Space-Mission, Spider, Splitsen, Squadrotronie / Ufo's, StarTrek, Stock Car Race, Superbrein, Superlazer, Surround, Swoppers Drag Racing, TankBattle, Tankslag, Target, Tempo Typen, Tennis, Tetris, Triffids in LA, Trucker, U Hangt, Utopia, Valbal, Vier op een rij, Wurm, Zee-slag (shoot'em up), Zeeslag (tabletop, 2 sets), Zipp de rups [P2000T Software Preservation] New software list items marked not working ------------------------------------------ p2000_cass: Alice's Wonderland, Battlestar, Car Race, Casino Hendriks, Ghosthunt, Jackpot: Fruitautomaat, Letterbord, Letterdans, Life, Maanlander, Maanlander 2, Memory, Puzzelen , Race Circuit, Red de muis!, Schieten, Snake, Speelpaleis, Star-kwak, Toernooi, P2000 Vliegroutine, War in Space, Woord-spel, Yahtzee [P2000T Software Preservation]
* machine/am9517a.cpp: Implemented V5x DMAU soft reset. [R. Belmont] arbee2026-05-052-5/+16
| | | | - Fixes mpc2000xl reading SCSI CD-ROMs
* cinematronics/leland.cpp: Better default trackball sensitivity. Vas Crabb2026-05-051-10/+9
| | | | | | | New working clones ------------------ Ketsui: Kizuna Jigoku Tachi (IKD 2007 Special - 2007 Cave Matsuri Version) [anonymous]
* New working systems hap2026-05-041-3/+2
| | | | | ------------------- Mephisto MM VI [hap, Berger, Mr. Lars]
* machine/mb87030.cpp: Several bugfixes and a massive speedup [R. Belmont] arbee2026-05-031-11/+34
| | | | | | | | | | | | | | | | | | - DREQ was not always dropping at the end of a SCSI transaction. This was causing data to get blasted to DMA before the chip was set up in some cases. - The transfer counter could underflow when SCMD_TERM_MODE was in use. - SCMD_RST_OUT wasn't actually resetting anything. - Several delays were checked against the datasheet and found to be off by an order of magnitude. This was making SCSI-1 perform like floppy disks. - mpc2000xl and mpc3000 now have fully working SCSI. Both machines can format a disk, save and load data, and read CD-ROMs error-free. Previously they were struggling to even select a SCSI target, let alone send commands. - Additional testing: partitioned and formatted a hard disk on x68000 and I was able to load and run utilities from HDD on fz20m. This is your periodic reminder to make it easier for others to help you by providing software list images for computers/synths/samplers you write drivers for. And write setup instructions on wiki.mamedev.org.
* ui/ui.cpp: Fixed variable name auto-complete gone wrong. Vas Crabb2026-05-041-2/+7
| | | | Also cleaned up a bunch of recent changes.
* i8087: fix fprem1 cracyc2026-05-011-4/+12
|
* misc: address some gcc16.1 warnings hap2026-05-011-1/+1
|
* Current Plug & Play PR (1 working system, 1 nw system, 2 nw clones, 1 ↵ mamehaze2026-04-294-212/+656
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | working softlist entry, 2 nw softlist) (#15282) New working systems ------------------- 50 in 1 Arcade Joystick [Team Europe] New working software list items ------------------------------- jakks_gamekey_wp.xml: Winnie the Pooh - Piglet's Special Day (3 Bonus Games) [Team Europe] New software list items marked not working ------------------------------------------ telestory_cart.xml: Winnie the Pooh - Salta, Tigro, Salta! / Winnie the Pooh - l'orsetto goloso (Italy) [Team Europe] Il Re Leone / Il Re Leone II - Il Regno Di Simba (Italy) [Team Europe] New systems marked not working ------------------------------ 2 en 1 Multi'Pilote (France) [Team Europe] New clones marked not working ----------------------------- My First Dance Dance Revolution (Japan) [Team Europe, David Haywood] Genius TV Progress (VTech, France) [Team Europe] - disabled some logging by default in unsp core [David Haywood] - added SPI FIFO support to GPCE4 [David Haywood] - added some missing timers to GPCE4 [David Haywood] - more properly factory defaulted digicolr data [David Haywood] - rewrote generic_spi_flash HLE code (used for transparently byte addressed SPI flash) ensuring it still works for Monon Color [David Haywood] - hooked up new code to st2302u_bbl_spi.cpp, removing local implementation and allowing retro150, retro150a, pg118, table108, ppg118, dphh8633, dphh8661 to show correct graphics [David Haywood] - hooked up new code to generalplus_gpce4 allowing mapacman to correctly check the device on startup rather than bypassing it [David Haywood] - added display on/off and sleep on/off to st7735_lcdc so that the screen will blank when requested [David Haywood] - added another 'inline attribute' XaviX video mode used by multiplt [David Haywood]
* cxd1185.cpp: Ensure appropriate ID register is mapped (#15279) Brice Onken2026-04-292-3/+3
|
* 3rdparty: Retired softfloat2. (#15270) Patrick Mackinlay2026-04-282-573/+511
| | | cpu/i386, machine/i8087.cpp: Migrated to SoftFloat 3.
* source org: move k054321 and mb87078 from machine to sound folder (renamed ↵ hap2026-04-264-416/+0
| | | | latter to mb87077)
* Refactor 28-series EEPROM code (#15237) Christian Brunschen2026-04-258-801/+715
| | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* machine/i7110.cpp: use logical operator for boolean expression Patrick Mackinlay2026-04-241-1/+1
|
* generalplus gpce4 refactoring (#15246) mamehaze2026-04-212-0/+1152
| | | | | | | | * 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]
* Revert "z80dma: Update RDY immediately but defer the side effects. [Curt Coder]" Curt Coder2026-04-201-8/+3
| | | | This reverts commit f5c253ccd2efe61ac0094804c7e738454932234b.
* Various cleanup. Vas Crabb2026-04-201-0/+1
| | | | | Reduced tag lookups, added side-effect checks, lowercase hex digits, standard mahjong matrix, etc.
* beena/tvochken: correct cardslot tag in .lay script hap2026-04-181-1/+1
|
* Mac updates: [R. Belmont] arbee2026-04-182-163/+651
| | | | | | | | | | | | | | | | | | | - Sound chip behavior and IRQ handling greatly improved for all 68020+ models - The printer and modem ports were previously swapped, this is now fixed - Models where serial diagnostic/TechStep mode is a jumper now support a configuration switch for it - Centris 610/650 now have a 68LC040 (Quadra 610/650 have a full '040 still) - PowerBook Duo 280/280c now have a 68LC040 - Fixed wrong pixel clock/refresh rate on LC III, LC 520, and LC 550. sound/asc.cpp: Updates [R. Belmont] - Rewrite with per-variant subclasses and using the same code for the two FIFOs - Many correctness improvements based on hardware testing with Doug Brown's ASCTester - Real EASC feature support for the first time: 44.1 kHz output, variable sample rate conversion, and CD-XA ADPCM decode machine/pseudovia.cpp: Updates [R. Belmont] - Rewrite with per-variant subclasses - Mirroring now matches hardware for each variant - ASC IRQ has correct level vs edge triggered behavior per variant
* gmboard: improve hall effect sensor hap2026-04-183-28/+61
|
* Systems promoted to working hap2026-04-171-9/+5
| | | | | --------------------------- Grand Master (Milton Bradley) [hap, Berger]
* gmboard: fix regression with fphantom hint button hap2026-04-171-22/+47
|
* fphantom: use gmboard_device hap2026-04-162-22/+28
|
* grandmas/emirage: move chessboard to a device hap2026-04-123-4/+445
|
* New systems marked not working hap2026-04-111-1/+1
| | | | | ------------------------------ Grand Master [hap, Berger]
* HP98x6: 98259 bubble memory module added (#15202) fulivi2026-04-102-0/+4208
| | | | * i7110_7220: Re-implemented Intel bubble memory subsystem * hp98x6: HP98259 bubble memory module added
* source org: rename microvision and milton drivers hap2026-04-101-8/+6
|
* i8251: small cleanup hap2026-04-072-53/+71
|
* machine/i8251.cpp: sync mode fixes tarmooja2026-04-072-8/+44
| | | | | | * Fix parity handling for SYNC mode (#15160) * Send sync characters when TX empty Co-authored-by: Tarmo Oja <tarmo.oja@ut.ee>
* x28,vfxcart: make timings overrideable. (#15183) Christian Brunschen2026-04-073-219/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | * x28: make timings configurable. Also: - remove the fake device. - allow clients access to the writable / write protected state. - save state. - move short function bodies from x28.ipp to x28.h. Having these short member function definitions inline removes a lot of template-parameter noise, leaving only the long `read()` and `write()` member function definitions out-of-line in `x28.ipp`. vfxcart: - use the real X28C256 device. - add a configuration setting to vfxcart to allow adjusting the timings of the X28C256 device. - configure EEPROM to be write protected. * x28.{h,ipp}: All the datasheets seem to refer to the write protection as "software data protection" Update the terminology here to align with that: `m_write_enabled` -> `!m_software_data_protection_enabled`. Update the sole client (vfxcart.cpp) as well.
* cubeqst: add conf switch to disable ld hap2026-04-071-2/+2
|
* cubeqst: ld is supposed to be optional afterall hap2026-04-072-35/+35
|
* machine/cxd1185.cpp: resolve save state name conflict Patrick Mackinlay2026-04-072-8/+8
|
* Various cleanups: Vas Crabb2026-04-041-172/+211
| | | | | | | | | | * 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.
* z80scc: Fixed external clock source selection and start bit timing. [Curt Coder] Curt Coder2026-04-021-26/+61
|
* sinclair/specnext_dma.cpp: Fixed counter state returning natural value in ↵ holub2026-04-012-5/+6
| | | | ZXN mode. (#15179)