ootw: add support for "overlay" on top of background

also now the RLE format supports color A, just less efficiently
This commit is contained in:
Vince Weaver 2019-02-03 00:55:45 -05:00
parent a00583360f
commit 0a1f21cdb6
31 changed files with 802 additions and 397 deletions

View File

@ -13,6 +13,260 @@
#define OUTPUT_ASM 1
#define OUTPUT_RAW 2
/*****************************************/
/* \/ \/ */
/* Converts a PNG to RLE compressed data */
/*****************************************/
static int print_run(int count, int out_type, int run, int last) {
int size=0;
if (count==0) {
if (out_type==OUTPUT_C) {
printf("\n\t");
}
else if (out_type==OUTPUT_ASM) {
printf("\n\t.byte ");
}
}
else {
if (out_type==OUTPUT_C) {
}
else if (out_type==OUTPUT_ASM) {
printf(", ");
}
}
if (run==1) {
if ((last&0xf0)==0xA0) {
if (out_type==OUTPUT_C) {
printf("0x%02X,0x%02X,0x%02X,",0xa0,1,last);
}
else if (out_type==OUTPUT_ASM) {
printf("$%02X,$%02X,$%02X",0xa0,1,last);
}
else {
printf("%c%c%c",0xa0,1,last);
}
size+=3;
}
else {
if (out_type==OUTPUT_C) {
printf("0x%02X,",last);
}
else if (out_type==OUTPUT_ASM) {
printf("$%02X",last);
}
else {
printf("%c",last);
}
size++;
}
}
if (run==2) {
if ((last&0xf0)==0xA0) {
if (out_type==OUTPUT_C) {
printf("0x%02X,0x%02X,0x%02X,",0xa0,2,last);
}
else if (out_type==OUTPUT_ASM) {
printf("$%02X,$%02X,$%02X",0xa0,2,last);
}
else {
printf("%c%c%c",0xa0,2,last);
}
size+=3;
}
else {
if (out_type==OUTPUT_C) {
printf("0x%02X,0x%02X,",last,last);
}
else if (out_type==OUTPUT_ASM) {
printf("$%02X,$%02X",last,last);
}
else {
printf("%c",last);
printf("%c",last);
}
size+=2;
}
}
if ((run>2) && (run<16)) {
if (out_type==OUTPUT_C) {
printf("0x%02X,0x%02X,",0xA0|run,last);
}
else if (out_type==OUTPUT_ASM) {
printf("$%02X,$%02X",0xA0|run,last);
}
else {
printf("%c",0xA0|run);
printf("%c",last);
}
size+=2;
}
if (run>=16) {
if (out_type==OUTPUT_C) {
printf("0x%02X,0x%02X,0x%02X,",0xA0,run,last);
}
else if (out_type==OUTPUT_ASM) {
printf("$%02X,$%02X,$%02X",0xA0,run,last);
}
else {
printf("%c",0xA0);
printf("%c",run);
printf("%c",last);
}
size+=3;
}
return size;
}
int rle_smaller(int out_type, char *varname,
int xsize,int ysize, unsigned char *image) {
int run=0;
int x;
int last=-1,next;
int size=0;
int count=0;
x=0;
/* Write out xsize and ysize */
if (out_type==OUTPUT_C) {
fprintf(stdout,"unsigned char %s[]={\n",varname);
fprintf(stdout,"\t0x%X, /* ysize=%d */",xsize,ysize);
}
else if (out_type==OUTPUT_ASM) {
fprintf(stdout,"%s:",varname);
fprintf(stdout,"\t.byte $%X ; ysize=%d",xsize,ysize);
} else {
fprintf(stdout,"%c",xsize);
}
size+=2;
/* Get first top/bottom color pair */
last=image[x];
run++;
x++;
while(1) {
/* get next top/bottom color pair */
next=image[x];
// if ((next&0xf0)==0xA0) {
// fprintf(stderr,"Warning! Using color A (grey2)!\n");
// next&=~0xf0;
// next|=0x50; // substitute grey1
// }
/* If color change (or too big) then output our run */
/* Note 0xff for run length is special case meaning "finished" */
if ((next!=last) || (run>254)) {
size+=print_run(count,out_type,run,last);
count++;
run=0;
last=next;
}
x++;
/* If we reach the end */
if (x>=xsize*(ysize/2)) {
run++;
size+=print_run(count,out_type,run,last);
break;
}
run++;
if (count>6) count=0;
}
/* Print closing marker */
if (out_type==OUTPUT_C) {
fprintf(stdout,"0xA1,");
fprintf(stdout,"\t};\n");
} else if (out_type==OUTPUT_ASM) {
fprintf(stdout,"\n\t.byte $A1\n");
} else {
fprintf(stdout,"%c",0xA1);
}
size+=1;
return size;
}
/* Converts a PNG to RLE compressed data */
int main(int argc, char **argv) {
unsigned char *image;
int xsize,ysize;
int size=0;
int out_type=OUTPUT_C;
if (argc<4) {
fprintf(stderr,"Usage:\t%s type INFILE varname\n\n",argv[0]);
fprintf(stderr,"\ttype: c or asm or raw\n");
fprintf(stderr,"\tvarname: label for graphic\n");
fprintf(stderr,"\n");
exit(-1);
}
if (!strcmp(argv[1],"c")) {
out_type=OUTPUT_C;
}
else if (!strcmp(argv[1],"asm")) {
out_type=OUTPUT_ASM;
}
else if (!strcmp(argv[1],"raw")) {
out_type=OUTPUT_RAW;
}
if (loadpng(argv[2],&image,&xsize,&ysize)<0) {
fprintf(stderr,"Error loading png!\n");
exit(-1);
}
fprintf(stderr,"Loaded image %d by %d\n",xsize,ysize);
// size=rle_original(out_type,argv[3],
// xsize,ysize,image);
size=rle_smaller(out_type,argv[3],
xsize,ysize,image);
fprintf(stderr,"Size %d bytes\n",size);
return 0;
}
/* Converts a PNG to RLE compressed data */
int rle_original(int out_type, char *varname,
@ -132,227 +386,3 @@ int rle_original(int out_type, char *varname,
return size;
}
/*****************************************/
/* \/ \/ */
/* Converts a PNG to RLE compressed data */
/*****************************************/
static int print_run(int count, int out_type, int run, int last) {
int size=0;
if (count==0) {
if (out_type==OUTPUT_C) {
printf("\n\t");
}
else if (out_type==OUTPUT_ASM) {
printf("\n\t.byte ");
}
}
else {
if (out_type==OUTPUT_C) {
}
else if (out_type==OUTPUT_ASM) {
printf(", ");
}
}
if (run==1) {
if (out_type==OUTPUT_C) {
printf("0x%02X,",last);
}
else if (out_type==OUTPUT_ASM) {
printf("$%02X",last);
}
else {
printf("%c",last);
}
size++;
}
if (run==2) {
if (out_type==OUTPUT_C) {
printf("0x%02X,0x%02X,",last,last);
}
else if (out_type==OUTPUT_ASM) {
printf("$%02X,$%02X",last,last);
}
else {
printf("%c",last);
printf("%c",last);
}
size+=2;
}
if ((run>2) && (run<16)) {
if (out_type==OUTPUT_C) {
printf("0x%02X,0x%02X,",0xA0|run,last);
}
else if (out_type==OUTPUT_ASM) {
printf("$%02X,$%02X",0xA0|run,last);
}
else {
printf("%c",0xA0|run);
printf("%c",last);
}
size+=2;
}
if (run>=16) {
if (out_type==OUTPUT_C) {
printf("0x%02X,0x%02X,0x%02X,",0xA0,run,last);
}
else if (out_type==OUTPUT_ASM) {
printf("$%02X,$%02X,$%02X",0xA0,run,last);
}
else {
printf("%c",0xA0);
printf("%c",run);
printf("%c",last);
}
size+=3;
}
return size;
}
int rle_smaller(int out_type, char *varname,
int xsize,int ysize, unsigned char *image) {
int run=0;
int x;
int last=-1,next;
int size=0;
int count=0;
x=0;
/* Write out xsize and ysize */
if (out_type==OUTPUT_C) {
fprintf(stdout,"unsigned char %s[]={\n",varname);
fprintf(stdout,"\t0x%X, /* ysize=%d */",xsize,ysize);
}
else if (out_type==OUTPUT_ASM) {
fprintf(stdout,"%s:",varname);
fprintf(stdout,"\t.byte $%X ; ysize=%d",xsize,ysize);
} else {
fprintf(stdout,"%c",xsize);
}
size+=2;
/* Get first top/bottom color pair */
last=image[x];
run++;
x++;
while(1) {
/* get next top/bottom color pair */
next=image[x];
if ((next&0xf0)==0xA0) {
fprintf(stderr,"Warning! Using color A (grey2)!\n");
next&=~0xf0;
next|=0x50; // substitute grey1
}
/* If color change (or too big) then output our run */
/* Note 0xff for run length is special case meaning "finished" */
if ((next!=last) || (run>254)) {
size+=print_run(count,out_type,run,last);
count++;
run=0;
last=next;
}
x++;
/* If we reach the end */
if (x>=xsize*(ysize/2)) {
run++;
size+=print_run(count,out_type,run,last);
break;
}
run++;
if (count>6) count=0;
}
/* Print closing marker */
if (out_type==OUTPUT_C) {
fprintf(stdout,"0xA1,");
fprintf(stdout,"\t};\n");
} else if (out_type==OUTPUT_ASM) {
fprintf(stdout,"\n\t.byte $A1\n");
} else {
fprintf(stdout,"%c",0xA1);
}
size+=1;
return size;
}
/* Converts a PNG to RLE compressed data */
int main(int argc, char **argv) {
unsigned char *image;
int xsize,ysize;
int size=0;
int out_type=OUTPUT_C;
if (argc<4) {
fprintf(stderr,"Usage:\t%s type INFILE varname\n\n",argv[0]);
fprintf(stderr,"\ttype: c or asm or raw\n");
fprintf(stderr,"\tvarname: label for graphic\n");
fprintf(stderr,"\n");
exit(-1);
}
if (!strcmp(argv[1],"c")) {
out_type=OUTPUT_C;
}
else if (!strcmp(argv[1],"asm")) {
out_type=OUTPUT_ASM;
}
else if (!strcmp(argv[1],"raw")) {
out_type=OUTPUT_RAW;
}
if (loadpng(argv[2],&image,&xsize,&ysize)<0) {
fprintf(stderr,"Error loading png!\n");
exit(-1);
}
fprintf(stderr,"Loaded image %d by %d\n",xsize,ysize);
// size=rle_original(out_type,argv[3],
// xsize,ysize,image);
size=rle_smaller(out_type,argv[3],
xsize,ysize,image);
fprintf(stderr,"Size %d bytes\n",size);
return 0;
}

View File

@ -53,11 +53,15 @@ INTRO: intro.o
intro.o: intro.s \
gr_copy.s gr_fast_clear.s gr_pageflip.s gr_unrle.s gr_putsprite.s \
gr_overlay.s \
keyboard.s random16.s \
intro_building.inc intro_elevator.inc intro_off_elevator.inc \
intro_elevator.inc intro_off_elevator.inc \
intro_keypad.inc intro_scanner.inc intro_unzapped.inc \
intro_open_soda.inc intro_drinking.inc intro_collider_ui.inc \
intro_tunnel1.inc intro_tunnel2.inc intro_gone.inc
intro_tunnel1.inc intro_tunnel2.inc intro_gone.inc \
intro_graphics/01_building/intro_car.inc \
intro_graphics/01_building/intro_building_car.inc \
intro_graphics/01_building/intro_building.inc
ca65 -o intro.o intro.s -l intro.lst
####
@ -100,9 +104,6 @@ ootw_c2_cage.inc: $(PNG2RLE) ootw_c2_cage.png
#####
intro_building.inc: $(PNG2RLE) intro1_building.png
$(PNG2RLE) asm intro1_building.png building_rle > intro_building.inc
intro_elevator.inc: $(PNG2RLE) intro_elevator.png
$(PNG2RLE) asm intro_elevator.png elevator_rle > intro_elevator.inc

View File

@ -74,16 +74,11 @@ beast_end:
;=============================
; Restore background to $c00
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda #>(cavern3_rle)
sta GBASH
lda #<(cavern3_rle)
sta GBASL
lda #$c ; load image off-screen $c00
jmp load_rle_gr

View File

@ -1,100 +1,87 @@
;=================
; load RLE image
;=================
; Output is BASH/BASL
; Output is A:00 (assume page aligned)
; Input is in GBASH/GBASL
load_rle_gr:
lda #$0
tay ; init Y to 0
sta TEMP ; stores the xcoord
sta CV ; ycoord=0
; format: first byte=xsize
; A0,X,Y means run of X bytes of Y color
; A1 means end of file
; A2-AF,X means run of low nibble, X color
; if high nibble not A: just display color
; CV = current Y
; CH = max xsize (usually 40)
; TEMP = page
; TEMPY= current X
load_rle_gr:
sec
sbc #4 ; adjust page to write to
; to match gr_offsets
sta TEMP
ldy #$0 ; init Y to 0
sty CV
jsr load_and_increment ; load xsize
sta CH
jsr unrle_new_y
rle_loop:
jsr load_and_increment
tax
cmp #$A1 ; if 0xa1
beq rle_done ; we are done
pha
and #$f0 ; mask
cmp #$a0 ; see if special AX
beq decompress_special
pla ; note, PLA sets flags!
; not special, just color
txa ; put color back in A
ldx #$1 ; only want to print 1
bne decompress_run
decompress_special:
pla
txa ; put read value back in A
and #$0f ; check if was A0
bne decompress_color ; if A0 need to read run, color
decompress_large:
jsr load_and_increment ; get run length
jsr load_and_increment ; run length now in A
decompress_color:
tax ; put runlen into X
jsr load_and_increment ; get color
jsr load_and_increment ; get color into A
decompress_run:
rle_run_loop:
sta (BASL),y ; write out the value
inc BASL ; increment the pointer
bne rle_skip3 ; if wrapped
inc BASH ; then increment the high value
inc BASL
dec TEMPY
bne rle_not_eol ; if less then keep going
rle_skip3:
pha ; store colore for later
; if here, we are > max_X
inc TEMP ; increment the X value
lda TEMP
cmp CH ; compare against the image width
bcc rle_not_eol ; if less then keep going
lda BASL ; cheat to avoid a 16-bit add
cmp #$a7 ; we are adding 0x58 to get
bcc rle_add_skip ; to the next line
inc BASH
rle_add_skip:
clc
adc #$58 ; actually do the 0x58 add
sta BASL ; and store it back
inc CV ; add 2 to ypos
inc CV ; each "line" is two high
lda CV ; load value
cmp #15 ; if it's greater than 14 it wraps
bcc rle_no_wrap ; Thanks Woz
lda #$0 ; we wrapped, so set to zero
sta CV
; when wrapping have to sub 0x3d8
sec ; this is a 16-bit subtract routine
lda BASL
sbc #$d8 ; LSB
sta BASL
lda BASH ; MSB
sbc #$3 ;
sta BASH
rle_no_wrap:
lda #$0 ; set X value back to zero
sta TEMP
inc CV
inc CV
pha
jsr unrle_new_y
pla
rle_not_eol:
pla ; restore color
dex
bne rle_run_loop ; if not zero, keep looping
beq rle_loop ; and branch always
rle_done:
@ -104,12 +91,22 @@ rle_done:
load_and_increment:
lda (GBASL),y ; load value ; 5?
inc GBASL ; 5?
bne lskip2 ; 2nt/3
inc GBASH ; 5?
lskip2:
rts ; 6
lda (GBASL),Y
inc GBASL
bne lai_no_oflo
inc GBASH
lai_no_oflo:
rts
unrle_new_y:
ldy CV
lda gr_offsets,Y
sta BASL
lda gr_offsets+1,Y
clc
adc TEMP ; adjust for page
sta BASH
lda CH
sta TEMPY
ldy #0
rts

View File

@ -14,11 +14,11 @@ intro:
bit FULLGR
;===========================
; Setup pages (is this necessary?)
; Setup pages
lda #0
lda #4
sta DRAW_PAGE
lda #1
lda #0
sta DISP_PAGE
;===============================
@ -30,15 +30,13 @@ intro:
;=============================
; Load background to $c00
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda #>(building_rle)
sta GBASH
lda #<(building_rle)
sta GBASL
lda #$0c ; load to $c00
jsr load_rle_gr
;=================================
@ -46,13 +44,240 @@ intro:
jsr gr_copy_to_current
jsr page_flip
jsr gr_copy_to_current
building_loop:
lda KEYPRESS
bpl building_loop
bit KEYRESET
lda #>(intro_car1)
sta GBASH
lda #<(intro_car1)
sta GBASL
lda #$10 ; load to $1000
jsr load_rle_gr
jsr gr_overlay
jsr page_flip
building_loop2:
lda KEYPRESS
bpl building_loop2
bit KEYRESET
lda #>(intro_car2)
sta GBASH
lda #<(intro_car2)
sta GBASL
lda #$10 ; load to $1000
jsr load_rle_gr
jsr gr_overlay
jsr page_flip
building_loop3:
lda KEYPRESS
bpl building_loop3
bit KEYRESET
lda #>(intro_car3)
sta GBASH
lda #<(intro_car3)
sta GBASL
lda #$10 ; load to $1000
jsr load_rle_gr
jsr gr_overlay
jsr page_flip
building_loop4:
lda KEYPRESS
bpl building_loop4
bit KEYRESET
lda #>(intro_car4)
sta GBASH
lda #<(intro_car4)
sta GBASL
lda #$10 ; load to $1000
jsr load_rle_gr
jsr gr_overlay
jsr page_flip
building_loop5:
lda KEYPRESS
bpl building_loop5
bit KEYRESET
lda #>(intro_car5)
sta GBASH
lda #<(intro_car5)
sta GBASL
lda #$10 ; load to $1000
jsr load_rle_gr
jsr gr_overlay
jsr page_flip
building_loop6:
lda KEYPRESS
bpl building_loop6
bit KEYRESET
lda #>(intro_car6)
sta GBASH
lda #<(intro_car6)
sta GBASL
lda #$10 ; load to $1000
jsr load_rle_gr
jsr gr_overlay
jsr page_flip
building_loop7:
lda KEYPRESS
bpl building_loop7
bit KEYRESET
lda #>(intro_car7)
sta GBASH
lda #<(intro_car7)
sta GBASL
lda #$10 ; load to $1000
jsr load_rle_gr
jsr gr_overlay
jsr page_flip
building_loop8:
lda KEYPRESS
bpl building_loop8
bit KEYRESET
lda #>(intro_car8)
sta GBASH
lda #<(intro_car8)
sta GBASL
lda #$10 ; load to $1000
jsr load_rle_gr
jsr gr_overlay
jsr page_flip
building_loop9:
lda KEYPRESS
bpl building_loop9
bit KEYRESET
lda #>(intro_car9)
sta GBASH
lda #<(intro_car9)
sta GBASL
lda #$10 ; load to $1000
jsr load_rle_gr
jsr gr_overlay
jsr page_flip
building_loop10:
lda KEYPRESS
bpl building_loop10
bit KEYRESET
lda #>(intro_car10)
sta GBASH
lda #<(intro_car10)
sta GBASL
lda #$10 ; load to $1000
jsr load_rle_gr
jsr gr_overlay
jsr page_flip
building_loop11:
lda KEYPRESS
bpl building_loop11
bit KEYRESET
;=============================
; Load background to $c00
lda #>(building_car_rle)
sta GBASH
lda #<(building_car_rle)
sta GBASL
lda #$0c ; load to $c00
jsr load_rle_gr
jsr gr_copy_to_current
jsr page_flip
building_loop12:
lda KEYPRESS
bpl building_loop12
bit KEYRESET
lda #>(intro_car12)
sta GBASH
lda #<(intro_car12)
sta GBASL
lda #$10 ; load to $1000
jsr load_rle_gr
jsr gr_overlay
jsr page_flip
building_loop13:
lda KEYPRESS
bpl building_loop13
bit KEYRESET
lda #>(intro_car13)
sta GBASH
lda #<(intro_car13)
sta GBASL
lda #$10 ; load to $1000
jsr load_rle_gr
jsr gr_overlay
jsr page_flip
building_loop14:
lda KEYPRESS
bpl building_loop14
bit KEYRESET
lda #>(intro_car14)
sta GBASH
lda #<(intro_car14)
sta GBASL
lda #$10 ; load to $1000
jsr load_rle_gr
jsr gr_overlay
jsr page_flip
building_loop15:
lda KEYPRESS
bpl building_loop15
bit KEYRESET
;===============================
;===============================
; Walk into door
@ -71,15 +296,11 @@ building_loop:
;=============================
; Load background to $c00
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda #>(elevator_rle)
sta GBASH
lda #<(elevator_rle)
sta GBASL
lda #$c ; load to off-screen $c00
jsr load_rle_gr
;=================================
@ -105,15 +326,11 @@ elevator_loop:
;=============================
; Load background to $c00
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda #>(off_elevator_rle)
sta GBASH
lda #<(off_elevator_rle)
sta GBASL
lda #$c ; load to off-screen $c00
jsr load_rle_gr
;=================================
@ -138,15 +355,11 @@ off_elevator_loop:
;=============================
; Load background to $c00
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda #>(keypad_rle)
sta GBASH
lda #<(keypad_rle)
sta GBASL
lda #$c ; load to off-screen $c00
jsr load_rle_gr
;=================================
@ -172,15 +385,11 @@ keypad_loop:
;=============================
; Load background to $c00
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda #>(scanner_rle)
sta GBASH
lda #<(scanner_rle)
sta GBASL
lda #$c ; load to off-screen $c00
jsr load_rle_gr
;=================================
@ -210,15 +419,11 @@ scanner_loop:
;=============================
; Load background to $c00
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda #>(unzapped_rle)
sta GBASH
lda #<(unzapped_rle)
sta GBASL
lda #$c ; load to off-screen $c00
jsr load_rle_gr
;=================================
@ -250,15 +455,11 @@ unzapped_loop:
;=============================
; Load background to $c00
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda #>(open_soda_rle)
sta GBASH
lda #<(open_soda_rle)
sta GBASL
lda #$c ; load to off-screen $c00
jsr load_rle_gr
;=================================
@ -283,15 +484,11 @@ open_soda_loop:
;=============================
; Load background to $c00
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda #>(drinking_rle)
sta GBASH
lda #<(drinking_rle)
sta GBASL
lda #$c ; load to off-screen $c00
jsr load_rle_gr
;=================================
@ -315,15 +512,11 @@ drinking_loop:
;=============================
; Load background to $c00
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda #>(collider_ui_rle)
sta GBASH
lda #<(collider_ui_rle)
sta GBASL
lda #$c ; load to off-screen $c00
jsr load_rle_gr
;=================================
@ -355,15 +548,11 @@ collider_ui_loop:
;=============================
; Load background to $c00
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda #>(tunnel1_rle)
sta GBASH
lda #<(tunnel1_rle)
sta GBASL
lda #$c ; load to off-screen $c00
jsr load_rle_gr
;=================================
@ -390,15 +579,11 @@ tunnel1_loop:
;=============================
; Load background to $c00
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda #>(tunnel2_rle)
sta GBASH
lda #<(tunnel2_rle)
sta GBASL
lda #$c ; load to off-screen $c00
jsr load_rle_gr
;=================================
@ -424,15 +609,11 @@ tunnel2_loop:
;=============================
; Load background to $c00
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda #>(gone_rle)
sta GBASH
lda #<(gone_rle)
sta GBASL
lda #$c ; load to off-screen $c00
jsr load_rle_gr
;=================================
@ -465,9 +646,14 @@ gone_loop:
.include "gr_unrle.s"
.include "gr_copy.s"
.include "gr_offsets.s"
.include "gr_overlay.s"
; background graphics
.include "intro_building.inc"
.include "intro_graphics/01_building/intro_building.inc"
.include "intro_graphics/01_building/intro_building_car.inc"
.include "intro_graphics/01_building/intro_car.inc"
.include "intro_elevator.inc"
.include "intro_off_elevator.inc"
.include "intro_keypad.inc"
@ -479,3 +665,5 @@ gone_loop:
.include "intro_tunnel1.inc"
.include "intro_tunnel2.inc"
.include "intro_gone.inc"

View File

@ -0,0 +1,45 @@
include ../../../Makefile.inc
PNG2RLE = ../../../gr-utils/png2rle
all: intro_car.inc intro_building.inc intro_building_car.inc
#####
intro_car.inc: $(PNG2RLE) intro_car1.png intro_car2.png \
intro_car3.png intro_car4.png intro_car5.png \
intro_car6.png intro_car7.png intro_car8.png \
intro_car9.png intro_car10.png intro_car12.png \
intro_car13.png intro_car14.png
$(PNG2RLE) asm intro_car1.png intro_car1 > intro_car.inc
$(PNG2RLE) asm intro_car2.png intro_car2 >> intro_car.inc
$(PNG2RLE) asm intro_car3.png intro_car3 >> intro_car.inc
$(PNG2RLE) asm intro_car4.png intro_car4 >> intro_car.inc
$(PNG2RLE) asm intro_car5.png intro_car5 >> intro_car.inc
$(PNG2RLE) asm intro_car6.png intro_car6 >> intro_car.inc
$(PNG2RLE) asm intro_car7.png intro_car7 >> intro_car.inc
$(PNG2RLE) asm intro_car8.png intro_car8 >> intro_car.inc
$(PNG2RLE) asm intro_car9.png intro_car9 >> intro_car.inc
$(PNG2RLE) asm intro_car10.png intro_car10 >> intro_car.inc
$(PNG2RLE) asm intro_car12.png intro_car12 >> intro_car.inc
$(PNG2RLE) asm intro_car13.png intro_car13 >> intro_car.inc
$(PNG2RLE) asm intro_car14.png intro_car14 >> intro_car.inc
#####
intro_building_car.inc: $(PNG2RLE) intro_building_car.png
$(PNG2RLE) asm intro_building_car.png building_car_rle > intro_building_car.inc
#####
intro_building.inc: $(PNG2RLE) intro_building.png
$(PNG2RLE) asm intro_building.png building_rle > intro_building.inc
#####
clean:
rm -f *~ *.inc

View File

Before

Width:  |  Height:  |  Size: 484 B

After

Width:  |  Height:  |  Size: 484 B

View File

@ -0,0 +1,37 @@
building_car_rle: .byte $28 ; ysize=48
.byte $A3,$26, $00,$00, $26, $A5,$66, $A8,$65, $A6,$25, $65
.byte $AE,$66, $26,$26, $66, $00,$00, $AD,$26, $AA,$22, $20
.byte $A0,$1E,$00, $A5,$20, $A0,$10,$22, $00,$00, $20, $00,$00, $20,$20
.byte $60,$60, $A6,$20, $A0,$19,$00, $66, $60, $A3,$00, $26,$26
.byte $AB,$22, $62, $26, $00, $A3,$22, $62, $26,$26
.byte $56, $A6,$00, $A6,$02, $A3,$22, $00,$00, $AD,$22, $66
.byte $22, $00, $A3,$22, $66, $22,$22, $55, $00
.byte $A4,$20, $00, $A6,$20, $22, $66, $22, $00,$00
.byte $A7,$22, $66, $00, $A4,$22, $66, $22, $00
.byte $22,$22, $66, $A3,$22, $55, $A4,$22, $26, $00,$00
.byte $26,$26, $66, $26,$26, $66, $22,$22, $00,$00, $A6,$22
.byte $66, $22, $00, $AD,$22, $25, $50, $00
.byte $20, $00, $20, $A3,$00, $20, $00, $20,$20
.byte $26, $22,$22, $00,$00, $A6,$22, $26, $22, $20
.byte $AE,$22, $55, $00, $20, $00, $20, $00,$00
.byte $20, $00,$00, $20,$20, $A3,$22, $00,$00, $22, $55
.byte $66,$66, $A7,$22, $52, $A3,$02, $A3,$22, $55, $66,$66
.byte $22,$22, $66, $55, $00,$00, $20, $00,$00, $20,$20
.byte $00, $20,$20, $A3,$22, $00,$00, $22, $55, $66,$66
.byte $A7,$22, $55, $A3,$00, $A3,$22, $55, $66,$66, $A3,$22
.byte $66, $55, $00, $20, $00,$00, $20,$20, $00,$00
.byte $20, $A3,$22, $00,$00, $22, $55, $66,$66, $A7,$22
.byte $55, $A3,$00, $A3,$22, $55, $66,$66, $22,$22, $02,$02
.byte $06, $0A, $A0,$01,$A0, $00,$00, $20,$20, $00, $20
.byte $00, $A3,$02, $00,$00, $22, $55, $66,$66, $A7,$22
.byte $A4,$26, $A3,$22, $55, $66,$66, $22, $00, $22,$22
.byte $02, $00, $50, $A3,$00, $20, $00, $20,$20
.byte $A5,$00, $22, $55, $66,$66, $AE,$22, $05, $06,$06
.byte $00, $A3,$02, $00,$00, $06, $A5,$00, $20,$20, $22
.byte $A0,$01,$A2, $22, $00,$00, $22, $55, $66,$66, $22
.byte $20, $62, $A4,$60, $A3,$22, $02, $A0,$13,$00, $20
.byte $22, $26,$26, $00,$00, $22, $A0,$01,$AA, $66,$66, $02
.byte $A9,$22, $A0,$14,$00, $20, $A3,$02, $00,$00, $02, $0A
.byte $06,$06, $00,$00, $A3,$02, $00, $A5,$02, $A0,$10,$00, $20,$20
.byte $A0,$1B,$00, $02, $A0,$FE,$00
.byte $A1

Binary file not shown.

After

Width:  |  Height:  |  Size: 487 B

View File

@ -0,0 +1,128 @@
intro_car1: .byte $28 ; ysize=48
.byte $A0,$C8,$AA, $A0,$28,$0A, $A0,$FF,$00, $A0,$41,$00, $10, $11,$11, $10
.byte $A0,$21,$00, $10,$10, $00, $A4,$11, $A0,$20,$00, $A4,$11, $01
.byte $11,$11, $01, $A0,$20,$00, $A4,$11, $A0,$25,$00, $01,$01, $A0,$F1,$00
.byte $A1
intro_car2: .byte $28 ; ysize=48
.byte $A0,$FF,$AA, $A0,$24,$AA, $A0,$11,$0A, $A8,$00, $0A, $AA,$AA, $0A,$0A
.byte $A0,$1D,$00, $0A, $A6,$AA, $0A, $A0,$22,$00, $A3,$AA, $0A
.byte $A0,$24,$00, $A3,$AA, $A0,$25,$00, $A3,$AA, $A4,$00, $10,$10, $00
.byte $10,$10, $A0,$16,$00, $10,$10, $00, $10,$10, $00, $A3,$AA
.byte $A4,$00, $11,$11, $00, $11,$11, $A0,$16,$00, $11,$11, $00
.byte $11,$11, $00, $A3,$AA, $A4,$00, $01,$01, $00, $01,$01
.byte $A0,$16,$00, $01,$01, $00, $01,$01, $00, $A3,$AA, $A0,$25,$00
.byte $A3,$0A, $A0,$FF,$00, $A0,$3E,$00
.byte $A1
intro_car3: .byte $28 ; ysize=48
.byte $A0,$83,$AA, $A4,$6A, $A0,$23,$AA, $6A, $AB,$66, $A0,$1B,$AA, $6A
.byte $AD,$66, $A0,$19,$AA, $6A, $AF,$66, $A0,$18,$AA, $AF,$66, $06
.byte $A0,$10,$00, $A8,$AA, $AE,$66, $06, $A0,$11,$00, $A6,$AA, $55
.byte $FF,$FF, $A7,$66, $F6, $A3,$86, $66, $06, $A0,$12,$00
.byte $A6,$AA, $55, $FF,$FF, $A7,$66, $00,$00, $88, $08
.byte $A0,$14,$00, $A6,$AA, $55, $FF,$FF, $A7,$66, $FF, $88
.byte $A0,$16,$00, $A6,$AA, $55, $FF,$FF, $A8,$66, $06, $A0,$16,$00
.byte $A6,$AA, $55, $FF,$FF, $A7,$66, $A8,$00, $10,$10, $00
.byte $10, $AC,$00, $A6,$AA, $55, $FF,$FF, $A3,$66, $A3,$60
.byte $A9,$00, $11,$11, $00, $11, $AC,$00, $A6,$AA, $55
.byte $6F, $FF, $A6,$66, $A0,$19,$00, $A6,$AA, $A0,$01,$A5, $A0,$01,$A6
.byte $A0,$01,$AF, $A7,$86, $A0,$18,$00, $A9,$AA, $A0,$01,$A8, $A5,$88, $A0,$19,$00
.byte $AB,$AA, $A0,$01,$A8, $A3,$88, $A0,$19,$00, $AD,$AA, $A0,$01,$A8, $88
.byte $A0,$B9,$00
.byte $A1
intro_car4: .byte $28 ; ysize=48
.byte $A0,$D5,$AA, $AC,$6A, $A0,$1B,$AA, $AE,$66, $A0,$19,$AA, $AF,$66, $A0,$19,$AA
.byte $AF,$66, $0A,$0A, $AC,$00, $AB,$AA, $A5,$66, $F6, $A3,$86
.byte $A3,$66, $A3,$FF, $AE,$00, $AB,$AA, $A5,$66, $FF, $A3,$88
.byte $A3,$66, $FF,$FF, $0F, $AE,$00, $AB,$AA, $A5,$66, $FF
.byte $A3,$88, $66, $00,$00, $FF, $A0,$10,$00, $AB,$AA, $A5,$66
.byte $A4,$65, $06,$06, $00, $0F, $A0,$10,$00, $AB,$AA, $A9,$66
.byte $A0,$14,$00, $AA,$AA, $A0,$01,$A0, $A5,$60, $A4,$66, $A0,$14,$00, $AC,$AA
.byte $A8,$66, $60, $A9,$00, $10, $00, $10, $A7,$00
.byte $AD,$AA, $A0,$01,$A6, $A6,$86, $AA,$00, $01, $00, $01
.byte $A7,$00, $AF,$AA, $A0,$01,$A8, $A4,$88, $A0,$14,$00, $A0,$12,$AA, $A0,$01,$A8
.byte $88, $A0,$14,$00, $A0,$14,$0A, $08,$08, $A0,$B2,$00
.byte $A1
intro_car5: .byte $28 ; ysize=48
.byte $A0,$FF,$AA, $A0,$6F,$AA, $55, $A0,$16,$AA, $0A, $AA,$00, $A6,$AA
.byte $55, $A9,$AA, $5A, $A6,$AA, $5A, $A3,$AA, $0A
.byte $A0,$01,$A0, $A0,$02,$AA, $A9,$00, $A6,$AA, $A0,$01,$A5, $A3,$AA, $6A
.byte $A3,$66, $6A, $A0,$01,$AA, $55, $A6,$AA, $55, $A0,$01,$AA
.byte $0A, $A0,$01,$A0, $A0,$02,$AA, $0A, $AA,$00, $A8,$AA, $FA
.byte $6A, $A5,$66, $6A, $6F, $A3,$66, $A3,$AA, $05
.byte $00, $0A, $AE,$00, $A8,$AA, $FF, $AB,$66, $6A
.byte $0A, $A0,$12,$00, $A8,$AA, $FF, $A3,$66, $A4,$60, $A4,$66
.byte $06, $A0,$13,$00, $A8,$AA, $6F, $06, $AA,$66, $A0,$14,$00
.byte $A8,$AA, $A0,$01,$A6, $A0,$01,$A0, $A0,$01,$A6, $A9,$86, $A0,$11,$00, $10
.byte $00, $10, $AB,$0A, $A9,$08, $A0,$11,$00, $01, $00
.byte $01, $A0,$F0,$00
.byte $A1
intro_car6: .byte $28 ; ysize=48
.byte $A0,$FF,$AA, $A0,$91,$AA, $A3,$66, $00,$00, $66, $FF, $FA
.byte $A0,$20,$AA, $A3,$66, $00,$00, $66, $A3,$FF, $66,$66, $6A
.byte $A0,$10,$AA, $0A,$0A, $A0,$02,$A0, $A5,$00, $0A,$0A, $A0,$01,$AA, $A3,$06
.byte $00,$00, $66, $A3,$FF, $A5,$66, $6A, $AC,$AA, $00
.byte $A3,$AA, $00, $A0,$01,$AA, $AC,$00, $66, $A3,$FF, $A8,$66
.byte $6A, $A8,$AA, $00, $A4,$AA, $00, $A0,$01,$AA, $A7,$00
.byte $A3,$66, $00,$00, $66, $A3,$FF, $A3,$66, $A4,$60, $A3,$66
.byte $6A, $A0,$02,$AA, $A0,$12,$00, $66, $60,$60, $00,$00, $66
.byte $A3,$FF, $AB,$66, $50, $A0,$12,$00, $10, $06, $86,$86
.byte $00,$00, $86, $A3,$8F, $A5,$86, $00, $A3,$06, $02,$02
.byte $A0,$13,$00, $01, $00,$00, $08, $00,$00, $08, $A0,$FF,$00
.byte $A0,$13,$00
.byte $A1
intro_car7: .byte $28 ; ysize=48
.byte $A0,$FF,$AA, $A0,$D7,$AA, $0A, $50, $A8,$00, $A5,$0A, $6A
.byte $5A, $6A,$6A, $AE,$AA, $5A, $A4,$AA, $0A, $A0,$01,$A0
.byte $A0,$01,$AA, $00, $55, $AC,$00, $66, $FF,$FF, $F6
.byte $AE,$AA, $55, $A0,$02,$AA, $0A, $00, $A3,$0A, $00
.byte $05, $A7,$00, $A3,$66, $00,$00, $66, $A3,$FF, $66,$66
.byte $6A, $A4,$60, $6A, $A4,$AA, $0A,$0A, $A0,$11,$00, $66
.byte $6A,$6A, $00,$00, $66, $A3,$FF, $06, $AA,$66, $55
.byte $50, $A0,$12,$00, $A3,$86, $00,$00, $86, $A3,$8F, $80,$80
.byte $A3,$86, $A5,$06, $02, $A0,$14,$00, $A3,$08, $00,$00, $A6,$08
.byte $A0,$FF,$00, $AE,$00
.byte $A1
intro_car8: .byte $28 ; ysize=48
.byte $A0,$FF,$AA, $A0,$D0,$AA, $5A, $A5,$AA, $A3,$0A, $A6,$00, $A0,$19,$AA
.byte $A0,$01,$A5, $A3,$AA, $0A, $A0,$01,$A0, $A0,$01,$AA, $0A, $A0,$01,$A0
.byte $55, $A5,$00, $A0,$19,$AA, $A3,$0A, $A0,$01,$A0, $A0,$02,$AA, $00
.byte $A0,$02,$AA, $00, $55, $A6,$00, $66, $6A,$6A, $00,$00
.byte $6A, $F5, $F6,$F6, $A3,$6A, $A4,$60, $A3,$AA, $0A
.byte $A0,$14,$00, $66, $6A,$6A, $00,$00, $66, $A3,$FF, $AB,$66
.byte $50,$50, $A0,$12,$00, $A3,$86, $00,$00, $86, $A3,$8F, $86,$86
.byte $A5,$06, $A4,$0A, $A0,$FF,$00, $A0,$2D,$00
.byte $A1
intro_car9: .byte $28 ; ysize=48
.byte $A0,$FF,$AA, $A0,$D5,$AA, $A4,$0A, $A0,$01,$AA, $0A,$0A, $A0,$20,$AA, $00
.byte $A3,$AA, $00, $50, $A3,$00, $A0,$1B,$AA, $A3,$0A, $00
.byte $A3,$0A, $00,$00, $06, $A5,$00, $A0,$02,$AA, $A3,$6A, $0A,$0A
.byte $A6,$AA, $A5,$6A, $A3,$AA, $0A, $A0,$13,$00, $A0,$01,$AA, $66
.byte $65,$65, $00,$00, $66, $A3,$FF, $AB,$66, $05, $A0,$12,$00
.byte $A0,$01,$AA, $A3,$06, $00,$00, $06, $A3,$0F, $A7,$06, $A4,$02
.byte $A0,$FF,$00, $A0,$2D,$00
.byte $A1
intro_car10: .byte $28 ; ysize=48
.byte $A0,$FF,$AA, $A0,$D5,$AA, $A4,$0A, $A0,$01,$AA, $0A,$0A, $A0,$1C,$AA, $5A
.byte $A3,$AA, $00, $A0,$02,$AA, $0A, $00, $50, $A3,$00
.byte $A0,$1B,$AA, $05, $0A,$0A, $00, $A3,$0A, $00,$00, $06
.byte $A5,$00, $A0,$02,$AA, $A3,$6A, $0A,$0A, $A6,$AA, $A5,$6A, $A3,$AA
.byte $0A, $A0,$13,$00, $A0,$01,$AA, $66, $65,$65, $00,$00, $66
.byte $A3,$FF, $AB,$66, $05, $A0,$12,$00, $A0,$01,$AA, $A3,$06, $00,$00
.byte $06, $A3,$0F, $A7,$06, $A4,$02, $A0,$10,$00, $20,$20, $A0,$1B,$00
.byte $02, $A0,$FE,$00
.byte $A1
intro_car12: .byte $28 ; ysize=48
.byte $A0,$FF,$AA, $A0,$FF,$AA, $BB, $A0,$01,$AA, $5A, $A0,$25,$AA, $A0,$01,$A0
.byte $A0,$81,$AA, $A0,$28,$0A, $A0,$F0,$00
.byte $A1
intro_car13: .byte $28 ; ysize=48
.byte $A0,$FF,$AA, $A0,$FF,$AA, $BB, $A0,$26,$AA, $0B, $00, $0B
.byte $A0,$25,$AA, $A3,$00, $A0,$25,$AA, $A3,$00, $A0,$25,$AA, $A3,$00, $A8,$AA
.byte $A0,$1D,$0A, $00,$00, $05, $A8,$0A, $A0,$F0,$00
.byte $A1
intro_car14: .byte $28 ; ysize=48
.byte $A0,$FF,$AA, $A0,$87,$AA, $BA, $0A, $A0,$26,$AA, $BB, $00
.byte $A0,$25,$AA, $A3,$00, $A0,$25,$AA, $A3,$00, $A0,$25,$AA, $0B, $00
.byte $0B, $A0,$25,$AA, $A3,$00, $A0,$25,$AA, $A3,$00, $A0,$25,$AA, $A3,$00
.byte $A8,$AA, $A0,$1D,$0A, $05, $00, $05, $A8,$0A, $A0,$F0,$00
.byte $A1

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 330 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 273 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 287 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 361 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 341 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 339 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 318 B

View File

@ -250,11 +250,6 @@ done_cavern:
cavern_load_background:
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda WHICH_CAVE
bne cave_bg1
@ -273,4 +268,5 @@ cave_bg1:
lda #<(cavern2_rle)
sta GBASL
cave_bg_done:
lda #$c ; load image off-screen $c00
jmp load_rle_gr ; tail call

View File

@ -27,7 +27,7 @@ cavern2_rle: .byte $28 ; ysize=48
.byte $22,$22, $78,$78, $88, $28, $A5,$88, $58, $A3,$55
.byte $77, $A3,$88, $A5,$55, $58, $A3,$88, $A8,$55, $22
.byte $A3,$55, $22,$22, $55, $57,$57, $22, $A0,$1E,$55, $22,$22
.byte $55,$55, $22,$22, $A3,$55, $22, $AA,$55, $5A, $A0,$13,$55
.byte $55,$55, $22,$22, $A3,$55, $22, $AA,$55, $A0,$01,$AA, $A0,$13,$55
.byte $22,$22, $55,$55, $A3,$22, $25, $55, $22, $AA,$55
.byte $5A, $A0,$13,$55, $22, $82, $85, $22, $A7,$82
.byte $88,$88, $A0,$12,$85, $A0,$1C,$88, $A8,$28, $A4,$88, $28, $AA,$88

View File

@ -9,13 +9,13 @@ cavern3_rle: .byte $28 ; ysize=48
.byte $F6,$F6, $66,$66, $A0,$10,$22, $77, $66, $A4,$88, $55
.byte $AF,$66, $6F, $A0,$11,$22, $77, $66, $A4,$88, $55
.byte $A3,$6F, $A4,$F6, $A9,$66, $A0,$10,$22, $55, $22, $77
.byte $A4,$88, $55, $56, $A6,$66, $A5,$6F, $A3,$F6, $A7,$22
.byte $A4,$88, $55, $A0,$01,$A6, $A6,$66, $A5,$6F, $A3,$F6, $A7,$22
.byte $A6,$55, $A4,$22, $55, $22, $77, $A5,$88, $5A
.byte $AA,$66, $46, $66,$66, $A8,$22, $A6,$55, $A4,$22, $55
.byte $22, $77, $78, $A3,$88, $85,$85, $55, $6F,$6F
.byte $A4,$F6, $66,$66, $A3,$44, $26, $A7,$22, $52, $55,$55
.byte $85, $A3,$55, $A4,$22, $55, $22, $25, $77
.byte $A7,$88, $8F, $5F,$5F, $A4,$6F, $88,$88, $28, $A8,$22
.byte $A7,$88, $8F, $A0,$02,$AF, $A4,$6F, $88,$88, $28, $A8,$22
.byte $55,$55, $88, $A4,$55, $A4,$22, $55, $22, $25
.byte $57, $78, $A8,$88, $85, $8A, $7A,$7A, $78,$78
.byte $28, $A9,$22, $55, $85, $58, $A4,$55, $A4,$22

View File

@ -27,15 +27,11 @@ ootw_mesa:
;=============================
; Load background to $c00
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda #>(cavern3_rle)
sta GBASH
lda #<(cavern3_rle)
sta GBASL
lda #$c ; load image off-screen $c00
jsr load_rle_gr
;=================================

View File

@ -30,16 +30,16 @@ pool_rle: .byte $28 ; ysize=48
.byte $52,$52, $58, $52, $A3,$55, $88, $55,$55, $52
.byte $26, $A3,$82, $88, $22, $A3,$88, $22,$22, $88
.byte $A3,$22, $88, $22,$22, $88,$88, $55,$55, $82, $A4,$88
.byte $85, $88, $A6,$55, $85, $88, $A3,$55, $22
.byte $A4,$88, $82,$82, $88, $A3,$22, $28, $A6,$22, $28,$28
.byte $25, $A9,$88, $A5,$85, $88,$88, $85,$85, $8A, $82
.byte $A7,$88, $A4,$22, $52, $82, $55, $85, $AA,$25
.byte $28, $A5,$25, $28, $A8,$25, $85, $55,$55, $A4,$85
.byte $22, $55, $88, $55,$55, $85, $28, $A0,$1B,$22
.byte $28, $85, $55, $78, $88,$88, $A3,$55, $25
.byte $58, $A7,$52, $72, $A3,$52, $22, $52,$52, $72
.byte $A8,$52, $22, $A6,$52, $72, $58, $55,$55, $58
.byte $A3,$82, $88, $82,$82, $A3,$88, $A7,$82, $88, $A3,$82
.byte $88, $A7,$82, $88, $A4,$82, $88, $A6,$82, $A0,$28,$88
.byte $AA,$28, $A4,$22, $A0,$1A,$28, $A0,$A0,$00
.byte $85, $88, $A6,$55, $85, $88, $55,$55, $A0,$01,$A5
.byte $22, $A4,$88, $82,$82, $88, $A3,$22, $28, $A6,$22
.byte $28,$28, $25, $A9,$88, $A5,$85, $88,$88, $85,$85, $8A
.byte $82, $A7,$88, $A4,$22, $52, $82, $55, $85
.byte $AA,$25, $28, $A5,$25, $28, $A8,$25, $85, $55,$55
.byte $A4,$85, $22, $55, $88, $55,$55, $85, $28
.byte $A0,$1B,$22, $28, $85, $55, $78, $88,$88, $A3,$55
.byte $25, $58, $A7,$52, $72, $A3,$52, $22, $52,$52
.byte $72, $A8,$52, $22, $A6,$52, $72, $58, $55,$55
.byte $58, $A3,$82, $88, $82,$82, $A3,$88, $A7,$82, $88
.byte $A3,$82, $88, $A7,$82, $88, $A4,$82, $88, $A6,$82
.byte $A0,$28,$88, $AA,$28, $A4,$22, $A0,$1A,$28, $A0,$A0,$00
.byte $A1

View File

@ -33,15 +33,11 @@ ootw_pool:
;=============================
; Load background to $c00
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda #>(pool_rle)
sta GBASH
lda #<(pool_rle)
sta GBASL
lda #$c ; load image off-screen $c00
jsr load_rle_gr
;===================================================

View File

@ -28,15 +28,11 @@ ootw_rope:
;=============================
; Load background to $c00
lda #$0c
sta BASH
lda #$00
sta BASL ; load image off-screen $c00
lda #>(rope_rle)
sta GBASH
lda #<(rope_rle)
sta GBASL
lda #$c ; load image off-screen $c00
jsr load_rle_gr
;================================