demo [WIP]

This commit is contained in:
4am 2020-09-25 23:32:51 -04:00
parent 74ee53e015
commit bf7bd82b24
4 changed files with 39 additions and 15 deletions

View File

@ -59,7 +59,7 @@ MaybeLoadWorldFromDisk
!word $2F00 ; maximum length
!word WORLDFILEBUFFER ; address of ProDOS file buffer
bcs @exit
jsr @PreParseWorldData
jsr PreParseWorldData
cpx #100
bne +
clc
@ -72,7 +72,7 @@ MaybeLoadWorldFromDisk
!byte 1 ; length
!raw $FD ; SMC
@PreParseWorldData
PreParseWorldData
; find the starting address of each of the 100 puzzles in this world
; in: $9000+ contains raw world data from disk
lda #$FF
@ -107,7 +107,7 @@ MaybeLoadWorldFromDisk
lda ($FE),y
cmp #$0D ; CR - hide it
beq @IncAndGetChar
rts
@exit rts
;------------------------------------------------------------------------------
; LoadProgressFromDisk

View File

@ -19,6 +19,8 @@
; all other registers & flags clobbered
;------------------------------------------------------------------------------
RunDemo
jsr Home
jsr LoadDemoPuzzles
+LDADDR DemoCode
+ST16 GetNextDemoByte+1
- jsr GetNextDemoByte
@ -31,13 +33,24 @@ RunDemo
bpl -
jsr DemoOnEXIT ; does not return
LoadDemoPuzzle
; TODO
rts
LoadDemoPuzzles
ldx #0
- lda demoPuzzles, x
sta WORLDDATA, x
inx
bne -
jmp PreParseWorldData
DrawDemoPuzzleChrome
; TODO
rts
+PRINT_AT sDemo, 2, 33
lda gPuzzleID
clc
adc #$31
sta @s+1
+LDADDR @s
jsr DrawHeavySilkString
jmp DrawPuzzleChromeCommon
@s !byte 1,$FD
DemoOnEXIT
lda #$FF
@ -58,7 +71,7 @@ DemoOnLOAD
jsr InitPuzzleStorage
jsr InitPuzzleSound
ldx gPuzzleID
jsr LoadDemoPuzzle
jsr LoadPuzzleFromMemory
lda #0
sta gSelectedLogicalColumn
jsr DrawDemoPuzzleChrome
@ -126,6 +139,14 @@ UP = 6
DOWN = 7
WAIT = 8
demoPuzzles
!raw "AOCD,LTLE,IBUH|ABLE,ITCH,LOUD",$0A
!raw "["
sDemo
!byte 6
!raw "DEMO-0"
sUpDown
!byte 24
!raw "MOVE COLUMNS UP AND DOWN"

View File

@ -10,7 +10,7 @@
;
;------------------------------------------------------------------------------
; DrawLargeCharacter
; DrawHeavySilkString
;
; in: A/Y contains address of length-prefixed string (length 1..40,
; characters 0x20..0x5A only)

View File

@ -311,10 +311,6 @@ AnimatePuzzleIntoPlace
; out: all registers and flags clobbered
;------------------------------------------------------------------------------
DrawPuzzleChrome
+PRINT_AT sTitleLine1, 0, 0
+PRINT_AT sTitleLine2, 1, 0
+PRINT_AT sTitleLine3, 2, 0
+PRINT_AT sLevel, 0, 34
+LDADDR kWorldShortNames
+ST16 $FE
lda gWorldID
@ -339,7 +335,14 @@ DrawPuzzleChrome
lda #$30 ; padding character ('0')
jsr ToASCIIString
+LDADDR $00F1
jmp DrawHeavySilkString
jsr DrawHeavySilkString
DrawPuzzleChromeCommon
+PRINT_AT sTitleLine1, 0, 0
+PRINT_AT sTitleLine2, 1, 0
+PRINT_AT sTitleLine3, 2, 0
+PRINT_AT sLevel, 0, 34
rts
;------------------------------------------------------------------------------
; AnimatePuzzleCompleted