;:sys36864 *=$8000 ;.opt oo tmp =2 return =$aad7 bsout =$ffd2 setpar =$ffba setnam =$ffbd clrscr =$e544 gra =$2000 open =$ffc0 close =$ffc3 clrchn =$ffcc chkout =$ffc9 buffer =$cf00 chkin =$ffc6 param =$e219 komma =$aefd get =65508 name =$bb namlen =$b7 space =$ab3f tname =247 lda #29 sta 53272 lda #59 sta 53265 jsr clear jsr fetch jsr hardcopy jsr n lda #21 sta 53272 lda #27 sta 53265 jmp clrscr me1 brk tnamlen brk use brk flg .word 0 xk .word 0 yk brk axk .word 0 mulh .byt 0,1,2,3,5,6,7,8,10,11,12,13,15,16 .byt 17,18,20,21,22,23,25,26,27,28,30,31 mull .byt 0,$40,$80,$c0 n lda #0 jsr setnam tay lda #4 tax jsr setpar jsr open ldx #4 jsr chkout ldy #6 tab jsr space dey bne tab ldy #3 nn lda (tname),y jsr bsout iny cpy tnamlen bcc nn jsr return jsr return jmp sev7 fetch jsr komma jsr param jsr open ldx #2 jsr chkin jsr get jsr get ldx #8 lda #gra sta tmp sty tmp+1 lp1 ldy #0 lp2 jsr get sta (tmp),y iny bne lp2 lda tmp clc adc #64 sta tmp lda tmp+1 adc #1 sta tmp+1 nocy dex bne lp1 jsr clrchn lda namlen sta tnamlen lda name ldy name+1 sta tname sty tname+1 lda #2 jmp close clear ldx #32 ldy #0 sty tmp stx tmp+1 tya clr sta (tmp),y iny bne clr inc tmp+1 dex bne clr lda #1 ldx #4 stx tmp+1 clin sta (tmp),y iny bne clin inc tmp+1 dex bne clin rts hardcopy =* lda #0 jsr setnam tay lda #4 tax jsr setpar jsr open ldx #4 jsr chkout lda #10 sta flg lda #0 sta me1 sev1 lda #40 sta flg+1 lda #8 jsr bsout lda #0 sta xk sta xk+1 sev2 lda me1 sta yk lda #0 sta use sev3 lda xk ldx xk+1 ldy yk jsr hposn ldy #0 lda (tmp),y ldx use sta buffer,x inc yk inx stx use cpx #7 bne sev3 lda #0 ldy #7 sev4 ldx #7 sev5 asl buffer,x rol dex bpl sev5 ora #$80 jsr bsout dey bpl sev4 lda xk clc adc #8 sta xk bcc sev6 inc xk+1 sev6 dec flg+1 bne sev2 jsr return lda me1 clc adc #7 sta me1 dec flg beq sev7 sev8 jmp sev1 sev7 lda #15 jsr bsout jsr clrchn lda #4 jmp close hposn sta axk stx axk+1 tya lsr lsr lsr tax lda mulh,x ora #>gra sta tmp+1 txa and #3 tax lda mull,x sta tmp tya and #7 clc adc tmp sta tmp lda axk and #$f8 clc adc tmp sta tmp lda tmp+1 adc axk+1 sta tmp+1 rts