1 REM COPYRIGHT (C) EPSON AMERICA 1983 2 CLS:LOCATE2,2:PRINT"HX-20 DIAGNOSTIC":LOCATE6,3:PRINT"PROGRAMS":FORX=1TO1000:NEXTX:MEMSET&H2000:WIDTH20,4:CLEAR1000,0 3 B$="":CLS:PRINT"DIAGNOSTICS (1)":PRINT"MICRO CASSETTE (2)":PRINT"CASS (3) CX20 (4)":PRINT"KEYS (5) QUIT (6)";:INPUT"",B$ 4 IFB$="1"GOTO11 5 IFB$="2"GOTO53 6 IFB$="3"GOTO45 7 IFB$="4"GOTO113 8 IFB$="5"GOTO92 9 IFB$="6"GOTO112 10 B=VAL(B$):IFB<1ORB>5THEN3 11 CLS:PRINT"‡……………………………………………ˆ":PRINT"† HX-20 DIAG PROG †":PRINT"‰……………………………………………Š";:COPY:LPRINT 12 CLS:PRINT"BUZZER TEST":LPRINT"BUZZER TEST":FORX=1TO14:SOUNDX,10:NEXTX:LPRINT 13 CLS:PRINT" LCD TEST":LPRINT"LCD TEST":FORX=0TO31:LINE(0,X)-(119,X),PSET:NEXTX:COPY:LPRINT 14 CLS:PRINT"PRINTER TEST":LPRINT"PRINTER TEST":FORJ=33TO160:LPRINTCHR$(J);:NEXTJ:LPRINT:FORJ=0TO1:FORA=1TO24:LPRINTCHR$(140);:NEXTA:NEXTJ:FORJ=0TO1:FORA=1TO24:LPRINTCHR$(139);:NEXTA:NEXTJ 15 LPRINT:LPRINT 16 CLS:PRINT"RS-232C TEST":PRINT"NO1: BAUD RATE 4800":OPEN"O",#1,"COM0:(68N23)":OPEN"I",#2,"COM0:":PRINT#1,"PORT OK":INPUT#2,C$:PRINTC$:CLOSE1,2:COPY 17 CLS:PRINT"NO2: BAUD RATE 110":OPEN"O",#1,"COM0:(07N1A)":OPEN"I",#2,"COM0:":PRINT#1,"PORT OK":INPUT#2,C$:PRINTC$:CLOSE1,2:COPY:CLS 18 CLS:PRINT"COPY TEST":LPRINT"COPY TEST":PRINT"‡……………………………………………ˆ":PRINT"† C O P Y †":PRINT"‰……………………………………………Š":COPY:CLS 19 PRINT"RAM TEST":LPRINT"RAM TEST":RESTORE22:FORI=0TO523:READD$:A=VAL("&H"+D$):POKE&HB00+I,A:NEXTI:EXEC&H0B00:LPRINT 20 CLS:PRINT"DIP SWITCH CODE":LPRINT"DIP SWITCH CODE":RESTORE52:FORI=0TO40:READD$:A=VAL("&H"+D$):POKE&HB00+I,A:NEXTI:LPRINT"CODE= ";:EXEC&H0B00:LPRINT:PC=PEEK(&HB60):GOSUB58 21 LPRINT"I.C.S= "CHR$(35)CHR$(36)CHR$(64)CHR$(91)CHR$(92)CHR$(93)CHR$(94)CHR$(96)CHR$(123)CHR$(124)CHR$(125)CHR$(126):LPRINT 22 DATA BF,00,8F,8E,0D,46,0F,86,53,BD,FF,97,86,54,BD,FF,97,86,41,BD,FF,97,86,52,BD,FF,97,86,54,BD,FF,97,BD,0C,FF,CE,10,00,FF,0D 23 DATA 12,CE,20,00,FF,0D,10,BD,0C,27,CE,20,00,FF,0D,12,CE,30,00,FF,0D,10,CE,F0,00,FF,0D,0E,BD,0C,54,CE,20,00,FF,0D,12,CE,30,00 24 DATA FF,0D,10,BD,0C,27,CE,30,00,FF,0D,12,CE,40,00,FF,0D,10,CE,F0,00,FF,0D,0E,BD,0C,54,CE,30,00,FF,0D,12,CE,40,00,FF,0D,10,BD 25 DATA 0C,27,CE,20,00,FF,0D,12,CE,30,00,FF,0D,10,CE,10,00,FF,0D,0E,BD,0C,54,CE,10,00,FF,0D,12,CE,20,00,FF,0D,10,CE,10,00,FF,0D 26 DATA 0E,BD,0C,54,CE,01,00,FF,0D,12,CE,10,00,FF,0D,10,CE,10,00,FF,0D,0E,BD,0C,54,7E,1B,BC,8E,1D,46,CE,01,00,4F,A7,00,08,8C,10 27 DATA 00,26,F8,CE,01,00,A6,00,26,02,20,03,7E,1C,BB,43,A7,00,08,8C,10,00,26,EE,CE,01,00,A6,00,43,26,02,20,03,7E,1C,BB,A7 28 DATA 00,08,8C,10,00,26,EE,CE,11,00,3C,A6,00,36,FF,1D,0A,CC,F0,00,F3,1D,0A,FD,1D,0A,FE,1D,0A,32,A7,00,38,08,8C,20 29 DATA 00,26,E3,86,4F,BD,FF,97,86,4B,BD,FF,97,BD,0C,FF,0E,BE,00,8F,39,FE,0D,12,4F,A7,00,08,BC,0D,10,26,F8,FE,0D,12,A6,00,26,3B,43 30 DATA A7,00,08,BC,0D,10,26,F3,FE,0D,12,A6,00,43,26,2A,A7,00,08,BC,0D,10,26,F3,39,FE,0D,12,3C,A6,00,36,FF,0D,0A,FC,0D,0E,F3,0D 31 DATA 0A,FD,0D,0A,FE,0D,0A,32,A7,00,38,08,BC,0D,10,26,E3,39,BD,0C,F4,FF,0D,0A,FC,0D,0A,BD,0C,8B,17,BD,0C,8B,BD,0C,FF,7E,0C,E3,36,84,F0,44,44 32 DATA 44,44,81,09,23,02,8B,07,8B,30,BD,FF,97,32,84,0F,81,09,23,02,8B,07,8B,30,BD,FF,97,39,BD,0C,F4,FC,1D,0C,8D,D7,17,8D,D4,BD 33 DATA 0C,FF,39,FF,1D,0C,CE,11,00,3C,A6,00,36,FF,1D,0A,CC,F0,00,F3,1D,0A,FD,1D,0A,FE,1D,0A,32,A7,00,38,08,8C,20,00,26,E3,8D,CC,7E 34 DATA 1C,E3,86,4E,BD,FF,97,86,47,BD,FF,97,BD,0C,FF,0E,7E,E0,00,86,52,BD,FF,97,86,45,BD,FF,97,39,86,0D,BD,FF,97,86,0A,BD,FF,97,39,0D,0A,00 35 CLS:PRINT"SERIAL TEST":LPRINT"SERIAL TEST":RESTORE36:FORI=0TO222:READD$:A=VAL("&H"+D$):POKE&H0B00+I,A:NEXTI:EXEC&H0B00:LPRINT:GOTO3 36 DATA BF,00,8F,0F,8E,0C,43,86,01,BD,0B,70,BD,0B,70,BD,FF,73,BD,0B,70,BD,0B,70 37 DATA 96,03,84,FB,97,03,D6,11,C5,20,27,FA,86,53,97,13,D6,11,2A,FC,96,12,88,53 38 DATA 26,4D,86,10,C6,10,BD,FE,D4,96,02,84,40,BD,0B,D4,26,57,86,10,C6,10,BD,FE 39 DATA D4,BD,0B,70,96,02,84,40,27,47,86,45,BD,FF,97,86,4E,BD,FF,97,86,44,BD,FF 40 DATA 97,86,0D,BD,FF,97,86,0A,BD,FF,97,0E,BE,00,8F,39,3C,CE,00,00,08,8C,FF,F0 41 DATA 01,01,01,26,F7,38,39,BD,0B,D4,86,4E,BD,FF,97,86,31,BD,FF,97,86,0D,BD,FF 42 DATA 97,86,0A,BD,FF,97,7E,E0,00 43 DATA BD,0B,D4,86,4E,BD,FF,97,86,32,BD,FF,97,86,0D,BD,FF,97,86,0A,BD,FF,97,7E,E0,00,BD,0B,D4,86,53,BD,FF,97,86,50,BD 44 DATA FF,97,86,45,BD,FF,97,86,52,BD,FF,97,86,0D,BD,FF,97,86,0A,BD,FF,97,96,03,8A,04,97,03,4F,BD,FF,73,39 45 CLS:PRINT"PRESS RECORD ON THE CASSETTE RECORDER THEN PRESS RETURN":INPUTB$:MOTOR:FORX=1TO5000:NEXTX:MOTOR 46 ONERROR GOTO50:CLS: LPRINT"CASSETTE TEST START":PRINT"CASSETTE TEST WRITE":A$="CASSETTE OK":C$=A$:OPEN"O",#3,"CAS1:DATA":PRINT#3,A$:CLOSE 47 SOUND40,25:CLS:PRINT"CASSETTE TEST READ":PRINT"WIND TAPE AND PRESS PLAY BUTTON":OPEN"I",#3,"CAS1:DATA":INPUT#3,A$:CLOSE 48 IFC$<>A$GOTO50 49 PRINTA$:LPRINTA$:LPRINT:GOTO3 50 PRINT"CASSETTE ERROR":LPRINT"CASSETTE ERROR":LPRINT:GOTO3 51 GOTO3 52 DATA BF,0B,59,8E,0B,58,0F,FE,FF,D0,A6,09,84,0F,8B,40,B7,0B,60,BD,FF,97,BD,0B,1B,0E,BE,0B,59,39,86,0D,BD,,FF,97,86,0A,BD,FF,97,39 53 CLS:WIND:PRINT"MICRO CASSETTE TEST":LPRINT"MICRO CASSETTE TEST":A$="MICRO CASSETTE OK":OPEN"O",#3,"CAS0:DATA.BAS":PRINT#3,A$:CLOSE:C$=A$:A$="" 54 ONERRORGOTO57:CLS:WIND:PRINT"MICRO CASSETTE TEST READ":OPEN"I",#3,"CAS0:DATA.BAS":INPUT#3,A$:CLOSE 55 IFC$<>A$GOTO57 56 PRINTA$:LPRINTA$:LPRINT:GOTO3 57 PRINT"MICRO CASSETTE ERROR":LPRINT"MICRO CASSETTE ERROR":LPRINT:GOTO3 58 LPRINT"‡…‚…‚…‚…ˆ":LPRINT"†1†2†3†4†ON=1":LPRINT"„…€…€…€…ƒOFF=0" 59 IFPC=64THENGOSUB76 60 IFPC=65THENGOSUB77 61 IFPC=66THENGOSUB78 62 IFPC=67THENGOSUB79 63 IFPC=68THENGOSUB80 64 IFPC=69THENGOSUB81 65 IFPC=70THENGOSUB82 66 IFPC=71THENGOSUB83 67 IFPC=72THENGOSUB84 68 IFPC=73THENGOSUB85 69 IFPC=74THENGOSUB86 70 IFPC=75THENGOSUB87 71 IFPC=76THENGOSUB88 72 IFPC=77THENGOSUB89 73 IFPC=78THENGOSUB90 74 IFPC=79THENGOSUB91 75 LPRINT"‰…………Š":RETURN 76 LPRINT"†0†0†0†0†":RETURN 77 LPRINT"†1†0†0†0†":RETURN 78 LPRINT"†0†1†0†0†":RETURN 79 LPRINT"†1†1†0†0†":RETURN 80 LPRINT"†0†0†1†0†":RETURN 81 LPRINT"†1†0†1†0†":RETURN 82 LPRINT"†0†1†1†0†":RETURN 83 LPRINT"†1†1†1†0†":RETURN 84 LPRINT"†0†0†0†1†":RETURN 85 LPRINT"†1†0†0†1†":RETURN 86 LPRINT"†0†1†0†1†":RETURN 87 LPRINT"†1†1†0†1†":RETURN 88 LPRINT"†0†0†1†1†":RETURN 89 LPRINT"†1†0†1†1†":RETURN 90 LPRINT"†0†1†1†1†":RETURN 91 LPRINT"†1†1†1†1†":RETURN 92 CLS:PRINT"KEYBOARD TEST":LPRINT"KEYBOARD TEST":KEY1,CHR$(161):KEY2,CHR$(162):KEY3,CHR$(163):KEY4,CHR$(164):KEY5,CHR$(165):TYPE$="TσΔ Ώσ " 93 KKEYS$="1234567890-[]\QWERTYUIOP@ASDFGHJKL;:ZXCVBNM,./":X$="SHIFT+PAUSE":X=27:GOSUB102:X$="PF1":X=161:GOSUB102:X$="PF2":X=162:GOSUB102 94 X$="PF3":X=163:GOSUB102:X$="PF4":X=164:GOSUB102:X$="PF5":X=165:GOSUB102:X$="HOME/CLR":X=12:GOSUB102:X$="SCRN":X=16:GOSUB102 95 X$="DEL":X=8:GOSUB102:FORN=1TO14:GOSUB106:NEXTN:X$="TAB":X=9:GOSUB102 96 FORN=15 TO 25:GOSUB106:NEXTN:X$="LEFT ARROW":X=29:GOSUB102:X$="RIGHT ARROW":X=28:GOSUB102 97 FOR N = 26 TO 36:GOSUB106:NEXTN:X$="RETURN":X=13:GOSUB102 98 FOR N = 37 TO 46:GOSUB106:NEXTN:X$="SΔ± ±Δ":X=32:GOSUB102:X$="GRPH + L":X=159:GOSUB102:X$="CTRL + D":X=4:GOSUB102 99 X$="CAPS LOCK"+CHR$(13)+CHR$(10)+" ΓΕ A":X=97:GOSUB102:X$="NUM ΓΕ K":X=50:GOSUB102:CLS:PRINT"TσΔ Ώσ NUM ΓΕ A":PRINT"±Ε ΓΕ RETURN" 100 INPUTB$:IFB$<>"A"GOTO100:CLS 101 KEY1,"AUTO ":KEY2,"LIST"+CHR$(13):KEY3,"LLIST"+CHR$(13):KEY4,"STAT ":KEY5,"RUN"+CHR$(13):KEY6,"?DATE$:TIME$"+CHR$(3):KEY7,"LOAD ":KEY8,"SAVE ":KEY9,"TITLE ":KEY10,"LOGIN ":GOTO111 102 CLS:PRINTTYPE$;X$ 103 A$=INPUT$(1) 104 IFASC(A$)<>X THEN SOUND40,5:GOTO102 105 RETURN 106 ' 107 CLS:PRINTTYPE$;MID$(KKEYS$,N,1) 108 A$=INPUT$(1):IFA$=""GOTO108 109 IF A$<>MID$(KKEYS$,N,1)THEN SOUND40,5:GOTO107 110 RETURN 111 CLS:PRINT"KEYBOARD OK":LPRINT"KEYBOARD OK":LPRINT:GOTO3 112 END 113 ONERRORGOTO115 114 CLS:PRINT"CX-20 TEST":OPEN"O",#1,"COM0:(28N1B)":OPEN"I",#2,"COM0:":PRINT#1,"MODEM OK":INPUT#2,C$:PRINTC$:CLOSE1,2:COPY:CLS:GOTO3 115 CLOSE1,2:PRINT"MODEM ERROR":COPY:CLS:GOTO3 N"I",#2,"COM0:":PRINT#1,"MODEM O