Skip to content

CPC Runner Examples

Basic Usage

Run a Snapshot

bndbuild --direct -- cpc run --snapshot demo.sna

Run with Disk Image

bndbuild --direct -- cpc run -a game.dsk

Run with Two Disks

bndbuild --direct -- cpc run -a disk1.dsk -b disk2.dsk

Choosing Emulators

Use WinAPE (Windows)

bndbuild --direct -- cpc run -a game.dsk -e winape

Use ACE (Default)

bndbuild --direct -- cpc run -a game.dsk -e ace

Use CPCEC

bndbuild --direct -- cpc run --snapshot demo.sna -e cpcec

Memory Configuration

128KB CPC

bndbuild --direct -- cpc run -a game.dsk -m 128

64KB CPC 464

bndbuild --direct -- cpc run -a game.dsk -m 64

Development Workflow

Keep Emulator Open for Testing

bndbuild --direct -- cpc run -a test.dsk -k

Load Debug Symbols

bndbuild --direct -- cpc run -a demo.dsk -d demo.sym -e ace

Auto-run Specific File

bndbuild --direct -- cpc run -a disk.dsk -r DEMO.BIN

Albireo Virtual Filesystem (ACE)

Mount Local Folder

bndbuild --direct -- cpc run --albireo ./files/ -e ace

Files in the ./files/ folder will be accessible from the CPC.

Integration Examples

In bndbuild.yml - Test Task

- tgt: test
  dep: demo.sna
  cmd: cpc run --snapshot demo.sna -k
  phony: true

Run with Specific Memory

- tgt: run128
  dep: game.dsk
  cmd: cpc run -a game.dsk -m 128 -k
  phony: true

Multi-disk Demo

- tgt: run-demo
  dep: [demo1.dsk, demo2.dsk]
  cmd: cpc run -a demo1.dsk -b demo2.dsk -e ace
  phony: true

Troubleshooting

Clear Emulator Cache

bndbuild --direct -- cpc run -c

Force ACE Download

# Clear cache then run
bndbuild --direct -- cpc run -c -a game.dsk -e ace

Advanced Scenarios

Disable Orgams ROM

bndbuild --direct -- cpc run -a disk.dsk --disable-rom orgams

Development Cycle

# Build, then run with debugging
bndbuild build && bndbuild --direct -- cpc run -a output.dsk -d output.sym -k

Cross-emulator Testing

# Test on multiple emulators
for emu in ace winape cpcec; do
  bndbuild --direct -- cpc run -a demo.dsk -e $emu
done