* Source code from SWTPC Newsletter * Issue 2 October 1976 * **************************************** NAM RELADR * MIKBUG LOCATIONS PDATA1 EQU $E07E BADDR EQU $E047 OUT4HS EQU $E0C8 ORG $A000 RAMST RMB2 BRADR RMB2 DEST RMB2 ORG $A014 BEGIN LDS #$A047 Saves BEGIN in A048,49 LDX #MSETUP Clears screen & types BA , BSR PDATSR See subroutine below. NEXT JSR BADDR Gets 4 hex from term & stores in X reg STX BRADR Stores branch addr in BRA LDX #MT Outputs " T " BSR PDATSR JSR BADDR STX DEST Stores dest'n addr. in DEST LDX #RAMST Prepare for indexed CLC Addr. mode. LDA A 4,X DEST H LDA B 5,X DEST L BRA CONTN ORG $A048 FDB BEGIN CONTN SUB B #02 Subtract 0002 from SBC A #00 Destination Addr. CLC SUB B 3,X BRA L Subtract Br addr from SBC A 2,X BRA H (Destn. - 2) STA A $69,X REL H Store result at REL STA B $6A,X REL L LDX #MEQ Outputs " = " BSR PDATSR LDX #REL JSR OUT4HS Outputs 4 hex's + Sp. LDX #MBA Outputs CR, LF, "BA " BSR PDATSR BRA NEXT REL RMB 2 PDATSR JSR PDATA1 Outputs string term'd 04 RTS MSETUP FCB $10,$16 MBA FCB $0D,$0A,$42,$41,$20,$04 MT FCB $20,$54,$20,$04 MEQ FCB $20,$3D,$20,$04 END ****************************************** NAM BILOAD OUTEEE EQU $E1D1 DEL EQU $E1EF DE EQU $E1F3 IOUT2 EQU $E1E3 DMPREG EQU $E115 LOAD19 EQU $E040 SAV EQU $E1A5 ORG $1700 CKSM RMB 1 TW RMB 2 LDS #$A047 BILOAD BSR LOAD OVER BSR INPUT CMP A #'X BNE OVER BSR INPUT CMP A #'1 BEQ READ CMP A #'9 BNE OVER JMP DMPREG READ CLR CKSM BSR INPUT TAB INC B BSR INPUT STA A TW BSR INPUT STA A TW+1 LDX TW STORE BSR INPUT STA A 0,X NOP CMP A 0,X BNE OUT INX DEC B BNE STORE BSR INPUT INC CKSM BEQ OVER OUT JMP LOAD19 INPUT BSR INCHP PSH A ADD A CKSM STA A CKSM PUL A RTS LOAD LDA A #$11 JSR OUTEEE LDA A #$3C STA A $8007 RTS INCHP PSH B JSR SAV IN1 LDA A 0,X BMI IN1 CLR 2,X JSR DE JSR DEL LDA B #4 STA B 2,X ASL B IN3 JSR DEL SEC ROL 0,X ROR A DEC B BNE IN3 JSR DEL JMP IOUT2 END **************************************** NAM BIPNCH OUTEEE EQU $E1D1 CONTRL EQU $E0E3 MAX EQU $A014 BEGA EQU $A015 ENDA EQU $A017 PCT EQU $A028 ORG $1DF7 STRT STA A 0,X LDA A PCT+1 STA A 1,X BRA BIPNCH CNTR FCB 01 TW RMB 2 TEMP RMB 1 LDS #$A047 LDX #$A048 LDA A PCT BRA STRT BIPNCH JSR PNON JSR PNLDR BEG LDX BEGA STX TW PUND10 LDA B ENDA+1 SUB B TW+1 BEG1 LDA A ENDA SBC A TW BEQ PUND25 LDA B #$FF PUND25 LDA A #'X JSR OUTEEE LDA A #'1 JSR OUTEEE PSH B CLR B TSX BSR PUN PUL A INC A STA A TEMP LDX #TW BSR PUN BSR PUN LDX TW PUND30 BSR PUN DEC TEMP bNE PUND30 STX TW COM B PSH B TSX BSR PUN PUL B LDX TW DEX CP1 CPX ENDA BNE PUND10 LDA A CNTR CMP A MAX BEQ EXIT INC CNTR LDA A BEG+2 ADD A #4 STA A BEG+2 LDA A BEG1+2 ADD A #4 STA A BEG1+2 STA A CP1+2 INC A STA A PUND10+2 BRA BIPNCH EXIT LDA A #'X JSR OUTEEE LDA A #'9 JSr OUTEEE JMP CONTRL PNON LDA A #812 JSR OUTEEE RTS PNLDR LDA B #5 PNULL CLR A JSR OUTEEE DEC B BNE PNULL RTS PUN LDA A 0,X JSR OUTEEE ADD B 0,X LDA A 0,X INX CMP A #$14 BEQ PNON CMP A #$94 BEQ PNON RTS END **************************************** NAM PAPTAP *HIGH SPEED PAPER TAPE LOADER PROGRAM *DEVELOPED BY DR. CHARLES ADAMS *TEXAS A&M UNIVERSITY OUTEEE EQU $E1D1 PIA EQU $8008 ORG $1F00 ENTER LDA A #$2E STA A PIA+3 STA A PIA+2 OV BSR SUB1 CMP A #'S BNE OV BSR SUB1 CMP A #$31 BNE OV CLR CLR1 BSR SUB2 SUB A #2 STA A TMP3 BSR SUB3 BR2 BSR SUB2 DEC TMP3 BEQ BR1 STA A 0,X INX BRA BR2 BR1 INC CLR1 BEQ OV SWI SUB1 LDA A PIA+3 BPL SUB1 LDA A PIA+2 AND A #$7F STA A PIA+2 RTS TMP1 RMB 1 TMP2 RMB 1 TMP3 RMB 1 CLR1 RMB 1 SUB3 BSR SUB2 STA A TMP1 BSR SUB2 STA A TMP2 LDX TMP1 RTS SUB2 BSR SUB4 ASL A ASL A ASL A ASL A TAB BSR SUB4 ABA TAB ADD B CLR1 STA B CLR1 RTS SUB4 BSR SUB1 SUB A #$30 CMP A #$09 BLE RT SUB A #7 RT RTS END **************************************** NAM QUICKLOAD PIA EQU $8008 ORG $0000 LDX #$1F00 LDA a #$2E STA A PIA+3 HERE STA A PIA+2 LOOP LDA A PIA+3 BPL LOOP LDA A PIA+2 STA A 0,X INX JMP HERE END