mirror of
https://github.com/deater/dos33fsprogs.git
synced 2024-06-20 01:29:36 +00:00
mist: selena: some cleanups as we start working on this age again
This commit is contained in:
parent
e9157ad060
commit
5e3f1e1d3a
|
@ -203,7 +203,7 @@ selena.o: selena.s zp.inc hardware.inc common_defines.inc \
|
||||||
keyboard.s \
|
keyboard.s \
|
||||||
draw_pointer.s \
|
draw_pointer.s \
|
||||||
speaker_beeps.s \
|
speaker_beeps.s \
|
||||||
organ_puzzle.s \
|
selena_organ_puzzle.s \
|
||||||
gr_copy.s audio.s text_print.s decompress_fast_v2.s
|
gr_copy.s audio.s text_print.s decompress_fast_v2.s
|
||||||
ca65 -o selena.o selena.s -l selena.lst
|
ca65 -o selena.o selena.s -l selena.lst
|
||||||
|
|
||||||
|
|
38
mist/README
38
mist/README
|
@ -12,3 +12,41 @@ Compiling:
|
||||||
utils to compile
|
utils to compile
|
||||||
|
|
||||||
Then run "make" and hope for the best
|
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
|
||||||
|
|
|
@ -7,14 +7,18 @@ For release 1.0
|
||||||
+ MIST
|
+ MIST
|
||||||
-- open door to clock puzzle?
|
-- open door to clock puzzle?
|
||||||
-- only allow entering ship if it's up
|
-- only allow entering ship if it's up
|
||||||
|
-- maybe another location on dock to ship
|
||||||
|
|
||||||
+ OCTAGON
|
+ OCTAGON
|
||||||
-- load "red page" sound into LC and play it?
|
-- load "red page" sound into LC and play it?
|
||||||
|
|
||||||
+ SELENA
|
+ SELENA
|
||||||
|
-- maybe another location on dock to ship
|
||||||
-- sounds/door puzzle
|
-- sounds/door puzzle
|
||||||
-- load 1s clip of sounds (4k each) into language card?
|
-- load 1s clip of sounds (4k each) into language card?
|
||||||
-- have sub background change
|
-- have sub background change
|
||||||
|
-- enable turning on lights
|
||||||
|
-- flame trench has left/right mixed, left view missing
|
||||||
|
|
||||||
+ STONEY
|
+ STONEY
|
||||||
-- hook up compass rose
|
-- hook up compass rose
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
.include "common_defines.inc"
|
.include "common_defines.inc"
|
||||||
|
|
||||||
|
|
||||||
.if 1
|
.if 0
|
||||||
; if doing playthrough
|
; if doing playthrough
|
||||||
.include "playthrough_save.inc"
|
.include "playthrough_save.inc"
|
||||||
.endif
|
.endif
|
||||||
|
@ -37,7 +37,15 @@
|
||||||
.byte OCTAGON_CENTER ; LOCATION = $82
|
.byte OCTAGON_CENTER ; LOCATION = $82
|
||||||
.endif
|
.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 ; RED_PAGES_TAKEN = $83
|
||||||
.byte $00 ; BLUE_PAGES_TAKEN = $84
|
.byte $00 ; BLUE_PAGES_TAKEN = $84
|
||||||
.byte $00 ; CLOCK_BRIDGE = $85
|
.byte $00 ; CLOCK_BRIDGE = $85
|
||||||
|
|
|
@ -527,8 +527,8 @@ location28:
|
||||||
.byte DIRECTION_W ; west exit_dir
|
.byte DIRECTION_W ; west exit_dir
|
||||||
.word $0000 ; north bg
|
.word $0000 ; north bg
|
||||||
.word $0000 ; south bg
|
.word $0000 ; south bg
|
||||||
.word tunnel_steps_e_lzsa ; east bg
|
.word tunnel_steps_w_lzsa ; east bg
|
||||||
.word tunnel_steps_w_lzsa ; west bg
|
.word tunnel_steps_e_lzsa ; west bg
|
||||||
.byte BG_EAST|BG_WEST
|
.byte BG_EAST|BG_WEST
|
||||||
.byte $ff
|
.byte $ff
|
||||||
|
|
||||||
|
|
|
@ -551,6 +551,12 @@ go_to_selena:
|
||||||
lda #LOAD_SELENA ; Selena
|
lda #LOAD_SELENA ; Selena
|
||||||
sta WHICH_LOAD
|
sta WHICH_LOAD
|
||||||
|
|
||||||
|
lda #SELENA_INSIDE_SHIP
|
||||||
|
sta LOCATION
|
||||||
|
|
||||||
|
lda #DIRECTION_E
|
||||||
|
sta DIRECTION
|
||||||
|
|
||||||
lda #$ff
|
lda #$ff
|
||||||
sta LEVEL_OVER
|
sta LEVEL_OVER
|
||||||
|
|
||||||
|
|
|
@ -4,15 +4,15 @@
|
||||||
.byte DIRECTION_S ; DIRECTION = $81
|
.byte DIRECTION_S ; DIRECTION = $81
|
||||||
.byte OCTAGON_TEMPLE_CENTER ; LOCATION = $82
|
.byte OCTAGON_TEMPLE_CENTER ; LOCATION = $82
|
||||||
|
|
||||||
.byte (OCTAGON_PAGE|MECHE_PAGE)
|
.byte (OCTAGON_PAGE|MECHE_PAGE|CHANNEL_PAGE)
|
||||||
; RED_PAGES_TAKEN = $83
|
; RED_PAGES_TAKEN = $83
|
||||||
.byte (OCTAGON_PAGE|MECHE_PAGE)
|
.byte (OCTAGON_PAGE|MECHE_PAGE|CHANNEL_PAGE)
|
||||||
; BLUE_PAGES_TAKEN = $84
|
; BLUE_PAGES_TAKEN = $84
|
||||||
.byte $1
|
.byte $1
|
||||||
; CLOCK_BRIDGE = $85
|
; CLOCK_BRIDGE = $85
|
||||||
.byte $1
|
.byte $1
|
||||||
; GEAR_OPEN = $86
|
; 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
|
; MARKER_SWITCHES = $87
|
||||||
.byte $2
|
.byte $2
|
||||||
; CLOCK_HOUR = $88
|
; CLOCK_HOUR = $88
|
||||||
|
@ -53,15 +53,15 @@
|
||||||
.byte $00 ; MECHE_LOCK4 = $A8
|
.byte $00 ; MECHE_LOCK4 = $A8
|
||||||
.byte $00 ; HOLDING_PAGE = $A9
|
.byte $00 ; HOLDING_PAGE = $A9
|
||||||
|
|
||||||
.byte $2
|
.byte $3
|
||||||
; RED_PAGE_COUNT = $AA
|
; RED_PAGE_COUNT = $AA
|
||||||
.byte $2
|
.byte $3
|
||||||
; BLUE_PAGE_COUNT = $AB
|
; BLUE_PAGE_COUNT = $AB
|
||||||
|
|
||||||
|
|
||||||
.byte $00 ; VIEWER_CHANNEL = $AC
|
.byte $00 ; VIEWER_CHANNEL = $AC
|
||||||
.byte $00 ; VIEWER_LATCHED = $AD
|
.byte $00 ; VIEWER_LATCHED = $AD
|
||||||
.byte $2
|
.byte $4
|
||||||
; TOWER_ROTATION = $AE
|
; TOWER_ROTATION = $AE
|
||||||
.byte $00 ; SHIP_RAISED = $AF
|
.byte $00 ; SHIP_RAISED = $AF
|
||||||
; stoneship
|
; stoneship
|
||||||
|
|
|
@ -32,6 +32,7 @@ selena_start:
|
||||||
|
|
||||||
lda #0
|
lda #0
|
||||||
sta DRAW_PAGE
|
sta DRAW_PAGE
|
||||||
|
sta LEVEL_OVER
|
||||||
|
|
||||||
; init cursor
|
; init cursor
|
||||||
|
|
||||||
|
@ -54,33 +55,15 @@ selena_start:
|
||||||
|
|
||||||
; hook up the special functions
|
; hook up the special functions
|
||||||
; these might be disabled if we've been here before
|
; 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
|
ldy #LOCATION_SPECIAL_EXIT
|
||||||
lda #DIRECTION_E
|
lda #DIRECTION_E ; enable controls
|
||||||
sta location1,Y ; enable controls
|
sta location1,Y ; SELENA_CONTROLS
|
||||||
lda #DIRECTION_W
|
lda #DIRECTION_W ; enable organ
|
||||||
sta location2,Y ; enable organ
|
sta location2,Y ; SELENA_ELECTRIC_ORGAN
|
||||||
lda #DIRECTION_N
|
lda #DIRECTION_N ; enable mist exit
|
||||||
sta location0,Y ; enable mist exit
|
sta location0,Y ; SELENA_INSIDE_SHIP
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
; set up initial location
|
; set up initial location
|
||||||
|
|
||||||
|
@ -394,7 +377,7 @@ keypad_press:
|
||||||
.include "graphics_selena/selena_graphics.inc"
|
.include "graphics_selena/selena_graphics.inc"
|
||||||
|
|
||||||
; puzzles
|
; puzzles
|
||||||
.include "organ_puzzle.s"
|
.include "selena_organ_puzzle.s"
|
||||||
|
|
||||||
|
|
||||||
; linking books
|
; linking books
|
||||||
|
|
|
@ -2,6 +2,9 @@
|
||||||
; second time switches us to selenetic, plays sound
|
; second time switches us to selenetic, plays sound
|
||||||
; disables organ and display
|
; disables organ and display
|
||||||
|
|
||||||
|
; FIXME: cannot save game in ship on selena
|
||||||
|
; as selena.s resets puzzle back to myst on entry
|
||||||
|
|
||||||
dome_pressed:
|
dome_pressed:
|
||||||
|
|
||||||
lda ANIMATE_FRAME
|
lda ANIMATE_FRAME
|
||||||
|
@ -73,10 +76,6 @@ dome_press_second:
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
linking_filename:
|
|
||||||
.byte "LINK_NOISE.BTC",0
|
|
||||||
|
|
||||||
|
|
||||||
;==========================
|
;==========================
|
||||||
; o/` Standing in my yard
|
; o/` Standing in my yard
|
||||||
; where they tore down the garage
|
; where they tore down the garage
|
Loading…
Reference in New Issue
Block a user