; -*- Midas -*- ; Tape open mode bits %mt==:1,,770452 ; In LH of .OPEN arg %mtout==:000001 ; Out, not In %mtblk==:000002 ; Block, not Unit %mtimg==:000004 ; Image, not ASCII %mtchk==:000010 ; Chunk mode, unimplemented on KS %mtnsk==:000020 ; Don't skip to EOF on last close on read %mtpar==:000040 ; Even parity, not Odd %mtbpi==:000100 ; 0 => default (non-KS: 800) ; 1 => 800 (non-KS: 200) ; 2 => 1600 (non-KS: 556) ; 3 => 6250 (non-KS: 800) %mtibm==:000400 ; IBM mode on 9 track drives and > 800 BPI %mtwpr==:001000 ; 0 => 2000 Words Per Record ; 1 => 1000 ; 2 => 400 ; 3 => 200 ; 4 => 100 ; 5 => 40 ; 6 => 20 ; 7 => 10 ; Tape status bits %ms==:0,,525277 ; In RH of .STATUS word %mscod==:000001 ; 15 %msout==:000100 ; Out, not In %msblk==:000200 ; Block, not Unit %msimg==:000400 ; Image, not ASCII %msemt==:001000 ; System buffers empty %msful==:002000 ; System buffers full %msbot==:004000 ; Beginning of tape %mseot==:010000 ; End of tape %ms9tk==:020000 ; 9 track, not 7 track %msibm==:040000 ; IBM mode (KS only) %msidl==:100000 ; Transport idle (KS only) %mseof==:200000 ; EOF (last thing seen was a tape mark) ; (KS only?) ; Tape commands ; MOVE AC,[CHTAPE,,[,,]] ; .MTAPE AC, ; If is 0, it is taken to be 1 instead. %mc==:0,,-1 ; In RH of some literal %mchng==:0 ; Wait for operation to finish %mcbot==:1 ; (R) Start rewind %mcunl==:2 ; (R) Start unload %mceor==:3 ; (W) Write EOR %mc3in==:4 ; (W) Write 3 inches of blank tape %mceof==:5 ; (W) Write EOF %mcrsk==:6 ; (R) Skip over records %mcskp==:7 ; (R) Skip over files ; %MCRSK & %MCSKP stop at EOT or BOT. %mceot==:10 ; Position at EOT (between the two EOFs) %mcrst==:11 ; Reset the tape system %mcset==:12 ; (W) Set record size to words %mcget==:13 ; Get record size into AC