mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-12 15:30:55 +00:00
ds: almost have rasterbars again
This commit is contained in:
parent
692180b3c8
commit
2a8a410303
@ -55,7 +55,8 @@ musictest.o: musictest.s \
|
||||
interrupt_handler.s \
|
||||
missing.s k_40_48d.inc \
|
||||
create_update_type1.s \
|
||||
book.s \
|
||||
book.s book_40_48d.inc \
|
||||
credits.s credits_bg.inc offsets_table.s \
|
||||
dya_space_demo2.pt3
|
||||
ca65 -o musictest.o musictest.s -l musictest.lst
|
||||
|
||||
@ -88,6 +89,9 @@ BOOK_HGR2C.BIN: book_hgr2.bmp
|
||||
|
||||
#####
|
||||
|
||||
credits_bg.inc: credits_bg.png
|
||||
$(PNG_TO_40x48D) asm credits_bg.png credits > credits_bg.inc
|
||||
|
||||
book_40_48d.inc: book_40_48d.png
|
||||
$(PNG_TO_40x48D) asm book_40_48d.png book > book_40_48d.inc
|
||||
|
||||
|
@ -75,7 +75,7 @@ Memory Map
|
||||
0c00-0fff (used as page3)
|
||||
|
||||
1400-16ff Loader
|
||||
1700-???? executable
|
||||
1700-???? executable (30976 bytes)
|
||||
|
||||
9000-bfff audio buffer
|
||||
|
||||
|
@ -25,3 +25,13 @@ READING:
|
||||
CREDITS:
|
||||
+ implement text
|
||||
+ implement rasterbars
|
||||
|
||||
012345678901
|
||||
CODE: DEATER
|
||||
MUSIC: DYA
|
||||
MISC MAGIC: QKUMBA
|
||||
THANKS:
|
||||
FROGYSUE
|
||||
S. SUSIE
|
||||
0101TALBOT
|
||||
18*4=
|
||||
|
@ -23,7 +23,7 @@ create_update_inner_loop:
|
||||
cpy #49
|
||||
bne create_update_inner_loop
|
||||
|
||||
; toggl PAGE0/PAGE1
|
||||
; toggle PAGE0/PAGE1
|
||||
txa
|
||||
and #$1 ; ror?
|
||||
clc
|
||||
@ -48,6 +48,63 @@ create_update_inner_loop:
|
||||
|
||||
rts
|
||||
|
||||
;===========================
|
||||
; from 32 to 160?
|
||||
setup_rasterbars:
|
||||
|
||||
lda #4 ; which page
|
||||
sta TEMP
|
||||
|
||||
ldx #32
|
||||
lda #<(UPDATE_START+(32*49))
|
||||
sta OUTL
|
||||
lda #>(UPDATE_START+(32*49))
|
||||
sta OUTH
|
||||
setup_rasterbars_outer_loop:
|
||||
ldy #6
|
||||
setup_rasterbars_inner_loop:
|
||||
txa
|
||||
pha
|
||||
inx
|
||||
txa ; start one earlier
|
||||
lsr
|
||||
lsr
|
||||
and #$fe
|
||||
tax
|
||||
lda gr_offsets,X
|
||||
sta (OUTL),Y
|
||||
iny
|
||||
clc
|
||||
lda gr_offsets+1,X
|
||||
adc TEMP
|
||||
sta (OUTL),Y
|
||||
iny
|
||||
iny
|
||||
pla
|
||||
tax
|
||||
|
||||
cpy #48
|
||||
bne setup_rasterbars_inner_loop
|
||||
|
||||
clc
|
||||
lda #49
|
||||
adc OUTL
|
||||
sta OUTL
|
||||
lda OUTH
|
||||
adc #0
|
||||
sta OUTH
|
||||
|
||||
|
||||
lda TEMP
|
||||
eor #$04
|
||||
sta TEMP
|
||||
|
||||
inx
|
||||
cpx #160
|
||||
bne setup_rasterbars_outer_loop
|
||||
|
||||
rts
|
||||
|
||||
one_scanline:
|
||||
.byte $2C,$54,$C0 ; bit PAGE0 ; 4
|
||||
.byte $A9,$0B ; lda #$0b ; 2
|
||||
|
402
demosplash/credits.s
Normal file
402
demosplash/credits.s
Normal file
@ -0,0 +1,402 @@
|
||||
; Uses the 40x48d page1/page2 every-1-scanline pageflip mode
|
||||
|
||||
; self modifying code to get some extra colors (pseudo 40x192 mode)
|
||||
|
||||
; by deater (Vince Weaver) <vince@deater.net>
|
||||
|
||||
credits:
|
||||
|
||||
;===================
|
||||
; init screen
|
||||
jsr TEXT
|
||||
jsr HOME
|
||||
bit KEYRESET
|
||||
|
||||
;===================
|
||||
; init vars
|
||||
|
||||
lda #0
|
||||
sta DRAW_PAGE
|
||||
|
||||
;==================
|
||||
; setup graphics
|
||||
|
||||
jsr create_update_type1
|
||||
jsr setup_rasterbars
|
||||
|
||||
;=============================
|
||||
; Load graphic page0
|
||||
|
||||
lda #<credits_low
|
||||
sta GBASL
|
||||
lda #>credits_low
|
||||
sta GBASH
|
||||
|
||||
lda #$c ; load image to $c00
|
||||
|
||||
jsr load_rle_gr
|
||||
|
||||
lda #4
|
||||
sta DRAW_PAGE
|
||||
|
||||
jsr gr_copy_to_current ; copy to page1
|
||||
|
||||
; GR part
|
||||
bit PAGE1
|
||||
bit LORES ; 4
|
||||
bit SET_GR ; 4
|
||||
bit FULLGR ; 4
|
||||
|
||||
; jsr wait_until_keypressed
|
||||
|
||||
|
||||
;=============================
|
||||
; Load graphic page1
|
||||
|
||||
lda #<credits_high
|
||||
sta GBASL
|
||||
lda #>credits_high
|
||||
sta GBASH
|
||||
lda #$c ; load to $c00
|
||||
jsr load_rle_gr
|
||||
|
||||
lda #0
|
||||
sta DRAW_PAGE
|
||||
|
||||
jsr gr_copy_to_current
|
||||
|
||||
; ; GR part
|
||||
bit PAGE0
|
||||
|
||||
; jsr wait_until_keypressed
|
||||
|
||||
|
||||
;==============================
|
||||
; setup graphics for vapor lock
|
||||
;==============================
|
||||
|
||||
jsr vapor_lock
|
||||
|
||||
; vapor lock returns with us at beginning of hsync in line
|
||||
; 114 (7410 cycles), so with 5070 lines to go
|
||||
|
||||
; GR part
|
||||
bit LORES ; 4
|
||||
bit SET_GR ; 4
|
||||
bit FULLGR ; 4
|
||||
|
||||
jsr gr_copy_to_current ; 6+ 9292
|
||||
|
||||
; 5070 + 4550 = 9620
|
||||
; 9292
|
||||
; 12
|
||||
; 6
|
||||
; ====
|
||||
; 310
|
||||
|
||||
; - 3 for jmp
|
||||
; 307
|
||||
|
||||
; Try X=9 Y=6 cycles=307
|
||||
|
||||
ldy #6 ; 2
|
||||
tloopA: ldx #9 ; 2
|
||||
tloopB: dex ; 2
|
||||
bne tloopB ; 2nt/3
|
||||
dey ; 2
|
||||
bne tloopA ; 2nt/3
|
||||
|
||||
jmp credits_loop ; 3
|
||||
|
||||
.align $100
|
||||
|
||||
;================================================
|
||||
; Display Loop
|
||||
;================================================
|
||||
; each scan line 65 cycles
|
||||
; 1 cycle each byte (40cycles) + 25 for horizontal
|
||||
; Total of 12480 cycles to draw screen
|
||||
; Vertical blank = 4550 cycles (70 scan lines)
|
||||
; Total of 17030 cycles to get back to where was
|
||||
|
||||
; We want to alternate between page1 and page2 every 65 cycles
|
||||
; vblank = 4550 cycles to do scrolling
|
||||
|
||||
|
||||
credits_loop:
|
||||
|
||||
jsr $9000
|
||||
|
||||
;======================================================
|
||||
; We have 4550 cycles in the vblank, use them wisely
|
||||
;======================================================
|
||||
|
||||
; 4550 -- VBLANK
|
||||
; -582 -- erase 22+4*(8+6+126) = 582
|
||||
; -696 -- move+draw 4*(16+26+6+126) = 696
|
||||
; -10 -- keypress
|
||||
; -12 -- call/return of draw code
|
||||
;=======
|
||||
; 3250
|
||||
|
||||
pad_time:
|
||||
|
||||
; we erase, then draw
|
||||
; doing a blanket erase of all 128 lines would cost 3459 cycles!
|
||||
|
||||
;=========================
|
||||
; ERASE
|
||||
;=========================
|
||||
|
||||
lda #$00 ; 2
|
||||
sta smc_raster_color1_1+1 ; 4
|
||||
sta smc_raster_color1_2+1 ; 4
|
||||
sta smc_raster_color2_1+1 ; 4
|
||||
sta smc_raster_color2_2+1 ; 4
|
||||
sta smc_raster_color3_1+1 ; 4
|
||||
;=============
|
||||
; 22
|
||||
|
||||
; erase red
|
||||
|
||||
lda red_x ; 4
|
||||
and #$7f ; 2
|
||||
tax ; 2
|
||||
|
||||
jsr draw_rasterbar ; 6+126
|
||||
|
||||
; erase yellow
|
||||
|
||||
lda yellow_x ; 4
|
||||
and #$7f ; 2
|
||||
tax ; 2
|
||||
|
||||
jsr draw_rasterbar ; 6+126
|
||||
|
||||
; erase green
|
||||
|
||||
lda green_x ; 4
|
||||
and #$7f ; 2
|
||||
tax ; 2
|
||||
|
||||
jsr draw_rasterbar ; 6+126
|
||||
|
||||
; erase red
|
||||
|
||||
lda blue_x ; 4
|
||||
and #$7f ; 2
|
||||
tax ; 2
|
||||
|
||||
jsr draw_rasterbar ; 6+126
|
||||
|
||||
|
||||
;=========================
|
||||
; MOVE and DRAW
|
||||
;=========================
|
||||
|
||||
|
||||
;============
|
||||
; move red
|
||||
|
||||
ldy red_x ; 4
|
||||
lda movement_table,Y ; 4
|
||||
sta red_x ; 4
|
||||
and #$7f ; 2
|
||||
tax ; 2
|
||||
;==========
|
||||
; 16
|
||||
|
||||
; draw red
|
||||
|
||||
lda #$33 ; 2
|
||||
sta smc_raster_color1_1+1 ; 4
|
||||
sta smc_raster_color1_2+1 ; 4
|
||||
lda #$bb ; 2
|
||||
sta smc_raster_color2_1+1 ; 4
|
||||
sta smc_raster_color2_2+1 ; 4
|
||||
lda #$ff ; 2
|
||||
sta smc_raster_color3_1+1 ; 4
|
||||
;=============
|
||||
; 26
|
||||
|
||||
|
||||
jsr draw_rasterbar ; 6+126
|
||||
|
||||
|
||||
;============
|
||||
; move yellow
|
||||
|
||||
ldy yellow_x ; 4
|
||||
lda movement_table,Y ; 4
|
||||
sta yellow_x ; 4
|
||||
and #$7f ; 2
|
||||
tax ; 2
|
||||
;==========
|
||||
; 16
|
||||
|
||||
; draw yellow
|
||||
|
||||
lda #$88 ; 2
|
||||
sta smc_raster_color1_1+1 ; 4
|
||||
sta smc_raster_color1_2+1 ; 4
|
||||
lda #$dd ; 2
|
||||
sta smc_raster_color2_1+1 ; 4
|
||||
sta smc_raster_color2_2+1 ; 4
|
||||
lda #$ff ; 2
|
||||
sta smc_raster_color3_1+1 ; 4
|
||||
;=============
|
||||
; 26
|
||||
|
||||
|
||||
jsr draw_rasterbar ; 6+126
|
||||
|
||||
;============
|
||||
; move green
|
||||
|
||||
ldy green_x ; 4
|
||||
lda movement_table,Y ; 4
|
||||
sta green_x ; 4
|
||||
and #$7f ; 2
|
||||
tax ; 2
|
||||
;==========
|
||||
; 16
|
||||
|
||||
; draw green
|
||||
|
||||
lda #$44 ; 2
|
||||
sta smc_raster_color1_1+1 ; 4
|
||||
sta smc_raster_color1_2+1 ; 4
|
||||
lda #$cc ; 2
|
||||
sta smc_raster_color2_1+1 ; 4
|
||||
sta smc_raster_color2_2+1 ; 4
|
||||
lda #$ff ; 2
|
||||
sta smc_raster_color3_1+1 ; 4
|
||||
;=============
|
||||
; 26
|
||||
|
||||
|
||||
jsr draw_rasterbar ; 6+126
|
||||
|
||||
;============
|
||||
; move blue
|
||||
|
||||
ldy blue_x ; 4
|
||||
lda movement_table,Y ; 4
|
||||
sta blue_x ; 4
|
||||
and #$7f ; 2
|
||||
tax ; 2
|
||||
;==========
|
||||
; 16
|
||||
|
||||
; draw blue
|
||||
|
||||
lda #$22 ; 2
|
||||
sta smc_raster_color1_1+1 ; 4
|
||||
sta smc_raster_color1_2+1 ; 4
|
||||
lda #$66 ; 2
|
||||
sta smc_raster_color2_1+1 ; 4
|
||||
sta smc_raster_color2_2+1 ; 4
|
||||
lda #$ff ; 2
|
||||
sta smc_raster_color3_1+1 ; 4
|
||||
;=============
|
||||
; 26
|
||||
|
||||
|
||||
jsr draw_rasterbar ; 6+126
|
||||
|
||||
|
||||
|
||||
|
||||
;============================
|
||||
; WAIT for VBLANK to finish
|
||||
;============================
|
||||
|
||||
; Try X=71 Y=9 cycles=3250
|
||||
|
||||
ldy #9 ; 2
|
||||
tloop1: ldx #71 ; 2
|
||||
tloop2: dex ; 2
|
||||
bne tloop2 ; 2nt/3
|
||||
dey ; 2
|
||||
bne tloop1 ; 2nt/3
|
||||
|
||||
|
||||
lda KEYPRESS ; 4
|
||||
bpl cno_keypress ; 3
|
||||
jmp credits_loop
|
||||
cno_keypress:
|
||||
|
||||
jmp credits_loop ; 3
|
||||
|
||||
|
||||
;========================
|
||||
; Draw a rasterbar
|
||||
; unroll as memory is free! haha
|
||||
;========================
|
||||
; X is location
|
||||
|
||||
; 2+22+24+24+24+24+6 = 126
|
||||
|
||||
draw_rasterbar:
|
||||
|
||||
ldy #0 ; 2
|
||||
;====
|
||||
|
||||
lda y_lookup_l,X ; 4
|
||||
sta OUTL ; 3
|
||||
lda y_lookup_h,X ; 4
|
||||
sta OUTH ; 3
|
||||
|
||||
smc_raster_color1_1:
|
||||
lda #$33 ; 2
|
||||
sta (OUTL),Y ; 6
|
||||
;============
|
||||
; 22
|
||||
|
||||
inx ; 2
|
||||
lda y_lookup_l,X ; 4
|
||||
sta OUTL ; 3
|
||||
lda y_lookup_h,X ; 4
|
||||
sta OUTH ; 3
|
||||
|
||||
smc_raster_color2_1:
|
||||
lda #$bb ; 2
|
||||
sta (OUTL),Y ; 6
|
||||
|
||||
inx ; 2
|
||||
lda y_lookup_l,X ; 4
|
||||
sta OUTL ; 3
|
||||
lda y_lookup_h,X ; 4
|
||||
sta OUTH ; 3
|
||||
|
||||
smc_raster_color3_1:
|
||||
lda #$ff ; 2
|
||||
sta (OUTL),Y ; 6
|
||||
|
||||
inx
|
||||
lda y_lookup_l,X ; 4
|
||||
sta OUTL ; 3
|
||||
lda y_lookup_h,X ; 4
|
||||
sta OUTH ; 3
|
||||
|
||||
smc_raster_color2_2:
|
||||
lda #$bb ; 2
|
||||
sta (OUTL),Y ; 6
|
||||
|
||||
inx
|
||||
lda y_lookup_l,X ; 4
|
||||
sta OUTL ; 3
|
||||
lda y_lookup_h,X ; 4
|
||||
sta OUTH ; 3
|
||||
|
||||
smc_raster_color1_2:
|
||||
lda #$33 ; 2
|
||||
sta (OUTL),Y ; 6
|
||||
|
||||
rts ; 6
|
||||
|
||||
|
||||
red_x: .byte $10
|
||||
yellow_x: .byte $20
|
||||
green_x: .byte $30
|
||||
blue_x: .byte $40
|
@ -132,6 +132,9 @@ wait_until_keypressed:
|
||||
.include "pt3_lib_mockingboard.s"
|
||||
.include "interrupt_handler.s"
|
||||
|
||||
; Images (no need to align)
|
||||
.include "credits_bg.inc"
|
||||
|
||||
|
||||
PT3_LOC = song
|
||||
|
||||
|
@ -2,7 +2,7 @@ CC = gcc
|
||||
CFLAGS = -Wall -O2
|
||||
LFLAGS =
|
||||
|
||||
all: creator
|
||||
all: creator offsets
|
||||
|
||||
creator: creator.o
|
||||
$(CC) -o creator creator.o $(LFLAGS)
|
||||
@ -10,5 +10,11 @@ creator: creator.o
|
||||
creator.o: creator.c
|
||||
$(CC) $(CFLAGS) -c creator.c
|
||||
|
||||
offsets: offsets.o
|
||||
$(CC) -o offsets offsets.o $(LFLAGS)
|
||||
|
||||
offsets.o: offsets.c
|
||||
$(CC) $(CFLAGS) -c offsets.c
|
||||
|
||||
clean:
|
||||
rm -f *.o creator
|
||||
rm -f *.o creator offsets
|
||||
|
28
demosplash/generator/offsets.c
Normal file
28
demosplash/generator/offsets.c
Normal file
@ -0,0 +1,28 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#define NUMBER 128
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
|
||||
int i;
|
||||
|
||||
printf("y_lookup_h:\n");
|
||||
|
||||
for(i=0;i<NUMBER;i++) {
|
||||
if (i%8==0) printf(".byte\t");
|
||||
//printf(">(smc%3d+1)",i+32);
|
||||
printf(">($%4X)",0x9000+(i+32)*49+4);
|
||||
if (i%8!=7) printf(",");
|
||||
else printf("\n");
|
||||
}
|
||||
printf("y_lookup_l:\n");
|
||||
for(i=0;i<NUMBER;i++) {
|
||||
if (i%8==0) printf(".byte\t");
|
||||
//printf("<(smc%3d+1)",i+32);
|
||||
printf("<($%4X)",0x9000+(i+32)*49+4);
|
||||
if (i%8!=7) printf(",");
|
||||
else printf("\n");
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
257
demosplash/movement_table.s
Normal file
257
demosplash/movement_table.s
Normal file
@ -0,0 +1,257 @@
|
||||
movement_table:
|
||||
.byte $01 ; 0 -> 1
|
||||
.byte $02 ; 1 -> 2
|
||||
.byte $03 ; 2 -> 3
|
||||
.byte $04 ; 3 -> 4
|
||||
.byte $05 ; 4 -> 5
|
||||
.byte $06 ; 5 -> 6
|
||||
.byte $07 ; 6 -> 7
|
||||
.byte $08 ; 7 -> 8
|
||||
.byte $09 ; 8 -> 9
|
||||
.byte $0A ; 9 -> 10
|
||||
.byte $0B ; 10 -> 11
|
||||
.byte $0C ; 11 -> 12
|
||||
.byte $0D ; 12 -> 13
|
||||
.byte $0E ; 13 -> 14
|
||||
.byte $0F ; 14 -> 15
|
||||
.byte $10 ; 15 -> 16
|
||||
.byte $11 ; 16 -> 17
|
||||
.byte $12 ; 17 -> 18
|
||||
.byte $13 ; 18 -> 19
|
||||
.byte $14 ; 19 -> 20
|
||||
.byte $15 ; 20 -> 21
|
||||
.byte $16 ; 21 -> 22
|
||||
.byte $17 ; 22 -> 23
|
||||
.byte $18 ; 23 -> 24
|
||||
.byte $19 ; 24 -> 25
|
||||
.byte $1A ; 25 -> 26
|
||||
.byte $1B ; 26 -> 27
|
||||
.byte $1C ; 27 -> 28
|
||||
.byte $1D ; 28 -> 29
|
||||
.byte $1E ; 29 -> 30
|
||||
.byte $1F ; 30 -> 31
|
||||
.byte $20 ; 31 -> 32
|
||||
.byte $21 ; 32 -> 33
|
||||
.byte $22 ; 33 -> 34
|
||||
.byte $23 ; 34 -> 35
|
||||
.byte $24 ; 35 -> 36
|
||||
.byte $25 ; 36 -> 37
|
||||
.byte $26 ; 37 -> 38
|
||||
.byte $27 ; 38 -> 39
|
||||
.byte $28 ; 39 -> 40
|
||||
.byte $29 ; 40 -> 41
|
||||
.byte $2A ; 41 -> 42
|
||||
.byte $2B ; 42 -> 43
|
||||
.byte $2C ; 43 -> 44
|
||||
.byte $2D ; 44 -> 45
|
||||
.byte $2E ; 45 -> 46
|
||||
.byte $2F ; 46 -> 47
|
||||
.byte $30 ; 47 -> 48
|
||||
.byte $31 ; 48 -> 49
|
||||
.byte $32 ; 49 -> 50
|
||||
.byte $33 ; 50 -> 51
|
||||
.byte $34 ; 51 -> 52
|
||||
.byte $35 ; 52 -> 53
|
||||
.byte $36 ; 53 -> 54
|
||||
.byte $37 ; 54 -> 55
|
||||
.byte $38 ; 55 -> 56
|
||||
.byte $39 ; 56 -> 57
|
||||
.byte $3A ; 57 -> 58
|
||||
.byte $3B ; 58 -> 59
|
||||
.byte $3C ; 59 -> 60
|
||||
.byte $3D ; 60 -> 61
|
||||
.byte $3E ; 61 -> 62
|
||||
.byte $3F ; 62 -> 63
|
||||
.byte $40 ; 63 -> 64
|
||||
.byte $41 ; 64 -> 65
|
||||
.byte $42 ; 65 -> 66
|
||||
.byte $43 ; 66 -> 67
|
||||
.byte $44 ; 67 -> 68
|
||||
.byte $45 ; 68 -> 69
|
||||
.byte $46 ; 69 -> 70
|
||||
.byte $47 ; 70 -> 71
|
||||
.byte $48 ; 71 -> 72
|
||||
.byte $49 ; 72 -> 73
|
||||
.byte $4A ; 73 -> 74
|
||||
.byte $4B ; 74 -> 75
|
||||
.byte $4C ; 75 -> 76
|
||||
.byte $4D ; 76 -> 77
|
||||
.byte $4E ; 77 -> 78
|
||||
.byte $4F ; 78 -> 79
|
||||
.byte $50 ; 79 -> 80
|
||||
.byte $51 ; 80 -> 81
|
||||
.byte $52 ; 81 -> 82
|
||||
.byte $53 ; 82 -> 83
|
||||
.byte $54 ; 83 -> 84
|
||||
.byte $55 ; 84 -> 85
|
||||
.byte $56 ; 85 -> 86
|
||||
.byte $57 ; 86 -> 87
|
||||
.byte $58 ; 87 -> 88
|
||||
.byte $59 ; 88 -> 89
|
||||
.byte $5A ; 89 -> 90
|
||||
.byte $5B ; 90 -> 91
|
||||
.byte $5C ; 91 -> 92
|
||||
.byte $5D ; 92 -> 93
|
||||
.byte $5E ; 93 -> 94
|
||||
.byte $5F ; 94 -> 95
|
||||
.byte $60 ; 95 -> 96
|
||||
.byte $61 ; 96 -> 97
|
||||
.byte $62 ; 97 -> 98
|
||||
.byte $63 ; 98 -> 99
|
||||
.byte $64 ; 99 -> 100
|
||||
.byte $65 ; 100 -> 101
|
||||
.byte $66 ; 101 -> 102
|
||||
.byte $67 ; 102 -> 103
|
||||
.byte $68 ; 103 -> 104
|
||||
.byte $69 ; 104 -> 105
|
||||
.byte $6A ; 105 -> 106
|
||||
.byte $6B ; 106 -> 107
|
||||
.byte $6C ; 107 -> 108
|
||||
.byte $6D ; 108 -> 109
|
||||
.byte $6E ; 109 -> 110
|
||||
.byte $6F ; 110 -> 111
|
||||
.byte $70 ; 111 -> 112
|
||||
.byte $71 ; 112 -> 113
|
||||
.byte $72 ; 113 -> 114
|
||||
.byte $73 ; 114 -> 115
|
||||
.byte $74 ; 115 -> 116
|
||||
.byte $75 ; 116 -> 117
|
||||
.byte $76 ; 117 -> 118
|
||||
.byte $77 ; 118 -> 119
|
||||
.byte $78 ; 119 -> 120
|
||||
.byte $79 ; 120 -> 121
|
||||
.byte $7A ; 121 -> 122
|
||||
.byte $7B ; 122 -> 123
|
||||
.byte $FB ; 123 -> 251
|
||||
.byte $7B ; 124 -> 123
|
||||
.byte $7B ; 125 -> 123
|
||||
.byte $7B ; 126 -> 123
|
||||
.byte $7B ; 127 -> 123
|
||||
.byte $00 ; 128 -> 0
|
||||
.byte $80 ; 129 -> 128
|
||||
.byte $81 ; 130 -> 129
|
||||
.byte $82 ; 131 -> 130
|
||||
.byte $83 ; 132 -> 131
|
||||
.byte $84 ; 133 -> 132
|
||||
.byte $85 ; 134 -> 133
|
||||
.byte $86 ; 135 -> 134
|
||||
.byte $87 ; 136 -> 135
|
||||
.byte $88 ; 137 -> 136
|
||||
.byte $89 ; 138 -> 137
|
||||
.byte $8A ; 139 -> 138
|
||||
.byte $8B ; 140 -> 139
|
||||
.byte $8C ; 141 -> 140
|
||||
.byte $8D ; 142 -> 141
|
||||
.byte $8E ; 143 -> 142
|
||||
.byte $8F ; 144 -> 143
|
||||
.byte $90 ; 145 -> 144
|
||||
.byte $91 ; 146 -> 145
|
||||
.byte $92 ; 147 -> 146
|
||||
.byte $93 ; 148 -> 147
|
||||
.byte $94 ; 149 -> 148
|
||||
.byte $95 ; 150 -> 149
|
||||
.byte $96 ; 151 -> 150
|
||||
.byte $97 ; 152 -> 151
|
||||
.byte $98 ; 153 -> 152
|
||||
.byte $99 ; 154 -> 153
|
||||
.byte $9A ; 155 -> 154
|
||||
.byte $9B ; 156 -> 155
|
||||
.byte $9C ; 157 -> 156
|
||||
.byte $9D ; 158 -> 157
|
||||
.byte $9E ; 159 -> 158
|
||||
.byte $9F ; 160 -> 159
|
||||
.byte $A0 ; 161 -> 160
|
||||
.byte $A1 ; 162 -> 161
|
||||
.byte $A2 ; 163 -> 162
|
||||
.byte $A3 ; 164 -> 163
|
||||
.byte $A4 ; 165 -> 164
|
||||
.byte $A5 ; 166 -> 165
|
||||
.byte $A6 ; 167 -> 166
|
||||
.byte $A7 ; 168 -> 167
|
||||
.byte $A8 ; 169 -> 168
|
||||
.byte $A9 ; 170 -> 169
|
||||
.byte $AA ; 171 -> 170
|
||||
.byte $AB ; 172 -> 171
|
||||
.byte $AC ; 173 -> 172
|
||||
.byte $AD ; 174 -> 173
|
||||
.byte $AE ; 175 -> 174
|
||||
.byte $AF ; 176 -> 175
|
||||
.byte $B0 ; 177 -> 176
|
||||
.byte $B1 ; 178 -> 177
|
||||
.byte $B2 ; 179 -> 178
|
||||
.byte $B3 ; 180 -> 179
|
||||
.byte $B4 ; 181 -> 180
|
||||
.byte $B5 ; 182 -> 181
|
||||
.byte $B6 ; 183 -> 182
|
||||
.byte $B7 ; 184 -> 183
|
||||
.byte $B8 ; 185 -> 184
|
||||
.byte $B9 ; 186 -> 185
|
||||
.byte $BA ; 187 -> 186
|
||||
.byte $BB ; 188 -> 187
|
||||
.byte $BC ; 189 -> 188
|
||||
.byte $BD ; 190 -> 189
|
||||
.byte $BE ; 191 -> 190
|
||||
.byte $BF ; 192 -> 191
|
||||
.byte $C0 ; 193 -> 192
|
||||
.byte $C1 ; 194 -> 193
|
||||
.byte $C2 ; 195 -> 194
|
||||
.byte $C3 ; 196 -> 195
|
||||
.byte $C4 ; 197 -> 196
|
||||
.byte $C5 ; 198 -> 197
|
||||
.byte $C6 ; 199 -> 198
|
||||
.byte $C7 ; 200 -> 199
|
||||
.byte $C8 ; 201 -> 200
|
||||
.byte $C9 ; 202 -> 201
|
||||
.byte $CA ; 203 -> 202
|
||||
.byte $CB ; 204 -> 203
|
||||
.byte $CC ; 205 -> 204
|
||||
.byte $CD ; 206 -> 205
|
||||
.byte $CE ; 207 -> 206
|
||||
.byte $CF ; 208 -> 207
|
||||
.byte $D0 ; 209 -> 208
|
||||
.byte $D1 ; 210 -> 209
|
||||
.byte $D2 ; 211 -> 210
|
||||
.byte $D3 ; 212 -> 211
|
||||
.byte $D4 ; 213 -> 212
|
||||
.byte $D5 ; 214 -> 213
|
||||
.byte $D6 ; 215 -> 214
|
||||
.byte $D7 ; 216 -> 215
|
||||
.byte $D8 ; 217 -> 216
|
||||
.byte $D9 ; 218 -> 217
|
||||
.byte $DA ; 219 -> 218
|
||||
.byte $DB ; 220 -> 219
|
||||
.byte $DC ; 221 -> 220
|
||||
.byte $DD ; 222 -> 221
|
||||
.byte $DE ; 223 -> 222
|
||||
.byte $DF ; 224 -> 223
|
||||
.byte $E0 ; 225 -> 224
|
||||
.byte $E1 ; 226 -> 225
|
||||
.byte $E2 ; 227 -> 226
|
||||
.byte $E3 ; 228 -> 227
|
||||
.byte $E4 ; 229 -> 228
|
||||
.byte $E5 ; 230 -> 229
|
||||
.byte $E6 ; 231 -> 230
|
||||
.byte $E7 ; 232 -> 231
|
||||
.byte $E8 ; 233 -> 232
|
||||
.byte $E9 ; 234 -> 233
|
||||
.byte $EA ; 235 -> 234
|
||||
.byte $EB ; 236 -> 235
|
||||
.byte $EC ; 237 -> 236
|
||||
.byte $ED ; 238 -> 237
|
||||
.byte $EE ; 239 -> 238
|
||||
.byte $EF ; 240 -> 239
|
||||
.byte $F0 ; 241 -> 240
|
||||
.byte $F1 ; 242 -> 241
|
||||
.byte $F2 ; 243 -> 242
|
||||
.byte $F3 ; 244 -> 243
|
||||
.byte $F4 ; 245 -> 244
|
||||
.byte $F5 ; 246 -> 245
|
||||
.byte $F6 ; 247 -> 246
|
||||
.byte $F7 ; 248 -> 247
|
||||
.byte $F8 ; 249 -> 248
|
||||
.byte $F9 ; 250 -> 249
|
||||
.byte $FA ; 251 -> 250
|
||||
.byte $FB ; 252 -> 251
|
||||
.byte $FC ; 253 -> 252
|
||||
.byte $FD ; 254 -> 253
|
||||
.byte $FE ; 255 -> 254
|
@ -139,8 +139,16 @@ frame_decode_loop:
|
||||
; book scene
|
||||
;===========================
|
||||
|
||||
jsr end_book
|
||||
nop
|
||||
nop
|
||||
nop
|
||||
; jsr end_book
|
||||
|
||||
;===========================
|
||||
; credits
|
||||
;===========================
|
||||
|
||||
jsr credits
|
||||
|
||||
; wait wait wait
|
||||
|
||||
@ -177,8 +185,10 @@ wait_until_keypressed:
|
||||
.include "gr_fast_clear.s"
|
||||
;.include "gr_overlay.s"
|
||||
.align $100
|
||||
.include "movement_table.s"
|
||||
.include "font.s"
|
||||
|
||||
.align $100
|
||||
.include "offsets_table.s"
|
||||
|
||||
; missing
|
||||
.include "missing.s"
|
||||
@ -192,6 +202,9 @@ wait_until_keypressed:
|
||||
; book
|
||||
.include "book.s"
|
||||
|
||||
; credits
|
||||
.include "credits.s"
|
||||
|
||||
; Music player
|
||||
.include "pt3_lib_core.s"
|
||||
.include "pt3_lib_init.s"
|
||||
@ -201,6 +214,10 @@ wait_until_keypressed:
|
||||
.include "pt3_lib_write_frame.s"
|
||||
.include "create_update_type1.s"
|
||||
|
||||
; Pictures (no need to align)
|
||||
.include "credits_bg.inc"
|
||||
|
||||
|
||||
PT3_LOC = song
|
||||
|
||||
; must be page aligned
|
||||
|
Loading…
x
Reference in New Issue
Block a user