Skip to content

floooh/kc85.zig

Repository files navigation

build

A simple KC85/2, /3 and /4 emulator for Windows, macOS and Linux, written in Zig. Uses the sokol headers for platform abstraction.

Read more about the KC85 computer series here:

Some implementation notes.

Build

With Zig the 0.12.0 dev version, on Windows, macOS or Linux:

zig build

The default debug version will usually be fast enough. To build with optimizations use any of:

zig build -Doptimize=ReleaseFast
zig build -Doptimize=ReleaseSmall
zig build -Doptimize=ReleaseSafe

NOTE: On Linux you also need to install the ALSA, X11 and GL development packages.

Build and start into KC85/2, /3 and /4

zig build run-kc852
zig build run-kc853
zig build run-kc854

Run zig build --help to see the remaining build targets.

NOTE: when running any of the games, turn down your sound volume first. The raw square-wave sound can be a bit "aggressive". You have been warned ;)

Run Digger

zig build run-kc853 -- -slot8 m022 -file data/digger3.tap

Digger Screenshot

Press [Enter] to start a new game round, and [Esc] to continue after you died. Use the arrows keys to navigate.

Run Jungle

zig build run-kc853 -- -slot8 m022 -file data/jungle.kcc

Jungle Screenshot

Navigate with arrow keys, jump with [Space].

Run Pengo

zig build run-kc853 -- -file data/pengo.kcc

Pengo Screenshot

Navigate with the arrow keys, continue running against an ice block to push or destroy the block.

Run FORTH on the KC85/4

zig build run-kc854 -- -slot8 m026 data/forth.853

On the KC85/4's command line, first activate the module, and then start Forth:

switch 8 c1[Enter]
forth[Enter]

(the characters will appear uppercase, don't worry, that's normal)

FORTH Screenshot

Run in web browsers

Currently only running the 'plain' emulator is supported, it's not possible to load files into the emulator (because command line parsing doesn't work in browsers, and the Zig stdlib filesystem code doesn't work in wasm32-emscripten):

zig build -Dtarget=wasm32-emscripten -Doptimize=ReleaseFast run-kc854

On the first build, the Emscripten SDK will be downloaded and installed into the global Zig cache, this might take a couple of minutes.

Misc Stuff

For an instant nostalgia kick, start the KC85/4:

zig build run-kc854

...and then type this into the KC85/4 command line.

Make sure your audio volume isn't silent, but don't turn it up too much!

save f000 f800[Enter]

...type anything for the name, and hit Enter again :D

About

A KC85 emulator written in Zig

Topics

Resources

License

Stars

Watchers

Forks