From ed0d40f11fc11a5ac84235236b430f88393ce693 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Thu, 26 Oct 2023 13:40:51 -0400 Subject: [PATCH] second: more work on credits --- demos/second/part19_nuts/Makefile | 32 + demos/second/part19_nuts/graphics/Makefile | 54 + .../graphics/fc_grey.png | Bin .../graphics/fc_iipix.png | Bin .../graphics/nuts4.png | Bin .../second/part19_nuts/graphics/nuts_blue.png | Bin 0 -> 6062 bytes demos/second/part19_nuts/graphics/nuts_pg.png | Bin 0 -> 6129 bytes demos/second/part19_nuts/nuts.s | 74 ++ demos/second/part20_credits/Makefile | 8 + demos/second/part20_credits/credits.s | 78 +- demos/second/part20_credits/font_4am_1x8.s | 189 ++++ .../part20_credits/fonts/font_4am_1x10_data.s | 995 ++++++++++++++++++ .../part20_credits/fonts/font_4am_1x8_data.s | 880 ++++++++++++++++ demos/second/part20_credits/graphics/Makefile | 47 +- 14 files changed, 2269 insertions(+), 88 deletions(-) create mode 100644 demos/second/part19_nuts/Makefile create mode 100644 demos/second/part19_nuts/graphics/Makefile rename demos/second/{part20_credits => part19_nuts}/graphics/fc_grey.png (100%) rename demos/second/{part20_credits => part19_nuts}/graphics/fc_iipix.png (100%) rename demos/second/{part20_credits => part19_nuts}/graphics/nuts4.png (100%) create mode 100644 demos/second/part19_nuts/graphics/nuts_blue.png create mode 100644 demos/second/part19_nuts/graphics/nuts_pg.png create mode 100644 demos/second/part19_nuts/nuts.s create mode 100644 demos/second/part20_credits/font_4am_1x8.s create mode 100644 demos/second/part20_credits/fonts/font_4am_1x10_data.s create mode 100644 demos/second/part20_credits/fonts/font_4am_1x8_data.s diff --git a/demos/second/part19_nuts/Makefile b/demos/second/part19_nuts/Makefile new file mode 100644 index 00000000..7459aa0f --- /dev/null +++ b/demos/second/part19_nuts/Makefile @@ -0,0 +1,32 @@ +include ../../../Makefile.inc + +DOS33 = ../../../utils/dos33fs-utils/dos33 +DOS33_RAW = ../../../utils/dos33fs-utils/dos33_raw +EMPTY_DISK = ../../../empty_disk/empty.dsk +TOKENIZE = ../../../utils/asoft_basic-utils/tokenize_asoft +LINKER_SCRIPTS = ../../../linker_scripts/ + +all: NUTS + +#### + +NUTS: nuts.o + ld65 -o NUTS nuts.o -C $(LINKER_SCRIPTS)/apple2_6000.inc + +nuts.o: nuts.s \ + ../zx02_optim.s \ + ../zp.inc ../hardware.inc ../qload2.inc \ + graphics/fc_iipix.hgr.zx02 + ca65 -o nuts.o nuts.s -l nuts.lst + +### + +graphics/fc_iipix.hgr.zx02: + cd graphics && make + +### + + +clean: + rm -f *~ *.o *.lst NUTS + cd graphics && make clean diff --git a/demos/second/part19_nuts/graphics/Makefile b/demos/second/part19_nuts/graphics/Makefile new file mode 100644 index 00000000..59022aaf --- /dev/null +++ b/demos/second/part19_nuts/graphics/Makefile @@ -0,0 +1,54 @@ +include ../../../../Makefile.inc + +ZX02 = ~/research/6502_compression/zx02.git/build/zx02 +PNG_TO_HGR = ../../../../utils/hgr-utils/png2hgr +PNG2GR = ../../../../utils/gr-utils/png2gr + +all: nuts4.hgr.zx02 nuts_pg.hgr.zx02 nuts_blue.hgr.zx02 \ + fc_grey.hgr.zx02 fc_iipix.hgr.zx02 + +#### + +nuts4.hgr: nuts4.png + $(PNG_TO_HGR) nuts4.png > nuts4.hgr + +nuts4.hgr.zx02: nuts4.hgr + $(ZX02) nuts4.hgr nuts4.hgr.zx02 + +#### + +nuts_blue.hgr: nuts_blue.png + $(PNG_TO_HGR) nuts_blue.png > nuts_blue.hgr + +nuts_blue.hgr.zx02: nuts_blue.hgr + $(ZX02) nuts_blue.hgr nuts_blue.hgr.zx02 + +#### + +nuts_pg.hgr: nuts_pg.png + $(PNG_TO_HGR) nuts_pg.png > nuts_pg.hgr + +nuts_pg.hgr.zx02: nuts_pg.hgr + $(ZX02) nuts_pg.hgr nuts_pg.hgr.zx02 + + +#### + +fc_grey.hgr: fc_grey.png + $(PNG_TO_HGR) fc_grey.png > fc_grey.hgr + +fc_grey.hgr.zx02: fc_grey.hgr + $(ZX02) fc_grey.hgr fc_grey.hgr.zx02 + +#### + +fc_iipix.hgr: fc_iipix.png + $(PNG_TO_HGR) fc_iipix.png > fc_iipix.hgr + +fc_iipix.hgr.zx02: fc_iipix.hgr + $(ZX02) fc_iipix.hgr fc_iipix.hgr.zx02 + +#### + +clean: + rm -f *~ *.zx02 diff --git a/demos/second/part20_credits/graphics/fc_grey.png b/demos/second/part19_nuts/graphics/fc_grey.png similarity index 100% rename from demos/second/part20_credits/graphics/fc_grey.png rename to demos/second/part19_nuts/graphics/fc_grey.png diff --git a/demos/second/part20_credits/graphics/fc_iipix.png b/demos/second/part19_nuts/graphics/fc_iipix.png similarity index 100% rename from demos/second/part20_credits/graphics/fc_iipix.png rename to demos/second/part19_nuts/graphics/fc_iipix.png diff --git a/demos/second/part20_credits/graphics/nuts4.png b/demos/second/part19_nuts/graphics/nuts4.png similarity index 100% rename from demos/second/part20_credits/graphics/nuts4.png rename to demos/second/part19_nuts/graphics/nuts4.png diff --git a/demos/second/part19_nuts/graphics/nuts_blue.png b/demos/second/part19_nuts/graphics/nuts_blue.png new file mode 100644 index 0000000000000000000000000000000000000000..9384477e98efd5ed15e2dba981a829d07c23e5f5 GIT binary patch literal 6062 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 literal 0 HcmV?d00001 diff --git a/demos/second/part19_nuts/graphics/nuts_pg.png b/demos/second/part19_nuts/graphics/nuts_pg.png new file mode 100644 index 0000000000000000000000000000000000000000..0a03a39a617778b5f2c104ff7ac0c4be452070b1 GIT binary patch literal 6129 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 literal 0 HcmV?d00001 diff --git a/demos/second/part19_nuts/nuts.s b/demos/second/part19_nuts/nuts.s new file mode 100644 index 00000000..0d3fb63c --- /dev/null +++ b/demos/second/part19_nuts/nuts.s @@ -0,0 +1,74 @@ +; Nuts + +; also end sprites to 3d + +; +; by deater (Vince Weaver) + +.include "../zp.inc" +.include "../hardware.inc" +.include "../qload.inc" + +mod7_table = $1c00 +div7_table = $1d00 +hposn_low = $1e00 +hposn_high = $1f00 + +intro_start: + ;===================== + ; initializations + ;===================== + + ;=================== + ; Load graphics + ;=================== +load_loop: + + bit SET_GR + bit HIRES + bit FULLGR + bit PAGE1 + + lda #0 + jsr hgr_page1_clearscreen + + jsr hgr_make_tables + + + ; fc logo + + lda #fc_iipix_data + sta zx_src_h+1 + lda #$20 + jsr zx02_full_decomp + jsr wait_until_keypress + + + ; nuts4 logo + + lda #nuts4_data + sta zx_src_h+1 + lda #$20 + jsr zx02_full_decomp + jsr wait_until_keypress + +nuts_done: + jmp nuts_done + + +.align $100 + .include "../wait_keypress.s" + .include "../zx02_optim.s" + .include "../hgr_table.s" + .include "../hgr_clear_screen.s" + + +fc_iipix_data: + .incbin "graphics/fc_iipix.hgr.zx02" + +nuts4_data: + .incbin "graphics/nuts4.hgr.zx02" diff --git a/demos/second/part20_credits/Makefile b/demos/second/part20_credits/Makefile index 231b56be..94db78e4 100644 --- a/demos/second/part20_credits/Makefile +++ b/demos/second/part20_credits/Makefile @@ -14,11 +14,19 @@ CREDITS: credits.o ld65 -o CREDITS credits.o -C $(LINKER_SCRIPTS)/apple2_6000.inc credits.o: credits.s vertical_scroll.s ../zx02_optim.s \ + font_4am_1x8.s font_4am_1x10.s \ + graphics/summary1_invert.hgr.zx02 \ ../zp.inc ../hardware.inc ../qload.inc ca65 -o credits.o credits.s -l credits.lst ### +graphics/summary1_invert.hgr.zx02: + cd graphics && make + +### clean: rm -f *~ *.o *.lst CREDITS + cd graphics && make clean + diff --git a/demos/second/part20_credits/credits.s b/demos/second/part20_credits/credits.s index 643ba8ce..6623d992 100644 --- a/demos/second/part20_credits/credits.s +++ b/demos/second/part20_credits/credits.s @@ -35,39 +35,6 @@ load_loop: jsr hgr_make_tables - - ; fc logo - - lda #fc_grey_data - sta zx_src_h+1 - lda #$20 - jsr zx02_full_decomp - jsr wait_until_keypress - - ; fc logo - - lda #fc_iipix_data - sta zx_src_h+1 - lda #$20 - jsr zx02_full_decomp - jsr wait_until_keypress - - - ; nuts4 logo - - lda #nuts4_data - sta zx_src_h+1 - lda #$20 - jsr zx02_full_decomp - jsr wait_until_keypress - - ;===================== ;===================== ; do credits @@ -93,6 +60,31 @@ credits_logo_outer_outer: lda #0 ; clear screen jsr hgr_page1_clearscreen + + lda #12 + sta CH + lda #192 + sta CV + + pha + txa + pha + tya + pha + + lda #credit_message + + jsr draw_font_1x10 + + pla + tay + pla + tax + pla + + + ldx COUNT ; patch the source offsets lda logo_x_offsets,X sta clo_smc1+1 @@ -209,7 +201,7 @@ cl_inner_loop: lda #apple_message - jsr DrawCondensedString + jsr draw_condensed_1x8 no_update_message: @@ -244,21 +236,21 @@ logo_x_offsets: .include "../hgr_table.s" .include "../hgr_clear_screen.s" .include "vertical_scroll.s" - .include "font_console_1x8.s" - .include "../part00_boot/fonts/a2_cga_thin.inc" + .include "font_4am_1x8.s" + .include "fonts/font_4am_1x8_data.s" + + .include "font_4am_1x10.s" + .include "fonts/font_4am_1x10_data.s" -fc_grey_data: - .incbin "graphics/fc_grey.hgr.zx02" -fc_iipix_data: - .incbin "graphics/fc_iipix.hgr.zx02" -nuts4_data: - .incbin "graphics/nuts4.hgr.zx02" summary1_data: .incbin "graphics/summary1_invert.hgr.zx02" summary2_data: .incbin "graphics/summary2_invert.hgr.zx02" +credit_message: + .byte 14,100,"Deater / DsR",0 + apple_message: - .byte "Apple ][ Forever" + .byte "Apple ][ Forever",0 diff --git a/demos/second/part20_credits/font_4am_1x8.s b/demos/second/part20_credits/font_4am_1x8.s new file mode 100644 index 00000000..559e5e07 --- /dev/null +++ b/demos/second/part20_credits/font_4am_1x8.s @@ -0,0 +1,189 @@ +;license:MIT +;(c) 2023 by 4am +; +; drawing routines for Million Perfect Tiles Condensed +; +; Public functions: +; - draw_condensed_1x8 +; + +; VMW: commented, reformatted, minor changes, ca65 assembly +; hacked up some more + +FONT_OFFSET = $13 + + +;------------------------------------------------------------------------------ +; draw_condensed_1x8 +; +; in: A/Y points to zero terminated string, with x-pos and y-pos at start +; out: clobbers all registers & flags +;------------------------------------------------------------------------------ +draw_condensed_1x8: + + ; store the string location + + sta OUTL + sty OUTH + +draw_condensed_1x8_again: + + lda OUTL + sta dcb_loop_1x8_smc+1 + lda OUTH + sta dcb_loop_1x8_smc+2 + + + ldy CV + + ; row0 + + lda hposn_low, Y ; get low memory offset + clc + adc CH ; add in x-coord + sta dcb_row_1x8_0+4 + lda hposn_high, Y ; get high memory offset + sta dcb_row_1x8_0+5 ; save it out + iny ; go to next row + + ; row1 + + lda hposn_low, Y + adc CH + sta dcb_row_1x8_1+4 + lda hposn_high, Y + sta dcb_row_1x8_1+5 + iny + + ; row2 + + lda hposn_low, Y + adc CH + sta dcb_row_1x8_2+4 + lda hposn_high, Y + sta dcb_row_1x8_2+5 + iny + + ; row3 + + lda hposn_low, Y + adc CH + sta dcb_row_1x8_3+4 + lda hposn_high, Y + sta dcb_row_1x8_3+5 + iny + + ; row4 + + lda hposn_low, Y + adc CH + sta dcb_row_1x8_4+4 + lda hposn_high, Y + sta dcb_row_1x8_4+5 + iny + + ; row5 + + lda hposn_low, Y + adc CH + sta dcb_row_1x8_5+4 + lda hposn_high, Y + sta dcb_row_1x8_5+5 + iny + + ; row6 + + lda hposn_low, Y + adc CH + sta dcb_row_1x8_6+4 + lda hposn_high, Y + sta dcb_row_1x8_6+5 + iny + + ; row7 + + lda hposn_low, Y + adc CH + sta dcb_row_1x8_7+4 + lda hposn_high, Y + sta dcb_row_1x8_7+5 + + ldx #0 +dcb_loop_1x8: +dcb_loop_1x8_smc: + ldy $FDFD, X ; load next char into Y + beq dcb_done_1x8 + + cpy #13 + bne not_linefeed + + lda #0 + sta CH + clc + lda CV + adc #8 + sta CV + inx + +; lda CV +; cmp #192 +; bcc dcb_loop_1x8 + +; lda #184 +; sta CV + +; stx XSAVE +; jsr scroll_screen +; ldx XSAVE + + jmp dcb_loop_1x8 + + +not_linefeed: + ; unrolled loop to write out each line + +dcb_row_1x8_0: + lda font_1x8_row0-FONT_OFFSET, Y ; get 1-byte font row + sta $FDFD, X ; write out to graphics mem +dcb_row_1x8_1: + lda font_1x8_row1-FONT_OFFSET, Y + sta $FDFD, X +dcb_row_1x8_2: + lda font_1x8_row2-FONT_OFFSET, Y + sta $FDFD, X +dcb_row_1x8_3: + lda font_1x8_row3-FONT_OFFSET, Y + sta $FDFD, X +dcb_row_1x8_4: + lda font_1x8_row4-FONT_OFFSET, Y + sta $FDFD, X +dcb_row_1x8_5: + lda font_1x8_row5-FONT_OFFSET, Y + sta $FDFD, X +dcb_row_1x8_6: + lda font_1x8_row6-FONT_OFFSET, Y + sta $FDFD, X +dcb_row_1x8_7: + lda font_1x8_row7-FONT_OFFSET, Y + sta $FDFD, X + + inc CH + inx ; move to next + + bne dcb_loop_1x8 ; bra (well, as long as string + ; is less than 255 chars) + +dcb_done_1x8: + + ; point to location after + sec ; always add 1 + txa + adc OUTL + sta OUTL + lda #0 + adc OUTH + sta OUTH + + rts + + diff --git a/demos/second/part20_credits/fonts/font_4am_1x10_data.s b/demos/second/part20_credits/fonts/font_4am_1x10_data.s new file mode 100644 index 00000000..474ae3d9 --- /dev/null +++ b/demos/second/part20_credits/fonts/font_4am_1x10_data.s @@ -0,0 +1,995 @@ +; Million Perfect Tiles Condensed pixel font +; (c) 2023 by 4am +; license:Open Font License 1.1, see OFL.txt +; This file is automatically generated + +font_1x10_row0: + .byte $80 ; middot + .byte $80 ; blue tile + .byte $80 ; white tile + .byte $80 ; up arrow + .byte $8C ; down arrow + .byte $80 ; left arrow + .byte $80 ; right arrow + .byte $80 ; space + .byte $80 ; ! + .byte $80 ; " + .byte $80 ; # + .byte $80 ; $ + .byte $80 ; % + .byte $80 ; & + .byte $80 ; ' + .byte $80 ; ( + .byte $80 ; ) + .byte $80 ; * + .byte $80 ; + + .byte $80 ; , + .byte $80 ; - + .byte $80 ; . + .byte $B0 ; / + .byte $9E ; 0 + .byte $8E ; 1 + .byte $9E ; 2 + .byte $9F ; 3 + .byte $B3 ; 4 + .byte $BF ; 5 + .byte $9E ; 6 + .byte $BF ; 7 + .byte $9E ; 8 + .byte $9E ; 9 + .byte $80 ; : + .byte $80 ; ; + .byte $80 ; < + .byte $80 ; = + .byte $80 ; > + .byte $9E ; ? + .byte $80 ; @ + .byte $BF ; A + .byte $9F ; B + .byte $BF ; C + .byte $9F ; D + .byte $BF ; E + .byte $BF ; F + .byte $BF ; G + .byte $B3 ; H + .byte $BF ; I + .byte $BE ; J + .byte $B3 ; K + .byte $83 ; L + .byte $B3 ; M + .byte $9F ; N + .byte $BF ; O + .byte $9F ; P + .byte $BF ; Q + .byte $9F ; R + .byte $BE ; S + .byte $BF ; T + .byte $B3 ; U + .byte $B3 ; V + .byte $B3 ; W + .byte $B3 ; X + .byte $B3 ; Y + .byte $BF ; Z + .byte $80 ; [ + .byte $80 ; \ + .byte $80 ; ] + .byte $80 ; ^ + .byte $80 ; _ + .byte $80 ; ' + .byte $80 ; a + .byte $83 ; b + .byte $80 ; c + .byte $B0 ; d + .byte $80 ; e + .byte $9C ; f + .byte $80 ; g + .byte $83 ; h + .byte $8C ; i + .byte $98 ; j + .byte $83 ; k + .byte $8C ; l + .byte $80 ; m + .byte $80 ; n + .byte $80 ; o + .byte $80 ; p + .byte $80 ; q + .byte $80 ; r + .byte $80 ; s + .byte $8C ; t + .byte $80 ; u + .byte $80 ; v + .byte $80 ; w + .byte $80 ; x + .byte $80 ; y + .byte $80 ; z +font_1x10_row1: + .byte $80 ; middot + .byte $80 ; blue tile + .byte $80 ; white tile + .byte $80 ; up arrow + .byte $8C ; down arrow + .byte $80 ; left arrow + .byte $80 ; right arrow + .byte $80 ; space + .byte $80 ; ! + .byte $80 ; " + .byte $80 ; # + .byte $80 ; $ + .byte $80 ; % + .byte $80 ; & + .byte $80 ; ' + .byte $80 ; ( + .byte $80 ; ) + .byte $80 ; * + .byte $80 ; + + .byte $80 ; , + .byte $80 ; - + .byte $80 ; . + .byte $B0 ; / + .byte $BF ; 0 + .byte $8E ; 1 + .byte $BF ; 2 + .byte $BF ; 3 + .byte $B3 ; 4 + .byte $BF ; 5 + .byte $BF ; 6 + .byte $BF ; 7 + .byte $9E ; 8 + .byte $BF ; 9 + .byte $80 ; : + .byte $80 ; ; + .byte $80 ; < + .byte $80 ; = + .byte $80 ; > + .byte $BF ; ? + .byte $80 ; @ + .byte $BF ; A + .byte $BF ; B + .byte $BF ; C + .byte $BF ; D + .byte $BF ; E + .byte $BF ; F + .byte $BF ; G + .byte $B3 ; H + .byte $BF ; I + .byte $BE ; J + .byte $B3 ; K + .byte $83 ; L + .byte $BF ; M + .byte $BF ; N + .byte $BF ; O + .byte $BF ; P + .byte $BF ; Q + .byte $BF ; R + .byte $BF ; S + .byte $BF ; T + .byte $B3 ; U + .byte $B3 ; V + .byte $B3 ; W + .byte $B3 ; X + .byte $B3 ; Y + .byte $BF ; Z + .byte $80 ; [ + .byte $80 ; \ + .byte $80 ; ] + .byte $80 ; ^ + .byte $80 ; _ + .byte $80 ; ' + .byte $80 ; a + .byte $83 ; b + .byte $80 ; c + .byte $B0 ; d + .byte $80 ; e + .byte $BE ; f + .byte $80 ; g + .byte $83 ; h + .byte $8C ; i + .byte $98 ; j + .byte $83 ; k + .byte $8C ; l + .byte $80 ; m + .byte $80 ; n + .byte $80 ; o + .byte $80 ; p + .byte $80 ; q + .byte $80 ; r + .byte $80 ; s + .byte $8C ; t + .byte $80 ; u + .byte $80 ; v + .byte $80 ; w + .byte $80 ; x + .byte $80 ; y + .byte $80 ; z +font_1x10_row2: + .byte $80 ; middot + .byte $AA ; blue tile + .byte $BE ; white tile + .byte $80 ; up arrow + .byte $8C ; down arrow + .byte $84 ; left arrow + .byte $88 ; right arrow + .byte $80 ; space + .byte $80 ; ! + .byte $80 ; " + .byte $80 ; # + .byte $80 ; $ + .byte $81 ; % + .byte $80 ; & + .byte $80 ; ' + .byte $80 ; ( + .byte $80 ; ) + .byte $80 ; * + .byte $80 ; + + .byte $80 ; , + .byte $80 ; - + .byte $80 ; . + .byte $98 ; / + .byte $B3 ; 0 + .byte $8C ; 1 + .byte $B3 ; 2 + .byte $B0 ; 3 + .byte $B3 ; 4 + .byte $83 ; 5 + .byte $83 ; 6 + .byte $B3 ; 7 + .byte $B3 ; 8 + .byte $B3 ; 9 + .byte $80 ; : + .byte $80 ; ; + .byte $80 ; < + .byte $80 ; = + .byte $81 ; > + .byte $B3 ; ? + .byte $80 ; @ + .byte $B0 ; A + .byte $B0 ; B + .byte $B0 ; C + .byte $B0 ; D + .byte $80 ; E + .byte $80 ; F + .byte $B0 ; G + .byte $B0 ; H + .byte $80 ; I + .byte $80 ; J + .byte $9B ; K + .byte $83 ; L + .byte $BF ; M + .byte $B0 ; N + .byte $B0 ; O + .byte $B0 ; P + .byte $B0 ; Q + .byte $B0 ; R + .byte $80 ; S + .byte $80 ; T + .byte $B3 ; U + .byte $B3 ; V + .byte $B3 ; W + .byte $9E ; X + .byte $B3 ; Y + .byte $98 ; Z + .byte $80 ; [ + .byte $80 ; \ + .byte $80 ; ] + .byte $80 ; ^ + .byte $80 ; _ + .byte $80 ; ' + .byte $80 ; a + .byte $83 ; b + .byte $80 ; c + .byte $B0 ; d + .byte $80 ; e + .byte $B6 ; f + .byte $80 ; g + .byte $83 ; h + .byte $80 ; i + .byte $80 ; j + .byte $83 ; k + .byte $8C ; l + .byte $80 ; m + .byte $80 ; n + .byte $80 ; o + .byte $80 ; p + .byte $80 ; q + .byte $80 ; r + .byte $80 ; s + .byte $8C ; t + .byte $80 ; u + .byte $80 ; v + .byte $80 ; w + .byte $80 ; x + .byte $80 ; y + .byte $80 ; z +font_1x10_row3: + .byte $80 ; middot + .byte $AA ; blue tile + .byte $BE ; white tile + .byte $80 ; up arrow + .byte $BF ; down arrow + .byte $86 ; left arrow + .byte $98 ; right arrow + .byte $80 ; space + .byte $80 ; ! + .byte $80 ; " + .byte $80 ; # + .byte $80 ; $ + .byte $87 ; % + .byte $80 ; & + .byte $80 ; ' + .byte $80 ; ( + .byte $80 ; ) + .byte $80 ; * + .byte $80 ; + + .byte $80 ; , + .byte $80 ; - + .byte $80 ; . + .byte $98 ; / + .byte $B3 ; 0 + .byte $8C ; 1 + .byte $B0 ; 2 + .byte $B0 ; 3 + .byte $B3 ; 4 + .byte $83 ; 5 + .byte $83 ; 6 + .byte $B0 ; 7 + .byte $B3 ; 8 + .byte $B3 ; 9 + .byte $80 ; : + .byte $80 ; ; + .byte $80 ; < + .byte $80 ; = + .byte $85 ; > + .byte $B0 ; ? + .byte $80 ; @ + .byte $B3 ; A + .byte $B3 ; B + .byte $83 ; C + .byte $B3 ; D + .byte $83 ; E + .byte $83 ; F + .byte $83 ; G + .byte $B3 ; H + .byte $8C ; I + .byte $98 ; J + .byte $9B ; K + .byte $83 ; L + .byte $BF ; M + .byte $B3 ; N + .byte $B3 ; O + .byte $B3 ; P + .byte $B3 ; Q + .byte $B3 ; R + .byte $83 ; S + .byte $8C ; T + .byte $B3 ; U + .byte $B3 ; V + .byte $B3 ; W + .byte $9E ; X + .byte $B3 ; Y + .byte $98 ; Z + .byte $80 ; [ + .byte $80 ; \ + .byte $80 ; ] + .byte $80 ; ^ + .byte $80 ; _ + .byte $80 ; ' + .byte $9E ; a + .byte $9F ; b + .byte $9E ; c + .byte $BE ; d + .byte $9E ; e + .byte $86 ; f + .byte $BE ; g + .byte $9F ; h + .byte $8C ; i + .byte $98 ; j + .byte $B3 ; k + .byte $8C ; l + .byte $B3 ; m + .byte $9F ; n + .byte $9E ; o + .byte $9F ; p + .byte $BE ; q + .byte $BB ; r + .byte $BE ; s + .byte $BF ; t + .byte $B3 ; u + .byte $B3 ; v + .byte $B3 ; w + .byte $B3 ; x + .byte $B3 ; y + .byte $BF ; z +font_1x10_row4: + .byte $80 ; middot + .byte $AA ; blue tile + .byte $BE ; white tile + .byte $8C ; up arrow + .byte $9E ; down arrow + .byte $BF ; left arrow + .byte $BF ; right arrow + .byte $80 ; space + .byte $80 ; ! + .byte $80 ; " + .byte $80 ; # + .byte $80 ; $ + .byte $9F ; % + .byte $80 ; & + .byte $80 ; ' + .byte $80 ; ( + .byte $80 ; ) + .byte $80 ; * + .byte $80 ; + + .byte $80 ; , + .byte $9E ; - + .byte $80 ; . + .byte $8C ; / + .byte $BB ; 0 + .byte $8C ; 1 + .byte $9C ; 2 + .byte $9E ; 3 + .byte $BF ; 4 + .byte $9F ; 5 + .byte $9F ; 6 + .byte $B0 ; 7 + .byte $9E ; 8 + .byte $BF ; 9 + .byte $80 ; : + .byte $80 ; ; + .byte $80 ; < + .byte $80 ; = + .byte $95 ; > + .byte $98 ; ? + .byte $80 ; @ + .byte $BF ; A + .byte $9F ; B + .byte $83 ; C + .byte $B3 ; D + .byte $9F ; E + .byte $9F ; F + .byte $BB ; G + .byte $BF ; H + .byte $8C ; I + .byte $98 ; J + .byte $8B ; K + .byte $83 ; L + .byte $BF ; M + .byte $B3 ; N + .byte $B3 ; O + .byte $BF ; P + .byte $B3 ; Q + .byte $BF ; R + .byte $9F ; S + .byte $8C ; T + .byte $B3 ; U + .byte $B3 ; V + .byte $B3 ; W + .byte $8C ; X + .byte $B7 ; Y + .byte $8C ; Z + .byte $80 ; [ + .byte $80 ; \ + .byte $80 ; ] + .byte $80 ; ^ + .byte $80 ; _ + .byte $80 ; ' + .byte $BE ; a + .byte $BF ; b + .byte $BF ; c + .byte $BF ; d + .byte $BF ; e + .byte $86 ; f + .byte $B3 ; g + .byte $BF ; h + .byte $8C ; i + .byte $98 ; j + .byte $B3 ; k + .byte $8C ; l + .byte $BF ; m + .byte $BF ; n + .byte $BF ; o + .byte $BF ; p + .byte $BF ; q + .byte $BF ; r + .byte $BF ; s + .byte $BF ; t + .byte $B3 ; u + .byte $B3 ; v + .byte $B3 ; w + .byte $B3 ; x + .byte $B3 ; y + .byte $BF ; z +font_1x10_row5: + .byte $88 ; middot + .byte $AA ; blue tile + .byte $BE ; white tile + .byte $9E ; up arrow + .byte $8C ; down arrow + .byte $BF ; left arrow + .byte $BF ; right arrow + .byte $80 ; space + .byte $80 ; ! + .byte $80 ; " + .byte $80 ; # + .byte $80 ; $ + .byte $FF ; % + .byte $80 ; & + .byte $80 ; ' + .byte $80 ; ( + .byte $80 ; ) + .byte $80 ; * + .byte $80 ; + + .byte $80 ; , + .byte $9E ; - + .byte $80 ; . + .byte $8C ; / + .byte $B7 ; 0 + .byte $8C ; 1 + .byte $86 ; 2 + .byte $9E ; 3 + .byte $BF ; 4 + .byte $BF ; 5 + .byte $BF ; 6 + .byte $B0 ; 7 + .byte $9E ; 8 + .byte $BE ; 9 + .byte $80 ; : + .byte $80 ; ; + .byte $80 ; < + .byte $80 ; = + .byte $D5 ; > + .byte $8C ; ? + .byte $80 ; @ + .byte $BF ; A + .byte $9F ; B + .byte $83 ; C + .byte $B3 ; D + .byte $9F ; E + .byte $9F ; F + .byte $BB ; G + .byte $BF ; H + .byte $8C ; I + .byte $98 ; J + .byte $8B ; K + .byte $83 ; L + .byte $B3 ; M + .byte $B3 ; N + .byte $B3 ; O + .byte $9F ; P + .byte $B3 ; Q + .byte $9F ; R + .byte $BE ; S + .byte $8C ; T + .byte $B3 ; U + .byte $B3 ; V + .byte $BF ; W + .byte $8C ; X + .byte $B7 ; Y + .byte $8C ; Z + .byte $80 ; [ + .byte $80 ; \ + .byte $80 ; ] + .byte $80 ; ^ + .byte $80 ; _ + .byte $80 ; ' + .byte $B0 ; a + .byte $B3 ; b + .byte $B3 ; c + .byte $B3 ; d + .byte $B3 ; e + .byte $9F ; f + .byte $B3 ; g + .byte $B3 ; h + .byte $8C ; i + .byte $98 ; j + .byte $9B ; k + .byte $8C ; l + .byte $BF ; m + .byte $B0 ; n + .byte $B0 ; o + .byte $B3 ; p + .byte $B3 ; q + .byte $83 ; r + .byte $83 ; s + .byte $8C ; t + .byte $B3 ; u + .byte $B3 ; v + .byte $B3 ; w + .byte $9E ; x + .byte $B3 ; y + .byte $98 ; z +font_1x10_row6: + .byte $80 ; middot + .byte $AA ; blue tile + .byte $BE ; white tile + .byte $BF ; up arrow + .byte $80 ; down arrow + .byte $86 ; left arrow + .byte $98 ; right arrow + .byte $80 ; space + .byte $80 ; ! + .byte $80 ; " + .byte $80 ; # + .byte $80 ; $ + .byte $9F ; % + .byte $80 ; & + .byte $80 ; ' + .byte $80 ; ( + .byte $80 ; ) + .byte $80 ; * + .byte $80 ; + + .byte $80 ; , + .byte $80 ; - + .byte $80 ; . + .byte $86 ; / + .byte $B3 ; 0 + .byte $8C ; 1 + .byte $83 ; 2 + .byte $B0 ; 3 + .byte $B0 ; 4 + .byte $B0 ; 5 + .byte $B3 ; 6 + .byte $B0 ; 7 + .byte $B3 ; 8 + .byte $B0 ; 9 + .byte $80 ; : + .byte $80 ; ; + .byte $80 ; < + .byte $80 ; = + .byte $95 ; > + .byte $8C ; ? + .byte $80 ; @ + .byte $B3 ; A + .byte $B3 ; B + .byte $83 ; C + .byte $B3 ; D + .byte $83 ; E + .byte $83 ; F + .byte $B3 ; G + .byte $B3 ; H + .byte $8C ; I + .byte $98 ; J + .byte $9B ; K + .byte $83 ; L + .byte $B3 ; M + .byte $B3 ; N + .byte $B3 ; O + .byte $83 ; P + .byte $B3 ; Q + .byte $9B ; R + .byte $B0 ; S + .byte $8C ; T + .byte $B3 ; U + .byte $B3 ; V + .byte $BF ; W + .byte $9E ; X + .byte $B0 ; Y + .byte $86 ; Z + .byte $80 ; [ + .byte $80 ; \ + .byte $80 ; ] + .byte $80 ; ^ + .byte $80 ; _ + .byte $80 ; ' + .byte $BE ; a + .byte $B3 ; b + .byte $83 ; c + .byte $B3 ; d + .byte $BF ; e + .byte $9F ; f + .byte $BE ; g + .byte $B3 ; h + .byte $8C ; i + .byte $98 ; j + .byte $8F ; k + .byte $8C ; l + .byte $BF ; m + .byte $B3 ; n + .byte $B3 ; o + .byte $B3 ; p + .byte $B3 ; q + .byte $83 ; r + .byte $9E ; s + .byte $8C ; t + .byte $B3 ; u + .byte $B3 ; v + .byte $BF ; w + .byte $9E ; x + .byte $BE ; y + .byte $8C ; z +font_1x10_row7: + .byte $80 ; middot + .byte $AA ; blue tile + .byte $BE ; white tile + .byte $8C ; up arrow + .byte $80 ; down arrow + .byte $84 ; left arrow + .byte $88 ; right arrow + .byte $80 ; space + .byte $80 ; ! + .byte $80 ; " + .byte $80 ; # + .byte $80 ; $ + .byte $87 ; % + .byte $80 ; & + .byte $80 ; ' + .byte $80 ; ( + .byte $80 ; ) + .byte $80 ; * + .byte $80 ; + + .byte $8C ; , + .byte $80 ; - + .byte $8C ; . + .byte $86 ; / + .byte $B3 ; 0 + .byte $8C ; 1 + .byte $83 ; 2 + .byte $B0 ; 3 + .byte $B0 ; 4 + .byte $B0 ; 5 + .byte $B3 ; 6 + .byte $B0 ; 7 + .byte $B3 ; 8 + .byte $B0 ; 9 + .byte $80 ; : + .byte $80 ; ; + .byte $80 ; < + .byte $80 ; = + .byte $85 ; > + .byte $80 ; ? + .byte $80 ; @ + .byte $B3 ; A + .byte $B3 ; B + .byte $B3 ; C + .byte $B3 ; D + .byte $83 ; E + .byte $83 ; F + .byte $B3 ; G + .byte $B3 ; H + .byte $8C ; I + .byte $9B ; J + .byte $9B ; K + .byte $80 ; L + .byte $B3 ; M + .byte $B3 ; N + .byte $B3 ; O + .byte $83 ; P + .byte $9B ; Q + .byte $9B ; R + .byte $B0 ; S + .byte $8C ; T + .byte $B0 ; U + .byte $98 ; V + .byte $BF ; W + .byte $9E ; X + .byte $B0 ; Y + .byte $80 ; Z + .byte $80 ; [ + .byte $80 ; \ + .byte $80 ; ] + .byte $80 ; ^ + .byte $80 ; _ + .byte $80 ; ' + .byte $B3 ; a + .byte $B3 ; b + .byte $B3 ; c + .byte $B3 ; d + .byte $83 ; e + .byte $86 ; f + .byte $B0 ; g + .byte $B3 ; h + .byte $8C ; i + .byte $98 ; j + .byte $9B ; k + .byte $8C ; l + .byte $B3 ; m + .byte $B3 ; n + .byte $B3 ; o + .byte $9F ; p + .byte $BE ; q + .byte $83 ; r + .byte $B0 ; s + .byte $8C ; t + .byte $B3 ; u + .byte $9B ; v + .byte $BF ; w + .byte $9E ; x + .byte $B0 ; y + .byte $86 ; z +font_1x10_row8: + .byte $80 ; middot + .byte $80 ; blue tile + .byte $80 ; white tile + .byte $8C ; up arrow + .byte $80 ; down arrow + .byte $80 ; left arrow + .byte $80 ; right arrow + .byte $80 ; space + .byte $80 ; ! + .byte $80 ; " + .byte $80 ; # + .byte $80 ; $ + .byte $81 ; % + .byte $80 ; & + .byte $80 ; ' + .byte $80 ; ( + .byte $80 ; ) + .byte $80 ; * + .byte $80 ; + + .byte $8C ; , + .byte $80 ; - + .byte $8C ; . + .byte $83 ; / + .byte $BF ; 0 + .byte $9E ; 1 + .byte $BF ; 2 + .byte $BF ; 3 + .byte $B0 ; 4 + .byte $BF ; 5 + .byte $BF ; 6 + .byte $B0 ; 7 + .byte $9E ; 8 + .byte $BF ; 9 + .byte $80 ; : + .byte $80 ; ; + .byte $80 ; < + .byte $80 ; = + .byte $81 ; > + .byte $8C ; ? + .byte $80 ; @ + .byte $B3 ; A + .byte $BF ; B + .byte $BF ; C + .byte $BF ; D + .byte $BF ; E + .byte $83 ; F + .byte $BF ; G + .byte $B3 ; H + .byte $BF ; I + .byte $9F ; J + .byte $B3 ; K + .byte $BF ; L + .byte $B3 ; M + .byte $B3 ; N + .byte $BF ; O + .byte $83 ; P + .byte $B7 ; Q + .byte $B3 ; R + .byte $BF ; S + .byte $8C ; T + .byte $BF ; U + .byte $8F ; V + .byte $BF ; W + .byte $B3 ; X + .byte $BF ; Y + .byte $BF ; Z + .byte $80 ; [ + .byte $80 ; \ + .byte $80 ; ] + .byte $80 ; ^ + .byte $80 ; _ + .byte $80 ; ' + .byte $BF ; a + .byte $BF ; b + .byte $BF ; c + .byte $BF ; d + .byte $BF ; e + .byte $86 ; f + .byte $BF ; g + .byte $B3 ; h + .byte $9C ; i + .byte $9E ; j + .byte $B3 ; k + .byte $BC ; l + .byte $B3 ; m + .byte $B3 ; n + .byte $BF ; o + .byte $83 ; p + .byte $B0 ; q + .byte $83 ; r + .byte $BF ; s + .byte $BC ; t + .byte $BF ; u + .byte $8F ; v + .byte $BF ; w + .byte $B3 ; x + .byte $BF ; y + .byte $BF ; z +font_1x10_row9: + .byte $80 ; middot + .byte $80 ; blue tile + .byte $80 ; white tile + .byte $8C ; up arrow + .byte $80 ; down arrow + .byte $80 ; left arrow + .byte $80 ; right arrow + .byte $80 ; space + .byte $80 ; ! + .byte $80 ; " + .byte $80 ; # + .byte $80 ; $ + .byte $80 ; % + .byte $80 ; & + .byte $80 ; ' + .byte $80 ; ( + .byte $80 ; ) + .byte $80 ; * + .byte $80 ; + + .byte $86 ; , + .byte $80 ; - + .byte $80 ; . + .byte $83 ; / + .byte $9E ; 0 + .byte $9E ; 1 + .byte $BF ; 2 + .byte $9F ; 3 + .byte $B0 ; 4 + .byte $9F ; 5 + .byte $9E ; 6 + .byte $B0 ; 7 + .byte $9E ; 8 + .byte $9E ; 9 + .byte $80 ; : + .byte $80 ; ; + .byte $80 ; < + .byte $80 ; = + .byte $80 ; > + .byte $8C ; ? + .byte $80 ; @ + .byte $B3 ; A + .byte $9F ; B + .byte $BF ; C + .byte $9F ; D + .byte $BF ; E + .byte $83 ; F + .byte $BF ; G + .byte $B3 ; H + .byte $BF ; I + .byte $9F ; J + .byte $B3 ; K + .byte $BF ; L + .byte $B3 ; M + .byte $B3 ; N + .byte $BF ; O + .byte $83 ; P + .byte $B7 ; Q + .byte $B3 ; R + .byte $9F ; S + .byte $8C ; T + .byte $BF ; U + .byte $87 ; V + .byte $B3 ; W + .byte $B3 ; X + .byte $BF ; Y + .byte $BF ; Z + .byte $80 ; [ + .byte $80 ; \ + .byte $80 ; ] + .byte $80 ; ^ + .byte $80 ; _ + .byte $80 ; ' + .byte $BE ; a + .byte $9F ; b + .byte $9E ; c + .byte $BE ; d + .byte $BE ; e + .byte $86 ; f + .byte $9F ; g + .byte $B3 ; h + .byte $98 ; i + .byte $8E ; j + .byte $B3 ; k + .byte $B8 ; l + .byte $B3 ; m + .byte $B3 ; n + .byte $9E ; o + .byte $83 ; p + .byte $B0 ; q + .byte $83 ; r + .byte $9F ; s + .byte $B8 ; t + .byte $BE ; u + .byte $87 ; v + .byte $B3 ; w + .byte $B3 ; x + .byte $9F ; y + .byte $BF ; z diff --git a/demos/second/part20_credits/fonts/font_4am_1x8_data.s b/demos/second/part20_credits/fonts/font_4am_1x8_data.s new file mode 100644 index 00000000..927f1069 --- /dev/null +++ b/demos/second/part20_credits/fonts/font_4am_1x8_data.s @@ -0,0 +1,880 @@ +font_1x8_row0: + .byte $08 ; + .byte $08 ; + .byte $00 ; + .byte $10 ; + .byte $10 ; + .byte $14 ; + .byte $14 ; + .byte $14 ; + .byte $14 ; + .byte $00 ; + .byte $00 ; + .byte $00 ; + .byte $14 ; + .byte $00 ; + .byte $08 ; ! + .byte $14 ; " + .byte $14 ; # + .byte $08 ; $ + .byte $06 ; % + .byte $0C ; & + .byte $08 ; ' + .byte $08 ; ( + .byte $08 ; ) + .byte $00 ; * + .byte $00 ; + + .byte $00 ; , + .byte $00 ; - + .byte $00 ; . + .byte $00 ; / + .byte $1C ; 0 + .byte $08 ; 1 + .byte $1C ; 2 + .byte $1C ; 3 + .byte $10 ; 4 + .byte $3E ; 5 + .byte $18 ; 6 + .byte $3E ; 7 + .byte $1C ; 8 + .byte $1C ; 9 + .byte $00 ; : + .byte $00 ; ; + .byte $10 ; < + .byte $00 ; = + .byte $04 ; > + .byte $1C ; ? + .byte $1C ; @ + .byte $08 ; A + .byte $1E ; B + .byte $18 ; C + .byte $0E ; D + .byte $3E ; E + .byte $3E ; F + .byte $38 ; G + .byte $22 ; H + .byte $1C ; I + .byte $38 ; J + .byte $26 ; K + .byte $0E ; L + .byte $22 ; M + .byte $22 ; N + .byte $08 ; O + .byte $1E ; P + .byte $1C ; Q + .byte $1E ; R + .byte $1C ; S + .byte $3E ; T + .byte $22 ; U + .byte $22 ; V + .byte $22 ; W + .byte $22 ; X + .byte $22 ; Y + .byte $3E ; Z + .byte $3C ; [ + .byte $00 ; \ + .byte $1E ; ] + .byte $08 ; ^ + .byte $00 ; _ + .byte $08 ; ` + .byte $00 ; a + .byte $06 ; b + .byte $00 ; c + .byte $30 ; d + .byte $00 ; e + .byte $18 ; f + .byte $00 ; g + .byte $06 ; h + .byte $08 ; i + .byte $20 ; j + .byte $06 ; k + .byte $0C ; l + .byte $00 ; m + .byte $00 ; n + .byte $00 ; o + .byte $00 ; p + .byte $00 ; q + .byte $00 ; r + .byte $00 ; s + .byte $00 ; t + .byte $00 ; u + .byte $00 ; v + .byte $00 ; w + .byte $00 ; x + .byte $00 ; y + .byte $00 ; z + .byte $30 ; { + .byte $08 ; | + .byte $06 ; } + .byte $2C ; ~ + .byte $00 ; +font_1x8_row1: + .byte $08 ; + .byte $08 ; + .byte $00 ; + .byte $08 ; + .byte $08 ; + .byte $14 ; + .byte $14 ; + .byte $14 ; + .byte $14 ; + .byte $00 ; + .byte $00 ; + .byte $00 ; + .byte $14 ; + .byte $00 ; + .byte $1C ; ! + .byte $14 ; " + .byte $14 ; # + .byte $3C ; $ + .byte $26 ; % + .byte $12 ; & + .byte $08 ; ' + .byte $04 ; ( + .byte $10 ; ) + .byte $22 ; * + .byte $08 ; + + .byte $00 ; , + .byte $00 ; - + .byte $00 ; . + .byte $20 ; / + .byte $22 ; 0 + .byte $0C ; 1 + .byte $22 ; 2 + .byte $22 ; 3 + .byte $18 ; 4 + .byte $02 ; 5 + .byte $04 ; 6 + .byte $22 ; 7 + .byte $22 ; 8 + .byte $22 ; 9 + .byte $08 ; : + .byte $08 ; ; + .byte $08 ; < + .byte $00 ; = + .byte $08 ; > + .byte $22 ; ? + .byte $22 ; @ + .byte $14 ; A + .byte $24 ; B + .byte $24 ; C + .byte $14 ; D + .byte $24 ; E + .byte $24 ; F + .byte $04 ; G + .byte $22 ; H + .byte $08 ; I + .byte $10 ; J + .byte $24 ; K + .byte $04 ; L + .byte $36 ; M + .byte $26 ; N + .byte $14 ; O + .byte $24 ; P + .byte $22 ; Q + .byte $24 ; R + .byte $22 ; S + .byte $2A ; T + .byte $22 ; U + .byte $22 ; V + .byte $22 ; W + .byte $22 ; X + .byte $22 ; Y + .byte $22 ; Z + .byte $04 ; [ + .byte $02 ; \ + .byte $10 ; ] + .byte $14 ; ^ + .byte $00 ; _ + .byte $08 ; ` + .byte $00 ; a + .byte $04 ; b + .byte $00 ; c + .byte $10 ; d + .byte $00 ; e + .byte $24 ; f + .byte $00 ; g + .byte $04 ; h + .byte $00 ; i + .byte $00 ; j + .byte $04 ; k + .byte $08 ; l + .byte $00 ; m + .byte $00 ; n + .byte $00 ; o + .byte $00 ; p + .byte $00 ; q + .byte $00 ; r + .byte $00 ; s + .byte $04 ; t + .byte $00 ; u + .byte $00 ; v + .byte $00 ; w + .byte $00 ; x + .byte $00 ; y + .byte $00 ; z + .byte $08 ; { + .byte $08 ; | + .byte $08 ; } + .byte $1A ; ~ + .byte $08 ; +font_1x8_row2: + .byte $7F ; + .byte $08 ; + .byte $7F ; + .byte $3E ; + .byte $36 ; + .byte $17 ; + .byte $74 ; + .byte $17 ; + .byte $74 ; + .byte $1F ; + .byte $7C ; + .byte $7F ; + .byte $14 ; + .byte $00 ; + .byte $1C ; ! + .byte $14 ; " + .byte $3E ; # + .byte $02 ; $ + .byte $10 ; % + .byte $0C ; & + .byte $04 ; ' + .byte $02 ; ( + .byte $20 ; ) + .byte $1C ; * + .byte $08 ; + + .byte $00 ; , + .byte $00 ; - + .byte $00 ; . + .byte $10 ; / + .byte $32 ; 0 + .byte $0A ; 1 + .byte $20 ; 2 + .byte $20 ; 3 + .byte $14 ; 4 + .byte $1E ; 5 + .byte $02 ; 6 + .byte $10 ; 7 + .byte $22 ; 8 + .byte $22 ; 9 + .byte $08 ; : + .byte $08 ; ; + .byte $04 ; < + .byte $3E ; = + .byte $10 ; > + .byte $20 ; ? + .byte $2A ; @ + .byte $22 ; A + .byte $24 ; B + .byte $02 ; C + .byte $24 ; D + .byte $04 ; E + .byte $04 ; F + .byte $02 ; G + .byte $22 ; H + .byte $08 ; I + .byte $10 ; J + .byte $14 ; K + .byte $04 ; L + .byte $2A ; M + .byte $2A ; N + .byte $22 ; O + .byte $24 ; P + .byte $22 ; Q + .byte $24 ; R + .byte $02 ; S + .byte $08 ; T + .byte $22 ; U + .byte $22 ; V + .byte $22 ; W + .byte $14 ; X + .byte $14 ; Y + .byte $10 ; Z + .byte $04 ; [ + .byte $04 ; \ + .byte $10 ; ] + .byte $22 ; ^ + .byte $00 ; _ + .byte $10 ; ` + .byte $1C ; a + .byte $04 ; b + .byte $1C ; c + .byte $10 ; d + .byte $1C ; e + .byte $04 ; f + .byte $1C ; g + .byte $1C ; h + .byte $0C ; i + .byte $30 ; j + .byte $24 ; k + .byte $08 ; l + .byte $16 ; m + .byte $1A ; n + .byte $1C ; o + .byte $1E ; p + .byte $3C ; q + .byte $1A ; r + .byte $3C ; s + .byte $1E ; t + .byte $22 ; u + .byte $22 ; v + .byte $22 ; w + .byte $22 ; x + .byte $22 ; y + .byte $3E ; z + .byte $08 ; { + .byte $08 ; | + .byte $08 ; } + .byte $00 ; ~ + .byte $14 ; +font_1x8_row3: + .byte $00 ; + .byte $08 ; + .byte $00 ; + .byte $7F ; + .byte $41 ; + .byte $10 ; + .byte $04 ; + .byte $10 ; + .byte $04 ; + .byte $10 ; + .byte $04 ; + .byte $00 ; + .byte $14 ; + .byte $00 ; + .byte $08 ; ! + .byte $00 ; " + .byte $14 ; # + .byte $1C ; $ + .byte $08 ; % + .byte $2A ; & + .byte $00 ; ' + .byte $02 ; ( + .byte $20 ; ) + .byte $3E ; * + .byte $3E ; + + .byte $00 ; , + .byte $3E ; - + .byte $00 ; . + .byte $08 ; / + .byte $2A ; 0 + .byte $08 ; 1 + .byte $18 ; 2 + .byte $18 ; 3 + .byte $12 ; 4 + .byte $20 ; 5 + .byte $1E ; 6 + .byte $08 ; 7 + .byte $1C ; 8 + .byte $3C ; 9 + .byte $00 ; : + .byte $00 ; ; + .byte $02 ; < + .byte $00 ; = + .byte $20 ; > + .byte $10 ; ? + .byte $3A ; @ + .byte $22 ; A + .byte $1C ; B + .byte $02 ; C + .byte $24 ; D + .byte $1C ; E + .byte $1C ; F + .byte $02 ; G + .byte $3E ; H + .byte $08 ; I + .byte $10 ; J + .byte $0C ; K + .byte $04 ; L + .byte $22 ; M + .byte $32 ; N + .byte $22 ; O + .byte $1C ; P + .byte $22 ; Q + .byte $1C ; R + .byte $1C ; S + .byte $08 ; T + .byte $22 ; U + .byte $22 ; V + .byte $2A ; W + .byte $08 ; X + .byte $08 ; Y + .byte $08 ; Z + .byte $04 ; [ + .byte $08 ; \ + .byte $10 ; ] + .byte $00 ; ^ + .byte $00 ; _ + .byte $00 ; ` + .byte $20 ; a + .byte $1C ; b + .byte $22 ; c + .byte $1C ; d + .byte $22 ; e + .byte $0E ; f + .byte $22 ; g + .byte $24 ; h + .byte $08 ; i + .byte $20 ; j + .byte $14 ; k + .byte $08 ; l + .byte $2A ; m + .byte $26 ; n + .byte $22 ; o + .byte $24 ; p + .byte $12 ; q + .byte $24 ; r + .byte $02 ; s + .byte $04 ; t + .byte $22 ; u + .byte $22 ; v + .byte $22 ; w + .byte $14 ; x + .byte $22 ; y + .byte $10 ; z + .byte $06 ; { + .byte $00 ; | + .byte $30 ; } + .byte $00 ; ~ + .byte $22 ; +font_1x8_row4: + .byte $7F ; + .byte $08 ; + .byte $7F ; + .byte $3F ; + .byte $21 ; + .byte $17 ; + .byte $74 ; + .byte $1F ; + .byte $7C ; + .byte $17 ; + .byte $74 ; + .byte $7F ; + .byte $14 ; + .byte $00 ; + .byte $08 ; ! + .byte $00 ; " + .byte $3E ; # + .byte $20 ; $ + .byte $04 ; % + .byte $12 ; & + .byte $00 ; ' + .byte $02 ; ( + .byte $20 ; ) + .byte $1C ; * + .byte $08 ; + + .byte $08 ; , + .byte $00 ; - + .byte $00 ; . + .byte $04 ; / + .byte $26 ; 0 + .byte $08 ; 1 + .byte $04 ; 2 + .byte $20 ; 3 + .byte $3E ; 4 + .byte $20 ; 5 + .byte $22 ; 6 + .byte $04 ; 7 + .byte $22 ; 8 + .byte $20 ; 9 + .byte $08 ; : + .byte $08 ; ; + .byte $04 ; < + .byte $3E ; = + .byte $10 ; > + .byte $08 ; ? + .byte $1A ; @ + .byte $3E ; A + .byte $24 ; B + .byte $02 ; C + .byte $24 ; D + .byte $04 ; E + .byte $04 ; F + .byte $32 ; G + .byte $22 ; H + .byte $08 ; I + .byte $12 ; J + .byte $0C ; K + .byte $04 ; L + .byte $22 ; M + .byte $22 ; N + .byte $22 ; O + .byte $04 ; P + .byte $2A ; Q + .byte $0C ; R + .byte $20 ; S + .byte $08 ; T + .byte $22 ; U + .byte $22 ; V + .byte $2A ; W + .byte $14 ; X + .byte $08 ; Y + .byte $04 ; Z + .byte $04 ; [ + .byte $10 ; \ + .byte $10 ; ] + .byte $00 ; ^ + .byte $00 ; _ + .byte $00 ; ` + .byte $3C ; a + .byte $24 ; b + .byte $02 ; c + .byte $12 ; d + .byte $3E ; e + .byte $04 ; f + .byte $22 ; g + .byte $24 ; h + .byte $08 ; i + .byte $20 ; j + .byte $0C ; k + .byte $08 ; l + .byte $2A ; m + .byte $22 ; n + .byte $22 ; o + .byte $24 ; p + .byte $12 ; q + .byte $04 ; r + .byte $1C ; s + .byte $04 ; t + .byte $22 ; u + .byte $22 ; v + .byte $2A ; w + .byte $08 ; x + .byte $22 ; y + .byte $08 ; z + .byte $08 ; { + .byte $08 ; | + .byte $08 ; } + .byte $00 ; ~ + .byte $22 ; +font_1x8_row5: + .byte $00 ; + .byte $08 ; + .byte $08 ; + .byte $3F ; + .byte $21 ; + .byte $14 ; + .byte $14 ; + .byte $00 ; + .byte $00 ; + .byte $14 ; + .byte $14 ; + .byte $00 ; + .byte $14 ; + .byte $00 ; + .byte $00 ; ! + .byte $00 ; " + .byte $14 ; # + .byte $1E ; $ + .byte $32 ; % + .byte $12 ; & + .byte $00 ; ' + .byte $04 ; ( + .byte $10 ; ) + .byte $22 ; * + .byte $08 ; + + .byte $08 ; , + .byte $00 ; - + .byte $08 ; . + .byte $02 ; / + .byte $22 ; 0 + .byte $08 ; 1 + .byte $22 ; 2 + .byte $22 ; 3 + .byte $10 ; 4 + .byte $22 ; 5 + .byte $22 ; 6 + .byte $04 ; 7 + .byte $22 ; 8 + .byte $10 ; 9 + .byte $08 ; : + .byte $08 ; ; + .byte $08 ; < + .byte $00 ; = + .byte $08 ; > + .byte $00 ; ? + .byte $02 ; @ + .byte $22 ; A + .byte $24 ; B + .byte $24 ; C + .byte $14 ; D + .byte $24 ; E + .byte $04 ; F + .byte $24 ; G + .byte $22 ; H + .byte $08 ; I + .byte $12 ; J + .byte $14 ; K + .byte $24 ; L + .byte $22 ; M + .byte $22 ; N + .byte $14 ; O + .byte $04 ; P + .byte $1C ; Q + .byte $14 ; R + .byte $22 ; S + .byte $08 ; T + .byte $22 ; U + .byte $14 ; V + .byte $36 ; W + .byte $22 ; X + .byte $08 ; Y + .byte $22 ; Z + .byte $04 ; [ + .byte $20 ; \ + .byte $10 ; ] + .byte $00 ; ^ + .byte $00 ; _ + .byte $00 ; ` + .byte $22 ; a + .byte $24 ; b + .byte $22 ; c + .byte $12 ; d + .byte $02 ; e + .byte $04 ; f + .byte $3C ; g + .byte $24 ; h + .byte $08 ; i + .byte $22 ; j + .byte $14 ; k + .byte $08 ; l + .byte $2A ; m + .byte $22 ; n + .byte $22 ; o + .byte $1C ; p + .byte $1C ; q + .byte $04 ; r + .byte $20 ; s + .byte $24 ; t + .byte $32 ; u + .byte $14 ; v + .byte $2A ; w + .byte $14 ; x + .byte $3C ; y + .byte $04 ; z + .byte $08 ; { + .byte $08 ; | + .byte $08 ; } + .byte $00 ; ~ + .byte $3E ; +font_1x8_row6: + .byte $00 ; + .byte $08 ; + .byte $08 ; + .byte $7E ; + .byte $4A ; + .byte $14 ; + .byte $14 ; + .byte $00 ; + .byte $00 ; + .byte $14 ; + .byte $14 ; + .byte $00 ; + .byte $14 ; + .byte $00 ; + .byte $08 ; ! + .byte $00 ; " + .byte $14 ; # + .byte $08 ; $ + .byte $30 ; % + .byte $2C ; & + .byte $00 ; ' + .byte $08 ; ( + .byte $08 ; ) + .byte $00 ; * + .byte $00 ; + + .byte $04 ; , + .byte $00 ; - + .byte $08 ; . + .byte $00 ; / + .byte $1C ; 0 + .byte $3E ; 1 + .byte $3E ; 2 + .byte $1C ; 3 + .byte $38 ; 4 + .byte $1C ; 5 + .byte $1C ; 6 + .byte $04 ; 7 + .byte $1C ; 8 + .byte $0C ; 9 + .byte $00 ; : + .byte $04 ; ; + .byte $10 ; < + .byte $00 ; = + .byte $04 ; > + .byte $08 ; ? + .byte $3C ; @ + .byte $22 ; A + .byte $1E ; B + .byte $18 ; C + .byte $0E ; D + .byte $3E ; E + .byte $0E ; F + .byte $38 ; G + .byte $22 ; H + .byte $1C ; I + .byte $0C ; J + .byte $26 ; K + .byte $3E ; L + .byte $22 ; M + .byte $22 ; N + .byte $08 ; O + .byte $0E ; P + .byte $20 ; Q + .byte $26 ; R + .byte $1C ; S + .byte $1C ; T + .byte $1C ; U + .byte $08 ; V + .byte $22 ; W + .byte $22 ; X + .byte $1C ; Y + .byte $3E ; Z + .byte $3C ; [ + .byte $00 ; \ + .byte $1E ; ] + .byte $00 ; ^ + .byte $00 ; _ + .byte $00 ; ` + .byte $3C ; a + .byte $1C ; b + .byte $1C ; c + .byte $3C ; d + .byte $1C ; e + .byte $0E ; f + .byte $20 ; g + .byte $26 ; h + .byte $1C ; i + .byte $22 ; j + .byte $24 ; k + .byte $1C ; l + .byte $22 ; m + .byte $22 ; n + .byte $1C ; o + .byte $04 ; p + .byte $10 ; q + .byte $0E ; r + .byte $1E ; s + .byte $18 ; t + .byte $2C ; u + .byte $08 ; v + .byte $36 ; w + .byte $22 ; x + .byte $20 ; y + .byte $3E ; z + .byte $30 ; { + .byte $08 ; | + .byte $06 ; } + .byte $00 ; ~ + .byte $00 ; +font_1x8_row7: + .byte $00 ; + .byte $08 ; + .byte $08 ; + .byte $36 ; + .byte $36 ; + .byte $14 ; + .byte $14 ; + .byte $00 ; + .byte $00 ; + .byte $14 ; + .byte $14 ; + .byte $00 ; + .byte $14 ; + .byte $00 ; + .byte $00 ; ! + .byte $00 ; " + .byte $00 ; # + .byte $00 ; $ + .byte $00 ; % + .byte $00 ; & + .byte $00 ; ' + .byte $00 ; ( + .byte $00 ; ) + .byte $00 ; * + .byte $00 ; + + .byte $00 ; , + .byte $00 ; - + .byte $00 ; . + .byte $00 ; / + .byte $00 ; 0 + .byte $00 ; 1 + .byte $00 ; 2 + .byte $00 ; 3 + .byte $00 ; 4 + .byte $00 ; 5 + .byte $00 ; 6 + .byte $00 ; 7 + .byte $00 ; 8 + .byte $00 ; 9 + .byte $00 ; : + .byte $00 ; ; + .byte $00 ; < + .byte $00 ; = + .byte $00 ; > + .byte $00 ; ? + .byte $00 ; @ + .byte $00 ; A + .byte $00 ; B + .byte $00 ; C + .byte $00 ; D + .byte $00 ; E + .byte $00 ; F + .byte $00 ; G + .byte $00 ; H + .byte $00 ; I + .byte $00 ; J + .byte $00 ; K + .byte $00 ; L + .byte $00 ; M + .byte $00 ; N + .byte $00 ; O + .byte $00 ; P + .byte $00 ; Q + .byte $00 ; R + .byte $00 ; S + .byte $00 ; T + .byte $00 ; U + .byte $00 ; V + .byte $00 ; W + .byte $00 ; X + .byte $00 ; Y + .byte $00 ; Z + .byte $00 ; [ + .byte $00 ; \ + .byte $00 ; ] + .byte $00 ; ^ + .byte $7F ; _ + .byte $00 ; ` + .byte $00 ; a + .byte $00 ; b + .byte $00 ; c + .byte $00 ; d + .byte $00 ; e + .byte $00 ; f + .byte $1E ; g + .byte $00 ; h + .byte $00 ; i + .byte $1C ; j + .byte $00 ; k + .byte $00 ; l + .byte $00 ; m + .byte $00 ; n + .byte $00 ; o + .byte $0E ; p + .byte $38 ; q + .byte $00 ; r + .byte $00 ; s + .byte $00 ; t + .byte $00 ; u + .byte $00 ; v + .byte $00 ; w + .byte $00 ; x + .byte $1E ; y + .byte $00 ; z + .byte $00 ; { + .byte $00 ; | + .byte $00 ; } + .byte $00 ; ~ + .byte $00 ; diff --git a/demos/second/part20_credits/graphics/Makefile b/demos/second/part20_credits/graphics/Makefile index 36d480b7..8712383a 100644 --- a/demos/second/part20_credits/graphics/Makefile +++ b/demos/second/part20_credits/graphics/Makefile @@ -4,9 +4,7 @@ ZX02 = ~/research/6502_compression/zx02.git/build/zx02 PNG_TO_HGR = ../../../../utils/hgr-utils/png2hgr PNG2GR = ../../../../utils/gr-utils/png2gr -all: nuts4.hgr.zx02 nuts_pg.hgr.zx02 nuts_blue.hgr.zx02 \ - fc_grey.hgr.zx02 fc_iipix.hgr.zx02 \ - credits_2.hgr.zx02 \ +all: credits_2.hgr.zx02 \ summary1.hgr.zx02 summary2.hgr.zx02 \ summary1_invert.hgr.zx02 summary2_invert.hgr.zx02 @@ -20,47 +18,6 @@ credits_2.hgr.zx02: credits_2.hgr #### -nuts4.hgr: nuts4.png - $(PNG_TO_HGR) nuts4.png > nuts4.hgr - -nuts4.hgr.zx02: nuts4.hgr - $(ZX02) nuts4.hgr nuts4.hgr.zx02 - -#### - -nuts_blue.hgr: nuts_blue.png - $(PNG_TO_HGR) nuts_blue.png > nuts_blue.hgr - -nuts_blue.hgr.zx02: nuts_blue.hgr - $(ZX02) nuts_blue.hgr nuts_blue.hgr.zx02 - -#### - -nuts_pg.hgr: nuts_pg.png - $(PNG_TO_HGR) nuts_pg.png > nuts_pg.hgr - -nuts_pg.hgr.zx02: nuts_pg.hgr - $(ZX02) nuts_pg.hgr nuts_pg.hgr.zx02 - - -#### - -fc_grey.hgr: fc_grey.png - $(PNG_TO_HGR) fc_grey.png > fc_grey.hgr - -fc_grey.hgr.zx02: fc_grey.hgr - $(ZX02) fc_grey.hgr fc_grey.hgr.zx02 - -#### - -fc_iipix.hgr: fc_iipix.png - $(PNG_TO_HGR) fc_iipix.png > fc_iipix.hgr - -fc_iipix.hgr.zx02: fc_iipix.hgr - $(ZX02) fc_iipix.hgr fc_iipix.hgr.zx02 - -#### - summary1.hgr: summary1.png $(PNG_TO_HGR) summary1.png > summary1.hgr @@ -99,4 +56,4 @@ summary2_invert.hgr.zx02: summary2_invert.hgr #### clean: - rm -f *~ + rm -f *~ *.zx02