; da65 V2.18 - Git ece63f0 ; Created: 2023-10-03 10:18:14 ; Input file: bitsy.bye ; Page: 1 L2000 := $2000 PRODOS_MLI := $BF00 INIT := $FB2F BASCALC := $FBC1 BELL1 := $FBDD VTAB := $FC22 HOME := $FC58 RDKEY := $FD0C SETKBD := $FE89 SETVID := $FE93 CLR80VID := $C00C CLR80COL := $C000 NEWVIDEO := $C029 .macpack apple2 .setcpu "6502" .org $1000 cld lda $C082 cli sta CLR80VID sta CLR80COL jsr SETVID jsr SETKBD sta $04FB jsr INIT jsr HOME ldx #$DF lda #$CF L101E: sta $BE79,x lda L1270,x sta $7A,x lda #$00 txs inx bne L101E .byte $C2 .byte $02 beq L1034 ; f0 04 inx ; e8 stx NEWVIDEO L1034: inc $BF6F ldx #$57 L1039: lda L12FF,x bmi L1045 jsr BASCALC ldy L1300,x .byte $2C ; mask next ... L1045: sta ($28),y dey dex bne L1039 L104B: sta $0480,y sta ($28),y dey bpl L104B lda $BF30 lsr a lsr a lsr a tax inx cmp #$10 bcc L1060 L105F: dex L1060: jsr L1254 beq L105F L1065: lda #$14 sta $7B sta $59 ldy #$00 sty $7A sty $58 jsr L1294 cpy #$4C beq L107B jsr BELL1 L107B: lda #$00 tay sta ($7A),y tax L1081: stx $5E L1083: ldx #$22 ldy $57 cpy #$22 bcs L108D ldy #$22 L108D: dey lda #$A0 cpy $57 bcs L1098 lda ($70),y ora #$80 L1098: sta $0405,x sta $0381,y dex L109F: bne L108D ldx #$02 stx $25 L10A5: lda $57,x sta $59,x dex bne L10A5 L10AC: jsr VTAB inc $25 ldy #$14 lda #$A1 sta ($28),y lda $61,x L10B9: sta $0380,x lda #$FF cpx $5E bne L10CC lda $5A sta $5C lda $5B sta $5D lda #$3F L10CC: sta $5F ldy #$00 lda ($5A),y bmi L10EF bne L10DD ldy #$10 sta ($5A),y tay beq L10E4 L10DD: lsr a lsr a lsr a lsr a and #$07 tay L10E4: lda L1375,y ldy #$00 sta ($28),y inc $28 bne L10FD L10EF: lda #$A0 sta ($28),y inc $28 inc $28 lda #$AF and $5F sta ($28),y L10FD: lda ($5A),y and #$0F sta $60 L1103: lda #$A0 cpy $60 iny bcs L1110 lda ($5A),y ora #$80 and $5F L1110: sta ($28),y cpy #$11 bne L1103 lda #$0F adc $5A sta $5A bcc L1120 inc $5B L1120: inx cpx #$14 bcc L10AC stx $29 jsr RDKEY cmp #$8D bne L11A8 jsr PRODOS_MLI ; SET_PREFIX .byte $c6 .word L12FD bcs L1191 tay lda ($5C),y beq L11A2 sty $7A ldx #$20 L113F: stx $7B cmp #$60 and #$0F bcs L1174 sta ($5C),y inc $74 dey jsr L1294 dey bmi L1164 ldx L10B9+1 lda #$C3 sta $0305,x ldy #$FF L115C: jsr L1294 dec $74 dey bpl L11A2 L1164: ldy #$0F L1166: lda ($5C),y sta $2006,y dey bpl L1166 L116E: jsr HOME jmp L2000 L1174: tay adc $57 sta $57 tax L117A: lda ($5C),y sta $0280,x dex dey bpl L117A asl a lda #$AF sta $0281,x bcs L11A5 jsr L1294 tya beq L116E L1191: jsr BELL1 L1194: ldy $57 L1196: lda ($73),y dey beq L11A2 tax bpl L1196 sty $57 bmi L11A5 L11A2: jsr BELL1 L11A5: jmp L1065 L11A8: ldx $5E cmp #$95 bne L11E5 L11AE: inx ldy #$10 lda ($5C),y beq L11D1 cpx #$0A bcc L120E inc $59 ldy #$40 lda ($58),y dec $59 tay beq L120E lda $58 ldy $59 adc #$0F bcc L11CD iny L11CD: sta $58 sty $59 L11D1: jmp L1083 L11D4: eor #$F8 rol a tax eor $56 lsr a bne L11E0 bcs L11E0 dex L11E0: jsr L1254 bpl L11A5 L11E5: cmp #$9B beq L1194 cmp #$C1 bcs L1221 adc #$48 cmp #$F9 bcs L11D4 sbc #$CF beq L1201 tay dey beq L121C dey beq L11AE dey bne L11D1 L1201: ldy $59 lda $58 bne L1211 cpy #$14 bne L1211 L120B: dex L120C: bmi L11D1 L120E: jmp L1081 L1211: cpx #$0A bcs L120B sbc #$0F bcs L11CD dey bcc L11CD L121C: ldx $56 jmp L105F L1221: and #$5F sta $60 ldx #$00 ldy $5C stx $5C inx L122C: tya clc adc #$10 tay bcc L1235 inc $5D L1235: lda ($5C),y beq L124A iny lda ($5C),y dey cmp $60 bne L122C sty $58 lda $5D sta $59 jmp L107B L124A: dex bmi L120C tay lda #$14 sta $5D bne L1235 L1254: txa and #$0F sta $56 lsr a beq L127C php ora #$b0 sta $0401 asl a asl a asl a asl a plp ldy #$B1 bcs L126E ora #$80 iny L126E: sta $6F L1270: sty $0404 jsr PRODOS_MLI ; online .byte $c5 .word $006e lda $0281 L127C: ldy #$AF sty $0281 and #$0F tay clc adc #$0E sta $0380 adc #$74 sta L10B9+1 iny sty $57 dey rts L1294: lda $57 sta $0280 jsr PRODOS_MLI ; open .byte $c8 .word $0072 bcs L12F3 lda $77 sta $79 sty $7D lda #$2B ldx #$0D .byte $2C ; mask next L12AC: lda #$27 dex bne L12B5 lda #$2C ldx #$0D L12B5: sta $7C jsr PRODOS_MLI ; read bytes from open file .byte $ca .word $0078 iny beq L12F3 lsr $7E beq L12F3 tay lda ($7A),y and #$8F sta ($7A),y asl a beq L12AC ldy #$10 lda ($7A),y ldy #$07 L12D4: dey beq L12DC cmp L136E,y bne L12D4 L12DC: tya asl a asl a asl a asl a ldy #$00 ora ($7A),y sta ($7A),y lda $7A adc #$10 sta $7A bcc L12AC inc $7B bne L12AC L12F3: tay jsr PRODOS_MLI .byte $cc .word L12FB rts L12FB: .byte $01, $00 L12FD: .word $8001 L12FF: .byte $02 L1300: .byte $ad, $16, $29 scrcode "BITSY BYE" .byte $05, $24 scrcode "BY" .byte $0a, $20 scrcode "J.BROOKS" .byte $0f, $23 scrcode "P.FERRIE" .byte $12, $23 scrcode "RETURN:SELECT" .byte $17, $0d scrcode "ESC:BACK" .byte $17, $18 scrcode "TAB,#:NEW VOL" .byte $17, $28 scrcode "S6,D1:" .byte $00, $06 scrcode "/BASIS.SYSTEM" .byte $02, $00, $81, $02, $03, $80, $02, $00, $0b, $00 L136E: .byte $04, $FA, $06, $fc, $04 .byte $B3 .byte $FF L1375: .byte $a0, $c9, $c2, $c1, $d4, $ad, $ad