"   *   *    A "    A *  DW `00000000 DW `01111100 DW `10000010 DW `10000010 DW `01111110 DW `00000010 DW `00000010 DW `01111100 DW `00000000 DW `00111000 DW `01000100 DW `10000010 Pff s nٙgcnܙ3>Davinci KB WLBb͙̀͡SVgb!>r" ͐x ’<  !!Ͷ!Ͷ! Ͷ! Ͷ!Ͷ!Ͷ G !@!@!@!@!@! @!  @!  @!  @!  @! @!@!@!@!@!@!@!@!@!#C@!#@!@!Ù@!Ù@!@!c@!Cc@!#C@!#@!@!Ø@!Ø@!@!c@!Cc@!#C@!#@A G"A x7wA wDD0>@>h>i>i>i>i>i>i>i>i!i @ !g@>O>`!>O>!P>BC>G>>@$>V~BBBBBB~~~~~l|88||88|8|8|8||8|<<><~~<ffffff{>c8ll8x~~~<~~<<~~< 0``0$ff$<~~<000000llllllll0|x 00f8l8vv``0```0`00`f<x00000x xflxlf``````~8ll8ff|``xxff|lfxxx000000x0l88lx00x 0`x`````x`0 xx8l00x |v``|ffxx |vxx8l```v| `lvff0p000x x`flxlp00000xxxff|`v| vf`|x 0|004vx0ll8l| 0d00000000v8lP(xx(xx xx(v v(| (||(|xx8D@@@f<~~ff|``00000x |v p000x xx v2L2L8 DD8DDDz@||||||l(| 8DD8llL|<@0@< 1.1 ; <---- NOTE!!! PUT FILE REVISION NUMBER HERE WARN "Version \1 or Z''me0_@_ 8p_p_ _ dv.asm INCLUDE "hardware.inc" ; Make sure include files are useable revisions. rev_Check_hardware_inc 1.5 ; Macro that ph1il __Vdv.asm ldh a,[rSTAT] ; <---+ and STATF_BUSY ; | jr nz,@-4 ; ----+ ENDM j5CTI __*dv.asm************************************************************** ;* ;* mem_Set - "Set" a memory region ;* ;* input: ;* a - value ;* l9m __ r_@_ _****dv.asm********************************************* mem_Set:: inc b inc c jr .skip .loop ld [hl+],a .skip dec c jr nz,.loop dec b jn=p P_`_ s__ _****dv.asm**************************** ;* ;* mem_Copy - "Copy" a memory region ;* ;* input: ;* hl - pSource ;* de - pDest ;* bc - bytecouxG*** _0_ t__ _****dv.asm**************** mem_Copy:: inc b inc c jr .skip .loop ld a,[hl+] ld [de],a inc de .skip dec c jr nz,.loop dec b jr nz,.l|J __ v_p_ _****dv.asm********************* ;* ;* mem_Copy - "Copy" a monochrome font from ROM to RAM ;* ;* input: ;* hl - pSource ;* de - pDest ;* b~Noun__ _****dv.asm***************************************************** md de,display_col+$20*9 ld bc,display_quantity call mem_CopyVRAM ld hl,display_col+$20*7 ld de,display_col+$20*8 ld bc,display_quantity call mem_CopyVRAM ld hl,display_col+$20*6 ld de,display_col+$20*7 ld bc,display_quantity call mem_CopyVRAM ld hl,display_col+$20*5 ld de,display_col+$20*6 ld bc,display_quantity call mem_CopyVRAM ld hl,display_col+$20*4 ld de,display_col+$20*5 ld bc,display_quantity call mem_CopyVRAM ld hl,display_col+$20*3 ld de,display_col+$20*4 ld bc,display_quantity call mem_CopyVRAM ld hl,display_col+($20*2) ld de,display_col+($20*3) ld bc,display_quantity call mem_CopyVRAM ld hl,display_col+($20*1) ld de,display_col+($20*2) ld bc,display_quantity call mem_CopyVRAM ld hl,display_col+($20*0) ld de,display_col+($20*1) ld bc,display_quantity call mem_CopyVRAM ret display_byte lcd_WaitVRAM ld a,[de] ld b,a and $0F ld [hl+],a lcd_WaitVRAM ld a,b and $F0 swap a ld [hl],a ret display_char bit 7,a ret nz add a,20 push af lcd_WaitVRAM pop af ld [hl],a ret waitVB ldh a,[$44] cp 144 jp nz,waitVB ret initialize .wait ldh a,[$44] cp 144 jr nc,.wait ld a,0 ldh [$40],a ld a,%10000000 ldh [$68],a ld a,%00000000 ldh [$69],a ld a,%00000000 ldh [$69],a ld a,%11111110 ldh [$69],a ld a,%00011110 ldh [$69],a ld a,%11111111 ldh [$69],a ld a,%01111111 ldh [$69],a ld a,%11111111 ldh [$69],a ld a,%01111111 ldh [$69],a ld hl,Font ld de,$8000 ld bc,20*8*2 call mem_Copy ld hl,ibm_characters ld de,$8000+20*8*2 ld bc,8*128 call mem_CopyMono ld a,1 ldh [$4F],a ld a,%01100000 ld hl,$9800 ld bc,32*32 call mem_Set ld a,0 ldh [$4F],a ld a,16 ld hl,$9800 ld bc,20*32*32 call mem_Set ld a,0 ldh [$42],a ldh [$43],a ld a,%00000011 ldh [$47],a ld a,$00000000 ldh [$FF],a ld a,%10010001 ldh [$40],a xor a ld [$FF24],a xor a ld [counter],a ld a,%11000000 ldh [$56],a ret ibm_characters chr_IBMPC1 1,8 Font: DW `01111100 DW `10000010 DW `10000010 DW `10000010 DW `10000010 DW `10000010 DW `01111100 DW `00000000 DW `00010000 DW `00110000 DW `00010000 DW `00010000 DW `00010000 DW `00010000 DW `00111000 DW `00000000 DW `01111100 DW `10000010 DW `00000010 DW `01111100 DW `10000000 DW `10000000 DW `11111110 DW `00000000 DW `01111100 DW `10000010 DW `00000010 DW `00011100 DW `00000010 DW `10000010 DW `01111100 DW `00000000 DW `00001100 DW `00010100 DW `00100100 DW `01000100 DW `11111110 DW `00000100 DW `00000100 DW `00000000 DW `11111110 DW `10000000 DW `10000000 DW `11111100 DW `00000010 DW `00000010 DW `11111100 DW `00000000 DW `01111100 DW `10000000 DW `10000000 DW `11111100 DW `10000010 DW `10000010 DW `01111100 DW `00000000 DW `11111110 DW `00000010 DW `00000100 DW `00001000 DW `00010000 DW `00010000 DW `00010000 DW `00000000 DW `01111100 DW `10000010 DW `10000010 DW `01111100 DW `10000010 DW `10000010 DW `01111100 DW `00000000 DW `01111100 DW `10000010 DW `10000010 DW `01111110 DW `00000010 DW `00000010 DW `01111100 DW `00000000 DW `00111000 DW `01000100 DW `10000010 DW `11111110 DW `10000010 DW `10000010 DW `10000010 DW `00000000 DW `11111100 DW `10000010 DW `10000010 DW `11111100 DW `10000010 DW `10000010 DW `11111100 DW `00000000 DW `00111100 DW `01000010 DW `10000000 DW `10000000 DW `10000000 DW `01000010 DW `00111100 DW `00000000 DW `11111000 DW `10000100 DW `10000010 DW `10000010 DW `10000010 DW `10000100 DW `11111000 DW `00000000 DW `11111110 DW `10000000 DW `10000000 DW `11111000 DW `10000000 DW `10000000 DW `11111110 DW `00000000 DW `11111110 DW `10000000 DW `10000000 DW and STATF_BUSY jr nz,@-4 )lcd_WaitVRAM /  3 H (JKV48 JK(J( JKC,$0 (JK3,$73,$00,$83,$00,$0C,$00,$0D DB $00,$08,$11,$1F,$88,$89,$00,$0E,$DC,$CC,$6E,$E6,$DD,$DD,$D9,$99 DPhKJ)KKV`J@p= Memory1 CodeK....)mem_Set DB %........ DB %.....X.. DB %...X.... DB %.X...... DB %...X.... DB %.....X.. DB %XXXXXXX. DB %........ DB %........ DB IK D).skipK DB %...X.... DB %...X.... DB %...X.... DB %...X.... DB %...X.... DB %...X.... DB %...X.... DB %...X.... DB %...X.... D@K ).loopK DB %...X.... DB %...X.... DB %.XX..... DB %........ DB %........ DB %...X.... DB %........ DB %XXXXXXX aKKK ).skipK IF 1.5 > 1.9 WARN "Version \1 or later of 'hardware.inc' is required." ENDC (JK DB %........ DB %........ DB %..XX.... aKKKX...)mem_Copy..X... DB %..XX.... DB %........ DB %........ DB %........ DB %........ DB %........ DB %........ DB %........ DB %..XX.... IbK.XX.).skipK %........ DB %........ DB %........ DB %........ DB %........ DB %........ DB %........ DB %....X... DB %........ DB %..... K %..).loopK %.......X DB %......X. DB %XXX...X. DB %..X..X.. DB %...X.X.. DB %...XX... DB %....X... DB %........ DB %........ DB %ahK`_K ).skipK DB %..X..X.. DB %..X..X.. DB %........ DB %........ DB %........ DB %..XX.... DB %.X..X... DB %...X.... DB %..X..... DB ahK8_K DB )_VRAMK_INCbc,1 call mem_CopyVRAM ld hl,text_line+7 ld de,text_line+8 ld bc,1 call mem_CopyVRAM ld hl,text_line+6 ld de,text_line+7 ld bc,1 call mem_CopyVRAM ld hl,text_line+5 ld de,text_line+6 ld bc,1 call mem_CopyVRAM ld hl,text_line+4 lB > bc, IF \1 > 1.9 WARN "Version \1 or later of 'hardware.inc' is required." ENDC ,t)rev_Check_hardware_incem_CopyVRAM ret ld hl,display_col+$20*17 ld de,display_col+$20*18 ld bc,display_quantity call mem_CopyVRAM ld hl,