104 lines
3.3 KiB
INI
104 lines
3.3 KiB
INI
:: pdp9_test.ini
|
|
::
|
|
:: Run the paper tape-based diagnostics for the PDP-9 simulator.
|
|
::
|
|
:: Maximum memory, Extended Arithmetic Element
|
|
set cpu 32k
|
|
set cpu eae
|
|
|
|
cd %~p0
|
|
:: Limit maximum diagnostic execution time
|
|
::
|
|
set runlimit 2 minutes
|
|
set on
|
|
on error ignore
|
|
on runtime echof "\r\n*** Test Runtime Limit %SIM_RUNLIMIT% %SIM_RUNLIMIT_UNITS% Exceeded ***\n"; exit 1
|
|
|
|
:: LAC, TAD, ADD, SAD, XOR and all Operate instruction test (D01A)
|
|
echof -n "\rRunning MAINDEC-9A-D01A PDP-9 Instruction Test 1"
|
|
if not exist diags/maindec-9a-d01a-ph.rim echof "\r\nMISSING - Diagnostic '%~p0diag/maindec-9a-d01a-ph.rim' is missing\n"; exit 1
|
|
att -q ptr diags/maindec-9a-d01a-ph.rim
|
|
:: Break at 13030 to stop execution after a full pass is done.
|
|
de all 0
|
|
nobreak all
|
|
break 13030
|
|
de asw 22
|
|
boot -q ptr
|
|
go -q 13041
|
|
if (PC != 013030 || AC != 000000) echof "Failed."; ex pc; ex ac; exit 1
|
|
echof Passed"
|
|
|
|
:: DZM, DAC, ISZ, JMP, CAL, JMS, XCT, Autoindex, Indirect, Time Clock, PI, DBR (D02A)
|
|
echof -n "Running MAINDEC-9A-D02A PDP-9 Instruction Test 2"
|
|
if not exist diags/maindec-9a-d02a-ph.rim echof "\r\nMISSING - Diagnostic '%~p0diag/maindec-9a-d02a-ph.rim' is missing\n"; exit 1
|
|
att -q ptr diags/maindec-9a-d02a-ph.rim
|
|
:: Break at 6256 to stop execution after a full pass is done.
|
|
de all 0
|
|
nobreak all
|
|
break 6256
|
|
de asw 22
|
|
boot -q ptr
|
|
go -q 6265
|
|
if (PC != 006256 || AC != 000000) echof "Failed."; ex pc; ex ac; exit 1
|
|
echof "Passed"
|
|
|
|
:: JMP Self (D0DB)
|
|
echof -n "Running MAINDEC-9A-D0DB PDP-9 JMP-Self Test"
|
|
if not exist diags/maindec-9a-d0db-ph.rim echof "\r\nMISSING - Diagnostic '%~p0diag/maindec-9a-d0db-ph.rim' is missing\n"; exit 1
|
|
att -q ptr diags/maindec-9a-d0db-ph.rim
|
|
:: Break at 17521 to stop execution after a full pass is done.
|
|
de all 0
|
|
nobreak all
|
|
break 17521
|
|
de asw 17500
|
|
boot -q ptr
|
|
go -q 17500
|
|
if (PC != 017521 || AC != 000000) echof "Failed."; ex pc; ex ac; exit 1
|
|
echof "Passed"
|
|
|
|
:: JMP Self (D0EA)
|
|
echof -n "Running MAINDEC-9A-D0EA PDP-9 JMP Y - Interrupt Test"
|
|
if not exist diags/maindec-9a-d0ea-ph.rim echof "\r\nMISSING - Diagnostic '%~p0diag/maindec-9a-d0ea-ph.rim' is missing\n"; exit 1
|
|
att -q ptr diags/maindec-9a-d0ea-ph.rim
|
|
:: Break at 17474 to stop execution after a full pass is done.
|
|
de all 0
|
|
nobreak all
|
|
de asw 17400
|
|
boot -q ptr
|
|
break 17474
|
|
go -q 17400
|
|
if (PC != 017474) echof "Failed."; ex pc; ex ac; exit 1
|
|
echof "Passed"
|
|
|
|
:: JMP Self (D0FA)
|
|
echof -n "Running MAINDEC-9A-D0FA PDP-9 JMS Y - Interrupt Test"
|
|
if not exist diags/maindec-9a-d0fa-ph.rim echof "\r\nMISSING - Diagnostic '%~p0diag/maindec-9a-d0fa-ph.rim' is missing\n"; exit 1
|
|
att -q ptr diags/maindec-9a-d0fa-ph.rim
|
|
:: Break at 17512 to stop execution after a full pass is done.
|
|
de all 0
|
|
nobreak all
|
|
break 17512
|
|
de asw 17400
|
|
boot -q ptr
|
|
go -q 17400
|
|
if (PC != 017512) echof "Failed."; ex pc; ex ac; exit 1
|
|
echof "Passed"
|
|
|
|
:: JMP Self (D0BA)
|
|
echof -n "Running MAINDEC-9A-D0BA PDP-9 ISZ Test"
|
|
if not exist diags/maindec-9a-d0ba-ph.rim echof "\r\nMISSING - Diagnostic '%~p0diag/maindec-9a-d0ba-ph.rim' is missing\n"; exit 1
|
|
att -q ptr diags/maindec-9a-d0ba-ph.rim
|
|
:: Break at 144 to stop execution after a full pass is done.
|
|
de all 0
|
|
nobreak all
|
|
break 144
|
|
de asw 100
|
|
boot -q ptr
|
|
go -q 100
|
|
if (PC != 000144 || AC != 000000) echof "Failed."; ex pc; ex ac; exit 1
|
|
echof "Passed"
|
|
|
|
echof
|
|
echof "!! All Tests Passed !!"
|
|
echof
|
|
exit 0
|