| 1 |
1000 DEFINT A-Z:SCREEN0,,0:WIDTH 40:KEY OFF:COLOR 15,1,1:CLS:SZ=22368 |
| 2 |
1010 T$="Kanji/Hanja I/O Tests":V$="v3.1" |
| 3 |
1020 PRINT" "T$" "V$" " |
| 4 |
1030 PRINT |
| 5 |
1040 PRINT"Part A: Kanji I/O Tests" |
| 6 |
1050 PRINT" 1/9: Kanji Detection" |
| 7 |
1060 PRINT" 2/9: Interleaving A " |
| 8 |
1070 PRINT" 3/9: Interleaving B " |
| 9 |
1080 PRINT"Part B: Kanji I/O Tests" |
| 10 |
1090 PRINT" 4/9: Upper Bit Flips" |
| 11 |
1100 PRINT" 5/9: Lower Readbacks" |
| 12 |
1110 PRINT" 6/9: Read Port Flips" |
| 13 |
1120 PRINT"Part C: Hanja I/O Tests" |
| 14 |
1130 PRINT" 7/9: Hanja Detection" |
| 15 |
1140 PRINT" 8/9: Upper Bit Flips" |
| 16 |
1150 PRINT" 9/9: Port Rotations " |
| 17 |
1160 PRINT:MS=PEEK(&HFC4A)+PEEK(&HFC4B)*256-PEEK(&HFC48)-PEEK(&HFC49)*256 |
| 18 |
1170 PRINT"Compiler: ";:IFFRE(0)<16384 THEN PRINT"Skipped (low RAM)":GOTO 1260:ELSE IF MS<SZ THEN GOTO 1180 |
| 19 |
1171 ON ERROR GOTO 1172:GOTO 1173 |
| 20 |
1172 RESUME 1180 |
| 21 |
1173 BLOAD"BACONLDR.BIN",R:B=1:PRINT "Compiler: MSX-BACON (fastest!)":ON ERROR GOTO 0:GOTO 1260 |
| 22 |
1180 ON ERROR GOTO 1190:B=2:GOTO 1200 |
| 23 |
1190 RESUME NEXT |
| 24 |
1200 _BC |
| 25 |
1210 _TURBO ON |
| 26 |
1220 B=0 |
| 27 |
1230 _TURBO OFF |
| 28 |
1240 ON ERROR GOTO 0 |
| 29 |
1250 IF B=0 THEN PRINT"Missing (slower...)":ELSE PRINT "MSX BASIC-kun (faster!)" |
| 30 |
1260 PRINT "CPU Speed: ";:TIME=0:I=0 |
| 31 |
1270 IF TIME<5 THEN I=I+1:GOTO 1270:ELSE IF I>18 THEN PRINT"Fast":ELSE PRINT"Normal" |
| 32 |
1280 PRINT "Memory: ";:IF FRE(0)<8192 THEN PRINT"Insufficient (very low RAM)":STOP:ELSE PRINT"OK" |
| 33 |
1310 IF B=1 THEN LOCATE 0,23:PRINT"Please wait, loading parts A+B+C...";:RUN"cktst31.bcl" |
| 34 |
1330 LOCATE 0,23:PRINT"Please wait, loading part A...";:RUN"KTST31A.ASC" |