Add gitlab-ci

This commit is contained in:
s3lph 2022-02-08 12:37:59 +01:00
parent 15e4aab5ff
commit be35e0319a
3 changed files with 20 additions and 3 deletions

12
.gitlab-ci.yml Normal file
View file

@ -0,0 +1,12 @@
---
image: debian:bullseye
build:
script:
- apt update; apt install -y gcc make xa65
- make test
artifacts:
paths:
- "out/memtest*k-f000.901465.bin"

View file

@ -1,7 +1,7 @@
.PHONY: all memtest6502 emu5602 .PHONY: all memtest6502 emu6502
all: memtest6502 emu5602 all: memtest6502 emu6502
clean: clean:
rm -rf tmp out rm -rf tmp out
@ -20,7 +20,10 @@ memtest6502:
xa '-D_MEMEND=$$1000' -M -A F000 -O ASCII -c -C -v -l tmp/memtest4k-f000-ascii.map -o tmp/memtest4k-f000-ascii.o65 src/memtest6502.asm xa '-D_MEMEND=$$1000' -M -A F000 -O ASCII -c -C -v -l tmp/memtest4k-f000-ascii.map -o tmp/memtest4k-f000-ascii.o65 src/memtest6502.asm
dd if=tmp/memtest4k-f000-ascii.o65 bs=1 skip=2 of=out/memtest4k-f000-ascii.emu6502.bin dd if=tmp/memtest4k-f000-ascii.o65 bs=1 skip=2 of=out/memtest4k-f000-ascii.emu6502.bin
emu5602: memtest6502 emu6502: memtest6502
# _END is set to the address of the last instruction s.t. the emulator knows when to terminate # _END is set to the address of the last instruction s.t. the emulator knows when to terminate
gcc -D_END=$$(cat tmp/memtest4k-f000-ascii.map | grep ^done, | cut -d, -f2 | tr -d ' ,') -o out/emu6502 src/emu6502.c src/fake6502.c gcc -D_END=$$(cat tmp/memtest4k-f000-ascii.map | grep ^done, | cut -d, -f2 | tr -d ' ,') -o out/emu6502 src/emu6502.c src/fake6502.c
test: memtest6502
gcc -DNOLIMIT -D_END=$$(cat tmp/memtest4k-f000-ascii.map | grep ^done, | cut -d, -f2 | tr -d ' ,') -o out/emu6502 src/emu6502.c src/fake6502.c
out/emu6502 | tail -30

View file

@ -84,7 +84,9 @@ int main() {
reset6502(); reset6502();
signal(SIGINT, intv); signal(SIGINT, intv);
while (1) { while (1) {
#ifndef NOLIMIT
usleep(1); usleep(1);
#endif
step6502(); step6502();
printf("pass: %02x, address: %02x%02x\n", ram[4], ram[1], ram[2]); printf("pass: %02x, address: %02x%02x\n", ram[4], ram[1], ram[2]);
printf("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n"); printf("┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓\n");