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 00000000..9384477e Binary files /dev/null and b/demos/second/part19_nuts/graphics/nuts_blue.png differ 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 00000000..0a03a39a Binary files /dev/null and b/demos/second/part19_nuts/graphics/nuts_pg.png differ 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