ORG $7200 OBJ $0800 ; ;----->>> MOD14 ; 05/15/89 ; NLS JMP START JMP SECOND ; FLAG HEX 00 PAGE1 HEX 00 TRIGER HEX 8B TIMER HEX 00 OVERFL HEX 00 HARDSV HEX 00 MASK HEX 01 ; DATA/Z EPZ $FE CARDS EQU $1E60 PG\BUF EQU $8200 SV\BUF EQU $9200 DIR EQU $9500 L|FCA8 EQU $FCA8 L|C000 EQU $C000 L|C010 EQU $C010 L|C030 EQU $C030 L|AA52 EQU $AA52 L|FF3A EQU $FF3A L|FDED EQU $FDED ; SLOT EQU $1E47 ; BD/OUT LDA #$80 STA FLAG RTS ; SECOND LDA #$00 STA PAGE1 JMP DOIT ; START LDA #$80 STA PAGE1 LDA #$58 STA $35D LDA #$60 STA $35E JSR WHICH BMI BD/OUT LDA $354 CMP #$60 BEQ SK/SEI SEI SK/SEI JSR ST/CAR DOIT LDA #$00 STA FLAG LDA #PG\BUF STA DATA/Z LDA /PG\BUF STA DATA/Z+1 LDA PAGE1 BNE LOOP LDX #$00 MVL LDA SV\BUF,X STA PG\BUF,X INX BNE MVL LDA OVERFL STA DATA/Z JSR RESUME LOOP LDA L|C000 BPL GETCH LDX L|C010 AND #$1F CMP #$11 BEQ QUIT CMP #$10 BEQ PAGE CMP #$14 BEQ TEXT LDA L|C010 GETCH JSR IN/CAR BCC LOOP AND #$7F CMP #$1A BEQ QUIT LDX L|C030 JSR S/CHAR ; LDX DATA/Z+1 CPX TRIGER BCC LOOP CMP #$20 BEQ PAGE LDA DATA/Z BPL LOOP ; PAGE LDA #$40 STA FLAG JSR STOP LDA #$00 STA L|AA52 LDX #$00 STX TIMER FIN/CK JSR GETOVR BCC FIN/1 LDA TIMER CMP #$20 BCS FIN/1 LDA HARDSV BNE FIN/1 JSR HARDST JSR GETOVR FIN/1 DEC TIMER BEQ PCK/F LDA #$07 JSR L|FCA8 JMP FIN/CK PCK/F STX OVERFL RTS GETOVR JSR IN/CAR BCC GET/F AND #$7F STA SV\BUF,X INX GET/F RTS ; QUIT LDA #$00 STA FLAG STA L|AA52 RTS ; TEXT JSR L|FF3A JSR L|FF3A TX/LP JSR TXCHAR CMP #$0D BEQ STEXT JSR S/CHAR JMP TX/LP STEXT JSR L|FF3A JMP LOOP ; S/CHAR AND #$7F BADTST LDY #$00 SKTEST STA (DATA/Z),Y INC DATA/Z BNE SCH0 INC DATA/Z+1 SCH0 RTS ; TXCHAR LDY #$0A SOUND LDA #$12 JSR L|FCA8 LDA L|C030 DEY BPL SOUND TXL LDA L|C000 BPL TXL LDX L|C010 JSR L|FDED AND #$7F RTS ; RESUME LDA HARDSV BEQ RE/REG LDY QSLOT STA $C08A,Y LDA #$00 STA HARDSV RTS RE/REG LDA #$11 JMP OU/CAR ; HARDST LDY QSLOT LDA $C08A,Y ORA MASK STA HARDSV LDA #$FF XOR MASK AND HARDSV STA $C08A,Y RTS STOP LDA #$13 JMP OU/CAR ; ; ; ; SV/36 HEX 00 SV/37 HEX 00 QSLOT HEX 00 LX HEX 00 SER/CD HEX 00 CHAR HEX 00 WHICH LDA SLOT BEQ BAD TAX ASL ASL ASL ASL STA QSLOT LDA CARDS,X STA SER/CD BEQ BAD CMP #$08 BEQ GOOD CMP #$05 BCS BAD LDX #$00 GOOD RTS BAD LDX #$80 RTS ; ; ST/CAR LDY QSLOT LDA SER/CD CMP #$08 BEQ ST/SBM CMP #$01 BEQ ST/SSC CMP #$04 BEQ ST/2C ; ST/CCS LDA #$23 STA $C080,Y LDA #$11 STA $C080,Y RTS ; ST/SBM LDA #$09 STA $C08A,Y LDA #$9E STA $C08B,Y LDA #$A0 JSR $FCA8 RTS ; ST/2C LDA #$08 STA MASK ST/SSC LDA $36 STA SV/36 LDA $37 STA SV/37 LDA #$00 STA $36 LDA SLOT ORA #$C0 STA $37 LDX $1F73 DEX ST/LP INX LDA $1F00,X JSR $FDED CMP #$7F BNE ST/LP LDA SV/36 STA $36 LDA SV/37 STA $37 JMP IN/SSC ; IN/CAR LDY QSLOT LDA SER/CD CMP #$08 BEQ IN/SSC CMP #$01 BEQ IN/SSC CMP #$04 BEQ IN/2C ; IN/CCS LDA $C080,Y LSR BCC NONE LDA $C081,Y SEC RTS NONE CLC RTS ; IN/SSCNOP IN/2C LDA $C089,Y AND #$08 BEQ NONE LDA $C088,Y SEC RTS ; OU/CAR LDY QSLOT LDX SER/CD CPX #$08 BEQ OU/SSC CPX #$01 BEQ OU/SSC CPX #$04 BEQ OU/2C ; OU/CCS STA $C081,Y RTS OU/SSCNOP OU/2C STA $C088,Y RTS XX HEX 00 ; ; END