blob: d4f9bc731a1ca1b6ad32662f25bbd48064e8aac0 [file] [log] [blame] [raw]
; This is a super simple simh script to test the IMP RTC and verify that it is
; incrementing at the correct 100us interval. It simply waits for the clock
; count to overflow (which takes 65535 * 100us or about 6.5 seconds) and then
; repeats for a total of 10 iterations. If all is well, this loop should take
; pretty close to 65 seconds to complete.
;
; RLA [15-Jun-13]
echo
echo SIMH IMP RTC INTERVAL CALIBRATION TEST
; Turn on the RTC (this requires extended interrupt support)
set cpu extint=16
set rtc enabled
; Turn the clock on (OCP 40 ==> CLKON) ...
d 1000 030040
; Loop reading the clock register until it becomes negative ...
d 1001 131040
d -m 1002 HLT
d -m 1003 SMI
d -m 1004 JMP 1001
; Loop reading the clock register until it becomes positive again ...
d 1005 131040
d -m 1006 HLT
d -m 1007 SPL
d -m 1010 JMP 1005
; And repeat the above for ten iterations ...
d -m 1011 IRS 1015
d -m 1012 JMP 1001
d -m 1013 HLT
d -m 1014 0
d -m 1015 177766
; That's it...
d p 1000
echo Start your stopwatch and at the same moment type "GO".
echo The program should halt in exactly 65 seconds ...