Commit Graph
20 Commits
Author SHA1 Message Date
Steven Hugg 6811cd92ce chips: pull upstream CIA/NMI and controller fixes
Cherry-pick the upstream bug fixes that apply to the old-generation chip
headers this fork still carries (13 commits, one per fix, each with a
"(cherry picked from commit ...)" trailer):

  m6502:  wrong irq/nmi pipeline bit positions (NMI timing), the NMI
          instruction hijacking fix (nmi_pip widened to 32 bits), and the
          matching codegen template/gen.py changes
  m6526:  PA/PB input latch, port B reads, latch writes in the reload
          cycle, timer B interrupt flags, ICR mask write in the underflow
          cycle, and ICR bit 7 vs. the /IRQ output line
  zx:     Sinclair joystick fire button (was wired to "right")
  cpc:    z80_reset() when loading a .sna, upd765 assert that fired in
          the CRTC demo
  ay38910: envelope shape 15
  i8255:  port output pin mask (used by the CPC)

Left alone (needs a real port, not a cherry-pick): the am40010 CCLK/READY
phase fixes and mode 3, because this fork's am40010_tick() was restructured
to take a tick count for the instruction-stepped Z80 with WAIT accounting.

The fork's probe hooks (logStackPush/Pop, logExec) and the SID register
read-back stay intact.

Also fixed c64 stuck joystick problem:
The keyboard matrix lines are driven by the CIA output latch, not
by the external pin level: since the port read model lets a
grounded joystick line pull an output pin low, using the raw pins
here makes joystick 2 hold a keyboard scan line active (and the
IDE feeds arrow keys to both the joystick and the cursor keys).
Use the latch for output bits, the pin only for input bits.

res/<platform>/*.wasm are rebuilt from chips/wasm/*.c. Note the c64/cpc/zx
blobs also move to a newer clang than the ones previously committed
(109771/93695/84361 bytes), so part of their size change is toolchain, not
this patch.

Verified: base-vs-new screenshots are byte-identical for c64 (hello,
scroll1, test_setirq, musicplayer, allow joymove+key), vic20 (siegegame),
zx (hello, cosmic) and cpc.464 (easy_mode_strings); test-platforms,
test-cli and test-node pass (the one test-node failure, urust
include_bytes!, reproduces with the old wasm).
2026-10-24 13:22:33 +02:00
Steven Hugg c279cf641e change IDE entry from redir.html? to /latest/ 2026-10-21 12:18:14 +02:00
Steven Hugg 650c5cd7ba cli: added --frames-dir --fps option for video; fast-png 6.4.0 2026-10-05 10:22:30 +02:00
Steven Hugg 0d1f77b927 resuming audio goes through resumeAudioContext(); apple2: added Mockingboard 2026-10-04 22:21:24 +02:00
Steven Hugg 60e5577fc3 verilog: record to VCD 2026-10-03 20:34:42 +02:00
Steven Hugg d7e9249d69 vscode: added Machine view and 8bitworkshop panel 2026-10-03 20:18:38 +02:00
Steven Hugg 96d2db2896 vscode: paddle support 2026-10-03 17:16:10 +02:00
Steven Hugg beb4de48f7 added warnings that show up in the IDE and extension (but don't fail the build) 2026-10-03 16:21:20 +02:00
Steven Hugg 344cdd21f9 c64: fullscrollgame-sdcc.c for sdcc4, fixed source line offset bug, test 2026-10-03 15:42:54 +02:00
Steven Hugg 55709205c1 sdcc: added apple2 and c64 support for sdcc 4; serial command for devel-6502; fixed test 2026-10-03 15:01:22 +02:00
Steven Hugg 5c813c2526 cc65: upgraded to V2.19-3867
apple2: added hires tgi driver, patches lores tgi driver in cc65
2026-10-03 09:27:49 +02:00
Steven Hugg bb9bb9a2de nes: fixed for emuworker and new debug adapter 2026-09-28 19:28:38 +02:00
Steven Hugg ea8f79e101 vscode: fixed verilog $readmem, fixed worker listener leak, verilog in CLI 2026-09-27 20:18:01 +02:00
Steven Hugg 7faa39d471 cli: can build/run a project directory by detecting platform/main file 2026-09-27 13:03:02 +02:00
Steven Hugg 4a4f986820 source file detection heuristics; added to CLI for testing 2026-09-26 11:38:04 +02:00
Steven Hugg a74491a994 vcs: refactored so javatari works headlessly (w/o some debugging features) 2026-09-26 05:12:26 +02:00
Steven Hugg 4ddbc7ccec refactored some more stuff for headless 2026-09-26 04:55:35 +02:00
Steven Hugg 2245dbe0e0 fixed input for headless 2026-09-25 21:52:40 +02:00
Steven Hugg 6ae30e5afc vscode: added build + run 2026-09-25 21:28:13 +02:00
Steven Hugg dea718b91a cli: rewrite; symbols and tracing 2026-08-24 11:23:13 +02:00