!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