diff --git a/src/syseng/dragon.206 b/src/syseng/dragon.206 index ef799d0c..cb79e7c8 100644 --- a/src/syseng/dragon.206 +++ b/src/syseng/dragon.206 @@ -25,15 +25,13 @@ a=1 b=2 c=3 -dirchn=4 -filchn=5 -jobchn=6 +diric=4 +dskic=5 +usrch=6 .insrt system; fsdefs dirbsz=2000 -nop=jfcl - taraka=sixbit /TARAKA/ channa=sixbit /CHANNA/ rakash=sixbit /RAKASH/ @@ -41,60 +39,60 @@ rakash=sixbit /RAKASH/ lpdl==:100. .vector pdl(lpdl) -go: .call [setz ;; login as TARAKA +taraka: .call [setz ;; login as TARAKA sixbit/LOGIN/ [ taraka ] setzi 0] - nop ;; ignore errors logging in + jfcl ;; ignore errors logging in .suset [.ssnam,,[channa]] ;; set SNAME to CHANNA ;; open CHANNA UDIR - .open dirchn, [.bii,,'DSK ? sixbit/.FILE./ ? sixbit /(DIR)/] + .open diric, [.bii,,'DSK ? sixbit/.FILE./ ? sixbit /(DIR)/] jsr die - .iot dirchn, [-dirbsz,,dirblk] ;; read in UDIR - .close dirchn, + .iot diric, [-dirbsz,,dirblk] ;; read in UDIR + .close diric, move a, dirblk+1 ;; get offset to name area into R1 addi a, dirblk ;; convert to address of name area -filoop: cail a, [ taraka ] ;; have we reached end of buffer? +dr1: cail a, [ taraka ] ;; have we reached end of buffer? jsr die ;; yes, abort move b, ufn1(a) ;; get FN1 into R2 camn b, [ rakash ] ;; is FN1 == RAKASH .call [setz ;; yes, open the file sixbit /OPEN/ - [ .uii,,filchn ] + [ .uii,,dskic ] [ sixbit /DSK/ ] ;; DSK: device [ rakash ] ;; FN1 ufn2(a) ;; FN2 (from dirblk in R1 + 1) setz [ channa ]] - jrst nextfl ;; try next file + jrst nxt ;; try next file .call [setz ;; start create daemon job SIXBIT/OPEN/ - [ .uao,,jobchn ] + [ .uao,,usrch ] [ sixbit /USR/ ] ;; USR: device %climm,,0 ;; use uname of TARAKA setz ufn2(a)] ;; use jname of FN2 of daemon - jrst nextfl ;; process next file on error - .reset jobchn, + jrst nxt ;; process next file on error + .reset usrch, .call [setz ;; load program into job sixbit/LOAD/ - %climm,,jobchn ;; specify job channel - setzi filchn] ;; specify file channel - jrst nextjb ;; on error, clean up job and process next file + %climm,,usrch ;; specify job channel + setzi dskic] ;; specify file channel + jrst nxc ;; on error, clean up job and process next file move b, ufn2(a) ;; get FN2/Job name in R2 - .uset jobchn, [.ssnam,,b] ;; set SNAME of job - .iot filchn, b ;; get starting address? + .uset usrch, [.ssnam,,b] ;; set SNAME of job + .iot dskic, b ;; get starting address? hrrzs b ;; zero out instruction opcode? - .uset jobchn, [.supc,,b] ;; set starting address of new job + .uset usrch, [.supc,,b] ;; set starting address of new job .call [setz ;; disown job (doc doesn't seem to match SIXBIT/DISOWN/ ;; this call from sysdoc; _calls 127 - movei jobchn ;; channel to job + movei usrch ;; channel to job movsi 5 ((setz))] ;; control bits .value ;; kill ourselves on error? caia -nextjb: .uclose jobchn, ;; kill job -nextfl: .close filchn, ;; close file - .close jobchn, ;; close job +nxc: .uclose usrch, ;; kill job +nxt: .close dskic, ;; close file + .close usrch, ;; close job addi a, lunblk ;; compute address of next file - jrst filoop ;; and loop + jrst dr1 ;; and loop die: 0 .logout @@ -102,4 +100,4 @@ die: 0 ufd: block 2000 - end go + end taraka