Pub - beta

Various works which are, to my knowledge, no longer copyrighted

User Tools

Site Tools


wearmouth:version_1

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

wearmouth:version_1 [2022/03/22 09:23] – created evertwearmouth:version_1 [2022/03/22 09:33] (current) – external edit 127.0.0.1
Line 1: Line 1:
-1+<HTML> 
 +<pre> 
 +; Disassembly of the file "C:\lab\if1-1.rom" 
 +;  
 +; CPU Type: Z80 
 +;  
 +; Created with dZ80 1.50 
 +;  
 +; on Sunday, 28 of April 2002 at 12:33 PM 
 +;  
 +; --- 
 +
 +; Last Updated: 14-JAN-2004 
 +
 +; Credits:      John Hutcheson          Documentation. 
 +;               Geoff Wearmouth         Current Maintainer 
 + 
 +#define DEFB .BYTE       
 +#define DEFW .WORD   
 +#define DEFM .TEXT 
 +#define EQU  .EQU 
 +#define ORG  .ORG 
 + 
 +        ORG     $0000 
 + 
 +  
 +; -------------------------------- 
 +; THE <b><font color=#333388>'RETURN TO MAIN ROM'</font></b> ROUTINE 
 +; -------------------------------- 
 +
 +  
 +<a name="L0000"></a>;; <b>MAIN-ROM</b> 
 +L0000:  POP     HL 
 +        LD      (IY+$7C),$00    ; sv FLAGS_3 
 +        JP      <A href="#L0700">L0700</a>           ; jump forward to UNPAGE 
 +  
 +; ------------------- 
 +; THE <b><font color=#333388>'START'</font></b> ROUTINE 
 +; ------------------- 
 +
 +  
 +<a name="L0008"></a>;; <b>ST-SHADOW</b> 
 +L0008:  LD      HL,($5C5D)      ; sv CH_ADD 
 +        POP     HL 
 +        PUSH    HL 
 +        JP      <A href="#L009A">L009A</a>           ; jump forward to START-2 
 +  
 +; ----------------------------- 
 +; THE <b><font color=#333388>'CALL A MAIN ROM'</font></b> ROUTINE 
 +; ----------------------------- 
 +
 +  
 +<a name="L0010"></a>;; <b>CALBAS</b> 
 +L0010:  LD      ($5CBA),HL      ; sv SBRT 
 +        POP     HL 
 +        PUSH    DE 
 +        JR      <A href="#L0081">L0081</a>           ; forward to CALBAS-2 
 +  
 +        DEFB    $FF             ; unused 
 +  
 +; --------------------------------------------- 
 +; THE <b><font color=#333388>'TEST IF SYNTAX IS BEING CHECKED'</font></b> ROUTINE 
 +; --------------------------------------------- 
 +
 +  
 +<a name="L0018"></a>;; <b>CHKSYNTAX</b> 
 +L0018:  BIT     7,(IY+$01)      ; sv FLAGS 
 +        RET      
 + 
 +        DEFB    $FF             ; unused 
 +        DEFB    $FF             ; unused 
 +        DEFB    $FF             ; unused 
 +  
 +; -------------------------- 
 +; THE <b><font color=#333388>'SHADOW-ERROR'</font></b> ROUTINE 
 +; -------------------------- 
 +
 +  
 +<a name="L0020"></a>;; <b>SH-ERR</b> 
 +L0020:  RST     18H 
 +        JR      Z,<A href="#L0068">L0068</a>         ; forward to ST-ERROR 
 +  
 +        JR      <A href="#L003A">L003A</a>           ; forward to TEST-SP 
 +  
 +        DEFB    $FF             ; unused 
 +        DEFB    $FF             ; unused 
 +        DEFB    $FF             ; unused 
 +  
 +; ------------------------------------ 
 +; THE <b><font color=#333388>'MAIN ROM ERROR RESTART'</font></b> ROUTINE 
 +; ------------------------------------ 
 +
 +  
 +<a name="L0028"></a>;; <b>ROMERR</b> 
 +L0028:  RES     3,(IY+$02)      ; sv TV_FLAG 
 +        JR      <A href="#L0040">L0040</a>           ; forward to RMERR-2 
 +  
 +        DEFB    $FF             ; unused 
 +        DEFB    $FF             ; unused 
 +  
 +; ------------------------------------------------- 
 +; THE <b><font color=#333388>'CREATE NEW SYSTEM VARIABLES RESTART'</font></b> ROUTINE 
 +; ------------------------------------------------- 
 +; This restart is used twice to create the new system variables. 
 +  
 +<a name="L0030"></a>;; <b>NEWVARS</b> 
 +L0030:  JP      <A href="#L01F7">L01F7</a>           ; jump forward to CRT-VARS 
 + 
 +        DEFB    $FF             ; unused 
 +        DEFB    $FF             ; unused 
 +        DEFB    $FF             ; unused 
 +        DEFB    $FF             ; unused 
 +        DEFB    $FF             ; unused 
 +  
 +; -------------------------------- 
 +; THE <b><font color=#333388>'MASKABLE INTERRUPT'</font></b> ROUTINE 
 +; -------------------------------- 
 +
 +  
 +<a name="L0038"></a>;; <b>INT-SERV</b> 
 +L0038:  EI       
 +        RET      
 + 
 +  
 +; --------------------- 
 +; THE <b><font color=#333388>'TEST-SP'</font></b> ROUTINE 
 +; --------------------- 
 +
 +  
 +<a name="L003A"></a>;; <b>TEST-SP</b> 
 +L003A:  CALL    <A href="#L0077">L0077</a>           ; routine CHECK-SP 
 +        JP      <A href="#L0258">L0258</a>           ; jump forward to REP-MSG 
 +  
 +; ---------------------------- 
 +; THE <b><font color=#333388>'MAIN ROM ERROR'</font></b> ROUTINE 
 +; ---------------------------- 
 +
 +  
 +<a name="L0040"></a>;; <b>RMERR-2</b> 
 +L0040:  RST     18H 
 +        JR      Z,<A href="#L0068">L0068</a>         ; forward to ST-ERROR 
 +  
 +        CALL    <A href="#L0077">L0077</a>           ; routine CHECK-SP 
 +        CALL    <A href="#L17B9">L17B9</a>           ; routine RCL-T-CH 
 +        BIT     1,(IY+$7C)      ; sv FLAGS_3 
 +        JR      Z,<A href="#L0068">L0068</a>         ; forward to ST-ERROR 
 +  
 +        BIT     4,(IY+$7C)      ; sv FLAGS_3 
 +        JR      Z,<A href="#L0068">L0068</a>         ; forward to ST-ERROR 
 +  
 +        LD      A,(IY+$00)      ; sv ERR_NR 
 +        CP      $14 
 +        JR      NZ,<A href="#L0068">L0068</a>        ; forward to ST-ERROR 
 +  
 +        LD      HL,L0000 
 +        PUSH    HL 
 +        RST     00H 
 + 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +  
 +; ------------------------------------ 
 +; THE <b><font color=#333388>'NON-MASKABLE INTERRUPT'</font></b> ROUTINE 
 +; ------------------------------------ 
 +
 +  
 +<a name="L0066"></a>;; <b>NMINT-SRV</b> 
 +L0066:  RETN     
 + 
 +  
 +; ---------------------- 
 +; THE <b><font color=#333388>'ST-ERROR'</font></b> ROUTINE 
 +; ---------------------- 
 +
 +  
 +<a name="L0068"></a>;; <b>ST-ERROR</b> 
 +L0068:  LD      HL,($5C5D)      ; sv CH_ADD 
 +        LD      ($5C5F),HL      ; sv X_PTR 
 +        LD      SP,($5C3D)      ; sv ERR_SP 
 +        LD      HL,$16C5 
 +        PUSH    HL 
 +        RST     00H 
 +  
 +; ---------------------- 
 +; THE <b><font color=#333388>'CHECK-SP'</font></b> ROUTINE 
 +; ---------------------- 
 +
 +  
 +<a name="L0077"></a>;; <b>CHECK-SP</b> 
 +L0077:  BIT     2,(IY+$7C)      ; sv FLAGS_3 
 +        RET                   ; 
 + 
 +        LD      SP,($5C3D)      ; sv ERR_SP 
 +        RST     00H             ; 
 +  
 +; ---------------------- 
 +; THE <b><font color=#333388>'CALBAS-2'</font></b> ROUTINE 
 +; ---------------------- 
 +
 +  
 +<a name="L0081"></a>;; <b>CALBAS-2</b> 
 +L0081:  LD      E,(HL)          ; 
 +        INC     HL              ; 
 +        LD      D,(HL)          ; 
 +        LD      ($5CBD),DE      ; sv SBRT 
 +        INC     HL              ; 
 +        EX      (SP),HL         ; 
 +        EX      DE,HL           ; 
 +        LD      HL,<A href="#L0000">L0000</a>        ; 
 +        PUSH    HL              ; 
 +        LD      HL,<A href="#L0008">L0008</a>        ; 
 +        PUSH    HL              ; 
 +        LD      HL,$5CB9        ; sv SBRT 
 +        PUSH    HL              ; 
 +        JP      <A href="#L0700">L0700</a>           ; jump forward to UNPAGE 
 +  
 +; --------------------- 
 +; THE <b><font color=#333388>'CONTROL'</font></b> ROUTINE 
 +; --------------------- 
 +
 +  
 +<a name="L009A"></a>;; <b>START-2</b> 
 +L009A:  PUSH    AF 
 +        LD      A,H 
 +        OR      L 
 +        JR      NZ,<A href="#L00A5">L00A5</a>        ; forward to START-3 
 +  
 +        POP     AF 
 +        POP     HL 
 +        LD      HL,($5CBA)      ; sv SBRT 
 +        RET      
 + 
 +; --- 
 + 
 +  
 +<a name="L00A5"></a>;; <b>START-3</b> 
 +L00A5:  PUSH    DE 
 +        LD      DE,$15FE 
 +        SBC     HL,DE 
 +        POP     DE 
 +        JR      NZ,<A href="#L00BC">L00BC</a>        ; forward to START-4 
 +  
 +        POP     AF 
 +        LD      HL,L0700 
 +        PUSH    HL 
 +        LD      HL,$0004 
 +        ADD     HL,DE 
 +        LD      E,(HL) 
 +        INC     HL 
 +        LD      D,(HL) 
 +        EX      DE,HL 
 +        JP      (HL) 
 + 
 +; --- 
 +  
 +<a name="L00BC"></a>;; <b>START-4</b> 
 +L00BC:  RST     30H             ; NEWVARS 
 +        LD      A,$01 
 +        OUT     ($F7),
 +        LD      A,$EE 
 +        OUT     ($EF),
 +        POP     AF 
 +        POP     HL 
 +        PUSH    AF 
 +        RST     10H             ; CALBAS                 
 +        DEFW    $007B           ; main TEMP-PTR3 
 +        LD      ($5C3A),      ; sv ERR_NR 
 +        CP      $FF 
 +        JR      NZ,<A href="#L00E9">L00E9</a>        ; forward to TEST-CODE 
 +  
 +        BIT     1,(IY+$7C)      ; sv FLAGS_3 
 +        JR      Z,<A href="#L00E7">L00E7</a>         ; forward to NREPORT-0 
 +  
 +        BIT     7,(IY+$0C)      ; sv PPC_hi 
 +        JR      Z,<A href="#L00E7">L00E7</a>         ; forward to NREPORT-0 
 +  
 +        LD      HL,($5C59)      ; sv E_LINE 
 +        LD      A,(HL) 
 +        CP      $F7 
 +        JP      Z,<A href="#L0A95">L0A95</a>         ; jump forward to LOAD-RUN 
 +  
 +<a name="L00E7"></a>;; <b>NREPORT-0</b> 
 +L00E7:  RST     20H             ; sh_err 
 +        DEFB    $FF             ; 'Program finished' 
 + 
 +; --- 
 +  
 +<a name="L00E9"></a>;; <b>TEST-CODE</b> 
 +L00E9:  SUB     $1B 
 +        JP      NC,<A href="#L1981">L1981</a>        ; jump forward to HOOK-CODE 
 + 
 +        CP      $F0 
 +        JR      Z,<A href="#L00FB">L00FB</a>         ; forward to COPYCHADD 
 +  
 +        CP      $F3 
 +        JR      Z,<A href="#L00FB">L00FB</a>         ; forward to COPYCHADD 
 +  
 +        CP      $FC 
 +        JP      NZ,<A href="#L0028">L0028</a>        ; jump to ROMERR 
 +  
 +<a name="L00FB"></a>;; <b>COPYCHADD</b> 
 +L00FB:  LD      HL,($5C5D)      ; sv CH_ADD 
 +        LD      ($5CCB),HL      ; sv CHADD_ 
 +        POP     AF 
 +        BIT     5,(IY+$37)      ; sv FLAGX 
 +        JP      NZ,<A href="#L0028">L0028</a>        ; jump to ROMERR 
 +        BIT     0,(IY+$7C)      ; sv FLAGS_3 
 +        JP      NZ,<A href="#L0028">L0028</a>        ; jump to ROMERR 
 +        SET     0,(IY+$7C)      ; sv FLAGS_3 
 +        RST     18H 
 +        JR      NZ,<A href="#L011B">L011B</a>        ; forward to RUNTIME 
 +  
 +        LD      (IY+$0C),$FF    ; sv PPC_hi 
 +  
 +<a name="L011B"></a>;; <b>RUNTIME</b> 
 +L011B:  LD      B,(IY+$0D)      ; sv SUBPPC 
 +        LD      C,$00 
 +        BIT     7,(IY+$0C)      ; sv PPC_hi 
 +        JR      Z,<A href="#L0130">L0130</a>         ; forward to PROG-LINE 
 +  
 +        PUSH    BC 
 +        RST     10H             ; CALBAS 
 +        DEFW    $19FB           ; main E-LINE-NO 
 +        POP     BC 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0018           ; main GET-CHAR 
 +  
 +        JR      <A href="#L016F">L016F</a>           ; forward to S-STAT 
 + 
 +; --- 
 +  
 +<a name="L0130"></a>;; <b>PROG-LINE</b> 
 +L0130:  LD      HL,($5C53)      ; sv PROG 
 +  
 +<a name="L0133"></a>;; <b>SC-L-LOOP</b> 
 +L0133:  LD      A,($5C46)       ; sv PPC_hi 
 +        CP      (HL) 
 +        JR      NC,<A href="#L013B">L013B</a>        ; forward to TEST-LOW 
 +  
 +  
 +<a name="L0139"></a>;; <b>NREPORT-1</b> 
 +L0139:  RST     20H             ; sh_err 
 +        DEFB    $00             ; 'Nonsense in BASIC' 
 + 
 +; --- 
 +  
 +<a name="L013B"></a>;; <b>TEST-LOW</b> 
 +L013B:  INC     HL 
 +        JR      NZ,<A href="#L0144">L0144</a>        ; forward to LINE-LEN 
 +  
 +        LD      A,($5C45)       ; sv PPC 
 +        CP      (HL) 
 +        JR      C,<A href="#L0139">L0139</a>         ; back to NREPORT-1 
 +  
 +  
 +<a name="L0144"></a>;; <b>LINE-LEN</b> 
 +L0144:  INC     HL 
 +        LD      E,(HL) 
 +        INC     HL 
 +        LD      D,(HL) 
 +        INC     HL 
 +        JR      Z,<A href="#L016F">L016F</a>         ; forward to S-STAT 
 +  
 +        ADD     HL,DE 
 +        JR      <A href="#L0133">L0133</a>           ; back to SC-L-LOOP 
 + 
 +; --- 
 +  
 +  
 +<a name="L014E"></a>;; <b>SKIP-NUM</b> 
 +L014E:  LD      DE,$0006 
 +        ADD     HL,DE 
 +  
 +<a name="L0152"></a>;; <b>EACH-ST</b> 
 +L0152:  LD      A,(HL) 
 +        CP      $0E 
 +        JR      Z,<A href="#L014E">L014E</a>         ; back to SKIP-NUM 
 +  
 +        INC     HL 
 +        CP      $22 
 +        JR      NZ,<A href="#L015D">L015D</a>        ; forward to CHKEND 
 +  
 +        DEC     C 
 +  
 +<a name="L015D"></a>;; <b>CHKEND</b> 
 +L015D:  CP      $3A 
 +        JR      Z,<A href="#L0165">L0165</a>         ; forward to CHKEVEN 
 +  
 +        CP      $CB 
 +        JR      NZ,<A href="#L0169">L0169</a>        ; forward to CHKEND-L 
 +  
 +  
 +<a name="L0165"></a>;; <b>CHKEVEN</b> 
 +L0165:  BIT     0,C 
 +        JR      Z,<A href="#L016F">L016F</a>         ; forward to S-STAT 
 +  
 +  
 +<a name="L0169"></a>;; <b>CHKEND-L</b> 
 +L0169:  CP      $0D 
 +        JR      NZ,<A href="#L0152">L0152</a>        ; back to EACH-ST 
 +  
 +        JR      <A href="#L0139">L0139</a>           ; back to NREPORT-1 
 + 
 +; --- 
 +  
 +  
 +<a name="L016F"></a>;; <b>S-STAT</b> 
 +L016F:  DJNZ    <A href="#L0152">L0152</a>           ; back to EACH-ST 
 +  
 +        DEC     HL 
 +        LD      ($5C5D),HL      ; sv CH_ADD 
 +        RST     18H 
 +        JR      NZ,<A href="#L01AA">L01AA</a>        ; forward to CL-WORK 
 +  
 +        BIT     7,(IY+$0C)      ; sv PPC_hi 
 +        JP      Z,<A href="#L01F0">L01F0</a>         ; jump forward to ERR-6 
 +        DEC     HL 
 +        LD      C,$00 
 +  
 +<a name="L0182"></a>;; <b>RCLM-NUM</b> 
 +L0182:  INC     HL 
 +        LD      A,(HL) 
 +        CP      $0E 
 +        JR      NZ,<A href="#L01A5">L01A5</a>        ; forward to NEXTNUM 
 +  
 +        PUSH    BC 
 +        LD      BC,$0006 
 +        RST     10H             ; CALBAS 
 +        DEFW    $19E8           ; main RECLAIM-2 
 +        PUSH    HL 
 +        LD      DE,($5CCB)      ; sv CHADD_ 
 +        AND     A 
 +        SBC     HL,DE 
 +        JR      NC,<A href="#L01A3">L01A3</a>        ; forward to NXT-1 
 +  
 +        EX      DE,HL 
 +        LD      BC,$0006 
 +        AND     A 
 +        SBC     HL,BC 
 +        LD      ($5CCB),HL      ; sv CHADD_ 
 +  
 +<a name="L01A3"></a>;; <b>NXT-1</b> 
 +L01A3:  POP     HL 
 +        POP     BC 
 +  
 +<a name="L01A5"></a>;; <b>NEXTNUM</b> 
 +L01A5:  LD      A,(HL) 
 +        CP      $0D 
 +        JR      NZ,<A href="#L0182">L0182</a>        ; back to RCLM-NUM 
 +  
 +  
 +<a name="L01AA"></a>;; <b>CL-WORK</b> 
 +L01AA:  RST     10H             ; CALBAS 
 +        DEFW    $16BF           ; main SET-WORK 
 +        CALL    $024D 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        SUB     $CE 
 +        CP      $01 
 +        JP      Z,<A href="#L0486">L0486</a>         ; jump forward to CAT-SYN 
 +        CP      $02 
 +        JP      Z,<A href="#L04B4">L04B4</a>         ; jump forward to FRTM-SYN 
 +        CP      $03 
 +        JP      Z,<A href="#L053D">L053D</a>         ; jump forward to MOVE-SYN 
 +        CP      $04 
 +        JP      Z,<A href="#L0531">L0531</a>         ; jump forward to ERASE-SYN 
 +        CP      $05 
 +        JP      Z,<A href="#L04ED">L04ED</a>         ; jump forward to OPEN-SYN 
 +        CP      $2A 
 +        JP      Z,<A href="#L082F">L082F</a>         ; jump forward to SAVE-SYN 
 +        CP      $21 
 +        JP      Z,<A href="#L0894">L0894</a>         ; jump forward to LOAD-SYN 
 +        CP      $08 
 +        JP      Z,<A href="#L089E">L089E</a>         ; jump forward to VERIF-SYN 
 +        CP      $07 
 +        JP      Z,<A href="#L08A8">L08A8</a>         ; jump forward to MRG-SYN 
 +        CP      $2D 
 +        JP      Z,<A href="#L0559">L0559</a>         ; jump forward to CLS#-SYN 
 +        CP      $2F 
 +        JP      Z,<A href="#L057F">L057F</a>         ; jump forward to CLR#-SYN 
 + 
 +; finally if none of these,  
 + 
 +        LD      HL,($5CB7)      ; sv VECTOR 
 +        JP      (HL) 
 + 
 +; --- 
 +  
 +<a name="L01F0"></a>;; <b>ERR-6</b> 
 +L01F0:  LD      HL,($5CCB)      ; sv CHADD_ 
 +        LD      ($5C5D),HL      ; sv CH_ADD 
 +        RST     28H             ; main romerr 
 +  
 +; ----------------------------------------- 
 +; THE <b><font color=#333388>'CREATE NEW SYSTEM VARIABLES'</font></b> ROUTINE 
 +; ----------------------------------------- 
 +
 +  
 +<a name="L01F7"></a>;; <b>CRT-VARS</b> 
 +L01F7:  LD      HL,($5C4F)      ; sv CHANS 
 +        LD      DE,$A349 
 +        ADD     HL,DE 
 +        JR      C,<A href="#L0235">L0235</a>         ; forward to VAR-EXIST 
 +  
 +        LD      HL,<A href="#L0224">L0224</a>        ; Address DEFAULT below 
 +        PUSH    HL 
 +        LD      HL,($5C63)      ; sv STKBOT 
 +        LD      ($5C65),HL      ; sv STKEND 
 +        LD      HL,$5C92        ; sv MEM_0 
 +        LD      ($5C68),HL      ; sv MEM 
 +        LD      HL,$5CB5        ; sv P_RAMT_hi 
 +        LD      BC,L003A 
 +        LD      DE,L0000 
 +        PUSH    DE 
 +        LD      E,$08 
 +        PUSH    DE 
 +        LD      DE,$1655 
 +        PUSH    DE 
 +        JP      <A href="#L0700">L0700</a>           ; jump forward to UNPAGE 
 + 
 +; and then back here 
 + 
 +<a name="L0224"></a>;; <b>DEFAULT</b> 
 +L0224:  LD      HL,L023A 
 +        LD      BC,$0013 
 +        LD      DE,$5CB6        ; sv FLAGS_3 
 +        LDIR     
 + 
 +;   <font color=#9900FF>Note.</font>  Accumulator may hold stream to close. 
 + 
 +        LD      A,$01           ; 
 +        LD      ($5CEF),      ; sv COPIES 
 +        RET                     ; 
 + 
 +  
 +<a name="L0235"></a>;; <b>VAR-EXIST</b> 
 +L0235:  RES     1,(IY+$7C)      ; sv FLAGS_3 
 +        RET      
 + 
 +  
 +; --------------------------------------------- 
 +; THE <b><font color=#333388>'SYSTEM VARIABLES DEFAULT VALUES'</font></b> ROUTINE 
 +; --------------------------------------------- 
 +
 +  
 +<a name="L023A"></a>;; <b>SV_DEFVAL</b> 
 +L023A:  DEFB    $02 
 +        DEFW    $01F0           ; 
 +        LD      HL,$0000 
 +        CALL    $0000 
 +        LD      ($5CBA),HL      ; sv SBRT 
 +        RET      
 +        DEFW    $000C           ; 
 +        DEFB    $01 
 +        DEFB    $00 
 +        DEFW    $0000           ; 
 + 
 +  
 +; ---------------------------------------- 
 +; THE <b><font color=#333388>'RESET NEW SYSTEM VARIABLES'</font></b> ROUTINE 
 +; ---------------------------------------- 
 +
 +  
 +<a name="L024D"></a>;; <b>RES-VARS</b> 
 +L024D:  LD      HL,$5CCD        ; sv NTRESP 
 +        LD      B,$22 
 +  
 +<a name="L0252"></a>;; <b>EACH-VAR</b> 
 +L0252:  LD      (HL),$FF 
 +        INC     HL 
 +        DJNZ    <A href="#L0252">L0252</a>           ; back to EACH-VAR 
 +  
 +        RET      
 + 
 +  
 +; ------------------------------------ 
 +; THE <b><font color=#333388>'SHADOW REPORT PRINTING'</font></b> ROUTINE 
 +; ------------------------------------ 
 +
 +  
 +<a name="L0258"></a>;; <b>REP-MSG</b> 
 +L0258:  LD      (IY+$7C),$00    ; sv FLAGS_3 
 +        EI       
 +        HALT     
 +        CALL    <A href="#L17B9">L17B9</a>           ; routine RCL-T-CH 
 +        RES     5,(IY+$01)      ; sv FLAGS 
 +        BIT     1,(IY+$30)      ; sv FLAGS2 
 +        JR      Z,<A href="#L026E">L026E</a>         ; forward to FETCH-ERR 
 +  
 +        RST     10H             ; CALBAS 
 +        DEFW    $0ECD           ; main COPY-BUFF 
 + 
 + 
 +  
 +<a name="L026E"></a>;; <b>FETCH-ERR</b> 
 +L026E:  POP     HL 
 +        LD      A,(HL) 
 +        LD      (IY+$00),     ; sv ERR_NR 
 +        INC     A 
 +        PUSH    AF 
 + 
 +        LD      HL,$0000 
 +        LD      (IY+$37),     ; sv FLAGX 
 +        LD      (IY+$26),     ; sv X_PTR_hi 
 +        LD      ($5C0B),HL      ; sv DEFADD 
 +        INC     L 
 +        LD      ($5C16),HL      ; sv STRMS_00 
 +        RST     10H             ; CALBAS 
 +        DEFW    $16B0           ; main SET-MIN 
 +        RES     5,(IY+$37)      ; sv FLAGX 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0D6E           ; main CLS-LOWER 
 +        SET     5,(IY+$02)      ; sv TV_FLAG 
 +        RES     3,(IY+$02)      ; sv TV_FLAG 
 +        POP     AF 
 +        LD      HL,$02B7 
 +        LD      B,$04 
 +        CPIR     
 +  
 +<a name="L029F"></a>;; <b>PR-REP-LP</b> 
 +L029F:  LD      A,(HL) 
 +        CP      $20 
 +        JR      C,<A href="#L02AC">L02AC</a>         ; forward to END-PR-MS 
 +  
 +        PUSH    HL 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0010           ; main PRINT-A 
 +        POP     HL 
 +        INC     HL 
 +        JR      <A href="#L029F">L029F</a>           ; back to PR-REP-LP 
 +  
 +  
 +<a name="L02AC"></a>;; <b>END-PR-MS</b> 
 +L02AC:  LD      SP,($5C3D)      ; sv ERR_SP 
 +        INC     SP 
 +        INC     SP 
 +        LD      HL,L1349 
 +        PUSH    HL 
 +        RST     00H 
 + 
 +  
 +; ------------------------------------ 
 +; THE <b><font color=#333388>'SHADOW REPORT MESSAGES'</font></b> ROUTINE 
 +; ------------------------------------ 
 +
 +  
 +<a name="LEND"></a>;; <b></b> 
 +L02B7:  DEFB    $00 
 +        DEFM    "Program finished" 
 +        DEFB    $01  
 +        DEFM    "Nonsense in BASIC" 
 +        DEFB    $02 
 +        DEFM    "Invalid stream number" 
 +        DEFB    $03 
 +        DEFM    "Invalid device expression" 
 +        DEFB    $04 
 +        DEFM    "Invalid name" 
 +        DEFB    $05  
 +        DEFM    "Invalid drive number" 
 +        DEFB    $06 
 +        DEFM    "Invalid station number" 
 +        DEFB    $07  
 +        DEFM    "Missing name" 
 +        DEFB    $08 
 +        DEFM    "Missing station number" 
 +        DEFB    $09 
 +        DEFM    "Missing drive number" 
 +        DEFB    $0A 
 +        DEFM    "Missing baud rate" 
 +        DEFB    $0B 
 +        DEFM    "Header mismatch error" ; not used. 
 +        DEFB    $0C 
 +        DEFM    "Stream already open" 
 +        DEFB    $0D 
 +        DEFM    "Writing to a 'read' file" 
 +        DEFB    $0E 
 +        DEFM    "Reading a 'write' file" 
 +        DEFB    $0F 
 +        DEFM    "Drive 'write' protected" 
 +        DEFB    $10 
 +        DEFM    "Microdrive full" 
 +        DEFB    $11 
 +        DEFM    "Microdrive not present" 
 +        DEFB    $12 
 +        DEFM    "File not found" 
 +        DEFB    $13  
 +        DEFM    "Hook code error" 
 +        DEFB    $14 
 +        DEFM    "CODE error" 
 +        DEFB    $15 
 +        DEFM    "MERGE error" 
 +        DEFB    $16 
 +        DEFM    "Verification has failed" 
 +        DEFB    $17 
 +        DEFM    "Wrong file type" 
 +        DEFB    $18 
 + 
 +  
 +; -------------------------------- 
 +; THE <b><font color=#333388>'CAT COMMAND SYNTAX'</font></b> ROUTINE 
 +; -------------------------------- 
 +
 +  
 +<a name="L0486"></a>;; <b>CAT-SYN</b> 
 +L0486:  LD      HL,$5CD8        ; sv D_STR1 
 +        LD      (HL),$02 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        CP      $0D 
 +        JR      Z,<A href="#L0494">L0494</a>         ; forward to MISSING-D 
 +  
 +        CP      $3A 
 +  
 +<a name="L0494"></a>;; <b>MISSING-D</b> 
 +L0494:  JP      Z,<A href="#L0683">L0683</a>         ; jump forward to NREPORT-9 
 +        CP      $23 
 +        JR      NZ,<A href="#L04A6">L04A6</a>        ; forward to CAT-SCRN 
 +  
 +        CALL    <A href="#L064E">L064E</a>           ; routine EXPT-STRM 
 +        CALL    <A href="#L05B1">L05B1</a>           ; routine SEPARATOR 
 +        JR      NZ,<A href="#L04B2">L04B2</a>        ; forward to OREPORT-1 
 +  
 +        RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +  
 +<a name="L04A6"></a>;; <b>CAT-SCRN</b> 
 +L04A6:  CALL    <A href="#L061E">L061E</a>           ; routine EXPT-NUM 
 +        CALL    <A href="#L05B7">L05B7</a>           ; routine ST-END 
 +        CALL    <A href="#L066D">L066D</a>           ; routine CHECK-M-2 
 +        JP      <A href="#L1E70">L1E70</a>           ; jump forward to CAT-RUN 
 +  
 +<a name="L04B2"></a>;; <b>OREPORT-1</b> 
 +L04B2:  RST     20H             ; sh_err 
 +        DEFB    $00             ; 'Nonsense in BASIC' 
 +  
 +; ----------------------------------- 
 +; THE <b><font color=#333388>'FORMAT COMMAND SYNTAX'</font></b> ROUTINE 
 +; ----------------------------------- 
 +
 +  
 +<a name="L04B4"></a>;; <b>FRTM-SYN</b> 
 +L04B4:  CALL    <A href="#L05F2">L05F2</a>           ; routine EXPT-SPEC 
 +        CALL    <A href="#L05B1">L05B1</a>           ; routine SEPARATOR 
 +        JR      NZ,<A href="#L04BF">L04BF</a>        ; forward to NO-FOR-M 
 +  
 +        CALL    <A href="#L062F">L062F</a>           ; routine EXPT-NAME 
 +  
 +<a name="L04BF"></a>;; <b>NO-FOR-M</b> 
 +L04BF:  CALL    <A href="#L05B7">L05B7</a>           ; routine ST-END 
 +        LD      A,($5CD9)       ; sv D_STR1 
 +        CP      $54 
 +        JR      Z,<A href="#L04CD">L04CD</a>         ; forward to FOR-B-T 
 +  
 +        CP      $42 
 +        JR      NZ,<A href="#L04D3">L04D3</a>        ; forward to NOT-FOR-B 
 +  
 +  
 +<a name="L04CD"></a>;; <b>FOR-B-T</b> 
 +L04CD:  CALL    <A href="#L06B0">L06B0</a>           ; routine TEST-BAUD 
 +        JP      <A href="#L0AC9">L0AC9</a>           ; jump forward to SET-BAUD 
 +  
 +<a name="L04D3"></a>;; <b>NOT-FOR-B</b> 
 +L04D3:  CP      $4E 
 +        JR      NZ,<A href="#L04E7">L04E7</a>        ; forward to FOR-M 
 +  
 +        CALL    <A href="#L068F">L068F</a>           ; routine TEST-STAT 
 +        LD      A,($5CD6)       ; sv D_STR1 
 +        AND     A 
 +        JP      Z,<A href="#L069F">L069F</a>         ; jump forward to NREPORT-6 
 +        LD      ($5CC5),      ; sv NTSTAT 
 +        JP      <A href="#L05C1">L05C1</a>           ; jump forward to END1 
 +  
 +<a name="L04E7"></a>;; <b>FOR-M</b> 
 +L04E7:  CALL    <A href="#L0685">L0685</a>           ; routine TEST-MNAM 
 +        JP      <A href="#L1E75">L1E75</a>           ; jump forward to IFOR-RUN 
 +  
 +; --------------------------------- 
 +; THE <b><font color=#333388>'OPEN COMMAND SYNTAX'</font></b> ROUTINE 
 +; --------------------------------- 
 +
 +  
 +<a name="L04ED"></a>;; <b>OPEN-SYN</b> 
 +L04ED:  CALL    <A href="#L064E">L064E</a>           ; routine EXPT-STRM 
 +        CALL    <A href="#L05B1">L05B1</a>           ; routine SEPARATOR 
 +        JR      NZ,<A href="#L04B2">L04B2</a>        ; back to OREPORT-1 
 +  
 +        CALL    <A href="#L05F2">L05F2</a>           ; routine EXPT-SPEC 
 +        CALL    <A href="#L05B1">L05B1</a>           ; routine SEPARATOR 
 +        JR      NZ,<A href="#L0500">L0500</a>        ; forward to NOT-OP-M 
 +  
 +        CALL    <A href="#L062F">L062F</a>           ; routine EXPT-NAME 
 +  
 +<a name="L0500"></a>;; <b>NOT-OP-M</b> 
 +L0500:  CALL    <A href="#L05B7">L05B7</a>           ; routine ST-END 
 +        LD      A,($5CD8)       ; sv D_STR1 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1727           ; main STR-DATA1 
 +        LD      HL,$0011 
 +        AND     A 
 +        SBC     HL,BC 
 +        JR      C,<A href="#L052F">L052F</a>         ; forward to NREPORT-C 
 +  
 +        LD      A,($5CD9)       ; sv D_STR1 
 +        CP      $54 
 +        JR      Z,<A href="#L051C">L051C</a>         ; forward to OPEN-RS 
 +  
 +        CP      $42 
 +        JR      NZ,<A href="#L051F">L051F</a>        ; forward to NOT-OP-B 
 +  
 +  
 +<a name="L051C"></a>;; <b>OPEN-RS</b> 
 +L051C:  JP      <A href="#L0B47">L0B47</a>           ; jump forward to OP-RSCHAN 
 +  
 +<a name="L051F"></a>;; <b>NOT-OP-B</b> 
 +L051F:  CP      $4E 
 +        JR      NZ,<A href="#L0529">L0529</a>        ; forward to OP-M-C 
 +  
 +        CALL    <A href="#L068F">L068F</a>           ; routine TEST-STAT 
 +        JP      <A href="#L0EA3">L0EA3</a>           ; jump forward to OPEN-N-ST 
 +  
 +<a name="L0529"></a>;; <b>OP-M-C</b> 
 +L0529:  CALL    <A href="#L0685">L0685</a>           ; routine TEST-MNAM 
 +        JP      <A href="#L1E7A">L1E7A</a>           ; jump forward to OP-RUN 
 +  
 +<a name="L052F"></a>;; <b>NREPORT-C</b> 
 +L052F:  RST     20H             ; sh_err 
 +        DEFB    $0B             ; 'Stream already open' 
 +  
 +; ---------------------------------- 
 +; THE <b><font color=#333388>'ERASE COMMAND SYNTAX'</font></b> ROUTINE 
 +; ---------------------------------- 
 +
 +  
 +<a name="L0531"></a>;; <b>ERASE-SYN</b> 
 +L0531:  CALL    <A href="#L06A3">L06A3</a>           ; routine EXOT-EXPR 
 +        CALL    <A href="#L05B7">L05B7</a>           ; routine ST-END 
 +        CALL    <A href="#L0685">L0685</a>           ; routine TEST-MNAM 
 +        JP      <A href="#L1E66">L1E66</a>           ; jump forward to ERASE-RUN 
 +  
 +; --------------------------------- 
 +; THE <b><font color=#333388>'MOVE COMMAND SYNTAX'</font></b> ROUTINE 
 +; --------------------------------- 
 +
 +  
 +<a name="L053D"></a>;; <b>MOVE-SYN</b> 
 +L053D:  CALL    <A href="#L06B9">L06B9</a>           ; routine EXPT-EXP1 
 +        CALL    <A href="#L059F">L059F</a>           ; routine EX-D-STR 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0018           ; main GET-CHAR 
 +        CP      $CC 
 +        JR      NZ,<A href="#L0584">L0584</a>        ; forward to NONSENSE 
 +  
 +        CALL    <A href="#L06B9">L06B9</a>           ; routine EXPT-EXP1 
 +        CALL    <A href="#L059F">L059F</a>           ; routine EX-D-STR 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0018           ; main GET-CHAR 
 +        CALL    <A href="#L05B7">L05B7</a>           ; routine ST-END 
 +        JP      <A href="#L1E6B">L1E6B</a>           ; jump forward to MOVE-RUN 
 +  
 +; -------------------------- 
 +; THE <b><font color=#333388>'CLS# COMMAND'</font></b> ROUTINE 
 +; -------------------------- 
 +
 +  
 +<a name="L0559"></a>;; <b>CLS#-SYN</b> 
 +L0559:  RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        CP      $23 
 +        JR      NZ,<A href="#L0584">L0584</a>        ; forward to NONSENSE 
 +  
 +        RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        CALL    <A href="#L05B7">L05B7</a>           ; routine ST-END 
 +        LD      HL,L0038 
 +        LD      ($5C8D),HL      ; sv ATTR_P 
 +        LD      ($5C8F),HL      ; sv ATTR_T 
 +        LD      (IY+$0E),     ; sv BORDCR 
 +        LD      (IY+$57),     ; sv P_FLAG 
 +        LD      A,$07 
 +        OUT     ($FE),
 +        RST     10H             ; CALBAS 
 +        DEFW    $0D6B           ; main CLS 
 +        JP      <A href="#L05C1">L05C1</a>           ; jump forward to END1 
 +  
 +; ---------------------------- 
 +; THE <b><font color=#333388>'CLEAR# COMMAND'</font></b> ROUTINE 
 +; ---------------------------- 
 +
 +  
 +<a name="L057F"></a>;; <b>CLR#-SYN</b> 
 +L057F:  RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        CP      $23 
 +  
 +<a name="L0584"></a>;; <b>NONSENSE</b> 
 +L0584:  JP      NZ,<A href="#L04B2">L04B2</a>        ; jump to OREPORT-1 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        CALL    <A href="#L05B7">L05B7</a>           ; routine ST-END 
 +        XOR     A 
 +  
 +<a name="L058E"></a>;; <b>ALL-STRMS</b> 
 +L058E:  PUSH    AF 
 +        SET     1,(IY+$7C)      ; sv FLAGS_3 
 +        CALL    <A href="#L1718">L1718</a>           ; routine CLOSE 
 +        POP     AF 
 +        INC     A 
 +        CP      $10 
 +        JR      C,<A href="#L058E">L058E</a>         ; back to ALL-STRMS 
 +  
 +        JP      <A href="#L05C1">L05C1</a>           ; jump forward to END1 
 +  
 +; -------------------------------------- 
 +; THE <b><font color=#333388>'EXCHANGE FILE SPECIFIERS'</font></b> ROUTINE 
 +; -------------------------------------- 
 +
 +  
 +<a name="L059F"></a>;; <b>EX-D-STR</b> 
 +L059F:  LD      HL,$5CD6        ; sv D_STR1 
 +        LD      DE,$5CDE        ; sv D_STR2 
 +        LD      B,$08 
 +  
 +<a name="L05A7"></a>;; <b>ALL-BYTES</b> 
 +L05A7:  LD      A,(DE) 
 +        LD      C,(HL) 
 +        LD      (HL),A 
 +        LD      A,C 
 +        LD      (DE),A 
 +        INC     HL 
 +        INC     DE 
 +        DJNZ    <A href="#L05A7">L05A7</a>           ; back to ALL-BYTES 
 +  
 +        RET      
 + 
 +  
 +; ----------------------- 
 +; THE <b><font color=#333388>'SEPARATOR'</font></b> ROUTINE 
 +; ----------------------- 
 +
 +  
 +<a name="L05B1"></a>;; <b>SEPARATOR</b> 
 +L05B1:  CP      $2C             ; the ',' character 
 +        RET     Z 
 + 
 +        CP      $3B             ; the ';' character 
 +        RET      
 + 
 +  
 +; ------------------------------ 
 +; THE <b><font color=#333388>'END OF STATEMENT'</font></b> ROUTINE 
 +; ------------------------------ 
 +
 +  
 +<a name="L05B7"></a>;; <b>ST-END</b> 
 +L05B7:  CP      $0D 
 +        JR      Z,<A href="#L05BF">L05BF</a>         ; forward to TEST-RET 
 +  
 +        CP      $3A 
 +        JR      NZ,<A href="#L0584">L0584</a>        ; back to NONSENSE 
 +  
 +  
 +<a name="L05BF"></a>;; <b>TEST-RET</b> 
 +L05BF:  RST     18H 
 +        RET     NZ 
 + 
 +  
 +; -------------------------------------------- 
 +; THE <b><font color=#333388>'RETURN TO THE MAIN INTERPRETER'</font></b> ROUTINE 
 +; -------------------------------------------- 
 +
 +  
 +<a name="L05C1"></a>;; <b>END1</b> 
 +L05C1:  LD      SP,($5C3D)      ; sv  
 +        LD      (IY+$00),$FF    ; sv ERR_NR 
 +        LD      HL,$1BF4 
 +        RST     18H 
 +        JR      Z,<A href="#L05E0">L05E0</a>         ; forward to RETAD-SYN 
 +  
 +        LD      A,$7F 
 +        IN      A,($FE) 
 +        RRA      
 +        JR      C,<A href="#L05DD">L05DD</a>         ; forward to RETAD-RUN 
 +  
 +        LD      A,$FE 
 +        IN      A,($FE) 
 +        RRA      
 +        JR      NC,<A href="#L05E2">L05E2</a>        ; forward to BREAK-PGM 
 +  
 +  
 +<a name="L05DD"></a>;; <b>RETAD-RUN</b> 
 +L05DD:  LD      HL,$1B7D 
 +  
 +<a name="L05E0"></a>;; <b>RETAD-SYN</b> 
 +L05E0:  PUSH    HL 
 +        RST     00H 
 +  
 +<a name="L05E2"></a>;; <b>BREAK-PGM</b> 
 +L05E2:  LD      (IY+$00),$14    ; sv ERR_NR 
 +        RST     28H             ; romerr 
 +  
 +; ---------------------------------------- 
 +; THE <b><font color=#333388>'EVALUATE STRING EXPRESSION'</font></b> ROUTINE 
 +; ---------------------------------------- 
 +
 +  
 +<a name="L05E7"></a>;; <b>EXPT-STR</b> 
 +L05E7:  RST     10H             ; CALBAS 
 +        DEFW    $1C8C           ; main EXPT-EXP 
 +        RST     18H 
 +        RET     Z 
 + 
 +        PUSH    AF 
 +        RST     10H             ; CALBAS 
 +        DEFW    $2BF1           ; main STK-FETCH 
 +        POP     AF 
 +        RET      
 + 
 +  
 +; ----------------------------------------- 
 +; THE <b><font color=#333388>'EVALUATE CHANNEL EXPRESSION'</font></b> ROUTINE 
 +; ----------------------------------------- 
 +
 +  
 +<a name="L05F2"></a>;; <b>EXPT-SPEC</b> 
 +L05F2:  RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +  
 +<a name="L05F5"></a>;; <b>EXP-SPEC2</b> 
 +L05F5:  CALL    <A href="#L05E7">L05E7</a>           ; routine EXPT-STR 
 +        JR      Z,<A href="#L060C">L060C</a>         ; forward to TEST-NEXT 
 +  
 +        PUSH    AF 
 +        LD      A,C 
 +        DEC     A 
 +        OR      B 
 +        JR      NZ,<A href="#L062D">L062D</a>        ; forward to NREPORT-3 
 +  
 +        LD      A,(DE) 
 +        RST     10H             ; CALBAS 
 +        DEFW    $2C8D           ; main ALPHA 
 +        JR      NC,<A href="#L062D">L062D</a>        ; forward to NREPORT-3 
 +  
 +        AND     $DF 
 +        LD      ($5CD9),      ; sv D_STR1 
 +        POP     AF 
 +  
 +<a name="L060C"></a>;; <b>TEST-NEXT</b> 
 +L060C:  CP      $0D 
 +        RET     Z 
 + 
 +        CP      $3A 
 +        RET     Z 
 + 
 +        CP      $A5 
 +        RET     NC 
 + 
 +        CALL    <A href="#L05B1">L05B1</a>           ; routine SEPARATOR 
 +        JP      NZ,<A href="#L04B2">L04B2</a>        ; jump to OREPORT-1 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +  
 +; ----------------------------------------- 
 +; THE <b><font color=#333388>'EVALUATE NUMERIC EXPRESSION'</font></b> ROUTINE 
 +; ----------------------------------------- 
 +
 +  
 +<a name="L061E"></a>;; <b>EXPT-NUM</b> 
 +L061E:  RST     10H             ; CALBAS 
 +        DEFW    $1C82           ; main EXPT-1NUM 
 +        RST     18H 
 +        RET     Z 
 + 
 +        PUSH    AF 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1E99           ; main FIND-INT2 
 +        LD      ($5CD6),BC      ; sv D_STR1 
 +        POP     AF 
 +        RET      
 + 
 +  
 +<a name="L062D"></a>;; <b>NREPORT-3</b> 
 +L062D:  RST     20H             ; sh_err 
 +        DEFB    $02             ; 'Invalid device expression' 
 +  
 +; ------------------------------- 
 +; THE <b><font color=#333388>'EVALUATE FILENAME'</font></b> ROUTINE 
 +; ------------------------------- 
 +
 +  
 +<a name="L062F"></a>;; <b>EXPT-NAME</b> 
 +L062F:  RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        CALL    <A href="#L05E7">L05E7</a>           ; routine EXPT-STR 
 +        RET     Z 
 + 
 +        PUSH    AF 
 +        LD      A,C 
 +        OR      B 
 +        JR      Z,<A href="#L064C">L064C</a>         ; forward to NREPORT-4 
 +  
 +        LD      HL,$000A 
 +        SBC     HL,BC 
 +        JR      C,<A href="#L064C">L064C</a>         ; forward to NREPORT-4 
 +  
 +        LD      ($5CDA),BC      ; sv D_STR1 
 +        LD      ($5CDC),DE      ; sv D_STR1 
 +        POP     AF 
 +        RET      
 + 
 +  
 +<a name="L064C"></a>;; <b>NREPORT-4</b> 
 +L064C:  RST     20H             ; sh_err 
 +        DEFB    $03             ; 
 +  
 +; ------------------------------------ 
 +; THE <b><font color=#333388>'EVALUATE STREAM NUMBER'</font></b> ROUTINE 
 +; ------------------------------------ 
 +
 +  
 +<a name="L064E"></a>;; <b>EXPT-STRM</b> 
 +L064E:  RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1C82           ; main EXPT-1NUM 
 +        RST     18H 
 +        RET     Z 
 + 
 +        PUSH    AF 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1E94           ; main FIND-INT1 
 +        CP      $10 
 +        JR      NC,$0663 
 +        LD      ($5CD8),      ; sv D_STR1 
 +        POP     AF 
 +        RET      
 + 
 +        RST     20H             ; sh_err 
 +        DEFB    $01             ;  
 + 
 +  
 +; ---------------------------------- 
 +; THE <b><font color=#333388>'CHECK "M" PARAMETERS'</font></b> ROUTINE 
 +; ---------------------------------- 
 +
 +  
 +<a name="L0665"></a>;; <b>CHECK-M</b> 
 +L0665:  LD      A,($5CD9)       ; sv D_STR1 
 +        CP      $4D 
 +        JP      NZ,<A href="#L062D">L062D</a>        ; jump to NREPORT-3 
 +  
 +<a name="L066D"></a>;; <b>CHECK-M-2</b> 
 +L066D:  LD      DE,($5CD6)      ; sv D_STR1 
 +        LD      A,E 
 +        OR      D 
 +        JR      Z,<A href="#L0681">L0681</a>         ; forward to NREPORT-5 
 +  
 +        INC     DE 
 +        LD      A,E 
 +        OR      D 
 +        JR      Z,<A href="#L0683">L0683</a>         ; forward to NREPORT-9 
 +  
 +        DEC     DE 
 +        LD      HL,L0008 
 +        SBC     HL,DE 
 +        RET     NC 
 + 
 +  
 +<a name="L0681"></a>;; <b>NREPORT-5</b> 
 +L0681:  RST     20H             ; sh_err 
 +        DEFB    $04  
 +  
 +<a name="L0683"></a>;; <b>NREPORT-9</b> 
 +L0683:  RST     20H             ; sh_err 
 +        DEFB    $08    
 +  
 +; ----------------------------------------------- 
 +; THE <b><font color=#333388>'CHECK "M" PARAMETERS AND FILENAME'</font></b> ROUTINE 
 +; ----------------------------------------------- 
 +
 +  
 +<a name="L0685"></a>;; <b>TEST-MNAM</b> 
 +L0685:  CALL    <A href="#L0665">L0665</a>           ; routine CHECK-M 
 +        LD      A,($5CDB)       ; sv D_STR1 
 +        AND     A 
 +        RET     Z 
 + 
 +        RST     20H             ; sh_err 
 +        DEFB    $06 
 + 
 +  
 +; ---------------------------------- 
 +; THE <b><font color=#333388>'CHECK STATION NUMBER'</font></b> ROUTINE 
 +; ---------------------------------- 
 +
 +  
 +<a name="L068F"></a>;; <b>TEST-STAT</b> 
 +L068F:  LD      DE,($5CD6)      ; sv D_STR1 
 +        INC     DE 
 +        LD      A,E 
 +        OR      D 
 +        JR      Z,<A href="#L06A1">L06A1</a>         ; forward to NREPORT-8 
 +  
 +        DEC     DE 
 +        LD      HL,L0040 
 +        SBC     HL,DE 
 +        RET     NC 
 + 
 +  
 +<a name="L069F"></a>;; <b>NREPORT-6</b> 
 +L069F:  RST     20H             ; sh_err 
 +        DEFB    $05 
 +  
 +<a name="L06A1"></a>;; <b>NREPORT-8</b> 
 +L06A1:  RST     20H             ; sh_err 
 +        DEFB    $07 
 +  
 +; ----------------------------------- 
 +; THE <b><font color=#333388>'EVALUATE "X";N;"NAME"'</font></b> ROUTINE 
 +; ----------------------------------- 
 +
 +  
 +<a name="L06A3"></a>;; <b>EXOT-EXPR</b> 
 +L06A3:  CALL    <A href="#L05F2">L05F2</a>           ; routine EXPT-SPEC 
 +        CALL    <A href="#L05B1">L05B1</a>           ; routine SEPARATOR 
 +        JP      NZ,<A href="#L04B2">L04B2</a>        ; jump to OREPORT-1 
 +        CALL    <A href="#L062F">L062F</a>           ; routine EXPT-NAME 
 +        RET      
 + 
 +  
 +; ----------------------------- 
 +; THE <b><font color=#333388>'CHECK BAUD RATE'</font></b> ROUTINE 
 +; ----------------------------- 
 +
 +  
 +<a name="L06B0"></a>;; <b>TEST-BAUD</b> 
 +L06B0:  LD      HL,($5CD6)      ; sv D_STR1 
 +        INC     HL 
 +        LD      A,L 
 +        OR      H 
 +        RET     NZ 
 + 
 +        RST     20H             ; sh_err 
 +        DEFB    $09    
 +  
 +; ------------------------------------------- 
 +; THE <b><font color=#333388>'EVALUATE STREAM OR EXPRESSION'</font></b> ROUTINE 
 +; ------------------------------------------- 
 +
 +  
 +<a name="L06B9"></a>;; <b>EXPT-EXP1</b> 
 +L06B9:  RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        CP      $23 
 +        JP      Z,<A href="#L064E">L064E</a>         ; jump to EXPT-STRM 
 +        CALL    <A href="#L05F5">L05F5</a>           ; routine EXP-SPEC2 
 +        CALL    <A href="#L05B1">L05B1</a>           ; routine SEPARATOR 
 +        JR      NZ,<A href="#L06CC">L06CC</a>        ; forward to ENDHERE 
 +  
 +        CALL    <A href="#L062F">L062F</a>           ; routine EXPT-NAME 
 +  
 +<a name="L06CC"></a>;; <b>ENDHERE</b> 
 +L06CC:  RST     18H 
 +        RET     Z 
 + 
 +        LD      A,($5CD9)       ; sv D_STR1 
 +        CP      $54 
 +        RET     Z 
 + 
 +        CP      $42 
 +        RET     Z 
 + 
 +        CP      $4E 
 +        JP      Z,<A href="#L068F">L068F</a>         ; jump to TEST-STAT 
 +        JP      <A href="#L0685">L0685</a>           ; jump to TEST-MNAM 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +  
 +; -------------------- 
 +; THE <b><font color=#333388>'UNPAGE'</font></b> ROUTINE 
 +; -------------------- 
 +
 +  
 +<a name="L0700"></a>;; <b>UNPAGE</b> 
 +L0700:  RET      
 + 
 +  
 +; --------------------------------- 
 +; THE <b><font color=#333388>'EVALUATE PARAMETERS'</font></b> ROUTINE 
 +; --------------------------------- 
 +
 +  
 +<a name="L0701"></a>;; <b>EXPT-PRMS</b> 
 +L0701:  RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        CP      $2A 
 +        JR      NZ,<A href="#L073C">L073C</a>        ; forward to OREP-1-2 
 +  
 +        RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        CALL    <A href="#L05F5">L05F5</a>           ; routine EXP-SPEC2 
 +        CALL    <A href="#L05B1">L05B1</a>           ; routine SEPARATOR 
 +        JR      NZ,<A href="#L0716">L0716</a>        ; forward to NO-NAME 
 +  
 +        CALL    <A href="#L062F">L062F</a>           ; routine EXPT-NAME 
 +  
 +<a name="L0716"></a>;; <b>NO-NAME</b> 
 +L0716:  PUSH    AF 
 +        LD      A,($5CD9)       ; sv D_STR1 
 +        CP      $4E 
 +        JR      NZ,<A href="#L0722">L0722</a>        ; forward to NOT-NET 
 +  
 +        SET     3,(IY+$7C)      ; sv FLAGS_3 
 +  
 +<a name="L0722"></a>;; <b>NOT-NET</b> 
 +L0722:  POP     AF 
 +        CP      $0D 
 +        JR      Z,<A href="#L0750">L0750</a>         ; forward to END-EXPT 
 +  
 +        CP      $3A 
 +        JR      Z,<A href="#L0750">L0750</a>         ; forward to END-EXPT 
 +  
 +        CP      $AA 
 +        JR      Z,<A href="#L0771">L0771</a>         ; forward to SCREEN$ 
 +  
 +        CP      $AF 
 +        JR      Z,<A href="#L0789">L0789</a>         ; forward to CODE 
 +  
 +        CP      $CA 
 +        JR      Z,<A href="#L073E">L073E</a>         ; forward to LINE 
 +  
 +        CP      $E4 
 +        JP      Z,<A href="#L07D2">L07D2</a>         ; jump forward to DATA 
 +  
 +<a name="L073C"></a>;; <b>OREP-1-2</b> 
 +L073C:  RST     20H             ; sh_err 
 +        DEFB    $00 
 +  
 +<a name="L073E"></a>;; <b>LINE</b> 
 +L073E:  RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1C82           ; main EXPT-1NUM 
 +        CALL    <A href="#L05B7">L05B7</a>           ; routine ST-END 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1E99           ; main FIND-INT2 
 +        LD      ($5CED),BC      ; sv HD_11 
 +        JR      <A href="#L0753">L0753</a>           ; forward to PROG 
 +  
 +  
 +<a name="L0750"></a>;; <b>END-EXPT</b> 
 +L0750:  CALL    <A href="#L05B7">L05B7</a>           ; routine ST-END 
 +  
 +<a name="L0753"></a>;; <b>PROG</b> 
 +L0753:  XOR     A 
 +        LD      ($5CE6),      ; sv HD_00 
 +        LD      HL,($5C59)      ; sv E_LINE 
 +        LD      DE,($5C53)      ; sv PROG 
 +        LD      ($5CE9),DE      ; sv HD_0D 
 +        SCF      
 +        SBC     HL,DE 
 +        LD      ($5CE7),HL      ; sv HD_0B 
 +        LD      HL,($5C4B)      ; sv VARS 
 +        SBC     HL,DE 
 +        LD      ($5CEB),HL      ; sv HD_0F 
 +        RET      
 + 
 +  
 +<a name="L0771"></a>;; <b>SCREEN$</b> 
 +L0771:  RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        CALL    <A href="#L05B7">L05B7</a>           ; routine ST-END 
 +        LD      HL,$1B00 
 +        LD      ($5CE7),HL      ; sv HD_0B 
 +        LD      HL,$4000 
 +        LD      ($5CE9),HL      ; sv HD_0D 
 +        LD      A,$03 
 +        LD      ($5CE6),      ; sv HD_00 
 +        RET      
 + 
 +  
 +<a name="L0789"></a>;; <b>CODE</b> 
 +L0789:  RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        CP      $0D 
 +        JR      Z,<A href="#L079A">L079A</a>         ; forward to DEFLT-0 
 +  
 +        CP      $3A 
 +        JR      NZ,<A href="#L079F">L079F</a>        ; forward to PAR-1 
 +  
 +        BIT     5,(IY+$7C)      ; sv FLAGS_3 
 +        JR      NZ,<A href="#L073C">L073C</a>        ; back to OREP-1-2 
 +  
 +  
 +<a name="L079A"></a>;; <b>DEFLT-0</b> 
 +L079A:  RST     10H             ; CALBAS 
 +        DEFW    $1CE6           ; main USE-ZERO 
 +        JR      <A href="#L07A7">L07A7</a>           ; forward to TEST-SAVE 
 +  
 +  
 +<a name="L079F"></a>;; <b>PAR-1</b> 
 +L079F:  RST     10H             ; CALBAS 
 +        DEFW    $1C82           ; main EXPT-1NUM 
 +        CALL    <A href="#L05B1">L05B1</a>           ; routine SEPARATOR 
 +        JR      Z,<A href="#L07B2">L07B2</a>         ; forward to PAR-2 
 +  
 +  
 +<a name="L07A7"></a>;; <b>TEST-SAVE</b> 
 +L07A7:  BIT     5,(IY+$7C)      ; sv FLAGS_3 
 +        JR      NZ,<A href="#L073C">L073C</a>        ; back to OREP-1-2 
 +  
 +        RST     10H             ; CALBAS 
 +        DEFW    $1CE6           ; main USE-ZERO 
 +        JR      <A href="#L07B8">L07B8</a>           ; forward to END-CODE 
 +  
 +  
 +<a name="L07B2"></a>;; <b>PAR-2</b> 
 +L07B2:  RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1C82           ; main EXPT-1NUM 
 +  
 +<a name="L07B8"></a>;; <b>END-CODE</b> 
 +L07B8:  RST     10H             ; CALBAS 
 +        DEFW    $0018           ; main GET-CHAR 
 +        CALL    <A href="#L05B7">L05B7</a>           ; routine ST-END 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1E99           ; main FIND-INT2 
 +        LD      ($5CE7),BC      ; sv HD_0B 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1E99           ; main FIND-INT2 
 +        LD      ($5CE9),BC      ; sv HD_0D 
 +        LD      A,$03 
 +        LD      ($5CE6),      ; sv HD_00 
 +        RET      
 + 
 +  
 +<a name="L07D2"></a>;; <b>DATA</b> 
 +L07D2:  BIT     6,(IY+$7C)      ; sv FLAGS_3 
 +        JR      Z,<A href="#L07DA">L07DA</a>         ; forward to NO-M-ARR 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $14 
 +  
 +<a name="L07DA"></a>;; <b>NO-M-ARR</b> 
 +L07DA:  RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        RST     10H             ; CALBAS 
 +        DEFW    $28B2           ; main LOOK-VARS 
 +        SET     7,   
 +        JR      NC,<A href="#L07F2">L07F2</a>        ; forward to EXISTING 
 +  
 +        LD      HL,L0000 
 +        BIT     4,(IY+$7C)      ; sv FLAGS_3 
 +        JR      NZ,<A href="#L080E">L080E</a>        ; forward to LD-DATA 
 +  
 +        LD      (IY+$00),$01    ; sv ERR_NR 
 +        RST     28H             ; romerr 
 +  
 +<a name="L07F2"></a>;; <b>EXISTING</b> 
 +L07F2:  JR      Z,<A href="#L07F6">L07F6</a>         ; forward to G-TYPE 
 +  
 +  
 +<a name="L07F4"></a>;; <b>NONS-BSC</b> 
 +L07F4:  RST     20H             ; sh_err 
 +        DEFB    $00 
 +  
 +<a name="L07F6"></a>;; <b>G-TYPE</b> 
 +L07F6:  RST     18H 
 +        JR      Z,<A href="#L081C">L081C</a>         ; forward to END-DATA 
 +  
 +        BIT     5,(IY+$7C)      ; sv FLAGS_3 
 +        JR      Z,<A href="#L0803">L0803</a>         ; forward to VR-DATA 
 +  
 +        BIT     7,(HL) 
 +        JR      Z,<A href="#L07F4">L07F4</a>         ; back to NONS-BSC 
 +  
 +  
 +<a name="L0803"></a>;; <b>VR-DATA</b> 
 +L0803:  INC     HL 
 +        LD      A,(HL) 
 +        LD      ($5CE7),      ; sv HD_0B 
 +        INC     HL 
 +        LD      A,(HL) 
 +        LD      ($5CE8),      ; sv HD_0B_hi 
 +        INC     HL 
 +  
 +<a name="L080E"></a>;; <b>LD-DATA</b> 
 +L080E:  LD      A,C 
 +        LD      ($5CEB),      ; sv HD_0F 
 +        LD      A,$01 
 +        BIT     6,C 
 +        JR      Z,<A href="#L0819">L0819</a>         ; forward to NUM-ARR 
 +  
 +        INC     A 
 +  
 +<a name="L0819"></a>;; <b>NUM-ARR</b> 
 +L0819:  LD      ($5CE6),      ; sv HD_00 
 +  
 +<a name="L081C"></a>;; <b>END-DATA</b> 
 +L081C:  EX      DE,HL 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        CP      $29 
 +        JR      NZ,<A href="#L07F4">L07F4</a>        ; back to NONS-BSC 
 +  
 +        RST     10H             ; CALBAS 
 +        DEFW    $0020           ; main NEXT-CHAR 
 +        CALL    <A href="#L05B7">L05B7</a>           ; routine ST-END 
 +        LD      ($5CE9),DE      ; sv HD_0D 
 +        RET      
 + 
 +  
 +; --------------------------------- 
 +; THE <b><font color=#333388>'SAVE COMMAND SYNTAX'</font></b> ROUTINE 
 +; --------------------------------- 
 +
 +  
 +<a name="L082F"></a>;; <b>SAVE-SYN</b> 
 +L082F:  SET     5,(IY+$7C)      ; sv FLAGS_3 
 +        CALL    <A href="#L0701">L0701</a>           ; routine EXPT-PRMS 
 +        LD      A,($5CD9)       ; sv D_STR1 
 +        CP      $42 
 +        JR      Z,<A href="#L084F">L084F</a>         ; forward to SA-HEADER 
 +  
 +        CP      $4E 
 +        JR      NZ,<A href="#L0849">L0849</a>        ; forward to SAVE-M 
 +  
 +        CALL    <A href="#L068F">L068F</a>           ; routine TEST-STAT 
 +        CALL    <A href="#L0EA9">L0EA9</a>           ; routine OP-TEMP-N 
 +        JR      <A href="#L084F">L084F</a>           ; forward to SA-HEADER 
 +  
 +  
 +<a name="L0849"></a>;; <b>SAVE-M</b> 
 +L0849:  CALL    <A href="#L0685">L0685</a>           ; routine TEST-MNAM 
 +        JP      <A href="#L1E7F">L1E7F</a>           ; jump forward to SAVE-RUN 
 +  
 +<a name="L084F"></a>;; <b>SA-HEADER</b> 
 +L084F:  LD      B,$09 
 +        LD      HL,$5CE6        ; sv HD_00 
 +  
 +<a name="L0854"></a>;; <b>HD-LOOP</b> 
 +L0854:  CALL    <A href="#L0880">L0880</a>           ; routine SA-BYTE 
 +        INC     HL 
 +        DJNZ    <A href="#L0854">L0854</a>           ; back to HD-LOOP 
 +  
 +        LD      HL,($5CE9)      ; sv HD_0D 
 +        BIT     3,(IY+$7C)      ; sv FLAGS_3 
 +        JR      Z,<A href="#L086E">L086E</a>         ; forward to SA-BLOCK 
 +  
 +        LD      A,($5CE6)       ; sv HD_00 
 +        CP      $03 
 +        JR      NC,<A href="#L086E">L086E</a>        ; forward to SA-BLOCK 
 +  
 +        LD      DE,$0114 
 +        ADD     HL,DE 
 +  
 +<a name="L086E"></a>;; <b>SA-BLOCK</b> 
 +L086E:  LD      BC,($5CE7)      ; sv HD_0B 
 +  
 +<a name="L0872"></a>;; <b>SA-BLK-LP</b> 
 +L0872:  LD      A,C 
 +        OR      B 
 +        JR      Z,<A href="#L087D">L087D</a>         ; forward to S-BLK-END 
 +  
 +        CALL    <A href="#L0880">L0880</a>           ; routine SA-BYTE 
 +        DEC     BC 
 +        INC     HL 
 +        JR      <A href="#L0872">L0872</a>           ; back to SA-BLK-LP 
 +  
 +  
 +<a name="L087D"></a>;; <b>S-BLK-END</b> 
 +L087D:  JP      <A href="#L0988">L0988</a>           ; jump forward to TST-MR-M 
 +  
 +; -------------------------------------------------- 
 +; THE <b><font color=#333388>'SAVE A BYTE TO NETWORK OR RS232 LINK'</font></b> ROUTINE 
 +; -------------------------------------------------- 
 +
 +  
 +<a name="L0880"></a>;; <b>SA-BYTE</b> 
 +L0880:  PUSH    HL 
 +        PUSH    BC 
 +        BIT     3,(IY+$7C)      ; sv FLAGS_3 
 +        LD      A,(HL) 
 +        JR      NZ,<A href="#L088E">L088E</a>        ; forward to SA-NET 
 +  
 +        CALL    <A href="#L0C5A">L0C5A</a>           ; routine BCHAN-OUT 
 +        JR      <A href="#L0891">L0891</a>           ; forward to SA-B-END 
 +  
 +  
 +<a name="L088E"></a>;; <b>SA-NET</b> 
 +L088E:  CALL    <A href="#L0D6C">L0D6C</a>           ; routine NCHAN-OUT 
 +  
 +<a name="L0891"></a>;; <b>SA-B-END</b> 
 +L0891:  POP     BC 
 +        POP     HL 
 +        RET      
 + 
 +  
 +; --------------------------------- 
 +; THE <b><font color=#333388>'LOAD COMMAND SYNTAX'</font></b> ROUTINE 
 +; --------------------------------- 
 +
 +  
 +<a name="L0894"></a>;; <b>LOAD-SYN</b> 
 +L0894:  SET     4,(IY+$7C)      ; sv FLAGS_3 
 +        CALL    <A href="#L0701">L0701</a>           ; routine EXPT-PRMS 
 +        JP      <A href="#L08AF">L08AF</a>           ; jump forward to LD-VF-MR 
 +  
 +; ----------------------------------- 
 +; THE <b><font color=#333388>'VERIFY COMMAND SYNTAX'</font></b> ROUTINE 
 +; ----------------------------------- 
 +
 +  
 +<a name="L089E"></a>;; <b>VERIF-SYN</b> 
 +L089E:  SET     7,(IY+$7C)      ; sv FLAGS_3 
 +        CALL    <A href="#L0701">L0701</a>           ; routine EXPT-PRMS 
 +        JP      <A href="#L08AF">L08AF</a>           ; jump forward to LD-VF-MR 
 +  
 +; ---------------------------------- 
 +; THE <b><font color=#333388>'MERGE COMMAND SYNTAX'</font></b> ROUTINE 
 +; ---------------------------------- 
 +
 +  
 +<a name="L08A8"></a>;; <b>MRG-SYN</b> 
 +L08A8:  SET     6,(IY+$7C)      ; sv FLAGS_3 
 +        CALL    <A href="#L0701">L0701</a>           ; routine EXPT-PRMS 
 +  
 +; ---------------------------------------- 
 +; THE <b><font color=#333388>'LOAD-VERIFY-MERGE COMMANDS'</font></b> ROUTINE 
 +; ---------------------------------------- 
 +
 +  
 +<a name="L08AF"></a>;; <b>LD-VF-MR</b> 
 +L08AF:  LD      HL,$5CE6        ; sv HD_00 
 +        LD      DE,$5CDE        ; sv D_STR2 
 +        LD      BC,$0007 
 +        LDIR     
 +        LD      A,($5CD9)       ; sv D_STR1 
 +        CP      $4E 
 +        JR      Z,<A href="#L08CD">L08CD</a>         ; forward to TS-L-NET 
 +  
 +        CP      $42 
 +        JR      Z,<A href="#L08D3">L08D3</a>         ; forward to TS-L-RS 
 +  
 +        CALL    <A href="#L0685">L0685</a>           ; routine TEST-MNAM 
 +        CALL    <A href="#L1580">L1580</a>           ; routine F-M-HM 
 +        JR      <A href="#L08F2">L08F2</a>           ; forward to TEST-TYPE 
 +  
 +  
 +<a name="L08CD"></a>;; <b>TS-L-NET</b> 
 +L08CD:  CALL    <A href="#L068F">L068F</a>           ; routine TEST-STAT 
 +        CALL    <A href="#L0EA9">L0EA9</a>           ; routine OP-TEMP-N 
 +  
 +<a name="L08D3"></a>;; <b>TS-L-RS</b> 
 +L08D3:  LD      HL,$5CE6        ; sv HD_00 
 +        LD      B,$09 
 +  
 +<a name="L08D8"></a>;; <b>LD-HEADER</b> 
 +L08D8:  PUSH    HL 
 +        PUSH    BC 
 +        BIT     3,(IY+$7C)      ; sv FLAGS_3 
 +        JR      Z,<A href="#L08E7">L08E7</a>         ; forward to LD-HD-RS 
 +  
 +  
 +<a name="L08E0"></a>;; <b>LD-HD-NET</b> 
 +L08E0:  CALL    <A href="#L0D12">L0D12</a>           ; routine NCHAN-IN 
 +        JR      NC,<A href="#L08E0">L08E0</a>        ; back to LD-HD-NET 
 +  
 +        JR      <A href="#L08EC">L08EC</a>           ; forward to LD-HDR-2 
 +  
 +  
 +<a name="L08E7"></a>;; <b>LD-HD-RS</b> 
 +L08E7:  CALL    <A href="#L0B81">L0B81</a>           ; routine BCHAN-IN 
 +        JR      NC,<A href="#L08E7">L08E7</a>        ; back to LD-HD-RS 
 +  
 +  
 +<a name="L08EC"></a>;; <b>LD-HDR-2</b> 
 +L08EC:  POP     BC 
 +        POP     HL 
 +        LD      (HL),A 
 +        INC     HL 
 +        DJNZ    <A href="#L08D8">L08D8</a>           ; back to LD-HEADER 
 +  
 +  
 +<a name="L08F2"></a>;; <b>TEST-TYPE</b> 
 +L08F2:  LD      A,($5CDE)       ; sv D_STR2 
 +        LD      B,A 
 +        LD      A,($5CE6)       ; sv HD_00 
 +        CP      B 
 +        JR      NZ,<A href="#L0902">L0902</a>        ; forward to NREPORT-N 
 +  
 +        CP      $03 
 +        JR      Z,<A href="#L0911">L0911</a>         ; forward to T-H-CODE 
 +  
 +        JR      C,<A href="#L0904">L0904</a>         ; forward to TST-MERGE 
 +  
 +  
 +<a name="L0902"></a>;; <b>NREPORT-N</b> 
 +L0902:  RST     20H             ; sh_err 
 +        DEFB    $16 
 +  
 +<a name="L0904"></a>;; <b>TST-MERGE</b> 
 +L0904:  BIT     6,(IY+$7C)      ; sv FLAGS_3 
 +        JR      NZ,<A href="#L0967">L0967</a>        ; forward to MERGE-BLK 
 +  
 +        BIT     7,(IY+$7C)      ; sv FLAGS_3 
 +        JP      Z,<A href="#L09A3">L09A3</a>         ; jump to LD-PR-AR 
 + 
 +  
 +<a name="L0911"></a>;; <b>T-H-CODE</b> 
 +L0911:  BIT     6,(IY+$7C)      ; sv FLAGS_3 
 +        JR      Z,<A href="#L0919">L0919</a>         ; forward to LD-BLOCK 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $14 
 +  
 +<a name="L0919"></a>;; <b>LD-BLOCK</b> 
 +L0919:  LD      HL,($5CDF)      ; sv D_STR2 
 +        LD      DE,($5CE7)      ; sv HD_0B 
 +        LD      A,H 
 +        OR      L 
 +        JR      Z,<A href="#L0932">L0932</a>         ; forward to LD-BLK-2 
 +  
 +        SBC     HL,DE 
 +        JR      NC,<A href="#L0932">L0932</a>        ; forward to LD-BLK-2 
 +  
 +        BIT     4,(IY+$7C)      ; sv FLAGS_3 
 +        JR      Z,<A href="#L0930">L0930</a>         ; forward to NREPORT-L 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $13 
 +  
 +<a name="L0930"></a>;; <b>NREPORT-L</b> 
 +L0930:  RST     20H             ; sh_err 
 +        DEFB    $15 
 +  
 +<a name="L0932"></a>;; <b>LD-BLK-2</b> 
 +L0932:  LD      HL,($5CE1)      ; sv D_STR2 
 +        LD      A,(IX+$04) 
 +        CP      $CD 
 +        JR      NZ,<A href="#L0941">L0941</a>        ; forward to LD-BLK-3 
 +  
 +        LD      HL,($5CE4)      ; sv D_STR2 
 +        JR      <A href="#L0952">L0952</a>           ; forward to LD-BLK-4 
 +  
 +  
 +<a name="L0941"></a>;; <b>LD-BLK-3</b> 
 +L0941:  BIT     3,(IY+$7C)      ; sv FLAGS_3 
 +        JR      Z,<A href="#L0952">L0952</a>         ; forward to LD-BLK-4 
 +  
 +        LD      A,($5CE6)       ; sv HD_00 
 +        CP      $03 
 +        JR      Z,<A href="#L0952">L0952</a>         ; forward to LD-BLK-4 
 +  
 +        LD      BC,$0114 
 +        ADD     HL,BC 
 +  
 +<a name="L0952"></a>;; <b>LD-BLK-4</b> 
 +L0952:  LD      A,H 
 +        OR      L 
 +        JR      NZ,<A href="#L0959">L0959</a>        ; forward to LD-BLK-5 
 +  
 +        LD      HL,($5CE9)      ; sv HD_0D 
 +  
 +<a name="L0959"></a>;; <b>LD-BLK-5</b> 
 +L0959:  LD      A,($5CE6)       ; sv HD_00 
 +        AND     A 
 +        JR      NZ,<A href="#L0962">L0962</a>        ; forward to LD-NO-PGM 
 +  
 +        LD      HL,($5C53)      ; sv PROG 
 +  
 +<a name="L0962"></a>;; <b>LD-NO-PGM</b> 
 +L0962:  CALL    <A href="#L0A5C">L0A5C</a>           ; routine LV-ANY 
 +        JR      <A href="#L0988">L0988</a>           ; forward to TST-MR-M 
 +  
 +  
 +<a name="L0967"></a>;; <b>MERGE-BLK</b> 
 +L0967:  LD      A,($5CEE)       ; sv HD_11_hi 
 +        AND     $C0 
 +        JR      NZ,<A href="#L0973">L0973</a>        ; forward to NO-AUTOST 
 +  
 +        CALL    <A href="#L17B9">L17B9</a>           ; routine RCL-T-CH 
 +        RST     20H             ; sh_err 
 +        DEFB    $14 
 +  
 +<a name="L0973"></a>;; <b>NO-AUTOST</b> 
 +L0973:  LD      BC,($5CE7)      ; sv HD_0B 
 +        PUSH    BC 
 +        INC     BC 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0030           ; main BC-SPACES 
 +        LD      (HL),$80 
 +        EX      DE,HL 
 +        POP     DE 
 +        PUSH    HL 
 +        CALL    <A href="#L0A5C">L0A5C</a>           ; routine LV-ANY 
 +        POP     HL 
 +        RST     10H             ; CALBAS 
 +        DEFW    $08CE           ; main ME-CTRLX 
 +  
 +<a name="L0988"></a>;; <b>TST-MR-M</b> 
 +L0988:  LD      A,(IX+$04) 
 +        CP      $CD 
 +        JR      NZ,<A href="#L0994">L0994</a>        ; forward to TST-MR-N 
 +  
 +        CALL    <A href="#L12A9">L12A9</a>           ; routine CLOSE-M2 
 +        JR      <A href="#L09A0">L09A0</a>           ; forward to MERGE-END 
 +  
 +  
 +<a name="L0994"></a>;; <b>TST-MR-N</b> 
 +L0994:  BIT     3,(IY+$7C)      ; sv FLAGS_3 
 +        JR      Z,<A href="#L09A0">L09A0</a>         ; forward to MERGE-END 
 +  
 +        CALL    <A href="#L0EF5">L0EF5</a>           ; routine SEND-NEOF 
 +        CALL    <A href="#L17B9">L17B9</a>           ; routine RCL-T-CH 
 +  
 +<a name="L09A0"></a>;; <b>MERGE-END</b> 
 +L09A0:  JP      <A href="#L05C1">L05C1</a>           ; jump to END1 
 +  
 +<a name="L09A3"></a>;; <b>LD-PR-AR</b> 
 +L09A3:  LD      DE,($5CE7)      ; sv HD_0B 
 +        LD      HL,($5CE1)      ; sv D_STR2 
 +        PUSH    HL 
 +        LD      A,H 
 +        OR      L 
 +        JR      NZ,<A href="#L09B5">L09B5</a>        ; forward to LD-PROG 
 +  
 +        INC     DE 
 +        INC     DE 
 +        INC     DE 
 +        EX      DE,HL 
 +        JR      <A href="#L09BE">L09BE</a>           ; forward to TST-SPACE 
 +  
 +  
 +<a name="L09B5"></a>;; <b>LD-PROG</b> 
 +L09B5:  LD      HL,($5CDF)      ; sv D_STR2 
 +        EX      DE,HL 
 +        SCF      
 +        SBC     HL,DE 
 +        JR      C,<A href="#L09C7">L09C7</a>         ; forward to TST-TYPE 
 +  
 +  
 +<a name="L09BE"></a>;; <b>TST-SPACE</b> 
 +L09BE:  LD      DE,$0005 
 +        ADD     HL,DE 
 +        LD      B,H 
 +        LD      C,L 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1F05           ; main TEST-ROOM 
 +  
 +<a name="L09C7"></a>;; <b>TST-TYPE</b> 
 +L09C7:  POP     HL 
 +        LD      A,($5CE6)       ; sv HD_00 
 +        AND     A 
 +        JR      Z,<A href="#L0A15">L0A15</a>         ; forward to SET-PROG 
 +  
 +        LD      A,H 
 +        OR      L 
 +        JR      Z,<A href="#L09F3">L09F3</a>         ; forward to CRT-NEW 
 +  
 +        LD      A,(IX+$04) 
 +        CP      $CD 
 +        JR      NZ,<A href="#L09DE">L09DE</a>        ; forward to T-LD-NET 
 +  
 +        LD      HL,($5CE4)      ; sv D_STR2 
 +        JR      <A href="#L09E8">L09E8</a>           ; forward to RCLM-OLD 
 +  
 +  
 +<a name="L09DE"></a>;; <b>T-LD-NET</b> 
 +L09DE:  BIT     3,(IY+$7C)      ; sv FLAGS_3 
 +        JR      Z,<A href="#L09E8">L09E8</a>         ; forward to RCLM-OLD 
 +  
 +        LD      DE,$0114 
 +        ADD     HL,DE 
 +  
 +<a name="L09E8"></a>;; <b>RCLM-OLD</b> 
 +L09E8:  DEC     HL 
 +        LD      B,(HL) 
 +        DEC     HL 
 +        LD      C,(HL) 
 +        DEC     HL 
 +        INC     BC 
 +        INC     BC 
 +        INC     BC 
 +        RST     10H             ; CALBAS 
 +        DEFW    $19E8           ; main RECLAIM-2 
 +  
 +<a name="L09F3"></a>;; <b>CRT-NEW</b> 
 +L09F3:  LD      HL,($5C59)      ; sv E_LINE 
 +        DEC     HL 
 +        LD      BC,($5CE7)      ; sv HD_0B 
 +        PUSH    BC 
 +        INC     BC 
 +        INC     BC 
 +        INC     BC 
 +        LD      A,($5CE3)       ; sv D_STR2 
 +        PUSH    AF 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1655           ; main MAKE-ROOM 
 +        INC     HL 
 +        POP     AF 
 +        LD      (HL),A 
 +        POP     DE 
 +        INC     HL 
 +        LD      (HL),E 
 +        INC     HL 
 +        LD      (HL),D 
 +        INC     HL 
 +  
 +<a name="L0A0F"></a>;; <b>END-LD-PR</b> 
 +L0A0F:  CALL    <A href="#L0A5C">L0A5C</a>           ; routine LV-ANY 
 +        JP      <A href="#L0988">L0988</a>           ; jump to TST-MR-M 
 +  
 +<a name="L0A15"></a>;; <b>SET-PROG</b> 
 +L0A15:  RES     1,(IY+$7C)      ; sv FLAGS_3 
 +        LD      DE,($5C53)      ; sv PROG 
 +        LD      HL,($5C59)      ; sv E_LINE 
 +        DEC     HL 
 +        RST     10H             ; CALBAS 
 +        DEFW    $19E5           ; main RECLAIM-1 
 +        LD      BC,($5CE7)      ; sv HD_0B 
 +        LD      HL,($5C53)      ; sv PROG 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1655           ; main MAKE-ROOM 
 +        INC     HL 
 +        LD      BC,($5CEB)      ; sv HD_0F 
 +        ADD     HL,BC 
 +        LD      ($5C4B),HL      ; sv VARS 
 +        LD      A,($5CEE)       ; sv HD_11_hi 
 +        LD      H,A 
 +        AND     $C0 
 +        JR      NZ,<A href="#L0A4E">L0A4E</a>        ; forward to NO-AUTO 
 +  
 +        SET     1,(IY+$7C)      ; sv FLAGS_3 
 +        LD      A,($5CED)       ; sv HD_11 
 +        LD      L,A 
 +        LD      ($5C42),HL      ; sv NEWPPC 
 +        LD      (IY+$0A),$00    ; sv NSPPC 
 +  
 +<a name="L0A4E"></a>;; <b>NO-AUTO</b> 
 +L0A4E:  LD      HL,($5C53)      ; sv PROG 
 +        LD      DE,($5CE7)      ; sv HD_0B 
 +        DEC     HL 
 +        LD      ($5C57),HL      ; sv DATADD 
 +        INC     HL 
 +        JR      <A href="#L0A0F">L0A0F</a>           ; back to END-LD-PR 
 +  
 +  
 +; ---------------------------- 
 +; THE <b><font color=#333388>'LOAD OR VERIFY'</font></b> ROUTINE 
 +; ---------------------------- 
 +
 +  
 +<a name="L0A5C"></a>;; <b>LV-ANY</b> 
 +L0A5C:  LD      A,D 
 +        OR      E 
 +        RET     Z 
 + 
 +        LD      A,(IX+$04) 
 +        CP      $CD 
 +        JR      NZ,<A href="#L0A6A">L0A6A</a>        ; forward to LV-BN 
 +  
 +        CALL    <A href="#L15A9">L15A9</a>           ; routine LV-MCH 
 +        RET      
 + 
 +  
 +<a name="L0A6A"></a>;; <b>LV-BN</b> 
 +L0A6A:  PUSH    HL 
 +        PUSH    DE 
 +        BIT     3,(IY+$7C)      ; sv FLAGS_3 
 +        JR      Z,<A href="#L0A79">L0A79</a>         ; forward to LV-B 
 +  
 +  
 +<a name="L0A72"></a>;; <b>LV-N</b> 
 +L0A72:  CALL    <A href="#L0D12">L0D12</a>           ; routine NCHAN-IN 
 +        JR      NC,<A href="#L0A72">L0A72</a>        ; back to LV-N 
 +  
 +        JR      <A href="#L0A7E">L0A7E</a>           ; forward to LV-BN-E 
 +  
 +  
 +<a name="L0A79"></a>;; <b>LV-B</b> 
 +L0A79:  CALL    <A href="#L0B81">L0B81</a>           ; routine BCHAN-IN 
 +        JR      NC,<A href="#L0A79">L0A79</a>        ; back to LV-B 
 +  
 +  
 +<a name="L0A7E"></a>;; <b>LV-BN-E</b> 
 +L0A7E:  POP     DE 
 +        DEC     DE 
 +        POP     HL 
 +        BIT     7,(IY+$7C)      ; sv FLAGS_3 
 +        JR      NZ,<A href="#L0A8A">L0A8A</a>        ; forward to VR-BN 
 +  
 +        LD      (HL),A 
 +        JR      <A href="#L0A8F">L0A8F</a>           ; forward to LVBN-END 
 +  
 +  
 +<a name="L0A8A"></a>;; <b>VR-BN</b> 
 +L0A8A:  CP      (HL) 
 +        JR      Z,<A href="#L0A8F">L0A8F</a>         ; forward to LVBN-END 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $15 
 +  
 +<a name="L0A8F"></a>;; <b>LVBN-END</b> 
 +L0A8F:  INC     HL 
 +        LD      A,E 
 +        OR      D 
 +        JR      NZ,<A href="#L0A6A">L0A6A</a>        ; back to LV-BN 
 +  
 +        RET      
 + 
 +  
 +; -------------------------------- 
 +; THE <b><font color=#333388>'LOAD "RUN" PROGRAM'</font></b> ROUTINE 
 +; -------------------------------- 
 +
 +  
 +<a name="L0A95"></a>;; <b>LOAD-RUN</b> 
 +L0A95:  LD      BC,$0001 
 +        LD      ($5CD6),BC      ; sv D_STR1 
 +        LD      BC,$0003 
 +        LD      ($5CDA),BC      ; sv D_STR1 
 +        LD      BC,$0AC6 
 +        LD      ($5CDC),BC      ; sv D_STR1 
 +        SET     4,(IY+$7C)      ; sv FLAGS_3 
 +        CALL    <A href="#L0753">L0753</a>           ; routine PROG 
 +        LD      HL,$5CE6        ; sv HD_00 
 +        LD      DE,$5CDE        ; sv D_STR2 
 +        LD      BC,$0009 
 +        LDIR     
 +        SET     7,(IY+$0A)      ; sv NSPPC 
 +        CALL    <A href="#L1580">L1580</a>           ; routine F-M-HM 
 +        JP      <A href="#L08F2">L08F2</a>           ; jump to TEST-TYPE 
 +        LD      (HL),D 
 +        LD      (HL),L 
 +        LD      L,(HL) 
 +  
 +; ----------------------------------------- 
 +; THE <b><font color=#333388>'SET "BAUD"- SYSTEM VARIABLE'</font></b> ROUTINE 
 +; ----------------------------------------- 
 +
 +  
 +<a name="L0AC9"></a>;; <b>SET-BAUD</b> 
 +L0AC9:  LD      BC,($5CD6)      ; sv D_STR1 
 +        LD      HL,$0AEF 
 +  
 +<a name="L0AD0"></a>;; <b>NXT-ENTRY</b> 
 +L0AD0:  LD      E,(HL) 
 +        INC     HL 
 +        LD      D,(HL) 
 +        INC     HL 
 +        EX      DE,HL 
 +        LD      A,H 
 +        CP      $4B 
 +        JR      NC,<A href="#L0AE4">L0AE4</a>        ; forward to END-SET 
 +  
 +        AND     A 
 +        SBC     HL,BC 
 +        JR      NC,<A href="#L0AE4">L0AE4</a>        ; forward to END-SET 
 +  
 +        EX      DE,HL 
 +        INC     HL 
 +        INC     HL 
 +        JR      <A href="#L0AD0">L0AD0</a>           ; back to NXT-ENTRY 
 +  
 +  
 +<a name="L0AE4"></a>;; <b>END-SET</b> 
 +L0AE4:  EX      DE,HL 
 +        LD      E,(HL) 
 +        INC     HL 
 +        LD      D,(HL) 
 +        LD      ($5CC3),DE      ; sv BAUD 
 +        JP      <A href="#L05C1">L05C1</a>           ; jump to END1 
 + 
 +  
 +; ------------------------------------ 
 +; THE <b><font color=#333388>'RS232 TIMING CONSTANTS'</font></b> ROUTINE 
 +; ------------------------------------ 
 +
 +  
 +<a name="LEND"></a>;; <b></b> 
 +L0AEF:  DEFW    $0032           ; 
 +        DEFW    $0A82           ; 
 +        DEFW    $006E           ; 
 +        DEFW    $04C5           ; 
 +        DEFW    $012C           ; 
 +        DEFW    $01BE           ; 
 +        DEFW    $0258           ; 
 +        DEFW    $00DE           ; 
 +        DEFW    $04B0           ; 
 +        DEFW    $006E           ; 
 +        DEFW    $0960           ; 
 +        DEFW    $0036           ; 
 +        DEFW    $12C0           ; 
 +        DEFW    $001A           ; 
 +        DEFW    $2580           ; 
 +        DEFW    $000C           ; 
 +        DEFW    $4B00           ; 
 +        DEFW    $0005           ; 
 + 
 +  
 +; ---------------------------------------------- 
 +; THE <b><font color=#333388>'OPEN RS232 CHANNEL IN CHANS AREA'</font></b> ROUTINE 
 +; ---------------------------------------------- 
 +
 +  
 +<a name="L0B13"></a>;; <b>OP-RS-CH</b> 
 +L0B13:  LD      HL,($5C53)      ; sv PROG 
 +        DEC     HL 
 +        LD      BC,$000B 
 +        PUSH    BC 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1655           ; main MAKE-ROOM 
 +        POP     BC 
 +        PUSH    DE 
 +        CALL    <A href="#L1691">L1691</a>           ; routine REST-N-AD 
 +        POP     DE 
 +        LD      HL,$0B6E 
 +        LD      BC,$000B 
 +        LDDR     
 +        INC     DE 
 +        LD      A,($5CD9)       ; sv D_STR1 
 +        CP      $42 
 +        RET     NZ 
 + 
 +        PUSH    DE 
 +        LD      HL,$0005 
 +        ADD     HL,DE 
 +        LD      DE,L0C5A 
 +        LD      (HL),E 
 +        INC     HL 
 +        LD      (HL),D 
 +        INC     HL 
 +        LD      DE,$0B75 
 +        LD      (HL),E 
 +        INC     HL 
 +        LD      (HL),D 
 +        POP     DE 
 +        RET      
 + 
 +  
 +; ---------------------------------------- 
 +; THE <b><font color=#333388>'ATTACH CHANNEL TO A STREAM'</font></b> ROUTINE 
 +; ---------------------------------------- 
 +
 +  
 +<a name="L0B47"></a>;; <b>OP-RSCHAN</b> 
 +L0B47:  CALL    <A href="#L0B13">L0B13</a>           ; routine OP-RS-CH 
 +  
 +<a name="L0B4A"></a>;; <b>OP-STREAM</b> 
 +L0B4A:  LD      HL,($5C4F)      ; sv CHANS 
 +        DEC     HL 
 +        EX      DE,HL 
 +        AND     A 
 +        SBC     HL,DE 
 +        EX      DE,HL 
 +        LD      HL,$5C16        ; sv STRMS_00 
 +        LD      A,($5CD8)       ; sv D_STR1 
 +        RLCA     
 +        LD      C,A 
 +        LD      B,$00 
 +        ADD     HL,BC 
 +        LD      (HL),E 
 +        INC     HL 
 +        LD      (HL),D 
 +        JP      <A href="#L05C1">L05C1</a>           ; jump to END1 
 + 
 +  
 +; ------------------------------ 
 +; THE <b><font color=#333388>'"T" CHANNEL DATA'</font></b> ROUTINE 
 +; ------------------------------ 
 +
 +  
 +<a name="LEND"></a>;; <b></b> 
 +L0B64:  DEFW    $0008              ; main ERROR-1 
 +        DEFW    $0008              ; main ERROR-1 
 +        DEFB    $54 
 +        DEFW    $0C3C              ; 
 +        DEFW    $0B6F              ; 
 +        DEFW    $000B              ; 
 + 
 +  
 +; ------------------------------- 
 +; THE <b><font color=#333388>'"T" CHANNEL INPUT'</font></b> ROUTINE 
 +; ------------------------------- 
 +
 +  
 +<a name="L0B6F"></a>;; <b>T-INPUT</b> 
 +L0B6F:  LD      HL,$0B7B 
 +        JP      <A href="#L0CBD">L0CBD</a>           ; jump to CALL-INP 
 + 
 +  
 +; ------------------------------- 
 +; THE <b><font color=#333388>'"B" CHANNEL INPUT'</font></b> ROUTINE 
 +; ------------------------------- 
 +
 +  
 +<a name="L0B75"></a>;; <b>B-INPUT</b> 
 +L0B75:  LD      HL,L0B81 
 +        JP      <A href="#L0CBD">L0CBD</a>           ; jump to CALL-INP 
 + 
 +  
 +; --------------------------------------- 
 +; THE <b><font color=#333388>'"T" CHANNEL INPUT SERVICE'</font></b> ROUTINE 
 +; --------------------------------------- 
 +
 +  
 +<a name="L0B7B"></a>;; <b>TCHAN-IN</b> 
 +L0B7B:  CALL    <A href="#L0B81">L0B81</a>           ; routine BCHAN-IN 
 +        RES     7,A 
 +        RET      
 + 
 +  
 +; --------------------------------------- 
 +; THE <b><font color=#333388>'"B" CHANNEL INPUT SERVICE'</font></b> ROUTINE 
 +; --------------------------------------- 
 +
 +  
 +<a name="L0B81"></a>;; <b>BCHAN-IN</b> 
 +L0B81:  LD      HL,$5CC7        ; sv SER_FL 
 +        LD      A,(HL) 
 +        AND     A 
 +        JR      Z,<A href="#L0B8E">L0B8E</a>         ; forward to REC-BYTE 
 +  
 +        LD      (HL),$00 
 +        INC     HL 
 +        LD      A,(HL) 
 +        SCF      
 +        RET      
 + 
 +  
 +<a name="L0B8E"></a>;; <b>REC-BYTE</b> 
 +L0B8E:  LD      A,$7F 
 +        IN      A,($FE) 
 +        RRCA     
 +        JR      C,<A href="#L0B9A">L0B9A</a>         ; forward to REC-PROC 
 +  
 +        LD      (IY+$00),$14    ; sv ERR_NR 
 +        RST     28H             ; romerr 
 +  
 +<a name="L0B9A"></a>;; <b>REC-PROC</b> 
 +L0B9A:  DI       
 +        LD      A,($5CC6)       ; sv IOBORD 
 +        OUT     ($FE),
 +        LD      DE,($5CC3)      ; sv BAUD 
 +        LD      HL,$0320 
 +        LD      B,D 
 +        LD      C,E 
 +        SRL     B 
 +        RR      C 
 +        LD      A,$FE 
 +        OUT     ($EF),
 +  
 +<a name="L0BB1"></a>;; <b>READ-RS</b> 
 +L0BB1:  IN      A,($F7) 
 +        RLCA     
 +        JR      NC,<A href="#L0BC5">L0BC5</a>        ; forward to TST-AGAIN 
 +  
 +        IN      A,($F7) 
 +        RLCA     
 +        JR      NC,<A href="#L0BC5">L0BC5</a>        ; forward to TST-AGAIN 
 +  
 +        IN      A,($F7) 
 +        RLCA     
 +        JR      NC,<A href="#L0BC5">L0BC5</a>        ; forward to TST-AGAIN 
 +  
 +        IN      A,($F7) 
 +        RLCA     
 +        JR      C,<A href="#L0BD1">L0BD1</a>         ; forward to START-BIT 
 +  
 +  
 +<a name="L0BC5"></a>;; <b>TST-AGAIN</b> 
 +L0BC5:  DEC     HL 
 +        LD      A,H 
 +        OR      L 
 +        JR      NZ,<A href="#L0BB1">L0BB1</a>        ; back to READ-RS 
 +  
 +        PUSH    AF 
 +        LD      A,$EE 
 +        OUT     ($EF),
 +        JR      <A href="#L0BF0">L0BF0</a>           ; forward to WAIT-1 
 +  
 +  
 +<a name="L0BD1"></a>;; <b>START-BIT</b> 
 +L0BD1:  LD      H,B 
 +        LD      L,C 
 +        LD      B,$80 
 +        DEC     HL 
 +        DEC     HL 
 +        DEC     HL 
 +  
 +<a name="L0BD8"></a>;; <b>SERIAL-IN</b> 
 +L0BD8:  ADD     HL,DE 
 +        NOP      
 +  
 +<a name="L0BDA"></a>;; <b>BD-DELAY</b> 
 +L0BDA:  DEC     HL 
 +        LD      A,H 
 +        OR      L 
 +        JR      NZ,<A href="#L0BDA">L0BDA</a>        ; back to BD-DELAY 
 +  
 +        ADD     A,$00 
 +        IN      A,($F7) 
 +        RLCA     
 +        RR      B 
 +        JR      NC,<A href="#L0BD8">L0BD8</a>        ; back to SERIAL-IN 
 +  
 +        LD      A,$EE 
 +        OUT     ($EF),
 +        LD      A,B 
 +        CPL      
 +        SCF      
 +        PUSH    AF 
 +  
 +<a name="L0BF0"></a>;; <b>WAIT-1</b> 
 +L0BF0:  ADD     HL,DE 
 +  
 +<a name="L0BF1"></a>;; <b>WAIT-2</b> 
 +L0BF1:  DEC     HL 
 +        LD      A,L 
 +        OR      H 
 +        JR      NZ,<A href="#L0BF1">L0BF1</a>        ; back to WAIT-2 
 +  
 +        ADD     HL,DE 
 +        ADD     HL,DE 
 +        ADD     HL,DE 
 +  
 +<a name="L0BF9"></a>;; <b>T-FURTHER</b> 
 +L0BF9:  DEC     HL 
 +        LD      A,L 
 +        OR      H 
 +        JR      Z,<A href="#L0C36">L0C36</a>         ; forward to END-RS-IN 
 +  
 +        IN      A,($F7) 
 +        RLCA     
 +        JR      NC,<A href="#L0BF9">L0BF9</a>        ; back to T-FURTHER 
 +  
 +        IN      A,($F7) 
 +        RLCA     
 +        JR      NC,<A href="#L0BF9">L0BF9</a>        ; back to T-FURTHER 
 +  
 +        IN      A,($F7) 
 +        RLCA     
 +        JR      NC,<A href="#L0BF9">L0BF9</a>        ; back to T-FURTHER 
 +  
 +        IN      A,($F7) 
 +        RLCA     
 +        JR      NC,<A href="#L0BF9">L0BF9</a>        ; back to T-FURTHER 
 +  
 +        LD      H,D 
 +        LD      L,E 
 +        SRL     H 
 +        RR      L 
 +        LD      B,$80 
 +        DEC     HL 
 +        DEC     HL 
 +        DEC     HL 
 +  
 +<a name="L0C1D"></a>;; <b>SER-IN-2</b> 
 +L0C1D:  ADD     HL,DE 
 +        NOP      
 +  
 +<a name="L0C1F"></a>;; <b>BD-DELAY2</b> 
 +L0C1F:  DEC     HL 
 +        LD      A,H 
 +        OR      L 
 +        JR      NZ,<A href="#L0C1F">L0C1F</a>        ; back to BD-DELAY2 
 +  
 +        ADD     A,$00 
 +        IN      A,($F7) 
 +        RLCA     
 +        RR      B 
 +        JR      NC,<A href="#L0C1D">L0C1D</a>        ; back to SER-IN-2 
 +  
 +        LD      HL,$5CC7        ; sv SER_FL 
 +        LD      (HL),$01 
 +        INC     HL 
 +        LD      A,B 
 +        CPL      
 +        LD      (HL),A 
 +  
 +<a name="L0C36"></a>;; <b>END-RS-IN</b> 
 +L0C36:  CALL    <A href="#L0CA9">L0CA9</a>           ; routine BORD-REST 
 +        POP     AF 
 +        EI       
 +        RET      
 + 
 +  
 +; -------------------------------- 
 +; THE <b><font color=#333388>'"T" CHANNEL OUTPUT'</font></b> ROUTINE 
 +; -------------------------------- 
 +
 +  
 +<a name="L0C3C"></a>;; <b>TCHAN-OUT</b> 
 +L0C3C:  CP      $A5 
 +        JR      C,<A href="#L0C46">L0C46</a>         ; forward to NOT-TOKEN 
 +  
 +        SUB     $A5 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0C10           ; main PO-TOKENS 
 +        RET      
 + 
 +  
 +<a name="L0C46"></a>;; <b>NOT-TOKEN</b> 
 +L0C46:  CP      $7F 
 +        JR      C,<A href="#L0C4C">L0C4C</a>         ; forward to NOT-GRAPH 
 +  
 +        LD      A,$3F 
 +  
 +<a name="L0C4C"></a>;; <b>NOT-GRAPH</b> 
 +L0C4C:  CP      $0D 
 +        JR      NZ,<A href="#L0C57">L0C57</a>        ; forward to NOT-CR 
 +  
 +        CALL    <A href="#L0C5A">L0C5A</a>           ; routine BCHAN-OUT 
 +        LD      A,$0A 
 +        JR      <A href="#L0C5A">L0C5A</a>           ; forward to BCHAN-OUT 
 +  
 +  
 +<a name="L0C57"></a>;; <b>NOT-CR</b> 
 +L0C57:  CP      $20 
 +        RET     C 
 + 
 +  
 +; -------------------------------- 
 +; THE <b><font color=#333388>'"B" CHANNEL OUTPUT'</font></b> ROUTINE 
 +; -------------------------------- 
 +
 +  
 +<a name="L0C5A"></a>;; <b>BCHAN-OUT</b> 
 +L0C5A:  LD      B,$0B 
 +        CPL      
 +        LD      C,A 
 +        LD      A,($5CC6)       ; sv IOBORD 
 +        OUT     ($FE),
 +        LD      A,$EF 
 +        OUT     ($EF),
 +        CPL      
 +        OUT     ($F7),
 +        LD      HL,($5CC3)      ; sv BAUD 
 +        LD      D,H 
 +        LD      E,L 
 +  
 +<a name="L0C6F"></a>;; <b>BD-DEL-1</b> 
 +L0C6F:  DEC     DE 
 +        LD      A,D 
 +        OR      E 
 +        JR      NZ,<A href="#L0C6F">L0C6F</a>        ; back to BD-DEL-1 
 +  
 +  
 +<a name="L0C74"></a>;; <b>TEST-DTR</b> 
 +L0C74:  LD      A,$7F 
 +        IN      A,($FE) 
 +        OR      $FE 
 +        IN      A,($FE) 
 +        RRA      
 +        JP      NC,<A href="#L0CB4">L0CB4</a>        ; jump to BRK-INOUT 
 +        IN      A,($EF) 
 +        AND     $08 
 +        JR      Z,<A href="#L0C74">L0C74</a>         ; back to TEST-DTR 
 +  
 +        SCF      
 +        DI       
 +  
 +<a name="L0C88"></a>;; <b>SER-OUT-L</b> 
 +L0C88:  ADC     A,$00 
 +        OUT     ($F7),
 +        LD      D,H 
 +        LD      E,L 
 +  
 +<a name="L0C8E"></a>;; <b>BD-DEL-2</b> 
 +L0C8E:  DEC     DE 
 +        LD      A,D 
 +        OR      E 
 +        JR      NZ,<A href="#L0C8E">L0C8E</a>        ; back to BD-DEL-2 
 +  
 +        DEC     DE 
 +        XOR     A 
 +        SRL     C 
 +        DJNZ    <A href="#L0C88">L0C88</a>           ; back to SER-OUT-L 
 +  
 +        EI       
 +        LD      A,$01 
 +        LD      C,$EF 
 +        LD      B,$EE 
 +        OUT     ($F7),
 +        OUT     (C),
 +  
 +<a name="L0CA4"></a>;; <b>BD-DEL-3</b> 
 +L0CA4:  DEC     HL 
 +        LD      A,L 
 +        OR      H 
 +        JR      NZ,<A href="#L0CA4">L0CA4</a>        ; back to BD-DEL-3 
 +  
 +  
 +; ----------------------------------- 
 +; THE <b><font color=#333388>'BORDER COLOUR RESTORE'</font></b> ROUTINE 
 +; ----------------------------------- 
 +
 +  
 +<a name="L0CA9"></a>;; <b>BORD-REST</b> 
 +L0CA9:  LD      A,($5C48)       ; sv BORDCR 
 +        AND     $38 
 +        RRCA     
 +        RRCA     
 +        RRCA     
 +        OUT     ($FE),
 +        RET      
 + 
 +  
 +; -------------------------------------- 
 +; THE <b><font color=#333388>'BREAK INTO I/O OPERATION'</font></b> ROUTINE 
 +; -------------------------------------- 
 +
 +  
 +<a name="L0CB4"></a>;; <b>BRK-INOUT</b> 
 +L0CB4:  EI       
 +        CALL    <A href="#L0CA9">L0CA9</a>           ; routine BORD-REST 
 +        LD      (IY+$00),$14    ; sv ERR_NR 
 +        RST     28H             ; romerr 
 +  
 +; ---------------------- 
 +; THE <b><font color=#333388>'CALL-INP'</font></b> ROUTINE 
 +; ---------------------- 
 +
 +  
 +<a name="L0CBD"></a>;; <b>CALL-INP</b> 
 +L0CBD:  RES     3,(IY+$02)      ; sv TV_FLAG 
 +        PUSH    HL 
 +        LD      HL,($5C3D)      ; sv ERR_SP 
 +        LD      E,(HL) 
 +        INC     HL 
 +        LD      D,(HL) 
 +        AND     A 
 +        LD      HL,$107F 
 +        SBC     HL,DE 
 +        JR      NZ,<A href="#L0CFB">L0CFB</a>        ; forward to INKEY$ 
 +  
 +        POP     HL 
 +        LD      SP,($5C3D)      ; sv ERR_SP 
 +        POP     DE 
 +        POP     DE 
 +        LD      ($5C3D),DE      ; sv ERR_SP 
 +  
 +<a name="L0CDB"></a>;; <b>IN-AGAIN</b> 
 +L0CDB:  PUSH    HL 
 +        LD      DE,$0CE1 
 +        PUSH    DE 
 +        JP      (HL) 
 +        JR      C,<A href="#L0CED">L0CED</a>         ; forward to ACC-CODE 
 +  
 +        JR      Z,<A href="#L0CEA">L0CEA</a>         ; forward to NO-READ 
 +  
 +  
 +<a name="L0CE5"></a>;; <b>OREPORT-8</b> 
 +L0CE5:  LD      (IY+$00),$07    ; sv ERR_NR 
 +        RST     28H             ; romerr 
 +  
 +<a name="L0CEA"></a>;; <b>NO-READ</b> 
 +L0CEA:  POP     HL 
 +        JR      <A href="#L0CDB">L0CDB</a>           ; back to IN-AGAIN 
 +  
 +  
 +<a name="L0CED"></a>;; <b>ACC-CODE</b> 
 +L0CED:  CP      $0D 
 +        JR      Z,<A href="#L0CF7">L0CF7</a>         ; forward to END-INPUT 
 +  
 +        RST     10H             ; CALBAS 
 +        DEFW    $0F85           ; main ADD-CHRX 
 +        POP     HL 
 +        JR      <A href="#L0CDB">L0CDB</a>           ; back to IN-AGAIN 
 +  
 +  
 +<a name="L0CF7"></a>;; <b>END-INPUT</b> 
 +L0CF7:  POP     HL 
 +        JP      <A href="#L0700">L0700</a>           ; jump to UNPAGE 
 +  
 +<a name="L0CFB"></a>;; <b>INKEY$</b> 
 +L0CFB:  POP     HL 
 +        LD      DE,$0D01 
 +        PUSH    DE 
 +        JP      (HL) 
 +        RET     C 
 + 
 +        RET     Z 
 + 
 +        BIT     4,(IY+$7C)      ; sv FLAGS_3 
 +        JR      Z,<A href="#L0CE5">L0CE5</a>         ; back to OREPORT-8 
 +  
 +        OR      $01 
 +        RET      
 + 
 +  
 +; ------------------------------- 
 +; THE <b><font color=#333388>'"N" CHANNEL INPUT'</font></b> ROUTINE 
 +; ------------------------------- 
 +
 +  
 +<a name="L0D0C"></a>;; <b>N-INPUT</b> 
 +L0D0C:  LD      HL,L0D12 
 +        JP      <A href="#L0CBD">L0CBD</a>           ; jump to CALL-INP 
 +  
 +; --------------------------------------- 
 +; THE <b><font color=#333388>'"N" CHANNEL INPUT SERVICE'</font></b> ROUTINE 
 +; --------------------------------------- 
 +
 +  
 +<a name="L0D12"></a>;; <b>NCHAN-IN</b> 
 +L0D12:  LD      IX,($5C51)      ; sv CURCHL 
 +        LD      A,(IX+$10) 
 +        AND     A 
 +        JR      Z,<A href="#L0D1E">L0D1E</a>         ; forward to TEST-BUFF 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $0D 
 +  
 +<a name="L0D1E"></a>;; <b>TEST-BUFF</b> 
 +L0D1E:  LD      A,(IX+$14) 
 +        AND     A 
 +        JR      Z,<A href="#L0D38">L0D38</a>         ; forward to TST-N-EOF 
 +  
 +        LD      E,(IX+$13) 
 +        DEC     A 
 +        SUB     E 
 +        JR      C,<A href="#L0D38">L0D38</a>         ; forward to TST-N-EOF 
 +  
 +        LD      D,$00 
 +        INC     E 
 +        LD      (IX+$13),
 +        ADD     IX,DE 
 +        LD      A,(IX+$14) 
 +        SCF      
 +        RET      
 + 
 +  
 +<a name="L0D38"></a>;; <b>TST-N-EOF</b> 
 +L0D38:  LD      A,(IX+$0F) 
 +        AND     A 
 +        JR      Z,<A href="#L0D3F">L0D3F</a>         ; forward to GET-N-BUF 
 +  
 +        RET      
 + 
 +  
 +<a name="L0D3F"></a>;; <b>GET-N-BUF</b> 
 +L0D3F:  LD      A,($5CC6)       ; sv IOBORD 
 +        OUT     ($FE),
 +        DI       
 +  
 +<a name="L0D45"></a>;; <b>TRY-AGAIN</b> 
 +L0D45:  CALL    <A href="#L0F1E">L0F1E</a>           ; routine WT-SCOUT 
 +        JR      NC,<A href="#L0D5F">L0D5F</a>        ; forward to TIME-OUT 
 +  
 +        CALL    <A href="#L0E18">L0E18</a>           ; routine GET-NBLK 
 +        JR      NZ,<A href="#L0D5F">L0D5F</a>        ; forward to TIME-OUT 
 +  
 +        EI       
 +        CALL    <A href="#L0CA9">L0CA9</a>           ; routine BORD-REST 
 +        LD      (IX+$13),$00 
 +        LD      A,($5CD2)       ; sv NTTYPE 
 +        LD      (IX+$0F),
 +        JR      <A href="#L0D1E">L0D1E</a>           ; back to TEST-BUFF 
 +  
 +  
 +<a name="L0D5F"></a>;; <b>TIME-OUT</b> 
 +L0D5F:  LD      A,(IX+$0B) 
 +        AND     A 
 +        JR      Z,<A href="#L0D45">L0D45</a>         ; back to TRY-AGAIN 
 +  
 +        EI       
 +        CALL    <A href="#L0CA9">L0CA9</a>           ; routine BORD-REST 
 +        AND     $00 
 +        RET      
 + 
 +  
 +; -------------------------------- 
 +; THE <b><font color=#333388>'"N" CHANNEL OUTPUT'</font></b> ROUTINE 
 +; -------------------------------- 
 +
 +  
 +<a name="L0D6C"></a>;; <b>NCHAN-OUT</b> 
 +L0D6C:  LD      IX,($5C51)      ; sv CURCHL 
 +        LD      B,A 
 +        LD      A,(IX+$14) 
 +        AND     A 
 +        LD      A,B 
 +        JR      Z,<A href="#L0D7A">L0D7A</a>         ; forward to TEST-OUT 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $0C 
 +  
 +<a name="L0D7A"></a>;; <b>TEST-OUT</b> 
 +L0D7A:  LD      E,(IX+$10) 
 +        INC     E 
 +        JR      NZ,<A href="#L0D88">L0D88</a>        ; forward to ST-BF-LEN 
 +  
 +        PUSH    AF 
 +        XOR     A 
 +        CALL    <A href="#L0DAB">L0DAB</a>           ; routine S-PACK-1 
 +        POP     AF 
 +        LD      E,$01 
 +  
 +<a name="L0D88"></a>;; <b>ST-BF-LEN</b> 
 +L0D88:  LD      (IX+$10),
 +        LD      D,$00 
 +        ADD     IX,DE 
 +        LD      (IX+$14),
 +        RET      
 + 
 +  
 +; ----------------------- 
 +; THE <b><font color=#333388>'OUT-BLK-N'</font></b> ROUTINE 
 +; ----------------------- 
 +
 +  
 +<a name="L0D93"></a>;; <b>OUT-BLK-N</b> 
 +L0D93:  CALL    <A href="#L0FC5">L0FC5</a>           ; routine OUTPAK 
 +        LD      A,(IX+$0B) 
 +        AND     A 
 +        RET     Z 
 + 
 +        LD      HL,$5CCD        ; sv NTRESP 
 +        LD      (HL),$00 
 +        LD      E,$01 
 +        CALL    <A href="#L0F92">L0F92</a>           ; routine INPAK 
 +        RET     NZ 
 + 
 +        LD      A,($5CCD)       ; sv NTRESP 
 +        DEC     A 
 +        RET      
 + 
 +  
 +; ---------------------- 
 +; THE <b><font color=#333388>'S-PACK-1'</font></b> ROUTINE 
 +; ---------------------- 
 +
 +  
 +<a name="L0DAB"></a>;; <b>S-PACK-1</b> 
 +L0DAB:  CALL    <A href="#L0DB2">L0DB2</a>           ; routine SEND-PACK 
 +        RET     NZ 
 + 
 +        JP      <A href="#L0E0F">L0E0F</a>           ; jump to BR-DELAY 
 +  
 +; ----------------------- 
 +; THE <b><font color=#333388>'SEND-PACK'</font></b> ROUTINE 
 +; ----------------------- 
 +
 +  
 +<a name="L0DB2"></a>;; <b>SEND-PACK</b> 
 +L0DB2:  LD      (IX+$0F),
 +        LD      B,(IX+$10) 
 +        LD      A,($5CC6)       ; sv IOBORD 
 +        OUT     ($FE),
 +        PUSH    IX 
 +        POP     DE 
 +        LD      HL,$0015 
 +        ADD     HL,DE 
 +        XOR     A 
 +  
 +<a name="L0DC5"></a>;; <b>CHKS1</b> 
 +L0DC5:  ADD     A,(HL) 
 +        INC     HL 
 +        DJNZ    <A href="#L0DC5">L0DC5</a>           ; back to CHKS1 
 +  
 +        LD      (IX+$11),
 +        LD      HL,$000B 
 +        ADD     HL,DE 
 +        PUSH    HL 
 +        LD      B,$07 
 +        XOR     A 
 +  
 +<a name="L0DD4"></a>;; <b>CHKS2</b> 
 +L0DD4:  ADD     A,(HL) 
 +        INC     HL 
 +        DJNZ    <A href="#L0DD4">L0DD4</a>           ; back to CHKS2 
 +  
 +        LD      (HL),A 
 +        DI       
 +  
 +<a name="L0DDA"></a>;; <b>SENDSCOUT</b> 
 +L0DDA:  CALL    <A href="#L0F61">L0F61</a>           ; routine SEND-SC 
 +        POP     HL 
 +        PUSH    HL 
 +        LD      E,$08 
 +        CALL    <A href="#L0D93">L0D93</a>           ; routine OUT-BLK-N 
 +        JR      NZ,<A href="#L0DDA">L0DDA</a>        ; back to SENDSCOUT 
 +  
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0015 
 +        ADD     HL,DE 
 +        LD      E,(IX+$10) 
 +        LD      A,E 
 +        AND     A 
 +        JR      Z,<A href="#L0DFD">L0DFD</a>         ; forward to INC-BLKN 
 +  
 +        LD      B,$20 
 +  
 +<a name="L0DF6"></a>;; <b>SP-DL-1</b> 
 +L0DF6:  DJNZ    <A href="#L0DF6">L0DF6</a>           ; back to SP-DL-1 
 +  
 +        CALL    <A href="#L0D93">L0D93</a>           ; routine OUT-BLK-N 
 +        JR      NZ,<A href="#L0DDA">L0DDA</a>        ; back to SENDSCOUT 
 +  
 +  
 +<a name="L0DFD"></a>;; <b>INC-BLKN</b> 
 +L0DFD:  INC     (IX+$0D) 
 +        JR      NZ,<A href="#L0E05">L0E05</a>        ; forward to SP-N-END 
 +  
 +        INC     (IX+$0E) 
 +  
 +<a name="L0E05"></a>;; <b>SP-N-END</b> 
 +L0E05:  POP     HL 
 +        CALL    <A href="#L0CA9">L0CA9</a>           ; routine BORD-REST 
 +        EI       
 +        LD      A,(IX+$0B) 
 +        AND     A 
 +        RET      
 + 
 +  
 +; ---------------------- 
 +; THE <b><font color=#333388>'BR-DELAY'</font></b> ROUTINE 
 +; ---------------------- 
 +
 +  
 +<a name="L0E0F"></a>;; <b>BR-DELAY</b> 
 +L0E0F:  LD      DE,$1500 
 +  
 +<a name="L0E12"></a>;; <b>DL-LOOP</b> 
 +L0E12:  DEC     DE 
 +        LD      A,E 
 +        OR      D 
 +        JR      NZ,<A href="#L0E12">L0E12</a>        ; back to DL-LOOP 
 +  
 +        RET      
 + 
 +  
 +; --------------------------------------------- 
 +; THE <b><font color=#333388>'HEADER AND DATA BLOCK RECEIVING'</font></b> ROUTINE 
 +; --------------------------------------------- 
 +
 +  
 +<a name="L0E18"></a>;; <b>GET-NBLK</b> 
 +L0E18:  LD      HL,$5CCE        ; sv NTDEST 
 +        LD      E,$08 
 +        CALL    <A href="#L0F92">L0F92</a>           ; routine INPAK 
 +        RET     NZ 
 + 
 +        LD      HL,$5CCE        ; sv NTDEST 
 +        XOR     A 
 +        LD      B,$07 
 +  
 +<a name="L0E27"></a>;; <b>CHKS3</b> 
 +L0E27:  ADD     A,(HL) 
 +        INC     HL 
 +        DJNZ    <A href="#L0E27">L0E27</a>           ; back to CHKS3 
 +  
 +        CP      (HL) 
 +        RET     NZ 
 + 
 +        LD      A,($5CCE)       ; sv NTDEST 
 +        AND     A 
 +        JR      Z,<A href="#L0E40">L0E40</a>         ; forward to BRCAST 
 +  
 +        CP      (IX+$0C) 
 +        RET     NZ 
 + 
 +        LD      A,($5CCF)       ; sv NTSRCE 
 +        CP      (IX+$0B) 
 +        RET     NZ 
 + 
 +        JR      <A href="#L0E45">L0E45</a>           ; forward to TEST-BLKN 
 +  
 +  
 +<a name="L0E40"></a>;; <b>BRCAST</b> 
 +L0E40:  LD      A,(IX+$0B) 
 +        OR      A 
 +        RET     NZ 
 + 
 +  
 +<a name="L0E45"></a>;; <b>TEST-BLKN</b> 
 +L0E45:  LD      HL,($5CD0)      ; sv NTNUMB 
 +        LD      E,(IX+$0D) 
 +        LD      D,(IX+$0E) 
 +        AND     A 
 +        SBC     HL,DE 
 +        JR      Z,<A href="#L0E65">L0E65</a>         ; forward to GET-NBUFF 
 +  
 +        DEC     HL 
 +        LD      A,H 
 +        OR      L 
 +        RET     NZ 
 + 
 +        CALL    <A href="#L0E65">L0E65</a>           ; routine GET-NBUFF 
 + 
 +;   <font color=#9900FF>Note.</font> The DEC instruction does not affect the carry flag. 
 + 
 +        DEC     (IX+$0D) 
 +        JR      NC,<A href="#L0E62">L0E62</a>        ; forward, with no carry, to GETNB-END !! 
 +  
 +        DEC     (IX+$0E) 
 +  
 +<a name="L0E62"></a>;; <b>GETNB-END</b> 
 +L0E62:  OR      $01 
 +        RET      
 + 
 +  
 +<a name="L0E65"></a>;; <b>GET-NBUFF</b> 
 +L0E65:  LD      A,($5CCE)       ; sv NTDEST 
 +        OR      A 
 +        CALL    NZ,<A href="#L0FBE">L0FBE</a>        ; routine SEND-RESP 
 +        LD      A,($5CD3)       ; sv NTLEN 
 +        AND     A 
 +        JR      Z,<A href="#L0E93">L0E93</a>         ; forward to STORE-LEN 
 +  
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0015 
 +        ADD     HL,DE 
 +        PUSH    HL 
 +        LD      E,A 
 +        CALL    <A href="#L0F92">L0F92</a>           ; routine INPAK 
 +        POP     HL 
 +        RET     NZ 
 + 
 +        LD      A,($5CD3)       ; sv NTLEN 
 +        LD      B,A 
 +        LD      A,($5CD4)       ; sv NTDCS 
 +  
 +<a name="L0E87"></a>;; <b>CHKS4</b> 
 +L0E87:  SUB     (HL) 
 +        INC     HL 
 +        DJNZ    <A href="#L0E87">L0E87</a>           ; back to CHKS4 
 +  
 +        RET     NZ 
 + 
 +        LD      A,($5CCE)       ; sv NTDEST 
 +        AND     A 
 +        CALL    NZ,<A href="#L0FBE">L0FBE</a>        ; routine SEND-RESP 
 +  
 +<a name="L0E93"></a>;; <b>STORE-LEN</b> 
 +L0E93:  LD      A,($5CD3)       ; sv NTLEN 
 +        LD      (IX+$14),
 +        INC     (IX+$0D) 
 +        JR      NZ,<A href="#L0EA1">L0EA1</a>        ; forward to GETNBF-END 
 +  
 +        INC     (IX+$0E) 
 +  
 +<a name="L0EA1"></a>;; <b>GETNBF-END</b> 
 +L0EA1:  CP      A 
 +        RET      
 + 
 +  
 +; -------------------------------------- 
 +; THE <b><font color=#333388>'OPEN "N" CHANNEL COMMAND'</font></b> ROUTINE 
 +; -------------------------------------- 
 +
 +  
 +<a name="L0EA3"></a>;; <b>OPEN-N-ST</b> 
 +L0EA3:  CALL    <A href="#L0EB5">L0EB5</a>           ; routine OP-PERM-N 
 +        JP      <A href="#L0B4A">L0B4A</a>           ; jump to OP-STREAM 
 +  
 +; ---------------------------------------- 
 +; THE <b><font color=#333388>'OPEN TEMPORARY "N" CHANNEL'</font></b> ROUTINE 
 +; ---------------------------------------- 
 +
 +  
 +<a name="L0EA9"></a>;; <b>OP-TEMP-N</b> 
 +L0EA9:  CALL    <A href="#L0EB5">L0EB5</a>           ; routine OP-PERM-N 
 +        LD      IX,($5C51)      ; sv CURCHL 
 +        SET     7,(IX+$04) 
 +        RET      
 + 
 +  
 +; ---------------------------------------- 
 +; THE <b><font color=#333388>'OPEN PERMANENT "N" CHANNEL'</font></b> ROUTINE 
 +; ---------------------------------------- 
 +
 +  
 +<a name="L0EB5"></a>;; <b>OP-PERM-N</b> 
 +L0EB5:  LD      HL,($5C53)      ; sv PROG 
 +        DEC     HL 
 +        LD      BC,$0114 
 +        PUSH    BC 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1655           ; main MAKE-ROOM 
 +        INC     HL 
 +        POP     BC 
 +        CALL    <A href="#L1691">L1691</a>           ; routine REST-N-AD 
 +        LD      ($5C51),HL      ; sv CURCHL 
 +        EX      DE,HL 
 +        LD      HL,$0EEA 
 +        LD      BC,$000B 
 +        LDIR     
 +        LD      A,($5CD6)       ; sv D_STR1 
 +        LD      (DE),A 
 +        INC     DE 
 +        LD      A,($5CC5)       ; sv NTSTAT 
 +        LD      (DE),A 
 +        INC     DE 
 +        XOR     A 
 +        LD      (DE),A 
 +        LD      H,D 
 +        LD      L,E 
 +        INC     DE 
 +        LD      BC,$0106 
 +        LDIR     
 +        LD      DE,($5C51)      ; sv CURCHL 
 +        RET      
 + 
 + 
 +  
 +; ------------------------------ 
 +; THE <b><font color=#333388>'"N" CHANNEL DATA'</font></b> ROUTINE 
 +; ------------------------------ 
 +
 +  
 +<a name="LEND"></a>;; <b></b> 
 +L0EEA:  DEFW    $0008           ; main ERROR-1 
 +        DEFW    $0008           ; main ERROR-1 
 +        DEFB    $4E 
 +        DEFW    $0D6C           ; 
 +        DEFW    $0D0C           ; 
 +        DEFW    $0114           ;  
 + 
 +  
 +; --------------------------------------- 
 +; THE <b><font color=#333388>'SEND EOF BLOCK TO NETWORK'</font></b> ROUTINE 
 +; --------------------------------------- 
 +
 +  
 +<a name="L0EF5"></a>;; <b>SEND-NEOF</b> 
 +L0EF5   LD      IX,($5C51)      ; sv CURCHL 
 +        LD      A,(IX+$10) 
 +        AND     A 
 +        RET     Z 
 + 
 +        LD      A,$01 
 +        JP      <A href="#L0DAB">L0DAB</a>           ; jump to S-PACK-1 
 +  
 +; --------------------------- 
 +; THE <b><font color=#333388>'NETWORK STATE'</font></b> ROUTINE 
 +; --------------------------- 
 +
 +  
 +<a name="L0F03"></a>;; <b>NET-STATE</b> 
 +L0F03:  LD      A,R 
 +        OR      $C0 
 +        LD      B,A 
 +        CALL    <A href="#L0F0E">L0F0E</a>           ; routine CHK-REST 
 +        JR      C,<A href="#L0F03">L0F03</a>         ; back to NET-STATE 
 +  
 +        RET      
 + 
 +  
 +; --------------------------- 
 +; THE <b><font color=#333388>'CHECK-RESTING'</font></b> ROUTINE 
 +; --------------------------- 
 +
 +  
 +<a name="L0F0E"></a>;; <b>CHK-REST</b> 
 +L0F0E:  LD      A,$7F 
 +        IN      A,($FE) 
 +        RRCA     
 +        JR      NC,<A href="#L0F4D">L0F4D</a>        ; forward to E-READ-N 
 +  
 +  
 +<a name="L0F15"></a>;; <b>MAKESURE</b> 
 +L0F15:  PUSH    BC 
 +        POP     BC 
 +        IN      A,($F7) 
 +        RRCA     
 +        RET     C 
 + 
 +        DJNZ    <A href="#L0F15">L0F15</a>           ; back to MAKESURE 
 +  
 +        RET      
 + 
 +  
 +; ------------------------ 
 +; THE <b><font color=#333388>'WAIT-SCOUT'</font></b> ROUTINE 
 +; ------------------------ 
 +
 +  
 +<a name="L0F1E"></a>;; <b>WT-SCOUT</b> 
 +L0F1E:  LD      HL,$01C2 
 +  
 +<a name="L0F21"></a>;; <b>CLAIMED</b> 
 +L0F21:  LD      B,$80 
 +        CALL    <A href="#L0F0E">L0F0E</a>           ; routine CHK-REST 
 +        JR      NC,<A href="#L0F35">L0F35</a>        ; forward to WT-SYNC 
 +  
 +        DEC     HL 
 +        DEC     HL 
 +        LD      A,H 
 +        OR      L 
 +        JR      NZ,<A href="#L0F21">L0F21</a>        ; back to CLAIMED 
 +  
 +        LD      A,(IX+$0B) 
 +        AND     A 
 +        JR      Z,<A href="#L0F21">L0F21</a>         ; back to CLAIMED 
 +  
 +        RET      
 + 
 +  
 +<a name="L0F35"></a>;; <b>WT-SYNC</b> 
 +L0F35:  IN      A,($F7) 
 +        RRCA     
 +        JR      C,<A href="#L0F56">L0F56</a>         ; forward to SCOUT-END 
 +  
 +        LD      A,$7F 
 +        IN      A,($FE) 
 +        RRCA     
 +        JR      NC,<A href="#L0F4D">L0F4D</a>        ; forward to E-READ-N 
 +  
 +        DEC     HL 
 +        LD      A,H 
 +        OR      L 
 +        JR      NZ,<A href="#L0F35">L0F35</a>        ; back to WT-SYNC 
 +  
 +        LD      A,(IX+$0B) 
 +        AND     A 
 +        JR      Z,<A href="#L0F35">L0F35</a>         ; back to WT-SYNC 
 +  
 +        RET      
 + 
 +  
 +<a name="L0F4D"></a>;; <b>E-READ-N</b> 
 +L0F4D:  EI       
 +        CALL    <A href="#L0CA9">L0CA9</a>           ; routine BORD-REST 
 +        LD      (IY+$00),$14    ; sv ERR_NR 
 +        RST     28H             ; romerr 
 +  
 +<a name="L0F56"></a>;; <b>SCOUT-END</b> 
 +L0F56:  LD      L,$09 
 +  
 +<a name="L0F58"></a>;; <b>LP-SCOUT</b> 
 +L0F58:  DEC     L 
 +        SCF      
 +        RET     Z 
 + 
 +        LD      B,$0E 
 +  
 +<a name="L0F5D"></a>;; <b>DELAY-SC</b> 
 +L0F5D:  DJNZ    <A href="#L0F5D">L0F5D</a>           ; back to DELAY-SC 
 +  
 +        JR      <A href="#L0F58">L0F58</a>           ; back to LP-SCOUT 
 +  
 +  
 +; ------------------------ 
 +; THE <b><font color=#333388>'SEND-SCOUT'</font></b> ROUTINE 
 +; ------------------------ 
 +
 +  
 +<a name="L0F61"></a>;; <b>SEND-SC</b> 
 +L0F61:  CALL    <A href="#L0F03">L0F03</a>           ; routine NET-STATE 
 +        LD      C,$F7 
 +        LD      HL,$0009 
 +        LD      A,($5CC5)       ; sv NTSTAT 
 +        LD      E,A 
 +        IN      A,($F7) 
 +        RRCA     
 +        JR      C,<A href="#L0F61">L0F61</a>         ; back to SEND-SC 
 +  
 +  
 +<a name="L0F72"></a>;; <b>ALL-BITS</b> 
 +L0F72:  OUT     (C),
 +        LD      D,H 
 +        LD      H,$00 
 +        RLC     E 
 +        RL      H 
 +        LD      B,$08 
 +  
 +<a name="L0F7D"></a>;; <b>S-SC-DEL</b> 
 +L0F7D:  DJNZ    <A href="#L0F7D">L0F7D</a>           ; back to S-SC-DEL 
 +  
 +        IN      A,($F7) 
 +        AND     $01 
 +        CP      D 
 +        JR      Z,<A href="#L0F61">L0F61</a>         ; back to SEND-SC 
 +  
 +        DEC     L 
 +        JR      NZ,<A href="#L0F72">L0F72</a>        ; back to ALL-BITS 
 +  
 +        LD      A,$01 
 +        OUT     ($F7),
 +        LD      B,$0E 
 +  
 +<a name="L0F8F"></a>;; <b>END-S-DEL</b> 
 +L0F8F:  DJNZ    <A href="#L0F8F">L0F8F</a>           ; back to END-S-DEL 
 +  
 +        RET      
 + 
 +  
 +; ------------------- 
 +; THE <b><font color=#333388>'INPAK'</font></b> ROUTINE 
 +; ------------------- 
 +
 +  
 +<a name="L0F92"></a>;; <b>INPAK</b> 
 +L0F92:  LD      B,$FF 
 +  
 +<a name="L0F94"></a>;; <b>N-ACTIVE</b> 
 +L0F94:  IN      A,($F7) 
 +        RRA      
 +        JR      C,<A href="#L0F9D">L0F9D</a>         ; forward to INPAK-2 
 +  
 +        DJNZ    <A href="#L0F94">L0F94</a>           ; back to N-ACTIVE 
 +  
 +        INC     B 
 +        RET      
 + 
 +  
 +<a name="L0F9D"></a>;; <b>INPAK-2</b> 
 +L0F9D:  LD      B,E 
 +  
 +<a name="L0F9E"></a>;; <b>INPAK-L</b> 
 +L0F9E:  LD      E,$80 
 +        LD      A,$CE 
 +        OUT     ($EF),
 +        NOP      
 +        NOP      
 +        INC     IX 
 +        DEC     IX 
 +        INC     IX 
 +        DEC     IX 
 +  
 +<a name="L0FAE"></a>;; <b>UNTIL-MK</b> 
 +L0FAE:  LD      A,$00 
 +        IN      A,($F7) 
 +        RRA      
 +        RR      E 
 +        JP      NC,<A href="#L0FAE">L0FAE</a>        ; jump to UNTIL-MK 
 +        LD      (HL),E 
 +        INC     HL 
 +        DJNZ    <A href="#L0F9E">L0F9E</a>           ; back to INPAK-L 
 +  
 +        CP      A 
 +        RET      
 + 
 +  
 +; -------------------------------- 
 +; THE <b><font color=#333388>'SEND RESPONSE BYTE'</font></b> ROUTINE 
 +; -------------------------------- 
 +
 +  
 +<a name="L0FBE"></a>;; <b>SEND-RESP</b> 
 +L0FBE:  LD      A,$01 
 +        LD      HL,$5CCD        ; sv NTRESP 
 +        LD      (HL),A 
 +        LD      E,A 
 +  
 +; -------------------- 
 +; THE <b><font color=#333388>'OUTPAK'</font></b> ROUTINE 
 +; -------------------- 
 +
 +  
 +<a name="L0FC5"></a>;; <b>OUTPAK</b> 
 +L0FC5:  XOR     A 
 +        OUT     ($F7),
 +        LD      B,$04 
 +  
 +<a name="L0FCA"></a>;; <b>DEL-D-1</b> 
 +L0FCA:  DJNZ    <A href="#L0FCA">L0FCA</a>           ; back to DEL-D-1 
 +  
 +  
 +<a name="L0FCC"></a>;; <b>OUTPAK-L</b> 
 +L0FCC:  LD      A,(HL) 
 +        CPL      
 +        SCF      
 +        RLA      
 +        LD      B,$0A 
 +  
 +<a name="L0FD2"></a>;; <b>UNT-MARK</b> 
 +L0FD2:  OUT     ($F7),
 +        RRA      
 +        AND     A 
 +        DEC     B 
 +        LD      D,$00 
 +        JP      NZ,<A href="#L0FD2">L0FD2</a>        ; jump to UNT-MARK 
 +        INC     HL 
 +        DEC     E 
 +        PUSH    HL 
 +        POP     HL 
 +        JP      NZ,<A href="#L0FCC">L0FCC</a>        ; jump to OUTPAK-L 
 +        LD      A,$01 
 +        OUT     ($F7),
 +        RET      
 + 
 +  
 +; ----------------------------------------- 
 +; THE <b><font color=#333388>'SET A TEMPORARY "M" CHANNEL'</font></b> ROUTINE 
 +; ----------------------------------------- 
 +
 +  
 +<a name="L0FE8"></a>;; <b>SET-T-MCH</b> 
 +L0FE8:  EXX      
 +        LD      HL,L0000 
 +        EXX      
 +        LD      IX,($5C4F)      ; sv CHANS 
 +        LD      DE,$0014 
 +        ADD     IX,DE 
 +  
 +<a name="L0FF6"></a>;; <b>CHK-LOOP</b> 
 +L0FF6:  LD      A,(IX+$00) 
 +        CP      $80 
 +        JR      Z,<A href="#L1034">L1034</a>         ; forward to CHAN-SPC 
 +  
 +        LD      A,(IX+$04) 
 +        AND     $7F 
 +        CP      $4D 
 +        JR      NZ,<A href="#L102A">L102A</a>        ; forward to NEXT-CHAN 
 +  
 +        LD      A,($5CD6)       ; sv D_STR1 
 +        CP      (IX+$19) 
 +        JR      NZ,<A href="#L102A">L102A</a>        ; forward to NEXT-CHAN 
 +  
 +        EXX      
 +        LD      L,(IX+$1A) 
 +        LD      H,(IX+$1B) 
 +        EXX      
 +        LD      BC,($5CDA)      ; sv D_STR1 
 +        LD      HL,($5CDC)      ; sv D_STR1 
 +        CALL    <A href="#L131E">L131E</a>           ; routine CHK-NAME 
 +        JR      NZ,<A href="#L102A">L102A</a>        ; forward to NEXT-CHAN 
 +  
 +        BIT     0,(IX+$18) 
 +        JR      Z,<A href="#L102A">L102A</a>         ; forward to NEXT-CHAN 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $0D 
 +  
 +<a name="L102A"></a>;; <b>NEXT-CHAN</b> 
 +L102A:  LD      E,(IX+$09) 
 +        LD      D,(IX+$0A) 
 +        ADD     IX,DE 
 +        JR      <A href="#L0FF6">L0FF6</a>           ; back to CHK-LOOP 
 +  
 +  
 +<a name="L1034"></a>;; <b>CHAN-SPC</b> 
 +L1034:  LD      HL,($5C53)      ; sv PROG 
 +        DEC     HL 
 +        PUSH    HL 
 +        LD      BC,$0253 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1655           ; main MAKE-ROOM 
 +        POP     DE 
 +        PUSH    DE 
 +        LD      HL,$13CC 
 +        LD      BC,$0019 
 +        LDIR     
 +        LD      A,($5CD6)       ; sv D_STR1 
 +        LD      (IX+$19),
 +        LD      BC,$0253 
 +        PUSH    IX 
 +        POP     HL 
 +        CALL    <A href="#L1691">L1691</a>           ; routine REST-N-AD 
 +        EX      DE,HL 
 +        LD      BC,($5CDA)      ; sv D_STR1 
 +        BIT     7,B 
 +        JR      NZ,<A href="#L106F">L106F</a>        ; forward to TEST-MAP 
 +  
 +  
 +<a name="L1061"></a>;; <b>T-CH-NAME</b> 
 +L1061:  LD      A,B 
 +        OR      C 
 +        JR      Z,<A href="#L106F">L106F</a>         ; forward to TEST-MAP 
 +  
 +        LD      A,(HL) 
 +        LD      (IX+$0E),
 +        INC     HL 
 +        INC     IX 
 +        DEC     BC 
 +        JR      <A href="#L1061">L1061</a>           ; back to T-CH-NAME 
 +  
 +  
 +<a name="L106F"></a>;; <b>TEST-MAP</b> 
 +L106F:  POP     IX 
 +        EXX      
 +        LD      A,H 
 +        OR      L 
 +        JR      NZ,<A href="#L108A">L108A</a>        ; forward to ST-MAP-AD 
 +  
 +        LD      HL,($5C4F)      ; sv CHANS 
 +        PUSH    HL 
 +        DEC     HL 
 +        LD      BC,L0020 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1655           ; main MAKE-ROOM 
 +        POP     HL 
 +        LD      BC,L0020 
 +        ADD     IX,BC 
 +        CALL    <A href="#L1691">L1691</a>           ; routine REST-N-AD 
 +  
 +<a name="L108A"></a>;; <b>ST-MAP-AD</b> 
 +L108A:  LD      (IX+$1A),
 +        LD      (IX+$1B),
 +        LD      A,$FF 
 +        LD      B,$20 
 +  
 +<a name="L1094"></a>;; <b>FILL-14AP</b> 
 +L1094:  LD      (HL),A 
 +        INC     HL 
 +        DJNZ    <A href="#L1094">L1094</a>           ; back to FILL-14AP 
 +  
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$001C 
 +        ADD     HL,DE 
 +        EX      DE,HL 
 +        LD      HL,$13E5 
 +        LD      BC,$000C 
 +        LDIR     
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0037 
 +        LD      BC,$000C 
 +        ADD     HL,DE 
 +        EX      DE,HL 
 +        LD      HL,$13E5 
 +        LDIR     
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,($5C4F)      ; sv CHANS 
 +        OR      A 
 +        SBC     HL,DE 
 +        INC     HL 
 +        RET      
 + 
 +  
 +; --------------------------------- 
 +; THE <b><font color=#333388>'RECLAIM "M" CHANNEL'</font></b> ROUTINE 
 +; --------------------------------- 
 +
 +  
 +<a name="L10C4"></a>;; <b>DEL-M-BUF</b> 
 +L10C4:  LD      L,(IX+$1A) 
 +        LD      H,(IX+$1B) 
 +        PUSH    HL 
 +        LD      A,(IX+$19) 
 +        PUSH    AF 
 +        PUSH    IX 
 +        POP     HL 
 +        LD      BC,$0253 
 +        RST     10H             ; CALBAS 
 +        DEFW    $19E8           ; main RECLAIM-2 
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,($5C4F)      ; sv CHANS 
 +        OR      A 
 +        SBC     HL,DE 
 +        INC     HL 
 +        LD      BC,$0253 
 +        CALL    <A href="#L135F">L135F</a>           ; routine RE-ST-STRM 
 +        POP     AF 
 +        POP     HL 
 +        LD      B,A 
 +        LD      IX,($5C4F)      ; sv CHANS 
 +        LD      DE,$0014 
 +        ADD     IX,DE 
 +  
 +<a name="L10F5"></a>;; <b>TEST-MCHL</b> 
 +L10F5:  LD      A,(IX+$00) 
 +        CP      $80 
 +        JR      Z,<A href="#L1114">L1114</a>         ; forward to RCLM-MAP 
 +  
 +        LD      A,(IX+$04) 
 +        AND     $7F 
 +        CP      $4D 
 +        JR      NZ,<A href="#L110A">L110A</a>        ; forward to NXTCHAN 
 +  
 +        LD      A,(IX+$19) 
 +        CP      B 
 +        RET     Z 
 + 
 +  
 +<a name="L110A"></a>;; <b>NXTCHAN</b> 
 +L110A:  LD      E,(IX+$09) 
 +        LD      D,(IX+$0A) 
 +        ADD     IX,DE 
 +        JR      <A href="#L10F5">L10F5</a>           ; back to TEST-MCHL 
 +  
 +  
 +<a name="L1114"></a>;; <b>RCLM-MAP</b> 
 +L1114:  LD      BC,L0020 
 +        PUSH    HL 
 +        PUSH    BC 
 +        RST     10H             ; CALBAS 
 +        DEFW    $19E8           ; main RECLAIM-2 
 +        POP     BC 
 +        POP     HL 
 +        CALL    <A href="#L1391">L1391</a>           ; routine REST-MAP 
 +        RET      
 + 
 +  
 +; ------------------------------- 
 +; THE <b><font color=#333388>'"M" CHANNEL INPUT'</font></b> ROUTINE 
 +; ------------------------------- 
 +
 +  
 +<a name="L1122"></a>;; <b>M-INPUT</b> 
 +L1122:  LD      IX,($5C51)      ; sv CURCHL 
 +        LD      HL,$112C 
 +        JP      <A href="#L0CBD">L0CBD</a>           ; jump to CALL-INP 
 + 
 +  
 +; --------------------------------------- 
 +; THE <b><font color=#333388>'"M" CHANNEL INPUT SERVICE'</font></b> ROUTINE 
 +; --------------------------------------- 
 +
 +  
 +<a name="L112C"></a>;; <b>MCHAN-IN</b> 
 +L112C:  BIT     0,(IX+$18) 
 +        JR      Z,<A href="#L1134">L1134</a>         ; forward to TEST-M-BF 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $0D 
 +  
 +<a name="L1134"></a>;; <b>TEST-M-BF</b> 
 +L1134:  LD      E,(IX+$0B) 
 +        LD      D,(IX+$0C) 
 +        LD      L,(IX+$45) 
 +        LD      H,(IX+$46) 
 +        SCF      
 +        SBC     HL,DE 
 +        JR      C,<A href="#L1158">L1158</a>         ; forward to CHK-M-EOF 
 +  
 +        INC     DE 
 +        LD      (IX+$0B),
 +        LD      (IX+$0C),
 +        DEC     DE 
 +        PUSH    IX 
 +        ADD     IX,DE 
 +        LD      A,(IX+$52) 
 +        POP     IX 
 +        SCF      
 +        RET      
 + 
 +  
 +<a name="L1158"></a>;; <b>CHK-M-EOF</b> 
 +L1158:  BIT     1,(IX+$43) 
 +        JR      Z,<A href="#L1162">L1162</a>         ; forward to NEW-BUFF 
 +  
 +        XOR     A 
 +        ADD     A,$0D 
 +        RET      
 + 
 +  
 +<a name="L1162"></a>;; <b>NEW-BUFF</b> 
 +L1162:  LD      DE,L0000 
 +        LD      (IX+$0B),
 +        LD      (IX+$0C),
 +        INC     (IX+$0D) 
 +        CALL    <A href="#L1177">L1177</a>           ; routine GET-RECD 
 +        XOR     A 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        JR      <A href="#L1134">L1134</a>           ; back to TEST-M-BF 
 +  
 +  
 +; -------------------------- 
 +; THE <b><font color=#333388>'GET A RECORD'</font></b> ROUTINE 
 +; -------------------------- 
 +
 +  
 +<a name="L1177"></a>;; <b>GET-RECD</b> 
 +L1177:  LD      A,(IX+$19) 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +  
 +<a name="L117D"></a>;; <b>GET-R-2</b> 
 +L117D:  LD      BC,$04FB 
 +        LD      ($5CC9),BC      ; sv SECTOR 
 +  
 +<a name="L1184"></a>;; <b>GET-R-LP</b> 
 +L1184:  CALL    <A href="#L11A5">L11A5</a>           ; routine G-RD-RC 
 +        JR      C,<A href="#L119E">L119E</a>         ; forward to NXT-SCT 
 +  
 +        JR      Z,<A href="#L119E">L119E</a>         ; forward to NXT-SCT 
 +  
 +        LD      A,(IX+$44) 
 +        CP      (IX+$0D) 
 +        JR      NZ,<A href="#L119E">L119E</a>        ; forward to NXT-SCT 
 +  
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0052 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1346">L1346</a>           ; routine CHKS-BUFF 
 +        RET     Z 
 + 
 +  
 +<a name="L119E"></a>;; <b>NXT-SCT</b> 
 +L119E:  CALL    <A href="#L1312">L1312</a>           ; routine DEC-SECT 
 +        JR      NZ,<A href="#L1184">L1184</a>        ; back to GET-R-LP 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $11 
 +  
 +; --------------------------------------- 
 +; THE <b><font color=#333388>'GET HEADER AND DATA BLOCK'</font></b> ROUTINE 
 +; --------------------------------------- 
 +
 +  
 +<a name="L11A5"></a>;; <b>G-RD-RC</b> 
 +L11A5:  CALL    $12C4 
 +        LD      DE,$001B 
 +        ADD     HL,DE 
 +        CALL    <A href="#L18A9">L18A9</a>           ; routine GET-M-BUF 
 +        CALL    <A href="#L1341">L1341</a>           ; routine CHKS-HD-R 
 +        JR      NZ,<A href="#L11D6">L11D6</a>        ; forward to G-REC-ERR 
 +  
 +        BIT     0,(IX+$43) 
 +        JR      NZ,<A href="#L11D6">L11D6</a>        ; forward to G-REC-ERR 
 +  
 +        LD      A,(IX+$43) 
 +        OR      (IX+$46) 
 +        AND     $02 
 +        RET     Z 
 + 
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0047 
 +        ADD     HL,DE 
 +        LD      BC,$000A 
 +        CALL    <A href="#L131E">L131E</a>           ; routine CHK-NAME 
 +        JR      NZ,<A href="#L11D6">L11D6</a>        ; forward to G-REC-ERR 
 +  
 +        LD      A,$FF 
 +        OR      A 
 +        RET      
 + 
 +  
 +<a name="L11D6"></a>;; <b>G-REC-ERR</b> 
 +L11D6:  SCF      
 +        RET      
 + 
 +  
 +; -------------------------------- 
 +; THE <b><font color=#333388>'"M" CHANNEL OUTPUT'</font></b> ROUTINE 
 +; -------------------------------- 
 +
 +  
 +<a name="L11D8"></a>;; <b>MCHAN-OUT</b> 
 +L11D8:  LD      IX,$FFFA 
 +        ADD     IX,DE 
 +        BIT     0,(IX+$18) 
 +        JR      NZ,<A href="#L11E6">L11E6</a>        ; forward to NOREAD 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $0C 
 +  
 +<a name="L11E6"></a>;; <b>NOREAD</b> 
 +L11E6:  LD      E,(IX+$0B) 
 +        LD      D,(IX+$0C) 
 +        PUSH    IX 
 +        ADD     IX,DE 
 +        LD      (IX+$52),
 +        POP     IX 
 +        INC     DE 
 +        LD      (IX+$0B),
 +        LD      (IX+$0C),
 +        BIT     1,D 
 +        RET     Z 
 + 
 +  
 +; ------------------------------------------ 
 +; THE <b><font color=#333388>'WRITE RECORD ONTO MICRODRIVE'</font></b> ROUTINE 
 +; ------------------------------------------ 
 +
 +  
 +<a name="L11FF"></a>;; <b>WR-RECD</b> 
 +L11FF:  LD      A,(IX+$19) 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        CALL    <A href="#L120D">L120D</a>           ; routine WRITE-PRC 
 +        XOR     A 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        RET      
 + 
 +  
 +<a name="L120D"></a>;; <b>WRITE-PRC</b> 
 +L120D:  CALL    <A href="#L1264">L1264</a>           ; routine CHK-FULL 
 +        JR      NZ,<A href="#L121B">L121B</a>        ; forward to NOFULL 
 +  
 +        CALL    <A href="#L10C4">L10C4</a>           ; routine DEL-M-BUF 
 +        XOR     A 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        RST     20H             ; sh_err 
 +        DEFB    $0F 
 +  
 +<a name="L121B"></a>;; <b>NOFULL</b> 
 +L121B:  PUSH    IX 
 +        LD      B,$0A 
 +  
 +<a name="L121F"></a>;; <b>CP-NAME</b> 
 +L121F:  LD      A,(IX+$0E) 
 +        LD      (IX+$47),
 +        INC     IX 
 +        DJNZ    <A href="#L121F">L121F</a>           ; back to CP-NAME 
 +  
 +        POP     IX 
 +        LD      C,(IX+$0B) 
 +        LD      (IX+$45),
 +        LD      A,(IX+$0C) 
 +        LD      (IX+$46),
 +        LD      A,(IX+$0D) 
 +        LD      (IX+$44),
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0043 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1341">L1341</a>           ; routine CHKS-HD-R 
 +        LD      DE,$000F 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1346">L1346</a>           ; routine CHKS-BUFF 
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0047 
 +        CALL    <A href="#L1275">L1275</a>           ; routine SEND-BLK 
 +        LD      DE,L0000 
 +        LD      (IX+$0B),
 +        LD      (IX+$0C),
 +        INC     (IX+$0D) 
 +        RET      
 + 
 +  
 +; ---------------------- 
 +; THE <b><font color=#333388>'CHK-FULL'</font></b> ROUTINE 
 +; ---------------------- 
 +
 +  
 +<a name="L1264"></a>;; <b>CHK-FULL</b> 
 +L1264:  LD      L,(IX+$1A) 
 +        LD      H,(IX+$1B) 
 +        LD      B,$20 
 +  
 +<a name="L126C"></a>;; <b>NXT-B-MAP</b> 
 +L126C:  LD      A,(HL) 
 +        CP      $FF 
 +        RET     NZ 
 + 
 +        INC     HL 
 +        DJNZ    <A href="#L126C">L126C</a>           ; back to NXT-B-MAP 
 +  
 +        XOR     A 
 +        RET      
 + 
 +  
 +; ---------------------- 
 +; THE <b><font color=#333388>'SEND-BLK'</font></b> ROUTINE 
 +; ---------------------- 
 +
 +  
 +<a name="L1275"></a>;; <b>SEND-BLK</b> 
 +L1275:  PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0037 
 +        ADD     HL,DE 
 +        PUSH    HL 
 +  
 +<a name="L127D"></a>;; <b>FAILED</b> 
 +L127D:  CALL    <A href="#L12C4">L12C4</a>           ; routine GET-M-RD2 
 +        CALL    <A href="#L12DF">L12DF</a>           ; routine CHECK-MAP 
 +        JR      NZ,<A href="#L127D">L127D</a>        ; back to FAILED 
 +  
 +        EX      (SP),HL 
 +        PUSH    BC 
 +        IN      A,($EF) 
 +        AND     $01 
 +        JR      NZ,<A href="#L128F">L128F</a>        ; forward to NO-PRT 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $0E 
 + 
 +  
 +<a name="L128F"></a>;; <b>NO-PRT</b> 
 +L128F:  LD      A,$E6 
 +        OUT     ($EF),
 +        LD      BC,$0168 
 +        CALL    <A href="#L18FA">L18FA</a>           ; routine DELAY-BC 
 +        CALL    <A href="#L1878">L1878</a>           ; routine OUT-H-BUF 
 +        LD      A,$EE 
 +        OUT     ($EF),
 +        POP     BC 
 +        POP     HL 
 +        LD      A,B 
 +        OR      (HL) 
 +        LD      (HL),A 
 +        RET      
 + 
 +  
 +; ------------------------ 
 +; THE <b><font color=#333388>'CLOSE FILE'</font></b> ROUTINE 
 +; ------------------------ 
 +
 +  
 +<a name="L12A6"></a>;; <b>CLOSE-M</b> 
 +L12A6:  PUSH    HL 
 +        POP     IX 
 +  
 +<a name="L12A9"></a>;; <b>CLOSE-M2</b> 
 +L12A9:  BIT     0,(IX+$18) 
 +        JR      Z,<A href="#L12B6">L12B6</a>         ; forward to NOEMP 
 +  
 +        SET     1,(IX+$43) 
 +        CALL    <A href="#L11FF">L11FF</a>           ; routine WR-RECD 
 +  
 +<a name="L12B6"></a>;; <b>NOEMP</b> 
 +L12B6:  XOR     A 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        CALL    <A href="#L10C4">L10C4</a>           ; routine DEL-M-BUF 
 +        RET      
 + 
 +  
 +; -------------------- 
 +; THE <b><font color=#333388>'ERR-RS'</font></b> ROUTINE 
 +; -------------------- 
 +
 +  
 +<a name="L12BE"></a>;; <b>ERR-RS</b> 
 +L12BE:  POP     HL 
 +        LD      A,(HL) 
 +        LD      ($5C3A),      ; sv ERR_NR 
 +        RST     28H             ; romerr 
 +  
 +; ------------------------------------------ 
 +; THE <b><font color=#333388>'FETCH HEADER FROM MICRODRIVE'</font></b> ROUTINE 
 +; ------------------------------------------ 
 +
 +  
 +<a name="L12C4"></a>;; <b>GET-M-RD2</b> 
 +L12C4:  PUSH    IX 
 +        POP     HL 
 +        LD      DE,L0028 
 +        ADD     HL,DE 
 +        CALL    <A href="#L18A3">L18A3</a>           ; routine GET-M-HD 
 +        CALL    <A href="#L1341">L1341</a>           ; routine CHKS-HD-R 
 +        JR      NZ,<A href="#L12C4">L12C4</a>        ; back to GET-M-RD2 
 +  
 +        BIT     0,(IX+$28) 
 +        JR      Z,<A href="#L12C4">L12C4</a>         ; back to GET-M-RD2 
 +  
 +        RET      
 + 
 +  
 +; --------------------------------- 
 +; THE <b><font color=#333388>'CHECK MAP BIT STATE'</font></b> ROUTINE 
 +; --------------------------------- 
 +
 +  
 +<a name="L12DA"></a>;; <b>CHK-MAP-2</b> 
 +L12DA:  LD      E,(IX+$44) 
 +        JR      <A href="#L12E2">L12E2</a>           ; forward to ENTRY 
 +  
 +  
 +<a name="L12DF"></a>;; <b>CHECK-MAP</b> 
 +L12DF:  LD      E,(IX+$29) 
 +  
 +<a name="L12E2"></a>;; <b>ENTRY</b> 
 +L12E2:  LD      L,(IX+$1A) 
 +        LD      H,(IX+$1B) 
 +  
 +<a name="L12E8"></a>;; <b>ENTRY-2</b> 
 +L12E8:  XOR     A 
 +        LD      D,A 
 +        LD      A,E 
 +        AND     $07 
 +        SRL     E 
 +        SRL     E 
 +        SRL     E 
 +        ADD     HL,DE 
 +        LD      B,A 
 +        INC     B 
 +        XOR     A 
 +        SCF      
 +  
 +<a name="L12F8"></a>;; <b>ROTATE</b> 
 +L12F8:  RLA      
 +        DJNZ    <A href="#L12F8">L12F8</a>           ; back to ROTATE 
 +  
 +        LD      B,A 
 +        AND     (HL) 
 +        RET      
 + 
 +  
 +; ----------------------------------- 
 +; THE <b><font color=#333388>'RESET BIT IN MAP AREA'</font></b> ROUTINE 
 +; ----------------------------------- 
 +
 +  
 +<a name="L12FE"></a>;; <b>RES-B-HAP</b> 
 +L12FE:  CALL    <A href="#L12DF">L12DF</a>           ; routine CHECK-MAP 
 +        LD      A,B 
 +        CPL      
 +        AND     (HL) 
 +        LD      (HL),A 
 +        RET      
 + 
 +  
 +; ------------------------------------------ 
 +; THE <b><font color=#333388>'CHECK '</font></b>PSEUDO-MAP' BIT STATE' ROUTINE 
 +; ------------------------------------------ 
 +
 +  
 +<a name="L1306"></a>;; <b>TEST-PHAP</b> 
 +L1306:  PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0052 
 +        ADD     HL,DE 
 +        LD      E,(IX+$29) 
 +        JR      <A href="#L12E8">L12E8</a>           ; back to ENTRY-2 
 +  
 +  
 +; ------------------------------------- 
 +; THE <b><font color=#333388>'DECREASE SECTOR COUNTER'</font></b> ROUTINE 
 +; ------------------------------------- 
 +
 +  
 +<a name="L1312"></a>;; <b>DEC-SECT</b> 
 +L1312:  LD      BC,($5CC9)      ; sv SECTOR 
 +        DEC     BC 
 +        LD      ($5CC9),BC      ; sv SECTOR 
 +        LD      A,B 
 +        OR      C 
 +        RET      
 + 
 +  
 +; ------------------------ 
 +; THE <b><font color=#333388>'CHECK-NAME'</font></b> ROUTINE 
 +; ------------------------ 
 +
 +  
 +<a name="L131E"></a>;; <b>CHK-NAME</b> 
 +L131E:  PUSH    IX 
 +        LD      B,$0A 
 +  
 +<a name="L1322"></a>;; <b>ALL-CHARS</b> 
 +L1322:  LD      A,(HL) 
 +        CP      (IX+$0E) 
 +        JR      NZ,<A href="#L133E">L133E</a>        ; forward to CHKNAM-END 
 +  
 +        INC     HL 
 +        INC     IX 
 +        DEC     B 
 +        DEC     C 
 +        JR      NZ,<A href="#L1322">L1322</a>        ; back to ALL-CHARS 
 +  
 +        LD      A,B 
 +        OR      A 
 +        JR      Z,<A href="#L133E">L133E</a>         ; forward to CHKNAM-END 
 +  
 +  
 +<a name="L1333"></a>;; <b>ALLCHR-2</b> 
 +L1333:  LD      A,(IX+$0E) 
 +        CP      $20 
 +        JR      NZ,<A href="#L133E">L133E</a>        ; forward to CHKNAM-END 
 +  
 +        INC     IX 
 +        DJNZ    <A href="#L1333">L1333</a>           ; back to ALLCHR-2 
 +  
 +  
 +<a name="L133E"></a>;; <b>CHKNAM-END</b> 
 +L133E:  POP     IX 
 +        RET      
 + 
 +  
 +; ----------------------------------------- 
 +; THE <b><font color=#333388>'CALCULATE/COMPARE CHECKSUMS'</font></b> ROUTINE 
 +; ----------------------------------------- 
 +
 +  
 +<a name="L1341"></a>;; <b>CHKS-HD-R</b> 
 +L1341:  LD      BC,$000E 
 +        JR      <A href="#L1349">L1349</a>           ; forward to CNKS-ALL 
 +  
 +  
 +<a name="L1346"></a>;; <b>CHKS-BUFF</b> 
 +L1346:  LD      BC,$0200 
 +  
 +<a name="L1349"></a>;; <b>CNKS-ALL</b> 
 +L1349:  PUSH    HL 
 +        LD      E,$00 
 +  
 +<a name="L134C"></a>;; <b>NXT-BYTE</b> 
 +L134C:  LD      A,E 
 +        ADD     A,(HL) 
 +        INC     HL 
 +        ADC     A,$01 
 +        JR      Z,<A href="#L1354">L1354</a>         ; forward to STCHK 
 +  
 +        DEC     A 
 +  
 +<a name="L1354"></a>;; <b>STCHK</b> 
 +L1354:  LD      E,A 
 +        DEC     BC 
 +        LD      A,B 
 +        OR      C 
 +        JR      NZ,<A href="#L134C">L134C</a>        ; back to NXT-BYTE 
 +  
 +        LD      A,E 
 +        CP      (HL) 
 +        LD      (HL),A 
 +        POP     HL 
 +        RET      
 + 
 +  
 +; --------------------------------- 
 +; THE <b><font color=#333388>'RESTORE STREAM DATA'</font></b> ROUTINE 
 +; --------------------------------- 
 +
 +  
 +<a name="L135F"></a>;; <b>RE-ST-STRM</b> 
 +L135F:  PUSH    HL 
 +        LD      A,$10 
 +        LD      HL,$5C16        ; sv STRMS_00 
 +  
 +<a name="L1365"></a>;; <b>NXT-STRM</b> 
 +L1365:  LD      ($5C5F),HL      ; sv X_PTR 
 +        LD      E,(HL) 
 +        INC     HL 
 +        LD      D,(HL) 
 +        POP     HL 
 +        PUSH    HL 
 +        OR      A 
 +        SBC     HL,DE 
 +        JR      NZ,<A href="#L1377">L1377</a>        ; forward to NOTRIGHT 
 +  
 +        LD      DE,L0000 
 +        JR      <A href="#L137E">L137E</a>           ; forward to STO-DISP 
 +  
 +  
 +<a name="L1377"></a>;; <b>NOTRIGHT</b> 
 +L1377:  JR      NC,<A href="#L1384">L1384</a>        ; forward to UPD-POINT 
 +  
 +        EX      DE,HL 
 +        OR      A 
 +        SBC     HL,BC 
 +        EX      DE,HL 
 +  
 +<a name="L137E"></a>;; <b>STO-DISP</b> 
 +L137E:  LD      HL,($5C5F)      ; sv X_PTR 
 +        LD      (HL),E 
 +        INC     HL 
 +        LD      (HL),D 
 +  
 +<a name="L1384"></a>;; <b>UPD-POINT</b> 
 +L1384:  LD      HL,($5C5F)      ; sv X_PTR 
 +        INC     HL 
 +        INC     HL 
 +        DEC     A 
 +        JR      NZ,<A href="#L1365">L1365</a>        ; back to NXT-STRM 
 +  
 +        LD      ($5C5F),      ; sv X_PTR 
 +        POP     HL 
 +        RET      
 + 
 +  
 +; ----------------------------------- 
 +; THE <b><font color=#333388>'RESTORE MAP ADDRESSES'</font></b> ROUTINE 
 +; ----------------------------------- 
 +
 +  
 +<a name="L1391"></a>;; <b>REST-MAP</b> 
 +L1391:  LD      BC,L0020 
 +        LD      IX,($5C4F)      ; sv CHANS 
 +        LD      DE,$0014 
 +        ADD     IX,DE 
 +  
 +<a name="L139D"></a>;; <b>LCHAN</b> 
 +L139D:  LD      A,(IX+$00) 
 +        CP      $80 
 +        RET     Z 
 + 
 +        PUSH    HL 
 +        LD      A,(IX+$04) 
 +        AND     $7F 
 +        CP      $4D 
 +        JR      NZ,<A href="#L13C1">L13C1</a>        ; forward to LPEND 
 +  
 +        LD      E,(IX+$1A) 
 +        LD      D,(IX+$1B) 
 +        SBC     HL,DE 
 +        JR      NC,<A href="#L13C1">L13C1</a>        ; forward to LPEND 
 +  
 +        EX      DE,HL 
 +        OR      A 
 +        SBC     HL,BC 
 +        LD      (IX+$1A),
 +        LD      (IX+$1B),
 +  
 +<a name="L13C1"></a>;; <b>LPEND</b> 
 +L13C1:  POP     HL 
 +        LD      E,(IX+$09) 
 +        LD      D,(IX+$0A) 
 +        ADD     IX,DE 
 +        JR      <A href="#L139D">L139D</a>           ; back to LCHAN 
 +  
 + 
 + 
 +  
 +; ------------------------------ 
 +; THE <b><font color=#333388>'"M" CHANNEL DATA'</font></b> ROUTINE 
 +; ------------------------------ 
 +
 +  
 +<a name="LEND"></a>;; <b></b> 
 +L13CC:  DEFW    $0008           ; main ERROR-1 
 +        DEFW    $0008           ; main ERROR-1 
 +        DEFB    $CD 
 +        DEFW    $11D8           ;  
 +        DEFW    $1122           ; 
 +        DEFW    $0253           ;  
 +        DEFW    $0000           ; 
 +        DEFB    $00 
 +        DEFM    "          "    ; 10 spaces 
 +        DEFB    $FF 
 + 
 + 
 +  
 +; --------------------------- 
 +; THE <b><font color=#333388>'PREAMBLE DATA'</font></b> ROUTINE 
 +; --------------------------- 
 +
 +  
 +<a name="LEND"></a>;; <b></b> 
 +L13E5:  DEFB    $00, $00, $00 
 +        DEFB    $00, $00, $00 
 +        DEFB    $00, $00, $00 
 +        DEFB    $00, $FF, $FF 
 + 
 +  
 +; -------------------------- 
 +; THE <b><font color=#333388>'MOVE COMMAND'</font></b> ROUTINE 
 +; -------------------------- 
 +
 +  
 +<a name="L13F1"></a>;; <b>MOVE</b> 
 +L13F1:  SET     4,(IY+$7C)      ; sv FLAGS_3 
 +        CALL    <A href="#L1455">L1455</a>           ; routine OP-STRM 
 +        LD      HL,($5C4F)      ; sv CHANS 
 +        PUSH    HL 
 +        CALL    <A href="#L14C7">L14C7</a>           ; routine EX-DSTR2 
 +        CALL    <A href="#L1455">L1455</a>           ; routine OP-STRM 
 +        CALL    <A href="#L14C7">L14C7</a>           ; routine EX-DSTR2 
 +        POP     DE 
 +        LD      HL,($5C4F)      ; sv CHANS 
 +        OR      A 
 +        SBC     HL,DE 
 +        LD      DE,($5CDA)      ; sv D_STR1 
 +        ADD     HL,DE 
 +        LD      ($5CDA),HL      ; sv D_STR1 
 +  
 +<a name="L1414"></a>;; <b>M-AGAIN</b> 
 +L1414:  LD      HL,($5CDA)      ; sv D_STR1 
 +        LD      ($5C51),HL      ; sv CURCHL 
 +  
 +<a name="L141A"></a>;; <b>I-AGAIN</b> 
 +L141A:  RST     10H             ; CALBAS 
 +        DEFW    $15E6           ; main INPUT-AD 
 +        JR      C,<A href="#L1423">L1423</a>         ; forward to MOVE-OUT 
 +  
 +        JR      Z,<A href="#L141A">L141A</a>         ; back to I-AGAIN 
 +  
 +        JR      <A href="#L142E">L142E</a>           ; forward to MOVE-EOF 
 +  
 +  
 +<a name="L1423"></a>;; <b>MOVE-OUT</b> 
 +L1423:  LD      HL,($5CE2)      ; sv D_STR2 
 +        LD      ($5C51),HL      ; sv CURCHL 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0010           ; main PRINT-A 
 +        JR      <A href="#L1414">L1414</a>           ; back to M-AGAIN 
 +  
 +  
 +<a name="L142E"></a>;; <b>MOVE-EOF</b> 
 +L142E:  RES     4,(IY+$7C)      ; sv FLAGS_3 
 +        LD      HL,($5C4F)      ; sv CHANS 
 +        PUSH    HL 
 +        CALL    <A href="#L14C7">L14C7</a>           ; routine EX-DSTR2 
 +        CALL    <A href="#L14A4">L14A4</a>           ; routine CL-CHAN 
 +        CALL    <A href="#L14C7">L14C7</a>           ; routine EX-DSTR2 
 +        POP     DE 
 +        LD      HL,($5C4F)      ; sv CHANS 
 +        OR      A 
 +        SBC     HL,DE 
 +        LD      DE,($5CDA)      ; sv D_STR1 
 +        ADD     HL,DE 
 +        LD      ($5CDA),HL      ; sv D_STR1 
 +        CALL    <A href="#L14A4">L14A4</a>           ; routine CL-CHAN 
 +        CALL    <A href="#L17B9">L17B9</a>           ; routine RCL-T-CH 
 +        RET      
 + 
 +  
 +; --------------------------------------------- 
 +; THE <b><font color=#333388>'USE STREAM OR TEMPORARY CHANNEL'</font></b> ROUTINE 
 +; --------------------------------------------- 
 +
 +  
 +<a name="L1455"></a>;; <b>OP-STRM</b> 
 +L1455:  LD      A,($5CD8)       ; sv D_STR1 
 +        INC     A 
 +        JR      Z,<A href="#L1466">L1466</a>         ; forward to OP-CHAN 
 +  
 +        DEC     A 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1601           ; main CHAN-OPEN 
 +        LD      HL,($5C51)      ; sv CURCHL 
 +        LD      ($5CDA),HL      ; sv D_STR1 
 +        RET      
 + 
 +  
 +<a name="L1466"></a>;; <b>OP-CHAN</b> 
 +L1466:  LD      A,($5CD9)       ; sv D_STR1 
 +        CP      $4D 
 +        JR      NZ,<A href="#L147F">L147F</a>        ; forward to CHECK-N 
 +  
 +        CALL    <A href="#L1B29">L1B29</a>           ; routine OP-TEMP-M 
 +        XOR     A 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        LD      ($5CDA),IX      ; sv D_STR1 
 +        BIT     2,(IX+$43) 
 +        RET     Z 
 + 
 +        RST     20H             ; sh_err 
 +        DEFB    $16 
 + 
 +  
 +<a name="L147F"></a>;; <b>CHECK-N</b> 
 +L147F:  CP      $4E 
 +        JR      NZ,<A href="#L148B">L148B</a>        ; forward to CHECK-R 
 +  
 +        CALL    <A href="#L0EA9">L0EA9</a>           ; routine OP-TEMP-N 
 +        LD      ($5CDA),IX      ; sv D_STR1 
 +        RET      
 + 
 +  
 +<a name="L148B"></a>;; <b>CHECK-R</b> 
 +L148B:  CP      $54 
 +        JR      Z,<A href="#L1495">L1495</a>         ; forward to USE-R 
 +  
 +        CP      $42 
 +        JR      Z,<A href="#L1495">L1495</a>         ; forward to USE-R 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $00 
 + 
 +  
 +<a name="L1495"></a>;; <b>USE-R</b> 
 +L1495:  CALL    <A href="#L0B13">L0B13</a>           ; routine OP-RS-CH 
 +        LD      ($5CDA),DE      ; sv D_STR1 
 +        PUSH    DE 
 +        POP     IX 
 +        SET     7,(IX+$04) 
 +        RET      
 + 
 +  
 +; ---------------------------------- 
 +; THE <b><font color=#333388>'CLOSE '</font></b>MOVE' CHANNEL' ROUTINE 
 +; ---------------------------------- 
 +
 +  
 +<a name="L14A4"></a>;; <b>CL-CHAN</b> 
 +L14A4:  LD      A,($5CD8)       ; sv D_STR1 
 +        INC     A 
 +        RET     NZ 
 + 
 +        LD      A,($5CD9)       ; sv D_STR1 
 +        CP      $4D 
 +        JR      NZ,<A href="#L14B8">L14B8</a>        ; forward to CL-CHK-N 
 +  
 +        LD      IX,($5CDA)      ; sv D_STR1 
 +        CALL    <A href="#L12A9">L12A9</a>           ; routine CLOSE-M2 
 +        RET      
 + 
 +  
 +<a name="L14B8"></a>;; <b>CL-CHK-N</b> 
 +L14B8:  CP      $4E 
 +        RET     NZ 
 + 
 +        LD      IX,($5CDA)      ; sv D_STR1 
 +        LD      ($5C51),IX      ; sv CURCHL 
 +        CALL    <A href="#L0EF5">L0EF5</a>           ; routine SEND-NEOF 
 +        RET      
 + 
 +  
 +; ---------------------------------------------- 
 +; THE <b><font color=#333388>'EXCHANGE DSTRI AND STR2 CONTENTS'</font></b> ROUTINE 
 +; ---------------------------------------------- 
 +
 +  
 +<a name="L14C7"></a>;; <b>EX-DSTR2</b> 
 +L14C7:  LD      DE,$5CD6        ; sv D_STR1 
 +        LD      HL,$5CDE        ; sv D_STR2 
 +        LD      B,$08 
 +  
 +<a name="L14CF"></a>;; <b>ALL-BYT-2</b> 
 +L14CF:  LD      A,(DE) 
 +        LD      C,(HL) 
 +        EX      DE,HL 
 +        LD      (HL),C 
 +        LD      (DE),A 
 +        EX      DE,HL 
 +        INC     HL 
 +        INC     DE 
 +        DJNZ    <A href="#L14CF">L14CF</a>           ; back to ALL-BYT-2 
 +  
 +        RET      
 + 
 +  
 +; --------------------------------------------- 
 +; THE <b><font color=#333388>'SAVE DATA BLOCK INTO MICRODRIVE'</font></b> ROUTINE 
 +; --------------------------------------------- 
 +
 +  
 +<a name="L14DA"></a>;; <b>SA-DRIVE</b> 
 +L14DA:  LD      A,($5CD6)       ; sv D_STR1 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        IN      A,($EF) 
 +        AND     $01 
 +        JR      NZ,<A href="#L14E8">L14E8</a>        ; forward to START-SA 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $0E 
 + 
 +  
 +<a name="L14E8"></a>;; <b>START-SA</b> 
 +L14E8:  LD      HL,($5CE9)      ; sv HD_0D 
 +        LD      ($5CE4),HL      ; sv D_STR2 
 +        CALL    <A href="#L1B29">L1B29</a>           ; routine OP-TEMP-M 
 +        BIT     0,(IX+$18) 
 +        JR      NZ,<A href="#L14FC">L14FC</a>        ; forward to NEW-NAME 
 +  
 +        CALL    <A href="#L12A9">L12A9</a>           ; routine CLOSE-M2 
 +        RST     20H             ; sh_err 
 +        DEFB    $0C 
 +  
 +<a name="L14FC"></a>;; <b>NEW-NAME</b> 
 +L14FC:  SET     2,(IX+$43) 
 +        LD      A,(IX+$19) 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0052 
 +        ADD     HL,DE 
 +        EX      DE,HL 
 +        LD      HL,$5CE6        ; sv HD_00 
 +        LD      BC,$0009 
 +        LD      (IX+$0B),
 +        LDIR     
 +        PUSH    DE 
 +        LD      HL,$0009 
 +        LD      BC,($5CE7)      ; sv HD_0B 
 +        ADD     HL,BC 
 +        SRL     H 
 +        INC     H 
 +        PUSH    HL 
 +        CALL    <A href="#L1D38">L1D38</a>           ; routine FREESECT 
 +        POP     HL 
 +        LD      A,E 
 +        CP      H 
 +        JR      NC,<A href="#L1530">L1530</a>        ; forward to SA-DRI-2 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $0F 
 +  
 +<a name="L1530"></a>;; <b>SA-DRI-2</b> 
 +L1530:  POP     DE 
 +        LD      HL,($5CE4)      ; sv D_STR2 
 +        LD      BC,($5CE7)      ; sv HD_0B 
 +  
 +<a name="L1538"></a>;; <b>SA-DRI-3</b> 
 +L1538:  LD      A,B 
 +        OR      C 
 +        JR      Z,<A href="#L155E">L155E</a>         ; forward to SA-DRI-4 
 +  
 +        LD      A,(IX+$0C) 
 +        CP      $02 
 +        JR      NZ,<A href="#L1552">L1552</a>        ; forward to SA-DRI-WR 
 +  
 +        PUSH    HL 
 +        PUSH    BC 
 +        CALL    <A href="#L120D">L120D</a>           ; routine WRITE-PRC 
 +        POP     BC 
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0052 
 +        ADD     HL,DE 
 +        EX      DE,HL 
 +        POP     HL 
 +  
 +<a name="L1552"></a>;; <b>SA-DRI-WR</b> 
 +L1552:  LDI      
 +        INC     (IX+$0B) 
 +        JR      NZ,<A href="#L1538">L1538</a>        ; back to SA-DRI-3 
 +  
 +        INC     (IX+$0C) 
 +        JR      <A href="#L1538">L1538</a>           ; back to SA-DRI-3 
 +  
 +  
 +<a name="L155E"></a>;; <b>SA-DRI-4</b> 
 +L155E:  SET     1,(IX+$43) 
 +        CALL    <A href="#L120D">L120D</a>           ; routine WRITE-PRC 
 +        LD      A,($5CEF)       ; sv COPIES 
 +        DEC     A 
 +        JR      Z,<A href="#L1579">L1579</a>         ; forward to END-SA-DR 
 +  
 +        LD      ($5CEF),      ; sv COPIES 
 +        RES     1,(IX+$43) 
 +        LD      A,$00 
 +        LD      (IX+$0D),
 +        JR      <A href="#L14FC">L14FC</a>           ; back to NEW-NAME 
 +  
 +  
 +<a name="L1579"></a>;; <b>END-SA-DR</b> 
 +L1579:  XOR     A 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        JP      <A href="#L10C4">L10C4</a>           ; jump to DEL-M-BUF 
 +  
 +; ---------------------------------------------------- 
 +; THE <b><font color=#333388>'GET HEADER INFORMATION FROM MICRODRIVE'</font></b> ROUTINE 
 +; ---------------------------------------------------- 
 +
 +  
 +<a name="L1580"></a>;; <b>F-M-HM</b> 
 +L1580:  LD      HL,($5CE1)      ; sv D_STR2 
 +        LD      ($5CE4),HL      ; sv D_STR2 
 +        CALL    <A href="#L1B29">L1B29</a>           ; routine OP-TEMP-M 
 +        BIT     0,(IX+$18) 
 +        JR      Z,<A href="#L1591">L1591</a>         ; forward to F-HD-2 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $11 
 + 
 +  
 +<a name="L1591"></a>;; <b>F-HD-2</b> 
 +L1591:  BIT     2,(IX+$43)      ; 
 +        JR      NZ,<A href="#L1599">L1599</a>        ; forward to F-HD-3 
 +  
 + 
 +        RST     20H             ; sh_err 
 +        DEFB    $16 
 +  
 +<a name="L1599"></a>;; <b>F-HD-3</b> 
 +L1599:  PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0052 
 +        ADD     HL,DE 
 +        LD      DE,$5CE6        ; sv HD_00 
 +        LD      BC,$0009 
 +        LDIR     
 +        RET      
 + 
 +  
 +; -------------------------------------------------- 
 +; THE <b><font color=#333388>'LOAD OR VERIFY BLOCK FROM MICRODRIVE'</font></b> ROUTINE 
 +; -------------------------------------------------- 
 +
 +  
 +<a name="L15A9"></a>;; <b>LV-MCH</b> 
 +L15A9:  LD      ($5CE9),HL      ; sv HD_0D 
 +        LD      E,(IX+$53) 
 +        LD      D,(IX+$54) 
 +        LD      HL,L0008 
 +        ADD     HL,DE 
 +        SRL     H 
 +        INC     H 
 +        LD      A,H 
 +        LD      ($5CE7),      ; sv HD_0B 
 +        CALL    <A href="#L1613">L1613</a>           ; routine SA-MAP 
 +        LD      DE,$0009 
 +        LD      L,(IX+$45) 
 +        LD      H,(IX+$46) 
 +        OR      A 
 +        SBC     HL,DE 
 +        LD      (IX+$45),
 +        LD      (IX+$46),
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$005B 
 +        ADD     HL,DE 
 +        LD      DE,($5CE9)      ; sv HD_0D 
 +        JR      <A href="#L15F9">L15F9</a>           ; forward to LOOK-MAP 
 +  
 +  
 +<a name="L15DF"></a>;; <b>USE-REC</b> 
 +L15DF:  CALL    <A href="#L166C">L166C</a>           ; routine F-REC2 
 +        LD      A,(IX+$44) 
 +        OR      A 
 +        JR      Z,<A href="#L15DF">L15DF</a>         ; back to USE-REC 
 +  
 +        RLA      
 +        DEC     A 
 +        LD      D,A 
 +        LD      E,$F7 
 +        LD      HL,($5CE9)      ; sv HD_0D 
 +        ADD     HL,DE 
 +        EX      DE,HL 
 +        PUSH    IX 
 +        POP     HL 
 +        LD      BC,$0052 
 +        ADD     HL,BC 
 +  
 +<a name="L15F9"></a>;; <b>LOOK-MAP</b> 
 +L15F9:  EXX      
 +        CALL    <A href="#L12DA">L12DA</a>           ; routine CHK-MAP-2 
 +        JR      NZ,<A href="#L15DF">L15DF</a>        ; back to USE-REC 
 +  
 +        LD      A,(HL) 
 +        OR      B 
 +        LD      (HL),A 
 +        EXX      
 +        CALL    <A href="#L1648">L1648</a>           ; routine LD-VE-M 
 +        LD      A,($5CE7)       ; sv HD_0B 
 +        DEC     A 
 +        LD      ($5CE7),      ; sv HD_0B 
 +        JR      NZ,<A href="#L15DF">L15DF</a>        ; back to USE-REC 
 +  
 +        CALL    <A href="#L162D">L162D</a>           ; routine RE-MAP 
 +        RET      
 + 
 +  
 +; ------------------------------------------ 
 +; THE <b><font color=#333388>'SAVE MICRODRIVE MAP CONTENTS'</font></b> ROUTINE 
 +; ------------------------------------------ 
 +
 +  
 +<a name="L1613"></a>;; <b>SA-MAP</b> 
 +L1613:  POP     HL 
 +        LD      ($5CC9),HL      ; sv SECTOR 
 +        LD      L,(IX+$1A) 
 +        LD      H,(IX+$1B) 
 +        LD      BC,$1000 
 +  
 +<a name="L1620"></a>;; <b>SA-HAP-LP</b> 
 +L1620:  LD      E,(HL) 
 +        LD      (HL),C 
 +        INC     HL 
 +        LD      D,(HL) 
 +        LD      (HL),C 
 +        INC     HL 
 +        PUSH    DE 
 +        DJNZ    <A href="#L1620">L1620</a>           ; back to SA-HAP-LP 
 +  
 +        LD      HL,($5CC9)      ; sv SECTOR 
 +        JP      (HL) 
 +  
 +; --------------------------------------------- 
 +; THE <b><font color=#333388>'RESTORE MICRODRIVE MAP CONTENTS'</font></b> ROUTINE 
 +; --------------------------------------------- 
 +
 +  
 +<a name="L162D"></a>;; <b>RE-MAP</b> 
 +L162D:  POP     HL 
 +        LD      ($5CC9),HL      ; sv SECTOR 
 +        LD      L,(IX+$1A) 
 +        LD      H,(IX+$1B) 
 +        LD      DE,$001F 
 +        ADD     HL,DE 
 +        LD      B,$10 
 +  
 +<a name="L163D"></a>;; <b>RE-MAP-LP</b> 
 +L163D:  POP     DE 
 +        LD      (HL),D 
 +        DEC     HL 
 +        LD      (HL),E 
 +        DEC     HL 
 +        DJNZ    <A href="#L163D">L163D</a>           ; back to RE-MAP-LP 
 +  
 +        LD      HL,($5CC9)      ; sv SECTOR 
 +        JP      (HL) 
 +  
 +; --------------------- 
 +; THE <b><font color=#333388>'LD-VE-M'</font></b> ROUTINE 
 +; --------------------- 
 +
 +  
 +<a name="L1648"></a>;; <b>LD-VE-M</b> 
 +L1648:  LD      C,(IX+$45) 
 +        LD      B,(IX+$46) 
 +        LD      A,($5CB6)       ; sv FLAGS_3 
 +        BIT     7,A 
 +        JR      NZ,<A href="#L1658">L1658</a>        ; forward to VE-M-E 
 +  
 +        LDIR     
 +        RET      
 + 
 +  
 +<a name="L1658"></a>;; <b>VE-M-E</b> 
 +L1658:  LD      A,(DE) 
 +        CP      (HL) 
 +        JR      NZ,<A href="#L1664">L1664</a>        ; forward to VE-FAIL 
 +  
 +        INC     HL 
 +        INC     DE 
 +        DEC     BC 
 +        LD      A,B 
 +        OR      C 
 +        JR      NZ,<A href="#L1658">L1658</a>        ; back to VE-M-E 
 +  
 +        RET      
 + 
 +  
 +<a name="L1664"></a>;; <b>VE-FAIL</b> 
 +L1664:  RST     20H             ; sh_err 
 +        DEFB    $15  
 + 
 +  
 +; ------------------------------------------- 
 +; THE <b><font color=#333388>'FETCH RECORD FROM MICRODRIVE.'</font></b> ROUTINE 
 +; ------------------------------------------- 
 +
 +  
 +<a name="L1666"></a>;; <b>F-REC1</b> 
 +L1666:  LD      A,(IX+$19) 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +  
 +<a name="L166C"></a>;; <b>F-REC2</b> 
 +L166C:  LD      BC,$04FB 
 +        LD      ($5CC9),BC      ; sv SECTOR 
 +  
 +<a name="L1673"></a>;; <b>UNTILFIVE</b> 
 +L1673:  CALL    <A href="#L11A5">L11A5</a>           ; routine G-RD-RC 
 +        JR      C,<A href="#L168A">L168A</a>         ; forward to F-ERROR 
 +  
 +        JR      Z,<A href="#L168A">L168A</a>         ; forward to F-ERROR 
 +  
 +        CALL    <A href="#L12DA">L12DA</a>           ; routine CHK-MAP-2 
 +        JR      NZ,<A href="#L168A">L168A</a>        ; forward to F-ERROR 
 +  
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0052 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1346">L1346</a>           ; routine CHKS-BUFF 
 +        RET     Z 
 + 
 +  
 +<a name="L168A"></a>;; <b>F-ERROR</b> 
 +L168A:  CALL    <A href="#L1312">L1312</a>           ; routine DEC-SECT 
 +        JR      NZ,<A href="#L1673">L1673</a>        ; back to UNTILFIVE 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $11 
 + 
 +  
 +; ----------------------------------------- 
 +; THE <b><font color=#333388>'RESTORE ADDRESS OF FILENAME'</font></b> ROUTINE 
 +; ----------------------------------------- 
 +
 +  
 +<a name="L1691"></a>;; <b>REST-N-AD</b> 
 +L1691:  PUSH    HL 
 +        PUSH    HL 
 +        LD      DE,($5CE4)      ; sv D_STR2 
 +        CALL    <A href="#L16AC">L16AC</a>           ; routine TST-PLACE 
 +        LD      ($5CE4),DE      ; sv D_STR2 
 +        POP     HL 
 +        LD      DE,($5CDC)      ; sv D_STR1 
 +        CALL    <A href="#L16AC">L16AC</a>           ; routine TST-PLACE 
 +        LD      ($5CDC),DE      ; sv D_STR1 
 +        POP     HL 
 +        RET      
 + 
 +  
 +<a name="L16AC"></a>;; <b>TST-PLACE</b> 
 +L16AC:  SCF      
 +        SBC     HL,DE 
 +        RET     NC 
 + 
 +        LD      HL,($5C65)      ; sv STKEND 
 +        SBC     HL,DE 
 +        RET     C 
 + 
 +        EX      DE,HL 
 +        ADD     HL,BC 
 +        EX      DE,HL 
 +        RET      
 + 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 + 
 +  
 +; -------------------------- 
 +; THE <b><font color=#333388>'CLOSE STREAM'</font></b> ROUTINE 
 +; -------------------------- 
 +
 +  
 +<a name="L1708"></a>;; <b>CLOSE-CH</b> 
 +L1708:  INC     HL 
 +        RST     30H             ; NEWVARS 
 +        SRL     A 
 +        SUB     $03 
 +        RES     1,(IY+$7C)      ; sv FLAGS_3 
 +        CALL    <A href="#L1718">L1718</a>           ; routine CLOSE 
 +        JP      <A href="#L05C1">L05C1</a>           ; jump to END1 
 +  
 +; --------------------------- 
 +; THE <b><font color=#333388>'CLOSE COMMAND'</font></b> ROUTINE 
 +; --------------------------- 
 +
 +  
 +<a name="L1718"></a>;; <b>CLOSE</b> 
 +L1718:  RST     10H             ; CALBAS 
 +        DEFW    $1727           ; main STR-DATA1 
 +        LD      A,C 
 +        OR      B 
 +        RET     Z 
 + 
 +        PUSH    BC 
 +        PUSH    HL 
 +        LD      HL,($5C4F)      ; sv CHANS 
 +        DEC     HL 
 +        ADD     HL,BC 
 +        EX      (SP),HL 
 +        RST     10H             ; CALBAS 
 +        DEFW    $16EB           ; main CLOSEX 
 +        LD      HL,($5C4F)      ; sv CHANS 
 +        LD      DE,$0014 
 +        ADD     HL,DE 
 +        POP     DE 
 +        SCF      
 +        SBC     HL,DE 
 +        POP     BC 
 +        RET     NC 
 + 
 +        PUSH    BC 
 +        PUSH    DE 
 +        EX      DE,HL 
 +        LD      ($5C51),HL      ; sv CURCHL 
 +        INC     HL 
 +        INC     HL 
 +        INC     HL 
 +        INC     HL 
 +        LD      A,(HL) 
 +        LD      DE,$0005 
 +        ADD     HL,DE 
 +        LD      E,(HL) 
 +        INC     HL 
 +        LD      D,(HL) 
 +        PUSH    DE 
 +        CP      $42 
 +        JR      Z,<A href="#L1751">L1751</a>         ; forward to CL-RS-CH 
 +  
 +        CP      $54 
 +        JR      NZ,<A href="#L175E">L175E</a>        ; forward to CL-N-CH 
 +  
 +  
 +<a name="L1751"></a>;; <b>CL-RS-CH</b> 
 +L1751:  BIT     1,(IY+$7C)      ; sv FLAGS_3 
 +        JR      NZ,<A href="#L177F">L177F</a>        ; forward to RCLM-CH 
 +  
 +        LD      A,$0D 
 +        CALL    <A href="#L0C5A">L0C5A</a>           ; routine BCHAN-OUT 
 +        JR      <A href="#L177F">L177F</a>           ; forward to RCLM-CH 
 +  
 +  
 +<a name="L175E"></a>;; <b>CL-N-CH</b> 
 +L175E:  CP      $4E 
 +        JR      NZ,<A href="#L176D">L176D</a>        ; forward to CL-M-CN 
 +  
 +        BIT     1,(IY+$7C)      ; sv FLAGS_3 
 +        JR      NZ,<A href="#L177F">L177F</a>        ; forward to RCLM-CH 
 +  
 +        CALL    <A href="#L0EF5">L0EF5</a>           ; routine SEND-NEOF 
 +        JR      <A href="#L177F">L177F</a>           ; forward to RCLM-CH 
 +  
 +  
 +<a name="L176D"></a>;; <b>CL-M-CN</b> 
 +L176D:  CP      $4D 
 +        JR      NZ,<A href="#L177F">L177F</a>        ; forward to RCLM-CH 
 +  
 +        POP     DE 
 +        POP     IX 
 +        POP     DE 
 +        BIT     1,(IY+$7C)      ; sv FLAGS_3 
 +        JP      Z,<A href="#L12A9">L12A9</a>         ; jump to CLOSE-M2 
 +        JP      <A href="#L10C4">L10C4</a>           ; jump to DEL-M-BUF 
 +  
 +<a name="L177F"></a>;; <b>RCLM-CH</b> 
 +L177F:  POP     BC 
 +        POP     HL 
 +        PUSH    BC 
 +        RST     10H             ; CALBAS 
 +        DEFW    $19E8           ; main RECLAIM-2 
 +        XOR     A 
 +        LD      HL,$5C16        ; sv STRMS_00 
 +  
 +<a name="L1789"></a>;; <b>UPD-STRM</b> 
 +L1789:  LD      E,(HL) 
 +        INC     HL 
 +        LD      D,(HL) 
 +        DEC     HL 
 +        LD      ($5C5F),HL      ; sv X_PTR 
 +        POP     BC 
 +        POP     HL 
 +        PUSH    HL 
 +        PUSH    BC 
 +        AND     A 
 +        SBC     HL,DE 
 +        JR      NC,<A href="#L17A4">L17A4</a>        ; forward to UPD-NXT-S 
 +  
 +        EX      DE,HL 
 +        AND     A 
 +        SBC     HL,BC 
 +        EX      DE,HL 
 +        LD      HL,($5C5F)      ; sv X_PTR 
 +        LD      (HL),E 
 +        INC     HL 
 +        LD      (HL),D 
 +  
 +<a name="L17A4"></a>;; <b>UPD-NXT-S</b> 
 +L17A4:  LD      HL,($5C5F)      ; sv X_PTR 
 +        INC     HL 
 +        INC     HL 
 +        INC     A 
 +        CP      $10 
 +        JR      C,<A href="#L1789">L1789</a>         ; back to UPD-STRM 
 +  
 +        LD      (IY+$26),$00    ; sv X_PTR_hi 
 +        POP     HL 
 +        POP     HL 
 +        RES     1,(IY+$7C)      ; sv FLAGS_3 
 +        RET      
 + 
 +  
 +; ---------------------------------------- 
 +; THE <b><font color=#333388>'RECLAIM TEMPORARY CHANNELS'</font></b> ROUTINE 
 +; ---------------------------------------- 
 +
 +  
 +<a name="L17B9"></a>;; <b>RCL-T-CH</b> 
 +L17B9:  LD      IX,($5C4F)      ; sv CHANS 
 +        LD      DE,$0014 
 +        ADD     IX,DE 
 +  
 +<a name="L17C2"></a>;; <b>EX-CHANS</b> 
 +L17C2:  LD      A,(IX+$00) 
 +        CP      $80 
 +        JR      NZ,<A href="#L17D2">L17D2</a>        ; forward to CHK-TEMPM 
 +  
 +        LD      A,$EE 
 +        OUT     ($EF),
 +        XOR     A 
 +        JP      <A href="#L17F7">L17F7</a>           ; jump to SEL-DRIVE 
 + 
 +; --- 
 + 
 +        RET      
 + 
 +  
 +<a name="L17D2"></a>;; <b>CHK-TEMPM</b> 
 +L17D2:  LD      A,(IX+$04) 
 +        CP      $CD 
 +        JR      NZ,<A href="#L17DE">L17DE</a>        ; forward to CHK-TEMPN 
 +  
 +        CALL    <A href="#L10C4">L10C4</a>           ; routine DEL-M-BUF 
 +        JR      <A href="#L17B9">L17B9</a>           ; back to RCL-T-CH 
 +  
 +  
 +<a name="L17DE"></a>;; <b>CHK-TEMPN</b> 
 +L17DE:  CP      $CE 
 +        JR      NZ,<A href="#L17ED">L17ED</a>        ; forward to PT-N-CHAN 
 +  
 +        LD      BC,$0114 
 +        PUSH    IX 
 +        POP     HL 
 +        RST     10H             ; CALBAS 
 +        DEFW    $19E8           ; main RECLAIM-2 
 +        JR      <A href="#L17B9">L17B9</a>           ; back to RCL-T-CH 
 +  
 +  
 +<a name="L17ED"></a>;; <b>PT-N-CHAN</b> 
 +L17ED:  LD      E,(IX+$09) 
 +        LD      D,(IX+$0A) 
 +        ADD     IX,DE 
 +        JR      <A href="#L17C2">L17C2</a>           ; back to EX-CHANS 
 +  
 +  
 +; -------------------------------- 
 +; THE <b><font color=#333388>'SELECT DRIVE MOTOR'</font></b> ROUTINE 
 +; -------------------------------- 
 +
 +  
 +<a name="L17F7"></a>;; <b>SEL-DRIVE</b> 
 +L17F7:  PUSH    HL 
 +        CP      $00 
 +        JR      NZ,<A href="#L1802">L1802</a>        ; forward to TURN-ON 
 +  
 +        CALL    <A href="#L182A">L182A</a>           ; routine SW-MOTOR 
 +        EI       
 +        POP     HL 
 +        RET      
 + 
 +  
 +<a name="L1802"></a>;; <b>TURN-ON</b> 
 +L1802:  DI       
 +        CALL    <A href="#L182A">L182A</a>           ; routine SW-MOTOR 
 +        LD      HL,$1388 
 +  
 +<a name="L1809"></a>;; <b>TON-DELAY</b> 
 +L1809:  DEC     HL 
 +        LD      A,H 
 +        OR      L 
 +        JR      NZ,<A href="#L1809">L1809</a>        ; back to TON-DELAY 
 +  
 +        LD      HL,$1388 
 +  
 +<a name="L1811"></a>;; <b>REPTEST</b> 
 +L1811:  LD      B,$06 
 +  
 +<a name="L1813"></a>;; <b>CHK-PRES</b> 
 +L1813:  CALL    <A href="#L18E9">L18E9</a>           ; routine TEST-BRK 
 +        IN      A,($EF) 
 +        AND     $04 
 +        JR      NZ,<A href="#L1820">L1820</a>        ; forward to NOPRES 
 +  
 +        DJNZ    <A href="#L1813">L1813</a>           ; back to CHK-PRES 
 +  
 +        POP     HL 
 +        RET      
 + 
 +  
 +<a name="L1820"></a>;; <b>NOPRES</b> 
 +L1820:  DEC     HL 
 +        LD      A,H 
 +        OR      L 
 +        JR      NZ,<A href="#L1811">L1811</a>        ; back to REPTEST 
 +  
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        RST     20H             ; sh_err 
 +        DEFB    $10 
 + 
 +  
 +<a name="L182A"></a>;; <b>SW-MOTOR</b> 
 +L182A:  PUSH    DE    
 +        LD      DE,$0100 
 +        NEG      
 +        ADD     A,$09 
 +        LD      C,A 
 +        LD      B,$08 
 +  
 +<a name="L1835"></a>;; <b>ALL-MOTRS</b> 
 +L1835:  DEC     C 
 +        JR      NZ,<A href="#L184B">L184B</a>        ; forward to OFF-MOTOR 
 +  
 +        LD      A,D 
 +        OUT     ($F7),
 +        LD      A,$EE 
 +        OUT     ($EF),
 +        CALL    <A href="#L1867">L1867</a>           ; routine DEL-S-1 
 +        LD      A,$EC 
 +        OUT     ($EF),
 +        CALL    <A href="#L1867">L1867</a>           ; routine DEL-S-1 
 +        JR      <A href="#L185C">L185C</a>           ; forward to NXT-MOTOR 
 +  
 +  
 +<a name="L184B"></a>;; <b>OFF-MOTOR</b> 
 +L184B:  LD      A,$EF 
 +        OUT     ($EF),
 +        LD      A,E 
 +        OUT     ($F7),
 +        CALL    <A href="#L1867">L1867</a>           ; routine DEL-S-1 
 +        LD      A,$ED 
 +        OUT     ($EF),
 +        CALL    <A href="#L1867">L1867</a>           ; routine DEL-S-1 
 +  
 +<a name="L185C"></a>;; <b>NXT-MOTOR</b> 
 +L185C:  DJNZ    <A href="#L1835">L1835</a>           ; back to ALL-MOTRS 
 +  
 +        LD      A,D 
 +        OUT     ($F7),
 +        LD      A,$EE 
 +        OUT     ($EF),
 +        POP     DE 
 +        RET      
 + 
 +  
 +; --------------------------------- 
 +; THE <b><font color=#333388>'1 MILLISECOND DELAY'</font></b> ROUTINE 
 +; --------------------------------- 
 +
 +  
 +<a name="L1867"></a>;; <b>DEL-S-1</b> 
 +L1867:  PUSH    BC 
 +        PUSH    AF 
 +        LD      BC,$0087 
 +        CALL    <A href="#L18FA">L18FA</a>           ; routine DELAY-BC 
 +        POP     AF 
 +        POP     BC 
 +        RET      
 + 
 +  
 +; ------------------------------------------------ 
 +; THE <b><font color=#333388>'SEND DATA BLOCK TO MICRODRIVE HEAD'</font></b> ROUTINE 
 +; ------------------------------------------------ 
 +
 +  
 +<a name="L1872"></a>;; <b>OUT-M-HD</b> 
 +L1872:  PUSH    HL 
 +        LD      DE,$001E 
 +        JR      <A href="#L187C">L187C</a>           ; forward to OUT-M-BLK 
 +  
 +  
 +<a name="L1878"></a>;; <b>OUT-H-BUF</b> 
 +L1878:  PUSH    HL 
 +        LD      DE,$021F 
 +  
 +<a name="L187C"></a>;; <b>OUT-M-BLK</b> 
 +L187C:  IN      A,($EF) 
 +        AND     $01 
 +        JR      NZ,<A href="#L1884">L1884</a>        ; forward to NOT-PROT 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $0E 
 + 
 +  
 +<a name="L1884"></a>;; <b>NOT-PROT</b> 
 +L1884   LD      A,($5CC6)       ; sv IOBORD 
 +        OUT     ($FE),
 +        LD      A,$E2 
 +        OUT     ($EF),
 +        INC     D 
 +        LD      A,D 
 +        LD      B,E 
 +        LD      C,$E7 
 +        NOP      
 +        NOP      
 +        NOP      
 +  
 +<a name="L1895"></a>;; <b>OUT-M-BYT</b> 
 +L1895:  OTIR     
 +        DEC     A 
 +        JR      NZ,<A href="#L1895">L1895</a>        ; back to OUT-M-BYT 
 +  
 +        LD      A,$E6 
 +        OUT     ($EF),
 +        CALL    <A href="#L0CA9">L0CA9</a>           ; routine BORD-REST 
 +        POP     HL 
 +        RET      
 + 
 +  
 +; ------------------------------------------------ 
 +; THE <b><font color=#333388>'RECEIVE BLOCK FROM MICRODRIVE HEAD'</font></b> ROUTINE 
 +; ------------------------------------------------ 
 +
 +  
 +<a name="L18A3"></a>;; <b>GET-M-HD</b> 
 +L18A3:  PUSH    HL 
 +        LD      DE,$000F 
 +        JR      <A href="#L18AD">L18AD</a>           ; forward to GET-M-BLK 
 +  
 +  
 +<a name="L18A9"></a>;; <b>GET-M-BUF</b> 
 +L18A9:  PUSH    HL 
 +        LD      DE,$0210 
 +  
 +<a name="L18AD"></a>;; <b>GET-M-BLK</b> 
 +L18AD:  LD      B,E 
 +        LD      C,D 
 +        INC     C 
 +        PUSH    BC 
 +  
 +<a name="L18B1"></a>;; <b>CHK-AGAIN</b> 
 +L18B1:  LD      B,$08 
 +  
 +<a name="L18B3"></a>;; <b>CHKLOOP</b> 
 +L18B3:  CALL    <A href="#L18E9">L18E9</a>           ; routine TEST-BRK 
 +        IN      A,($EF) 
 +        AND     $04 
 +        JR      Z,<A href="#L18B1">L18B1</a>         ; back to CHK-AGAIN 
 +  
 +        DJNZ    <A href="#L18B3">L18B3</a>           ; back to CHKLOOP 
 +  
 +  
 +<a name="L18BE"></a>;; <b>CHK-AC-2</b> 
 +L18BE:  LD      B,$06 
 +  
 +<a name="L18C0"></a>;; <b>CHK-LP-2</b> 
 +L18C0:  CALL    <A href="#L18E9">L18E9</a>           ; routine TEST-BRK 
 +        IN      A,($EF) 
 +        AND     $04 
 +        JR      NZ,<A href="#L18BE">L18BE</a>        ; back to CHK-AC-2 
 +  
 +        DJNZ    <A href="#L18C0">L18C0</a>           ; back to CHK-LP-2 
 +  
 +        POP     BC 
 +        LD      A,$EE 
 +        OUT     ($EF),
 +        POP     HL 
 +        PUSH    HL 
 +  
 +<a name="L18D2"></a>;; <b>DR-READY</b> 
 +L18D2:  IN      A,($EF) 
 +        AND     $02 
 +        JR      NZ,<A href="#L18D2">L18D2</a>        ; back to DR-READY 
 +  
 +        CALL    <A href="#L18E9">L18E9</a>           ; routine TEST-BRK 
 +        LD      A,C 
 +        LD      C,$E7 
 +  
 +<a name="L18DE"></a>;; <b>IN-M-BLK</b> 
 +L18DE:  INIR     
 +        DEC     A 
 +        JR      NZ,<A href="#L18DE">L18DE</a>        ; back to IN-M-BLK 
 +  
 +        LD      A,$EE 
 +        OUT     ($EF),
 +        POP     HL 
 +        RET      
 + 
 +  
 +; ---------------------- 
 +; THE <b><font color=#333388>'TEST-BRK'</font></b> ROUTINE 
 +; ---------------------- 
 +
 +  
 +<a name="L18E9"></a>;; <b>TEST-BRK</b> 
 +L18E9:  LD      A,$7F 
 +        IN      A,($FE) 
 +        RRA      
 +        RET     C 
 + 
 +        LD      A,$FE 
 +        IN      A,($FE) 
 +        RRA      
 +        RET     C 
 + 
 +        LD      (IY+$00),$14    ; sv ERR_NR 
 +        RST     28H             ; romerr 
 +  
 +; ---------------------- 
 +; THE <b><font color=#333388>'DELAY-BC'</font></b> ROUTINE 
 +; ---------------------- 
 +
 +  
 +<a name="L18FA"></a>;; <b>DELAY-BC</b> 
 +L18FA:  PUSH    AF 
 +  
 +<a name="L18FB"></a>;; <b>DELAY-BC1</b> 
 +L18FB:  DEC     BC 
 +        LD      A,B 
 +        OR      C 
 +        JR      NZ,<A href="#L18FB">L18FB</a>        ; back to DELAY-BC1 
 +  
 +        POP     AF 
 +        RET      
 + 
 +  
 +; ------------------------------------------------- 
 +; THE <b><font color=#333388>'32-BIT CYCLICAL REDUNDANCY CHECKSUM'</font></b> ROUTINE  
 +; ------------------------------------------------- 
 +;   This routine calculates and then checks and inserts a CRC-32 checksum 
 +;   in the four bytes following the 512 bytes of data.  There is only one 
 +;   byte allocated for the checksum in production models and this routine 
 +;   was removed from the second Interface 1 ROM. 
 + 
 +<a name="L1902"></a>;; <b>CRC-32</b> 
 +L1902:  PUSH    HL 
 +        PUSH    IX 
 + 
 +        POP     HL 
 +        LD      BC,$0052 
 +        ADD     HL,BC 
 +        LD      B,H             ; BC=&amp;CHDATA 
 +        LD      C,L 
 +        LD      HL,<A href="#L0000">L0000</a>        ; HL=0 
 +        LD      DE,<A href="#L0000">L0000</a>        ; DE=0 
 +        EXX      
 +        LD      BC,$0200        ; BC'=512 
 +        LD      HL,<A href="#L0000">L0000</a>        ; HL'=0 
 +        LD      DE,<A href="#L0000">L0000</a>        ; DE'=0 
 +  
 +<a name="L191C"></a>;; <b>CRC-32a</b> 
 +L191C:  EXX      
 +        LD      A,(BC)          ; Get CHDATA byte 
 +        INC     BC              ; point to next byte 
 +        ADD     A,            ; Accumulate in E 
 +        LD      E,A              
 +        JR      NC,<A href="#L1929">L1929</a>        ; forward to CRC-32b 
 +  
 +        INC                   ; overflow into D 
 +        JR      NZ,<A href="#L1929">L1929</a>        ; forward to CRC-32b 
 +  
 +        EXX                      
 +        INC     DE              ; overflow into DE' 
 +        EXX                      
 +  
 +<a name="L1929"></a>;; <b>CRC-32b</b> 
 +L1929:  ADD     HL,DE           ; accumulate DED'E' in HLH'L' 
 +        EXX      
 +        ADC     HL,DE 
 +        DEC     BC              ; count down 
 +        LD      A,B 
 +        OR      C 
 +        JR      NZ,<A href="#L191C">L191C</a>        ; back to CRC-32a 
 +  
 +        LD      D,E             ; bits 0-7 move to 8-15 
 +        EXX      
 +        LD      A,D             ; copy to A 
 +        LD      E,$00           ; clear bits 0-7 
 +        SLA                   ; move 8-14 to 9-15, 15 to cy 
 +        EXX      
 +        LD      E,A             ; 8-15 to 0-7 
 +        RL      E               ; cy to 0 0-6 to 1-7,7 to cy 
 +        RL      D               ; cy to 8 8-14 to 9-15,15 to cy 
 +        EXX      
 +        ADD     HL,DE           ; accumulate 0-15 in HL 
 +        EXX      
 +        ADC     HL,DE           ; accumulate 16-31 in H'L' 
 +        PUSH    HL              ; save CRC 16-31 
 +        EXX      
 + 
 +        PUSH    HL              ; swap CRC 0-15 w/ CHDATA 
 +        PUSH    BC 
 +        POP     HL 
 +        POP     BC 
 + 
 +        LD      E,$00           ; say data 'Ok' 
 +        LD      A,C 
 +        CP      (HL)            ; test CRC-ll on data 
 +        JR      Z,<A href="#L1952">L1952</a>         ; forward to CRC-32c 
 +  
 +        INC                   ; say data 'corrupted' 
 +        LD      (HL),         ; set correct CRC-ll 
 +  
 +<a name="L1952"></a>;; <b>CRC-32c</b> 
 +L1952:  INC     HL              ; point to high byte 
 +        LD      A,B 
 +        CP      (HL)            ; test CRC-lh on data 
 +        JR      Z,<A href="#L1959">L1959</a>         ; forward to CRC-32d 
 +  
 +        INC                   ; say data 'corrupted' 
 +        LD      (HL),         ; set CRC-lh 
 +  
 +<a name="L1959"></a>;; <b>CRC-32d</b> 
 +<a name="L1959"></a>;; <b>UNKN-5</b> 
 +L1959:  INC     HL 
 +        POP     BC              ; pop CRC 15-31 
 +        LD      A,C 
 +        CP      (HL)            ; test CRC-hl on data 
 +        JR      Z,<A href="#L1961">L1961</a>         ; forward to CRC-32e 
 +  
 +        INC                   ; say data 'corrupted' 
 +        LD      (HL),         ; set CRC-hl 
 +  
 +<a name="L1961"></a>;; <b>CRC-32e</b> 
 +L1961:  INC     HL 
 +        LD      A,B 
 +        CP      (HL)            ; test CRC-hh on data 
 +        JR      Z,<A href="#L1968">L1968</a>         ; forward to CRC-32f 
 +  
 +        INC                   ; say data 'corrupted' 
 +        LD      (HL),         ; set CRC-hh 
 +  
 +<a name="L1968"></a>;; <b>CRC-32f</b> 
 +L1968:  LD      A,E             ;set Z Flag when data OK 
 +        OR      A 
 +        POP     HL 
 +        RET                     ; return. 
 + 
 +  
 +; ------------------------------------------ 
 +; THE <b><font color=#333388>'ENCRYPT/DECRYPT CHANNEL DATA'</font></b> ROUTINE 
 +; ------------------------------------------ 
 +;   This subroutine encrypts the 512 bytes of the microdrive buffer on the  
 +;   first call and decrypyts the contents if they are already encrytped. 
 + 
 +<a name="L196C"></a>;; <b>ENCR-CHDAT</b>  
 +L196C:  PUSH    IX 
 +        POP     HL 
 + 
 +        LD      DE,$0052        ; CHDATA 
 +        ADD     HL,DE           ; set hl to ix+CHDATA 
 +        LD      BC,$0200        ; 512 bytes 
 +  
 +<a name="L1976"></a>;; <b>ENCR-CHD1</b> 
 +L1976:  LD      A,(HL)          ; get a byte 
 + 
 +        XOR     $55             ; smash some bits 
 + 
 +        LD      (HL),         ; set the byte 
 +        INC     HL              ; next byte 
 +        DEC     BC              ; count down 
 +        LD      A,B             ; test for BC=0 
 +        OR      C 
 +        JR      NZ,<A href="#L1976">L1976</a>        ; back to ENCR-CHD1 
 +  
 +        RET                     ; return. 
 + 
 +  
 +; ----------------------- 
 +; THE <b><font color=#333388>'HOOK-CODE'</font></b> ROUTINE 
 +; ----------------------- 
 +
 +  
 +<a name="L1981"></a>;; <b>HOOK-CODE</b> 
 +L1981:  CP      $18 
 +        JR      C,<A href="#L1987">L1987</a>         ; forward to CLR-ERR 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $12     
 +  
 +<a name="L1987"></a>;; <b>CLR-ERR</b> 
 +L1987:  LD      (IY+$00),$FF    ; sv ERR_NR 
 +        SET     2,(IY+$01)      ; sv FLAGS 
 +        INC     HL 
 +        EX      (SP),HL 
 +        PUSH    HL 
 +        ADD     A,A 
 +        LD      D,$00 
 +        LD      E,A 
 +        LD      HL,$19A9 
 +        ADD     HL,DE 
 +        LD      E,(HL) 
 +        INC     HL 
 +        LD      D,(HL) 
 +        POP     AF 
 +        LD      HL,L0700 
 +        PUSH    HL 
 +        EX      DE,HL 
 +        JP      (HL) 
 + 
 +  
 +; --------------------------- 
 +; THE <b><font color=#333388>'HOOK CODE +32'</font></b> ROUTINE 
 +; --------------------------- 
 +
 +  
 +<a name="L19A4"></a>;; <b>HOOK-32</b> 
 +L19A4:  LD      HL,($5CED)      ; sv HD_11 
 +        JP      (HL) 
 + 
 +  
 +; --------------------------- 
 +; THE <b><font color=#333388>'HOOK CODE +31'</font></b> ROUTINE 
 +; --------------------------- 
 +
 +  
 +<a name="L19A8"></a>;; <b>HOOK-31</b> 
 +L19A8:  RET      
 + 
 +  
 +; --------------------------------- 
 +; THE <b><font color=#333388>'HOOK CODE ADDRESSES'</font></b> ROUTINE 
 +; --------------------------------- 
 +
 +  
 +<a name="LEND"></a>;; <b></b> 
 +L19A9:  DEFW    <A href="#L19D9">L19D9</a>           ; CONS-IN 
 +        DEFW    <A href="#L19EC">L19EC</a>           ; 
 +        DEFW    <A href="#L0B81">L0B81</a>           ; 
 +        DEFW    <A href="#L0C5A">L0C5A</a>           ; 
 +        DEFW    <A href="#L19FC">L19FC</a>           ; 
 +        DEFW    <A href="#L1A01">L1A01</a>           ; 
 +        DEFW    <A href="#L17F7">L17F7</a>           ; 
 +        DEFW    <A href="#L1B29">L1B29</a>           ; 
 +        DEFW    <A href="#L12A9">L12A9</a>           ; 
 +        DEFW    <A href="#L1D6E">L1D6E</a>           ; 
 +        DEFW    <A href="#L1A09">L1A09</a>           ; 
 +        DEFW    <A href="#L11FF">L11FF</a>           ; 
 +        DEFW    <A href="#L1A17">L1A17</a>           ; 
 +        DEFW    <A href="#L1A4B">L1A4B</a>           ; 
 +        DEFW    <A href="#L1A86">L1A86</a>           ; 
 +        DEFW    <A href="#L1A91">L1A91</a>           ; 
 +        DEFW    <A href="#L1B29">L1B29</a>           ; 
 +        DEFW    <A href="#L10C4">L10C4</a>           ; 
 +        DEFW    <A href="#L0EA9">L0EA9</a>           ; 
 +        DEFW    <A href="#L1A24">L1A24</a>           ; 
 +        DEFW    <A href="#L1A31">L1A31</a>           ; 
 +        DEFW    <A href="#L0DB2">L0DB2</a>           ; 
 +        DEFW    <A href="#L19A8">L19A8</a>           ; 
 +        DEFW    <A href="#L19A4">L19A4</a>           ; 
 + 
 +  
 +; --------------------------- 
 +; THE <b><font color=#333388>'CONSOLE INPUT'</font></b> ROUTINE 
 +; --------------------------- 
 +
 +  
 +<a name="L19D9"></a>;; <b>CONS-IN</b> 
 +L19D9:  EI       
 +        RES     5,(IY+$01)      ; sv FLAGS 
 +  
 +<a name="L19DE"></a>;; <b>WTKEY</b> 
 +L19DE:  HALT     
 +        RST     10H             ; CALBAS 
 +        DEFW    $02BF           ; main KEYBOARD 
 +        BIT     5,(IY+$01)      ; sv FLAGS 
 +        JR      Z,<A href="#L19DE">L19DE</a>         ; back to WTKEY 
 +  
 +        LD      A,($5C08)       ; sv LASTK 
 +        RET      
 + 
 +  
 +; ---------------------------- 
 +; THE <b><font color=#333388>'CONSOLE OUTPUT'</font></b> ROUTINE 
 +; ---------------------------- 
 +
 +  
 +<a name="L19EC"></a>;; <b>CONS-OUT</b> 
 +L19EC:  PUSH    AF 
 +        LD      A,$FE 
 +  
 +<a name="L19EF"></a>;; <b>OUT-CODE</b> 
 +L19EF:  LD      HL,$5C8C        ; sv SCR_CT 
 +        LD      (HL),$FF 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1601           ; main CHAN-OPEN 
 +        POP     AF 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0010           ; main PRINT-A 
 +        RET      
 + 
 +  
 +; ---------------------------- 
 +; THE <b><font color=#333388>'PRINTER OUTPUT'</font></b> ROUTINE 
 +; ---------------------------- 
 +
 +  
 +<a name="L19FC"></a>;; <b>PRT-OUT</b> 
 +L19FC:  PUSH    AF 
 +        LD      A,$03 
 +        JR      <A href="#L19EF">L19EF</a>           ; back to OUT-CODE 
 +  
 +  
 +; --------------------------- 
 +; THE <b><font color=#333388>'KEYBOARD TEST'</font></b> ROUTINE 
 +; --------------------------- 
 +
 +  
 +<a name="L1A01"></a>;; <b>KBD-TEST</b> 
 +L1A01:  XOR     A 
 +        IN      A,($FE) 
 +        AND     $1F 
 +        SUB     $1F 
 +        RET      
 + 
 +  
 +; ----------------------------- 
 +; THE <b><font color=#333388>'READ SEQUENTIAL'</font></b> ROUTINE 
 +; ----------------------------- 
 +
 +  
 +<a name="L1A09"></a>;; <b>READ-SEQ</b> 
 +L1A09:  BIT     1,(IX+$43) 
 +        JR      Z,<A href="#L1A14">L1A14</a>         ; forward to INCREC 
 +  
 +        LD      (IY+$00),$07    ; sv ERR_NR 
 +        RST     28H             ; romerr 
 +  
 +<a name="L1A14"></a>;; <b>INCREC</b> 
 +L1A14:  INC     (IX+$0D) 
 +  
 +; ------------------------- 
 +; THE <b><font color=#333388>'READ RANDOM'</font></b> ROUTINE 
 +; ------------------------- 
 +
 +  
 +<a name="L1A17"></a>;; <b>RD-RANDOM</b> 
 +L1A17:  CALL    <A href="#L1177">L1177</a>           ; routine GET-RECD 
 +        BIT     2,(IX+$43) 
 +        RET     Z 
 + 
 +        CALL    <A href="#L10C4">L10C4</a>           ; routine DEL-M-BUF 
 +        RST     20H             ; sh_err 
 +        DEFB    $16 
 + 
 +  
 +; ----------------------------------- 
 +; THE <b><font color=#333388>'CLOSE NETWORK CHANNEL'</font></b> ROUTINE 
 +; ----------------------------------- 
 +
 +  
 +<a name="L1A24"></a>;; <b>CLOSE-NET</b> 
 +L1A24:  CALL    $0EF5 
 +        PUSH    IX 
 +        POP     HL 
 +        LD      BC,$0114 
 +        RST     10H             ; CALBAS 
 +        DEFW    $19E8           ; main RECLAIM-2 
 +        RET      
 + 
 +  
 +; ------------------------------------- 
 +; THE <b><font color=#333388>'GET PACKET FROM NETWORK'</font></b> ROUTINE 
 +; ------------------------------------- 
 +
 +  
 +<a name="L1A31"></a>;; <b>GET-PACK</b> 
 +L1A31:  LD      A,($5CC6)       ; sv IOBORD 
 +        OUT     ($FE),
 +        DI       
 +        CALL    <A href="#L0F1E">L0F1E</a>           ; routine WT-SCOUT 
 +        JR      NC,<A href="#L1A46">L1A46</a>        ; forward to GP-ERROR 
 +  
 +        CALL    <A href="#L0E18">L0E18</a>           ; routine GET-NBLK 
 +        JR      NZ,<A href="#L1A46">L1A46</a>        ; forward to GP-ERROR 
 +  
 +        EI       
 +        AND     A 
 +        JP      <A href="#L0CA9">L0CA9</a>           ; jump to BORD-REST 
 +  
 +<a name="L1A46"></a>;; <b>GP-ERROR</b> 
 +L1A46:  SCF      
 +        EI       
 +        JP      <A href="#L0CA9">L0CA9</a>           ; jump to BORD-REST 
 +  
 +; ------------------------- 
 +; THE <b><font color=#333388>'READ SECTOR'</font></b> ROUTINE 
 +; ------------------------- 
 +
 +  
 +<a name="L1A4B"></a>;; <b>RD-SECTOR</b> 
 +L1A4B:  LD      HL,$00F0        ; counts 240 sectors. 
 +        LD      ($5CC9),HL      ; sv SECTOR 
 +  
 +<a name="L1A51"></a>;; <b>NO-GOOD</b> 
 +L1A51:  CALL    <A href="#L12C4">L12C4</a>           ; routine GET-M-RD2 
 +        LD      A,(IX+$29) 
 +        CP      (IX+$0D) 
 +        JR      Z,<A href="#L1A63">L1A63</a>         ; forward to USE-C-RC 
 +  
 +        CALL    <A href="#L1312">L1312</a>           ; routine DEC-SECT 
 +        JR      NZ,<A href="#L1A51">L1A51</a>        ; back to NO-GOOD 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $11 
 +  
 +<a name="L1A63"></a>;; <b>USE-C-RC</b> 
 +L1A63:  PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0043 
 +        ADD     HL,DE 
 +        CALL    <A href="#L18A9">L18A9</a>           ; routine GET-M-BUF 
 +        CALL    <A href="#L1341">L1341</a>           ; routine CHKS-HD-R 
 +        JR      NZ,<A href="#L1A81">L1A81</a>        ; forward to DEL-B-CT 
 +  
 +        LD      DE,$000F 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1346">L1346</a>           ; routine CHKS-BUFF 
 +        JR      NZ,<A href="#L1A81">L1A81</a>        ; forward to DEL-B-CT 
 +  
 +        OR      A 
 +        BIT     2,(IX+$43) 
 +        RET     Z 
 + 
 +  
 +<a name="L1A81"></a>;; <b>DEL-B-CT</b> 
 +L1A81:  CALL    <A href="#L1AE0">L1AE0</a>           ; routine CLR-BUFF 
 +        SCF      
 +        RET      
 + 
 +  
 +; ------------------------------ 
 +; THE <b><font color=#333388>'READ NEXT SECTOR'</font></b> ROUTINE 
 +; ------------------------------ 
 +
 +  
 +<a name="L1A86"></a>;; <b>RD-NEXT</b> 
 +L1A86:  LD      HL,$00F0        ; counts 240 sectors. 
 +        LD      ($5CC9),HL      ; sv SECTOR 
 +        CALL    <A href="#L12C4">L12C4</a>           ; routine GET-M-RD2 
 +        JR      <A href="#L1A63">L1A63</a>           ; back to USE-C-RC 
 +  
 +  
 +; -------------------------- 
 +; THE <b><font color=#333388>'WRITE SECTOR'</font></b> ROUTINE 
 +; -------------------------- 
 +
 +  
 +<a name="L1A91"></a>;; <b>WR-SECTOR</b> 
 +L1A91:  LD      HL,$00F0        ; counts 240 sectors. 
 +        LD      ($5CC9),HL      ; sv SECTOR 
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0037 
 +        ADD     HL,DE 
 +        PUSH    HL 
 +        LD      DE,$000C 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1341">L1341</a>           ; routine CHKS-HD-R 
 +        LD      DE,$000F 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1346">L1346</a>           ; routine CHKS-BUFF 
 +  
 +<a name="L1AAD"></a>;; <b>WR-S-1</b> 
 +L1AAD:  CALL    <A href="#L12C4">L12C4</a>           ; routine GET-M-RD2 
 +        LD      A,(IX+$29) 
 +        CP      (IX+$0D) 
 +        JR      Z,<A href="#L1ABF">L1ABF</a>         ; forward to WR-S-2 
 +  
 +        CALL    <A href="#L1312">L1312</a>           ; routine DEC-SECT 
 +        JR      NZ,<A href="#L1AAD">L1AAD</a>        ; back to WR-S-1 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $11 
 + 
 +  
 +<a name="L1ABF"></a>;; <b>WR-S-2</b> 
 +L1ABF:  IN      A,($EF) 
 +        AND     $01 
 +        JR      NZ,<A href="#L1AC7">L1AC7</a>        ; forward to WR-S-3 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $0E 
 + 
 +  
 +<a name="L1AC7"></a>;; <b>WR-S-3</b> 
 +L1AC7:  LD      A,$E6  
 +        OUT     ($EF),A  
 +        LD      BC,$0168 
 +        CALL    <A href="#L18FA">L18FA</a>           ; routine DELAY-BC 
 +        POP     HL 
 +        CALL    <A href="#L1878">L1878</a>           ; routine OUT-H-BUF 
 +        LD      A,$EE 
 +        OUT     ($EF),
 +        CALL    <A href="#L12DF">L12DF</a>           ; routine CHECK-MAP 
 +        LD      A,B 
 +        OR      (HL) 
 +        LD      (HL),A 
 +        RET      
 + 
 +  
 +; ----------------------------------- 
 +; THE <b><font color=#333388>'CLEAR BUFFER CONTENTS'</font></b> ROUTINE 
 +; ----------------------------------- 
 +
 +  
 +<a name="L1AE0"></a>;; <b>CLR-BUFF</b> 
 +L1AE0:  PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0052 
 +        ADD     HL,DE 
 +        LD      D,H 
 +        LD      E,L 
 +        INC     DE 
 +        LD      BC,$01FF 
 +        LDIR     
 +        RET      
 + 
 +  
 +; ------------------------------------------ 
 +; THE <b><font color=#333388>'OPEN A PERMANENT "M" CHANNEL'</font></b> ROUTINE 
 +; ------------------------------------------ 
 +
 +  
 +<a name="L1AF0"></a>;; <b>OP-M-STRM</b> 
 +L1AF0:  LD      A,($5CD8)       ; sv D_STR1 
 +        ADD     A,A 
 +        LD      HL,$5C16        ; sv STRMS_00 
 +        LD      E,A 
 +        LD      D,$00 
 +        ADD     HL,DE 
 +        PUSH    HL 
 +        CALL    <A href="#L1B29">L1B29</a>           ; routine OP-TEMP-M 
 +        BIT     0,(IX+$18) 
 +        JR      Z,<A href="#L1B0D">L1B0D</a>         ; forward to MAKE-PERM 
 +  
 +        IN      A,($EF) 
 +        AND     $01 
 +        JR      NZ,<A href="#L1B0D">L1B0D</a>        ; forward to MAKE-PERM 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $0E 
 + 
 +  
 +<a name="L1B0D"></a>;; <b>MAKE-PERM</b> 
 +L1B0D:  RES     7,(IX+$04) 
 +        XOR     A 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        BIT     0,(IX+$18) 
 +        JR      NZ,<A href="#L1B23">L1B23</a>        ; forward to STORE-DSP 
 +  
 +        BIT     2,(IX+$43) 
 +        JR      Z,<A href="#L1B23">L1B23</a>         ; forward to STORE-DSP 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $16 
 + 
 +  
 +<a name="L1B23"></a>;; <b>STORE-DSP</b> 
 +L1B23:  EX      DE,HL 
 +        POP     HL 
 +        LD      (HL),E 
 +        INC     HL 
 +        LD      (HL),D 
 +        RET      
 + 
 +  
 +; ------------------------------------------ 
 +; THE <b><font color=#333388>'OPEN A TEMPORARY "M" CHANNEL'</font></b> ROUTINE 
 +; ------------------------------------------ 
 +
 +  
 +<a name="L1B29"></a>;; <b>OP-TEMP-M</b> 
 +L1B29:  CALL    <A href="#L0FE8">L0FE8</a>           ; routine SET-T-MCH 
 +        PUSH    HL 
 +        LD      A,(IX+$19) 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        LD      BC,$00FF 
 +        LD      ($5CC9),BC      ; sv SECTOR 
 +  
 +<a name="L1B3A"></a>;; <b>OP-F-1</b> 
 +L1B3A:  CALL    <A href="#L11A5">L11A5</a>           ; routine G-RD-RC 
 +        JR      C,<A href="#L1B5F">L1B5F</a>         ; forward to OP-P-4 
 +  
 +        JR      Z,<A href="#L1B5C">L1B5C</a>         ; forward to OP-F-3 
 +  
 +        RES     0,(IX+$18) 
 +        LD      A,(IX+$44) 
 +        OR      A 
 +        JR      NZ,<A href="#L1B57">L1B57</a>        ; forward to OP-F-2 
 +  
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0052 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1346">L1346</a>           ; routine CHKS-BUFF 
 +        JR      Z,<A href="#L1B6C">L1B6C</a>         ; forward to OP-F-5 
 +  
 +  
 +<a name="L1B57"></a>;; <b>OP-F-2</b> 
 +L1B57:  CALL    <A href="#L117D">L117D</a>           ; routine GET-R-2 
 +        JR      <A href="#L1B6C">L1B6C</a>           ; forward to OP-F-5 
 +  
 +  
 +<a name="L1B5C"></a>;; <b>OP-F-3</b> 
 +L1B5C:  CALL    <A href="#L12FE">L12FE</a>           ; routine RES-B-HAP 
 +  
 +<a name="L1B5F"></a>;; <b>OP-P-4</b> 
 +L1B5F:  CALL    <A href="#L1312">L1312</a>           ; routine DEC-SECT 
 +        JR      NZ,<A href="#L1B3A">L1B3A</a>        ; back to OP-F-1 
 +  
 +        RES     1,(IX+$43) 
 +        RES     2,(IX+$43) 
 +  
 +<a name="L1B6C"></a>;; <b>OP-F-5</b> 
 +L1B6C:  POP     HL 
 +        RET      
 + 
 +  
 +; -------------------------------- 
 +; THE <b><font color=#333388>'FORMAT "M" COMMAND'</font></b> ROUTINE 
 +; -------------------------------- 
 +
 +  
 +<a name="L1B6E"></a>;; <b>FORMAT</b> 
 +L1B6E:  CALL    <A href="#L0FE8">L0FE8</a>           ; routine SET-T-MCH 
 +        LD      A,(IX+$19) 
 +        CALL    <A href="#L182A">L182A</a>           ; routine SW-MOTOR 
 +        LD      BC,$32C8 
 +        CALL    <A href="#L18FA">L18FA</a>           ; routine DELAY-BC 
 +        DI       
 +        IN      A,($EF) 
 +        AND     $01 
 +        JR      NZ,<A href="#L1B86">L1B86</a>        ; forward to FORMAT-1 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $0E 
 + 
 +  
 +<a name="L1B86"></a>;; <b>FORMAT-1</b> 
 +L1B86   LD      A,$E6 
 +        OUT     ($EF),
 +        LD      BC,$00FF 
 +        LD      ($5CC9),BC      ; sv SECTOR 
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$002C 
 +        ADD     HL,DE 
 +        EX      DE,HL 
 +        LD      HL,$FFE2 
 +        ADD     HL,DE 
 +        LD      BC,$000A 
 +        LDIR     
 +        XOR     A 
 +        LD      (IX+$47),
 +        SET     0,(IX+$28) 
 +        RES     0,(IX+$43) 
 +        SET     1,(IX+$43) 
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0052 
 +        ADD     HL,DE 
 +        LD      B,$00 
 +        LD      A,$FC 
 +  
 +<a name="L1BBD"></a>;; <b>FILL-B-F</b> 
 +L1BBD:  LD      (HL),A 
 +        INC     HL 
 +        DJNZ    <A href="#L1BBD">L1BBD</a>           ; back to FILL-B-F 
 +  
 +  
 +<a name="L1BC1"></a>;; <b>FILL-B-F2</b> 
 +L1BC1:  LD      (HL),A 
 +        INC     HL 
 +        DJNZ    <A href="#L1BC1">L1BC1</a>           ; back to FILL-B-F2 
 +  
 +        PUSH    IX 
 +        POP     DE 
 +        LD      HL,$0043 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1341">L1341</a>           ; routine CHKS-HD-R 
 +        LD      DE,$000F 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1346">L1346</a>           ; routine CHKS-BUFF 
 +  
 +<a name="L1BD6"></a>;; <b>WR-F-TEST</b> 
 +L1BD6:  CALL    <A href="#L1312">L1312</a>           ; routine DEC-SECT 
 +        JR      Z,<A href="#L1C0A">L1C0A</a>         ; forward to TEST-SCT 
 +  
 +        LD      (IX+$29),
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,L0028 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1341">L1341</a>           ; routine CHKS-HD-R 
 +        LD      DE,$FFF4 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1872">L1872</a>           ; routine OUT-M-HD 
 +        LD      BC,$01B2 
 +        CALL    <A href="#L18FA">L18FA</a>           ; routine DELAY-BC 
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0037 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1878">L1878</a>           ; routine OUT-H-BUF 
 +        LD      BC,$033F 
 +        CALL    <A href="#L18FA">L18FA</a>           ; routine DELAY-BC 
 +        CALL    <A href="#L18E9">L18E9</a>           ; routine TEST-BRK 
 +        JR      <A href="#L1BD6">L1BD6</a>           ; back to WR-F-TEST 
 +  
 +  
 +<a name="L1C0A"></a>;; <b>TEST-SCT</b> 
 +L1C0A:  LD      A,$EE 
 +        OUT     ($EF),
 +        LD      A,(IX+$19) 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        LD      BC,$00FF 
 +        LD      ($5CC9),BC      ; sv SECTOR 
 +  
 +<a name="L1C1B"></a>;; <b>CHK-SCT</b> 
 +L1C1B:  CALL    <A href="#L12C4">L12C4</a>           ; routine GET-M-RD2 
 +        CALL    <A href="#L12DF">L12DF</a>           ; routine CHECK-MAP 
 +        JR      Z,<A href="#L1C3E">L1C3E</a>         ; forward to CHK-NSECT 
 +  
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0043 
 +        ADD     HL,DE 
 +        CALL    <A href="#L18A9">L18A9</a>           ; routine GET-M-BUF 
 +        CALL    <A href="#L1341">L1341</a>           ; routine CHKS-HD-R 
 +        JR      NZ,<A href="#L1C3E">L1C3E</a>        ; forward to CHK-NSECT 
 +  
 +        LD      DE,$000F 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1346">L1346</a>           ; routine CHKS-BUFF 
 +        JR      NZ,<A href="#L1C3E">L1C3E</a>        ; forward to CHK-NSECT 
 +  
 +        CALL    <A href="#L12FE">L12FE</a>           ; routine RES-B-HAP 
 +  
 +<a name="L1C3E"></a>;; <b>CHK-NSECT</b> 
 +L1C3E:  CALL    <A href="#L1312">L1312</a>           ; routine DEC-SECT 
 +        JR      NZ,<A href="#L1C1B">L1C1B</a>        ; back to CHK-SCT 
 +  
 +        CALL    <A href="#L1E3E">L1E3E</a>           ; routine IN-CHK 
 +  
 +<a name="L1C46"></a>;; <b>MARK-FREE</b> 
 +L1C46:  CALL    <A href="#L1264">L1264</a>           ; routine CHK-FULL 
 +        JR      NZ,<A href="#L1C53">L1C53</a>        ; forward to MK-BLK 
 +  
 +        XOR     A 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        CALL    <A href="#L10C4">L10C4</a>           ; routine DEL-M-BUF 
 +        RET      
 + 
 +  
 +<a name="L1C53"></a>;; <b>MK-BLK</b> 
 +L1C53:  CALL    <A href="#L1275">L1275</a>           ; routine SEND-BLK 
 +        JR      <A href="#L1C46">L1C46</a>           ; back to MARK-FREE 
 +  
 +  
 +; ------------------------- 
 +; THE <b><font color=#333388>'CAT COMMAND'</font></b> ROUTINE 
 +; ------------------------- 
 +
 +  
 +<a name="L1C58"></a>;; <b>CAT</b> 
 +L1C58:  LD      A,($5CD8)       ; sv D_STR1 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1601           ; main CHAN-OPEN 
 +        CALL    $0FE8 
 +        LD      A,(IX+$19) 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        LD      BC,$00FF 
 +        LD      ($5CC9),BC      ; sv SECTOR 
 +  
 +<a name="L1C6E"></a>;; <b>CAT-LP</b> 
 +L1C6E:  CALL    <A href="#L12C4">L12C4</a>           ; routine GET-M-RD2 
 +        CALL    <A href="#L1E53">L1E53</a>           ; routine G-RDES 
 +        JR      NZ,<A href="#L1C6E">L1C6E</a>        ; back to CAT-LP 
 +  
 +        LD      A,(IX+$43) 
 +        OR      (IX+$46) 
 +        AND     $02 
 +        JR      NZ,<A href="#L1C85">L1C85</a>        ; forward to IN-NAME 
 +  
 +        CALL    <A href="#L12FE">L12FE</a>           ; routine RES-B-HAP 
 +        JR      <A href="#L1CEE">L1CEE</a>           ; forward to F-N-SCT 
 +  
 +  
 +<a name="L1C85"></a>;; <b>IN-NAME</b> 
 +L1C85:  LD      A,(IX+$47) 
 +        OR      A 
 +        JR      Z,<A href="#L1CEE">L1CEE</a>         ; forward to F-N-SCT 
 +  
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0052 
 +        ADD     HL,DE 
 +        LD      DE,$000A 
 +        LD      B,$00 
 +        LD      C,(IX+$0D) 
 +  
 +<a name="L1C9A"></a>;; <b>SE-NAME</b> 
 +L1C9A:  LD      A,C 
 +        OR      A 
 +        JR      Z,<A href="#L1CD4">L1CD4</a>         ; forward to INS-NAME 
 +  
 +        PUSH    HL 
 +        PUSH    IX 
 +        PUSH    BC 
 +        LD      B,$0A 
 +  
 +<a name="L1CA4"></a>;; <b>T-MA-1</b> 
 +L1CA4:  LD      A,(HL) 
 +        CP      (IX+$47) 
 +        JR      NZ,<A href="#L1CAF">L1CAF</a>        ; forward to T-NA-2 
 +  
 +        INC     HL 
 +        INC     IX 
 +        DJNZ    <A href="#L1CA4">L1CA4</a>           ; back to T-MA-1 
 +  
 +  
 +<a name="L1CAF"></a>;; <b>T-NA-2</b> 
 +L1CAF:  POP     BC 
 +        POP     IX 
 +        POP     HL 
 +        JR      Z,<A href="#L1CEE">L1CEE</a>         ; forward to F-N-SCT 
 +  
 +        JR      NC,<A href="#L1CBB">L1CBB</a>        ; forward to ORD-NAM 
 +  
 +        ADD     HL,DE 
 +        DEC     C 
 +        JR      <A href="#L1C9A">L1C9A</a>           ; back to SE-NAME 
 +  
 +  
 +<a name="L1CBB"></a>;; <b>ORD-NAM</b> 
 +L1CBB:  PUSH    HL 
 +        PUSH    DE 
 +        PUSH    BC 
 +        PUSH    HL 
 +        SLA     C 
 +        LD      H,B 
 +        LD      L,C 
 +        ADD     HL,BC 
 +        ADD     HL,BC 
 +        ADD     HL,BC 
 +        ADD     HL,BC 
 +        LD      B,H 
 +        LD      C,L 
 +        POP     HL 
 +        DEC     HL 
 +        ADD     HL,BC 
 +        EX      DE,HL 
 +        ADD     HL,DE 
 +        EX      DE,HL 
 +        LDDR     
 +        POP     BC 
 +        POP     DE 
 +        POP     HL 
 +  
 +<a name="L1CD4"></a>;; <b>INS-NAME</b> 
 +L1CD4:  PUSH    IX 
 +        LD      B,$0A 
 +  
 +<a name="L1CD8"></a>;; <b>MOVE-NA</b> 
 +L1CD8:  LD      A,(IX+$47) 
 +        LD      (HL),A 
 +        INC     IX 
 +        INC     HL 
 +        DJNZ    <A href="#L1CD8">L1CD8</a>           ; back to MOVE-NA 
 +  
 +        POP     IX 
 +        LD      A,(IX+$0D) 
 +        INC     A 
 +        LD      (IX+$0D),
 +        CP      $32 
 +        JR      Z,<A href="#L1CF4">L1CF4</a>         ; forward to BF-FILLED 
 +  
 +  
 +<a name="L1CEE"></a>;; <b>F-N-SCT</b> 
 +L1CEE:  CALL    <A href="#L1312">L1312</a>           ; routine DEC-SECT 
 +        JP      NZ,<A href="#L1C6E">L1C6E</a>        ; jump to CAT-LP 
 +  
 +<a name="L1CF4"></a>;; <b>BF-FILLED</b> 
 +L1CF4:  PUSH    IX 
 +        XOR     A 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$002C 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1D50">L1D50</a>           ; routine PRNAME 
 +        LD      A,$0D 
 +        CALL    <A href="#L1D66">L1D66</a>           ; routine PRCHAR 
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0052 
 +        ADD     HL,DE 
 +        LD      B,(IX+$0D) 
 +        LD      A,B 
 +        OR      A 
 +        JR      Z,<A href="#L1D1C">L1D1C</a>         ; forward to NONAMES 
 +  
 +  
 +<a name="L1D17"></a>;; <b>OT-NAMS</b> 
 +L1D17:  CALL    <A href="#L1D50">L1D50</a>           ; routine PRNAME 
 +        DJNZ    <A href="#L1D17">L1D17</a>           ; back to OT-NAMS 
 +  
 +  
 +<a name="L1D1C"></a>;; <b>NONAMES</b> 
 +L1D1C:  CALL    <A href="#L1D38">L1D38</a>           ; routine FREESECT 
 +        LD      A,E 
 +        SRL     A 
 +        RST     10H             ; CALBAS 
 +        DEFW    $2D28           ; main STACK-A 
 +        LD      A,$0D 
 +        CALL    <A href="#L1D66">L1D66</a>           ; routine PRCHAR 
 +        RST     10H             ; CALBAS 
 +        DEFW    $2DE3           ; main PRINT-FP 
 +        LD      A,$0D 
 +        CALL    <A href="#L1D66">L1D66</a>           ; routine PRCHAR 
 +        POP     IX 
 +        CALL    <A href="#L10C4">L10C4</a>           ; routine DEL-M-BUF 
 +        RET      
 + 
 +  
 +; ---------------------- 
 +; THE <b><font color=#333388>'FREESECT'</font></b> ROUTINE 
 +; ---------------------- 
 +
 +  
 +<a name="L1D38"></a>;; <b>FREESECT</b> 
 +L1D38:  LD      L,(IX+$1A) 
 +        LD      H,(IX+$1B) 
 +        LD      E,$00 
 +        LD      C,$20 
 +  
 +<a name="L1D42"></a>;; <b>FR-SC-LP</b> 
 +L1D42:  LD      A,(HL) 
 +        INC     HL 
 +        LD      B,$08 
 +  
 +<a name="L1D46"></a>;; <b>FR-S-LPB</b> 
 +L1D46:  RRA      
 +        JR      C,<A href="#L1D4A">L1D4A</a>         ; forward to FR-S-RES 
 +  
 +        INC     E 
 +  
 +<a name="L1D4A"></a>;; <b>FR-S-RES</b> 
 +L1D4A:  DJNZ    <A href="#L1D46">L1D46</a>           ; back to FR-S-LPB 
 +  
 +        DEC     C 
 +        JR      NZ,<A href="#L1D42">L1D42</a>        ; back to FR-SC-LP 
 +  
 +        RET      
 + 
 +  
 +; -------------------- 
 +; THE <b><font color=#333388>'PRNAME'</font></b> ROUTINE 
 +; -------------------- 
 +
 +  
 +<a name="L1D50"></a>;; <b>PRNAME</b> 
 +L1D50:  PUSH    BC 
 +        LD      B,$0A 
 +  
 +<a name="L1D53"></a>;; <b>PRNM-LP</b> 
 +L1D53:  LD      A,(HL) 
 +        CALL    <A href="#L1D66">L1D66</a>           ; routine PRCHAR 
 +        INC     HL 
 +        DJNZ    <A href="#L1D53">L1D53</a>           ; back to PRNM-LP 
 +  
 +        LD      A,$0D 
 +        CALL    <A href="#L1D66">L1D66</a>           ; routine PRCHAR 
 +        PUSH    HL 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0D4D           ; main TEMPS 
 +        POP     HL 
 +        POP     BC 
 +        RET      
 + 
 +  
 +; -------------------- 
 +; THE <b><font color=#333388>'PRCHAR'</font></b> ROUTINE 
 +; -------------------- 
 +
 +  
 +<a name="L1D66"></a>;; <b>PRCHAR</b> 
 +L1D66:  PUSH    IX 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0010           ; main PRINT-A 
 +        POP     IX 
 +        RET      
 + 
 +  
 +; --------------------------- 
 +; THE <b><font color=#333388>'ERASE COMMAND'</font></b> ROUTINE 
 +; --------------------------- 
 +
 +  
 +<a name="L1D6E"></a>;; <b>ERASE</b> 
 +L1D6E:  CALL    <A href="#L0FE8">L0FE8</a>           ; routine SET-T-MCH 
 +        LD      A,(IX+$19) 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        IN      A,($EF) 
 +        AND     $01 
 +        JR      NZ,<A href="#L1D7F">L1D7F</a>        ; forward to ERASE-1 
 +  
 +        RST     20H             ; sh_err 
 +        DEFB    $0E 
 + 
 +  
 +<a name="L1D7F"></a>;; <b>ERASE-1</b> 
 +L1D7F   PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0052 
 +        ADD     HL,DE 
 +        PUSH    HL 
 +        POP     DE 
 +        INC     DE 
 +        LD      BC,$001F 
 +        XOR     A 
 +        LD      (HL),A 
 +        LDIR     
 +        LD      A,$FF 
 +        LD      (IX+$0D),
 +        LD      BC,$04FB 
 +        LD      ($5CC9),BC      ; sv SECTOR 
 +  
 +<a name="L1D9C"></a>;; <b>ERASE-LP</b> 
 +L1D9C:  CALL    <A href="#L1312">L1312</a>           ; routine DEC-SECT 
 +        JR      Z,<A href="#L1DF8">L1DF8</a>         ; forward to ERASE-MK 
 +  
 +        CALL    <A href="#L12C4">L12C4</a>           ; routine GET-M-RD2 
 +        CALL    <A href="#L1E53">L1E53</a>           ; routine G-RDES 
 +        JR      NZ,<A href="#L1DDA">L1DDA</a>        ; forward to TST-NUM 
 +  
 +        LD      A,(IX+$43) 
 +        OR      (IX+$46) 
 +        AND     $02 
 +        JR      NZ,<A href="#L1DB8">L1DB8</a>        ; forward to ERASE-2 
 +  
 +        CALL    <A href="#L12FE">L12FE</a>           ; routine RES-B-HAP 
 +        JR      <A href="#L1DDA">L1DDA</a>           ; forward to TST-NUM 
 +  
 +  
 +<a name="L1DB8"></a>;; <b>ERASE-2</b> 
 +L1DB8:  PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0047 
 +        ADD     HL,DE 
 +        LD      BC,$000A 
 +        CALL    <A href="#L131E">L131E</a>           ; routine CHK-NAME 
 +        JR      NZ,<A href="#L1DDA">L1DDA</a>        ; forward to TST-NUM 
 +  
 +        CALL    <A href="#L1306">L1306</a>           ; routine TEST-PHAP 
 +        LD      A,B 
 +        OR      (HL) 
 +        LD      (HL),A 
 +        BIT     1,(IX+$43) 
 +        JR      Z,<A href="#L1DDA">L1DDA</a>         ; forward to TST-NUM 
 +  
 +        LD      A,(IX+$44) 
 +        INC     A 
 +        LD      (IX+$0D),
 +  
 +<a name="L1DDA"></a>;; <b>TST-NUM</b> 
 +L1DDA:  PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0052 
 +        ADD     HL,DE 
 +        LD      E,$00 
 +        LD      C,$20 
 +  
 +<a name="L1DE5"></a>;; <b>LP-P-HAP</b> 
 +L1DE5:  LD      A,(HL) 
 +        INC     HL 
 +        LD      B,$08 
 +  
 +<a name="L1DE9"></a>;; <b>LP-B-HAP</b> 
 +L1DE9:  RRA      
 +        JR      NC,<A href="#L1DED">L1DED</a>        ; forward to NOINC-C 
 +  
 +        INC     E 
 +  
 +<a name="L1DED"></a>;; <b>NOINC-C</b> 
 +L1DED:  DJNZ    <A href="#L1DE9">L1DE9</a>           ; back to LP-B-HAP 
 +  
 +        DEC     C 
 +        JR      NZ,<A href="#L1DE5">L1DE5</a>        ; back to LP-P-HAP 
 +  
 +        LD      A,(IX+$0D) 
 +        CP      E 
 +        JR      NZ,<A href="#L1D9C">L1D9C</a>        ; back to ERASE-LP 
 +  
 +  
 +<a name="L1DF8"></a>;; <b>ERASE-MK</b> 
 +L1DF8:  CALL    <A href="#L1E3E">L1E3E</a>           ; routine IN-CHK 
 +  
 +<a name="L1DFB"></a>;; <b>ERASE-MK2</b> 
 +L1DFB:  CALL    <A href="#L12C4">L12C4</a>           ; routine GET-M-RD2 
 +        CALL    <A href="#L1306">L1306</a>           ; routine TEST-PHAP 
 +        JR      Z,<A href="#L1E26">L1E26</a>         ; forward to T-OTHER 
 +  
 +        PUSH    HL 
 +        PUSH    BC 
 +        LD      A,$E6 
 +        OUT     ($EF),
 +        LD      BC,$0168 
 +        CALL    <A href="#L18FA">L18FA</a>           ; routine DELAY-BC 
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0037 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1878">L1878</a>           ; routine OUT-H-BUF 
 +        LD      A,$EE 
 +        OUT     ($EF),
 +        CALL    <A href="#L12FE">L12FE</a>           ; routine RES-B-HAP 
 +        POP     BC 
 +        POP     HL 
 +        LD      A,B 
 +        CPL      
 +        AND     (HL) 
 +        LD      (HL),A 
 +  
 +<a name="L1E26"></a>;; <b>T-OTHER</b> 
 +L1E26:  PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0052 
 +        ADD     HL,DE 
 +        LD      B,$20 
 +  
 +<a name="L1E2F"></a>;; <b>CHK-W-MAP</b> 
 +L1E2F:  LD      A,(HL) 
 +        OR      A 
 +        JR      NZ,<A href="#L1DFB">L1DFB</a>        ; back to ERASE-MK2 
 +  
 +        INC     HL 
 +        DJNZ    <A href="#L1E2F">L1E2F</a>           ; back to CHK-W-MAP 
 +  
 +        XOR     A 
 +        CALL    <A href="#L17F7">L17F7</a>           ; routine SEL-DRIVE 
 +        CALL    <A href="#L10C4">L10C4</a>           ; routine DEL-M-BUF 
 +        RET      
 + 
 +  
 +; ---------------------------------- 
 +; THE <b><font color=#333388>'SIGNAL '</font></b>FREE SECTOR'' ROUTINE 
 +; ---------------------------------- 
 +
 +  
 +<a name="L1E3E"></a>;; <b>IN-CHK</b> 
 +L1E3E:  XOR     A 
 +        LD      (IX+$43),
 +        LD      (IX+$45),
 +        LD      (IX+$46),
 +        PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0043 
 +        ADD     HL,DE 
 +        CALL    <A href="#L1341">L1341</a>           ; routine CHKS-HD-R 
 +        RET      
 + 
 +  
 +; -------------------------------------- 
 +; THE <b><font color=#333388>'OBTAIN RECORD DESCRIPTOR'</font></b> ROUTINE 
 +; -------------------------------------- 
 +
 +  
 +<a name="L1E53"></a>;; <b>G-RDES</b> 
 +L1E53:  PUSH    IX 
 +        POP     HL 
 +        LD      DE,$0043 
 +        ADD     HL,DE 
 +        CALL    <A href="#L18A3">L18A3</a>           ; routine GET-M-HD 
 +        CALL    <A href="#L1341">L1341</a>           ; routine CHKS-HD-R 
 +        RET     NZ 
 + 
 +        BIT     0,(IX+$43) 
 +        RET      
 + 
 +  
 +; ------------------------------------ 
 +; THE <b><font color=#333388>'CALLS TO THE COMMAND S'</font></b> ROUTINE 
 +; ------------------------------------ 
 +
 +  
 +<a name="L1E66"></a>;; <b>ERASE-RUN</b> 
 +L1E66:  CALL    <A href="#L1D6E">L1D6E</a>           ; routine ERASE 
 +        JR      <A href="#L1E84">L1E84</a>           ; forward to ENDC 
 +  
 +  
 +<a name="L1E6B"></a>;; <b>MOVE-RUN</b> 
 +L1E6B:  CALL    <A href="#L13F1">L13F1</a>           ; routine MOVE 
 +        JR      <A href="#L1E84">L1E84</a>           ; forward to ENDC 
 +  
 +  
 +<a name="L1E70"></a>;; <b>CAT-RUN</b> 
 +L1E70:  CALL    <A href="#L1C58">L1C58</a>           ; routine CAT 
 +        JR      <A href="#L1E84">L1E84</a>           ; forward to ENDC 
 +  
 +  
 +<a name="L1E75"></a>;; <b>IFOR-RUN</b> 
 +L1E75:  CALL    <A href="#L1B6E">L1B6E</a>           ; routine FORMAT 
 +        JR      <A href="#L1E84">L1E84</a>           ; forward to ENDC 
 +  
 +  
 +<a name="L1E7A"></a>;; <b>OP-RUN</b> 
 +L1E7A:  CALL    <A href="#L1AF0">L1AF0</a>           ; routine OP-M-STRM 
 +        JR      <A href="#L1E84">L1E84</a>           ; forward to ENDC 
 +  
 +  
 +<a name="L1E7F"></a>;; <b>SAVE-RUN</b> 
 +L1E7F:  CALL    <A href="#L14DA">L14DA</a>           ; routine SA-DRIVE 
 +        JR      <A href="#L1E84">L1E84</a>           ; forward to ENDC 
 +  
 +  
 +<a name="L1E84"></a>;; <b>ENDC</b> 
 +L1E84:  JP      <A href="#L05C1">L05C1</a>           ; jump to END1 
 +  
 +; ---------------------- 
 +; THE <b><font color=#333388>'DISP-HEX'</font></b> ROUTINE 
 +; ---------------------- 
 +
 +  
 +<a name="L1E87"></a>;; <b>DISP-HEX</b> 
 +L1E87:  PUSH    AF 
 +        RRA      
 +        RRA      
 +        RRA      
 +        RRA      
 +        CALL    <A href="#L1E90">L1E90</a>           ; routine DISP-NIB 
 +        POP     AF 
 +  
 +<a name="L1E90"></a>;; <b>DISP-NIB</b> 
 +L1E90:  AND     $0F 
 +        CP      $0A 
 +        JR      C,<A href="#L1E98">L1E98</a>         ; forward to CDNV-L 
 +  
 +        ADD     A,$07 
 +  
 +<a name="L1E98"></a>;; <b>CDNV-L</b> 
 +L1E98:  ADD     A,$30 
 +        CALL    <A href="#L1EA9">L1EA9</a>           ; routine DISP-CH 
 +        RET      
 + 
 +  
 +; ----------------------- 
 +; THE <b><font color=#333388>'DISP-HEX2'</font></b> ROUTINE 
 +; ----------------------- 
 +
 +  
 +<a name="L1E9E"></a>;; <b>DISP-HEX2</b> 
 +L1E9E:  PUSH    AF 
 +        CALL    <A href="#L1E87">L1E87</a>           ; routine DISP-HEX 
 +        LD      A,$20 
 +        CALL    <A href="#L1EA9">L1EA9</a>           ; routine DISP-CH 
 +        POP     AF 
 +        RET      
 + 
 +  
 +; --------------------- 
 +; THE <b><font color=#333388>'DISP-CH'</font></b> ROUTINE 
 +; --------------------- 
 +
 +  
 +<a name="L1EA9"></a>;; <b>DISP-CH</b> 
 +L1EA9:  PUSH    HL 
 +        PUSH    DE 
 +        PUSH    BC 
 +        PUSH    AF 
 +        EXX      
 +        PUSH    HL 
 +        PUSH    DE 
 +        PUSH    BC 
 +        PUSH    AF 
 +        LD      HL,($5C51)      ; sv CURCHL 
 +        PUSH    HL 
 +        PUSH    AF 
 +        LD      A,$02 
 +        RST     10H             ; CALBAS 
 +        DEFW    $1601           ; main CHAN-OPEN 
 +        POP     AF 
 +        RST     10H             ; CALBAS 
 +        DEFW    $0010           ; main PRINT-A 
 +        POP     HL 
 +        LD      ($5C51),HL      ; sv CURCHL 
 +        POP     AF 
 +        POP     BC 
 +        POP     DE 
 +        POP     HL 
 +        EXX      
 +        POP     AF 
 +        POP     BC 
 +        POP     DE 
 +        POP     HL 
 +        RET      
 + 
 +  
 +; ---------------------- 
 +; THE <b><font color=#333388>'HEX-LINE'</font></b> ROUTINE 
 +; ---------------------- 
 +
 +  
 +<a name="L1ECE"></a>;; <b>HEX-LINE</b> 
 +L1ECE:  PUSH    HL 
 +        PUSH    BC 
 +        PUSH    AF 
 +        LD      B,$0A 
 +  
 +<a name="L1ED3"></a>;; <b>HEX-LINE2</b> 
 +L1ED3:  LD      A,(HL) 
 +        CALL    <A href="#L1E9E">L1E9E</a>           ; routine DISP-HEX2 
 +        INC     HL 
 +        DJNZ    <A href="#L1ED3">L1ED3</a>           ; back to HEX-LINE2 
 +  
 +        LD      A,$0D 
 +        CALL    <A href="#L1EA9">L1EA9</a>           ; routine DISP-CH 
 +        POP     AF 
 +        POP     BC 
 +        POP     HL 
 +        RET      
 + 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +        DEFB    $FF 
 +  
 +<a name="LEND"></a>;; <b></b> 
 +LEND    DEFB    $FF 
 + 
 +.END 
 + 
 +;  
 +</PRE> 
 +</HTML> 
wearmouth/version_1.1647941039.txt.gz · Last modified: 2022/03/22 09:23 by evert