Text-Scroller for CBM BASIC 1.0 machines
Suche
Index
FAQ
Kontakt
Zurück
!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
Rubriken-Übersicht
 4 Besucher online 

Valid XHTML 1.0 Transitional Valid CSS!