riven: hook up atrus intro
@ -9,7 +9,8 @@ CADIUS = ~/research/apple2/cadius/bin/release/cadius
|
||||
PRODOSDIR = ../../utils/prodos-utils/
|
||||
PRODOS = ../../utils/prodos-utils/prodos
|
||||
|
||||
all: riven_disk01.dsk \
|
||||
all: riven_disk00.dsk \
|
||||
riven_disk01.dsk \
|
||||
riven_disk39.dsk riven_disk40.dsk riven_disk41.dsk \
|
||||
riven_disk43.dsk \
|
||||
riven_hgr.po
|
||||
@ -35,6 +36,22 @@ riven_hgr.po: disk01_files/LEVEL_ARRIVAL
|
||||
|
||||
|
||||
|
||||
###
|
||||
|
||||
riven_disk00.dsk: QBOOT QLOAD TITLE_00 \
|
||||
disk00_files/DISK00 \
|
||||
disk00_files/ATRUS
|
||||
cp $(EMPTY_DISK)/empty.dsk riven_disk00.dsk
|
||||
$(DOS33_RAW) riven_disk00.dsk 0 0 QBOOT 0 1
|
||||
$(DOS33_RAW) riven_disk00.dsk 0 2 QBOOT 1 1
|
||||
$(DOS33_RAW) riven_disk00.dsk 0 4 QBOOT 2 1
|
||||
$(DOS33_RAW) riven_disk00.dsk 0 8 disk00_files/DISK00 0 0
|
||||
$(DOS33_RAW) riven_disk00.dsk 1 0 QLOAD 0 0
|
||||
$(DOS33_RAW) riven_disk00.dsk 1 9 TITLE_00 0 0
|
||||
# $(DOS33_RAW) riven_disk00.dsk 2 0 disk00_files/CYAN 0 0
|
||||
$(DOS33_RAW) riven_disk00.dsk 10 0 disk00_files/ATRUS 0 0
|
||||
|
||||
|
||||
###
|
||||
|
||||
riven_disk01.dsk: QBOOT QLOAD TITLE_01 \
|
||||
@ -153,6 +170,16 @@ qload.o: qload.s qboot.inc \
|
||||
keyboard.s
|
||||
ca65 -o qload.o qload.s -l qload.lst
|
||||
|
||||
####
|
||||
|
||||
TITLE_00: title_00.o
|
||||
ld65 -o TITLE_00 title_00.o -C $(LINKER_SCRIPTS)/apple2_4000.inc
|
||||
|
||||
title_00.o: title.s zp.inc hardware.inc \
|
||||
qload.inc wait_a_bit.s \
|
||||
hgr_tables.s \
|
||||
graphics_title/riven_title.hgr.zx02
|
||||
ca65 -o title_00.o title.s -DDISK=00 -l title_00.lst
|
||||
|
||||
####
|
||||
|
||||
|
43
games/riven_hgr/disk00_files/Makefile
Normal file
@ -0,0 +1,43 @@
|
||||
include ../../../Makefile.inc
|
||||
|
||||
LINKER_SCRIPTS = ../../../linker_scripts/
|
||||
|
||||
|
||||
all: DISK00 ATRUS
|
||||
|
||||
####
|
||||
|
||||
DISK00: disk00.o
|
||||
ld65 -o DISK00 disk00.o -C $(LINKER_SCRIPTS)/apple2_4000.inc
|
||||
|
||||
disk00.o: disk00.s ../zp.inc
|
||||
ca65 -o disk00.o disk00.s -l disk00.lst
|
||||
|
||||
####
|
||||
|
||||
ATRUS: atrus.o
|
||||
ld65 -o ATRUS atrus.o -C $(LINKER_SCRIPTS)/apple2_4000.inc
|
||||
|
||||
atrus.o: atrus.s \
|
||||
../zp.inc ../hardware.inc ../qload.inc \
|
||||
graphics_atrus/atrus_graphics.inc
|
||||
ca65 -o atrus.o atrus.s -l atrus.lst
|
||||
|
||||
####
|
||||
|
||||
graphics_atrus/atrus_graphics.inc:
|
||||
cd graphics_atrus && make
|
||||
|
||||
####
|
||||
|
||||
clean:
|
||||
rm -f *~ *.o *.lst \
|
||||
DISK00 ATRUS
|
||||
|
||||
####
|
||||
|
||||
distclean:
|
||||
rm -f *~ *.o *.lst \
|
||||
DISK00 ATRUS
|
||||
cd graphics_atrus && make clean
|
||||
|
133
games/riven_hgr/disk00_files/atrus.s
Normal file
@ -0,0 +1,133 @@
|
||||
; Opening with Atrus
|
||||
|
||||
; by deater (Vince Weaver) <vince@deater.net>
|
||||
|
||||
.include "../zp.inc"
|
||||
.include "../hardware.inc"
|
||||
.include "../qload.inc"
|
||||
|
||||
NUM_SCENES = 11
|
||||
|
||||
;===================
|
||||
; notes for atrus opening
|
||||
|
||||
|
||||
atrus_start:
|
||||
|
||||
;===================
|
||||
; Setup graphics
|
||||
;===================
|
||||
|
||||
bit SET_GR
|
||||
bit HIRES
|
||||
bit TEXTGR
|
||||
bit PAGE1
|
||||
|
||||
lda #0
|
||||
sta SCENE_COUNT
|
||||
|
||||
lda #4
|
||||
sta DRAW_PAGE
|
||||
|
||||
bit KEYRESET
|
||||
|
||||
;===============================
|
||||
;===============================
|
||||
; main loop
|
||||
;===============================
|
||||
;===============================
|
||||
|
||||
atrus_loop:
|
||||
|
||||
ldx SCENE_COUNT
|
||||
lda frames_l,X
|
||||
sta ZX0_src
|
||||
lda frames_h,X
|
||||
sta ZX0_src+1
|
||||
|
||||
lda #$20 ; hgr page1
|
||||
jsr full_decomp
|
||||
|
||||
wait_for_key:
|
||||
lda KEYPRESS
|
||||
bpl wait_for_key
|
||||
bit KEYRESET
|
||||
|
||||
|
||||
inc SCENE_COUNT
|
||||
lda SCENE_COUNT
|
||||
cmp #NUM_SCENES
|
||||
|
||||
bne atrus_loop
|
||||
|
||||
|
||||
rts
|
||||
|
||||
frames_l:
|
||||
.byte <atrus1_zx02
|
||||
.byte <atrus2_zx02
|
||||
.byte <atrus3_zx02
|
||||
.byte <atrus4_zx02
|
||||
.byte <atrus5_zx02
|
||||
.byte <atrus6_zx02
|
||||
.byte <atrus7_zx02
|
||||
.byte <atrus8_zx02
|
||||
.byte <atrus9_zx02
|
||||
.byte <atrus10_zx02
|
||||
.byte <atrus11_zx02
|
||||
|
||||
|
||||
frames_h:
|
||||
.byte >atrus1_zx02
|
||||
.byte >atrus2_zx02
|
||||
.byte >atrus3_zx02
|
||||
.byte >atrus4_zx02
|
||||
.byte >atrus5_zx02
|
||||
.byte >atrus6_zx02
|
||||
.byte >atrus7_zx02
|
||||
.byte >atrus8_zx02
|
||||
.byte >atrus9_zx02
|
||||
.byte >atrus10_zx02
|
||||
.byte >atrus11_zx02
|
||||
|
||||
|
||||
atrus_graphics:
|
||||
.include "graphics_atrus/atrus_graphics.inc"
|
||||
|
||||
|
||||
; [welcoming player back]
|
||||
.byte "Thank God you've returned.",0
|
||||
.byte "I need your help.",0
|
||||
|
||||
.byte "There's a great deal of history that",0
|
||||
.byte "you should know, but I'm afraid that...",0
|
||||
.byte "I must continue my writing. Here.",0
|
||||
|
||||
;[hands player his journal]
|
||||
.byte "Most of what you'll need to know is in",0
|
||||
.byte "there.",0
|
||||
.byte "Keep it well hidden.",0
|
||||
|
||||
;[picks up the book]
|
||||
.byte "For reasons you'll discover, I can't",0
|
||||
.byte "send you to Riven with a way out, but",0
|
||||
.byte "I can give you this.",0
|
||||
|
||||
.byte "It appears to be a Linking Book, back",0
|
||||
.byte "here to D'ni, but it's actually a",0
|
||||
.byte "one-man prison. You'll need it,",0
|
||||
.byte "I'm afraid, to capture Gehn.",0
|
||||
;[hands player the Prison book]
|
||||
|
||||
.byte "Once you've found Catherine, signal me,",0
|
||||
.byte "and I'll come with a Linking Book",0
|
||||
.byte "to bring us back.",0
|
||||
|
||||
;[writes in the Riven book, then closes it",0
|
||||
; re-opens to the first page, holds it up,",0
|
||||
; showing glitchy panel]
|
||||
|
||||
.byte "There's also a chance, if all goes",0
|
||||
.byte "well, that I might be able to get you",0
|
||||
.byte "back to the place that you came from.",0
|
||||
|
42
games/riven_hgr/disk00_files/disk00.s
Normal file
@ -0,0 +1,42 @@
|
||||
.include "../zp.inc"
|
||||
|
||||
which_disk:
|
||||
.byte $00 ; BCD
|
||||
|
||||
load_address_array:
|
||||
.byte $40,$40,$40,$40 ; TITLE, CYAN, ATRUS
|
||||
.byte $00,$00,$00,$00
|
||||
|
||||
track_array:
|
||||
.byte 1, 2, 10,18 ; TITLE, CYAN, ATRUS
|
||||
.byte 0,0,0,0
|
||||
|
||||
sector_array:
|
||||
.byte 9, 0, 0, 0 ; TITLE, CYAN, ATRUS
|
||||
.byte 0,0,0,0
|
||||
length_array:
|
||||
.byte 8, 128,128,128 ; TITLE, CYAN, ATRUS
|
||||
.byte 0,0,0,0
|
||||
|
||||
|
||||
disk_exit_disk: ; note: BCD (yes I'm lazy)
|
||||
.byte $01 ; start of game
|
||||
.byte 0,0,0
|
||||
disk_exit_dni_h:
|
||||
.byte $00 ; 01 = 1
|
||||
.byte 0,0,0
|
||||
disk_exit_dni_l:
|
||||
.byte $01
|
||||
.byte 0,0,0
|
||||
|
||||
; want to go to disk01, LOAD_ARRIVAL, RIVEN_ARRIVAL, N
|
||||
|
||||
disk_exit_load:
|
||||
.byte 1 ; LOAD_ARRIVAL
|
||||
.byte 0,0,0
|
||||
disk_exit_level:
|
||||
.byte 0 ; RIVEN_ARRIVAL
|
||||
.byte 0,0,0
|
||||
disk_exit_direction:
|
||||
.byte DIRECTION_N
|
||||
.byte 0,0,0
|
4
games/riven_hgr/disk00_files/disk00_defines.inc
Normal file
@ -0,0 +1,4 @@
|
||||
LOAD_TITLE = 0
|
||||
LOAD_CYAN = 1
|
||||
LOAD_ATRUS = 2
|
||||
LOAD_OPENER = 3
|
45
games/riven_hgr/disk00_files/graphics_atrus/Makefile
Normal file
@ -0,0 +1,45 @@
|
||||
include ../../../../Makefile.inc
|
||||
|
||||
ZX02 = ~/research/6502_compression/zx02.git/build/zx02
|
||||
PNG_TO_HGR = ../../../../utils/hgr-utils/png2hgr
|
||||
|
||||
all: atrus_graphics.inc
|
||||
|
||||
atrus_graphics.inc: \
|
||||
atrus1_iipix.hgr.zx02 \
|
||||
atrus2_iipix.hgr.zx02 \
|
||||
atrus3_iipix.hgr.zx02 \
|
||||
atrus4_iipix.hgr.zx02 \
|
||||
atrus5_iipix.hgr.zx02 \
|
||||
atrus6_iipix.hgr.zx02 \
|
||||
atrus7_iipix.hgr.zx02 \
|
||||
atrus8_iipix.hgr.zx02 \
|
||||
atrus9_iipix.hgr.zx02 \
|
||||
atrus10_iipix.hgr.zx02 \
|
||||
atrus11_iipix.hgr.zx02
|
||||
echo "atrus1_zx02: .incbin \"atrus1_iipix.hgr.zx02\"" > atrus_graphics.inc
|
||||
echo "atrus2_zx02: .incbin \"atrus2_iipix.hgr.zx02\"" >> atrus_graphics.inc
|
||||
echo "atrus3_zx02: .incbin \"atrus3_iipix.hgr.zx02\"" >> atrus_graphics.inc
|
||||
echo "atrus4_zx02: .incbin \"atrus4_iipix.hgr.zx02\"" >> atrus_graphics.inc
|
||||
echo "atrus5_zx02: .incbin \"atrus5_iipix.hgr.zx02\"" >> atrus_graphics.inc
|
||||
echo "atrus6_zx02: .incbin \"atrus6_iipix.hgr.zx02\"" >> atrus_graphics.inc
|
||||
echo "atrus7_zx02: .incbin \"atrus7_iipix.hgr.zx02\"" >> atrus_graphics.inc
|
||||
echo "atrus8_zx02: .incbin \"atrus8_iipix.hgr.zx02\"" >> atrus_graphics.inc
|
||||
echo "atrus9_zx02: .incbin \"atrus9_iipix.hgr.zx02\"" >> atrus_graphics.inc
|
||||
echo "atrus10_zx02: .incbin \"atrus10_iipix.hgr.zx02\"" >> atrus_graphics.inc
|
||||
echo "atrus11_zx02: .incbin \"atrus11_iipix.hgr.zx02\"" >> atrus_graphics.inc
|
||||
|
||||
|
||||
####
|
||||
|
||||
%.hgr: %.png
|
||||
$(PNG_TO_HGR) $< > $@
|
||||
|
||||
%.hgr.zx02: %.hgr
|
||||
$(ZX02) -f $< $@
|
||||
|
||||
####
|
||||
|
||||
clean:
|
||||
rm -f *~ *.o *.lst *.zx02 *.hgr atrus_graphics.inc
|
||||
|
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 5.0 KiB After Width: | Height: | Size: 5.0 KiB |
Before Width: | Height: | Size: 4.1 KiB After Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 4.6 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
@ -1,36 +0,0 @@
|
||||
[opening monologue, to the player]
|
||||
Thank God you've returned.
|
||||
I need your help.
|
||||
|
||||
There's a great deal of history that
|
||||
you should know, but I'm afraid that...
|
||||
I must continue my writing. Here.
|
||||
|
||||
[hands the player his journal]
|
||||
Most of what you'll need to know is in
|
||||
there.
|
||||
Keep it well hidden.
|
||||
|
||||
[picks up a book]
|
||||
For reasons you'll discover, I can't
|
||||
send you to Riven with a way out, but
|
||||
I can give you this.
|
||||
|
||||
It appears to be a Linking Book, back
|
||||
here to D'ni, but it's actually a
|
||||
one-man prison. You'll need it,
|
||||
I'm afraid, to capture Gehn.
|
||||
[hands the player the Prison Book]
|
||||
|
||||
Once you've found Catherine, signal me,
|
||||
and I'll come with a Linking Book
|
||||
to bring us back.
|
||||
|
||||
[writes in the Book of Riven, then closes it,
|
||||
opens it to its first page, and holds it up,
|
||||
showing the blurred descriptive panel]
|
||||
|
||||
There's also a chance, if all goes
|
||||
well, that I might be able to get you
|
||||
back to the place that you came from.
|
||||
|
@ -50,13 +50,13 @@ graphics_telescope/telescope_graphics.inc:
|
||||
|
||||
clean:
|
||||
rm -f *~ *.o *.lst \
|
||||
LEVEL_ARRIVAL LEVEL_TELESCOPE
|
||||
DISK01 LEVEL_ARRIVAL LEVEL_TELESCOPE
|
||||
|
||||
####
|
||||
|
||||
distclean:
|
||||
rm -f *~ *.o *.lst \
|
||||
LEVEL_ARRIVAL LEVEL_TELESCOPE
|
||||
DISK01 LEVEL_ARRIVAL LEVEL_TELESCOPE
|
||||
cd graphics_arrival && make clean
|
||||
cd graphics_telescope && make clean
|
||||
|
||||
|
@ -8,6 +8,10 @@
|
||||
.include "common_defines.inc"
|
||||
.include "qload.inc"
|
||||
|
||||
.if DISK=00
|
||||
.include "disk00_files/disk00_defines.inc"
|
||||
.endif
|
||||
|
||||
.if DISK=01
|
||||
.include "disk01_files/disk01_defines.inc"
|
||||
.endif
|
||||
@ -312,6 +316,17 @@ done_setup_sound:
|
||||
lda #100
|
||||
jsr wait_a_bit
|
||||
|
||||
.if DISK=00
|
||||
lda #LOAD_ATRUS
|
||||
sta WHICH_LOAD ; assume ATRUS talking for now
|
||||
|
||||
lda #0 ; not needed...
|
||||
sta LOCATION
|
||||
|
||||
lda #DIRECTION_N
|
||||
sta DIRECTION
|
||||
.endif
|
||||
|
||||
.if DISK=01
|
||||
lda #LOAD_ARRIVAL
|
||||
sta WHICH_LOAD ; assume new game (dome island)
|
||||
|