Skip to content

Commit 840d3d4

Browse files
committed
fix(sdk): add c128/supervision/dodo/pet support
1 parent b0a1e31 commit 840d3d4

9 files changed

Lines changed: 677 additions & 30 deletions

File tree

.github/workflows/ci.yml

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,8 +63,11 @@ jobs:
6363
- name: Build NES examples and generate Mesen label files
6464
run: zig build nes-hello1 nes-hello2 nes-hello3 nes-zig-logo nes-fade nes-sprites nes-random nes-pads nes-color-cycle nes-fullbg nes-mappers nes-bat-ball nes-megablast nes-gg-demo nes-cnrom-hello nes-cnrom-sprites nes-unrom-hello nes-unrom-512-hello nes-unrom-color-cycle nes-mmc1-hello nes-mmc1-sprites nes-mmc3-hello nes-mmc3-pads nes-gtrom-hello nes-gtrom-color-cycle nes-action53-hello fds-hello gen-labels --summary all
6565

66-
- name: Build Commodore examples (C64, VIC-20, CX16, GEOS)
67-
run: zig build c64-hello c64-fibonacci c64-plasma vic20-hello cx16-hello cx16-k-console-test geos-hello --summary all
66+
- name: Build Commodore examples (C64, VIC-20, C128, PET, CX16, GEOS)
67+
run: zig build c64-hello c64-fibonacci c64-plasma vic20-hello c128-hello pet-hello cx16-hello cx16-k-console-test geos-hello --summary all
68+
69+
- name: Build Supervision and Dodo examples
70+
run: zig build supervision-hello dodo-hello --summary all
6871

6972
- name: Build Atari examples (Lynx, 2600, 8-bit, 5200)
7073
run: zig build lynx-hello atari2600-colorbar atari2600-3e-colorbar atari8dos-hello atari8-cart-hello atari8-megacart-hello atari8-xegs-hello atari5200-cart-hello --summary all
@@ -75,6 +78,9 @@ jobs:
7578
- name: Build SNES examples
7679
run: zig build snes-hello snes-color-cycle snes-zig-logo snes-pi-test snes-pi-fastrom snes-hirom-hello snes-pads --summary all
7780

81+
- name: Build Ben Eater 6502 examples
82+
run: zig build eater-hello-lcd eater-asm-clobber --summary all
83+
7884
- name: Build Apple IIe and mos-sim examples
7985
run: zig build apple2-hello run-sim-hello --summary all
8086

@@ -93,12 +99,15 @@ jobs:
9399
action53-hello.nes fds-hello.fds \
94100
c64-hello.prg fibonacci.prg plasma.prg \
95101
vic20-hello.prg \
102+
c128-hello.prg pet-hello.prg \
96103
cx16-hello.prg cx16-k-console-test.prg \
97104
geos-hello.cvt \
105+
supervision-hello.sv dodo-hello \
98106
lynx-hello.bll \
99107
colorbar.a26 colorbar-3e.a26 \
100108
atari8dos-hello.xex atari8-cart-hello.rom atari8-megacart-hello.rom atari8-xegs-hello.rom atari5200-cart-hello.rom \
101109
pce-color-cycle.pce pce-color-cycle-banked.pce \
110+
eater-hello-lcd.rom eater-asm-clobber.rom \
102111
mega65-hello.prg viciv.prg \
103112
graphics.neo \
104113
snes-hello.sfc snes-color-cycle.sfc snes-zig-logo.sfc snes-pi-test.sfc snes-pi-fastrom.sfc snes-hirom-hello.sfc snes-pads.sfc \

README.md

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,18 @@ zig build c64-hello
5454
zig build c64-fibonacci
5555
zig build c64-plasma
5656

57+
# Commodore 128
58+
zig build c128-hello
59+
60+
# Commodore PET
61+
zig build pet-hello
62+
63+
# Supervision
64+
zig build supervision-hello
65+
66+
# Dodo
67+
zig build dodo-hello
68+
5769
# Commander X16
5870
zig build cx16-hello
5971
zig build cx16-k-console-test
@@ -99,6 +111,10 @@ zig build sim-hello
99111
Optional platforms:
100112

101113
```sh
114+
# Ben Eater 6502
115+
zig build eater-hello-lcd
116+
zig build eater-asm-clobber
117+
102118
# MEGA65 — mega65-libc fetched automatically via build.zig.zon
103119
zig build mega65-hello
104120
zig build mega65-plasma
@@ -196,6 +212,10 @@ Output files land in `zig-out/bin/`.
196212
| `c64-hello`, `c64-fibonacci` | Commodore 64 | mos6502 | `.prg` |
197213
| `c64-plasma` | Commodore 64 | mos6502 | `.prg` |
198214
| `vic20-hello` | Commodore VIC-20 (24K) | mos6502 | `.prg` |
215+
| `c128-hello` | Commodore 128 | mos6502 | `.prg` |
216+
| `pet-hello` | Commodore PET | mos6502 | `.prg` |
217+
| `supervision-hello` | Watara Supervision | mos65c02 | `.sv` |
218+
| `dodo-hello` | Dodo | mos65c02 | (raw) |
199219
| `cx16-hello` | Commander X16 | mosw65c02 | `.prg` |
200220
| `cx16-k-console-test` | Commander X16 | mosw65c02 | `.prg` |
201221
| `lynx-hello` | Atari Lynx | mos6502 | `.bll` |
@@ -218,6 +238,8 @@ Output files land in `zig-out/bin/`.
218238
| `snes-hirom-hello` | SNES HiROM | mosw65816 | `.sfc` |
219239
| `snes-pads` | SNES LoROM | mosw65816 | `.sfc` |
220240
| `sim-hello` | mos-sim (6502 simulator) | mos6502 | binary |
241+
| `eater-hello-lcd` | Ben Eater 6502 LCD | mosw65c02 | `.rom` |
242+
| `eater-asm-clobber` | Ben Eater 6502 asm clobber test | mosw65c02 | `.rom` |
221243
| `mega65-hello`, `mega65-plasma` | MEGA65 | mos45gs02 | `.prg` |
222244
| `mega65-viciv` | MEGA65 VICIV | mos45gs02 | `.prg` |
223245
| `apple2-hello` | Apple IIe ProDOS | mos6502 | `.sys` |
@@ -269,7 +291,7 @@ zig-out/bin/bininfo <file> [files…] [flags]
269291

270292
Flags may appear before or after filenames.
271293

272-
Detected formats: iNES 1.0/2.0 (`.nes`), SNES SFC/SMC (`.sfc`/`.smc` — SMC 512-byte copier header auto-stripped), FDS raw (`.fds`), GEOS CVT (`.cvt`), CBM PRG (`.prg`), Atari 2600 (`.a26`), Atari 8-bit cart (`.rom`), Atari XEX (`.xex`), Lynx BLL (`.bll`), PC Engine (`.pce`), Neo6502 (`.neo`), Apple IIe ProDOS (`.sys`), mos-sim binary, ELF. HiROM vs LoROM is auto-detected from map-mode byte.
294+
Detected formats: iNES 1.0/2.0 (`.nes`), SNES SFC/SMC (`.sfc`/`.smc` — SMC 512-byte copier header auto-stripped), FDS raw (`.fds`), GEOS CVT (`.cvt`), CBM PRG (`.prg`), Atari 2600 (`.a26`), Atari 8-bit cart (`.rom`), Atari XEX (`.xex`), Lynx BLL (`.bll`), PC Engine (`.pce`), Watara Supervision (`.sv`), Neo6502 (`.neo`), Apple IIe ProDOS (`.sys`), mos-sim binary, ELF. HiROM vs LoROM is auto-detected from map-mode byte.
273295

274296
```sh
275297
# Inspect a built NES ROM

0 commit comments

Comments
 (0)