Build Capital Quest for CoCo 3 with maps and emulator tests

This commit is contained in:
Brian Holman committed 2026-11-09 18:44:56 -07:00
commit 9f7d6f4786
44 files changed
+6238

No files matched your search

+45
View File
@@ -0,0 +1,45 @@
# Built by VCC Plus using its bundled CMOC/6809 tools. No emulator source needed.
CMOC ?= cmoc
PERL ?= perl
WRITECOCOFILE ?= writecocofile
INSTALL_LOADER ?= install-coco-boot-loader
VCC_CONFIGURATION ?= Release
ifeq ($(VCC_CONFIGURATION),Debug)
OPTIM = -O2 -fno-omit-frame-pointer
else
OPTIM = -O2
endif
ifeq ($(VCC_CONFIGURATION),Test)
CPPFLAGS += -DTEST_SEED=2709
endif
CPPFLAGS += -Iinclude
CFLAGS = --coco --intermediate --deps --stack-space=2048 $(OPTIM)
SOURCES = main.c src/quiz.c src/ui.c src/states.c src/map_data.c
OBJECTS = $(SOURCES:%.c=obj/%.o)
.PHONY: all build disk clean assets test
all: disk
build: build/CAPITAL.bin
disk: build/CAPITAL.dsk
build/CAPITAL.bin: $(OBJECTS)
@mkdir -p build
"$(CMOC)" --coco --intermediate --org=2000 --limit=7800 -o $@ $(OBJECTS) -lgime -linput -lbcontrol -lhirestxt
obj/%.o: %.c include/quiz.h include/ui.h include/map_data.h Makefile
@mkdir -p $(dir $@)
"$(CMOC)" $(CPPFLAGS) $(CFLAGS) --intdir=$(dir $@) -c -o $@ $<
obj/boot.bin: tools/boot.c Makefile
@mkdir -p obj
"$(CMOC)" --dos -O0 --limit=2800 -o $@ $<
build/CAPITAL.dsk: build/CAPITAL.bin obj/boot.bin
$(PERL) -e 'print chr(255) x (35*18*256)' > $@
"$(INSTALL_LOADER)" $@ obj/boot.bin
"$(WRITECOCOFILE)" $@ build/CAPITAL.bin
assets:
python3 tools/prepare_assets.py
test:
@mkdir -p build
cc -std=c99 -Wall -Wextra -Werror -DHOST_TEST -Iinclude tests/test_quiz.c src/quiz.c src/states.c -o build/test_quiz
./build/test_quiz
python3 tests/check_assets.py
clean:
rm -rf obj build
-include $(OBJECTS:.o=.d)