summaryrefslogtreecommitdiffstatshomepage
path: root/scripts/src
Commit message (Collapse)AuthorAgeFilesLines
* 3rdpary/bimg: Just disable SSE on all 32-bit builds to be safe. Vas Crabb2023-02-201-2/+2
|
* 3rdparty/bimg: Try to keep all the builds working. Vas Crabb2023-02-191-1/+1
|
* 3rdparty/bimg: Disable SSE on 32-bit x86 - it assumes x86-64 integer ALU is ↵ Vas Crabb2023-02-191-1/+8
| | | | available when using SSE.
* srcclean and bump copyright date on language files to 2023 Vas Crabb2023-02-192-2/+2
|
* Input refactoring: Vas Crabb2023-02-182-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* nes zapper: improve trigger, put bandai lightgun in its own file hap2023-02-161-0/+2
|
* imacg3.cpp, powermacg3.cpp: added Cuda, MacADB, and DIMM serial presence ↵ arbee2023-02-151-0/+12
| | | | | | | | | | | | detect readback. [R. Belmont] mpc106.cpp: fixed endianness of register access, hooked up RAM, made compatible with RAM device. [R. Belmont] cuda.cpp: Added I2C I/O hookups. [R. Belmont] heathrow.cpp: Hack for unknown register that imac was stuck on. [R. Belmont] dimm_spd.cpp: New device that provides a configurable DIMM serial presence detect readback for I2C or SMBus. [R. Belmont]
* bus/msx/cart/ram.cpp: Added RAM expansion cartridges. (#10888) wilbertpol2023-02-151-0/+2
|
* bus/nabupc: Added hard disk controller card. (#10880) Brian Johnson2023-02-091-0/+2
|
* Miscellaneous cleanup: Vas Crabb2023-02-091-10/+10
| | | | | | | | * Got rid of a few more unnecessary uses of simple_list. * bus/amiga/zorro: Got rid of a pointer member that would make adding save state support unnecessarily difficult. * nichibutsu/cop01.cpp: Remove need to remove devices from machine config.
* New systems marked not working Patrick Mackinlay2023-02-081-0/+2
| | | | | ------------------------------ Tadpole Technology TP881V [Plamen Mihaylov]
* cpu/arcompact: Cleanup: Vas Crabb2023-02-061-0/+2
| | | | | | | | | * Moved common instruction field accessors used by the CPU core and disassembler to a shared base class and made them constexpr. * Got the inline member functions bodies file out of the public CPU header so they aren't pulled in by everything using it. * Got most of the disassembler handler declarations out of the public header so they can be changed withut excessive recompiling.
* -cpu/arcompact: Rewrote core. (#10808) David Haywood2023-02-061-1/+35
| | | | | | | | | | | | * Split into files by opcode encode type/group. * Refactored out macros. * Added additional opcodes. * Added interrupt logic. * Added stub handlers for used but unknown opcodes. -leapfrog/leapster.cpp updates: * Put some data uploaded by the leapster BIOS somewhere for debugging purposes. * Removed a read handler that was only there because of previous bad handling. * Noted some used Leapster side addresses.
* New machines added as NOT_WORKING arbee2023-02-041-0/+2
| | | | | | --------------------------------- Power Macintosh G3 [R. Belmont] iMac (Bondi blue) [R. Belmont, Guru]
* Small batch of input refactoring: Vas Crabb2023-02-051-0/+2
| | | | | | | | | | | | | | | | | | | | | emu/input.cpp: Fixed regression in display of some joystick inputs. osd/interface: Split up interface classes into a few more files to reduce where the input device interface class needs to be included. Made OSD independent of concrete input_device class. osd/modules/input, emu/inputdev.cpp, emu/ioport.cpp: Allow input devices to provide tokens for controls without standard item types and additional default input assignments. Fixes issues assigning Yen and Backslash on Japanese keyboards. ui/textbox.cpp: Added a fixed-content text box menu class for future use. Got main.h out of emu.h as it’s only used in a very small number of places, mostly for getting the application name. Added eminline.h to attotime.h as it's used without emu.h. Cleaned up forward declarations in emufwd.h a little.
* New systems marked not working Patrick Mackinlay2023-02-031-0/+2
| | | | | ------------------------------ Motorola MVME327A [Bitsavers]
* New systems marked not working Patrick Mackinlay2023-02-031-0/+2
| | | | | ------------------------------ Motorola MVME181 [Plamen Mihaylov]
* mc88200: new device Patrick Mackinlay2023-02-031-0/+11
|
* osd: Turned video modules into actual modules, fixed various issues. Vas Crabb2023-02-013-52/+49
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't ignore the return status of OSD module initialisation. Attempt to fall back to an alternate module if the selected module fails to initialise. Log more useful diagnostic information at verbose level. Fixed BGFX crash on exit after toggling fullscreen. Also persist more settings than just the selected chains across toggling fullscreen. Turned video modules into OSD modules in the same sense as all the other OSD modules. They now use the same selection/fallback mechanism as all the other modules without special extra code in the OSD implementations. Untangled some object ownership mess. Windows own renderers, OSD objects own windows. Fixed a refrence loop that caused the first window object to always leak. Don't create renderer object until after underlying window has been created. Fixed issues with order of creation/destruction when toggling fullscreen or changing prescale in fullscreen with -switchres in SDL builds. Use more smart pointers in BGFX and Direct3D render modules. Most of the code now reutrns a smart pointer when handing over ownership or a naked pointer when retaining ownership. Fixed a few leaks and simplified cleanup code. Encapsulated various OSD modules better.
* Various input and OSD refactoring: Vas Crabb2023-01-293-8/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | osd: Supply OSD object to modules on initialisation. Encapsulated some event handling in the OSD objects rather than leaving it in free functions. Put various stuff in namespaces. osd/modules/input: Enabled dinput, xinput and winhybrid modules for Windows SDL builds, and enabled background input for dinput and xinput (and by extension winhybrid) modules. Also fixed some COM and X11 resource leaks. osd/modules/input/input_sdl.cpp: Flipped SDL mouse button order to match Windows, and exposed vertical and horizontal scroll as Z and rZ axes. Moved SDL UI event handling out of input devices into OSD object. osd/modules/input_rawinput.cpp: Changed lightgun Z axis token so it's correctly identified as a relative axis (it maps to the scroll wheel equivalent). osd: Added an option to choose the network provider module. Mostly useful if you build with both TUN/TAP and pcap support included, or if you want to disable emulated networking completely. emu/input.cpp: Use a better strategy for assembling input code names that uses fewer temporary strings and doesn't require use of the non-Unicode-aware space trimming function (fixes MT08552). osd/modules/input_dinput.cpp: Improved polling logic. osd: Made various parts of the input code less dependent on concrete emu objects, and reduced inappropriately passing around the machine object. Made input modules less dependent on OSD implementation. Encapsulated some stuff and got rid of some vestigial newui and SDL1 support code. Cleaned up some interfaces. Moved OSD options classes to their own files. Prepare to remove main.h from emu.h - it's mostly used to get the application name, which the vast majority of emulated devices don't need to do.
* Miscellaneous fixes and refactoring: Vas Crabb2023-01-281-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ui/analogipt.cpp: Fixed bar graph display for fields with ranges that wrap through zero. emu/inputdev.cpp: Separateed analog axis deadzone and switch threshold settings, reduced default deadzone, and fixed a potential division by zero if the deadzone and saturation settings are equal. emu/ioport.cpp: Fixed behaviour of absolute analog fields where range passes through zero - it previously only worked for specific combinations of mask, minimum and default. Removed a workaround from universal/getaway.cpp that is no longer necessary. emu/input.cpp: Fixed unintuitive behaviour when an absolute field is assigned an OR combination of a relative control folled by an absolute control (e.g. Mouse X or Joy 1 LSX). Also fixed reading axis input sequences where an axis code is followed by a switch code (these can only be produced by manually editing configuration files, not through MAME's UI), and fixed the returned type when multiple relative axes sum to zero. osd/modules/input_dinput.cpp: Fixed hat switches being stuck in up position when input is suspended in the background taito/taitoio_yoke.cpp: Give throttle control a distinct type, and don't auto-centre. osd: Added option to select MIDI provider module (currently only PortMidi and the dummy module are available). Also put various things in namespaces, and fixed builds including SDL sound module with native Windows OSD. emu/validity.cpp: Added check to catch I/O port fields using UI input types. emu/inpttype.ipp: Renamed inputs that were causing confusion. "Bill" and "Track" were causing confusion for translators and hence likely causing confusion for many users, especially those who are not native English speakers. "Track" as an abbreviation for "Trackball" was frequently being mistranslated, e.g. in the sense of a CD track selection button or even in the sense of a railway track. There's no reason to abbreviate it. "Bill" in the US English sense as a banknote is too ambiguous and was causing confusion for translators. It's better to use the less ambiguous "Banknote". Corrected Greek translations of "Trackball". Don't run GitHub Actions on issue template changes.
* misc/nabupc.cpp, bus/nabupc: Added support for NABU PC and simulated host. ↵ Brian Johnson2023-01-241-0/+28
| | | | | | | (#10676) New working systems ------------------- NABU PC
* New machines marked as NOT_WORKING Patrick Mackinlay2023-01-171-0/+2
| | | | | --- Motorola MVME180 [Plamen Mihaylov]
* 3rdparty: Suppress unused variabe warnings for SQLite3 - clang 15.0.5 for ↵ Vas Crabb2023-01-131-0/+1
| | | | Windows considers sqlite3_os_type unused.
* Fix compile error on mingw due to invalid setting for ASTCENC_SSE (#10824) Justin Kerk2023-01-111-1/+1
|
* sun4c, SPARC, and NCR53C90 bug fixes: (#10821) [Ryan Holtz] MooglyGuy2023-01-111-4/+4
| | | | | | | * machine/ncr53c90.cpp: Renamed to ncr53c90 to avoid confusion about the actual NCR part name. * machine/ncr53c90.cpp: Fixed 'Select w/ ATN and Stop' command in DMA mode. * cpu/sparc: Avoid using temporary C-strings as address space names. * machine/sun4c_mmu.cpp: Fixed l2p debugger command by removing inadvertent narrowing conversion. * sun/sun4.cpp: Switched to NCR 53C90 from 53C90A, and fixed DMA byte-address masking - fixes Solaris 2.4 booting.
* i386: fix fpu log2 and atan cracyc2023-01-091-0/+1
|
* Fix parameters for mingw build Miodrag Milanovic2023-01-051-0/+7
| | | | (cherry picked from commit a864b4e5d420893b603d590867720f21d7b21f5a)
* Update BGFX, BX and BIMG (#10789) Miodrag Milanović2023-01-053-14/+53
| | | | * Update to bgfx a93a714632b79b5ddbf5c86ac323fa9b76ed3433 Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
* Revert "Update BGFX, BX and BIMG (#10750)" (#10787) R. Belmont2023-01-042-52/+14
| | | This reverts commit 5581eaa50a42256242f32569f59ce10d70ddd8c2 due to link failure on macOS.
* Update BGFX, BX and BIMG (#10750) Miodrag Milanović2023-01-042-14/+52
| | | | * Update to bgfx a93a714632b79b5ddbf5c86ac323fa9b76ed3433 Co-authored-by: Бранимир Караџић <branimirkaradzic@gmail.com>
* bus/pc8801: preliminary implementation of HAL HMB-20 sound card, addresses ↵ angelosa2022-12-251-0/+2
| | | | #10703
* formats/hp300_dsk.cpp, formats/hp_lif.cpp: Added HP 300 floppy format and ↵ Sven Schnelle2022-12-251-0/+24
| | | | | | | | | | | | | | LIF filesystem. (#10729) Added support for various disk formats used with HP computers. Named 'hp300', but also contains formats used with HP85 and HP150 computers, using the same floppy drivers as the 300 series. Most of the information was taken from "HP Flexible Disk Formats" by Martin Hepperle. HP LIF was used in quite a lot of different HP products like the HP 9000/300, HP85/87 and HP150 computers. Added support for reading this filesystem.
* hp/hp9825.cpp: Added support for HP 9825A and HP 9831. (#10595) fulivi2022-12-241-0/+2
| | | | | | | | | | | | | | | | | | | | | | * bus/hp9845_io: Added HP9871 printer. New working machines ------------------ Hewlett-Packard HP 9825A Hewlett-Packard HP 9831A New working software list items ------------------ hp9825_rom: 9862 Plotter/Gen I/O ROM for 9825 hp9825_rom: General/extended I/O ROM for 9825 hp9825_rom: General/extended I/O/9862 plotter ROM for 9825 hp9825_rom: General/extended I/O/plotter ROM for 9825 hp9825_rom: Plotter/Gen I/O ROM for 9825 hp9825_rom: String/Advanced programming ROM for 9825 hp9831_rom: Mass storage ROM for 9831 New not working software list items ------------------ hp9831_rom: Matrix/plotter ROM for 9831
* More MC68EZ328 work for palmm100 and iqunlim (#10696) [Ryan Holtz] MooglyGuy2022-12-221-0/+12
| | | | | | | | | | * palm/palm.cpp: Promoted palmm100 to working. Split Palm LCD into a separate device. * machine/mc68328.cpp: Improved LCD controller emulation. Fixed reported Coverity issues * vidoe/mc68328lcd.cpp: Added a generic device to handle MC68328-style LCD output signals. * vtech/iqunlim.cpp: Hooked up MC68EZ328 device. Clones promoted to working --------------------- 3Com Palm m100 [Ryan Holtz]
* bus/pce_ctrl: Added PC Engine Mouse support. Vas Crabb2022-12-211-0/+2
|
* m6809: rename *.ops to *.lst hap2022-12-181-3/+3
|
* More Micom Soft controller wrangling: Vas Crabb2022-12-182-20/+36
| | | | | * bus/msx/ctrl: Added XE-1AP pad with defaults for personal computers. * bus/pce_ctrl: Added XHE-3 PC joystick adapter.
* bus/sms_ctrl: Added support for Denpa XE-1AP controller. Vas Crabb2022-12-181-0/+2
| | | | | | | | | | This is the "horsehoe crab" game pad version of the Denpa Micom Soft Analog/Digital Intelligent Controller System (the other version is the desktop "cyber stick"). Mega Drive games only support this controller in analog mode (the default). Digital mode is designed to be used for games on computers with MSX-style controller ports that don't support analog controls.
* bus/sms_ctrl: Added Konami Hyper Shot for Sega, too. Vas Crabb2022-12-171-0/+2
|
* bus/msx/ctrl: Added Konami Hyper Shot controller. Vas Crabb2022-12-171-0/+2
|
* palm/palm.cpp: Improved Palm IIIc support. (#10684) [Ryan Holtz] MooglyGuy2022-12-161-0/+11
| | | | | | | | * machine/mc68328.cpp: Split MC68328 device into a base class with shared functionality, and derived MC68328 and MC68EZ328 models. * video/sed1375.cpp: Added roughly-functional implementation of the Epson SED1375 LCD controller. Machines promoted to working ------------------------ 3Com Palm IIIc [Ryan Holtz]
* bus/sms_ctrl: Added support for Sega mouse and four-player adaptor. Vas Crabb2022-12-161-0/+4
|
* sega/sms.cpp: Refactored Game Gear handling. (#10682) Vas Crabb2022-12-141-14/+0
| | | | | | | Use a memory view to switching between Game Gear and Master System compatibility I/O space mapping. Got rid of most of the conditional code checking whether it's a Game Gear driver. Got rid of the special Game Gear EXT port slot. It's the same thing as a Mega Drive controller/expansion I/O port with a different connector. sega/mdioport.cpp: Added a variant for the Game Gear with the TH/PC6 interrupt latch, and added it to the Game Gear.
* -bus/sms_ctrl: Added raphnet DIY SMS/Mark III paddle. Vas Crabb2022-12-131-0/+2
| | | | | | | | | | | | | | | -cpu/avr8: Added minimal ADC support (in particular, ADC interrupts are not implemented). -sega/megadriv.cpp: Further broke up base Mega Drive class. * Created a light-weight base class with just the core functionality, used for "Genie" hardware (Puckman Pockimon). * Moved built-in controller emulation to a derived class so it isn't lurking underneath the consoles with pluggable controllers. * Moved the Sun Mixing Mega Drive bootlegs to their own source file - they're substantially different, not using the I/O blocks for input. -sega/sms.cpp: Untangled SG-1000 Mark III slightly.
* bus/archimedes/podules: Added Ethernet podules (not working) Nigel Barnes2022-12-121-0/+6
| | | | | | - Acorn AEH50 Ethernet II - Acorn AEH54 10Base2 Ethernet Podule - ANT Ethernet 10base2 mini-podule
* mdcr: Moved philips/p2000t_mdcr.cpp->machine/mdcr.cpp to allow use with ↵ Nigel Barnes2022-12-121-0/+12
| | | | other machines.
* New machines marked as NOT_WORKING Nigel Barnes2022-12-121-0/+4
| | | | | ---------------------------------- MiniB Computer [Nigel Barnes, Sprow]
* bus/archimedes/podule: Added SCSI Interface podules (not working). Nigel Barnes2022-12-111-0/+12
| | | | | | | | | | - Acorn A500 SCSI Interface - Acorn AKA31 SCSI Expansion Card - Acorn AKA32 CDFS & SCSI Expansion Card - Cumana 16bit SCSI Interface - Lingenuity SCSI Podule - Morley Electronics 16bit Cached SCSI card - Oak Solutions 16 bit SCSI Interface
* mt65: Slotified the keyboard port, devicified Microtan Keypad (MT006), ↵ Nigel Barnes2022-12-111-0/+16
| | | | | | | | | | | Microtan Keyboard (MT009), and ETI Space Invasion Key Unit. - Added cards ETI Real Time Clock, ETI Sound Card, Microtanic Real Time Clock, TUG Combo Card, and TUG EPROM Storage Card. mt6809: Fixed keyboard input, RALBUG commands now work, and promoted to working. - Added support for FLEX and BBC Micro floppy formats. spinveti: Replaced incorrect ROM to load at &F800.