Subroutines DUMP to tape

0277   1932             ;        SUBROUTINES BELOW   
0278   1932             ;
0279   1932             ;        SUB TO MOVE SA TO VEB+1,2
0280   1932             ;
0281   1932 AD F5 17    INTVEB  LDA   SAL        
0282   1935 8D ED 17            STA   VEB+1       
0283   1938 AD F6 17            LDA   SAH         
0284   193B 8D EE 17            STA   VEB+2       
0285   193E A9 60               LDA   #$60        ; RTS INST
0286   1940 8D EF 17            STA   VEB+3       
0287   1943 A9 00               LDA   #$00        ; CLEAR CHKSUM AREA
0288   1945 8D E7 17            STA   CHKL
0289   1948 8D E8 17            STA   CHKH
0290   194B 60                  RTS
0291   194C             ;
0292   194C             ;       COMPUTE CHKSUM FOR TAPE LOAD   
0293   194C             ;       RTN USES Y TO SAVEX A   
0294   194C             ;
0295   194C A8          CHKT    TAY                     
0296   194D 18                  CLC
0297   194E 6D E7 17            ADC   CHKL
0298   1951 8D E7 17            STA   CHKL
0299   1954 AD E8 17            LDA   CHKH
0300   1957 69 00               ADC   #$00
0301   1959 8D E8 17            STA   CHKH
0302   195C 98                  TYA
0303   195D 60                  RTS
0304   195E             ;		
0305   195E             ;       OUTPUT ONE BYTE USE Y
0306   195E             ;       TO SAVX BYTE
0307   195E             ;  
0308   195E 20 4C 19    OUTBTC  JSR   CHKT        ; COMP CHKSUM 
0309   1961 A8          OUTBT   TAY               ; SAVX DATA BYTE
0310   1962 4A                  LSR   A           ; SHIFT OFF LSD
0311   1963 4A                  LSR   A       
0312   1964 4A                  LSR   A       
0313   1965 4A                  LSR   A       
0314   1966 20 6F 19            JSR   HEXOUT      ; OUT PUT MSD
0315   1969 98                  TYA           
0316   196A 20 6F 19            JSR   HEXOUT      ; OUT PUT LSD
0317   196D 98           	    TYA           
0318   196E 60                  RTS
0319   196F             ;		
0320   196F             ;       CONVERT LSD OF A TO ASCII
0321   196F             ; 	    AND OUTPUT TO TAPE   
0322   196F             ;
0323   196F 29 0F       HEXOUT  AND   #$0F                               
0324   1971 C9 0A               CMP   #$0A
0325   1973 18                  CLC  
0326   1974 30 02               BMI   HEX1
0327   1976 69 07               ADC   #$07
0328   1978 69 30       HEX1    ADC  #$30
0329   197A             ;
0330   197A             ;       OUTPUT TO TAPE ONE ASCII  
0331   197A             ;       CHAR  USE SUB'S ONE + ZRO   
0332   197A             ;
0333   197A 8E E9 17    OUTCHT  STX   SAVX                                
0334   197D 8C EA 17            STY   SAVX+1
0335   1980 A0 08               LDY   #$08        ; START BIT
0336   1982 20 9E 19    CHT1    JSR   ONE         
0337   1985 4A                  LSR   A           ; GET DATA BIT
0338   1986 B0 06               BCS   CHT2        
0339   1988 20 9E 19            JSR   ONE         ; DATA BIT=1
0340   198B 4C 91 19            JMP   CHT3        
0341   198E 20 C4 19    CHT2    JSR   ZRO         ; DATA BIT=0
0342   1991 20 C4 19    CHT3    JSR   ZRO         
0343   1994 88                  DEY   
0344   1995 D0 EB               BNE   CHT1
0345   1997 AE E9 17            LDX   SAVX
0346   199A AC EA 17            LDY   SAVX+1
0347   199D 60                  RTS
0348   199E             ;
0349   199E             ;		
0350   199E             ;          OUTPUT 1 TO TAPE 
0351   199E             ;          9 PULSES 138 MICROSEC EACH
0352   199E             ;   
0353   199E A2 09       ONE     LDX   #$09        ; 
0354   19A0 48                  PHA               ; SAVX A
0355   19A1 2C 47 17    ONE1    BIT   CLKRDI      ; WAIT FOR TIME OUT 
0356   19A4 10 FB               BPL   ONE1
0357   19A6 A9 7E               LDA   #126
0358   19A8 8D 44 17            STA   CLK1T
0359   19AB A9 A7               LDA   #$A7
0360   19AD 8D 42 17            STA   SBD         ; SET PB7=1
0361   19B0 2C 47 17    ONE2    BIT   CLKRDI      ; 
0362   19B3 10 FB               BPL   ONE2
0363   19B5 A9 7E               LDA   #126
0364   19B7 8D 44 17            STA   CLK1T
0365   19BA A9 27               LDA   #$27
0366   19BC 8D 42 17            STA   SBD         ; RESET PB7=0
0367   19BF CA                  DEX   
0368   19C0 D0 DF               BNE   ONE1
0369   19C2 68                  PLA
0370   19C3 60                  RTS
0371   19C4             ;
0372   19C4             ;
0373   19C4             ;        OUTPUT 0 TO TAPE
0374   19C4             ;        6 PULSES 207 MICROSEC EACH   
0375   19C4             ;
0376   19C4 A2 06       ZRO     LDX   #$06        
0377   19C6 48                  PHA               ; SAVX A
0378   19C7 2C 47 17    ZRO1    BIT   CLKRDI                              
0379   19CA 10 FB               BPL   ZRO1
0380   19CC A9 C3               LDA #$C3
0380   19CC A9 C3       
0381   19CE 8D 44 17            STA   CLK1T
0382   19D1 A9 A7               LDA   #$A7
0383   19D3 8D 42 17            STA   SBD         ; SET PB7=1
0384   19D6 2C 47 17    ZRO2    BIT   CLKRDI
0385   19D9 10 FB               BPL   ZRO2
0386   19DB A9 C3               LDA   #195
0387   19DD 8D 44 17            STA   CLK1T
0388   19E0 A9 27               LDA   #$27
0389   19E2 8D 42 17            STA   SBD         ; RESET PB7=0
0390   19E5 CA                  DEX   
0391   19E6 D0 DF               BNE   ZRO1
0392   19E8 68                  PLA               ; RESTORE A
0393   19E9 60                  RTS
0394   19EA             ;
0395   19EA             ;          SUB TO INC VEB+1,2   
0396   19EA             ;
0397   19EA EE ED 17    INCVEB  INC   VEB+1                   
0398   19ED D0 03               BNE   INCVE1
0399   19EF EE EE 17            INC   VEB+2
0400   19F2 60          INCVE1  RTS