;--------------------------------------------------------- !to "cleanscreen.prg",cbm ; Basicstart *= $0400 !byte $00,$0b,$04,$0a,$00,$9e,$31,$30,$33,$37,$00,$00,$00 ; main *=$040d ;-------------------------------------------------- ; virtual machine in VICE: CBM 3032B /32K ; Compiler used for this template: ACME 0.91 ;-------------------------------------------------- screen=$8000 get =$ffe4 rowcount=$0a inctime= $8f ;-------------------------------------------------- ; fill screen-ram ;-------------------------------------------------- ldy #$00 sty rowcount -- ldx #$00 - lda text,x ; get letter a: sta screen,y ; write it to screen ram iny bne + inc a+2 + inx cpx #$28 ; 40 column reached ? bne - inc rowcount lda rowcount cmp #$19 ; 25 lines reached ? bne -- - jsr get cmp #$20 ; wait for space-key beq + bne - + ;-------------------------------------------------- ; your 255 byte-space begins here and ends at rts ;-------------------------------------------------- lda #$80 sta a+2 sta m2+2 sta m0+2 lda #$83 sta m3+2 sta m1+2 ldx #$00 stx rowcount ldy #$00 j3: lda #93 m2: sta screen,x m3: sta $83c0,y clc txa adc #40 bcc+ inc m2+2 + tax sec tya sbc #40 bcs + dec m3+2 + tay jsr irq inc rowcount lda rowcount cmp #13 bne j3 jsr washer - ldx $0b inx stx rowcount stx $0b lda #93 sta j0+1 jsr irq jsr w2 ldx $0b dex stx $0b lda #' ' sta j0+1 jsr irq jsr w2 inc $0b lda rowcount cmp #39 bne - ldx #$00 ldy #$00 j1: lda #' ' m0: sta screen+39,x m1: sta $83c0+39,y clc txa adc #40 bcc+ inc m0+2 + tax sec tya sbc #40 bcs + dec m1+2 + tay jsr irq inc rowcount lda rowcount cmp #53 bne j1 rts washer: ldx #$00 stx $0b w2: ldy #0 j0: lda #93 m: sta screen,x clc txa adc #40 bcc + inc m+2 + tax iny cpy #25 bne j0 lda #$80 sta m+2 rts irq pha lda $8f - cmp $8f beq - pla rts text !PET "please erase this awful text in here !!!"
Letzte Änderung: 2019-01-04 09:53:21