Commit Graph

14368 Commits

Author SHA1 Message Date
Vas Crabb
780490d9ac srcclean and cleanup 2024-12-22 05:34:00 +11:00
Curt Coder
e462f6a539 bus/rs232/teletex800: Add front panel layout. [Curt Coder] 2024-12-20 11:11:24 +02:00
angelosa
7a755b7d73 emu/gamedrv.h: get rid of MACHINE_IS_SKELETON[_MECHANICAL]
- cfr. https://github.com/mamedev/mame/pull/13090#issuecomment-2551146118 for details
2024-12-19 10:06:34 +01:00
hap
ba493adcfa mconfig: allow sub-mcfg to unset perfect quantum 2024-12-16 13:46:00 +01:00
AJR
872afd9ee5 misc/vamphalf.cpp: Add screen raw parameters
* xtal.cpp: Add value for later use
2024-12-08 16:41:26 -05:00
AJR
12401f1429 emu/natkeyboard.cpp: Add CAPSLOCK, CR and LF escapes to post_coded 2024-12-07 12:20:52 -05:00
hap
8cd9374489 rendlay: fix crash with rect element alpha of 0 < n < 1.0/255,
misc: small cleanup
2024-12-06 06:08:26 +01:00
AJR
43d61833e4 Natural keyboard improvements
- NUL is no longer a reserved character, and PORT_CHAR(0) is meaningful now. The ioport_field structure now uses a reserved Unicode character rather than 0 as a filler.
- PORT_CHAR() with no arguments (formerly illegal) may be used to skip over shift positions that produce no useful codes.

* ioport.h: Use the empty string rather than nullptr as default tag for ioport_condition. (ioport_condition::operator== was blindly passing the null pointers to strcmp.)
2024-12-04 09:23:44 -05:00
angelosa
076147c601 emu/ioport.h: retire PORT_VBLANK / PORT_HBLANK 2024-12-04 11:18:37 +01:00
hap
f4f5fb5ebf screen: prevent race condition on drivers with vblank at y=0, causing partial updates to fail after load state 2024-11-26 04:00:02 +01:00
Ivan Vangelista
7d7b1fadb9 New systems marked not working
------------------------------
CPS1 Multi Game [hellshinox, H4M573R, NTDEC, Nnap, Hammy, TeamEurope]
unknown Belatra slot machine [TeamEurope]

- leapfrog/leappad.cpp: verified the Cocopad BIOS ROM matches the corresponding Leappad one [David Haywood, TeamEurope]

- tecfri/ambush.cpp: dumped PROMs and unprotected PALs for mariobl [f205v]
2024-11-25 19:05:16 +01:00
Vas Crabb
f16cd0249f emu/romload.cpp: Resolve tags for ROM_COPY relative to current device properly.
Tags can contain multiple colon-separated parts.  Also, we really don't
need tag manipulation code proliferating throughout the codebase.
2024-11-23 11:41:56 +11:00
smf-
f789663244 fixed ROM_COPY to use a relative region name, so it can be used in a device. [smf] 2024-11-22 07:40:37 +00:00
AJR
381080970e rendersw.hxx: Fix bad use of u32 reference type in 1c50756b3a 2024-11-21 21:28:32 -05:00
Vas Crabb
bb305af46e emu/rendersw.hxx: Get rid of obsolete overly specific blend function. 2024-11-22 12:46:57 +11:00
Vas Crabb
1c50756b3a emu/rendersw.hxx: Support RGB multiply blending with 16bpp textures. 2024-11-22 12:44:13 +11:00
hap
fa14f782ae rendersw: fix apparent bug in draw_quad_palette16_add 2024-11-18 22:27:45 +01:00
AJR
b1181f8602 diexec: Add callback to allow debugger to break into the middle of wait-type instructions whose execution time is normally indefinite. When this happens, a special message may be printed to the debug console stating the location of the last actual instruction executed before the wait (if there was one).
Note that since the callback ignores the current value of the program counter, this special type of debugger break cannot be entered through breakpoints or instruction stepping commands. The callback also leaves no effect on PC history tracking or trace logs.

* cpu/hd61700, cpu/tms32031: Add standard IRQ callback
* cpu/m68000gen.py: Change name of invoked executable to bin/python3
* cpu/m6809: Eliminate PC "massaging" for SYNC and similar instructions
2024-11-17 08:11:39 -05:00
Olivier Galibert
5e63771946 devcpu: add retry_access and document 2024-11-16 19:41:56 +01:00
hap
b7a20d4493 devcpu: add retry_access with abort_timeslice for redoing the access at the same point in time 2024-11-16 18:07:21 +01:00
hap
f292ae5b74 Revert "devcpu: do an abort_timeslice instead of eating all cycles on defer_access"
This reverts commit fb8198689a.
2024-11-16 16:18:38 +01:00
hap
fb8198689a devcpu: do an abort_timeslice instead of eating all cycles on defer_access 2024-11-16 15:37:37 +01:00
hap
ea02851fc8 diexec: don't eat negative cycles with abort_timeslice when icount<0 2024-11-16 15:37:37 +01:00
Ivan Vangelista
21e1b48a01 New working clones
------------------
Mad Motor (prototype, set 2) [SnakeGrunger!!11one]

- igs/goldstar.cpp: dumped 3 of 4 PLDs for cmast99 [TeamEurope, Porchy]
2024-11-10 10:15:06 +01:00
Ivan Vangelista
54863e336c New working clones
------------------
Ukiyo Box (Japan, v1.3.7) [Hammy]

New systems marked not working
------------------------------
Arthur's Knights [Ioannis Bampoulas, TeamEurope]
Fruit Cat (v2.00) [Ioannis Bampoulas, TeamEurope]
Hi Lice (V102FA) [Ioannis Bampoulas, TeamEurope]

- igs/goldstar.cpp: verified PROMs for cmast99 [Ioannis Bampoulas, TeamEurope]
2024-11-07 18:08:09 +01:00
hap
152389867e bookkeeping: don't increment coin counter at power-on when initial counter_w input is 1, add handlers for resetting counters 2024-10-31 00:49:48 +01:00
AJR
8c8ed8bfc2 emu/schedule.cpp: Mark one path as EXPECTED 2024-10-30 11:46:50 -04:00
Vas Crabb
b5c0c73f46 emu/input.cpp: Guard against automatic integer promotion on arithmetic. 2024-10-28 03:48:15 +11:00
AJR
d66d88b1ab dirtc: Devirtualize set_current_time, cleaning up misuse
* midway/atlantis.cpp: Remove unused leftover
2024-10-25 17:54:41 -04:00
smf-
6423aae854 Added a new modular JVS framework
New devices added:

Namco Cyber Lead I/O LED(I/O) PCB 8699014200
Namco Cyber Lead I/O LED(I/O) PCB 8699014200 (compatibility patch)
Namco Cyber Lead I/O LED(LED) PCB 8699014500
Namco AMC PCB (Extra I/O,JPN,Ver1.10)
Namco ASCA-1 (Multipurpose I/O,JPN,Ver2.00)
Namco ASCA-3 (Multipurpose + Rotary Encoder,JPN,Ver2.04)
Namco ASCA-3 (Multipurpose + Rotary Encoder,JPN,Ver2.02)
Namco ASCA-5 (Multipurpose,JPN,Ver2.09)
Namco CSZ1 MIU-I/O (GUN-EXTENTION,JPN,Ver2.05)
Namco EM I/O1-02 (Techno-Drive I/O,JPN&EXP,Ver2.00)
Namco TSS-I/O (GUN-EXTENTION,JPN,Ver2.02)
Namco XMIU1 TSS-I/O (GUN-EXTENTION,JPN,Ver2.11,Ver2.12)

Note: the Cyber Lead compatibility patch is required because later versions aren't

Namco FCA-1 (Multipurpose + Rotary Encoder,JPN,Ver1.00)
Namco FCA-1 (Multipurpose + Rotary Encoder,JPN,Ver1.01)
Namco FCB (TouchPanel&Multipurpose,JPN,Ver1.02)

Note: These use ASCA3 patched to return the correct ID string as the full ROM is yet to be extracted

Namco EM Pri1-01

Note: The printer for Techno Drive is HLE'd only enough to make the game happy
2024-10-25 15:16:47 +01:00
Vas Crabb
5f4e3730d9 emu/ioport.h: Made syntax for configuring callbacks more consistent.
You now use FUNC or NAME to configure port field callbacks, like you
would when configuring other kinds of callbacks.  This has a number of
benefits:
* No need to remember different syntax for port field callbacks, and
  more approachable for new contributors.
* May use function templates with multiple arugments using NAME((&...))
  syntax without resorting to another layer of macros.
* May use non-member functions on the odd chance it's useful.
* More natural syntax for referring to member functions.
2024-10-18 00:47:56 +11:00
mamehaze
e989c7d00f
hooked igs_m027_023vid.cpp to PGM video system (made 023 video a device) - game runs attract demo (#12881) 2024-10-16 07:27:08 +02:00
Olivier Galibert
471b1261c1 addrmap: Allow ioport finders in portr/w/rw
Convert a number of drivers to use ioport finders in the memory map.

This is not entirely gratuitous.  The idea is to ensure all the ports
are in the class, so that eventually ioport finders become ioport
creators.  The ultimate aim is to C++-ify port descriptions which
would be made way nicer by getting rid of the need for PORT_START.
2024-10-13 22:10:48 +02:00
Vas Crabb
fc41ef0c9a emu/ioport.cpp: Improved validation of DIP switch locations.
* Treat an empty switch name as an error.
* Treat a non-positive switch number as an error.
* Also allocate fewer temporary strings.
2024-10-05 20:53:59 +10:00
AJR
53276e44d4 ioport.h: Preemptive srcclean 2024-10-04 13:36:54 -04:00
Olivier Galibert
ded2280e3f ioport: Add piano keyboard definitions and automatic names 2024-10-04 18:43:52 +02:00
Vas Crabb
aeaf19f264 -homebrew/linux4004.cpp: Emulated Linux/4004 board.
* VFD is not emulated, but all other features are present.

-machine/sc16is741.cpp: Emulated basic SC16IS741A UART functionality in
 SPI interface mode.

-macine/spi_sdcard.cpp: Improved interface logic:
* Start in unprotected mode as specified by the standard.
* Ignore stop bits in unprotected mode - apparenty real cards do this.
* Set protected or unprotected mode in response to CMD59.
* Reset SPI logic when initially selected.

-machine/spi_psram.cpp: Started adding PSRAM QPI functionality.

-emu/diserial.cpp: Got rid of the per-instance parity lookup table.

New working systems
-------------------
Dmitry Grinberg Linux/4004

New working software list items (lnux4004.xml)
----------------------------------------------
uMIPS Linux 4.4.292+
2024-10-04 20:58:33 +10:00
AJR
8381197479 emu/debug, osd/modules/debugger/qt: Clean up #includes a bit 2024-09-30 20:49:14 -04:00
holub
48933ef893
Added ATTR_COLD to common lifecycle methods for many files in src/devices. (#12822) 2024-09-27 03:07:03 +10:00
Vas Crabb
0125087cbe -emu/render.cpp: Always translate coordinates if container is found (fixes GitHub #12817).
-ui/videoopt.cpp, ui/ui.cpp: Allow pressing UI Clear to restore default
 pointer timeout settings.

- midway/starrider.cpp: Added PROTO 3 program ROMs.

New clones marked not working
-----------------------------
Star Rider (PROTO 3) [Matt Ownby]
2024-09-27 02:57:52 +10:00
Colin Leroy-Mira
afab68e6c2
emu/diserial.cpp: Improved stop bit handling (fixes #12762). (#12770)
* Never check more than one stop bit on reception.
* Don't add an extra stop bit on transmission.
2024-09-23 01:57:25 +10:00
Vas Crabb
698e1d8985 srcclean in preparation for 0.270 release branch. 2024-09-22 04:58:06 +10:00
Vas Crabb
812f17ad6c igs/igs_m027xa.cpp: Hooked up proper inputs, lamps and layout for Triple Fever games. 2024-09-20 12:03:32 +10:00
AJR
608499617a diexec: Remove vestigial execute_burn override 2024-09-18 10:36:09 -04:00
hap
b888990563 diexec: remove vestigal execute_input_lines() 2024-09-18 16:21:20 +02:00
hap
351dfca54b emumem: add support for passing mem_mask parameter on 8-bit handlers 2024-09-16 22:04:32 +02:00
Vas Crabb
dc26fcd1bb emu/ioport.h: Got rid of [DECLARE_]CUSTOM_INPUT_MEMBR - it's just obfuscation at this point. 2024-09-16 00:47:44 +10:00
AJR
15dd5beab4 natkeyboard.cpp: Convert more string posting methods to std::string_view 2024-09-14 21:02:27 -04:00
Vas Crabb
09c80cf794 -igs/igs_m027.cpp: Hooked up I/O for Fruit Paradise and added layout for (Ocean|Fruit) Paradise.
-emu/ioport.cpp: Made DIP switch location validity errors more precise.
2024-09-10 16:10:03 +10:00
AJR
edbfe76b37 smc777: Correct master XTAL frequency; add undumped 8041A to configuration 2024-09-07 16:01:07 -04:00