mirror of
https://github.com/a2-4am/million-perfect-letters.git
synced 2024-06-09 23:29:39 +00:00
restore compact memory map
This commit is contained in:
parent
f5a7d26718
commit
434a17f134
|
@ -14,11 +14,10 @@
|
||||||
; 2000..3FFF - hi-res page
|
; 2000..3FFF - hi-res page
|
||||||
; 4000+ - program code (relocated to here at startup)
|
; 4000+ - program code (relocated to here at startup)
|
||||||
; ...unused...
|
; ...unused...
|
||||||
; 7900..79FF - target words formatted array
|
; 8A00..8DFF - ProDOS file buffer for PROGRESS file
|
||||||
; 7A00..7DFF - ProDOS file buffer for PROGRESS file
|
; 8E10..8F37 - progress of puzzles in current world
|
||||||
; 7E10..7F37 - progress of puzzles in current world
|
; 8F38..8FFF - address lookup table for puzzles within following world data
|
||||||
; 7F38..7FFF - address lookup table for puzzles within following world data
|
; 9000..BEB3 - world data (read from disk)
|
||||||
; 8000..BEB3 - world data (read from disk)
|
|
||||||
; BEB4..BEFF - (de)acceleration function
|
; BEB4..BEFF - (de)acceleration function
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -71,11 +70,11 @@ HGRHI = $1B00 ; 0x00C0 bytes
|
||||||
WORLDFILEBUFFER = $1C00 ; 0x0400 bytes
|
WORLDFILEBUFFER = $1C00 ; 0x0400 bytes
|
||||||
PREFSFILEBUFFER = $1C00 ; 0x0400 bytes (note: same as WORLDFILEBUFFER)
|
PREFSFILEBUFFER = $1C00 ; 0x0400 bytes (note: same as WORLDFILEBUFFER)
|
||||||
|
|
||||||
PROGRESSFILEBUFFER = $7A00; 0x0400 bytes
|
PROGRESSFILEBUFFER = $8A00; 0x0400 bytes
|
||||||
PACKEDPROGRESS = $7E10 ; 0x00C0 bytes
|
PACKEDPROGRESS = $8E10 ; 0x00C0 bytes
|
||||||
PROGRESS = $7ED0 ; 0x0068 bytes
|
PROGRESS = $8ED0 ; 0x0068 bytes
|
||||||
PUZZLELO = $7F38 ; 0x0064 bytes
|
PUZZLELO = $8F38 ; 0x0064 bytes
|
||||||
PUZZLEHI = $7F9C ; 0x0064 bytes
|
PUZZLEHI = $8F9C ; 0x0064 bytes
|
||||||
WORLDDATA = $8000 ; 0x3F00 bytes max
|
WORLDDATA = $9000 ; 0x3F00 bytes max
|
||||||
DisableAccelerator = $BEB4
|
DisableAccelerator = $BEB4
|
||||||
EnableAccelerator = DisableAccelerator+3
|
EnableAccelerator = DisableAccelerator+3
|
||||||
|
|
|
@ -35,10 +35,10 @@ puzzle_data6 = $033A ; [0x08 bytes]
|
||||||
puzzle_data7 = $0342 ; [0x08 bytes]
|
puzzle_data7 = $0342 ; [0x08 bytes]
|
||||||
puzzle_data8 = $034A ; [0x08 bytes]
|
puzzle_data8 = $034A ; [0x08 bytes]
|
||||||
target_word_count = $0352 ; [0x01 byte ] number of records in <target_words>
|
target_word_count = $0352 ; [0x01 byte ] number of records in <target_words>
|
||||||
target_words = $7900 ; [0x100 bytes]
|
target_words = $0353 ; [0x80 bytes]
|
||||||
; each 8-byte record is a <puzzle_logical_width>-length word, no prefix
|
; each 8-byte record is a <puzzle_logical_width>-length word, no prefix
|
||||||
; extra bytes in each record are guaranteed to be 0x00
|
; extra bytes in each record are guaranteed to be 0x00
|
||||||
; max 32 words per puzzle
|
; max 16 words per puzzle
|
||||||
|
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
; InitPuzzleStorage
|
; InitPuzzleStorage
|
||||||
|
@ -52,14 +52,11 @@ target_words = $7900 ; [0x100 bytes]
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
InitPuzzleStorage
|
InitPuzzleStorage
|
||||||
sta puzzle_logical_width
|
sta puzzle_logical_width
|
||||||
ldx #$52
|
ldx #$CF
|
||||||
lda #0
|
lda #0
|
||||||
- sta puzzle_logical_width, x
|
- sta puzzle_logical_width, x
|
||||||
dex
|
dex
|
||||||
bne -
|
bne -
|
||||||
- sta target_words, x
|
|
||||||
inx
|
|
||||||
bne -
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
;------------------------------------------------------------------------------
|
;------------------------------------------------------------------------------
|
||||||
|
|
|
@ -57,7 +57,7 @@ MaybeLoadWorldFromDisk
|
||||||
jsr LoadFile1Shot
|
jsr LoadFile1Shot
|
||||||
!word @filename ; address of filename
|
!word @filename ; address of filename
|
||||||
!word WORLDDATA ; load address
|
!word WORLDDATA ; load address
|
||||||
!word $3F00 ; maximum length
|
!word $2F00 ; maximum length
|
||||||
!word WORLDFILEBUFFER ; address of ProDOS file buffer
|
!word WORLDFILEBUFFER ; address of ProDOS file buffer
|
||||||
bcs @failure
|
bcs @failure
|
||||||
jsr PreParseWorldData
|
jsr PreParseWorldData
|
||||||
|
|
Loading…
Reference in New Issue
Block a user