10 'This program entered into the public domain on 11 February 1984
20 'by William van Riper.  It runs on the Osborne EXECUTIVE but may
30 'be altered to run on the Osborne 1.  Its use is intended to be
40 'instructional and is COPYRIGHTED as such.  Please respect this.
50 'Any bugs or fixes in this or the accompanying set of programs may
60 'be sent to me c/o MBINEX - 617-423-6985 - username VANRYPER.
61 '
62 '
69 'Makes a function to direct-cursor-address the screen:
70 DEF FNP$(X,Y)=CHR$(27)+"="+CHR$(Y+32)+CHR$(X+32)
80 WIDTH 255
90 PRINT CHR$(26)
95 '
100 PRINT FNP$(5,5);"*** FINDCHAR MENU ***"
110 PRINT FNP$(5,8);"1.	Look at one character at a time"
120 PRINT FNP$(5,10);"2.	Run through characters 0-255"
130 PRINT FNP$(5,12);"3.	Exit to MBASIC"
140 PRINT FNP$(5,16);"Please enter you selection: ";
150 X$=INKEY$:IF X$="" THEN 150
160 IF X$="1" THEN GOTO 340
170 IF X$="3" THEN WIDTH 80:PRINT CHR$(26):FILES:END
180 IF X$="2" THEN GOTO 190 ELSE GOTO 150
184 '
185 '
186 'this runs through the characters sequentially from 1-255
187 'note the bank-switching stuff which is needed on the EXEC - the OUT 0,65
188 'shadows in video memory in bank 7 - the OUT 0,1 shadows it out so the
189 'system won't hang!
190 PRINT CHR$(26)
200 PRINT CHR$(27)+CHR$(46)+CHR$(48):'this turns off the cursor
204 PRINT FNP$(5,12);"When poking directly to video memory,"
210 PRINT FNP$(15,22);"HIT ANY KEY TO CONTINUE, <ESC> FOR MENU...";
220 FOR I=0 TO 255
230 OUT 0,65
240 POKE 50984!,I
250 OUT 0,1
260 PRINT FNP$(29,14);I;FNP$(20,14);"ASCII: ";FNP$(35,14);"=";
265 IF I<32 THEN GOTO 270
266 PRINT FNP$(10,16);"BUT  PRINT CHR$(";I;") yields: ";:PRINT CHR$(I);
270 X$=INKEY$:IF X$="" THEN 270
280 IF ASC(X$)=27 THEN 320
290 NEXT I
300 PRINT FNP$(20,14);"                                             "
305 PRINT FNP$(10,16);"                                                  "
310 GOTO 220
320 PRINT CHR$(27)+CHR$(46)+CHR$(50):'this turns the cursor back on again...
330 GOTO 90
332 '
333 '
334 'this allows you to check on the character that will be written when
335 'you poke it to video memory - it's not always what you might think -
336 'this is because you have a choice of graphics and standard characters
337 'in both normal and reverse video
338 '
340 PRINT CHR$(26):PRINT:PRINT:PRINT:PRINT
350 PRINT FNP$(5,5);:INPUT "Enter ASCII value desired: ",X
360 PRINT FNP$(20,14);"                                    "
370 OUT 0,65
380 POKE 50984!,X
390 OUT 0,1
400 PRINT FNP$(19,12);"ASCII VALUE"
410 PRINT FNP$(36,12);"CHARACTER"
420 PRINT FNP$(22,14);X;
430 PRINT FNP$(5,22);"HIT ANY KEY TO CONTINUE, <ESC> FOR MENU....";
440 X$=INKEY$:IF X$="" THEN 440
450 PRINT FNP$(30,5);"            "
460 IF ASC(X$)=27 THEN GOTO 90
470 GOTO 350
480 END

440 X$=