| 712ea2b4 Andy McCall ↶ |
1 |
|
| 2 |
|
| 3 |
|
| 4 |
|
| 5 |
|
| 6 |
set -eu |
| 7 |
chmod +x x16emu |
| 8 |
printf '10 S=0:FOR I=1 TO 1000:S=S+I*I:NEXT\n20 PRINT "SUM";S\n' >/tmp/sum.bas |
| 9 |
SDL_VIDEODRIVER=dummy SDL_AUDIODRIVER=dummy \ |
| 10 |
./x16emu -rom /opt/x16rom/rom.bin -bas /tmp/sum.bas -run -echo -warp >/tmp/echo.txt 2>&1 & |
| 11 |
emu=$! |
| 12 |
i=0 |
| 13 |
while ! grep -q "SUM 333833500" /tmp/echo.txt && [ $i -lt 120 ]; do |
| 14 |
sleep 1 |
| 15 |
i=$((i + 1)) |
| 16 |
done |
| 17 |
kill $emu 2>/dev/null || true |
| 18 |
tr -cd '[:print:]\n' </tmp/echo.txt |
| 19 |
grep -q "SUM 333833500" /tmp/echo.txt || { echo "boot: BASIC did not print SUM 333833500 within ${i} s"; exit 1; } |
| 20 |
echo "boot: BASIC ran on $(uname -m) in ${i} s" |