; FILE: ' DDTapeDefs.mu '
; 
; Last modified by Tim Diebert, March 4, 1981  9:26 AM
;



; Read task functions

$GoCmd		$L020015,000000,120000;	F1=15  GoCmd←
$FmtCmd	$L020016,000000,120000;	F1=16  FmtCmd←
$Reset		$L016017,000000,000000;	F1=17  Reset
$EnWrite	$L024011,000000,000000;	F2=11  Enable Write Word Task
$TReadF1	$L016014,070014,000100;	F1=14, BS=2, Bus AND ← TReadF1
$TReadF2	$L024017,066017,000100;	F2=17, BS=2, Bus AND ← TReadF2

$SIO9Reset	$L024012,000000,000000;	F2=12  Reset SIO bit 9 started wakeup
$EnRead		$L024013,000000,000000;	F2=13  Enable read task
$TStatus		$L000000,066014,000100;	F2=14, BS=2 ← TStatus

; Write task functions.

$TWrite		$L026015,000000,120000;	F2=15  TWrite←
$TLastByte	$L026016,000000,120000;	F2=16  TLastByte←

;Tape controller constants

$ForcedReset	$1;	Force Reset FF bit
$ResetWriteTask	$2;	Force Reset Write Task FF bit
$ZeroCmd	$20;	Reset Command reg without screwing it up due to bus sex change.
$ResetFMTEnbl	$0;	Reset Formatter Enable Flip flop
$SetFMTEnbl	$30;	Set Fomatter Enable Flip flop
$SetResetWriteTask	$60;	Set Reset Write Task Flip flop
$RdyOnl		$140000;	Drive Ready and OnLine
$NoOpCmd	$37;	NoOp command value
$StatusMask	$177760;	Mask off the unneeded stuff
$RewindCmd	$21;	Hardware Rewind
$UnloadCmd	$22;	Hardware Unload
$GO		$24;	GO to the formatter
$FmtBusy	$10;	Formatter Busy
$ReadAfterWriteBit$20000;	Read after write set.
$DataLateBit	$40;
$IErase		$1;	IErase line in the interface.
$FileProtectBit	$10000;	File Protect bit in the interface.

; Offsets into the TCB

$ReadOffset	$2;	Read count & addr
$WriteOffset	$4;	Write count & addr
$ByteCountOffset	$6;	Byte count word
$StatusOffset	$7;	Status word

; Constants for determining the record type


; R registers for both tasks

; These registers MUST be in the low 32 group

$Command	$R62;	Command Storage register
$TCBBase	$R63;	TCB base address
$ReadPtr		$R64;	Read address
$ReadBufSize	$R65;	Read Buffer Size
$WritePtr	$R66;	Write address
$WriteByteCnt	$R67;	Write byte cnt
$WriteTapeData	$R17;	Write temp storage
$ReadTapeData	$R16;	Read temp storage
$ByteCnt		$R15;	Useful byte count
$ReadWordCnt	$R73;	Useful word count Read Task
$WriteWordCnt	$R14;	Useful word count Write Task
$EndReadBuf	$R75;	End of the read buffer area.
$ReadBufStart	$R76;	Start of the read buffer area.

; Multiple definitions for registers used in two places


$M	$R40;	The other L register

; Left overs
$1	$1;