#define TI83P .nolist #include "ion.inc" #define key saferam1 #define progloc saferam1+1 #define currentloc saferam1+3 #define curtimer saferam1+5 #define arrowtimer saferam1+6 #define initarrowtimer saferam1+7 #define flippedcurrow saferam1+8 #define flippedcurcol saferam1+9 #define tempprogloc saferam1+10 #define downposition saferam1+12 #define programfound saferam1+13 #define apdcounter saferam1+14 #define progstringlength progstringend-progstring _JForceCmdNoChar .equ 4027h _StrCopy .equ 44E3h .list .org 4000h ;This is the application header definition area required for all apps. .db 080h,0Fh ;Field: Program length .db 00h,00h,00h,00h ;Length=0 (N/A for unsigned apps) .db 080h,012h ;Field: Program type .db 01h,04h ;Type= Shareware, TI-83Plus .db 080h,021h ;Field: App ID .db 01h ;Id = 1 .db 080h,031h ;Field: App Build .db 01h ;Build = 1 .db 080h,048h ;Field: App Name .db "QWERTY " ;Name must be 8 characters .db 080h,081h ;Field: App Pages .db 01h ;App Pages = 1 .db 080h,090h ;No default splash screen .db 03h,026h ,09h,04h, 04h,06fh,01bh,80h ;Field: Date stamp- 5/12/1999 .db 02h,0dh,040h ;Dummy encrypted TI date stamp signature .db 0a1h ,06bh ,099h ,0f6h ,059h ,0bch ,067h .db 0f5h ,085h ,09ch ,09h ,06ch ,0fh ,0b4h ,03h ,09bh ,0c9h .db 03h ,032h ,02ch ,0e0h ,03h ,020h ,0e3h ,02ch ,0f4h ,02dh .db 073h ,0b4h ,027h ,0c4h ,0a0h ,072h ,054h ,0b9h ,0eah ,07ch .db 03bh ,0aah ,016h ,0f6h ,077h ,083h ,07ah ,0eeh ,01ah ,0d4h .db 042h ,04ch ,06bh ,08bh ,013h ,01fh ,0bbh ,093h ,08bh ,0fch .db 019h ,01ch ,03ch ,0ech ,04dh ,0e5h ,075h .db 80h,7Fh ;Field: Program Image length .db 0,0,0,0 ;Length=0, N/A .db 0,0,0,0 ;Reserved .db 0,0,0,0 ;Reserved .db 0,0,0,0 ;Reserved .db 0,0,0,0 ;Reserved Start: im 1 bcall(_indicatorOff) ld hl,0 ld (flippedcurrow),hl ld a,9 ld (key),a bcall(_clrscrf) ld hl,$0202 ld (CURROW),hl ld hl,QWERTYStr ld de,op1 bcall(_StrCopy) ld hl,op1 bcall(_puts) ld hl,$0203 ld (CURROW),hl ld hl,EditorStr ld de,op1 bcall(_StrCopy) ld hl,op1 bcall(_puts) ld hl,$0205 ld (CURROW),hl ld hl,AuthorStr ld de,op1 bcall(_StrCopy) ld hl,op1 bcall(_puts) Startloop2: ei halt bcall(_getk) or a jr z,Startloop2 res appAutoScroll,(iy+appflags) openprog: bcall(_clrscrf) ld hl,0 ld (CURROW),hl ld hl,opentxt set textInverse,(iy+textflags) ld de,op1 bcall(_StrCopy) ld hl,op1 bcall(_puts) res textInverse,(iy+textflags) ld hl,900h ld (CURROW),hl ld hl,newtxt ld de,op1 bcall(_StrCopy) ld hl,op1 bcall(_puts) ld a,1 ld (downposition),a call dispfirstprogs call firstprog call dispcurrentproginv startloop: ei halt bcall(_getk) cp 2 jp z,createnew cp 3 jp z,createnew cp 1 jr z,moveprogdown cp 4 jr z,moveprogup cp 9 jp z,checkiffound cp 37h jp z,Quit jr startloop checkiffound: ld a,(programfound) or a jr z,startloop jp dispprogcontin moveprogdown: call dispcurrentprog call nextprog jr c,atendofproglist ld a,(downposition) inc a cp 8 jr z,atbottomofscreen ld (downposition),a call dispcurrentproginv jr startloop atendofproglist: call dispfirstprogs call firstprog ld a,1 ld (downposition),a call dispcurrentproginv jr startloop atbottomofscreen: ld hl,(progloc) push hl dispprogsloop: ld a,(downposition) dec a ld (downposition),a or a jr z,dispprogscontin call lastprog call dispcurrentprog jr dispprogsloop dispprogscontin: ld a,7 ld (downposition),a pop hl ld (progloc),hl call dispcurrentproginv jr startloop moveprogup: call dispcurrentprog ld a,(downposition) cp 1 jr z,attopofscreen call lastprog jr z,atbeginningoflist ld a,(downposition) dec a ld (downposition),a call dispcurrentproginv jp startloop attopofscreen: call lastprog jr z,atbeginningoflist ld hl,(progloc) push hl call dispprogs pop hl ld (progloc),hl call dispcurrentproginv jp startloop atbeginningoflist: call nextprog jr c,atbeginningoflistcontin ld a,(downposition) inc a cp 8 jr z,atbeginningoflistcontin2 ld (downposition),a jr atbeginningoflist atbeginningoflistcontin: call dispcurrentproginv jp startloop atbeginningoflistcontin2: call nextprog jr nc,atbeginningoflistcontin2 ld hl,(progloc) push hl displastprogs: ld a,(downposition) cp 1 jr z,displastprogscontin dec a ld (downposition),a call lastprog call dispcurrentprog jr displastprogs displastprogscontin: pop hl ld (progloc),hl ld a,7 ld (downposition),a call dispcurrentproginv jp startloop createnew: bcall(_clrscrf) ld hl,0 ld (CURROW),hl ld hl,opentxt ld de,op1 bcall(_StrCopy) ld hl,op1 bcall(_puts) ld hl,900h ld (CURROW),hl ld hl,newtxt set textInverse,(iy+textflags) ld de,op1 bcall(_StrCopy) ld hl,op1 bcall(_puts) ld hl,1 ld (CURROW),hl ld hl,createnewtxt ld de,op1 bcall(_StrCopy) ld hl,op1 bcall(_puts) res textInverse,(iy+textflags) createnewloop: ei halt bcall(_getk) cp 2 jp z,openprog cp 3 jp z,openprog cp 9 jp z,enterprogname cp 37h jp z,Quit jr createnewloop enterprogname: bcall(_clrscrf) ld hl,0 ld (CURROW),hl ld hl,enterprognametxt ld de,op1 bcall(_StrCopy) ld hl,op1 bcall(_puts) ld hl,1 ld (CURROW),hl bcall(_zeroop1) ld a,6 ld (op1),a enterprognameloop: ei halt bcall(_getk) or a jr z,enterprognameloop cp 37h jp z,Quit cp 9 jr z,Nameloopend cp 15 jr z,enterprogname cp 56 call z,del cp 48 jp p,enterprognameloop cp 10 jp m,enterprognameloop ld hl,enterprognamemap-10 ld c,a ld b,0 add hl,bc ld a,(curcol) cp 8 jr z,enterprognameloop ld a,(hl) or a jr z,enterprognameloop ld hl,op1+1 push af ld a,(curcol) ld c,a add hl,bc pop af ld (hl),a bcall(_putc) jr enterprognameloop Nameloopend: ld a,(CURCOL) or a jr z,enterprognameloop bcall(_chkfindsym) jr nc,progalreadyexsists ld hl,progstringlength bcall(_createprotprog) push hl inc de inc de ld hl,progstring ld bc,progstringlength ldir pop hl progalreadyexsists: push hl call compareprogstring pop hl jr c,enterprognameloop ld (progloc),hl jr dispprogcontin del: ld a,(curcol) or a ret z ld b,0 ld c,a ld hl,op1 add hl,bc ld (hl),0 dec a ld (curcol),a ld a,' ' bcall(_putmap) xor a ret dispprogcontin: bcall(_clrscrf) ld hl,(progloc) dec hl dec hl dec hl ld e,(hl) dec hl ld d,(hl) ld (progloc),de ex de,hl ld bc,progstringlength+2 add hl,bc ld (currentloc),hl ld a,$3F ld (curtimer),a xor a ld (apdcounter),a res onInterrupt,(iy+onflags) call disptoendofscreen Typeloop: ei halt call Dispcurser bit onInterrupt,(iy+onflags) jr nz,Turnoffcalc call getk or a jr z,Typeloop push af ld a,$3F ld (curtimer),a xor a ld (apdcounter),a pop af cp 33h jp z,Enter cp 35h jp z,Delete ld c,a ld a,$FF out (1),a ld a,$BF out (1),a in a,(1) bit 0,a jr nz,Typeloopprecontin2 ld a,c cp 37h jp z,Quit cp 2 jp z,movecurup cp 3 jp z,movecurdown cp 4 jp z,movecurforward cp 1 jp z,movecurback cp $D jr nz,notzero ld a,30h jr Typeloopcontin Turnoffcalc: ld a,1 out (3),a ei halt res onInterrupt,(iy+onflags) jr Typeloop notzero: and %00000111 sub 5 ld d,a sub 3 jr nc,Typeloop ld a,c and %11111000 sub 10h srl a srl a srl a ld c,a sub 3 jr nc,Typeloop ld a,c add a,c add a,c add a,d add a,31h jr Typeloopcontin Typeloopprecontin2: ld a,$FF out (1),a ld a,$BF out (1),a in a,(1) bit 1,a jr z,Shift ld hl,charmap-1 jr Typeloopprecontin Shift: ld hl,charmap2-1 Typeloopprecontin: ld b,0 add hl,bc ld a,(hl) or a jp z,Typeloop Typeloopcontin: ld hl,1 bcall(_enoughMem) jp c,Typeloop ld hl,1 ld de,(currentloc) push af bcall(_insertmem) pop af ld hl,(progloc) ld c,(hl) inc hl ld b,(hl) inc bc ld (hl),b dec hl ld (hl),c ld (de),a call flippedputmap call Curforward call checkcuratend jp c,Typeloop call disptoendofscreen jp Typeloop Delete: call checkcuratbegining jp nc,Typeloop call Curback ld hl,(currentloc) ld a,(hl) cp 13 jr z,DeleteEnter ld de,1 bcall(_deletemem) ld hl,(progloc) ld c,(hl) inc hl ld b,(hl) dec bc Deletecontin2: ld (hl),b dec hl ld (hl),c call checkcuratend jp nc,Deletecontin ld a,' ' call flippedputmap jp Typeloop Deletecontin: call disptoendofscreen jp Typeloop DeleteEnter: ld de,2 bcall(_deletemem) ld hl,(progloc) ld c,(hl) inc hl ld b,(hl) dec bc dec bc jr Deletecontin2 movecurback: call Curback jp Typeloop Curback: call checkcuratbegining ccf ret c call dispatcurser ld hl,(currentloc) dec hl ld a,(hl) cp 10 jr z,Curbackenter ld (currentloc),hl ld a,(flippedcurcol) or a jr z,Curback2 dec a ld (flippedcurcol),a or a ret Curback2: ld a,9 ld (flippedcurcol),a Curback5: ld a,(flippedcurrow) or a jr z,Curback3 cp $FF jr z,Curback7 dec a ld (flippedcurrow),a or a ret Curback7: xor a ld (flippedcurrow),a Curback3: ld hl,(currentloc) push hl ld hl,(flippedcurrow) push hl Curback4: ld hl,(flippedcurrow) dec hl ld a,h cp $FF jr z,Curback6 call curback jr Curback4 Curback6: ld hl,0 ld (flippedcurrow),hl call disptoendofscreen pop hl ld (flippedcurrow),hl pop hl ld (currentloc),hl scf ret Curbackenter: dec hl push hl ld (currentloc),hl ld d,0 Curbackloop: call checkcuratbegining jr nc,Curbackcontin3 ld hl,(currentloc) ld a,(hl) cp 10 jr z,Curbackcontin dec hl ld (currentloc),hl inc d ld a,d cp 10 jr nz,Curbackloop ld d,0 jr Curbackloop Curbackcontin: pop hl ld (currentloc),hl dec d ld a,d cp $FF jr nz,Curbackcontin4 ld a,9 Curbackcontin4: ld (flippedcurcol),a jr Curback5 Curbackcontin3: pop hl ld (currentloc),hl ld a,d ld (flippedcurcol),a jr Curback5 movecurforward: call Curforward jp Typeloop Curforward: call checkcuratend ret c call dispatcurser ld hl,(currentloc) ld a,(hl) inc hl cp 13 jr z,curforwardenter ld (currentloc),hl ld a,(flippedcurcol) cp 9 jr z,Curforward2 inc a ld (flippedcurcol),a or a ret Curforward2: xor a ld (flippedcurcol),a ld a,(flippedcurrow) cp 6 jr z,Curforward3 inc a ld (flippedcurrow),a or a ret curforwardenter: inc hl ld (currentloc),hl curforwardenterloop: ld a,' ' call flippedputc ld a,(flippedcurcol) or a jr nz,curforwardenterloop ld a,(flippedcurrow) dec a ld (flippedcurrow),a jr Curforward2 Curforward3: ld hl,(currentloc) push hl Curforward4: call curback ld a,(flippedcurrow) ld b,a ld a,(flippedcurcol) or b or a jr nz,Curforward4 call disptoendofscreen ld hl,6 ld (flippedcurrow),hl pop hl ld (currentloc),hl scf ret movecurup: ld bc,(flippedcurrow) push bc curuploop: call curback pop bc jr nc,curupcontin2 inc c curupcontin2: push bc ld a,(flippedcurrow) cp c jr z,curuploop ld a,(flippedcurcol) inc b sub b jr nc,curuploop pop bc jp Typeloop movecurdown: ld bc,(flippedcurrow) push bc curdownloop: call curforward pop bc jr nc,curdowncontin2 dec c curdowncontin2: push bc ld a,(flippedcurrow) cp c jr z,curdownloop ld hl,(currentloc) ld a,(hl) cp 13 jr z,curdowncontin call checkcuratend jr c,curdowncontin ld a,(flippedcurcol) sub b jr c,curdownloop curdowncontin: pop bc jp Typeloop Enter: ld hl,2 bcall(_enoughMem) jp c,Typeloop ld hl,2 ld de,(currentloc) push af bcall(_insertmem) pop af ld hl,(progloc) ld c,(hl) inc hl ld b,(hl) inc bc inc bc ld (hl),b dec hl ld (hl),c ex de,hl ld (hl),13 inc hl ld (hl),10 call Curforward call checkcuratend jp c,Typeloop call disptoendofscreen jp Typeloop getk: ld b,%11111110 ld e,0 ld d,0 getkloop: ld a,$FF out (1),a ld a,b out (1),a in a,(1) cp $FF jr z,getkcontin call getkeyvalue cp $FE jr z,getkcontin ld c,a ld a,e or a jr nz,nokeypressed ld a,c ld e,a getkcontin: inc d ld a,d cp 7 jr z,keypressedend scf rl b jr getkloop keypressedend: ld a,e or a jr z,keypressedend2 ld a,(key) cp e jr z,nokeypressed keypressedend2: xor a ld (arrowtimer),a ld (initarrowtimer),a ld a,e ld (key),a or a ret z cp 35h jr keypressedend3 sub 5 jr c,keypressedend4 ld a,e ret keypressedend4: ld a,$FF out (1),a ld a,$BF out (1),a in a,(1) bit 0,a ld a,e ret nz keypressedend3: ld a,9 ld (initarrowtimer),a ld a,e ret nokeypressed: ld a,e cp 35h jr z,nokeypressedcontin2 sub 5 jr nc,nokeypresscontin ld a,$FF out (1),a ld a,$BF out (1),a in a,(1) bit 0,a jr nz,nokeypresscontin nokeypressedcontin2: ld a,(arrowtimer) inc a ld (arrowtimer),a cp 6 ld a,0 ret nz xor a ld (arrowtimer),a ld a,(initarrowtimer) or a jr z,nokeypressedcontin3 dec a ld (initarrowtimer),a xor a ret nokeypressedcontin3: ld a,e ret nokeypresscontin: xor a ld (arrowtimer),a ret getkeyvalue: ld c,a ld a,d cp 6 jr nz,getkeyvaluecontin3 set 1,c set 0,c getkeyvaluecontin3: ld a,c push af ld a,0 rr c adc a,0 rr c adc a,0 rr c adc a,0 rr c adc a,0 rr c adc a,0 rr c adc a,0 rr c adc a,0 rr c adc a,0 ld c,a sub 7 jr nc,getkvaluecontin4 pop af ld a,$FF ld e,a ret getkvaluecontin4: pop af ld c,0 getkvalueloop: bit 0,a jr z,getkvaluecontin inc c srl a jr getkvalueloop getkvaluecontin: ld a,c cp 8 jr nz,getkeyvaluecontin2 ld a,$FE ret getkeyvaluecontin2: ld a,d add a,a add a,a add a,a add a,c inc a ret Disptoendofscreen: ld hl,(progloc) ld e,(hl) inc hl ld d,(hl) inc hl add hl,de ld de,(currentloc) sbc hl,de ld de,(flippedcurrow) push de ld de,(currentloc) shiftlettersloop: ld a,(flippedcurrow) cp 7 jr z,shiftletterscontin ld a,h or l dec hl or a jr z,shiftletterscontin ld a,(de) cp 13 jr z,shiftlettersenter call flippedputc shiftletterscontin3: inc de jr shiftlettersloop shiftletterscontin: ld a,(flippedcurrow) cp 7 jr z,shiftletterscontin2 ld a,' ' call flippedputc jr shiftletterscontin shiftletterscontin2: pop hl ld (flippedcurrow),hl ret shiftlettersenter: inc de dec hl shiftlettersenterloop: ld a,' ' call flippedputc ld a,(flippedcurcol) or a jr z,shiftletterscontin3 jr shiftlettersenterloop Dispcurser: ld a,(curtimer) inc a ld (curtimer),a cp $40 jr z,dispcursercontin cp $80 ret nz dispcursercontin: push af ld a,(apdcounter) inc a ld (apdcounter),a cp 200 jr nz,dispcursercontin2 ld a,1 out (3),a ei halt xor a ld (apdcounter),a dispcursercontin2: pop af cp $40 jr z,curseron jr curseroff curseron: ld b,$FF jr dispcurseronoff curseroff: xor a ld (curtimer),hl dispatcurser: ld b,0 dispcurseronoff: di ld a,(flippedcurcol) ld c,a add a,c add a,c add a,a ld c,a ld a,$BB sub c call lcdbusy out (10h),a ld a,(flippedcurrow) add a,20h call lcdbusy out (10h),a ld a,b call lcdbusy out (11h),a ret dispspace: ld a,' ' call flippedputmap ret dispfirstprogs: call firstprog dispprogs: ld hl,1 ld (CURROW),hl dispfirstprogscontin: call dispprog call nextprog ret c ld a,(CURROW) cp 8 ret z jr dispfirstprogscontin dispcurrentproginv: set textInverse,(iy+textflags) ld a,(downposition) ld (CURROW),a call dispprog res textInverse,(iy+textflags) ret dispcurrentprog: ld a,(downposition) ld (CURROW),a call dispprog ret dispprog: ld a,(programfound) or a ret z ld hl,(progloc) ld bc,-6 add hl,bc ld b,(hl) dispnameloop: dec hl ld a,(hl) bcall(_putc) djnz dispnameloop disptoendofline: ld a,(CURCOL) or a ret z ld a,' ' bcall(_putc) jr disptoendofline lastprog: ld hl,(progloc) ld (tempprogloc),hl call firstprog call checkatprog ret z lastprogloop: ld hl,(progloc) push hl call nextprog call checkatprog pop hl jr nz,lastprogloop ld (progloc),hl cp 1 ret nextprog: ld a,(programfound) sub 1 ret c ld hl,(progloc) nextprogloop: ld bc,-6 add hl,bc ld a,(hl) ld b,0 ld c,a or a sbc hl,bc dec hl call checkatendofvat ret c nextprogcontin: ld a,(hl) and %00011111 cp 5 jr z,nextprogcontin2 cp 6 jr z,nextprogcontin2 jr nextprogloop nextprogcontin2: ld bc,-5 add hl,bc ld a,(hl) ld bc,5 add hl,bc or a jr nz,nextprogloop push hl call compareprogstring pop hl jr c,nextprogloop ld (progloc),hl ld a,1 ld (programfound),a ret firstprog: xor a ld (programfound),a ld hl,(vat) jr nextprogcontin checkatprog: push hl ld hl,(progloc) ld bc,(tempprogloc) xor a sbc hl,bc ld a,h or l or a pop hl ret endprog: call nextprog jr nc,endprog ret checkatendofvat: push hl ld bc,(Ptemp) inc bc sbc hl,bc pop hl ret compareprogstring: dec hl dec hl dec hl ld e,(hl) dec hl ld d,(hl) inc de inc de ld hl,progstring ld b,progstringlength compareloop: ld a,(de) cp (hl) scf ret nz inc de inc hl djnz compareloop or a ret checkcuratend: ld hl,(progloc) ld e,(hl) inc hl ld d,(hl) add hl,de ld de,(currentloc) or a sbc hl,de ret checkcuratbegining: ld hl,(progloc) ld bc,progstringlength+2 add hl,bc ld bc,(currentloc) or a sbc hl,bc ret flippedputc: call flippedputmap push af ld a,(flippedcurcol) inc a cp 10 jr z,flippedputccontin ld (flippedcurcol),a pop af ret flippedputccontin: xor a ld (flippedcurcol),a ld a,(flippedcurrow) inc a ld (flippedcurrow),a pop af ret flippedputmap: push hl push bc push af cp 5Bh jr z,displeftbracket cp 5Dh jr z,disprightbracket cp 5Eh jr z,dispcaret cp 7Bh jr z,displeftbrace cp 7Dh jr z,disprightbrace sub 40h jr c,dispnumber sub 1Bh jr c,dispbigletter sub 6 ld c,a add a,a add a,a add a,c ld c,a ld b,0 ld hl,littlea add hl,bc jr flippedputmapcontin dispnumber: add a,32 ld c,a add a,a add a,a add a,c ld c,a ld b,0 ld hl,space add hl,bc jr flippedputmapcontin dispbigletter: add a,26 ld c,a add a,a add a,a add a,c ld c,a ld b,0 ld hl,biga add hl,bc jr flippedputmapcontin displeftbracket: ld hl,leftbracket jr flippedputmapcontin disprightbracket: ld hl,rightbracket jr flippedputmapcontin dispcaret: ld hl,caret jr flippedputmapcontin displeftbrace: ld hl,leftbrace jr flippedputmapcontin disprightbrace: ld hl,rightbrace flippedputmapcontin: di ld b,5 ld a,(flippedcurcol) ld c,a add a,c add a,c add a,a ld c,a ld a,$B6 sub c call lcdbusy out (10h),a ld a,(flippedcurrow) add a,20h call lcdbusy out (10h),a dispcharloop: ld a,(hl) inc hl call lcdbusy out (11h),a djnz dispcharloop pop af pop bc pop hl ret space: .db %00000000 .db %00000000 .db %00000000 .db %00000000 .db %00000000 exclamation: .db %00000000 .db %00000000 .db %11110110 .db %00000000 .db %00000000 quote: .db %00000000 .db %11100000 .db %00000000 .db %11100000 .db %00000000 pound: .db %00101000 .db %11111110 .db %00101000 .db %11111110 .db %00101000 dolar: .db %01001000 .db %01010100 .db %11111110 .db %01010100 .db %00100100 percent: .db %01000110 .db %00100110 .db %00010000 .db %11001000 .db %11000100 ampersand: .db %00001010 .db %00000100 .db %01101010 .db %10010010 .db %01101100 apostrophe: .db %00000000 .db %00000000 .db %11100000 .db %00000000 .db %00000000 leftpar: .db %00000000 .db %10000010 .db %01000100 .db %00111000 .db %00000000 rightpar: .db %00000000 .db %00111000 .db %01000100 .db %10000010 .db %00000000 asterisk: .db %00101000 .db %00010000 .db %01111100 .db %00010000 .db %00101000 plus: .db %00010000 .db %00010000 .db %01111100 .db %00010000 .db %00010000 comma: .db %00000000 .db %00000000 .db %00001100 .db %00001010 .db %00000000 hyphen: .db %00010000 .db %00010000 .db %00010000 .db %00010000 .db %00010000 period: .db %00000000 .db %00000000 .db %00000110 .db %00000110 .db %00000000 slash: .db %01000000 .db %00100000 .db %00010000 .db %00001000 .db %00000100 zero: .db %01111100 .db %10100010 .db %10010010 .db %10001010 .db %01111100 one: .db %00000000 .db %00000010 .db %11111110 .db %01000010 .db %00000000 two: .db %01100010 .db %10010010 .db %10001010 .db %10000110 .db %01000010 three: .db %10001100 .db %11010010 .db %10100010 .db %10000010 .db %10000100 four: .db %00001000 .db %11111110 .db %01001000 .db %00101000 .db %00011000 five: .db %10011100 .db %10100010 .db %10100010 .db %10100010 .db %11100100 six: .db %00001100 .db %10010010 .db %10010010 .db %01010010 .db %00111100 seven: .db %11000000 .db %10100000 .db %10010000 .db %10001110 .db %10000000 eight: .db %01101100 .db %10010010 .db %10010010 .db %10010010 .db %01101100 nine: .db %01111000 .db %10010100 .db %10010010 .db %10010010 .db %01100000 colon: .db %00000000 .db %00000000 .db %01101100 .db %01101100 .db %00000000 semicolon: .db %00000000 .db %00000000 .db %01101100 .db %01101010 .db %00000000 less: .db %00000000 .db %10000010 .db %01000100 .db %00101000 .db %00010000 equal: .db %00101000 .db %00101000 .db %00101000 .db %00101000 .db %00101000 greater: .db %00010000 .db %00101000 .db %01000100 .db %10000010 .db %00000000 question: .db %01100000 .db %10010000 .db %10001010 .db %10000000 .db %01000000 biga: .db %01111110 .db %10010000 .db %10010000 .db %10010000 .db %01111110 bigb: .db %01101100 .db %10010010 .db %10010010 .db %10010010 .db %11111110 bigc: .db %01000100 .db %10000010 .db %10000010 .db %10000010 .db %01111100 bigd: .db %01111100 .db %10000010 .db %10000010 .db %10000010 .db %11111110 bige: .db %10000010 .db %10010010 .db %10010010 .db %10010010 .db %11111110 bigf: .db %10000000 .db %10010000 .db %10010000 .db %10010000 .db %11111110 bigg: .db %01011110 .db %10010010 .db %10010010 .db %10000010 .db %01111100 bigh: .db %11111110 .db %00010000 .db %00010000 .db %00010000 .db %11111110 bigi: .db %00000000 .db %10000010 .db %11111110 .db %10000010 .db %00000000 bigj: .db %10000000 .db %11111100 .db %10000010 .db %00000010 .db %00000100 bigk: .db %10000010 .db %01000100 .db %00101000 .db %00010000 .db %11111110 bigl: .db %00000010 .db %00000010 .db %00000010 .db %00000010 .db %11111110 bigm: .db %11111110 .db %01000000 .db %00110000 .db %01000000 .db %11111110 bign: .db %11111110 .db %00001000 .db %00010000 .db %00100000 .db %11111110 bigo: .db %01111100 .db %10000010 .db %10000010 .db %10000010 .db %01111100 bigp: .db %01100000 .db %10010000 .db %10010000 .db %10010000 .db %11111110 bigq: .db %01111010 .db %10000100 .db %10001010 .db %10000010 .db %01111100 bigr: .db %01100010 .db %10010100 .db %10011000 .db %10010000 .db %11111110 bigs: .db %10001100 .db %10010010 .db %10010010 .db %10010010 .db %01100010 bigt: .db %10000000 .db %10000000 .db %11111110 .db %10000000 .db %10000000 bigu: .db %11111100 .db %00000010 .db %00000010 .db %00000010 .db %11111100 bigv: .db %11110000 .db %00001100 .db %00000010 .db %00001100 .db %11110000 bigw: .db %11111100 .db %00000010 .db %00011100 .db %00000010 .db %11111100 bigx: .db %11000110 .db %00101000 .db %00010000 .db %00101000 .db %11000110 bigy: .db %11100000 .db %00010000 .db %00001110 .db %00010000 .db %11100000 bigz: .db %11000010 .db %10100010 .db %10010010 .db %10001010 .db %10000110 leftbracket: .db %00000000 .db %10000010 .db %11111110 .db %00000000 .db %00000000 rightbracket: .db %00000000 .db %00000000 .db %11111110 .db %10000010 .db %00000000 caret: .db %00100000 .db %01000000 .db %10000000 .db %01000000 .db %00100000 littlea: .db %00011110 .db %00101010 .db %00101010 .db %00101010 .db %00000100 littleb: .db %00011100 .db %00100010 .db %00100010 .db %00010010 .db %11111110 littlec: .db %00000100 .db %00100010 .db %00100010 .db %00100010 .db %00011100 littled: .db %11111110 .db %00010010 .db %00100010 .db %00100010 .db %00011100 littlee: .db %00011000 .db %00101010 .db %00101010 .db %00101010 .db %00011100 littlef: .db %01000000 .db %10000000 .db %10010000 .db %01111110 .db %00010000 littleg: .db %01111100 .db %01001010 .db %01001010 .db %01001010 .db %00110000 littleh: .db %00011110 .db %00100000 .db %00100000 .db %00010000 .db %11111110 littlei: .db %00000000 .db %00000010 .db %10111110 .db %00100010 .db %00000000 littlej: .db %00000000 .db %10111100 .db %00100010 .db %00000010 .db %00000100 littlek: .db %00000000 .db %00100010 .db %00010100 .db %00001000 .db %11111110 littlel: .db %00000000 .db %00000010 .db %11111110 .db %10000010 .db %00000000 littlem: .db %00011110 .db %00100000 .db %00011000 .db %00100000 .db %00111110 littlen: .db %00011110 .db %00100000 .db %00100000 .db %00010000 .db %00111110 littleo: .db %00011100 .db %00100010 .db %00100010 .db %00100010 .db %00011100 littlep: .db %00010000 .db %00101000 .db %00101000 .db %00101000 .db %00111110 littleq: .db %00111110 .db %00011000 .db %00101000 .db %00101000 .db %00010000 littler: .db %00010000 .db %00100000 .db %00100000 .db %00010000 .db %00111110 littles: .db %00000100 .db %00101010 .db %00101010 .db %00101010 .db %00010010 littlet: .db %00000100 .db %00000010 .db %00100010 .db %11111100 .db %00100000 littleu: .db %00111110 .db %00000100 .db %00000010 .db %00000010 .db %00111100 littlev: .db %00111000 .db %00000100 .db %00000010 .db %00000100 .db %00111000 littlew: .db %00111100 .db %00000010 .db %00001100 .db %00000010 .db %00111100 littlex: .db %00100010 .db %00010100 .db %00001000 .db %00010100 .db %00100010 littley: .db %00111100 .db %00001010 .db %00001010 .db %00001010 .db %00110000 littlez: .db %00100010 .db %00110010 .db %00101010 .db %00100110 .db %00100010 leftbrace: .db %10000010 .db %10000010 .db %01101100 .db %00010000 .db %00000000 rightbrace: .db %00000000 .db %00010000 .db %01101100 .db %10000010 .db %10000010 lcdbusy: push af inc hl dec hl pop af ret Quit: set appAutoScroll,(iy+appflags) bcall(_getk) bjump(_JForceCmdNoChar) charmap: .db ",",".",";","/",0,0,0,0,27h,0 .db " ",0,"zxcvbnm",0,"asdfghjk" .db "qwertyui",0,"!","&","%","-","=","(",")",0,0,0,"p",0,"{","o","l" charmap2: .db "<",">",":","?",0,0,0,0,22h,0 .db " ",0,"ZXCVBNM",0,"ASDFGHJK" .db "QWERTYUI",0,"$","#","^","*","+","[","]",0,0,0,"P",0,"}","O","L" enterprognamemap: .db 0,"WRMH",0,0,0,0,"VQLG",0,0,0,"ZUPKFC",0 .db 0,"YTOJEB",0,0,"XSNIDA" progstring: .db "QWERTY Text",0 progstringend: opentxt: .db "Open",0 newtxt: .db "New",0 createnewtxt: .db "Create New ",0 enterprognametxt: .db "Enter Name:",0 QWERTYStr: .db "QWERTY Text",0 Editorstr: .db "Editor 1.0",0 AuthorStr: .db "By Evan Hoke",0 .end .end