mist: selena: some cleanups as we start working on this age again

This commit is contained in:
Vince Weaver 2020-07-29 13:11:53 -04:00
parent e9157ad060
commit 5e3f1e1d3a
9 changed files with 79 additions and 41 deletions

View File

@ -203,7 +203,7 @@ selena.o: selena.s zp.inc hardware.inc common_defines.inc \
keyboard.s \
draw_pointer.s \
speaker_beeps.s \
organ_puzzle.s \
selena_organ_puzzle.s \
gr_copy.s audio.s text_print.s decompress_fast_v2.s
ca65 -o selena.o selena.s -l selena.lst

View File

@ -12,3 +12,41 @@ Compiling:
utils to compile
Then run "make" and hope for the best
Sizes:
sectors on disk = 35*16 = 560
three tracks for dos -48
one track for VTOC -16
======
496
disk1:
HELLO 566 -> 768 -> 3
LOADER 4006 -> 4096 -> 16
MIST_TITLE 21008 -> 21248 -> 83
MIST 39780 -> 39936 -> 156
OCTAGON 32627 -> 32768 -> 128
VIEWER 4834 -> 4864 -> 19
DENTIST 7879 -> 7936 -> 31
D'NI 6863 -> 6912 -> 27
SAVE0 74 -> 256 -> 1
SHIP 5047 -> 5120 -> 20
========
484+10 = 494 = 126k
disk2:
CHANNEL 34418 -> 34560 -> 135
ARBOR 31591 -> 31744 -> 124
NIBEL 15467 -> 15616 -> 61
CABIN 15398 -> 15616 -> 61
========
381+4= 385 = 98k
disk3:
MECHE 28857 -> 28928 -> 113
SELENA 32902 -> 33024 -> 129
STONEY 29984 -> 30208 -> 118
GENERATOR 7456 -> 7680 -> 30
========
390+4=394 = 100k

View File

@ -7,14 +7,18 @@ For release 1.0
+ MIST
-- open door to clock puzzle?
-- only allow entering ship if it's up
-- maybe another location on dock to ship
+ OCTAGON
-- load "red page" sound into LC and play it?
+ SELENA
-- maybe another location on dock to ship
-- sounds/door puzzle
-- load 1s clip of sounds (4k each) into language card?
-- have sub background change
-- enable turning on lights
-- flame trench has left/right mixed, left view missing
+ STONEY
-- hook up compass rose

View File

@ -2,7 +2,7 @@
.include "common_defines.inc"
.if 1
.if 0
; if doing playthrough
.include "playthrough_save.inc"
.endif
@ -37,7 +37,15 @@
.byte OCTAGON_CENTER ; LOCATION = $82
.endif
.if 0
.if 1
; Selena
.byte LOAD_SELENA ; WHICH_LOAD = $80
.byte DIRECTION_N ; DIRECTION = $81
.byte SELENA_WALKWAY1 ; LOCATION = $82
.endif
.if 1
.byte $00 ; RED_PAGES_TAKEN = $83
.byte $00 ; BLUE_PAGES_TAKEN = $84
.byte $00 ; CLOCK_BRIDGE = $85

View File

@ -527,8 +527,8 @@ location28:
.byte DIRECTION_W ; west exit_dir
.word $0000 ; north bg
.word $0000 ; south bg
.word tunnel_steps_e_lzsa ; east bg
.word tunnel_steps_w_lzsa ; west bg
.word tunnel_steps_w_lzsa ; east bg
.word tunnel_steps_e_lzsa ; west bg
.byte BG_EAST|BG_WEST
.byte $ff

View File

@ -551,6 +551,12 @@ go_to_selena:
lda #LOAD_SELENA ; Selena
sta WHICH_LOAD
lda #SELENA_INSIDE_SHIP
sta LOCATION
lda #DIRECTION_E
sta DIRECTION
lda #$ff
sta LEVEL_OVER

View File

@ -4,15 +4,15 @@
.byte DIRECTION_S ; DIRECTION = $81
.byte OCTAGON_TEMPLE_CENTER ; LOCATION = $82
.byte (OCTAGON_PAGE|MECHE_PAGE)
.byte (OCTAGON_PAGE|MECHE_PAGE|CHANNEL_PAGE)
; RED_PAGES_TAKEN = $83
.byte (OCTAGON_PAGE|MECHE_PAGE)
.byte (OCTAGON_PAGE|MECHE_PAGE|CHANNEL_PAGE)
; BLUE_PAGES_TAKEN = $84
.byte $1
; CLOCK_BRIDGE = $85
.byte $1
; GEAR_OPEN = $86
.byte (MARKER_DOCK|MARKER_GEARS|MARKER_SPACESHIP|MARKER_CLOCK|MARKER_POOL)
.byte (MARKER_DOCK|MARKER_GEARS|MARKER_SPACESHIP|MARKER_CLOCK|MARKER_POOL|MARKER_CABIN)
; MARKER_SWITCHES = $87
.byte $2
; CLOCK_HOUR = $88
@ -53,15 +53,15 @@
.byte $00 ; MECHE_LOCK4 = $A8
.byte $00 ; HOLDING_PAGE = $A9
.byte $2
.byte $3
; RED_PAGE_COUNT = $AA
.byte $2
.byte $3
; BLUE_PAGE_COUNT = $AB
.byte $00 ; VIEWER_CHANNEL = $AC
.byte $00 ; VIEWER_LATCHED = $AD
.byte $2
.byte $4
; TOWER_ROTATION = $AE
.byte $00 ; SHIP_RAISED = $AF
; stoneship

View File

@ -32,6 +32,7 @@ selena_start:
lda #0
sta DRAW_PAGE
sta LEVEL_OVER
; init cursor
@ -54,33 +55,15 @@ selena_start:
; hook up the special functions
; these might be disabled if we've been here before
; FIXME: this means we cannot save game inside spaceship on selena
ldy #LOCATION_SPECIAL_EXIT
lda #DIRECTION_E
sta location1,Y ; enable controls
lda #DIRECTION_W
sta location2,Y ; enable organ
lda #DIRECTION_N
sta location0,Y ; enable mist exit
lda #0
sta LEVEL_OVER
.if 1
lda #SELENA_INSIDE_SHIP
sta LOCATION
lda #DIRECTION_E
sta DIRECTION
.else
lda #SELENA_WALKWAY1
sta LOCATION
lda #DIRECTION_N
sta DIRECTION
.endif
lda #DIRECTION_E ; enable controls
sta location1,Y ; SELENA_CONTROLS
lda #DIRECTION_W ; enable organ
sta location2,Y ; SELENA_ELECTRIC_ORGAN
lda #DIRECTION_N ; enable mist exit
sta location0,Y ; SELENA_INSIDE_SHIP
; set up initial location
@ -394,7 +377,7 @@ keypad_press:
.include "graphics_selena/selena_graphics.inc"
; puzzles
.include "organ_puzzle.s"
.include "selena_organ_puzzle.s"
; linking books

View File

@ -2,6 +2,9 @@
; second time switches us to selenetic, plays sound
; disables organ and display
; FIXME: cannot save game in ship on selena
; as selena.s resets puzzle back to myst on entry
dome_pressed:
lda ANIMATE_FRAME
@ -73,10 +76,6 @@ dome_press_second:
rts
linking_filename:
.byte "LINK_NOISE.BTC",0
;==========================
; o/` Standing in my yard
; where they tore down the garage