* Feed mouse/pen/touch pointer events through UI input manager with Win32 and SDL.
* Started migrating UI code to use new API and reworking mouse/touch interaction.
* emu/render.cpp: Support pressing multiple clickable layout items simultaneously.
* emu/render.cpp: Allow UI elements to be drawn in any window.
* emu/rendlay.cpp, luaengine_render.cpp: Added layout view events for pointer input.
* ui/ui.cpp: Allow the UI handler to control pointer display.
* ui/analogipt.cpp: Added mouse/touch and more keys for navigating field state list.
* ui/menu.cpp: Use vertical swipe to scroll and horizontal swipe to adjust.
* ui/menu.cpp: Draw after processing input - greatly improves responsiveness.
* ui/menu.cpp: Ignore keyboard/gamepad input during pointer actions.
* ui/selmenu.cpp: Made left/right info pane arrows repeat when held.
* ui/selmenu.cpp: Use middle click to move keyboard focus.
* ui/selmenu.cpp: Let filter list scroll if it's too tall, and use a bit of horizontal padding.
* ui/selmenu.cpp: Improved divider sizing.
* ui/state.cpp: Don't allow clicks to pass through the confirm deletion prompt to the menu.
* ui/simpleselgame.cpp: Fixed error message display and graphics/sound status not showing.
* ui/simpleselgame.cpp: Allow tap/click to dismiss error message.
* ui/utils.cpp: Show UI for choice filters when there are no choices - it's less confusing.
* modules/input/input_sdl.cpp: Made scaling for mouse scroll better match RawInput and DirectInput.
* modules/input/input_rawinput.cpp: Added support for horizontal scroll axis.
* modules/input/input_win32.cpp: Added support for scroll axes and more buttons to mouse/lightgun.
* modules/debugger/debugimgui.cpp: Don't fight over events with the UI manager - it breaks menus.
* osd/windows/window.cpp: Translate mouse position to window cooridinates for scroll wheel events.
* osd/sdl/window.cpp: Supply last mouse position for scroll wheel events if possible.
* scripts/build/complay.py: Made zero input mask an error - it was only being used to block clicks.
sound/cf61909.cpp: Added Texas Instruments CF61909 sound chip device.
New working systems
----------
Noise Toys Inc. Jaminator [Devin Acker]
New working software list items
----------
jaminator.xml: Classic Rock I (USA), Classic Rock II (USA), Hard Rock I (USA), Hard Rock II (USA), Lead Rock Guitarists (USA), Modern Rock (USA) [Devin Acker]
This restores the previous status quo from Emscripten 3.1.28 where asio is always compiled with pthread support, however threading is still not actually functional in the Emscripten target.
The change in behaviour appears to be due to emscripten-core/emscripten@690f1bdb9e
* This allows save states to be created and loaded when network interfaces are present.
* device_network_interface may need some more attention to get save states taken while receiving a packet to work properly.
----------------------------------
Iskra Delta Partner [Jernej Jakob]
sfrj/idpartner.cpp : Added bus connector and split GDP into separate card [Miodrag Milanovic]
* Moved expansion card emulation out of the system into card devices.
* Removed machine configuration settings for expansion settings.
* Started to modernise the HuCard slot interface.
New working software list items (pce.xml)
------------------------
Arcade Card Pro
* bus/segaai: Rename device_segaai_card_interface to segaai_card_interface
* bus/segaai: Rename device_segaai_exp_interface to segaai_exp_interface
* hash/segaai.xml: Add barcode for several titles.
* hash/segaai.xml: Merge eigooha1 and eigooha2 into eigoohan, and eigogam1 and eigogam2 into eigogame.
* hash/segaai.xml: Update description for Eigo de Ohanashi and Eigo de Game.
* hash/segaai.xml: Add notes to Pinpon Music Rhythm and Melody.
* hash/segaai.xml: Merge Okeiko Aiueo and Hanamaru Aiueo into a single software item.
* hash/segaai.xml: Swapped checksums for Okeiko Aiueo and Hanamaru Aiueo and updated some notes.
* hash/segaai.xml: Added and replaced some overlays. Added placeholders for some older revisions released on cassette.
* hash/segaai.xml: Add cassette dumps of Alice World, Robinson Land, and Cosmis Train.
* hash/segaai.xml: Add dumps of several older cassette versions.
* hash/segaai.xml: Add/update serial, alt_title, and barcodes for cassette releases.
* hash/segaai.xml: Use improved overlay scans.
* layout/segaai.lay: Display clickable area when no overlay is present.
* layout/segaai.lay: Make cursor square.
* sega/segaai.cpp: Update old driver.
* sega/segaai.cpp: Let cards and expansions install themselves.
* sega/segaai.cpp: Adjust upd7759 sound level.
* sega/segaai.cpp: Mark cassette as stereo.
* sega/segaai.cpp: Only output the left channel from the cassette player.
* sega/segaai.cpp: Set the cassette channel to use for data input.
* sega/segaai.cpp: Add upd7759 busy signal to input port 4.
skeleton/aquaplus_piece.cpp: Added skeleton Aquaplus P/ECE driver with
Flash and RAM mapped in the right places.
cpu/c33: Added skeleton devices for C33 STD Core (S1C33000) and
S1C33209/221/222.
New systems marked not working
------------------------------
Aquaplus P/ECE (512 kB Flash)
New clones marked not working
-----------------------------
Aquaplus P/ECE (2 MB Flash)
-cinematronics/thayers.cpp: Added CHD and promoted to working. [Ryan Holtz]
* Fixed periodic IRQ hookup.
* Fixed COP421 clock divisor.
* Switched to LD-V1000 by default and removed LD-PR7820 support for now.
* Switched to using logmacro and shorthand data types.
* Adjusted IRQ triggering and acknowledgement according to schematics.
-sound/ssi263hle.cpp: Added a temporary SSI-263 device which remaps SC-02 phonemes onto the SC-01's phoneme set. [Ryan Holtz]
* SSI-263 skeleton extracted from cinematronics/thayers.cpp.
-machine/ldv1000hle.cpp: Added an HLE version of the Pioneer LD-V1000 laserdisc player. [Ryan Holtz]
-machine/laserdsc.h: Added a general-purpose parallel LaserDisc player interface, to have a common class parent for LD-PR7820. [Ryan Holtz]
-sega/timetrv.cpp: Replaced timetrv2 LaserDisc image with a good capture. [Ryan Holtz, Matt Ownby, ld-decode Team]
Systems promoted to working
---------------------------
Thayer's Quest (set 1) [Ryan Holtz, Matt Ownby, ld-decode Team]
Clones promoted to working
--------------------------
Thayer's Quest (set 2) [Ryan Holtz, Matt Ownby, ld-decode Team]
* Xtensa work, alongside Poems hardware improvements to show the core is functional [David Haywood]
---------
Co-authored-by: David Haywood <hazemamewip@hotmail.com>
* Implemented free-running timer.
* Eliminated internal header in favor of scoped enums.
* Eliminated double-dispatch switch/case in handlers, in favor of individual register handlers.
* Reworked GPIO handling for correctness.
-misc/39in1.cpp: Fixed GPIO hookup, now boots on its own. [Ryan Holtz]
* casio/ra3.cpp: Added support for software list ROM cartridges.
* sound/upd933.cpp: Clear pending interrupt flag when read.
* sound/upd933.cpp: Implemented presumed pitch modulator register.
New working systems
--------------------
Casio CZ-1 [Mastropiero, Devin Acker]
New working clones
--------------------
Casio MZ-1 (prototype) [Mastropiero, Devin Acker]
New working software items (cz1_cart.xml)
------------------------------------
Orchestra (RC-10) [Edward d-tech]
Organ / Synth. Sound / Sound Effect (RC-30) [Edward d-tech]
Piano / Guitar / Percussion (RC-20) [unknown]
psion/psion3a.cpp: Added preliminary Condor serial device for Series 3c, and added save state flag.
psion/psionhc.cpp: Removed expansion port C, and added save state flag.
psion/siena.cpp: Added preliminary Condor serial device, and added save state flag.
psion/workabout.cpp: Added save state flag.
* machine/nandflash.cpp: Only reset page address on read or program command.
* machine/nandflash.cpp: Added Samsung K9F1G08U0M and K9F2G08U0M.
* Removed now-unused machine/serflash.cpp.
sega_beena_cart.xml: Put page scans in individual data areas.
frontend/mame/luaengine_mem.cpp: Added a raw read function for memory
regions.
plugins/layout: Added bitmap classes to layout sandbox.
cpu/evolution: Added dummy CPU core so disassembly will show in debugger.
* new skeleton - Evolution
New systems marked not working
-------------------
Kidz Delight Evolution Max [TeamEurope, David Haywood]
Basic functionality is supported, making most games playable.
StoryWare display is not yet implemented.
Game-specific peripherals are not emulated.
There are still some issues with graphics.
emu/ioport.h: Fixed rarely-used PORT_CROSSHAIR_MAPPER and PORT_CROSSHAIR_MAPPER_MEMBER macros.
cpu/arm7: Added AP2010 CPU device.
sound/ap2010pcm.cpp: Added basic AP2010 PCM audio output device.
Systems promoted to working
------------------------
Sega Advanced Pico BEENA
New working systems
------------------------
Sega TV Ocha-Ken
Without this patch, order of entries in
generated/has_{buses,cpus,formats,machines,sounds,videos}.h
varied across builds.
This patch was done while working on reproducible builds for openSUSE.
Co-authored-by: Bernhard M. Wiedemann <bernhard+gitcommit lsmod.de>
* Emulated most features of the system, with the exception of sound output and the thermal printer.
* bus/vboy/slot.cpp: Fixed loading loose software on big Endian hosts. [Vas Crabb]
Systems promoted to working
---------------------------
Casio Loopy [Phil Bennett, Ryan Holtz]
New working software list items (casloopy.xml)
-------------------------------
Chakra-kun no Omajinai Paradise [Rachel Simone Weil]
* This card provides unaccelerated 1024x768 video, which isn't the greatest idea on a 68020.
video/tms34061.h: Added accessors to get the horizontal and vertical visible resolution and totals. [R. Belmont]
nubus/cards.cpp, apple/maclc.cpp: Support a list of cards for only the original Macintosh LC. [R. Belmont]
Up-to-date with revision 24c8d575e588d557d28f4011becb753421346860. Resolves issues building with Visual Studio.
Enabled PortAudio when building with Visual Studio and clang-cl.
docs: Removed note about duplicate GUID symbols in PortAudio when built with MSVC.
- add support for address modifiers
- add support for shared interrupt request lines
- add support for interrupt acknowledge daisy chain
- add support for bus error
- add slot device option aggregator
- standardized slot device file, device and class naming
- enp10: implement vme interface
- hk68v10: convert to slot device, improve boot vector and rom handling
- mzr8105: convert to slot device, improve boot vector and rom handling, add vme short space access
- mzr8300: convert to slot device, expose to bus
- sys68k*: convert to slot device, improve boot vector and rom handling
- force/fccpu20: converted to slot device
- sgi/ip4: converted to twin tower chassis with ip4 slot device
New working software list items
-------------------------------
c64_cart:
Disc Drive DD-001 (v1.1) [Steve Gray], Disc Drive DD-001 (v1.0) [LHS]
c64_flop_misc:
Games and Utility Disc (v1.1) [LHS]
bus/vidbrain: add info_manager and comp_language cartridge types
Software list items promoted to working
---------------------------------------
vidbrain: The Computational Language [hap, Sean Riddle, Ianoid]
* Look for MOC in QT_HOME/libexec if not found in QT_HOME/bin
* Use the Qt6* libraries if the Qt version is >= 6
* Switch the include paths for QAction & QActionGroup for Qt >= 6
* Replace the deprecated + operator for keys with |
Names in the global namespace need to be specific. Making them overly
generic is a very bad idea, and leads to confusion and conflicts.
Device type names must always be in the global namespace, and most
device classes are in the global namespace.
Changing members like m_votrax to m_sc01 doesn't help understand the
code. If there's only one Votrax speech module in the system, it's
obvious what it is.
This reverts commit c6f0e83ecf.
This isolates the ATA disk drive interface implementation from the
physical parallel ATA device interface. The ATA Flash PC Card is no
longer a kind of parallel ATA device.
- use address_maps instead of catch-all handlers;
- implement rd4 and rd5 line views;
- converted a800_rom_williams_device to the new system, make almost every entry in mega* and prisma* SW to actually boot;
- bus/a800: implement maxflash_1mb / maxflash_8mb devices.
* This allows loading arbitrary collection of .xex files built thru Maxflash Cartridge Studio program as flash ROM binaries;
- bus/a800: implement sic_128kb / sic_256kb / sic_512kb flash ROM devices;
- bus/a800: implement ast2k, atrax, Blizzard 32kb, Adawliah, SpartaDOS 128KB, A5200 Super Cart variants;
- bus/a800: implement Super Charger math unit device;
- a800_slot.cpp: fix xegs cart default slot for loose cart loading;
- a800_carts.h: merge a800_turbo64 and a800_turbo128 into single a800_turbo slot option;
- bus/a800/a800_slot: split a5200 to own interface
New working software list additions
-----------------------------------
a800.xml: Maxflash Cartridge Studio - Demonstration Workbook [Atarimax Team], SIC! 31-in-1 Demonstration [SIC! Team]
a800.xml: Atrax 01, Atrax 02, Atrax 03, Atrax 04, Atrax 05, Atrax 06, Atrax 08, Atrax 09, Atrax 10, Atrax 11, Atrax 12, Atrax 13, Atrax 15 [Atarimania]
a800.xml: Prince of Persia (AtariMAX i/f), Prince of Persia (SIC! i/f) [AtariAge]
New software list items marked not working
------------------------------------------
a800.xml: Atrax 14, Atrax 16 [Atarimania], Turbo Hit (Blizzard 32kb) [atari.area]
a5200.xml: Bosconian 5200 - Star Destroyer (Ultimate Version) [AtariAge]
* Use "-rom file.bin" with the user-defined ROM card to make your own custom Apple. File must be 12KiB and goes in
D0/D8/E0/E8/F0/F8 order.
a2bus: wire up a method to assert the reset line on the slots. This is important for the ROM card. [R. Belmont]
apple/apple2.cpp,apple2e.cpp,apple2gs.cpp,apple3.cpp: Reset the a2bus when the 6502/65816 is reset. [R. Belmont]
apple/apple2gs.cpp: Reset the softswitches like a IIe on Control-Reset. [R. Belmont]
apple/apple3.cpp: Now has the same Control-Reset behavior improvements as the Apple IIs. [R. Belmont]
New NOT_WORKING software list additions (msx1_cart.xml)
------------------------------------------
DPQ-280 Quick Disk Drive
DPQ-280 Quick Disk Drive (alt)
QDM-01 Quick Disk Drive
VY-0002 Quick Disk Drive
- video/pc_vga.cpp: Move everything that doesn't belong to main VGA/SVGA interfaces to per-manufacturer family files;
- shared/pcshare.cpp: retire pcat_base_state::pcvideo_* fns;
- video/pc_vga.cpp: temporary move gamtor_vga_device to misc/gamtor.cpp;
- bus/isa/isa_cards.cpp: retire TGUI9680 from being selected (all refs points to be a PCI card only, there's mention of a VLB card but haven't seen a single retail dump/photo yet)
- bus/isa/svga_trident.cpp: add TVGA9000 ISA card
- bus/isa/svga_tseng.cpp: add earlier ColorImage ET4000AX variant
- bus/isa/svga_tseng.cpp: add Kasan Hangulmadang-16 Korean variant ISA
- Adds a very preliminary implementation of nVidia Riva 128 PCI card, added as a temp target in pc/pcipc.cpp (pcinv3);
- video/pc_vga.cpp: Rework and fix VGA input sense (necessary to allow Riva 128 to survive POST);
- video/pc_vga_s3.cpp: Fix s3_vga_device inheritance (was subclassing from ati_vga_device)
- pc/calchase.cpp: convert custom JAMMA i/f to ISA device;
- pc/calchase.cpp: connect Trident VGA to ISA bus;