!to "bas1scroll.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 PET 2001-8N (Basic/Kernal 1) ; Compiler used for this template: ACME 0.94.6 ;-------------------------------------------------- screen=$81e0 get =$ffe4 counter=$0a lda #$93 jsr $ffd2 ldx #$00 h1: lda header,x sta $8000,x inx cpx #$c8 bne h1 ldx #$00 n1: lda notes,x sta $8118,x inx cpx #$50 bne n1 ldx #$00 t1: lda trivia,x sta $82a8,x inx cpx #$78 bne t1 ldx #$00 l0: lda #$44 sta $81b8,x lda #$46 sta $8208,x inx cpx #$28 bne l0 gettext: sei txa pha ldy anipos cpy #$06 bne a1 ldy #$00 sty anipos a1: lda ani,y inc anipos sta screen sta screen+39 ldx #$00 ; waste time l1: ldy #$00 l: dey bne l inx cpx #$50 bne l1 pla txa ldx txtpos inc txtpos lda text,x cmp #$00 ; at $00 repeat bne + ldx #00 stx txtpos beq gettext + sta screen+37 cli - jsr get cmp #$20 ; wait for space-key beq + scroll: lda $202 ; compare inctime value - cmp $202 beq - sei ldx #$02 -- lda screen+1,x ; hardscroll sta screen,x inx cpx #38 bne -- cli lda $202 ; compare inctime value --- cmp $202 beq --- jmp gettext + jmp $c389 ani !by $46,$43,$44,$45,$44,$43,$40 anipos !by $00 txtpos !by $00 text !scr "hi, this is a tiny scroller. i've never seen a scroller on a pet basic 1 machine. here is one ! " !scr "it is possible to move 256 chars in a row. press space to end this humpy thing. ;-) " !by $00 header !scr " QQQ QQQQ QQQQQ " !scr " Q Q Q Q " !scr " QQQQ QQQQ Q " !scr " Q Q Q kernal 1.0 scroll " !scr "Q QQQQ Q " notes !scr " (/) 09.feb. 2014 by m. sachse " !scr " http://www.cbmhardware.de " trivia !scr " done on a sunday evening just for fun " !scr " " !scr " hope you'll like it "
Letzte Änderung: 2019-01-04 09:52:57