mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-07-08 04:24:43 +00:00
riven: move more stuff to qload
this frees up room in the levels...
This commit is contained in:
@ -42,7 +42,11 @@ QLOAD: qload.o
|
|||||||
ld65 -o QLOAD qload.o -C $(LINKER_SCRIPTS)/apple2_1800.inc
|
ld65 -o QLOAD qload.o -C $(LINKER_SCRIPTS)/apple2_1800.inc
|
||||||
|
|
||||||
qload.o: qload.s qboot.inc \
|
qload.o: qload.s qboot.inc \
|
||||||
zx02_optim.s
|
zx02_optim.s wait.s \
|
||||||
|
draw_pointer.s log_table.s \
|
||||||
|
graphics_sprites/pointer_sprites.inc \
|
||||||
|
hgr_14x14_sprite.s \
|
||||||
|
keyboard.s
|
||||||
ca65 -o qload.o qload.s -l qload.lst
|
ca65 -o qload.o qload.s -l qload.lst
|
||||||
|
|
||||||
|
|
||||||
@ -53,20 +57,12 @@ HELLO: hello.bas
|
|||||||
|
|
||||||
####
|
####
|
||||||
|
|
||||||
#LOADER: loader.o
|
|
||||||
# ld65 -o LOADER loader.o -C $(LINKER_SCRIPTS)/apple2_1000.inc
|
|
||||||
|
|
||||||
#loader.o: loader.s hardware_detect.s
|
|
||||||
# ca65 -o loader.o loader.s -l loader.lst
|
|
||||||
|
|
||||||
####
|
|
||||||
|
|
||||||
TITLE: title.o
|
TITLE: title.o
|
||||||
ld65 -o TITLE title.o -C $(LINKER_SCRIPTS)/apple2_4000.inc
|
ld65 -o TITLE title.o -C $(LINKER_SCRIPTS)/apple2_4000.inc
|
||||||
|
|
||||||
title.o: title.s zp.inc hardware.inc \
|
title.o: title.s zp.inc hardware.inc \
|
||||||
qload.inc wait_a_bit.s \
|
qload.inc wait_a_bit.s \
|
||||||
hgr_sprite.s hgr_tables.s \
|
hgr_tables.s \
|
||||||
graphics_title/riven_title.hgr.zx02
|
graphics_title/riven_title.hgr.zx02
|
||||||
ca65 -o title.o title.s -l title.lst
|
ca65 -o title.o title.s -l title.lst
|
||||||
|
|
||||||
@ -77,11 +73,7 @@ LEVEL_OUTSIDE: level_outside.o
|
|||||||
|
|
||||||
level_outside.o: level_outside.s zp.inc hardware.inc \
|
level_outside.o: level_outside.s zp.inc hardware.inc \
|
||||||
qload.inc \
|
qload.inc \
|
||||||
hgr_sprite.s hgr_tables.s \
|
|
||||||
keyboard.s \
|
|
||||||
hgr_14x14_sprite.s \
|
|
||||||
disk39_files/leveldata_outside.inc \
|
disk39_files/leveldata_outside.inc \
|
||||||
graphics_sprites/pointer_sprites.inc \
|
|
||||||
graphics_outside/outside_graphics.inc
|
graphics_outside/outside_graphics.inc
|
||||||
ca65 -o level_outside.o level_outside.s -l level_outside.lst
|
ca65 -o level_outside.o level_outside.s -l level_outside.lst
|
||||||
|
|
||||||
@ -92,11 +84,7 @@ LEVEL_PROJECTOR: level_projector.o
|
|||||||
|
|
||||||
level_projector.o: level_projector.s zp.inc hardware.inc \
|
level_projector.o: level_projector.s zp.inc hardware.inc \
|
||||||
qload.inc \
|
qload.inc \
|
||||||
hgr_sprite.s hgr_tables.s \
|
|
||||||
keyboard.s \
|
|
||||||
hgr_14x14_sprite.s \
|
|
||||||
disk39_files/leveldata_projector.inc \
|
disk39_files/leveldata_projector.inc \
|
||||||
graphics_sprites/pointer_sprites.inc \
|
|
||||||
graphics_projector/projector_graphics.inc
|
graphics_projector/projector_graphics.inc
|
||||||
ca65 -o level_projector.o level_projector.s -l level_projector.lst
|
ca65 -o level_projector.o level_projector.s -l level_projector.lst
|
||||||
|
|
||||||
@ -107,11 +95,7 @@ LEVEL_MAGSTEPS: level_magsteps.o
|
|||||||
|
|
||||||
level_magsteps.o: level_magsteps.s zp.inc hardware.inc \
|
level_magsteps.o: level_magsteps.s zp.inc hardware.inc \
|
||||||
qload.inc \
|
qload.inc \
|
||||||
hgr_sprite.s hgr_tables.s \
|
|
||||||
keyboard.s \
|
|
||||||
hgr_14x14_sprite.s \
|
|
||||||
disk39_files/leveldata_magsteps.inc \
|
disk39_files/leveldata_magsteps.inc \
|
||||||
graphics_sprites/pointer_sprites.inc \
|
|
||||||
graphics_magsteps/magsteps_graphics.inc
|
graphics_magsteps/magsteps_graphics.inc
|
||||||
ca65 -o level_magsteps.o level_magsteps.s -l level_magsteps.lst
|
ca65 -o level_magsteps.o level_magsteps.s -l level_magsteps.lst
|
||||||
|
|
||||||
@ -122,11 +106,7 @@ LEVEL_MAGLEV: level_maglev.o
|
|||||||
|
|
||||||
level_maglev.o: level_maglev.s zp.inc hardware.inc \
|
level_maglev.o: level_maglev.s zp.inc hardware.inc \
|
||||||
qload.inc \
|
qload.inc \
|
||||||
hgr_sprite.s hgr_tables.s \
|
|
||||||
keyboard.s \
|
|
||||||
hgr_14x14_sprite.s \
|
|
||||||
disk39_files/leveldata_maglev.inc \
|
disk39_files/leveldata_maglev.inc \
|
||||||
graphics_sprites/pointer_sprites.inc \
|
|
||||||
graphics_maglev/maglev_graphics.inc
|
graphics_maglev/maglev_graphics.inc
|
||||||
ca65 -o level_maglev.o level_maglev.s -l level_maglev.lst
|
ca65 -o level_maglev.o level_maglev.s -l level_maglev.lst
|
||||||
|
|
||||||
|
@ -1,17 +1,4 @@
|
|||||||
|
|
||||||
Disk39 Map (disk has 35 tracks, each 4k in size)
|
|
||||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
||||||
T 0 = Qboot
|
|
||||||
T 1 = QLOAD 255 bytes ??S = 1T0S 3k free
|
|
||||||
T 1.5 = TITLE 1688 bytes ??S = 1T0S 2k free
|
|
||||||
T 2 = PROJECTOR 28220 bytes 128S = 6T0S 3k free
|
|
||||||
T 9 = OUTSIDE 30839 bytes 128S = 8T0S 2k free
|
|
||||||
T 17 = MAGSTEPS 13021 bytes 64S = 4T0S 3k free
|
|
||||||
T 21 = MAGLEV 15346 bytes 64S = 4T0S 1k free
|
|
||||||
T 25 = MOVIE1 7837 bytes 32S = 2T0S ~
|
|
||||||
T 27 = MOVIE2 32432 bytes 128S = 8T0S ~
|
|
||||||
|
|
||||||
|
|
||||||
MEMORY MAP
|
MEMORY MAP
|
||||||
$0000-$00FF = zero page
|
$0000-$00FF = zero page
|
||||||
$0100-$01FF = stack
|
$0100-$01FF = stack
|
||||||
@ -53,3 +40,19 @@ final movie roto procedure:
|
|||||||
scale to 80x48
|
scale to 80x48
|
||||||
save
|
save
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Disk39 Map (disk has 35 tracks, each 4k in size)
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
T 0 = Qboot
|
||||||
|
T 1 = QLOAD 1762 bytes 8S = 0T8S (2048) 300B free
|
||||||
|
T 1.5 = TITLE 1531 bytes 8S = 0T8S (2048) 500B free
|
||||||
|
T 2 = PROJECTOR 26736 bytes 112S = 7T0S (28672) 2k free
|
||||||
|
T 9 = OUTSIDE 29355 bytes 128S = 8T0S (32768) 3k free
|
||||||
|
T 17 = MAGSTEPS 11537 bytes 64S = 4T0S (16384) 5k free
|
||||||
|
T 21 = MAGLEV 13862 bytes 64S = 4T0S (16384) 3k free
|
||||||
|
T 25 = MOVIE1 7680 bytes 32S = 2T0S (8192) 500B free
|
||||||
|
T 27 = MOVIE2 32275 bytes 128S = 8T0S (32768)500B free
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,88 +0,0 @@
|
|||||||
;===========================================
|
|
||||||
; hgr draw sprite (only at 7-bit boundaries)
|
|
||||||
;===========================================
|
|
||||||
; SPRITE in INL/INH
|
|
||||||
; Location at SPRITE_X SPRITE_Y
|
|
||||||
|
|
||||||
; xsize, ysize in first two bytes
|
|
||||||
|
|
||||||
; sprite AT INL/INH
|
|
||||||
|
|
||||||
hgr_draw_sprite:
|
|
||||||
|
|
||||||
ldy #0
|
|
||||||
lda (INL),Y ; load xsize
|
|
||||||
clc
|
|
||||||
adc SPRITE_X
|
|
||||||
sta sprite_width_end_smc+1 ; self modify for end of line
|
|
||||||
|
|
||||||
iny ; load ysize
|
|
||||||
lda (INL),Y
|
|
||||||
sta sprite_ysize_smc+1 ; self modify
|
|
||||||
|
|
||||||
; point smc to sprite
|
|
||||||
lda INL ; 16-bit add
|
|
||||||
sta sprite_smc1+1
|
|
||||||
lda INH
|
|
||||||
sta sprite_smc1+2
|
|
||||||
|
|
||||||
|
|
||||||
ldx #0 ; X is pointer offset
|
|
||||||
stx CURRENT_ROW ; actual row
|
|
||||||
|
|
||||||
ldx #2
|
|
||||||
|
|
||||||
hgr_sprite_yloop:
|
|
||||||
|
|
||||||
lda CURRENT_ROW ; row
|
|
||||||
|
|
||||||
clc
|
|
||||||
adc SPRITE_Y ; add in cursor_y
|
|
||||||
|
|
||||||
; calc GBASL/GBASH
|
|
||||||
|
|
||||||
tay ; get output ROW into GBASL/H
|
|
||||||
lda hposn_low,Y
|
|
||||||
sta GBASL
|
|
||||||
lda hposn_high,Y
|
|
||||||
|
|
||||||
; eor #$00 draws on page2
|
|
||||||
; eor #$60 draws on page1
|
|
||||||
;hgr_sprite_page_smc:
|
|
||||||
; eor #$00
|
|
||||||
clc
|
|
||||||
adc DRAW_PAGE
|
|
||||||
sta GBASH
|
|
||||||
; eor #$60
|
|
||||||
; sta INH
|
|
||||||
|
|
||||||
ldy SPRITE_X
|
|
||||||
|
|
||||||
sprite_inner_loop:
|
|
||||||
|
|
||||||
|
|
||||||
sprite_smc1:
|
|
||||||
lda $f000,X ; load sprite data
|
|
||||||
sta (GBASL),Y ; store to screen
|
|
||||||
|
|
||||||
inx ; increment sprite offset
|
|
||||||
bne not_oflo
|
|
||||||
inc sprite_smc1+2
|
|
||||||
not_oflo:
|
|
||||||
iny ; increment output position
|
|
||||||
|
|
||||||
|
|
||||||
sprite_width_end_smc:
|
|
||||||
cpy #6 ; see if reached end of row
|
|
||||||
bne sprite_inner_loop ; if not, loop
|
|
||||||
|
|
||||||
|
|
||||||
inc CURRENT_ROW ; row
|
|
||||||
lda CURRENT_ROW ; row
|
|
||||||
|
|
||||||
sprite_ysize_smc:
|
|
||||||
cmp #31 ; see if at end
|
|
||||||
bne hgr_sprite_yloop ; if not, loop
|
|
||||||
|
|
||||||
rts
|
|
||||||
|
|
@ -142,17 +142,15 @@ handle2_clicked:
|
|||||||
|
|
||||||
; .include "zx02_optim.s"
|
; .include "zx02_optim.s"
|
||||||
|
|
||||||
.include "keyboard.s"
|
; .include "keyboard.s"
|
||||||
|
|
||||||
.include "hgr_14x14_sprite.s"
|
; .include "hgr_14x14_sprite.s"
|
||||||
.include "draw_pointer.s"
|
; .include "draw_pointer.s"
|
||||||
|
|
||||||
.include "log_table.s"
|
; .include "log_table.s"
|
||||||
|
|
||||||
.include "graphics_maglev/maglev_graphics.inc"
|
.include "graphics_maglev/maglev_graphics.inc"
|
||||||
|
|
||||||
;.include "common_sprites.inc"
|
;.include "graphics_sprites/pointer_sprites.inc"
|
||||||
|
|
||||||
.include "graphics_sprites/pointer_sprites.inc"
|
|
||||||
|
|
||||||
.include "disk39_files/leveldata_maglev.inc"
|
.include "disk39_files/leveldata_maglev.inc"
|
||||||
|
@ -102,17 +102,15 @@ really_exit:
|
|||||||
|
|
||||||
; .include "zx02_optim.s"
|
; .include "zx02_optim.s"
|
||||||
|
|
||||||
.include "keyboard.s"
|
; .include "keyboard.s"
|
||||||
|
|
||||||
.include "hgr_14x14_sprite.s"
|
; .include "hgr_14x14_sprite.s"
|
||||||
.include "draw_pointer.s"
|
; .include "draw_pointer.s"
|
||||||
|
|
||||||
.include "log_table.s"
|
; .include "log_table.s"
|
||||||
|
|
||||||
.include "graphics_magsteps/magsteps_graphics.inc"
|
.include "graphics_magsteps/magsteps_graphics.inc"
|
||||||
|
|
||||||
;.include "common_sprites.inc"
|
;.include "graphics_sprites/pointer_sprites.inc"
|
||||||
|
|
||||||
.include "graphics_sprites/pointer_sprites.inc"
|
|
||||||
|
|
||||||
.include "disk39_files/leveldata_magsteps.inc"
|
.include "disk39_files/leveldata_magsteps.inc"
|
||||||
|
@ -117,17 +117,15 @@ call_button_clicked:
|
|||||||
|
|
||||||
; .include "zx02_optim.s"
|
; .include "zx02_optim.s"
|
||||||
|
|
||||||
.include "keyboard.s"
|
; .include "keyboard.s"
|
||||||
|
|
||||||
.include "hgr_14x14_sprite.s"
|
; .include "hgr_14x14_sprite.s"
|
||||||
.include "draw_pointer.s"
|
; .include "draw_pointer.s"
|
||||||
|
|
||||||
.include "log_table.s"
|
; .include "log_table.s"
|
||||||
|
|
||||||
.include "graphics_outside/outside_graphics.inc"
|
.include "graphics_outside/outside_graphics.inc"
|
||||||
|
|
||||||
;.include "common_sprites.inc"
|
;.include "graphics_sprites/pointer_sprites.inc"
|
||||||
|
|
||||||
.include "graphics_sprites/pointer_sprites.inc"
|
|
||||||
|
|
||||||
.include "disk39_files/leveldata_outside.inc"
|
.include "disk39_files/leveldata_outside.inc"
|
||||||
|
@ -102,15 +102,15 @@ really_exit:
|
|||||||
|
|
||||||
; .include "zx02_optim.s"
|
; .include "zx02_optim.s"
|
||||||
|
|
||||||
.include "keyboard.s"
|
; .include "keyboard.s"
|
||||||
|
|
||||||
.include "hgr_14x14_sprite.s"
|
; .include "hgr_14x14_sprite.s"
|
||||||
.include "draw_pointer.s"
|
; .include "draw_pointer.s"
|
||||||
|
|
||||||
.include "log_table.s"
|
; .include "log_table.s"
|
||||||
|
|
||||||
.include "graphics_projector/projector_graphics.inc"
|
.include "graphics_projector/projector_graphics.inc"
|
||||||
|
|
||||||
.include "graphics_sprites/pointer_sprites.inc"
|
;.include "graphics_sprites/pointer_sprites.inc"
|
||||||
|
|
||||||
.include "disk39_files/leveldata_projector.inc"
|
.include "disk39_files/leveldata_projector.inc"
|
||||||
|
@ -359,7 +359,7 @@ done_pageflip:
|
|||||||
|
|
||||||
.include "movie_maglev_flip/movie_maglev_flip.inc"
|
.include "movie_maglev_flip/movie_maglev_flip.inc"
|
||||||
|
|
||||||
.include "wait.s"
|
; .include "wait.s"
|
||||||
|
|
||||||
frames_l:
|
frames_l:
|
||||||
.byte <img025_bg_zx02
|
.byte <img025_bg_zx02
|
||||||
|
@ -321,7 +321,7 @@ done_pageflip:
|
|||||||
|
|
||||||
; .include "zx02_optim.s"
|
; .include "zx02_optim.s"
|
||||||
|
|
||||||
.include "wait.s"
|
; .include "wait.s"
|
||||||
|
|
||||||
.include "movie_maglev_ride/movie_maglev_ride.inc"
|
.include "movie_maglev_ride/movie_maglev_ride.inc"
|
||||||
|
|
||||||
|
@ -3,4 +3,10 @@
|
|||||||
qload_start = $1800
|
qload_start = $1800
|
||||||
|
|
||||||
full_decomp = qload_start+$DB
|
full_decomp = qload_start+$DB
|
||||||
|
wait = qload_start+$161
|
||||||
|
wait_50xms = qload_start+$16f
|
||||||
|
draw_pointer = qload_start+$178
|
||||||
|
save_bg_14x14 = qload_start+$44f
|
||||||
|
handle_keypress = qload_start+$4b9
|
||||||
|
change_location = qload_start+$5f9
|
||||||
|
|
||||||
|
@ -250,8 +250,12 @@ insert_disk_string:
|
|||||||
; common includes used by everyone
|
; common includes used by everyone
|
||||||
|
|
||||||
.include "zx02_optim.s"
|
.include "zx02_optim.s"
|
||||||
|
.include "wait.s"
|
||||||
|
.include "draw_pointer.s"
|
||||||
|
.include "log_table.s"
|
||||||
|
.include "graphics_sprites/pointer_sprites.inc"
|
||||||
|
.include "hgr_14x14_sprite.s"
|
||||||
|
.include "keyboard.s"
|
||||||
|
|
||||||
which_disk_array:
|
which_disk_array:
|
||||||
.byte 1,1,1,1 ; TITLE, OUTSIDE, PROJECTOR, MAGSTEPS
|
.byte 1,1,1,1 ; TITLE, OUTSIDE, PROJECTOR, MAGSTEPS
|
||||||
|
@ -320,7 +320,7 @@ clear_loop:
|
|||||||
.include "hgr_tables.s"
|
.include "hgr_tables.s"
|
||||||
|
|
||||||
.include "wait_a_bit.s"
|
.include "wait_a_bit.s"
|
||||||
.include "wait.s"
|
; .include "wait.s"
|
||||||
|
|
||||||
.include "hardware_detect.s"
|
.include "hardware_detect.s"
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user