mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-03-04 04:30:18 +00:00
riven: move more stuff to qload
this frees up room in the levels...
This commit is contained in:
parent
cd3335ce00
commit
1130778db2
@ -42,7 +42,11 @@ QLOAD: qload.o
|
||||
ld65 -o QLOAD qload.o -C $(LINKER_SCRIPTS)/apple2_1800.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
|
||||
|
||||
|
||||
@ -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
|
||||
ld65 -o TITLE title.o -C $(LINKER_SCRIPTS)/apple2_4000.inc
|
||||
|
||||
title.o: title.s zp.inc hardware.inc \
|
||||
qload.inc wait_a_bit.s \
|
||||
hgr_sprite.s hgr_tables.s \
|
||||
hgr_tables.s \
|
||||
graphics_title/riven_title.hgr.zx02
|
||||
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 \
|
||||
qload.inc \
|
||||
hgr_sprite.s hgr_tables.s \
|
||||
keyboard.s \
|
||||
hgr_14x14_sprite.s \
|
||||
disk39_files/leveldata_outside.inc \
|
||||
graphics_sprites/pointer_sprites.inc \
|
||||
graphics_outside/outside_graphics.inc
|
||||
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 \
|
||||
qload.inc \
|
||||
hgr_sprite.s hgr_tables.s \
|
||||
keyboard.s \
|
||||
hgr_14x14_sprite.s \
|
||||
disk39_files/leveldata_projector.inc \
|
||||
graphics_sprites/pointer_sprites.inc \
|
||||
graphics_projector/projector_graphics.inc
|
||||
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 \
|
||||
qload.inc \
|
||||
hgr_sprite.s hgr_tables.s \
|
||||
keyboard.s \
|
||||
hgr_14x14_sprite.s \
|
||||
disk39_files/leveldata_magsteps.inc \
|
||||
graphics_sprites/pointer_sprites.inc \
|
||||
graphics_magsteps/magsteps_graphics.inc
|
||||
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 \
|
||||
qload.inc \
|
||||
hgr_sprite.s hgr_tables.s \
|
||||
keyboard.s \
|
||||
hgr_14x14_sprite.s \
|
||||
disk39_files/leveldata_maglev.inc \
|
||||
graphics_sprites/pointer_sprites.inc \
|
||||
graphics_maglev/maglev_graphics.inc
|
||||
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
|
||||
$0000-$00FF = zero page
|
||||
$0100-$01FF = stack
|
||||
@ -53,3 +40,19 @@ final movie roto procedure:
|
||||
scale to 80x48
|
||||
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 "keyboard.s"
|
||||
; .include "keyboard.s"
|
||||
|
||||
.include "hgr_14x14_sprite.s"
|
||||
.include "draw_pointer.s"
|
||||
; .include "hgr_14x14_sprite.s"
|
||||
; .include "draw_pointer.s"
|
||||
|
||||
.include "log_table.s"
|
||||
; .include "log_table.s"
|
||||
|
||||
.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"
|
||||
|
@ -102,17 +102,15 @@ really_exit:
|
||||
|
||||
; .include "zx02_optim.s"
|
||||
|
||||
.include "keyboard.s"
|
||||
; .include "keyboard.s"
|
||||
|
||||
.include "hgr_14x14_sprite.s"
|
||||
.include "draw_pointer.s"
|
||||
; .include "hgr_14x14_sprite.s"
|
||||
; .include "draw_pointer.s"
|
||||
|
||||
.include "log_table.s"
|
||||
; .include "log_table.s"
|
||||
|
||||
.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"
|
||||
|
@ -117,17 +117,15 @@ call_button_clicked:
|
||||
|
||||
; .include "zx02_optim.s"
|
||||
|
||||
.include "keyboard.s"
|
||||
; .include "keyboard.s"
|
||||
|
||||
.include "hgr_14x14_sprite.s"
|
||||
.include "draw_pointer.s"
|
||||
; .include "hgr_14x14_sprite.s"
|
||||
; .include "draw_pointer.s"
|
||||
|
||||
.include "log_table.s"
|
||||
; .include "log_table.s"
|
||||
|
||||
.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"
|
||||
|
@ -102,15 +102,15 @@ really_exit:
|
||||
|
||||
; .include "zx02_optim.s"
|
||||
|
||||
.include "keyboard.s"
|
||||
; .include "keyboard.s"
|
||||
|
||||
.include "hgr_14x14_sprite.s"
|
||||
.include "draw_pointer.s"
|
||||
; .include "hgr_14x14_sprite.s"
|
||||
; .include "draw_pointer.s"
|
||||
|
||||
.include "log_table.s"
|
||||
; .include "log_table.s"
|
||||
|
||||
.include "graphics_projector/projector_graphics.inc"
|
||||
|
||||
.include "graphics_sprites/pointer_sprites.inc"
|
||||
;.include "graphics_sprites/pointer_sprites.inc"
|
||||
|
||||
.include "disk39_files/leveldata_projector.inc"
|
||||
|
@ -359,7 +359,7 @@ done_pageflip:
|
||||
|
||||
.include "movie_maglev_flip/movie_maglev_flip.inc"
|
||||
|
||||
.include "wait.s"
|
||||
; .include "wait.s"
|
||||
|
||||
frames_l:
|
||||
.byte <img025_bg_zx02
|
||||
|
@ -321,7 +321,7 @@ done_pageflip:
|
||||
|
||||
; .include "zx02_optim.s"
|
||||
|
||||
.include "wait.s"
|
||||
; .include "wait.s"
|
||||
|
||||
.include "movie_maglev_ride/movie_maglev_ride.inc"
|
||||
|
||||
|
@ -3,4 +3,10 @@
|
||||
qload_start = $1800
|
||||
|
||||
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
|
||||
|
||||
.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:
|
||||
.byte 1,1,1,1 ; TITLE, OUTSIDE, PROJECTOR, MAGSTEPS
|
||||
|
@ -320,7 +320,7 @@ clear_loop:
|
||||
.include "hgr_tables.s"
|
||||
|
||||
.include "wait_a_bit.s"
|
||||
.include "wait.s"
|
||||
; .include "wait.s"
|
||||
|
||||
.include "hardware_detect.s"
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user