11 Commits
Author SHA1 Message Date
Stefan Wessels af291dcccf Add an Amiga 500 port for Kickstart 1.3
Own startup and a chunky frame flipped onto bitplanes, booted under FS-UAE with the cursor keys left for the menu.
2026-10-12 20:44:55 -07:00
Stefan Wessels fd7bca9fa1 Add native MEGA65 port and measured search benchmark 2026-10-12 10:27:29 -07:00
Stefan Wessels 4de42f63f1 Add ArchieSDK Acorn Archimedes chess port 2026-10-10 01:16:38 -07:00
Stefan Wessels 401f1a87ca Add an Agon Light port.
Standalone /bin/chess.bin via agondev, C64 320x200 layout on the VDP.
2026-09-18 15:34:09 -07:00
Stefan Wessels a1399314c2 Add a Color Computer 3 port.
CMOC / GIME 320x200x16, C64 layout, Disk BASIC .bin and RS-DOS .dsk.
Quit restores Super Extended BASIC at $8000 and cold-starts.
2026-09-11 00:53:18 -07:00
Stefan Wessels 7a740f5852 Add a TI-99/4A port.
tms9900-gcc, 32K expansion.  The chess is EA5-shaped; a paged378 cart
copies it into RAM so MAME (and js99er) can boot it.  Spectrum 32-column
board, C64 colours.  make ti99 / make ti99 test.
2026-09-10 21:15:10 -07:00
Stefan WesselsandClaude Opus 5 c8954c2fe7 Build: let the environment set the emulator homes, and document the rest.
make/common.mk assigned VICE_HOME and the other emulator homes with :=,
and a makefile assignment beats the environment - so exporting VICE_HOME
was silently blanked and "make plus4 test" ran a bare xplus4 that is not
on PATH.  They are ?= now.  The value is a prefix, so it needs its
trailing slash.

A port name only selects a port, so give it an empty recipe rather than
let make print "Nothing to be done for `plus4'" in front of a test run
that is about to work perfectly well.

recipes/ gets the variables that are easy to lose and fail quietly:
RETRO68 for mac68k, PATH and ZCCCFG for spectrum - zcc compiles and
links the whole program without ZCCCFG and only the .sna step fails,
which reads like a broken install - and the emulator homes for running.
Also that Basilisk holding cc65-Chess.dsk open fails the mac68k build
at hformat with a lock error that looks like a broken toolchain.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 14:53:46 -07:00
Stefan WesselsandClaude Opus 5 facf2525cc Stop two ports spending shared bytes, and re-measure the maps.
board_ApplyMove's log-globals write (added with the ZX Spectrum) and
gGotoTile with its test in human_ProcessInput (added with the Mac 68k)
were unconditional code in src/ for features nine other ports do not
have.  137 bytes on every cc65 target - which cost the Atari a whole
DLIST page, on a machine neither of those compilers can even target.

The Spectrum asks the undo ring itself now.  gGotoTile stays, because a
mouse has to move a cursor that is a file static in human.c and no port
can reach it, but behind PLAT_CURSOR_JUMP, defined only in mac68k.mk.

Every 6502 target recovers 141 bytes (cx16 137 - its 65C02 codegen is
cheaper on the same source), so all of them end up slightly better than
before those two ports landed.  Atari DLIST is back at $7F00 with 42
bytes of padding.  AGENTS.md carries the re-measured numbers, the rule
that a port may not add unconditional bytes to src/, and the log
contract that made pre-filling the globals look like a fix.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-16 14:53:27 -07:00
Stefan Wessels 6e5113ede0 Include mac68k in the default build when Retro68 is found. 2026-08-15 23:30:39 -07:00
Stefan Wessels e0a5225f35 Add a Macintosh 68k port.
Retro68, System 7, 68000.  Gebhart pieces, Finder icon, mouse and keyboard
that hand off without fighting.  `make mac68k` — not a default port.
2026-08-15 23:10:34 -07:00
Stefan Wessels 09c47cb03a Split the build into ports and toolchains.
A port is no longer a cl65 -t name. GNU Make dispatches from make/ports
and make/toolchains, so Spectrum (z88dk) and the host term build sit next
to the cc65 targets. Products land in build/<port>/; make help / make list
show the verbs and which compilers this machine has. make apple2 po is one
invocation.
2026-08-15 18:50:07 -07:00