Changes
/* TODO : writing a basic testbench */
00000010
N
SEEK.BAS :
5 OUT &FA7E,1:PRINT"MOTOR ON"
10 PRINT "GOSUB 40 : RECALIBRATE":PRINT "GOSUB 70 : SEEK"
20 PRINT "GOSUB 110 : SENSE_INTERRUPT_STATUS":PRINT "GOSUB 150 : STATUS"
30 END
40 OUT &FB7F,&X00000111
50 OUT &FB7F,&X00000000:PRINT"US1 US0)
60 RETURN
70 OUT &FB7F,&X00001111
80 OUT &FB7F,&X00000000:PRINT"HD US1 US0)"
90 OUT &FB7F,&X00000010:PRINT"TRACK"
100 RETURN
110 OUT &FB7F,&X00001000 //SENSE_INTERRUPT_STATUS
120 PRINT BIN$(INP(&FB7F),8):PRINT"ST0"
130 PRINT BIN$(INP(&FB7F),8):PRINT"PCN CURRENT TRACK"
140 RETURN
150 PRINT BIN$(INP(&FB7E),8)
160 RETURN
CAT
RUN
GOSUB 70 // SEEK
HD US1 US0)
TRACK
GOSUB 150
10000001 // drive0 is seeking
GOSUB 110
00100000 // SEEK END
ST0
00000010
PCN CURRENT TRACK
CAT
RUN
GOSUB 40 // RECALIBRATE
HD US1 US0)
TRACK
GOSUB 150
10000001 // drive0 is seeking
GOSUB 110
00100000 // SEEK END
ST0
00000000
PCN CURRENT TRACK
=== TODO : A X/Y input ===