@@ -137,6 +137,53 @@ jobs:
137137 echo 'kernel_build=PASS'
138138 } | tee "$GITHUB_WORKSPACE/artifacts/hatari-m4-3-tt-freemint-build.txt"
139139
140+ - name : Boot FreeMiNT 68030 on Hatari TT
141+ if : matrix.profile == 'tt'
142+ run : |
143+ set -eux
144+ root="$(find artifacts/freemint-tt -type d -name drive_c -print -quit)"
145+ test -n "$root"
146+ rm -rf artifacts/tt-freemint-C
147+ cp -a "$root" artifacts/tt-freemint-C
148+ cp artifacts/mint030.prg artifacts/tt-freemint-C/MINT030.PRG
149+ cnf="$(find artifacts/tt-freemint-C/mint -mindepth 2 -maxdepth 2 -type f -iname mint.cnf -print -quit)"
150+ test -s "$cnf"
151+ eth0_script="$(find artifacts/tt-freemint-C -type f -path '*/sys-root/bin/eth0-config.sh' -print -quit)"
152+ test -s "$eth0_script"
153+ cat >> "$eth0_script" <<'EOF'
154+
155+ # Ploos-AS M4.3 Hatari TT guest execution probe
156+ echo 'Ploos-AS atari-runtime FreeMiNT Hatari TT execution PASS' > /tmp/PLOOSPASS.TXT
157+ cp /tmp/PLOOSPASS.TXT /c/PLOOSPASS.TXT || true
158+ cp /tmp/PLOOSPASS.TXT u:/c/PLOOSPASS.TXT || true
159+ EOF
160+ grep -Ein 'exec|init|shell|bash|xaaes|xaloader' "$cnf" | tee artifacts/hatari-tt-mint-cnf-hooks.txt || true
161+ rm -f artifacts/tt-freemint-C/PLOOSPASS.TXT artifacts/tt-freemint-C/ploospass.txt
162+ set +e
163+ docker run --rm \
164+ -v "$PWD/artifacts:/runtime/artifacts" atari-runtime:m2 \
165+ sh -c 'set +e; Xvfb :99 -screen 0 1024x768x24 >/tmp/xvfb.log 2>&1 & x=$!; export DISPLAY=:99; sleep 1; timeout --signal=TERM --kill-after=3s 90s hatari --machine tt --memsize 4 --tos /runtime/roms/emutos.img --harddrive /runtime/artifacts/tt-freemint-C --gemdos-drive C --auto MINT030.PRG --trace os_base,gemdos --trace-file /runtime/artifacts/hatari-m4-3-tt-freemint-trace.log --log-level debug --log-file /runtime/artifacts/hatari-m4-3-tt-freemint-debug.log >/runtime/artifacts/hatari-m4-3-tt-freemint-stdout.log 2>/runtime/artifacts/hatari-m4-3-tt-freemint-stderr.log; rc=$?; cp /tmp/xvfb.log /runtime/artifacts/hatari-m4-3-tt-freemint-xvfb.log; kill "$x" 2>/dev/null || true; wait "$x" 2>/dev/null || true; exit "$rc"'
166+ rc=$?
167+ set -e
168+ cat artifacts/hatari-m4-3-tt-freemint-stderr.log || true
169+ grep -Ei 'FreeMiNT|MiNT|xaaes|xaloader|panic|fatal|error' artifacts/hatari-m4-3-tt-freemint-{stdout,stderr,debug,trace}.log 2>/dev/null | tail -n 400 | tee artifacts/hatari-m4-3-tt-freemint-visible.log || true
170+ marker="$(find artifacts/tt-freemint-C -iname 'ploospass.txt' -type f -print -quit)"
171+ test -n "$marker"
172+ test -s "$marker"
173+ tr -d '\r' < "$marker" | grep -Fxq 'Ploos-AS atari-runtime FreeMiNT Hatari TT execution PASS'
174+ {
175+ echo 'milestone=M4.3'
176+ echo 'profile=tt-freemint'
177+ echo 'emulator=Hatari'
178+ echo 'machine=tt'
179+ echo 'cpu=68030'
180+ echo 'kernel=mint030.prg'
181+ echo 'kernel_build=PASS'
182+ echo 'guest_marker=PASS'
183+ echo "hatari_exit=$rc"
184+ echo "marker=$marker"
185+ } | tee artifacts/hatari-m4-3-tt-freemint-result.txt
186+
140187 - name : Verify Atari-side GEMDOS execution evidence
141188 run : |
142189 test -s artifacts/MINPASS.TXT
0 commit comments