invalidate_instruction_cache skipped the flush under !defined(TARGET_OS_IPHONE).
Apple's TargetConditionals.h DEFINES TARGET_OS_IPHONE as 0 on macOS, so the
guard was false there and Apple Silicon ran stale code in recompiler output:
the first hng64 build died with SIGILL on a valid instruction (movz x14,#0x4f10).
Test the macro's value, not its presence. Control: the unpatched build crashes
on the same run; patched, sams64 and xrally run 1800 frames with the same
distinct-frame counts as the buildbot's full core.
* compis.xml: Demoted various items due to undumped keys or being listed
as not working.
* a7800.xml: Be consistent with other software lists for "Mazy 2".
* leapfrog_leappad_cart.xml: More consistent transliteration of Japanese
dates.
* Improved naming, reduced duplication, made some variables const.
* Removed a driver name comparison.
* Turned RAM areas into memory shares.
-dataeast/dec8.cpp: Suppress side effects for debugger reads, reduced literal tag usage.
-dataeast/actfancr.cpp: Made some variables const.
* Corrected the range of the pitch wheel.
* Added VCF capacitor jitter. Corrected the range of VCO capacitor jitter.
* Increased the overall audio volume.
* Added some key bindings to make it possible to play chords with the computer keyboard.
* Updated the NVRAM, since change first two changes require a tuning and pitch wheel centering.
* Added a warning in the layout if outdated NVRAM content is detected.
Also suppress side effects for debugger reads, and made some variables const.
dataeast/captaven.cpp, dataeast/dblewing.cpp:
Use sound latch pending flag from ioprot device (dataeast/deco104.cpp, dataeast/deco146.cpp).
wingwar's display list carries a constant record with all four vertices
on one point; the flat-quad filler painted it as a stray dot at the
viewport centre.
The Big Board 5.25" variant boots CP/M from the Xerox 820 software list
(the machine already inherits flop_list from xerox820()). Verified with
the "cpm" entry (130s22100ds_cpmrev3.imd, 40/18/128 FM): the ROM monitor
B command loads CP/M, DIR reads the directory, and a Ctrl-C warm boot
reloads the CCP and returns to the prompt.
No 5.25" media was previously present in the tree to exercise it, which
is likely why the flag was never revisited.
* dataeast/*: Split driver due to hardware differences
- captaven* into dataeast/captaven.cpp
- fghthist*, tattass*, nslasher* into dataeast/fghthist.cpp, Fix naming of machine configuration related name of fghthist and clones
- dragngun*, lockload* and clones into dataeast/dragngun.cpp
* dataeast/deco156.cpp: Rename driver to dataeast/hvysmsh.cpp
- Split driver state via hardware configurations
- Fix namings
- Reduce duplicates
- Fix metadata via in-game version information screen and title screen
- Fix notes for version information screen
* dataeast/backfire.cpp, dataeast/hvysmsh.cpp, dataeast/wcvol95.cpp, dataeast/simpl156.cpp: Fix bitmap fill behaviour (restricted into cliprect)
* Fix namings of dataeast/deco156_m.* into dataeast/deco156.*
* dataeast/simpl156.cpp: Reduce duplicates
- The Cocoa debugger could push stale scroll position information back to the core. This manifested most often as the disassembly view refusing to update after stepping into a large PC move (JSR/JMP/TRAP or an IRQ gets taken), or the debugger console not scrolling automatically.
- QoL: disassembly views that track curpc (like the one in the main debugger window) should not restore to the saved PC from the .CFG file. Fixes the disassembly view not showing where the real PC is on debugger startup.
AI disclosure: the race condition was traced with assistance from Claude Fable 5.
* The 68020+ bf* instructions all had a bug where they could trash the next byte in memory
* Fixed disassembly of PMOVE
* Consolidated handling of unimplemented coprocessor instructions
apple/djmemc.cpp: A/UX wants the memory controller registers to read back or else it blows up [R. Belmont]
* A/UX 3.1.1 now boots to multiuser on macqd800, macqd610, and macqd650
apple/scsidma.cpp: As theorized long ago, A/UX uses full real DMA mode. Implemented it. [R. Belmont]
* A/UX 3.1.1 now boots to multiuser on maciifx
apple/maciici.cpp: Hooked up SCSI IRQ and DRQ to VIA2 to try and get m68k Linux unstuck, but no go. [R. Belmont]
AI disclosure: Claude Opus 4.8 assisted with the bug hunting.
Read, Write and Format are working with Minerva and JS ROMs at least.
Works with QLAY microdrive images.
No influence on IF1 Sinclair Interface, which is only stubbed.
Started as a continuation of previous work but then changed the internal representation to allow format/write.
Also did some cleaning/upgrade to the driver (but did not touch the serial communication and clock parts of the zx8302)