TSS/C SINSTALLD110H }00894C @301792 INSTALL &MASTER Z *% *02369B N*S )Copyright 1981 North Star Computers, Inc.1p&@?!,",~#(Gy x& x&North Star Computers, Inc. -- TSS/C File Loader x&Release 1.1.0H x& x& This program loads the TSS/C distribution files x& onto the Hard Disk.x& Do you wish to proceed? 'K, ( w ((# 6 C,͉' >@G> 7(_( {=(x& +w 8z(~G> #!,e',x& :,N,Yʬ(x& Y or N please.B'e!>Jʬ(2,x&Attempt to access account SYSTEM,101 failed. x&Error code = >ˁ͆(͆(͆(͆(><"e(8*e( A0G> *,g(+>~s#r#w!Y-c-ͮ()x& TSS/C master file  ~#Gy !Y-(x&does not exist. +x&Loading - WMS4)#^#V#S2)^#V#^#V#~26)7?R#[2)s#r###s#r#:6)O>[4)*2)7)"!c-m-0){+:m-+!p-,~(#6 #6!,(!,>Jb*(_2,x& File operation on file !,(x& failed. Error code = *,g(> Jx& +!,!I,>J)!I,!> J)!I,>J)!,>J):-2{/:-2}/!,"~/*-"/:-2/!{/>J)!,!I,>J)!I,*-> J):~-2X-!"p/*O,"k-!c-m-0){+!I,!m/>J)*p/#"p/*k-+"k-|¿*!I,>J)!,:X-G>J)x& .)x& x& All files successfully copied. Remember to run x& TSSGEN before activation.,x& x& ---->> Premature end of file on distribution disk. x& +x&Please contact your dealer for assistance. ,x& 25( )MASTER,1 m-TSS/C&&1E&@?'& &K- ( w ((# 6 C-z& >@G> 7(_( "{=(~#(Gy ͡& +w 8z(~G> #!K&V&!K& 0:?0))) O Q&"-TSS/C-SPOOL,SYSTEM,101 - ͡& North Star TSS/C Loader, Release 1.1.0H ͡& Copyright 1982 North Star Computers, Inc.͡& : (2͡&Incompatible version of HDOS in use. (>J>25 #͡&TSS/C already loaded. ({+{+:R! 8!h"-S->J!'>J(*͡&Cannot find  ~#Gy !';((͡&Initializing !-;(͡&...!->J( ,!->J,!->J,!-!->J,!-!> J,!-*W2&> J,!-!->J,!+͡& Loading job segments.>@:A2(!=>!>!B&@!2͡&. !-"-͡&Enter current date and time? !-V&͡& X)!-"-~ )//- E-2-/- E-2- /-dE-2-*-~ ):/-E-2-/- # > G> :-%-ͬ* 007G> ͟*>/G> :-%-͟*>/G> :-%-͟*> G> :-%-͟*>:G> :-%-͟*>:G> :-%-͟**#[KKN(,>>!O:N()VQ# Q Q@QQ7Q P  =>G^>A*-*->P!8 (͡&Clock header missing or incorrectly wired. ͡& (s1@@H!@ x(Y@>.G> {>HG>>ɯ2=! "!"! "!"?!"B!"E>2!"!"#!!"N!"K!+!?!-#~!06,͡& Operation on file !-;(͡& failed - (G><'*-~ ( S&8| }͡&Error in time set string, ͡&correct format is MM/DD/YY HH:MM:SS X)SunMonTueWedThuFriSat CP/M-VOLS-WKF,SYSTEM,101-áëî'REJÒVq5YG       )@Yy<\<^7GWm!3EWi{ /ASeNot Logged In Not Logged In Not Logged In Not Logged In Not Logged In Not Logged In #"!Not Logged In '&%Not Logged In +*)Not Logged In /.-Not Logged In #6I\R (5:@22":2@ͽ6>2*"n f ""{>v> ~2>2>>>:*ͽ*ͽAO~ *>@w~5O  ~AbO~8*> w~O<w4  pxAF>O|ʺ:=Į*~ ~( 6 VOAb~= yLNFAxɯ'|7ɷ >î*~ ~  A~?>ɷ*~ ~ A~??>*~ ~ ( 61"""vS+C*!6dTSS/C-LOGIN 1*~2<!> J(!@:B($ : ~2B*6!45!4!5 >2B:@(>254-*"!":@2>2*"0x338**!-Ɯ-22!-!0:_!V#fj'MV'''MM'(E'''''''''%''(quz:*~ 25033'3'>*N(> 23>*:ݶw^VF~ ^>$>$>$^VF~ '|^>$>$x>$^V~ ^>$>'10*~'> ͒*6>Ò0'>^>$'>* xeK^>$>('''g:@Wɯ!*^*@&6ALVG͜> -!0g:A=}>>}>> }>-2sB1d&*z'[|'{B0s{1'!9W!wW!oW_^#V!ͽ! y ɛ1!YY""*6~2<^>$(-"![!*!*0:#(O;s$1B".{$I;OG>Vy!@G>VI>:@2C>V>2C-sB1d+@{B0-sB1dAF{B0{B:@!B 0*~(:N>(!= s 1$: RQ*+"|( { { s 1$R{ s 1$>Rs 1$)Rs 1$IR1>20~# *(b{("z'S|'!z'K':_!&&~#fo'3&&&&3&(I~>ʈ&S''{X&z>ʈ&T]B( DM!:@2~'>Ì&+~2~'>Ì&:~'G͛&>ˆ&+x~2~'( S'ŷBDM!>Ì&>Ì&&>ˆ&+~2~'>Ì&&K'8&>e'x~(S' 2~'>q'>Ì&>È&!'~ #d'0d'<~?>~(d'xyo$HOB**u t ~w>@2!:@(: 26qMQ:AGW:<8 ( >>26~(-~ &!q( 8@0&1_!i(^#V#d((:(@A~d A~ d~d!B~:wd6>_*wL! .~ ##ó(>62.{ݾ(:.!B(#(, ~#(ͪ-) Job Port Mem Pri SpTO ) --- ---- --- --- ---- :AG:A_6!. )->) {͂-~ ) Free/_o-{ݶ> )>/ͪ-{>DĪ-~> (>Sͪ-{> ̪-~o-)k ~o-) ~o-) [)) )A)bort, C)hange, S)uspend, R)evive, P)riority, )T)imeout or E)xit: ý*K. ( w ((# 6 C.c* >@G> 7(_( "{=(~#(Gy ͊* +w 8z(~G> #!.?*0 ) )) :._2.A +C+Sʟ+R+P,Tn,E,)))Abort and )Change to-C+ -!A06~( ()*:.Ad) - Done. ~˿w!.~˿ ~8 ~0w:.A !u t 6ó()Suspend,0)* --,) - Job suspended. -)Revive,0)* --,) - Job revived. -)Set priority of,0)* -) to: "-8(w) - Priority set. -)Set spooler timeout of,0)* -) to: "-8(w) - Timeout set. -)Exiting. -ó(-!A?6~7~2.:.w) )) job: V- !%-?*!%- 0:?0))) O +-".:%- :.7<:.?> ͪ-ˁ͆-͆-/2 .8x0 A > ͪ-: .> ͪ-G>  ͊* ͊* Not Logged In .!K( 8 = 2>x2>1x!.!>>J m!>>J b"G"I!M".!M>J K!M!M>J 2M>J $!M>J !M".!M>J >VQ0!.͵!.͵!.͵. TSS/C-SPOOL,SYSTEM,101 Fatal open error, HALTͽ4ͱ2͖4_0>͢2A2>G2>6~6x2>:> _!0^#fk0000000000111~666 6 6 ^Vnfs#r#~~( 6:>4:>F(:50 ͱ2͖4ͽ4:>6:>6w66nfs#r#6:>w:>wsr66666~˿wL  :>64!>4>V:>6~6:50͸5 5nf#ut6666:>6~6͸5:@6*~w~(6:>&2 ͆2 ͆2nfNF :>wN(%~66 ~nf wnf #ut nf#utnf#ut| Æ2>V:>K@G>V>*ww!">:>6">Fc4~ ~c4:>46c46~͢2~ݶ (Dc4nfN F ~ p4n f #u t nf +ut ~ ݶ 3F(}> p4> p4~GO(G> p4> p4~02>>!>:6:6:6:6:6:6A!>~(p4#~ݶ> p46 Fc4>~6c4n f #u t 6! *Fnf ~6nf*>^V%>2?nf"?^#V#S?!>!?>4*>++ut 6 6 *>+">|·2G ~w 5 F(> p4:!>wx=6~( 5 6͸5(*66J7G6^z6x F y J yQ6z66 6 6 w^Vnfs#r#*I}7*I+"I*>}< *>#">+.>2?"?!Q."?!>!?>4*>[Q.S>[>SQ.">>2?"?!Q."?!>!?>4*I#"I65>2?nf"?^#V#S?++s#r#N(~66 nfs#r#!>!?>46O~65N(6F ~66x=6>ݾ( yݾ05x6>ݾ( yݾ05nf">nf :>6RDM>2?"?!Q."?!>!?>4*Q.͊5*>+">| !>5!=W!>W!gW~ ~  7 7#/8p#!57͵sR2K*G"I>V Spooler R/W ErrorL7d7|777777 8$8<8T8l88888889,9D9\9t999999::4:L:d:|:::::: ;$;<;T;l;;;;;;;<,n>t>z>>***** (p) 0123456789ABCD - MM/DD/YY HH:MM:SS ***** Q.8>.f!f_!J@~#foX@p@@@@A A*A"A!A566-A:@ LA-A:@ LAx ~>( *ARDM!A4SA!A!A>o& -Az( y( {( ͢@$ү:A x(ww~G*Autsrqx2A!A*A ~ݾ ~ݾ ~ݾ ѷR> :A=> >ɪAX!RF^#fkHHFGGGHHHy*WҨGC~MSM:?QG:?Q<(:( ![IQ!=QK~M##~(((M>]I:x9K!Z"P\K!""P>lI:~M9K22!"![IQz]I2:~M2?Q:MG¢G:¢G[!6Y!tG"!{K:O>":KG!Q(6x@!0Q .x !!Q &!Q!(pJ/G!{K:O>,J/G!Q>2!Á!Á:?QÁ:@ !YY""ÁBo&))))!U})))xt ]O!F0xGp##!Áx2M{2}M"{M>22nHx2M{2}M"{M>2! >HCH:wnH6nH~nH5[*:, .*{MjK :}M(2[{M*jK [}M:(\K:> <*{M":}M2đI:go[KQ:M(2ʁ!~(6\KÁxG8v2NCNSN"N@ (!!*NNͰ"N*NKNN>,Jځ(*NKNN>,Jځ!!!N[NͰSN*N#"N[NKN:NÁlI*IQO!!@Q ~++2@QG!` "IQ$$"KQ:_*:(S))))2N"N*KQ"N!!NI"P"Q>J͊* Hard:9eO*7͈J( *P*QԷ: #;0>_)MD)) [KQ:O:>(>,J2PCPSP"P!YJ"*P"SJ!""P8pJ(*P[PKP:P͊* Micro˹ÈJ͊* Disk Error Type: l&"M>ˁJJJJ><"J8*J A0G> *MͯJ͊*, Drive: &"M*MͯJ͊*, Sector: "M*MͯJ͊* c*ʌo&"Nx2N>2N!"N!M!NI :ȯ2ÑIz>{rKCP/M-SYS-REL,SYSTEM,101tCP/M-VOLS-WKF,SYSTEM,101 "O?(?(Q?(?>P*[":<8 @BR"2!4~<6+4~<6+4~6++4~ 6+4~ 6##4~d6AO~yLNx~= N~yNyL2 ANxNxO:X >A: O~AbGͭQxQq> ͭQ > Q !R!]R͵sR>@q RAM Parity Error!R͵( !Rõ !R͵ç Type to ignore or to reboot: TSS/C-LOGIN&)Copyright 1981 North Star Computers, Inc.1p&@?>Jʪ&~#(Gy z& For Use With TSS/C Only*!*"*>J*"*S*{&*z& z& North Star TSS/C - >J**:*2*:*2*0 2*!*5:* # > G> :*-*͜' 007G> ͏'>/G> :*-*͏'>/G> :*-*͏'> G> :*-*͏'>:G> :*-*͏'>:G> :*-*͏'z& Port #>ˁ6(6(6(6(><"(8*( A0G> **(z& User Name: (K* ( w ((# 6 C*͝( >@G> 7(_( {=(z& +w 8z(~G> #!*y(&:* &!+!4+>J•*!z**Q,"*7*!4+>J•*H)z& - Invalid User NameY(z& Password: ! +͝(Y((_( {=k)+w ( 8z=k)#! +`,f*)z& - Incorrect PasswordH)z& **>J*!R,!,~ *@> >20*z& Unexpected Errorz& 25(G><'!"***[*R7**#"*z*:Q, !*R,f*8~  8O#7!4+!C,ut6>J•*z& FMNGR Error On File  ~#Gy !+͵*z& - (SunMonTueWedThuFriSat TSS/C-USERS,SYSTEM,101 Q,TSS/C-EQUS ; ; TSS/C-EQUS Release 1.1.0H ; SEPTEMBER 30,1982 ; ; This file contains the equates for use in all modules ; of the North Star TSS/C Multi-User Operating System. ; ; ; Miscellaneous system equates ; JOBS: EQU 5 ; maximum number of jobs PORTS: EQU 10 ; maximum number of ports in system PRNTRS: EQU 2 ; number of spooled printers PRJOBS: EQU 70 ; number of active print jobs supported FLAGS: EQU 20 ; maximum number of flags HDCPYL: EQU 32 ; maximum HDCOM byte save count OFDS: EQU 170 ; number of Open File Directory entries MRUS: EQU 5 ; number of Most Recently Used CP/M VOLume ; ; and sector blocks to maintain OUTCH: EQU 0 ; base of port output channels INPCH: EQU OUTCH + PORTS ; base of port input channels USRCH: EQU INPCH + PORTS ; base of user defined communication channels SYSCH: EQU USRCH + 5 ; base of system communication channels TOTCH: EQU SYSCH + 4 ; total number of channels in TSS/C CCBBSZ: EQU 16 ; channel buffer size (must be power of 2) SPLJOB: EQU JOBS ; job controlling internal spooler SPLXCH: EQU SYSCH ; Mutual-eXclusion SPLCCH write channel SPLCCH: EQU SPLXCH + 1 ; command channel for communication to spooler SPLRCH: EQU SPLCCH + 1 ; result channel from spooler commands SPLPRI: EQU 5 ; spooler priority while idle SPLHLT: EQU 'C'-40H + 80H ; character causing stop while printing SRVJOB: EQU SPLJOB + 1 SRVCH: EQU SPLRCH + 1 CLKARM: EQU 0C0H ; RTC interrupt arm CLKDAR: EQU 040H ; dis-arm CLKRTA: EQU 03328 ; clock rate A: 3.328ms, 6 ticks / dispatch CLKRTB: EQU 26624 ; clock rate B: 26.624ms, 1 tick / dispatch CLKFRA: EQU 6 CLKFRB: EQU 1 LTXARM: EQU 015H ; LSER TxRDY interrupt arm LTXDAR: EQU 014H ; "" "" disarm RTXARM: EQU 01DH ; RSER TxRDY interrupt arm RTXDAR: EQU 01CH ; "" "" disarm HSIO1: EQU 010H ; HSIO - board 1 - base port number HSIO2: EQU 020H ; - board 2 - base port number HTXARM: EQU 006H ; - TxRDY interrupt arm HTXDAR: EQU 004H ; - TxRDY interrupt disarm PARARM: EQU 041H ; RAM-16 / RAM-32 / HRAM parity arm PARDAR: EQU 040H ; "" parity dis-arm MEMPRT: EQU 0C0H ; "" control port ; ; Mode 2 Z-80 interrupt vector locations ; INTPAG: EQU 0FF00H ; base page for mode 2 interrupt tables VI0: EQU INTPAG + 0C7H ; VI0 - clock interrupt VI1: EQU INTPAG + 0CFH ; VI1 - undetermined VI2: EQU INTPAG + 0D7H ; VI2 - HSIO-4 interrupts (all) VI3: EQU INTPAG + 0DFH ; VI3 - LSERial interrupts VI4: EQU INTPAG + 0E7H ; VI4 - RSERial interrupts VI5: EQU INTPAG + 0EFH ; VI5 - RAM Parity Errors (all banks) VI6: EQU INTPAG + 0F7H ; VI6 - undetermined VI7: EQU INTPAG + 0FFH ; VI7 - undetermined ; ; Operating system identification values ; OSTSS: EQU 0 ; Internal TSS operating system func OSHDOS: EQU 1 ; North Star HDOS operating system OSCPM: EQU 2 ; Digital Research CP/M operating system ; ; Job runtime status values ; STRUN: EQU 1 ; 01H = job running STDET: EQU 2 ; 02H = waiting on detached console STFMQ: EQU 3 ; 03H = FMNGR queue (All file systems) ; STWCH: EQU 20H ; 20H = BASE for write channel wait STRCH: EQU 40H ; 40H = BASE for read channel wait ; STSUSP: EQU 080H ; 80H = MASK for job paused ; ; Device ownership flags ; NOTUSE: EQU 0FFH ; -1 marks device not in use ; ; 0..JOBS marks device in use ; ; System Module and Code segment origins ; SEXEC: EQU 0F000H ; base of TSS/C's executive ; ; System entry points and jump vectors ; SENTRY: EQU SEXEC + 0 ; entry point to TSS/C initialization SREVN: EQU SENTRY + 3 ; version ID area, x.y.z format ; SCHI: EQU SREVN + 3 ; "HDOS like" character input SCHO: EQU SCHI + 3 ; character output SCON: EQU SCHO + 3 ; control-C detect SAOUT: EQU SCON + 3 ; COUT, W/O additional dev SISTAT: EQU SAOUT + 3 ; input status check SOSTAT: EQU SISTAT + 3 ; output status check SOFTEN: EQU SOSTAT + 3 ; OFTEN handler ; SDCOM: EQU SOFTEN + 3 ; DCOM operation trap SFMNGR: EQU SDCOM + 3 ; FMNGR operation trap SHDCOM: EQU SFMNGR + 3 ; HDCOM operation trap ; SOFD: EQU SHDCOM + 3 ; OFD command entry point SBIOS: EQU SOFD + 3 ; BIOS select read/write entry point SSPLRQ: EQU SBIOS + 3 ; spooler command entry point SWTFM: EQU SSPLRQ + 3 ; wait until File System (FM) is available SRELFM: EQU SWTFM + 3 ; release the File System ; ; System data pointers ; JCBPTR: EQU SEXEC + 38H ; the following point to the base of PRPTR: EQU JCBPTR + 2 ; the JCB & PR tables RTCPTR: EQU PRPTR + 2 ; pointer to base of RTC string ; ; System and Job variables ; CURJOB: EQU SEXEC + 40H ; current job executing ENJOBS: EQU CURJOB + 1 ; number of enabled jobs FMJOB: EQU ENJOBS + 1 ; job using any File System SPJOB: EQU FMJOB + 1 ; job owning spooler MX queue RE1JOB: EQU SPJOB + 1 ; ** reserved ** RE2JOB: EQU RE1JOB + 1 ; ** reserved ** RE3JOB: EQU RE2JOB + 1 ; ** reserved ** ; ; Spooler Variables ; SPLSIZ: EQU RE3JOB + 1 ; spooler file size in sectors SPLLFT: EQU SPLSIZ + 2 ; sectors remaining in file ENPRS: EQU SPLLFT + 2 ; number of printer connected ; ; Reserved space ; REMISC: EQU ENPRS + 1 ; ** reserved ** ; ; Other miscellaneous data items ; HSCNT: EQU REMISC + 2 ; number of HSIO-4s installed in system HSBAUD: EQU HSCNT + 1 ; baud rate command table for 8 channels CPMVLS: EQU HSBAUD + 8 ; number of CP/M volumes available SRVCHR: EQU CPMVLS + 1 ; service processor access character ; ; Job Control Block (JCB) offsets ; JCBPRT: EQU 0 ; port number of owner console ; ; bit 7 = 1 if detached JCBALO: EQU JCBPRT + 1 ; alternate channel for job output JCBALI: EQU JCBALO + 1 ; alternate channel for job input JCBOS: EQU JCBALI + 1 ; operating system identifier JCBST: EQU JCBOS + 1 ; status of job JCBMON: EQU JCBST + 1 ; memory on command JCBHM: EQU JCBMON + 1 ; high memory page JCBPRI: EQU JCBHM + 1 ; job priority JCBPRC: EQU JCBPRI + 1 ; job priority count (PRI..0) JCBSTK: EQU JCBPRC + 1 ; job's stack pointer JCBRGS: EQU JCBSTK + 2 ; job's registers AF', BC', DE', HL', ; ; AF, BC, DE, HL, IX, IY JCBSTO: EQU JCBRGS + 20 ; job's spooler time-out value JCBSIZ: EQU JCBSTO + 1 ; ; Channel Control Block (CCB) offsets ; CCBHD: EQU 0 ; head (write) pointer CCBCNT: EQU CCBHD + 1 ; buffer variables CCBBUF: EQU CCBCNT + 1 CCBSIZ: EQU CCBBUF + CCBBSZ ; ; Port Control Block (PCB) offsets ; PCBSTA: EQU 0 ; status port PCBDAT: EQU PCBSTA + 1 ; data port PCBINT: EQU PCBDAT + 1 ; interrupt control port PCBTXA: EQU PCBINT + 1 ; interrupt arm PCBTXD: EQU PCBTXA + 1 ; interrupt disarm PCBNAM: EQU PCBTXD + 1 ; port name (user or device name) PCBSIZ: EQU PCBNAM + 14 ; ; Flag Control Block (FCB) offsets ; FCBTYP: EQU 0 ; flag type FCBFLG: EQU FCBTYP + 1 ; flag bytes FCBJNU: EQU FCBFLG + 3 ; flag owing job number FCBSIZ: EQU FCBJNU + 1 ; FCB entry size FCBFSZ: EQU FCBFLG + 3 ; flag size FCBILL: EQU 0FFH ; -1 marks illegal flag type ; ; Extended File Manager Functions ; XFMBOL: EQU 80H ; BEGIN OF XFM LIST XFMREL: EQU XFMBOL ; release CPU for one dispatch cycle XFMTIM: EQU XFMREL + 1 ; return HL=.MM/DD/YY HH:MM:SS string XFMJP: EQU XFMTIM + 1 ; return HL=JOB, DE=PORT XFMJCB: EQU XFMJP + 1 ; return IX=.JCB of job #HL XFMCCB: EQU XFMJCB + 1 ; return IY=.CCB of channel #HL XFMPCB: EQU XFMCCB + 1 ; return IX=.PCB of port #HL XFMWCH: EQU XFMPCB + 1 ; write character in B to channel #HL XFMRCH: EQU XFMWCH + 1 ; read character from channel #HL to B XFMCHS: EQU XFMRCH + 1 ; return B=characters in channel, C=space left XFMSHO: EQU XFMCHS + 1 ; shared file open XFMEXO: EQU XFMSHO + 1 ; exclusive file open XFMSTF: EQU XFMEXO + 1 ; set flag XFMRSF: EQU XFMSTF + 1 ; reset flag XFMFDF: EQU XFMRSF + 1 ; find flag XFMNXF: EQU XFMFDF + 1 ; find next flag XFMEOL: EQU XFMNXF ; end of XFM list ; ; Extended File Manager Error Codes ; XMIJOB: EQU 200 ; illegal job number - out of range XMICH: EQU XMIJOB + 1 ; illegal channel number - out of range XMIPRT: EQU XMICH + 1 ; illegal port number - out of range XMNPRT: EQU XMIPRT + 1 ; no std port attached XMPRT: EQU XMNPRT + 1 ; std port attached XMNJOB: EQU XMPRT + 1 ; no open jobs available XMJNO: EQU XMNJOB + 1 ; job not owned by this port XMFPV: EQU XMJNO + 1 ; file protect violation XMFMI: EQU XMFPV + 1 ; FMNGR operation illegal under TSS/C XMFST: EQU XMFMI + 1 ; flag set error XMFTF: EQU XMFST + 1 ; flag table full XMIFT: EQU XMFTF + 1 ; illegal flag type XMFNF: EQU XMIFT + 1 ; flag not found ; ; Spooler Print-Job queue definitions ; PJQST: EQU 0 ; status: ; bit 0: complete ; bit 1: being printed ; PJQDEV: EQU PJQST + 1 ; device number PJQJOB: EQU PJQDEV + 1 ; originating job number PJQPRT: EQU PJQJOB + 1 ; originating port number PJQNAM: EQU PJQPRT + 1 ; originating user name PJQSEC: EQU PJQNAM + 14 ; starting sector number PJQLEN: EQU PJQSEC + 2 ; length in sectors PJQLB: EQU PJQLEN + 2 ; bytes in use in last sector PJQSIZ: EQU PJQLB + 2 ; ; Spooler Print-Job definition block, 1 for each job which may output to ; the spooler. ; SPJPJQ: EQU 0 ; Print-Job-Queue entry number or NOTUSE SPJTOC: EQU SPJPJQ + 1 ; time-out counter, refreshed from JCBSTO SPJLB: EQU SPJTOC + 1 ; bytes in use in this sector buffer SPJBUF: EQU SPJLB + 2 ; disk sector buffer pointer SPJSIZ: EQU SPJBUF + 2 ; ; Printer / De-spooler definition block offsets ; PRPRT: EQU 0 ; output port number PRTITL: EQU PRPRT + 1 ; print title pages flag PRPAG: EQU PRTITL + 1 ; generate page breaks flag PRPLEN: EQU PRPAG + 1 ; usable page length in lines ; PRPJQ: EQU PRPLEN + 1 ; Print-Job-Queue entry number or NOTUSE PRQCT: EQU PRPJQ + 1 ; number of print-jobs queued for this printer PRHLT: EQU PRQCT + 1 ; flags controlling print status ; bit 0: printer temporarily stopped ; bit 1: printer to stop at end of print-job ; PRLCT: EQU PRHLT + 1 ; line counter (PRPLEN..0) PRBCT: EQU PRLCT + 1 ; count of characters in buffer PRPOS: EQU PRBCT + 2 ; position of next character to print PRLEN: EQU PRPOS + 2 ; number of sectors printed PRBUF: EQU PRLEN + 2 ; pointer to sector read buffer PRSIZ: EQU PRBUF + 2 ; ; Open File Directory entry structure ; OFDDES: EQU 0 ; OS unique entry identifier OFDOS: EQU OFDDES + 2 ; operating system ID (0..254) OFDJOB: EQU OFDOS + 1 ; job ID (0..254) OFDNOD: EQU OFDJOB + 1 ; *** node ID, NYI, leave 0 OFDSHC: EQU OFDNOD + 1 ; SHARE open count (0..255) OFDEXC: EQU OFDSHC + 1 ; EXCLUSIVE open count (0..255) OFDSIZ: EQU OFDEXC + 1 ; ; Open File Directory command structure ; OFDADD: EQU 0 ; add to open file directory OFDEXA: EQU OFDADD + 1 ; search for an exact entry OFDVIL: EQU OFDEXA + 1 ; search for a violating entry OFDDEL: EQU OFDVIL + 1 ; delete an existing entry OFDRST: EQU OFDDEL + 1 ; reset portions of the OFD OFDINC: EQU OFDRST + 1 ; increment the open count of the entry @IY OFDDEC: EQU OFDINC + 1 ; decrement the open count of the entry @IY OFDEOL: EQU OFDDEC ; end of OFD list ; ; Open File Directory open mode attributes ; ATSHR: EQU 32 ; sharable flag, bit 5, sharable when 1 ; ; User Directory Entry Structure offsets ; UDTYP: EQU 0 ; entry type UDNAME: EQU UDTYP + 1 ; user name UDPASS: EQU UDNAME + 14 ; password UDCMND: EQU 128 ; initial HDOS command line UDCPMW: EQU UDCMND + 64 ; CP/M workfile pathname UDCPMC: EQU UDCPMW + 33 ; CP/M startup command UDNEXT: EQU UDCPMC + 64 UDSIZ: EQU 512 ; ; CP/M interface data, VOLume definition block; tables swapped to and ; from disk on drive selects ; VOLTYP: EQU 0 ; volume type & status: 00 = never assigned ; 01 = floppy disk ; 02 = hard disk ; VOLOFB: EQU VOLTYP + 1 ; vol Open File Block VOLSBL: EQU VOLOFB + OFBSZ ; CP/M sectors per block at BLS ; VOLDPH: EQU VOLSBL + 1 ; CP/M standard DPH VOLDPB: EQU VOLDPH + 16 ; DPB VOLALV: EQU VOLDPB + 15 ; volume allocation vector VOLCKV: EQU VOLALV + 129 ; volume directory-check vector (floppies only) ; VOLVDT: EQU VOLCKV + 16 ; volume info dirty flag VOLSBC: EQU VOLVDT + 1 ; unallocated sectors-per-block count VOLBDT: EQU VOLSBC + 1 ; sector buffer dirty flag VOLBTK: EQU VOLBDT + 1 ; track number VOLBSC: EQU VOLBTK + 2 ; sector number ; VOLPAD: EQU VOLBSC + 1 ; start of pad to 200H bytes VOLSIZ: EQU BPS ; ; ; END of TSS/C-EQUS ; ::+::: :xO: ::j_x8~_O#~_O#:u_*4:g:k=) =2u|!!u4!D!> 7ý!gy2k=0y82m<2rL̀ x(> 0> 8+ > 8!9"s: 22- B8} /_8"oQL*m~z0"0#Gxg2j|DK>(x`*mo/G~vy %:+0z *q vv25>?a$N$(>Ta$0a$F$>Da$y?0a$F$>Sa$$N$( TSS/C-USERS TSSGEN &1E&@?~#(Gy G& North Star TSS/C TSSGEN Release 1.1.0HG& Copyright 1981 North Star Computers, Inc. !8=>Jʾ(G&  ~#Gy !8=&G&does not exist.G& How many kilobytes to allocate to spooler? ' ä'Kl> ( w ((# 6 Cl>[' >@G> 7(_( {=(G& +w 8z(~G> #!,'7'!,' 0:?0))) O 2'">G& 8*>|(04&)!P=>J(4G&create !8=&õ4!8=>J(4G&type !8=&õ4!8=!X=t4G& Creating !8=&G& - please wait...!X=> JG& (4G&allocate !8=&õ4!8=!X=͔4! J(4G&read ! <&õ4!"n>x=K4~ *n>#"n>ͩ3G& Current system configuration: :>2g>>ˁh)h)h)h)><"G)8*G) A0G> *g>I)G& Job(s) / *n>I)G& Terminal(s). G&Functions: 1. Configure HSIO-4 Boards. G& 2. Configure Jobs. G& 3. Configure Terminals. G& 4. Configure Printers. G& 5. Configure System Parameters. G& 6. End TSSGEN. G&Desired function? 2'"i>0$G& Illegal function number. :i>,+I,.ʈ/J0A1G& Number of HSIO-4 boards (0-2) = :>2g>*g>I)2( 842>:>F,2>>2>>2>!>>A2>>2>G& G&Port #*>I)G& (board *>I)G&, port :>G> G&), baud rate value (0-7) = ~2g>*g>I)2( 84w#*>#">*>#">*>+">|+*>#">*>+">|‹+)G& >J>25,G&Warning: Operation of TSSGEN under TSS/C prohibits G& use of the auto-memory-sizing feature.O-!>w /wa-G&Warning: System memory segment at F000H not found, G& auto-memory-sizing not available.G& 2z>.!4-G&Warning: System is NOT configured for TSS/C operation. G& Memory does not respond to "bank switching" commands.O-2>>2z>!G&Number of jobs (1-5) = :>2g>*g>I)2((842>:>2~>2|>G& :|>K4:z>(]~#8wOG&Warning: Missing or insufficient memory in bank #:|><2g>*g>I)G&. !:G&Job #*|>I)T3Z2*|>#"|>*~>+"~>|M.)G& Number of terminals (1-5) = *n>I)2((842n>G& :n>2>2>:>K4G&Job #*>I)G&, initial ]3*>#">*>+">|H/)G& Number of printers (0-2) = :>2g>*g>I)2( 842>:><2>2>]G& :>_4G&Printer #*>I)G&, ]3!;G&Printer #*>I)T3Z2*>#">*>+">|/)G& Number of active CP/M volumes (1-128) = :>2g>*g>I)2(=84<2>G& Service processor access character = ":> 0G&Control-:>@G> G&". G& Press a single replacement key or RETURN to skip: [' (2>G& )G& :>*n>0474G&illegal number of terminals specified. ) !p>6#x=K4:n>8 ~ʹ3):>J(4G&write to ! <&õ4! G& U2:,' :j>:i> $4G&, &*>[>">F:>2g>:>H(*g>I)&:g>͞2 007G> ͑2&G&. New value? :>D(E3 !27'!2 0:00 AG?7))))o2"i>:2 2'"i>:,'G& 04 (*i>| }*>(08*>*>w>G&serial port number (0-*>I)G&) = ~2g>*g>I)2o:>04u:>2>_:>{8 !p>w(/2g>74G&request for non-existant port #12g>74G&multiple devices specified for port #*g>I)G&. 7G&Cannot end, *>N">= =*>N">=>J4G&open &õ4>J4G&close &õ4G& - (G&Illegal responseG& File error, cannot  ?!>K4~w#!>?~!~p$ #!!>?~!x w$ t##!~(#>g>?>|oHhigh memory page (80=32K, C0=48K, E0=56K, E8=58K) = Dinitial priority (1=High, 255=Low) = Dspooler time out (1-255) = secondsDprint title pages (1=true, 0=false) = Dgenerate page breaks (1=true, 0=false) = Dpage length (7-255) = linesTSS/C,SYSTEM,101 >TSS/C-SPOOL,SYSTEM,101 8= k> SYSTAT&)Copyright 1981 North Star Computers, Inc.1`&0/>Ja,~#(Gy j& TSS/C SYSTAT Release 1.1.0H - 4-:6-2P-:4-2O-0 2O-!P-5:O- # > G> :4-,:' 007G> -'>/G> :5-,-'>/G> :6-,-'> G> :7-,-'>:G> :8-,-'>:G> :9-,-'j& :A22->ˁ''''><"'8*' A0G> *2-͵'j& Jobs Available, *A&L-*(>Ja,~( y22-*2-͵'j& In Use. >Ja,"'-S,-j&Current User Login: ͱ+j&Job #*'-͵'j& j& Op Sys Mem Pri Stk Statusj& j&-------- ----- ----- ------ -------------- ! ".-!",-2+-*A&")-!"'-*'->Ja,~*!,-*:+- /2+-ͱ+j& j&Job #*'-͵'j&: ~!,0 o&)))),~*( G> #~22-*2-͵'j&k ~22-Cˁ * * * *><")8*) A > 0G> *2-)j& ~ -'~ -'j& ~`ң*@8@22-j&Read 8/ 22-j&Writej& Channel (*2-͵'j&) !,0 o&)))),~*( G> #~ݶ*j&/~(j&D~(j&Sj& *'-#"'-*)-+")-|G)*,-#",-*.-+".-|5)j& Disk Spooler: Space In Use = *G[IR<"0-*0-͵'j&K, Space Available = *G<"0-*0-͵'j&Kj& File System::B ,j& (j&(*,-͵'j&) *,->Ja,- ~#Gy !-+j& - ɷG><'(=8j& In Use By TSS/C322-j& In Use By Job #*2-͵'j& Not In Use.j& For Use With TSS/C Only 25( * TSS/C * HDOS * CP/M * * ????* Running* Port Wait* FMNGR Queue* SunMonTueWedThuFriSatTIME&)Copyright 1981 North Star Computers, Inc.")1s&@?>J(2~#(Gy |& For Use With TSS/C Only~)"))*)~ z(|& :)2):)2)0 2)!)5:) # > G> :)'Z' 007G> M'>/G> :)'M'>/G> :)'M'> G> :)'M'>:G> :)'M'>:G> :)'M'~)G><'t( K(K) ( w ((# 6 C)( >@G> 7(_( {=(|& +w 8z(~G> #!''!' 0:?0))) O '")/g) )2)g) )2) g)d)2):g))2)g)<)2)g)<)2)|& Press Any Key To Set Time? (~)!)[)|& Time Set To&|& Error In Time Set String. |& Correct Format Is =GO TIME MM/DD/YY HH:MM:SS~)*)~ )')| }|& 25(SunMonTueWedThuFriSatJOBNUMBER&)Copyright 1981 North Star Computers, Inc.1p&@?>J(2~#(Gy y& For Use With TSS/C OnlyÆ'>Jo'"'S'y& Current User Login: (>ˁ&&&&><"&8*& A0G> *'&y&) *'>Jo'' ~#Gy !'?'y& - Job Number *'&Æ'y& Unexpected Errory& 25( LOGOUT&)Copyright 1981 North Star Computers, Inc.1p&@?>Jʪ&~#(Gy z& For Use With TSS/C OnlyL(z& Are You Sure? /'K^( ( w ((# 6 C^(& >@G> 7(_( {=(z& +w 8z(~G> #![(&8 :[(_Y(z& Command AbortedL(>J3(Sb(*A&"`(*`(+>J3(:b(ݾ(*`(+"`(| > J3(!|('!d(> Jz& Cannot Load-Execute  ~#Gy !d('z& - :5!('25(*b(&>J3( z& Detached Jobs ExistL(z& Unexpected Errorz& 25( ](TSS/C-LOGIN,SYSTEM,101 Not Logged In LOGOUT Errors SPOOL&)Copyright 1981 North Star Computers, Inc.")1s&@?>J(2~#(Gy |& For Use With TSS/C OnlyÏ)͞)*)~ 5|& Spooler Command (S, C, A, R, or P) RequiredÏ)ͫ)S(C(.A(IR(hPʌ'>(|& Output Suspendedì'>(|& Output Continuedì'5)>(|& Print Job Abortedì'5)>(|& Print Job Restartedì'5)>(|& Print Jobs Purged|& For Device #>ˁ''''><"'8*' A0G> *)'Ï)*)#~ ) ")͞)~ )( Þ(K) ( w ((# 6 C)U( >@G> 7(_( {=(|& +w 8z(~G> #!&(1(!&( 0:?0))) O ,(")8:) :)0 2)*|& Illegal Output Device NumberÏ)|& Output Device Number RequiredÏ)*)!)")|& Are You Sure? !)1(")8:)_Y |& |& Command AbortedÏ)|& 25(*)~ #")a{  UMU&)Copyright 1981 North Star Computers, Inc.1p&@?!g/"h/~#(Gy x& x&North Star TSS/C - User Maintenance Utility x&Release 1.1.0H !/!/>J/x& System Password: !/'Q/(_( {= '+w ( 8z= '#!.!/0.t'x& - Incorrect Password&!.*0"t/x& x&Functions: x& 1. List User Directory x& 2. Edit Entry x& 3. Delete Entry x& 4. Change System Password x& 5. End UMU Program x& Desired function: ( (Kh/ ( w ((# 6 Ch/' >@G> 7(_( {=(x& +w 8z(~G> #!O(Z(!O( 0:?0))) O U("r/):r/-)$*ʀ,,-m-x& - Illegal function2(!"n/"l/>2v/x& Current user directory:*n/[t/R(J*n/#"n/.:0\)*l/#"l/!v/>”)x& 64x& !0~G> # \)x& Completed, >ˁ))))><")8*) A0G> *l/)x& entries listed.t'x& Editͥ-t'ͦ.*l/"n/8+x& User Name  ~#Gy !x/X*x& does not exist. Do you wish to add it? ͔.t't'!"n/*n/[t/R**n/#"n/.:0 ,*n/#"n/#!/> J/!.*0#"0!/!006 >20!x/0v.!/0v.!/d1v.!/1v.!/1v.*n//-*n//x& User Name: !2Z(t'x/.ͦ.8Q*l/[n/R ͬ.x& Change in User Name duplicates another entry. *n/.A+*n/.0.x& Password: !2Z(t'0.x& HDOS Command: A!2Z(t'd1@.x& CP/M Workfile: "!2Z(t'1!.x& CP/M Command: A!2Z(t'1@.*n//t'x& Deleteͥ-t'ͦ.,x& User Name !x/X*x& does not exist.À,-x& Confirm delete? ͔.t' -x& - Not deletedt'>20*l//x& - Deletedt'x& New System Password: !2Z(t'!.0.!/t'!/>J/x& Exiting UMU, returning to HDOS.Q/x& - User Name: !x/Z(6:x/ x& x& User Name: !0b.x& Password: !0b.x& HDOS Command: !d1@b.x&CP/M Workfile: !1!b.x& CP/M Command: !1@~G> # x& ~ #!2~ ~ > 8~#!p/Z(:p/_Y!"l/*l/[t/R7*l/#"l/.:0 !x/0.8~  8O#7!/!0ut6>J/!/!0ut6>J/x& FMNGR Error On File !/X*x& - (x& > J25( PASS GO CP/M CPMWORK DIR TSS/C-USERS,SYSTEM,101 0CP/M &)Copyright 1981 North Star Computers, Inc."a:1s&@?>J&~#(Gy }& For Use With TSS/C Only:0 ~#Gy !ͯ&}& North Star TSS/C - CP/M 2.2 Loader }&Release 1.1.0H }& >J™-"j:Sl:!:!7>J!21&0>29!"9>29!="9!7!9>J!T1&0!7>J!21&0*j:>J™-~} O!=].ͳ-*a:~ (,( (Ka: ( w ((# 6 Ca:ͽ' >@G> 7(_( {=(}& +w 8z(~G> #"!<͙':06Ñ(*l:>J™-n:!}:!7>J!m1&0! .!1&0*a"h:-!1%0!7>J!m1&0!a<!!=#!a@@ p]!]6>27!9>Jʺ(ʺ(!E20!J!E20x!2 0:7!j2 0*7|)}/)!/!7> J)!20!20>ͻ/!f30:72e]*7"f]>2d]!<!i]ͳ-~6 , #~_E( :]P)29>29!]"9~9!Ď*͐/[)>27:9 *%/!3͵/!9͙'6r/څ)!9~aګ)_w#¢)!9~X *S *Z:0A)Q)@29G#~:)#~ͦ/**.(6#)h.Â)!3͵/Â)*.͎*Â)29:]!6);.͞.‚):9S]*r/!5̓/!9͙'8r/:9_BM*ͻ/!30!7>J!560*j:>J™-6V!\ !*9!!9~,*#~1*G#~*x28!"8>+!5O0!8>J!65P0x2:{2::82:*8":>2:*9w#:8w#*8s#r:W2:>2:-K: '} 0!1 0":~z+::ݾ :8ݾ ::(,:8ݾ :8ݾ(*:#":*:+":|+!10 0:!8:::U-!"9"9>/!J40P0!a:9##´+29+/ž+::G:9x+>29!(30O0:8!7 =+*:{#zL0#~#~>29(,:9g,::g,!40P0:98,::/I,@ >29{#zg,F+n`":g,!u5:9@25͵/###~2;#>@2;~G2;#~2;#~2;#^#VS;#~2;*:<+";:9,::!40O0!aT]6!"9>/!s40P0/,!8>J!60P0:: :: !9>J!O60P0:9&-:9&-::=@-:9_!9>J!40P0!9!8>J!650P0::2:*:!";";";>2~<229!a"9>29!7!9>J*9~ 3:9Gm.-H '}"+80!8>J! 20r.pr.FK9!AS ҍ.~w#„.}Ҁ..:9G!]"9~.͐/¥.!r6͵/ɯ29!d]"9"92929~//͐//"9*9.#.:9.@26:9@26!6͵/>29.*9͓/:9<.r/!6̓/!i]̓/>29!]"9~l/r/:9@G> :[/*xG> *9̓/͐/ G> > G> ~G> #Ã/*9(!94! `R!d](¬/"9̓/r/29!]"9>29! "9>!7!9J29!a"9>29>!8!9J*9#"9:8> 0ɯr/!0͵/͵/x0:0!1͵/͵/x0:0r/2625> J(!Z5:9@284! 4͵/͵/x0*96>!8J/ z0:20x: ڜ0Dژ021 20y20!0͵/Connection to Hard Disk failed bacause:HDOS error: XXX -see appendix B of Hard-Disk ManualCP/M loading/initialization failed because:CP/M-SYS-REL Open or Close failedCP/M-SYS-REL Read failedTSS/C-USERS Open or Close failedTSS/C-USERS Read failedUser name not found in user directoryCP/M volume select errorNumber of active CP/M volumes exceededUnit-file close during connection removal failed becauseCP/M work-file Open or Create failedCP/M work-file is write protected - cannot proceedNot enough space for 94 block work-fileAttempt to set work-file size failedCP/M work-file must be filetype 6, fix with HDOS "TY" commandCP/M unit-file must be filetype 7, fix with HDOS "TY" commandRead from CP/M work-file failedWrite into CP/M work-file failedConnection table currently empty----- Enter a connection or S=save or X=exit?Unrecognized input - expect UNIT:PATHNAMEAttempt to connect unit X: failed becauseError trying to read CP/M directory areaWrite error initializing CP/M directoryError attempting to set file type to 7Size of the unit was illegally reducedUnit is empty and write-protected - uselessFloppy drive number unacceptableAttempt to open unit failed becauseUnit size is below minumumOnly a warning - unit X: is overallocated above maximumEnter "N" to make future bootstraps non-stop Enter "B" to review connections every cold boot Enter B or N? Close of unit-file failedClose of work-file failedAttribute change to "DIRTY" failedError in lines with * - you must correct itUnits X: and Y: duplicated - must be unique----- Current connections in work-file: No connection for unit A: - must have A:?  @?@ 8 ? @@?@ < TSS/C-USERS,SYSTEM,101 CP/M-SYS-REL,SYSTEM,101  CP/M-SYS-REL$\`X`AUTO COPYRIGHT (C) 1979, DIGITAL RESEARCH ]_͌]> ͒]> Ò]> Ò]͘]~#͌]ì] _2d<]2dd]]]]d]]d]]] ^!d2:d2a{_:dʖ^:d>Ľ]d]ʖ^:d=2dd]–^]!Ba!d6#5d]ʖ^:dĽ]!]ͬ]^ʧ^^Â`^^ ])^!]F#xʺ^~0^wë^w!]"] !d~6ͽ]d]:dý](`!e`#^͘]*]~ "_"_͌]#_>?͌]͘]^Â` _=_.:;<> O_o$>!dY_2d*]O_"]ʉ_@G:ʐ_:dwÖ_x2dp0_ʹ_#*©_6?ë_w˜_0__ï_#6 ¹_._0__#*_6?_w_0___#6 _#6_"] #~? ` `xDIR ERA TYPESAVEREN USER!`ydO`#<` T`y#O` 3`2]1dy_^͸]2dy2dͽ]:]˜`1d͘]^A͌]>>͌]9^^^2d^_ _:d¥c.`!`_~#fowab]bbccc!v"]!]`ç]READ ERROR`ç]NO FILE^_:d _!d ~ 3a#0 _Wx _x _ _ _G a~ _# 3ax~#Ba!Y_~ɯ2d:d=!dý]:d=!d:dý]^_Ta!d~ a 6?#ˆa]`b:d`O> Kab{a͘]^A͒]>:͒]a͢]>:͒]͢]xKa aa> Ka b> ͒]x b a͢]a^b]ØaÆd^_ BbRbͧ]9^!]5‚`#~Y‚`#"]Tad]<`ÆdALL (Y/N)?^_ _Ta]ʧb͘]!d6!d~ڇb] bw4!Y_~ʆd͌]^†dtb=ʆd`fa _`^_ _Tad] ^b2do&)|b+!^d^bbd]<ccͧ]^ÆdNO SPACE^_ _:dTa]yc!ddBa*]O_=?c_sc#"]^_scG!d~Ycpscp2d]mcd^Æd`Ædfa _cͧ]ÆdFILE EXISTS` __:d _^Éd^:d c:dʉd=2d)^ͽ]Édd _Ta!d@a]kd!^d]d]}|qdc=qdfa^_!d~2d>`_~2d2d\!d!Ba!]~>d >d#0d~Od#Cdx2͘]^^1d)^ͽ]Â`fa _zdͧ]ÆdBAD LOADCOMfa^_:d !d _Â`$$$ SUBeeeee"Ch{2r!"Eh9"h1Ah2r2r!try)K!Ge_^#V*Chsgfgssggggfg~qqEqqqqqqqqqqqr rr,jrr&r-rArGrMrqSrhhr!ee!eôe!eôe!eeBdos Err On : $Bad Sector$Select$File R/O$f:BhA2eeff!h~6 sefO͐f  :hEfs sBf s2h>: hbf#f s: hsy! h4 5~yyf5 6yfҐf^Hf@Oy Hf Hf: h–fͬf s s#Hff: h! h Hfùf Hf Hf $O͐ff: h2 h*ChN#e g ggxf: h2 hpg&gxf~+ég7gf2 hfHg! h>wf_g: h! hf5ͤfNgkgͱff¦gͱfxʊg#Nfxg: hf! h2 hͤf! h5™gf#wOf~x½gfp Hffhshyh! e^#V w#Ph:BhOs|^#V#"r##"r##"r##"r!rOh*r!rOh*r|!r6ʝh6>s*rw#w*rw#w'sûh*s! eJh*ri"r"r!rN#F*r^#V*r~#foyxh*r{_zW+h*riyxi#h*rDMs*rs#r*rs#ryOxG*r0sMD!s!rN:r EiG>O:r \iSi*Ch :rqin& ^#V>iO^i"r*r}:r*r)=i"r:rO:ro"r*Ch *Ch!ͮi~2r~2rͦi:r2rͮi:riO:rw:rw |g}oi*r# i )j:BhO!jyoxg*r:BhOi}!rN#F j"r*r#*rs#r^j ~!eJhj! eJh*r:ro$*Ch~ij6ijw*r*r{#zjr+s{ozg*r*r͕ji*r*r jj,jw͜jj͸hjjͲh!rj!rN#F$s*r*rOh!r~#k:Ahk#~$k=2Ehkk͌jk:rh:r/GyO>2r!rq*Ch"rj͡hkjʔl*rJljҔl^j:rOyʃl?|lx |l sl-l|lNl-l# Sl:r2Eh!r~Яwj>hTj ljDj^j6kkj-lälPYyl 5kl*r{zlBK5kllڋm>*Chw~#+w#w+ɯ2Eh2r2rjijlj^j *Ch :rm~mwm~nm͔m͔mn#n # m nw ~>2rm!Eh5Tj*Ch!r"Chlj"Ch!w# Fn! w͌jlxj2r͢mj*Ch ~<wʃnG:r!rʎnìn 4~ʶnlj¬n:r<ʶn$njʶnïnZmͻihhxj>2r>2rͻi:r!rnnZn2r:Ehnwḯin͊ihͲhih>2r>2rTj*ChGjͻi:rhwḯino>i2r;oO ^iDM;l}Ho>h"r*Ch :r:rdodjsloO s#r:Eh͊i:r==»oy==»o*rWw#oj*r"rh͸h*r:rG#šo"rjh͸h:r!row4!ijwp:rpiZn!Eh~o=2r6i2r*Ch!!~~#~O~G#n,-.‹p! w! yGp!xp͢m.:Eh<ʄp! q!pQm:Eh<p. ʄp$n.:Eh<ʄphij6}2EhxjpnpoN! ~态O>G~G!~G} l*Ch!r#r#rj q^jͥp_y#x#{qs+p+q-lp*Ch ͥp!!q#p#w*r:BhOiYhGh}*rMD j"rãk:r!Bhw!q>2r*Ch~=2ruq:Bh2r~2rwEq:Ah*Chw>"h!"r"r2Bh!"rj!qrjQqQmQqâm~?qͦi~?rjQqlj*r"ChQq-ljQq͜llQqünQqnrjQq$nQqml*r)r:Bhh"rj*r)r*r)rQq;ml*r"Eh:r;r:Ahh2AhQqÓpQqÜpQqp*Ch}/_|/*rW}_*r"r}o|g"r:rʑr*Ch6:rʑrw:r2rEq*h*Eh}DQq>2rpos tetz}t zzzútÀtttttuz÷t:u1>J("y:42y2 'z;t1!B:@ 0-]]> '0>!s2"!e2"*e"v!Zu"eyK]*y:y>Gzx2y zy0*!Bs ~(2yO '}("y|s#r!2`i[y!~ !6#6Cyy2yCy:y2y*y[y'>*y[y:y2y*y*yy =2y*y[y'>-h&)MD)) J {G'0sqy1ykuD}{qyy v8svv!"yW0 -͔u0SyCy!"y_!u~#fo2y:yAvvOvvvvvw5wLvwvvvvvv,w.vvw5wwvvvv5w[w[wawiwtwiwwwwwwwwww0Ky[yxvRs!Rsɯxvs!s0y>$v4xy:y>(> 2y4xbxv:ygy*y0y>$>$>$zx4xw`yy(!y0y>$ >$x>$4x*y"y~? xv*y>2y4xbx!y(w!y0y>$>$yvn&4x*y "y4x"ybxw4xbxww:y(2yv *yñwekñw*yðw*yðw*yD&h&ñw*y&`iñw> Cy-cv0"y(!"y*y*yV#^#~#N#Fgi:y :y "y*yr#s#[yr#sxo*y~x`y2ygyv:ygyɷ[y( _!Bs^ 'ѻK '*y#Nx Yx*y##:@0w$$$ SUBYx:yy!y0y>$:y{qy0:y=xvA!xyw#6:#  ( x 6.#w#6 #6 #6[y!x>y~O s# File protect violation on d:filename.typ *yy :yxyv!yw}2yF*y))))))*y&))[y[y:@W*y~ G*y~˯w Pz$z1z9zBzMzZzdz>@2:>ȯ::A:A:0A: :>ȯ$@B B HH II$@DI ABI$"$H$H@$$I! H*  $H@@A I $D!!$I"BI"I"@$BIIH$$$$BBI$@BI!"$$A DI$@ A$@$$@H! "!$$" @B$!!!DH$$"H @@BHH  !$$A"D@ "A" "BHA " !$ D B I $ !$$ H@BD D$ HI DIA!$$$ $" "$D ! $"  $AB " BDD $$D!"DI$!$BH!"IB I$"D HD" " $"! @H !BI " I  $I$I$DI$ !I$@"$"$! $I$I$@I$ @ !D$@@@B $HIH H$ $ DI @ @ @@$ $@@$!@ @ $ISHUTDOWN&,Copyright 1981 North Star Computers, Inc.1s&@?g'͓''͕(͜(T*͇*ͳ+!&&::O:c'G> <>y!&6# >v28~#(Gy & Unexpected error '& Unexpected error '0& --SHUTDOWN aborted! 25(@'  Not Logged In >J& For use with TSS/C only '>J&"c'& Only for use from the CONTROL TERMINAL '& Perform TSS/C end-of-day shutdown? ('& À(K>' ( w ((# 6 C>'7( >@G> 7(_( {=(& +w 8z(~G> #!<'(><:<'_Yɯ2=-*A&"A'*A'|f)+"A'>J¿&~ʤ(ʤ(o&"C'>J¿&T'#(ä(& *& is still LOGGED onto job #>ˁ;);););)><")8*) A0G> *A')>2b'ä(:b'& Ignore these jobs and force shutdown? (' ~#Gy !)ͨ)(' CAUTION: data may be lost-- Are you sure? &(*C')&) *C'>J¿&E'!E'ͨ)& -*G[IR& Spooler queue is NOT empty '& Turn off the hard disk(s)? ('/+Ke' Ce'* Mô*& Shut down complete! & A) You may now power down the equipment,& OR B) M+& Shut down complete! &Insert a system diskette in drive #1 and...& press to re-boot!!<'(ڳ+gsm.8WAGES  5 Wages program demonstrating system clock access  - B$8)8) \ double back space " "Your yearly salary: ",Y 1 YY365.257586060) \ earningssecond 8 "Time you started working today (HH,MM,SS): ",  "",H2,M2,S2  , I1 24 \ \ \ clear the screen 0 BH260M2)60S2 \ beginning time 7 E154096 \ base address of TSSC 8 TE31612 \ addr of RTC string ptr 2 CT)256T1)3 \ address of time string  2 HC) \MC1) \SC2) \ % \ 1st time   display loop  # SC2) \MC1) \HC) 4 SC2)  \ ensure stable time sample 0 SS1  \ await next second ! "" update wages every 3 seconds +# SS3)3 % \B$,D$S), \ ) $ 6% WH60M)60SB)Y \ accumulated earnings )& 13),%C$15F2,W," earned between ", '' T$H2,M2,S2)," and ",T$H,M,S), ( ) S1S \  * + return wellformatted time ., T$H,M,S)D$H)":"D$M)":"D$S) - . make two digit string / D$X) .0 T$X) \T$"0"T$2) \ T$1X9)) 1 gsm.2Ϝhggh  9i>A%B2@EaDEaPEeSEBh9BP#7B 039 9BBV$B 025 %B XBBB2BBD 011 BB 057