diff --git a/ootw/Makefile b/ootw/Makefile index 2b5abea0..c690e06c 100644 --- a/ootw/Makefile +++ b/ootw/Makefile @@ -48,10 +48,11 @@ OOTW_C2: ootw_c2.o ootw_c2.o: ootw_c2.s \ gr_copy.s gr_fast_clear.s gr_pageflip.s gr_unrle.s gr_putsprite.s \ - keyboard.s sluggy.s \ + keyboard.s gr_run_sequence.s \ ootw_graphics/sprites/sprites_physicist.inc \ - ootw_c2_cage.s \ - ootw_graphics/cage/ootw_c2_cage.inc + ootw_c2_cage.s ootw_c2_intro.s \ + ootw_graphics/cage/ootw_c2_cage.inc \ + ootw_graphics/l2intro/ootw_l2intro.inc ca65 -o ootw_c2.o ootw_c2.s -l ootw_c2.lst @@ -62,7 +63,7 @@ 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 \ + gr_overlay.s gr_run_sequence.s \ keyboard.s random16.s text_print.s zp.inc \ intro_graphics/01_building/intro_car.inc \ intro_graphics/01_building/intro_building_car.inc \ diff --git a/ootw/README b/ootw/README index b62d7f46..fb11b2c8 100644 --- a/ootw/README +++ b/ootw/README @@ -121,3 +121,8 @@ ootw memory squeeze: make transparent overlays: 17821 add in rest of end cutscene 23906 make those transparent 21236 + + +ootw2 memory squeeze: + before intro 3872 + after intro 9234 diff --git a/ootw/gr_run_sequence.s b/ootw/gr_run_sequence.s new file mode 100644 index 00000000..82109180 --- /dev/null +++ b/ootw/gr_run_sequence.s @@ -0,0 +1,117 @@ + + + ;===================== + ; long(er) wait + ; waits approximately ?? ms + +long_wait: + lda #64 + jsr WAIT ; delay + dex + bne long_wait + rts + + ;================================= + ; Display a sequence of images + + ; pattern is TIME, PTR + ; if time==0, then done + ; if time==255, reload $C00 with PTR + ; if time==0..127 wait TIME, then overlay PTR over $C00 + ; if time==128..254, wait TIME-128, then overlay GBASL over $C00 + +run_sequence: + ldy #0 + +run_sequence_loop: + lda (INTRO_LOOPL),Y ; get time + beq run_sequence_done ; if zero, then done + + cmp #$ff ; if $ff, then load image to $c00 + bne not_reload + +reload_image: + iny + lda (INTRO_LOOPL),Y + sta GBASL + iny + lda (INTRO_LOOPL),Y + sta GBASH + iny + sty INTRO_LOOPER ; save for later + lda #$0c ; load to $c00 + jsr load_rle_gr + jmp seq_stuff + +not_reload: + tax + cmp #$80 ;if negative, no need to load pointer + bcs no_set_image_ptr ; bge (branch if greater equal) + + +get_image_ptr: + iny + lda (INTRO_LOOPL),Y + sta GBASL + iny + lda (INTRO_LOOPL),Y + sta GBASH + +no_set_image_ptr: + txa + and #$7f + tax + cpx #1 + beq seq_no_wait + + jsr long_wait +seq_no_wait: + + iny + sty INTRO_LOOPER ; save for later + lda #$10 ; load to $1000 + jsr load_rle_gr + + jsr gr_overlay + jsr page_flip +seq_stuff: + ldy INTRO_LOOPER + + jmp run_sequence_loop +run_sequence_done: + rts + + + ;==================================== + ; Display a sequence of images 40x40 + +run_sequence_40x40: + ldy #0 + +run_sequence_40x40_loop: + lda (INTRO_LOOPL),Y ; get time + beq run_sequence_40x40_done + tax + + jsr long_wait + + iny + + lda (INTRO_LOOPL),Y + sta GBASL + iny + lda (INTRO_LOOPL),Y + sta GBASH + iny + sty INTRO_LOOPER ; save for later + lda #$10 ; load to $1000 + jsr load_rle_gr + + jsr gr_overlay_40x40 + jsr page_flip + ldy INTRO_LOOPER + + jmp run_sequence_40x40_loop +run_sequence_40x40_done: + rts + diff --git a/ootw/intro.s b/ootw/intro.s index 6607a771..670a727a 100644 --- a/ootw/intro.s +++ b/ootw/intro.s @@ -1673,124 +1673,7 @@ done_intro: .include "gr_fast_clear.s" .include "gr_putsprite.s" .include "text_print.s" - - - - - ;===================== - ; long(er) wait - ; waits approximately ?? ms - -long_wait: - lda #64 - jsr WAIT ; delay - dex - bne long_wait - rts - - ;================================= - ; Display a sequence of images - - ; pattern is TIME, PTR - ; if time==0, then done - ; if time==255, reload $C00 with PTR - ; if time==0..127 wait TIME, then overlay PTR over $C00 - ; if time==128..254, wait TIME-128, then overlay GBASL over $C00 - -run_sequence: - ldy #0 - -run_sequence_loop: - lda (INTRO_LOOPL),Y ; get time - beq run_sequence_done ; if zero, then done - - cmp #$ff ; if $ff, then load image to $c00 - bne not_reload - -reload_image: - iny - lda (INTRO_LOOPL),Y - sta GBASL - iny - lda (INTRO_LOOPL),Y - sta GBASH - iny - sty INTRO_LOOPER ; save for later - lda #$0c ; load to $c00 - jsr load_rle_gr - jmp seq_stuff - -not_reload: - tax - cmp #$80 ;if negative, no need to load pointer - bcs no_set_image_ptr ; bge (branch if greater equal) - - -get_image_ptr: - iny - lda (INTRO_LOOPL),Y - sta GBASL - iny - lda (INTRO_LOOPL),Y - sta GBASH - -no_set_image_ptr: - txa - and #$7f - tax - cpx #1 - beq seq_no_wait - - jsr long_wait -seq_no_wait: - - iny - sty INTRO_LOOPER ; save for later - lda #$10 ; load to $1000 - jsr load_rle_gr - - jsr gr_overlay - jsr page_flip -seq_stuff: - ldy INTRO_LOOPER - - jmp run_sequence_loop -run_sequence_done: - rts - - - ;==================================== - ; Display a sequence of images 40x40 - -run_sequence_40x40: - ldy #0 - -run_sequence_40x40_loop: - lda (INTRO_LOOPL),Y ; get time - beq run_sequence_40x40_done - tax - - jsr long_wait - - iny - - lda (INTRO_LOOPL),Y - sta GBASL - iny - lda (INTRO_LOOPL),Y - sta GBASH - iny - sty INTRO_LOOPER ; save for later - lda #$10 ; load to $1000 - jsr load_rle_gr - - jsr gr_overlay_40x40 - jsr page_flip - ldy INTRO_LOOPER - - jmp run_sequence_40x40_loop -run_sequence_40x40_done: - rts +.include "gr_run_sequence.s" ;================================= diff --git a/ootw/ootw_c2.s b/ootw/ootw_c2.s index a4290fa8..3f8dbf1d 100644 --- a/ootw/ootw_c2.s +++ b/ootw/ootw_c2.s @@ -23,6 +23,12 @@ ootw_c2: lda #1 sta DIRECTION + ;======================= + ; Run the intro + ;======================= + + jsr ootw_c2_intro + ;======================= ; Enter the game ;======================= @@ -63,6 +69,7 @@ end_message: .byte 11,20,"ACCESS CODE: RAGE",0 .include "ootw_c2_cage.s" +.include "ootw_c2_intro.s" .include "physicist.s" .include "text_print.s" .include "gr_pageflip.s" @@ -72,6 +79,8 @@ end_message: .include "gr_putsprite.s" .include "gr_putsprite_flipped.s" .include "gr_offsets.s" +.include "gr_run_sequence.s" +.include "gr_overlay.s" .include "random16.s" .include "keyboard.s" @@ -79,5 +88,7 @@ end_message: .include "ootw_graphics/cage/ootw_c2_cage.inc" ; sprites .include "ootw_graphics/sprites/sprites_physicist.inc" -; cutscenes +; intro +.include "ootw_graphics/l2intro/ootw_l2intro.inc" + diff --git a/ootw/ootw_c2_cage.s b/ootw/ootw_c2_cage.s index 83f2db3f..2f097d00 100644 --- a/ootw/ootw_c2_cage.s +++ b/ootw/ootw_c2_cage.s @@ -1,4 +1,4 @@ -; Ootw -- Despite all my Rage... +; Ootw Checkpoint2 -- Despite all my Rage... ootw_cage: ;=========================== @@ -35,12 +35,10 @@ ootw_cage: jsr load_rle_gr ;================================= - ; copy to both pages $400/$800 + ; copy to screen jsr gr_copy_to_current jsr page_flip - jsr gr_copy_to_current - ;================================= ; setup vars diff --git a/ootw/ootw_c2_intro.s b/ootw/ootw_c2_intro.s new file mode 100644 index 00000000..f6896c3b --- /dev/null +++ b/ootw/ootw_c2_intro.s @@ -0,0 +1,127 @@ +; Ootw Checkpoint2 intro movie + +ootw_c2_intro: + ;=========================== + ; Enable graphics + + bit LORES + bit SET_GR + bit FULLGR + + ;=========================== + ; Setup pages (is this necessary?) + + lda #0 + sta DRAW_PAGE + lda #1 + sta DISP_PAGE + + lda #intro2_sequence + sta INTRO_LOOPH + + jsr run_sequence + +done_intro2: + rts + + +;======================== +; Gently swinging cage + +; remeber, we can auto-increment by oring timeout with 128 + +intro2_sequence: + .byte 255 + .word cage_01_rle + .byte 25 + .word cage_01_rle + .byte 25 + .word cage_02_rle + .byte 25 + .word cage_03_rle + .byte 25 + .word cage_04_rle + .byte 75 + .word cage_03_rle + .byte 25 + .word cage_02_rle + .byte 25 + .word cage_01_rle + .byte 75 + .word cage_02_rle + .byte 25 + .word cage_03_rle +; .byte 25 +; .word cage_03_rle + +;====================== +; eyes opening + + .byte 255 + .word eyes_bg_rle + .byte 25 + .word eyes_01_rle + .byte 25 + .word eyes_02_rle + .byte 25 + .word eyes_03_rle + .byte 25 + .word eyes_02_rle + .byte 25 + .word eyes_01_rle + .byte 100 + .word eyes_02_rle + .byte 15 + .word eyes_03_rle + .byte 15 + .word eyes_04_rle + .byte 15 + .word eyes_05_rle + .byte 40 + .word eyes_04_rle + .byte 40 + .word eyes_03_rle + .byte 40 + .word eyes_02_rle + .byte 40 + .word eyes_01_rle + .byte 80 + .word eyes_03_rle + .byte 15 + .word eyes_04_rle + .byte 15 + .word eyes_05_rle + .byte 15 + .word eyes_bg_rle + +;================= +; focusing on friend + + .byte 100 + .word friend_02_rle + .byte 25 + .word friend_03_rle + .byte 25 + .word friend_04_rle + .byte 25 + .word friend_03_rle + .byte 25 + .word friend_02_rle + .byte 25 + .word friend_03_rle + .byte 25 + .word friend_04_rle + .byte 25 + .word friend_05_rle + .byte 40 + .word friend_06_rle + .byte 40 + .word friend_05_rle + .byte 40 + .word friend_05_rle + + .byte 0 + + diff --git a/ootw/ootw_graphics/l2intro/Makefile b/ootw/ootw_graphics/l2intro/Makefile index 3f893538..255a9380 100644 --- a/ootw/ootw_graphics/l2intro/Makefile +++ b/ootw/ootw_graphics/l2intro/Makefile @@ -16,6 +16,7 @@ ootw_l2intro.inc: $(PNG2RLE) \ $(PNG2RLE) asm cage_02.png cage_02_rle >> ootw_l2intro.inc $(PNG2RLE) asm cage_03.png cage_03_rle >> ootw_l2intro.inc $(PNG2RLE) asm cage_04.png cage_04_rle >> ootw_l2intro.inc + $(PNG2RLE) asm eyes_bg.png eyes_bg_rle >> ootw_l2intro.inc $(PNG2RLE) asm eyes_01.png eyes_01_rle >> ootw_l2intro.inc $(PNG2RLE) asm eyes_02.png eyes_02_rle >> ootw_l2intro.inc $(PNG2RLE) asm eyes_03.png eyes_03_rle >> ootw_l2intro.inc diff --git a/ootw/ootw_graphics/l2intro/friend02.png b/ootw/ootw_graphics/l2intro/friend02.png index ef4dad84..45f444e5 100644 Binary files a/ootw/ootw_graphics/l2intro/friend02.png and b/ootw/ootw_graphics/l2intro/friend02.png differ diff --git a/ootw/ootw_graphics/l2intro/friend03.png b/ootw/ootw_graphics/l2intro/friend03.png index 3dde5326..2f3d1d19 100644 Binary files a/ootw/ootw_graphics/l2intro/friend03.png and b/ootw/ootw_graphics/l2intro/friend03.png differ diff --git a/ootw/ootw_graphics/l2intro/friend04.png b/ootw/ootw_graphics/l2intro/friend04.png index abec1578..6eb82e12 100644 Binary files a/ootw/ootw_graphics/l2intro/friend04.png and b/ootw/ootw_graphics/l2intro/friend04.png differ diff --git a/ootw/ootw_graphics/l2intro/friend05.png b/ootw/ootw_graphics/l2intro/friend05.png index 8e841836..1bfd022c 100644 Binary files a/ootw/ootw_graphics/l2intro/friend05.png and b/ootw/ootw_graphics/l2intro/friend05.png differ diff --git a/ootw/ootw_graphics/l2intro/friend06.png b/ootw/ootw_graphics/l2intro/friend06.png index aff3d29a..79a22864 100644 Binary files a/ootw/ootw_graphics/l2intro/friend06.png and b/ootw/ootw_graphics/l2intro/friend06.png differ diff --git a/ootw/ootw_graphics/l2intro/ootw_l2intro.inc b/ootw/ootw_graphics/l2intro/ootw_l2intro.inc index 7fb62e7a..c6077d85 100644 --- a/ootw/ootw_graphics/l2intro/ootw_l2intro.inc +++ b/ootw/ootw_graphics/l2intro/ootw_l2intro.inc @@ -162,6 +162,37 @@ cage_04_rle: .byte $28 ; ysize=48 .byte $A5,$00, $A5,$55, $AD,$00, $03, $A3,$33, $AC,$00, $22 .byte $A5,$00, $A5,$55, $A4,$00 .byte $A1 +eyes_bg_rle: .byte $28 ; ysize=48 + .byte $22, $AA,$88, $A8,$99, $A0,$11,$33, $A4,$BB, $22,$22, $A9,$88 + .byte $A8,$99, $A0,$11,$33, $A4,$BB, $22,$22, $A9,$88, $A8,$99, $A0,$11,$33 + .byte $A4,$BB, $22,$22, $A8,$88, $A9,$99, $A0,$11,$33, $A4,$BB, $22,$22 + .byte $A8,$88, $A7,$99, $39, $A0,$12,$33, $A4,$BB, $A6,$22, $A0,$1E,$33 + .byte $A4,$BB, $A5,$22, $32, $A0,$1E,$33, $3B, $A3,$BB, $A5,$22 + .byte $A0,$20,$33, $A3,$BB, $A4,$22, $A0,$10,$33, $B3, $A0,$10,$33, $A3,$BB + .byte $A3,$22, $32, $A0,$10,$33, $BB, $A0,$11,$33, $BB,$BB, $A3,$22 + .byte $A0,$11,$33, $BB, $A0,$11,$33, $3B, $BB, $A3,$22, $33,$33 + .byte $AE,$03, $A5,$33, $AD,$23, $33,$33, $BB, $22,$22, $33,$33 + .byte $AE,$00, $A6,$33, $AE,$22, $23, $BB, $22, $33 + .byte $23, $22,$22, $F2, $A3,$FF, $88, $D8, $88 + .byte $8F, $A3,$FF, $22,$22, $A7,$33, $22, $A4,$FF, $88 + .byte $D8, $88, $8F, $FF,$FF, $F2, $22,$22, $2B + .byte $A4,$22, $F2, $A3,$FF, $88, $D8, $00,$00, $8D + .byte $A3,$FF, $22,$22, $A7,$33, $22, $A3,$FF, $88,$88, $0D + .byte $08, $8D, $A3,$FF, $F2, $A6,$22, $A4,$FF, $F8 + .byte $88, $D0, $80, $88, $FF,$FF, $2F, $22 + .byte $32, $A7,$33, $22, $A3,$FF, $88, $8D, $00,$00 + .byte $88, $A4,$FF, $F2, $A5,$22, $A5,$2F, $A3,$28, $A3,$2F + .byte $22,$22, $A9,$33, $22, $A3,$FF, $88, $8D, $88 + .byte $F8, $A5,$FF, $A4,$22, $32, $AB,$33, $22,$22, $A6,$33 + .byte $B3, $33,$33, $A9,$32, $A5,$B2, $A3,$22, $AC,$33, $22 + .byte $A7,$33, $BB, $AB,$33, $A5,$BB, $A3,$22, $AC,$33, $22 + .byte $A7,$33, $BB, $B3, $AA,$33, $3B, $A4,$BB, $A3,$22 + .byte $AB,$33, $22, $32, $A7,$33, $3B, $BB, $AA,$33 + .byte $B3, $A4,$BB, $A3,$22, $AB,$33, $22, $A9,$33, $BB + .byte $AA,$33, $A5,$BB, $A3,$22, $AA,$33, $22,$22, $A9,$33, $BB + .byte $B3, $A8,$33, $B3, $A5,$BB, $A3,$22, $AA,$33, $22 + .byte $32, $A9,$33, $BB,$BB, $B3, $A7,$33, $A6,$BB + .byte $A1 eyes_01_rle: .byte $28 ; ysize=48 .byte $22, $AA,$88, $A8,$99, $A0,$11,$33, $A4,$BB, $22,$22, $A9,$88 .byte $A8,$99, $A0,$11,$33, $A4,$BB, $22,$22, $A9,$88, $A8,$99, $A0,$11,$33 @@ -304,119 +335,118 @@ friend_02_rle: .byte $28 ; ysize=48 .byte $55,$55, $A9,$77, $75, $55,$55, $A0,$1A,$00, $55,$55, $AA,$77 .byte $55,$55, $A0,$1A,$00, $55,$55, $AA,$77, $55,$55, $50, $A0,$19,$00 .byte $55,$55, $AB,$77, $55,$55, $A0,$19,$00, $55,$55, $AB,$77, $55,$55 - .byte $50, $A0,$18,$00, $55,$55, $AC,$77, $A0,$01,$A5, $55, $A0,$18,$00 - .byte $55,$55, $57, $AB,$77, $55,$55, $A0,$18,$00, $05, $55,$55 - .byte $AA,$77, $A0,$01,$A7, $55,$55, $A0,$1A,$00, $55,$55, $A8,$A7, $A3,$55 - .byte $A0,$14,$00, $A3,$50, $A5,$00, $A6,$55, $A4,$05, $A0,$15,$00, $A4,$55 - .byte $A6,$00, $05, $A3,$55, $AA,$00, $50, $55, $A4,$A5 - .byte $50, $A7,$00, $50, $A5,$55, $A7,$00, $A3,$55, $A9,$00 - .byte $55,$55, $75, $A3,$77, $55,$55, $A7,$00, $A6,$55, $A7,$00 - .byte $A3,$55, $A9,$00, $55,$55, $A5,$77, $55, $A7,$00, $A6,$55 - .byte $A7,$00, $A3,$55, $A9,$00, $55,$55, $A5,$77, $55, $A7,$00 - .byte $A7,$55, $A6,$00, $A3,$55, $A9,$00, $55,$55, $57, $A4,$77 - .byte $55, $A7,$00, $A7,$55, $A7,$00, $55,$55, $A9,$00, $A3,$55 - .byte $A4,$77, $55, $A7,$00, $A7,$55, $A7,$00, $55, $05 - .byte $A9,$00, $A3,$55, $A4,$77, $55, $A7,$00, $A7,$55, $50 - .byte $A6,$00, $05, $AA,$00, $A4,$55, $A3,$77, $55, $A8,$00 - .byte $A7,$55, $A0,$12,$00, $55,$55, $5A, $77,$77, $57, $55 - .byte $A8,$00, $A7,$55, $A0,$12,$00, $55,$55, $A3,$77, $55,$55, $A8,$00 - .byte $05, $A6,$55, $A0,$11,$00, $55,$55, $A4,$77, $55,$55, $A9,$00 - .byte $A6,$55, $A0,$11,$00, $55,$55, $A4,$77, $55, $05, $A9,$00 - .byte $A6,$55, $A0,$11,$00, $55,$55, $A4,$77, $55, $00 + .byte $50, $A0,$18,$00, $55,$55, $AC,$77, $55,$55, $A0,$18,$00, $55,$55 + .byte $57, $AB,$77, $55,$55, $A0,$18,$00, $05, $55,$55, $AA,$77 + .byte $57, $55,$55, $A0,$1A,$00, $55,$55, $A8,$57, $A3,$55, $A0,$14,$00 + .byte $A3,$50, $A5,$00, $A6,$55, $A4,$05, $A0,$15,$00, $A4,$55, $A6,$00 + .byte $05, $A3,$55, $AA,$00, $50, $A5,$55, $50, $A7,$00 + .byte $50, $A5,$55, $A7,$00, $A3,$55, $A9,$00, $55,$55, $75 + .byte $A3,$77, $55,$55, $A7,$00, $A6,$55, $A7,$00, $A3,$55, $A9,$00 + .byte $55,$55, $A5,$77, $55, $A7,$00, $A6,$55, $A7,$00, $A3,$55 + .byte $A9,$00, $55,$55, $A5,$77, $55, $A7,$00, $A7,$55, $A6,$00 + .byte $A3,$55, $A9,$00, $55,$55, $57, $A4,$77, $55, $A7,$00 + .byte $A7,$55, $A7,$00, $55,$55, $A9,$00, $A3,$55, $A4,$77, $55 + .byte $A7,$00, $A7,$55, $A7,$00, $55, $05, $A9,$00, $A3,$55 + .byte $A4,$77, $55, $A7,$00, $A7,$55, $50, $A6,$00, $05 + .byte $AA,$00, $A4,$55, $A3,$77, $55, $A8,$00, $A7,$55, $A0,$12,$00 + .byte $A3,$55, $77,$77, $57, $55, $A8,$00, $A7,$55, $A0,$12,$00 + .byte $55,$55, $A3,$77, $55,$55, $A8,$00, $05, $A6,$55, $A0,$11,$00 + .byte $55,$55, $A4,$77, $55,$55, $A9,$00, $A6,$55, $A0,$11,$00, $55,$55 + .byte $A4,$77, $55, $05, $A9,$00, $A6,$55, $A0,$11,$00, $55,$55 + .byte $A4,$77, $55, $00 .byte $A1 friend_03_rle: .byte $28 ; ysize=48 .byte $A0,$10,$00, $50,$50, $A7,$75, $55, $50, $A0,$1D,$00, $55 .byte $A9,$77, $75, $55, $A0,$1C,$00, $55, $AA,$77, $55 .byte $A0,$1C,$00, $55, $AA,$77, $55, $50, $A0,$1B,$00, $55 - .byte $77, $55,$55, $77,$77, $5A, $55, $A4,$77, $55 - .byte $A0,$1B,$00, $55, $AB,$77, $55, $50, $A0,$1A,$00, $55 - .byte $AC,$77, $A0,$01,$A5, $A0,$1A,$00, $55, $57, $AB,$77, $55 - .byte $A0,$1A,$00, $05, $55, $AA,$77, $A0,$01,$A7, $05, $A0,$1B,$00 - .byte $05, $55, $A8,$A7, $55, $05, $A0,$1D,$00, $05 - .byte $A4,$55, $05, $A0,$19,$00, $50, $55,$55, $A8,$00, $A3,$55 - .byte $AB,$00, $55, $A4,$A5, $A9,$00, $50, $A3,$55, $A9,$00 - .byte $55,$55, $AA,$00, $55, $75, $A3,$77, $55, $50 - .byte $A8,$00, $A4,$55, $A9,$00, $55,$55, $AA,$00, $55, $A5,$77 - .byte $55, $A8,$00, $A4,$55, $A9,$00, $55,$55, $AA,$00, $55 - .byte $A5,$77, $55, $A8,$00, $A4,$55, $50, $A8,$00, $55,$55 - .byte $AA,$00, $55, $57, $A4,$77, $55, $A8,$00, $A5,$55 - .byte $A8,$00, $55,$55, $AA,$00, $55,$55, $A4,$77, $55, $A8,$00 - .byte $A5,$55, $A8,$00, $55, $AB,$00, $55,$55, $A4,$77, $55 - .byte $A8,$00, $A5,$55, $A0,$14,$00, $A3,$55, $A3,$77, $55, $A9,$00 - .byte $A4,$55, $50, $A0,$13,$00, $05, $75, $5A, $77,$77 - .byte $57, $05, $A9,$00, $A5,$55, $A0,$14,$00, $A4,$77, $55 - .byte $AB,$00, $A4,$55, $A0,$13,$00, $55, $A4,$77, $55, $AB,$00 - .byte $A4,$55, $A0,$13,$00, $55, $A4,$77, $55, $AB,$00, $A4,$55 - .byte $A0,$13,$00, $55, $A4,$77, $55, $00 + .byte $77, $55,$55, $77,$77, $55,$55, $A4,$77, $55, $A0,$1B,$00 + .byte $55, $AB,$77, $55, $50, $A0,$1A,$00, $55, $AC,$77 + .byte $55, $A0,$1A,$00, $55, $57, $AB,$77, $55, $A0,$1A,$00 + .byte $05, $55, $AA,$77, $57, $05, $A0,$1B,$00, $05 + .byte $55, $A8,$57, $55, $05, $A0,$1D,$00, $05, $A4,$55 + .byte $05, $A0,$19,$00, $50, $55,$55, $A8,$00, $A3,$55, $AB,$00 + .byte $A5,$55, $A9,$00, $50, $A3,$55, $A9,$00, $55,$55, $AA,$00 + .byte $55, $75, $A3,$77, $55, $50, $A8,$00, $A4,$55 + .byte $A9,$00, $55,$55, $AA,$00, $55, $A5,$77, $55, $A8,$00 + .byte $A4,$55, $A9,$00, $55,$55, $AA,$00, $55, $A5,$77, $55 + .byte $A8,$00, $A4,$55, $50, $A8,$00, $55,$55, $AA,$00, $55 + .byte $57, $A4,$77, $55, $A8,$00, $A5,$55, $A8,$00, $55,$55 + .byte $AA,$00, $55,$55, $A4,$77, $55, $A8,$00, $A5,$55, $A8,$00 + .byte $55, $AB,$00, $55,$55, $A4,$77, $55, $A8,$00, $A5,$55 + .byte $A0,$14,$00, $A3,$55, $A3,$77, $55, $A9,$00, $A4,$55, $50 + .byte $A0,$13,$00, $05, $75, $55, $77,$77, $57, $05 + .byte $A9,$00, $A5,$55, $A0,$14,$00, $A4,$77, $55, $AB,$00, $A4,$55 + .byte $A0,$13,$00, $55, $A4,$77, $55, $AB,$00, $A4,$55, $A0,$13,$00 + .byte $55, $A4,$77, $55, $AB,$00, $A4,$55, $A0,$13,$00, $55 + .byte $A4,$77, $55, $00 .byte $A1 friend_04_rle: .byte $28 ; ysize=48 .byte $A0,$10,$00, $50,$50, $A7,$75, $55, $A0,$1E,$00, $55, $A9,$77 .byte $75, $50, $A0,$1C,$00, $55, $AA,$77, $55, $A0,$1C,$00 .byte $55, $AA,$77, $55, $A0,$1C,$00, $55, $77, $A3,$55 - .byte $7A, $5A, $55,$55, $A3,$77, $55, $A0,$1B,$00, $55 - .byte $AB,$77, $55, $A0,$1B,$00, $55, $AC,$77, $A0,$01,$A5, $A0,$1A,$00 - .byte $55, $57, $AB,$77, $55, $A0,$1B,$00, $55, $77,$77 - .byte $A4,$57, $A4,$77, $A0,$01,$A7, $A0,$1C,$00, $05, $55, $A8,$A7 - .byte $55, $A0,$1F,$00, $05, $55,$55, $05,$05, $A0,$1A,$00, $50,$50 - .byte $A8,$00, $55,$55, $AC,$00, $50, $A4,$A0, $AA,$00, $A3,$55 - .byte $A9,$00, $55, $AB,$00, $50, $75, $A3,$77, $55 - .byte $A9,$00, $A4,$55, $A9,$00, $55, $AB,$00, $55, $A5,$77 - .byte $55, $A8,$00, $A4,$55, $A9,$00, $55, $AB,$00, $55 - .byte $A5,$77, $55, $A8,$00, $A4,$55, $A9,$00, $55, $AB,$00 - .byte $55, $57, $A4,$77, $55, $A8,$00, $A5,$55, $A8,$00 - .byte $55, $AB,$00, $55,$55, $A4,$77, $55, $A8,$00, $A5,$55 - .byte $A8,$00, $55, $AB,$00, $55,$55, $A4,$77, $55, $A8,$00 - .byte $05, $A4,$55, $A0,$14,$00, $A3,$55, $A3,$77, $55, $A9,$00 - .byte $A4,$55, $A0,$15,$00, $75, $5A, $77,$77, $57, $05 - .byte $A9,$00, $05, $A4,$55, $A0,$14,$00, $A4,$77, $55, $AB,$00 - .byte $A4,$55, $A0,$13,$00, $50, $A4,$77, $55, $AB,$00, $A4,$55 - .byte $A0,$13,$00, $55, $A4,$77, $55, $AB,$00, $A4,$55, $A0,$13,$00 - .byte $55, $A4,$77, $55, $00 + .byte $75, $A3,$55, $A3,$77, $55, $A0,$1B,$00, $55, $AB,$77 + .byte $55, $A0,$1B,$00, $55, $AC,$77, $55, $A0,$1A,$00, $55 + .byte $57, $AB,$77, $55, $A0,$1B,$00, $55, $77,$77, $A4,$57 + .byte $A4,$77, $57, $A0,$1C,$00, $05, $55, $A8,$57, $55 + .byte $A0,$1F,$00, $05, $55,$55, $05,$05, $A0,$1A,$00, $50,$50, $A8,$00 + .byte $55,$55, $AC,$00, $A5,$50, $AA,$00, $A3,$55, $A9,$00, $55 + .byte $AB,$00, $50, $75, $A3,$77, $55, $A9,$00, $A4,$55 + .byte $A9,$00, $55, $AB,$00, $55, $A5,$77, $55, $A8,$00 + .byte $A4,$55, $A9,$00, $55, $AB,$00, $55, $A5,$77, $55 + .byte $A8,$00, $A4,$55, $A9,$00, $55, $AB,$00, $55, $57 + .byte $A4,$77, $55, $A8,$00, $A5,$55, $A8,$00, $55, $AB,$00 + .byte $55,$55, $A4,$77, $55, $A8,$00, $A5,$55, $A8,$00, $55 + .byte $AB,$00, $55,$55, $A4,$77, $55, $A8,$00, $05, $A4,$55 + .byte $A0,$14,$00, $A3,$55, $A3,$77, $55, $A9,$00, $A4,$55, $A0,$15,$00 + .byte $75, $55, $77,$77, $57, $05, $A9,$00, $05 + .byte $A4,$55, $A0,$14,$00, $A4,$77, $55, $AB,$00, $A4,$55, $A0,$13,$00 + .byte $50, $A4,$77, $55, $AB,$00, $A4,$55, $A0,$13,$00, $55 + .byte $A4,$77, $55, $AB,$00, $A4,$55, $A0,$13,$00, $55, $A4,$77 + .byte $55, $00 .byte $A1 friend_05_rle: .byte $28 ; ysize=48 .byte $A0,$10,$00, $50,$50, $A6,$75, $F5,$F5, $A0,$1E,$00, $55, $A6,$77 .byte $A3,$7F, $77, $50, $A0,$1C,$00, $55, $AA,$77, $55 .byte $A0,$1C,$00, $55, $AA,$77, $75, $A0,$1C,$00, $55, $77 - .byte $55, $05, $F5, $7A, $0A, $F5, $A4,$77 + .byte $55, $05, $F5, $75, $05, $F5, $A4,$77 .byte $55, $A0,$1B,$00, $55, $A3,$77, $70, $77,$77, $70 .byte $A4,$77, $55, $A0,$1B,$00, $55, $A3,$77, $57, $77 - .byte $57, $A6,$77, $A0,$01,$A5, $A0,$1A,$00, $55, $57, $A7,$77 - .byte $5A, $A3,$77, $55, $A0,$1B,$00, $55, $77,$77, $A4,$57 - .byte $A4,$77, $A0,$01,$A7, $A0,$1C,$00, $05, $57, $A8,$A7, $55 - .byte $A0,$1F,$00, $05, $75, $55, $05,$05, $A0,$1A,$00, $50,$50 - .byte $A8,$00, $77, $55, $AC,$00, $50, $A4,$A0, $AA,$00 - .byte $A3,$55, $A9,$00, $55, $AB,$00, $50, $A5,$77, $A9,$00 - .byte $A4,$55, $A9,$00, $55, $AB,$00, $A7,$77, $A8,$00, $A4,$55 - .byte $A9,$00, $55, $AB,$00, $A7,$77, $A8,$00, $A4,$55, $A9,$00 - .byte $55, $AB,$00, $57, $A6,$77, $A8,$00, $A5,$55, $A8,$00 - .byte $55, $AB,$00, $55, $A6,$77, $A8,$00, $A5,$55, $A8,$00 - .byte $55, $AB,$00, $55, $A6,$77, $A8,$00, $05, $A4,$55 - .byte $A0,$14,$00, $55, $57, $A5,$77, $A9,$00, $A4,$55, $A0,$15,$00 - .byte $75, $5A, $A3,$77, $07, $A9,$00, $05, $A4,$55 - .byte $A0,$14,$00, $A5,$77, $AB,$00, $A4,$55, $A0,$13,$00, $70, $A5,$77 - .byte $AB,$00, $A4,$55, $A0,$13,$00, $A6,$77, $AB,$00, $A4,$55, $A0,$13,$00 - .byte $A6,$77, $00 - .byte $A1 -friend_06_rle: .byte $28 ; ysize=48 - .byte $A0,$10,$00, $50,$50, $A6,$75, $F5,$F5, $A0,$1E,$00, $55, $A6,$77 - .byte $A3,$7F, $77, $50, $A0,$1C,$00, $55, $AA,$77, $55 - .byte $A0,$1C,$00, $55, $AA,$77, $75, $A0,$1C,$00, $55, $77 - .byte $A3,$55, $7A, $5A, $55, $A4,$77, $55, $A0,$1B,$00 - .byte $55, $77,$77, $70,$70, $77, $70,$70, $A4,$77, $55 - .byte $A0,$1B,$00, $55, $A3,$77, $57, $77, $57, $A6,$77 - .byte $A0,$01,$A5, $A0,$1A,$00, $55, $57, $A7,$77, $5A, $A3,$77 - .byte $55, $A0,$1B,$00, $55, $77,$77, $A4,$57, $A4,$77, $A0,$01,$A7 - .byte $A0,$1C,$00, $05, $57, $A8,$A7, $55, $A0,$1F,$00, $05 - .byte $75, $55, $05,$05, $A0,$1A,$00, $50,$50, $A8,$00, $77 - .byte $55, $AC,$00, $50, $A4,$A0, $AA,$00, $A3,$55, $A9,$00 + .byte $57, $A6,$77, $55, $A0,$1A,$00, $55, $57, $A7,$77 + .byte $55, $A3,$77, $55, $A0,$1B,$00, $55, $77,$77, $A4,$57 + .byte $A4,$77, $57, $A0,$1C,$00, $05, $A9,$57, $55, $A0,$1F,$00 + .byte $05, $75, $55, $05,$05, $A0,$1A,$00, $50,$50, $A8,$00 + .byte $77, $55, $AC,$00, $A5,$50, $AA,$00, $A3,$55, $A9,$00 .byte $55, $AB,$00, $50, $A5,$77, $A9,$00, $A4,$55, $A9,$00 .byte $55, $AB,$00, $A7,$77, $A8,$00, $A4,$55, $A9,$00, $55 .byte $AB,$00, $A7,$77, $A8,$00, $A4,$55, $A9,$00, $55, $AB,$00 .byte $57, $A6,$77, $A8,$00, $A5,$55, $A8,$00, $55, $AB,$00 .byte $55, $A6,$77, $A8,$00, $A5,$55, $A8,$00, $55, $AB,$00 .byte $55, $A6,$77, $A8,$00, $05, $A4,$55, $A0,$14,$00, $55 - .byte $57, $A5,$77, $A9,$00, $A4,$55, $A0,$15,$00, $75, $5A + .byte $57, $A5,$77, $A9,$00, $A4,$55, $A0,$15,$00, $75, $55 .byte $A3,$77, $07, $A9,$00, $05, $A4,$55, $A0,$14,$00, $A5,$77 .byte $AB,$00, $A4,$55, $A0,$13,$00, $70, $A5,$77, $AB,$00, $A4,$55 .byte $A0,$13,$00, $A6,$77, $AB,$00, $A4,$55, $A0,$13,$00, $A6,$77, $00 .byte $A1 +friend_06_rle: .byte $28 ; ysize=48 + .byte $A0,$10,$00, $50,$50, $A6,$75, $F5,$F5, $A0,$1E,$00, $55, $A6,$77 + .byte $A3,$7F, $77, $50, $A0,$1C,$00, $55, $AA,$77, $55 + .byte $A0,$1C,$00, $55, $AA,$77, $75, $A0,$1C,$00, $55, $77 + .byte $A3,$55, $75, $55,$55, $A4,$77, $55, $A0,$1B,$00, $55 + .byte $77,$77, $70,$70, $77, $70,$70, $A4,$77, $55, $A0,$1B,$00 + .byte $55, $A3,$77, $57, $77, $57, $A6,$77, $55 + .byte $A0,$1A,$00, $55, $57, $A7,$77, $55, $A3,$77, $55 + .byte $A0,$1B,$00, $55, $77,$77, $A4,$57, $A4,$77, $57, $A0,$1C,$00 + .byte $05, $A9,$57, $55, $A0,$1F,$00, $05, $75, $55 + .byte $05,$05, $A0,$1A,$00, $50,$50, $A8,$00, $77, $55, $AC,$00 + .byte $A5,$50, $AA,$00, $A3,$55, $A9,$00, $55, $AB,$00, $50 + .byte $A5,$77, $A9,$00, $A4,$55, $A9,$00, $55, $AB,$00, $A7,$77 + .byte $A8,$00, $A4,$55, $A9,$00, $55, $AB,$00, $A7,$77, $A8,$00 + .byte $A4,$55, $A9,$00, $55, $AB,$00, $57, $A6,$77, $A8,$00 + .byte $A5,$55, $A8,$00, $55, $AB,$00, $55, $A6,$77, $A8,$00 + .byte $A5,$55, $A8,$00, $55, $AB,$00, $55, $A6,$77, $A8,$00 + .byte $05, $A4,$55, $A0,$14,$00, $55, $57, $A5,$77, $A9,$00 + .byte $A4,$55, $A0,$15,$00, $75, $55, $A3,$77, $07, $A9,$00 + .byte $05, $A4,$55, $A0,$14,$00, $A5,$77, $AB,$00, $A4,$55, $A0,$13,$00 + .byte $70, $A5,$77, $AB,$00, $A4,$55, $A0,$13,$00, $A6,$77, $AB,$00 + .byte $A4,$55, $A0,$13,$00, $A6,$77, $00 + .byte $A1