mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-03-04 04:30:18 +00:00
riven: start moving some common routines into QLOAD
this saves some space
This commit is contained in:
parent
ef8b039e65
commit
36b8b26a04
@ -41,7 +41,8 @@ qboot_sector.o: qboot_sector.s qboot_stage2.s
|
||||
QLOAD: qload.o
|
||||
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
|
||||
ca65 -o qload.o qload.s -l qload.lst
|
||||
|
||||
|
||||
@ -64,7 +65,7 @@ TITLE: title.o
|
||||
ld65 -o TITLE title.o -C $(LINKER_SCRIPTS)/apple2_4000.inc
|
||||
|
||||
title.o: title.s zp.inc hardware.inc \
|
||||
zx02_optim.s wait_a_bit.s \
|
||||
qload.inc wait_a_bit.s \
|
||||
hgr_sprite.s hgr_tables.s \
|
||||
graphics_title/riven_title.hgr.zx02
|
||||
ca65 -o title.o title.s -l title.lst
|
||||
@ -75,7 +76,7 @@ LEVEL_OUTSIDE: level_outside.o
|
||||
ld65 -o LEVEL_OUTSIDE level_outside.o -C $(LINKER_SCRIPTS)/apple2_4000.inc
|
||||
|
||||
level_outside.o: level_outside.s zp.inc hardware.inc \
|
||||
zx02_optim.s \
|
||||
qload.inc \
|
||||
hgr_sprite.s hgr_tables.s \
|
||||
keyboard.s \
|
||||
hgr_14x14_sprite.s \
|
||||
@ -90,7 +91,7 @@ LEVEL_PROJECTOR: level_projector.o
|
||||
ld65 -o LEVEL_PROJECTOR level_projector.o -C $(LINKER_SCRIPTS)/apple2_4000.inc
|
||||
|
||||
level_projector.o: level_projector.s zp.inc hardware.inc \
|
||||
zx02_optim.s \
|
||||
qload.inc \
|
||||
hgr_sprite.s hgr_tables.s \
|
||||
keyboard.s \
|
||||
hgr_14x14_sprite.s \
|
||||
@ -105,7 +106,7 @@ LEVEL_MAGSTEPS: level_magsteps.o
|
||||
ld65 -o LEVEL_MAGSTEPS level_magsteps.o -C $(LINKER_SCRIPTS)/apple2_4000.inc
|
||||
|
||||
level_magsteps.o: level_magsteps.s zp.inc hardware.inc \
|
||||
zx02_optim.s \
|
||||
qload.inc \
|
||||
hgr_sprite.s hgr_tables.s \
|
||||
keyboard.s \
|
||||
hgr_14x14_sprite.s \
|
||||
@ -120,7 +121,7 @@ LEVEL_MAGLEV: level_maglev.o
|
||||
ld65 -o LEVEL_MAGLEV level_maglev.o -C $(LINKER_SCRIPTS)/apple2_4000.inc
|
||||
|
||||
level_maglev.o: level_maglev.s zp.inc hardware.inc \
|
||||
zx02_optim.s \
|
||||
qload.inc \
|
||||
hgr_sprite.s hgr_tables.s \
|
||||
keyboard.s \
|
||||
hgr_14x14_sprite.s \
|
||||
@ -136,6 +137,7 @@ MOVIE1: movie1.o
|
||||
|
||||
movie1.o: movie1.s \
|
||||
zp.inc hardware.inc \
|
||||
qload.inc \
|
||||
movie1/movie1.inc
|
||||
ca65 -o movie1.o movie1.s -l movie1.lst
|
||||
|
||||
@ -146,6 +148,7 @@ MOVIE2: movie2.o
|
||||
|
||||
movie2.o: movie2.s \
|
||||
zp.inc hardware.inc \
|
||||
qload.inc \
|
||||
end_message/end_message.gr.zx02 \
|
||||
movie2/movie2.inc
|
||||
ca65 -o movie2.o movie2.s -l movie2.lst
|
||||
|
@ -1,17 +1,15 @@
|
||||
What would QBOOT look like:
|
||||
|
||||
|
||||
Disk1 Map (disk has 35 tracks, each 4k in size)
|
||||
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 32000 bytes 128S = 6T0S 6k free
|
||||
T 9 = OUTSIDE 30825 bytes 128S = 8T0S 2k free
|
||||
T 17 = MAGSTEPS 13027 bytes 64S = 4T0S 3k free
|
||||
T 21 = MAGLEV 15349 bytes 64S = 4T0S 1k 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 32000 bytes 128S = 8T0S ~
|
||||
T 27 = MOVIE2 32432 bytes 128S = 8T0S ~
|
||||
|
||||
|
||||
MEMORY MAP
|
||||
@ -23,6 +21,7 @@ $0400-$07ff = lores graphics page1
|
||||
$0800-$0bff = lores graphics page2
|
||||
$800-$8ff = (qboot initial sector)
|
||||
$1000-$11ff = qboot_stage2 (disk code)
|
||||
$1200-$12ff = ????
|
||||
$1300-$16FF = HGR lookup tables
|
||||
$1700-$17FF = ????
|
||||
$1800-$1FFF = QLOAD = loader code (2k?)
|
||||
@ -33,24 +32,24 @@ $D000-$FFFF = ROM
|
||||
|
||||
|
||||
|
||||
image conversion
|
||||
scummvm/vokoscreen capture
|
||||
crop
|
||||
scale to 140x201
|
||||
convert
|
||||
re-scale and crop to 280x192
|
||||
|
||||
contrast/bright 57/3 (note: not always or even often)
|
||||
|
||||
|
||||
final movie roto procedure:
|
||||
scale to 40x50
|
||||
crop to 40x48
|
||||
add layer
|
||||
paste overlay mask on top
|
||||
rotoscope
|
||||
copy to new image
|
||||
convert to indexed apple II palette
|
||||
scale to 80x48
|
||||
save
|
||||
|
||||
|
||||
|
||||
HELLO = 318 = 2
|
||||
TITLE = 1130 = 5
|
||||
LEVEL_PROJECTOR = 15648 = 62
|
||||
LEVEL_OUTSIDE = 26351 = 103
|
||||
LEVEL_MAGSTEPS = 13045 = 51
|
||||
LEVEL_MAGLEV = 12012 = 47
|
||||
=====
|
||||
68k
|
||||
|
||||
|
||||
todo:
|
||||
move "magpath" from outside (8k) to projector?
|
||||
then what about steps?
|
||||
|
||||
|
||||
$4000 - $B800 = 30k??
|
||||
|
@ -1,14 +0,0 @@
|
||||
5 HOME
|
||||
10 PRINT "LOADING RIVEN SUBSET V0.02"
|
||||
20 PRINT " RIVEN SCENES"
|
||||
30 PRINT:PRINT
|
||||
70 PRINT "BASED ON RIVEN BY CYAN"
|
||||
75 PRINT:PRINT
|
||||
80 PRINT "APPLE II PORT: VINCE WEAVER"
|
||||
90 PRINT "DISK CODE : QKUMBA"
|
||||
95 PRINT
|
||||
100 PRINT " ______"
|
||||
110 PRINT " A \/\/\/ SOFTWARE PRODUCTION"
|
||||
115 PRINT
|
||||
120 PRINT " HTTP://WWW.DEATER.NET/WEAVE/VMWPROD"
|
||||
130 PRINT CHR$(4);"BRUN LOADER"
|
@ -6,6 +6,7 @@
|
||||
.include "zp.inc"
|
||||
.include "hardware.inc"
|
||||
.include "common_defines.inc"
|
||||
.include "qload.inc"
|
||||
|
||||
riven_maglev:
|
||||
|
||||
@ -139,7 +140,7 @@ handle2_clicked:
|
||||
; includes
|
||||
;==========================
|
||||
|
||||
.include "zx02_optim.s"
|
||||
; .include "zx02_optim.s"
|
||||
|
||||
.include "keyboard.s"
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
.include "zp.inc"
|
||||
.include "hardware.inc"
|
||||
.include "common_defines.inc"
|
||||
.include "qload.inc"
|
||||
|
||||
riven_magsteps:
|
||||
|
||||
@ -99,7 +100,7 @@ really_exit:
|
||||
; includes
|
||||
;==========================
|
||||
|
||||
.include "zx02_optim.s"
|
||||
; .include "zx02_optim.s"
|
||||
|
||||
.include "keyboard.s"
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
.include "zp.inc"
|
||||
.include "hardware.inc"
|
||||
.include "common_defines.inc"
|
||||
.include "qload.inc"
|
||||
|
||||
riven_outside:
|
||||
|
||||
@ -114,7 +115,7 @@ call_button_clicked:
|
||||
; includes
|
||||
;==========================
|
||||
|
||||
.include "zx02_optim.s"
|
||||
; .include "zx02_optim.s"
|
||||
|
||||
.include "keyboard.s"
|
||||
|
||||
|
@ -6,6 +6,7 @@
|
||||
.include "zp.inc"
|
||||
.include "hardware.inc"
|
||||
.include "common_defines.inc"
|
||||
.include "qload.inc"
|
||||
|
||||
riven_projector:
|
||||
|
||||
@ -99,7 +100,7 @@ really_exit:
|
||||
; includes
|
||||
;==========================
|
||||
|
||||
.include "zx02_optim.s"
|
||||
; .include "zx02_optim.s"
|
||||
|
||||
.include "keyboard.s"
|
||||
|
||||
|
@ -5,6 +5,7 @@
|
||||
.include "zp.inc"
|
||||
.include "hardware.inc"
|
||||
.include "common_defines.inc"
|
||||
.include "qload.inc"
|
||||
|
||||
overlays = $2000
|
||||
|
||||
@ -352,12 +353,14 @@ done_pageflip:
|
||||
;===================================
|
||||
|
||||
|
||||
.include "zx02_optim.s"
|
||||
; .include "zx02_optim.s"
|
||||
|
||||
|
||||
.include "wait.s"
|
||||
|
||||
.include "movie1/movie1.inc"
|
||||
|
||||
.include "wait.s"
|
||||
|
||||
frames_l:
|
||||
.byte <img025_bg_zx02
|
||||
.byte <img055_bg_zx02
|
||||
|
@ -6,6 +6,7 @@
|
||||
|
||||
.include "zp.inc"
|
||||
.include "hardware.inc"
|
||||
.include "qload.inc"
|
||||
|
||||
NUM_SCENES = 137
|
||||
|
||||
@ -318,12 +319,7 @@ done_pageflip:
|
||||
|
||||
;===================================
|
||||
|
||||
; .include "../wait_keypress.s"
|
||||
|
||||
; .include "draw_boxes.s"
|
||||
|
||||
|
||||
.include "zx02_optim.s"
|
||||
; .include "zx02_optim.s"
|
||||
|
||||
.include "wait.s"
|
||||
|
||||
|
6
games/riven_hgr/qload.inc
Normal file
6
games/riven_hgr/qload.inc
Normal file
@ -0,0 +1,6 @@
|
||||
; TODO: autoate generating this
|
||||
|
||||
qload_start = $1800
|
||||
|
||||
full_decomp = qload_start+$DB
|
||||
|
@ -247,6 +247,11 @@ insert_disk_string:
|
||||
.byte "PLEASE INSERT DISK 1",13
|
||||
.byte " THEN PRESS RETURN",0
|
||||
|
||||
; common includes used by everyone
|
||||
|
||||
.include "zx02_optim.s"
|
||||
|
||||
|
||||
|
||||
which_disk_array:
|
||||
.byte 1,1,1,1 ; TITLE, OUTSIDE, PROJECTOR, MAGSTEPS
|
||||
@ -268,35 +273,6 @@ length_array:
|
||||
.byte 16, 123,123, 64 ; TITLE, OUTSIDE, PROJECTOR, MAGSTEPS
|
||||
.byte 64, 32, 128 ; MAGLEV, MOVIE1, MOVIE2
|
||||
|
||||
.if 0
|
||||
.include "qkumba_popwr.s"
|
||||
|
||||
.include "drive2.s"
|
||||
|
||||
.include "zx02_optim.s"
|
||||
;.include "decompress_fast_v2.s"
|
||||
|
||||
.include "hgr_font.s"
|
||||
.include "draw_box.s"
|
||||
.include "hgr_rectangle.s"
|
||||
.include "hgr_1x28_sprite_mask.s"
|
||||
.include "hgr_partial_save.s"
|
||||
.include "hgr_input.s"
|
||||
.include "hgr_tables.s"
|
||||
.include "hgr_text_box.s"
|
||||
.include "clear_bottom.s"
|
||||
.include "hgr_hgr2.s" ; this one is maybe only needed once?
|
||||
.include "gr_offsets.s"
|
||||
.include "loadsave_menu.s"
|
||||
.include "wait_keypress.s"
|
||||
.include "random16.s"
|
||||
.include "score.s"
|
||||
.include "speaker_beeps.s"
|
||||
|
||||
peasant_text:
|
||||
.byte 25,2,"Peasant's Quest",0
|
||||
.endif
|
||||
|
||||
qload_end:
|
||||
|
||||
;.assert (>qload_end - >qload_start) < $e , error, "loader too big"
|
||||
|
@ -6,6 +6,7 @@
|
||||
.include "zp.inc"
|
||||
.include "hardware.inc"
|
||||
.include "common_defines.inc"
|
||||
.include "qload.inc"
|
||||
|
||||
riven_title:
|
||||
|
||||
@ -315,7 +316,7 @@ clear_loop:
|
||||
; includes
|
||||
;==========================
|
||||
|
||||
.include "zx02_optim.s"
|
||||
; .include "zx02_optim.s"
|
||||
.include "hgr_tables.s"
|
||||
|
||||
.include "wait_a_bit.s"
|
||||
|
Loading…
x
Reference in New Issue
Block a user