From 1c581b8c2dc351a9de08f9b467cf61556324cd84 Mon Sep 17 00:00:00 2001 From: giomba Date: Sun, 4 Dec 2022 21:22:59 +0100 Subject: [PATCH] Add progress bar. --- src/demo.bas | 14 ++++++++++++-- src/main.asm | 14 +++++++++++--- 2 files changed, 23 insertions(+), 5 deletions(-) diff --git a/src/demo.bas b/src/demo.bas index 82bdb70..7be2de4 100644 --- a/src/demo.bas +++ b/src/demo.bas @@ -1,4 +1,4 @@ - 5 print"merry christmas" + 5 c=0 10 data"vs g3a1g2e6, c3a1g2e6" 12 data"vs d3r1d2b6, c3r1c2g6" 14 data"vs a3r1a2c3b1a2, g3a1g2e4r2" @@ -18,7 +18,11 @@ 42 data"va f6d3f1d2, e6g5r1" 44 data"va e4c2e3d1b2, e6e4r2" 46 data"x" - 100 ns%=2:vt=36874:dimn%(ns%,80),tm%(ns%),sp%(ns%) + 100 print"crunching numbers..." + 105 print"hold tight!" + 106 print:print:print:print"this amazing xperience" + 107 print"is offered by develer" + 110 ns%=2:vt=36874:dimn%(ns%,80),tm%(ns%),sp%(ns%) 160 fori=0tons%:n%(i,0)=0:next 190 sh%=16:cv=2:in$="":c$="" 230 gosub800 @@ -61,10 +65,16 @@ 690 nextd 700 fori=0to4 710 pokevt+1,0:nexti + 720 restore + 730 clr 740 sys64802 750 sp%(i)=j+1 760 tm%(i)=0:goto600 800 ifc$="x"thenreturn + 805 c=c+1 + 806 d=c/409*21 + 807 poke304,d + 808 sys49145 810 iflen(in$)=0thenreadin$ 820 c$=left$(in$,1) 830 in$=right$(in$,len(in$)-1) diff --git a/src/main.asm b/src/main.asm index 374dba1..f511fd3 100644 --- a/src/main.asm +++ b/src/main.asm @@ -5,6 +5,7 @@ dstPointer = $b7 dstPointerEnd = $b9 fake_current_byte = $126 count = $128 +loading_bar = $130 org $a000 @@ -37,9 +38,8 @@ coldstart SUBROUTINE lda #$80 ; set for control messages only jsr $ff90 ; control kernal messages -.oracopio: + ; copy BASIC demo code in BASIC memory jsr copycode -.almost_ready: ; set current BASIC line number lda #$ff @@ -47,7 +47,7 @@ coldstart SUBROUTINE lda #0 sta $3b - ; set start of variables + ; set start of BASIC variables lda #<($1001 + demo_end - demo_start) sta $2d lda #>($1001 + demo_end - demo_start) @@ -151,6 +151,12 @@ copyloop: .finito: rts +loading_feedback SUBROUTINE + ldx loading_bar + lda #$79 + sta 7988,x + rts + message: BYTE #$0d,#$0d,"PLEASE WAIT 20 SEC",#$0d,"I'M JUST",#$0d,"AN OLD COMPUTER",#$0d,#0 @@ -161,6 +167,8 @@ demo_end: DEMO_LEN SET demo_end - demo_start ECHO DEMO_LEN +. = $bff9 + jmp loading_feedback . = $bffc jmp coldstart