Document VICE headless limitations; rely on oscar64 emulator for default test path

VICE x64 is a GUI emulator that requires a real X11/Wayland display.
In this headless environment the KERNAL/BASIC/CHAR/1541 ROMs had to be
fetched manually, autostart produced blank screenshots (no display
to render to), and no other C64 emulator is installed. The oscar64
built-in emulator (-e) is the practical headless test tool. VICE is
left in build.sh as -v / -V for interactive use in a real terminal
session, but tasks.md and README.md are updated to reflect that the
development loop and all Verify steps use the oscar64 emulator.
Removed the failed test artifacts from src/build/.
This commit is contained in:
ballz
2026-07-17 01:03:01 +02:00
parent 0f8503f9f7
commit 1cd3a962e6
3 changed files with 96 additions and 71 deletions
+15 -7
View File
@@ -32,19 +32,27 @@ git submodule update --init --recursive
```sh
cd src
./build.sh # compile helloworld.c → src/build/helloworld.prg
./build.sh -e # run in oscar64's built-in emulator (fastest)
./build.sh -v # run in VICE x64 (standard, fast)
./build.sh -V # run in VICE x64sc (cycle-exact, slow but bit-perfect timing)
./build.sh -e # run in oscar64's built-in emulator (headless, fast)
./build.sh -v # run in VICE x64 (interactive, needs a real display)
./build.sh -V # run in VICE x64sc (interactive, cycle-exact)
./build.sh -c # just compile
```
`build.sh` will build the oscar64 compiler automatically the first time
(it runs `make -C make compiler` inside `./oscar64/` if
`./oscar64/bin/oscar64` doesn't exist yet).
VICE 3.9 is installed at `/usr/bin/` and provides `x64`, `x64sc`,
`x128`, `xvic`, `xpet`. We target the C64, so `x64` (fast) and
`x64sc` (cycle-exact) are the two we use. `x64sc` is the one that
matches real-hardware timing for the raster IRQ and SID tests.
**Default test tool is the oscar64 built-in emulator** (`-e`): it
runs headless, needs no ROMs, no display, and is fast. Every `Verify`
step in `tasks.md` uses this.
**VICE 3.9 is installed** at `/usr/bin/` (`x64`, `x64sc`, `x128`,
`xvic`, `xpet`) and is available via `-v` / `-V`. It is a GUI
emulator and **needs a real X11 / Wayland display to render** — it
won't produce useful screenshots in this headless environment.
Use it from a real terminal session for interactive play-testing
and cycle-exact validation of raster IRQ and SID timing; don't
expect to script it.
## Documentation