Пример простого цикла разработки.
Допустим, есть ваша программа rk86_example.asm
:
org 0
lxi h, msg
call 0f818h
jmp 0f86ch
msg db 'EXAMPLE', 0dh, 0ah, 0
Создаете репозиторий rk86-example
на GitHub.
Кладете туда исходник и создаете Makefile
:
TARGET=rk86_example
RUN=https://rk86.ru/index.html?file=
all: build hex
build:
zasm --asm8080 -l0 $(TARGET).asm
hex:
python rk86_hex.py -i $(TARGET).rom -o $(TARGET).bin
run:
open $(RUN)https://raw.githubusercontent.com/begoon/rk86-example/main/$(TARGET).bin
clean:
-rm $(TARGET).rom
Далее цикл разработки выглядит так:
- файл
rk86_example.asm
редактируется локально make
илиmake build
компилиет файлrk86_example.rom
и создаст выходной текстовый файлrk86_example.bin
rk86_example.bin
теперь надо закоммитить и сделатьpush
, чтобы файл ушел на github и стал доступен для скачивания в формате rawmake run
запускает файл в эмуляторе
Для данного Makefile
требуется ассемблер zasm и программа rk86_hex.py.
Как собрать zasm
Проверялось на Mac.
cd your/development/folder
git clone git@github.com:Megatokio/zasm.git
git clone git@github.com:Megatokio/Libraries.git
cd zasm
make
./zasm
Должно вывести что-то вроде:
zasm - 8080/z80/z180 assembler (c) 1994 - 2021 Günter Woigk.
version 4.4.8, 2021-03-09, for Unix-MacOSX.