Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape20a_acorn_eu_1991_march.wav » FuncKey

FuncKey

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Personal collection » Acorn tapes » Electron_User » Electron_User_tape20a_acorn_eu_1991_march.wav
Filename: FuncKey
Read OK:
File size: 1B7D bytes
Load address: FFFF1A00
Exec address: FFFF8023
Duplicates

There are 2 duplicate copies of this file in the archive:

File contents
   10REM Function Key Strip Generator
   20REM by Jason Smith
   30REM (c) The Micro User
   40MODE129
   50ON ERROR VDU4,26:CLS:PROCerr
   60VDU23;8202;0;0;0;
   70DIMfk$(6,9),fk2$(6,9)
   80VDU23,224,24,24,24,24,126,60,24,0,23,225,0,24,60,126,24,24,24,24
   90PROCmain
  100END
  110DEFPROCprint
  120CLS:PROCtitle
  130COLOUR2:PROCsing_hgt("PRINT KEY STRIP",-1,4)
  140COLOUR1:PROCsing_hgt("Do you wish to print? Y/N",-1,25)
  150get$=FNget_yn:IFget$="N"ENDPROC
  160prnt_buff%=ADVAL(-4)
  170VDU2:I%=0
  180REPEAT
  190I%=I%+1
  200VDU1,0
  210UNTIL I%=200 OR ADVAL(-4)<10
  220VDU3:TIME=0:REPEATUNTILTIME>10
  230IF ADVAL(-4)<>prnt_buff% COLOUR3:VDU7:PROCsing_hgt("Printer is not ready!",-1,29):PROCwait(250):CLS:ENDPROC
  240COLOUR0:VDU28,0,1,1,0
  250FORb=1 TO 6 STEP 2:FORa=0 TO 9
  260c=b+1:fk2$(b,a)=fk$(b,a):fk2$(c,a)=fk$(c,a)
  270fk2$(b,a)=" "+fk2$(b,a)+STRING$(13-LENfk2$(b,a)," ")
  280fk2$(c,a)=" "+fk2$(c,a)+STRING$(13-LENfk2$(c,a)," ")
  290NEXT:NEXT
  300sup_off$=CHR$1+CHR$27+CHR$1+CHR$84
  310sup_on$=CHR$1+CHR$27+CHR$1+CHR$83+CHR$1+CHR$48
  320cond$=CHR$1+CHR$15
  330elite$=CHR$1+CHR$27+CHR$1+CHR$77
  340lne_spc$=CHR$1+CHR$27+CHR$1+CHR$51+CHR$1+CHR$17
  350VDU2:PRINTsup_on$;elite$;cond$;lne_spc$
  360line2$=STRING$(14,"-")+"+":line$="+"+STRING$(8,"-")+"+"+STRING$(10,line2$)
  370PRINTline$
  380PRINT"|";SPC1;sup_off$;"CTRL";sup_on$;SPC3;"|";fk2$(1,0);"|";fk2$(1,1);"|";fk2$(1,2);"|";fk2$(1,3);"|";fk2$(1,4);"|";fk2$(1,5);"|";fk2$(1,6);"|";fk2$(1,7);"|";fk2$(1,8);"|";fk2$(1,9);"|"
  390PRINT"|";SPC8;"|";fk2$(2,0);"|";fk2$(2,1);"|";fk2$(2,2);"|";fk2$(2,3);"|";fk2$(2,4);"|";fk2$(2,5);"|";fk2$(2,6);"|";fk2$(2,7);"|";fk2$(2,8);"|";fk2$(2,9);"|"
  400PRINTline$
  410PRINT"|";SPC1;sup_off$;"SHIFT";sup_on$;SPC2;"|";fk2$(3,0);"|";fk2$(3,1);"|";fk2$(3,2);"|";fk2$(3,3);"|";fk2$(3,4);"|";fk2$(3,5);"|";fk2$(3,6);"|";fk2$(3,7);"|";fk2$(3,8);"|";fk2$(3,9);"|"
  420PRINT"|";SPC8;"|";fk2$(4,0);"|";fk2$(4,1);"|";fk2$(4,2);"|";fk2$(4,3);"|";fk2$(4,4);"|";fk2$(4,5);"|";fk2$(4,6);"|";fk2$(4,7);"|";fk2$(4,8);"|";fk2$(4,9);"|"
  430PRINTline$
  440PRINT"|";SPC8;"|";fk2$(5,0);"|";fk2$(5,1);"|";fk2$(5,2);"|";fk2$(5,3);"|";fk2$(5,4);"|";fk2$(5,5);"|";fk2$(5,6);"|";fk2$(5,7);"|";fk2$(5,8);"|";fk2$(5,9);"|"
  450PRINT"|";SPC8;"|";fk2$(6,0);"|";fk2$(6,1);"|";fk2$(6,2);"|";fk2$(6,3);"|";fk2$(6,4);"|";fk2$(6,5);"|";fk2$(6,6);"|";fk2$(6,7);"|";fk2$(6,8);"|";fk2$(6,9);"|"
  460PRINTline$
  470VDU3,26
  480ENDPROC
  490DEFPROCsing_hgt(text$,X,Y):VDU4
  500IFX=-1 X=(40-LENtext$)/2
  510PRINTTAB(X,Y);text$:ENDPROC
  520DEFPROCd_hgt_undln(text$,X,Y)
  530IFX=-1 X=(40-LENtext$)/2
  540A%=10:X%=&70:Y%=0
  550VDU31,X,Y
  560FORchar%=1 TO LEN text$
  570?&70=ASCMID$(text$,char%)
  580CALL&FFF1
  590VDU23,255,?&71,?&71,?&72,?&72,?&73,?&73,?&74,?&74,255,8,10,23,255,?&75,?&75,?&76,?&76,?&77,?&77,?&78,?&78,255,11
  600NEXT
  610VDU23,255,0,255,0,0,0,0,0,0
  620PRINTTAB(X,Y+2);STRING$(LENtext$,CHR$255):ENDPROC
  630DEFPROCd_hgt(text$,X,Y)
  640MOVEX,Y
  650A%=10:X%=&70:Y%=0
  660FORchar%=1 TO LEN text$
  670?&70=ASCMID$(text$,char%)
  680CALL&FFF1
  690VDU23,255,?&71,?&71,?&72,?&72,?&73,?&73,?&74,?&74,255,8,10,23,255,?&75,?&75,?&76,?&76,?&77,?&77,?&78,?&78,255,11:NEXT:ENDPROC
  700DEFPROCmain
  710PROCmenu
  720REPEAT
  730choice$=GET$
  740IFchoice$="1" PROCalter_strip(0):PROCmenu
  750IFchoice$="2" PROCprint:PROCmenu
  760IFchoice$="3" PROCload:PROCmenu
  770IFchoice$="4" PROCsave:PROCmenu
  780IFchoice$="5" PROCexit:PROCmenu
  790IFchoice$="6" PROCclear_mem:PROCmenu
  800IFchoice$="*" PROCos_command:PROCmenu
  810UNTIL0
  820ENDPROC
  830DEFPROCmenu
  840PROCoscli("FX11,0"):CLS:PROCtitle:COLOUR2
  850ypos=7:RESTORE2330
  860REPEAT
  870READkey$,text$
  880IFkey$<>"END" PROCsing_hgt("("+key$+") "+text$,10,ypos):ypos=ypos+3
  890UNTILkey$="END":ENDPROC
  900DEFPROCalter_strip(f_key)
  910CLS:PROCtitle
  920VDU19,1,2;0;19,2,6;0;
  930GCOL0,1:MOVE283,730:DRAW996,730:DRAW996,385:DRAW283,385:DRAW283,730:MOVE996,615:DRAW283,615:MOVE283,500:DRAW996,500:MOVE545,730:DRAW545,385
  940GCOL0,1:VDU5
  950PROCd_hgt("CTRL",320,707):PROCd_hgt("SHIFT",320,590)
  960PROCdisplay_strip(f_key)
  970REPEAT
  980VDU4,28,0,31,39,22:CLS
  990COLOUR3:PROCsing_hgt("Select box: (1) CTRL",9,0)
 1000PROCsing_hgt("(2) SHIFT",21,2)
 1010PROCsing_hgt("(3) BLANK",21,4)
 1020PROCsing_hgt("(4) EXIT",21,6)
 1030PROCsing_hgt("Use "+CHR$224+CHR$225+" to move through entries",-1,8)
 1040REPEAT
 1050PROCoscli("FX4,1")
 1060get$=GET$
 1070IFASCget$<>138 AND ASCget$<>139 GOTO1130
 1080IFASCget$=138 AND f_key>0 f_key=f_key-1:GOTO1120
 1090IFASCget$=138 AND f_key=0 f_key=9:GOTO1120
 1100IFASCget$=139 AND f_key<9 f_key=f_key+1:GOTO1120
 1110IFASCget$=139 AND f_key=9 f_key=0
 1120PROCdisplay_strip(f_key):GOTO1140
 1130IFVALget$<1 OR VALget$>4 PROCsound ELSEbx=VALget$
 1140UNTILVALget$>=1 AND VALget$<=4
 1150IFbx=4 GOTO1270
 1160VDU4,28,0,31,39,22:CLS
 1170IFbx=1 b$="CTRL":lne_no=1 ELSEIFbx=2 b$="SHIFT":lne_no=3 ELSEIFbx=3 b$="BLANK":lne_no=5
 1180PROCsing_hgt(b$,-1,1)
 1190PRINTTAB(10,3);"Line 1: "
 1200PROCgt(18,3,12)
 1210fk$(lne_no,f_key)=get$
 1220PRINTTAB(10,5);"Line 2: "
 1230PROCgt(18,5,12)
 1240fk$(lne_no+1,f_key)=get$
 1250PROCclear_box(bx)
 1260PROCwrite_in_box(bx)
 1270UNTILbx=4:VDU4,26:PROCoscli("FX4"):ENDPROC
 1280DEFPROCclear_box(box)
 1290GCOL0,128
 1300VDU24,556;(707-((box-1)*115))-80;990;717-((box-1)*115);
 1310CLG:VDU24,0;0;1279;1023;:ENDPROC
 1320DEFPROCwrite_in_box(box):box_pos=((box-1)*2)+1
 1330MOVE576,707-((box-1)*115)
 1340VDU5:GCOL0,2:PRINT;fk$(box_pos,f_key)
 1350MOVE576,707-((box-1)*115)-42
 1360PRINT;fk$(box_pos+1,f_key):ENDPROC
 1370DEFPROCgt(x,y,ln)
 1380PROCoscli("FX11,50")
 1390VDU31,x,y:get$=""
 1400VDU23,254,0,0,0,0,0,0,255,255
 1410REPEAT:PRINTTAB(x,y);get$;CHR$254
 1420G=GET
 1430IFLENget$=ln AND (G<>13 AND G<>127) GOTO1420
 1440IFG=13 PRINTTAB(x,y);get$;" "
 1450IFG=127 get$=LEFT$(get$,LENget$-1):PRINTTAB(x,y);get$;CHR$254;" "
 1460IFG>31 AND G<127 get$=get$+CHR$G:PRINTTAB(x,y);get$;CHR$254
 1470UNTILG=13:PROCoscli("FX11,0"):ENDPROC
 1480DEFPROCsave
 1490CLS:PROCtitle
 1500COLOUR2:PROCsing_hgt("SAVE KEY STRIP",-1,4)
 1510COLOUR3:PROCsing_hgt("Filename: ",9,15)
 1520PROCgt(19,15,10):filename$=get$
 1530COLOUR1:PROCsing_hgt("Save current key strip? Y/N",-1,19)
 1540get$=FNget_yn:IFget$="N"ENDPROC
 1550qq=OPENOUTfilename$
 1560COLOUR2:PROCsing_hgt("Saving",-1,23)
 1570FORa=0 TO 9:FORb=1 TO 6:PRINT#qq,fk$(b,a):NEXT:NEXT
 1580CLOSE#qq
 1590COLOUR2:PROCsing_hgt("Saving Complete",-1,23):PROCwait(250):ENDPROC
 1600DEFPROCload
 1610CLS:PROCtitle
 1620COLOUR2:PROCsing_hgt("LOAD KEY STRIP",-1,4)
 1630COLOUR3:PROCsing_hgt("Filename: ",10,15)
 1640PROCgt(20,15,10):filename$=get$
 1650COLOUR1:PROCsing_hgt("Load this key strip? Y/N",-1,19)
 1660get$=FNget_yn:IFget$="N"ENDPROC
 1670qq=OPENINfilename$
 1680COLOUR2:PROCsing_hgt("Loading",-1,23)
 1690FORa=0 TO 9:FORb=1 TO 6:INPUT#qq,fk$(b,a):NEXT:NEXT
 1700CLOSE#qq
 1710COLOUR2:PROCsing_hgt("Loading Complete",-1,23):PROCwait(250):ENDPROC
 1720DEFPROCtitle
 1730VDU19,1,1;0;19,2,3;0;19,3,7;0;
 1740COLOUR3:GCOL0,3
 1750PROCd_hgt_undln("Function Key Strip Generator",-1,0):ENDPROC
 1760DEFPROCwait(delay)
 1770time=TIME
 1780REPEAT UNTIL TIME-time>=delay
 1790ENDPROC
 1800DEFPROCsound
 1810SOUND1,-15,4,2
 1820SOUND1,0,0,0
 1830ENDPROC
 1840DEFPROCoscli($&700)
 1850Y%=&700 DIV256
 1860X%=&700 MOD256
 1870CALL&FFF7
 1880ENDPROC
 1890DEFPROCexit
 1900CLS:PROCtitle
 1910COLOUR2:PROCsing_hgt("EXIT PROGRAM",-1,4)
 1920COLOUR3:PROCsing_hgt("Are you sure? Y/N",-1,16)
 1930get$=FNget_yn:IFget$="N"ENDPROC ELSECLS:PROCd_hgt_undln("Goodbye!",-1,13):END
 1940DEFFNget_yn
 1950REPEAT
 1960get$=GET$:CAP$=CHR$(ASCget$ AND &DF)
 1970IFCAP$<>"Y" AND CAP$<>"N" PROCsound
 1980UNTILCAP$="Y" OR CAP$="N"
 1990=CAP$
 2000DEFPROCdisplay_strip(f_key)
 2010VDU4,26
 2020COLOUR3:PROCd_hgt_undln("f"+STR$f_key,-1,4)
 2030VDU28,0,31,39,22
 2040FORa=1 TO 3:PROCclear_box(a):NEXT
 2050GCOL0,2:VDU5
 2060FORa=1 TO 3:PROCwrite_in_box(a):NEXT
 2070ENDPROC
 2080DEFPROCos_command
 2090CLS:PROCtitle
 2100COLOUR2:PROCsing_hgt("ENTER STAR COMMAND",-1,4)
 2110COLOUR3:PROCsing_hgt("Press SHIFT to scroll the screen",-1,6):VDU28,0,26,39,8,14:INPUTTAB(0,0)"*"command$
 2120PRINT:PROCoscli(command$)
 2130VDU26,15:COLOUR1:PROCsing_hgt("Press SPACE BAR to continue...",-1,28)
 2140REPEATUNTILGET=32
 2150ENDPROC
 2160DEFPROCerr
 2170VDU4,26:COLOUR2:PROCd_hgt_undln("ERROR",-1,0):COLOUR3
 2180PRINT:REPORT:PRINT" at line ";ERL'
 2190COLOUR1:PROCsing_hgt("Press SPACE BAR to contine",-1,28)
 2200PROCsing_hgt("or ESCAPE to end",-1,30)
 2210PROCoscli("FX229,1")
 2220REPEAT:get$=GET$:UNTILget$=CHR$32 ORget$=CHR$27
 2230PROCoscli("FX229"):PROCoscli("FX12"):COLOUR3
 2240IFget$=CHR$27 END ELSEPROCmain
 2250ENDPROC
 2260DEFPROCclear_mem
 2270CLS:PROCtitle
 2280COLOUR2:PROCsing_hgt("CLEAR MEMORY",-1,4)
 2290COLOUR3:PROCsing_hgt("Are you sure? Y/N",-1,15)
 2300get$=FNget_yn:IFget$="N" ENDPROC
 2310FORb=1TO6:FORa=0TO9:fk$(b,a)="":NEXT:NEXT
 2320ENDPROC
 2330DATA 1,Enter key details,2,Print key strip,3,Load key strip,4,Save key strip,5,Exit program,6,Clear memory,*,Star Command,END,END

"� Function Key Strip Generator
� by Jason Smith
� (c) The Micro User
(�129
2� � �4,26:�:�err
<�23;8202;0;0;0;
F�fk$(6,9),fk2$(6,9)
PB�23,224,24,24,24,24,126,60,24,0,23,225,0,24,60,126,24,24,24,24
Z	�main
d�
n��print
x�:�title
�(�2:�sing_hgt("PRINT KEY STRIP",-1,4)
�3�1:�sing_hgt("Do you wish to print? Y/N",-1,25)
�get$=�get_yn:�get$="N"�
�prnt_buff%=�(-4)
��2:I%=0
��
�I%=I%+1
��1,0
�� I%=200 � �(-4)<10
��3:�=0:���>10
�U� �(-4)<>prnt_buff% �3:�7:�sing_hgt("Printer is not ready!",-1,29):�wait(250):�:�
��0:�28,0,1,1,0
��b=1 � 6 � 2:�a=0 � 9
/c=b+1:fk2$(b,a)=fk$(b,a):fk2$(c,a)=fk$(c,a)
/fk2$(b,a)=" "+fk2$(b,a)+�13-�fk2$(b,a)," ")
/fk2$(c,a)=" "+fk2$(c,a)+�13-�fk2$(c,a)," ")
"�:�
,sup_off$=�1+�27+�1+�84
6 sup_on$=�1+�27+�1+�83+�1+�48
@cond$=�1+�15
Jelite$=�1+�27+�1+�77
T!lne_spc$=�1+�27+�1+�51+�1+�17
^%�2:�sup_on$;elite$;cond$;lne_spc$
h9line2$=�14,"-")+"+":line$="+"+�8,"-")+"+"+�10,line2$)
r
�line$
|��"|";�1;sup_off$;"CTRL";sup_on$;�3;"|";fk2$(1,0);"|";fk2$(1,1);"|";fk2$(1,2);"|";fk2$(1,3);"|";fk2$(1,4);"|";fk2$(1,5);"|";fk2$(1,6);"|";fk2$(1,7);"|";fk2$(1,8);"|";fk2$(1,9);"|"
���"|";�8;"|";fk2$(2,0);"|";fk2$(2,1);"|";fk2$(2,2);"|";fk2$(2,3);"|";fk2$(2,4);"|";fk2$(2,5);"|";fk2$(2,6);"|";fk2$(2,7);"|";fk2$(2,8);"|";fk2$(2,9);"|"
�
�line$
���"|";�1;sup_off$;"SHIFT";sup_on$;�2;"|";fk2$(3,0);"|";fk2$(3,1);"|";fk2$(3,2);"|";fk2$(3,3);"|";fk2$(3,4);"|";fk2$(3,5);"|";fk2$(3,6);"|";fk2$(3,7);"|";fk2$(3,8);"|";fk2$(3,9);"|"
���"|";�8;"|";fk2$(4,0);"|";fk2$(4,1);"|";fk2$(4,2);"|";fk2$(4,3);"|";fk2$(4,4);"|";fk2$(4,5);"|";fk2$(4,6);"|";fk2$(4,7);"|";fk2$(4,8);"|";fk2$(4,9);"|"
�
�line$
���"|";�8;"|";fk2$(5,0);"|";fk2$(5,1);"|";fk2$(5,2);"|";fk2$(5,3);"|";fk2$(5,4);"|";fk2$(5,5);"|";fk2$(5,6);"|";fk2$(5,7);"|";fk2$(5,8);"|";fk2$(5,9);"|"
›�"|";�8;"|";fk2$(6,0);"|";fk2$(6,1);"|";fk2$(6,2);"|";fk2$(6,3);"|";fk2$(6,4);"|";fk2$(6,5);"|";fk2$(6,6);"|";fk2$(6,7);"|";fk2$(6,8);"|";fk2$(6,9);"|"
�
�line$
�	�3,26
��
���sing_hgt(text$,X,Y):�4
��X=-1 X=(40-�text$)/2
��X,Y);text$:�
��d_hgt_undln(text$,X,Y)
�X=-1 X=(40-�text$)/2
A%=10:X%=&70:Y%=0
&�31,X,Y
0�char%=1 � � text$
:?&70=��text$,char%)
D
�&FFF1
Nr�23,255,?&71,?&71,?&72,?&72,?&73,?&73,?&74,?&74,255,8,10,23,255,?&75,?&75,?&76,?&76,?&77,?&77,?&78,?&78,255,11
X�
b�23,255,0,255,0,0,0,0,0,0
l�X,Y+2);ĩtext$,�255):�
v��d_hgt(text$,X,Y)
��X,Y
�A%=10:X%=&70:Y%=0
��char%=1 � � text$
�?&70=��text$,char%)
�
�&FFF1
�v�23,255,?&71,?&71,?&72,?&72,?&73,?&73,?&74,?&74,255,8,10,23,255,?&75,?&75,?&76,?&76,?&77,?&77,?&78,?&78,255,11:�:�
�
��main
�	�menu
��
�
choice$=�
�&�choice$="1" �alter_strip(0):�menu
��choice$="2" �print:�menu
��choice$="3" �load:�menu
�choice$="4" �save:�menu
�choice$="5" �exit:�menu
!�choice$="6" �clear_mem:�menu
 "�choice$="*" �os_command:�menu
*�0
4�
>
��menu
H �oscli("FX11,0"):�:�title:�2
Rypos=7:��TZI
\�
f�key$,text$
pC�key$<>"END" �sing_hgt("("+key$+") "+text$,10,ypos):ypos=ypos+3
z�key$="END":�
���alter_strip(f_key)
��:�title
��19,1,2;0;19,2,6;0;
�k�0,1:�283,730:�996,730:�996,385:�283,385:�283,730:�996,615:�283,615:�283,500:�996,500:�545,730:�545,385
��0,1:�5
�2�d_hgt("CTRL",320,707):�d_hgt("SHIFT",320,590)
��display_strip(f_key)
��
��4,28,0,31,39,22:�
�,�3:�sing_hgt("Select box: (1) CTRL",9,0)
��sing_hgt("(2) SHIFT",21,2)
��sing_hgt("(3) BLANK",21,4)
��sing_hgt("(4) EXIT",21,6)
?�sing_hgt("Use "+�224+�225+" to move through entries",-1,8)
�
�oscli("FX4,1")
$
get$=�
."�get$<>138 � �get$<>139 �DjD
8,�get$=138 � f_key>0 f_key=f_key-1:�D`D
B&�get$=138 � f_key=0 f_key=9:�D`D
L,�get$=139 � f_key<9 f_key=f_key+1:�D`D
V �get$=139 � f_key=9 f_key=0
`�display_strip(f_key):�DtD
j'�get$<1 � �get$>4 �sound �bx=�get$
t��get$>=1 � �get$<=4
~�bx=4 �dvD
��4,28,0,31,39,22:�
�R�bx=1 b$="CTRL":lne_no=1 ��bx=2 b$="SHIFT":lne_no=3 ��bx=3 b$="BLANK":lne_no=5
��sing_hgt(b$,-1,1)
��10,3);"Line 1: "
��gt(18,3,12)
�fk$(lne_no,f_key)=get$
��10,5);"Line 2: "
��gt(18,5,12)
�fk$(lne_no+1,f_key)=get$
��clear_box(bx)
��write_in_box(bx)
��bx=4:�4,26:�oscli("FX4"):�
��clear_box(box)


�0,128
9�24,556;(707-((box-1)*115))-80;990;717-((box-1)*115);
�:�24,0;0;1279;1023;:�
(-��write_in_box(box):box_pos=((box-1)*2)+1
2�576,707-((box-1)*115)
< �5:�0,2:�;fk$(box_pos,f_key)
F�576,707-((box-1)*115)-42
P�;fk$(box_pos+1,f_key):�
Z��gt(x,y,ln)
d�oscli("FX11,50")
n�31,x,y:get$=""
x�23,254,0,0,0,0,0,0,255,255
��:�x,y);get$;�254
�G=�
�&�get$=ln � (G<>13 � G<>127) �tLE
��G=13 �x,y);get$;" "
�3�G=127 get$=�get$,�get$-1):�x,y);get$;�254;" "
�/�G>31 � G<127 get$=get$+�G:�x,y);get$;�254
��G=13:�oscli("FX11,0"):�
�
��save
��:�title
�'�2:�sing_hgt("SAVE KEY STRIP",-1,4)
�#�3:�sing_hgt("Filename: ",9,15)
� �gt(19,15,10):filename$=get$
�5�1:�sing_hgt("Save current key strip? Y/N",-1,19)
get$=�get_yn:�get$="N"�
qq=�filename$
 �2:�sing_hgt("Saving",-1,23)
"'�a=0 � 9:�b=1 � 6:�#qq,fk$(b,a):�:�
,�#qq
66�2:�sing_hgt("Saving Complete",-1,23):�wait(250):�
@
��load
J�:�title
T'�2:�sing_hgt("LOAD KEY STRIP",-1,4)
^$�3:�sing_hgt("Filename: ",10,15)
h �gt(20,15,10):filename$=get$
r2�1:�sing_hgt("Load this key strip? Y/N",-1,19)
|get$=�get_yn:�get$="N"�
�qq=�filename$
�!�2:�sing_hgt("Loading",-1,23)
�'�a=0 � 9:�b=1 � 6:�#qq,fk$(b,a):�:�
��#qq
�7�2:�sing_hgt("Loading Complete",-1,23):�wait(250):�
���title
� �19,1,1;0;19,2,3;0;19,3,7;0;
��3:�0,3
�7�d_hgt_undln("Function Key Strip Generator",-1,0):�
���wait(delay)
�
time=�
�� � �-time>=delay
��
��sound
�1,-15,4,2
�1,0,0,0
&�
0��oscli($&700)
:Y%=&700 �256
DX%=&700 �256
N
�&FFF7
X�
b
��exit
l�:�title
v%�2:�sing_hgt("EXIT PROGRAM",-1,4)
�+�3:�sing_hgt("Are you sure? Y/N",-1,16)
�?get$=�get_yn:�get$="N"� ��:�d_hgt_undln("Goodbye!",-1,13):�
�ݤget_yn
��
�get$=�:CAP$=�(�get$ � &DF)
�!�CAP$<>"Y" � CAP$<>"N" �sound
��CAP$="Y" � CAP$="N"
�	=CAP$
���display_strip(f_key)
�	�4,26
�$�3:�d_hgt_undln("f"+�f_key,-1,4)
��28,0,31,39,22
��a=1 � 3:�clear_box(a):�
�0,2:�5
�a=1 � 3:�write_in_box(a):�
�
 ��os_command
*�:�title
4+�2:�sing_hgt("ENTER STAR COMMAND",-1,4)
>\�3:�sing_hgt("Press SHIFT to scroll the screen",-1,6):�28,0,26,39,8,14:�0,0)"*"command$
H�:�oscli(command$)
R?�26,15:�1:�sing_hgt("Press SPACE BAR to continue...",-1,28)
\
���=32
f�
p	��err
z*�4,26:�2:�d_hgt_undln("ERROR",-1,0):�3
��:�:�" at line ";�'
�4�1:�sing_hgt("Press SPACE BAR to contine",-1,28)
�'�sing_hgt("or ESCAPE to end",-1,30)
��oscli("FX229,1")
� �:get$=�:�get$=�32 �get$=�27
�%�oscli("FX229"):�oscli("FX12"):�3
��get$=�27 � ��main
��
���clear_mem
��:�title
�%�2:�sing_hgt("CLEAR MEMORY",-1,4)
�+�3:�sing_hgt("Are you sure? Y/N",-1,15)
�get$=�get_yn:�get$="N" �
	!�b=1�6:�a=0�9:fk$(b,a)="":�:�
	�
	�� 1,Enter key details,2,Print key strip,3,Load key strip,4,Save key strip,5,Exit program,6,Clear memory,*,Star Command,END,END
�
00000000  0d 00 0a 22 f4 20 46 75  6e 63 74 69 6f 6e 20 4b  |...". Function K|
00000010  65 79 20 53 74 72 69 70  20 47 65 6e 65 72 61 74  |ey Strip Generat|
00000020  6f 72 0d 00 14 14 f4 20  62 79 20 4a 61 73 6f 6e  |or..... by Jason|
00000030  20 53 6d 69 74 68 0d 00  1e 18 f4 20 28 63 29 20  | Smith..... (c) |
00000040  54 68 65 20 4d 69 63 72  6f 20 55 73 65 72 0d 00  |The Micro User..|
00000050  28 08 eb 31 32 39 0d 00  32 14 ee 20 85 20 ef 34  |(..129..2.. . .4|
00000060  2c 32 36 3a db 3a f2 65  72 72 0d 00 3c 13 ef 32  |,26:.:.err..<..2|
00000070  33 3b 38 32 30 32 3b 30  3b 30 3b 30 3b 0d 00 46  |3;8202;0;0;0;..F|
00000080  17 de 66 6b 24 28 36 2c  39 29 2c 66 6b 32 24 28  |..fk$(6,9),fk2$(|
00000090  36 2c 39 29 0d 00 50 42  ef 32 33 2c 32 32 34 2c  |6,9)..PB.23,224,|
000000a0  32 34 2c 32 34 2c 32 34  2c 32 34 2c 31 32 36 2c  |24,24,24,24,126,|
000000b0  36 30 2c 32 34 2c 30 2c  32 33 2c 32 32 35 2c 30  |60,24,0,23,225,0|
000000c0  2c 32 34 2c 36 30 2c 31  32 36 2c 32 34 2c 32 34  |,24,60,126,24,24|
000000d0  2c 32 34 2c 32 34 0d 00  5a 09 f2 6d 61 69 6e 0d  |,24,24..Z..main.|
000000e0  00 64 05 e0 0d 00 6e 0b  dd f2 70 72 69 6e 74 0d  |.d....n...print.|
000000f0  00 78 0c db 3a f2 74 69  74 6c 65 0d 00 82 28 fb  |.x..:.title...(.|
00000100  32 3a f2 73 69 6e 67 5f  68 67 74 28 22 50 52 49  |2:.sing_hgt("PRI|
00000110  4e 54 20 4b 45 59 20 53  54 52 49 50 22 2c 2d 31  |NT KEY STRIP",-1|
00000120  2c 34 29 0d 00 8c 33 fb  31 3a f2 73 69 6e 67 5f  |,4)...3.1:.sing_|
00000130  68 67 74 28 22 44 6f 20  79 6f 75 20 77 69 73 68  |hgt("Do you wish|
00000140  20 74 6f 20 70 72 69 6e  74 3f 20 59 2f 4e 22 2c  | to print? Y/N",|
00000150  2d 31 2c 32 35 29 0d 00  96 1b 67 65 74 24 3d a4  |-1,25)....get$=.|
00000160  67 65 74 5f 79 6e 3a e7  67 65 74 24 3d 22 4e 22  |get_yn:.get$="N"|
00000170  e1 0d 00 a0 14 70 72 6e  74 5f 62 75 66 66 25 3d  |.....prnt_buff%=|
00000180  96 28 2d 34 29 0d 00 aa  0b ef 32 3a 49 25 3d 30  |.(-4).....2:I%=0|
00000190  0d 00 b4 05 f5 0d 00 be  0b 49 25 3d 49 25 2b 31  |.........I%=I%+1|
000001a0  0d 00 c8 08 ef 31 2c 30  0d 00 d2 17 fd 20 49 25  |.....1,0..... I%|
000001b0  3d 32 30 30 20 84 20 96  28 2d 34 29 3c 31 30 0d  |=200 . .(-4)<10.|
000001c0  00 dc 11 ef 33 3a d1 3d  30 3a f5 fd 91 3e 31 30  |....3:.=0:...>10|
000001d0  0d 00 e6 55 e7 20 96 28  2d 34 29 3c 3e 70 72 6e  |...U. .(-4)<>prn|
000001e0  74 5f 62 75 66 66 25 20  fb 33 3a ef 37 3a f2 73  |t_buff% .3:.7:.s|
000001f0  69 6e 67 5f 68 67 74 28  22 50 72 69 6e 74 65 72  |ing_hgt("Printer|
00000200  20 69 73 20 6e 6f 74 20  72 65 61 64 79 21 22 2c  | is not ready!",|
00000210  2d 31 2c 32 39 29 3a f2  77 61 69 74 28 32 35 30  |-1,29):.wait(250|
00000220  29 3a db 3a e1 0d 00 f0  12 fb 30 3a ef 32 38 2c  |):.:......0:.28,|
00000230  30 2c 31 2c 31 2c 30 0d  00 fa 19 e3 62 3d 31 20  |0,1,1,0.....b=1 |
00000240  b8 20 36 20 88 20 32 3a  e3 61 3d 30 20 b8 20 39  |. 6 . 2:.a=0 . 9|
00000250  0d 01 04 2f 63 3d 62 2b  31 3a 66 6b 32 24 28 62  |.../c=b+1:fk2$(b|
00000260  2c 61 29 3d 66 6b 24 28  62 2c 61 29 3a 66 6b 32  |,a)=fk$(b,a):fk2|
00000270  24 28 63 2c 61 29 3d 66  6b 24 28 63 2c 61 29 0d  |$(c,a)=fk$(c,a).|
00000280  01 0e 2f 66 6b 32 24 28  62 2c 61 29 3d 22 20 22  |../fk2$(b,a)=" "|
00000290  2b 66 6b 32 24 28 62 2c  61 29 2b c4 31 33 2d a9  |+fk2$(b,a)+.13-.|
000002a0  66 6b 32 24 28 62 2c 61  29 2c 22 20 22 29 0d 01  |fk2$(b,a)," ")..|
000002b0  18 2f 66 6b 32 24 28 63  2c 61 29 3d 22 20 22 2b  |./fk2$(c,a)=" "+|
000002c0  66 6b 32 24 28 63 2c 61  29 2b c4 31 33 2d a9 66  |fk2$(c,a)+.13-.f|
000002d0  6b 32 24 28 63 2c 61 29  2c 22 20 22 29 0d 01 22  |k2$(c,a)," ").."|
000002e0  07 ed 3a ed 0d 01 2c 1a  73 75 70 5f 6f 66 66 24  |..:...,.sup_off$|
000002f0  3d bd 31 2b bd 32 37 2b  bd 31 2b bd 38 34 0d 01  |=.1+.27+.1+.84..|
00000300  36 20 73 75 70 5f 6f 6e  24 3d bd 31 2b bd 32 37  |6 sup_on$=.1+.27|
00000310  2b bd 31 2b bd 38 33 2b  bd 31 2b bd 34 38 0d 01  |+.1+.83+.1+.48..|
00000320  40 10 63 6f 6e 64 24 3d  bd 31 2b bd 31 35 0d 01  |@.cond$=.1+.15..|
00000330  4a 18 65 6c 69 74 65 24  3d bd 31 2b bd 32 37 2b  |J.elite$=.1+.27+|
00000340  bd 31 2b bd 37 37 0d 01  54 21 6c 6e 65 5f 73 70  |.1+.77..T!lne_sp|
00000350  63 24 3d bd 31 2b bd 32  37 2b bd 31 2b bd 35 31  |c$=.1+.27+.1+.51|
00000360  2b bd 31 2b bd 31 37 0d  01 5e 25 ef 32 3a f1 73  |+.1+.17..^%.2:.s|
00000370  75 70 5f 6f 6e 24 3b 65  6c 69 74 65 24 3b 63 6f  |up_on$;elite$;co|
00000380  6e 64 24 3b 6c 6e 65 5f  73 70 63 24 0d 01 68 39  |nd$;lne_spc$..h9|
00000390  6c 69 6e 65 32 24 3d c4  31 34 2c 22 2d 22 29 2b  |line2$=.14,"-")+|
000003a0  22 2b 22 3a 6c 69 6e 65  24 3d 22 2b 22 2b c4 38  |"+":line$="+"+.8|
000003b0  2c 22 2d 22 29 2b 22 2b  22 2b c4 31 30 2c 6c 69  |,"-")+"+"+.10,li|
000003c0  6e 65 32 24 29 0d 01 72  0a f1 6c 69 6e 65 24 0d  |ne2$)..r..line$.|
000003d0  01 7c b6 f1 22 7c 22 3b  89 31 3b 73 75 70 5f 6f  |.|.."|";.1;sup_o|
000003e0  66 66 24 3b 22 43 54 52  4c 22 3b 73 75 70 5f 6f  |ff$;"CTRL";sup_o|
000003f0  6e 24 3b 89 33 3b 22 7c  22 3b 66 6b 32 24 28 31  |n$;.3;"|";fk2$(1|
00000400  2c 30 29 3b 22 7c 22 3b  66 6b 32 24 28 31 2c 31  |,0);"|";fk2$(1,1|
00000410  29 3b 22 7c 22 3b 66 6b  32 24 28 31 2c 32 29 3b  |);"|";fk2$(1,2);|
00000420  22 7c 22 3b 66 6b 32 24  28 31 2c 33 29 3b 22 7c  |"|";fk2$(1,3);"||
00000430  22 3b 66 6b 32 24 28 31  2c 34 29 3b 22 7c 22 3b  |";fk2$(1,4);"|";|
00000440  66 6b 32 24 28 31 2c 35  29 3b 22 7c 22 3b 66 6b  |fk2$(1,5);"|";fk|
00000450  32 24 28 31 2c 36 29 3b  22 7c 22 3b 66 6b 32 24  |2$(1,6);"|";fk2$|
00000460  28 31 2c 37 29 3b 22 7c  22 3b 66 6b 32 24 28 31  |(1,7);"|";fk2$(1|
00000470  2c 38 29 3b 22 7c 22 3b  66 6b 32 24 28 31 2c 39  |,8);"|";fk2$(1,9|
00000480  29 3b 22 7c 22 0d 01 86  9b f1 22 7c 22 3b 89 38  |);"|"....."|";.8|
00000490  3b 22 7c 22 3b 66 6b 32  24 28 32 2c 30 29 3b 22  |;"|";fk2$(2,0);"|
000004a0  7c 22 3b 66 6b 32 24 28  32 2c 31 29 3b 22 7c 22  ||";fk2$(2,1);"|"|
000004b0  3b 66 6b 32 24 28 32 2c  32 29 3b 22 7c 22 3b 66  |;fk2$(2,2);"|";f|
000004c0  6b 32 24 28 32 2c 33 29  3b 22 7c 22 3b 66 6b 32  |k2$(2,3);"|";fk2|
000004d0  24 28 32 2c 34 29 3b 22  7c 22 3b 66 6b 32 24 28  |$(2,4);"|";fk2$(|
000004e0  32 2c 35 29 3b 22 7c 22  3b 66 6b 32 24 28 32 2c  |2,5);"|";fk2$(2,|
000004f0  36 29 3b 22 7c 22 3b 66  6b 32 24 28 32 2c 37 29  |6);"|";fk2$(2,7)|
00000500  3b 22 7c 22 3b 66 6b 32  24 28 32 2c 38 29 3b 22  |;"|";fk2$(2,8);"|
00000510  7c 22 3b 66 6b 32 24 28  32 2c 39 29 3b 22 7c 22  ||";fk2$(2,9);"|"|
00000520  0d 01 90 0a f1 6c 69 6e  65 24 0d 01 9a b7 f1 22  |.....line$....."|
00000530  7c 22 3b 89 31 3b 73 75  70 5f 6f 66 66 24 3b 22  ||";.1;sup_off$;"|
00000540  53 48 49 46 54 22 3b 73  75 70 5f 6f 6e 24 3b 89  |SHIFT";sup_on$;.|
00000550  32 3b 22 7c 22 3b 66 6b  32 24 28 33 2c 30 29 3b  |2;"|";fk2$(3,0);|
00000560  22 7c 22 3b 66 6b 32 24  28 33 2c 31 29 3b 22 7c  |"|";fk2$(3,1);"||
00000570  22 3b 66 6b 32 24 28 33  2c 32 29 3b 22 7c 22 3b  |";fk2$(3,2);"|";|
00000580  66 6b 32 24 28 33 2c 33  29 3b 22 7c 22 3b 66 6b  |fk2$(3,3);"|";fk|
00000590  32 24 28 33 2c 34 29 3b  22 7c 22 3b 66 6b 32 24  |2$(3,4);"|";fk2$|
000005a0  28 33 2c 35 29 3b 22 7c  22 3b 66 6b 32 24 28 33  |(3,5);"|";fk2$(3|
000005b0  2c 36 29 3b 22 7c 22 3b  66 6b 32 24 28 33 2c 37  |,6);"|";fk2$(3,7|
000005c0  29 3b 22 7c 22 3b 66 6b  32 24 28 33 2c 38 29 3b  |);"|";fk2$(3,8);|
000005d0  22 7c 22 3b 66 6b 32 24  28 33 2c 39 29 3b 22 7c  |"|";fk2$(3,9);"||
000005e0  22 0d 01 a4 9b f1 22 7c  22 3b 89 38 3b 22 7c 22  |"....."|";.8;"|"|
000005f0  3b 66 6b 32 24 28 34 2c  30 29 3b 22 7c 22 3b 66  |;fk2$(4,0);"|";f|
00000600  6b 32 24 28 34 2c 31 29  3b 22 7c 22 3b 66 6b 32  |k2$(4,1);"|";fk2|
00000610  24 28 34 2c 32 29 3b 22  7c 22 3b 66 6b 32 24 28  |$(4,2);"|";fk2$(|
00000620  34 2c 33 29 3b 22 7c 22  3b 66 6b 32 24 28 34 2c  |4,3);"|";fk2$(4,|
00000630  34 29 3b 22 7c 22 3b 66  6b 32 24 28 34 2c 35 29  |4);"|";fk2$(4,5)|
00000640  3b 22 7c 22 3b 66 6b 32  24 28 34 2c 36 29 3b 22  |;"|";fk2$(4,6);"|
00000650  7c 22 3b 66 6b 32 24 28  34 2c 37 29 3b 22 7c 22  ||";fk2$(4,7);"|"|
00000660  3b 66 6b 32 24 28 34 2c  38 29 3b 22 7c 22 3b 66  |;fk2$(4,8);"|";f|
00000670  6b 32 24 28 34 2c 39 29  3b 22 7c 22 0d 01 ae 0a  |k2$(4,9);"|"....|
00000680  f1 6c 69 6e 65 24 0d 01  b8 9b f1 22 7c 22 3b 89  |.line$....."|";.|
00000690  38 3b 22 7c 22 3b 66 6b  32 24 28 35 2c 30 29 3b  |8;"|";fk2$(5,0);|
000006a0  22 7c 22 3b 66 6b 32 24  28 35 2c 31 29 3b 22 7c  |"|";fk2$(5,1);"||
000006b0  22 3b 66 6b 32 24 28 35  2c 32 29 3b 22 7c 22 3b  |";fk2$(5,2);"|";|
000006c0  66 6b 32 24 28 35 2c 33  29 3b 22 7c 22 3b 66 6b  |fk2$(5,3);"|";fk|
000006d0  32 24 28 35 2c 34 29 3b  22 7c 22 3b 66 6b 32 24  |2$(5,4);"|";fk2$|
000006e0  28 35 2c 35 29 3b 22 7c  22 3b 66 6b 32 24 28 35  |(5,5);"|";fk2$(5|
000006f0  2c 36 29 3b 22 7c 22 3b  66 6b 32 24 28 35 2c 37  |,6);"|";fk2$(5,7|
00000700  29 3b 22 7c 22 3b 66 6b  32 24 28 35 2c 38 29 3b  |);"|";fk2$(5,8);|
00000710  22 7c 22 3b 66 6b 32 24  28 35 2c 39 29 3b 22 7c  |"|";fk2$(5,9);"||
00000720  22 0d 01 c2 9b f1 22 7c  22 3b 89 38 3b 22 7c 22  |"....."|";.8;"|"|
00000730  3b 66 6b 32 24 28 36 2c  30 29 3b 22 7c 22 3b 66  |;fk2$(6,0);"|";f|
00000740  6b 32 24 28 36 2c 31 29  3b 22 7c 22 3b 66 6b 32  |k2$(6,1);"|";fk2|
00000750  24 28 36 2c 32 29 3b 22  7c 22 3b 66 6b 32 24 28  |$(6,2);"|";fk2$(|
00000760  36 2c 33 29 3b 22 7c 22  3b 66 6b 32 24 28 36 2c  |6,3);"|";fk2$(6,|
00000770  34 29 3b 22 7c 22 3b 66  6b 32 24 28 36 2c 35 29  |4);"|";fk2$(6,5)|
00000780  3b 22 7c 22 3b 66 6b 32  24 28 36 2c 36 29 3b 22  |;"|";fk2$(6,6);"|
00000790  7c 22 3b 66 6b 32 24 28  36 2c 37 29 3b 22 7c 22  ||";fk2$(6,7);"|"|
000007a0  3b 66 6b 32 24 28 36 2c  38 29 3b 22 7c 22 3b 66  |;fk2$(6,8);"|";f|
000007b0  6b 32 24 28 36 2c 39 29  3b 22 7c 22 0d 01 cc 0a  |k2$(6,9);"|"....|
000007c0  f1 6c 69 6e 65 24 0d 01  d6 09 ef 33 2c 32 36 0d  |.line$.....3,26.|
000007d0  01 e0 05 e1 0d 01 ea 1c  dd f2 73 69 6e 67 5f 68  |..........sing_h|
000007e0  67 74 28 74 65 78 74 24  2c 58 2c 59 29 3a ef 34  |gt(text$,X,Y):.4|
000007f0  0d 01 f4 19 e7 58 3d 2d  31 20 58 3d 28 34 30 2d  |.....X=-1 X=(40-|
00000800  a9 74 65 78 74 24 29 2f  32 0d 01 fe 12 f1 8a 58  |.text$)/2......X|
00000810  2c 59 29 3b 74 65 78 74  24 3a e1 0d 02 08 1c dd  |,Y);text$:......|
00000820  f2 64 5f 68 67 74 5f 75  6e 64 6c 6e 28 74 65 78  |.d_hgt_undln(tex|
00000830  74 24 2c 58 2c 59 29 0d  02 12 19 e7 58 3d 2d 31  |t$,X,Y).....X=-1|
00000840  20 58 3d 28 34 30 2d a9  74 65 78 74 24 29 2f 32  | X=(40-.text$)/2|
00000850  0d 02 1c 15 41 25 3d 31  30 3a 58 25 3d 26 37 30  |....A%=10:X%=&70|
00000860  3a 59 25 3d 30 0d 02 26  0b ef 33 31 2c 58 2c 59  |:Y%=0..&..31,X,Y|
00000870  0d 02 30 16 e3 63 68 61  72 25 3d 31 20 b8 20 a9  |..0..char%=1 . .|
00000880  20 74 65 78 74 24 0d 02  3a 17 3f 26 37 30 3d 97  | text$..:.?&70=.|
00000890  c1 74 65 78 74 24 2c 63  68 61 72 25 29 0d 02 44  |.text$,char%)..D|
000008a0  0a d6 26 46 46 46 31 0d  02 4e 72 ef 32 33 2c 32  |..&FFF1..Nr.23,2|
000008b0  35 35 2c 3f 26 37 31 2c  3f 26 37 31 2c 3f 26 37  |55,?&71,?&71,?&7|
000008c0  32 2c 3f 26 37 32 2c 3f  26 37 33 2c 3f 26 37 33  |2,?&72,?&73,?&73|
000008d0  2c 3f 26 37 34 2c 3f 26  37 34 2c 32 35 35 2c 38  |,?&74,?&74,255,8|
000008e0  2c 31 30 2c 32 33 2c 32  35 35 2c 3f 26 37 35 2c  |,10,23,255,?&75,|
000008f0  3f 26 37 35 2c 3f 26 37  36 2c 3f 26 37 36 2c 3f  |?&75,?&76,?&76,?|
00000900  26 37 37 2c 3f 26 37 37  2c 3f 26 37 38 2c 3f 26  |&77,?&77,?&78,?&|
00000910  37 38 2c 32 35 35 2c 31  31 0d 02 58 05 ed 0d 02  |78,255,11..X....|
00000920  62 1d ef 32 33 2c 32 35  35 2c 30 2c 32 35 35 2c  |b..23,255,0,255,|
00000930  30 2c 30 2c 30 2c 30 2c  30 2c 30 0d 02 6c 1c f1  |0,0,0,0,0,0..l..|
00000940  8a 58 2c 59 2b 32 29 3b  c4 a9 74 65 78 74 24 2c  |.X,Y+2);..text$,|
00000950  bd 32 35 35 29 3a e1 0d  02 76 16 dd f2 64 5f 68  |.255):...v...d_h|
00000960  67 74 28 74 65 78 74 24  2c 58 2c 59 29 0d 02 80  |gt(text$,X,Y)...|
00000970  08 ec 58 2c 59 0d 02 8a  15 41 25 3d 31 30 3a 58  |..X,Y....A%=10:X|
00000980  25 3d 26 37 30 3a 59 25  3d 30 0d 02 94 16 e3 63  |%=&70:Y%=0.....c|
00000990  68 61 72 25 3d 31 20 b8  20 a9 20 74 65 78 74 24  |har%=1 . . text$|
000009a0  0d 02 9e 17 3f 26 37 30  3d 97 c1 74 65 78 74 24  |....?&70=..text$|
000009b0  2c 63 68 61 72 25 29 0d  02 a8 0a d6 26 46 46 46  |,char%).....&FFF|
000009c0  31 0d 02 b2 76 ef 32 33  2c 32 35 35 2c 3f 26 37  |1...v.23,255,?&7|
000009d0  31 2c 3f 26 37 31 2c 3f  26 37 32 2c 3f 26 37 32  |1,?&71,?&72,?&72|
000009e0  2c 3f 26 37 33 2c 3f 26  37 33 2c 3f 26 37 34 2c  |,?&73,?&73,?&74,|
000009f0  3f 26 37 34 2c 32 35 35  2c 38 2c 31 30 2c 32 33  |?&74,255,8,10,23|
00000a00  2c 32 35 35 2c 3f 26 37  35 2c 3f 26 37 35 2c 3f  |,255,?&75,?&75,?|
00000a10  26 37 36 2c 3f 26 37 36  2c 3f 26 37 37 2c 3f 26  |&76,?&76,?&77,?&|
00000a20  37 37 2c 3f 26 37 38 2c  3f 26 37 38 2c 32 35 35  |77,?&78,?&78,255|
00000a30  2c 31 31 3a ed 3a e1 0d  02 bc 0a dd f2 6d 61 69  |,11:.:.......mai|
00000a40  6e 0d 02 c6 09 f2 6d 65  6e 75 0d 02 d0 05 f5 0d  |n.....menu......|
00000a50  02 da 0d 63 68 6f 69 63  65 24 3d be 0d 02 e4 26  |...choice$=....&|
00000a60  e7 63 68 6f 69 63 65 24  3d 22 31 22 20 f2 61 6c  |.choice$="1" .al|
00000a70  74 65 72 5f 73 74 72 69  70 28 30 29 3a f2 6d 65  |ter_strip(0):.me|
00000a80  6e 75 0d 02 ee 1d e7 63  68 6f 69 63 65 24 3d 22  |nu.....choice$="|
00000a90  32 22 20 f2 70 72 69 6e  74 3a f2 6d 65 6e 75 0d  |2" .print:.menu.|
00000aa0  02 f8 1c e7 63 68 6f 69  63 65 24 3d 22 33 22 20  |....choice$="3" |
00000ab0  f2 6c 6f 61 64 3a f2 6d  65 6e 75 0d 03 02 1c e7  |.load:.menu.....|
00000ac0  63 68 6f 69 63 65 24 3d  22 34 22 20 f2 73 61 76  |choice$="4" .sav|
00000ad0  65 3a f2 6d 65 6e 75 0d  03 0c 1c e7 63 68 6f 69  |e:.menu.....choi|
00000ae0  63 65 24 3d 22 35 22 20  f2 65 78 69 74 3a f2 6d  |ce$="5" .exit:.m|
00000af0  65 6e 75 0d 03 16 21 e7  63 68 6f 69 63 65 24 3d  |enu...!.choice$=|
00000b00  22 36 22 20 f2 63 6c 65  61 72 5f 6d 65 6d 3a f2  |"6" .clear_mem:.|
00000b10  6d 65 6e 75 0d 03 20 22  e7 63 68 6f 69 63 65 24  |menu.. ".choice$|
00000b20  3d 22 2a 22 20 f2 6f 73  5f 63 6f 6d 6d 61 6e 64  |="*" .os_command|
00000b30  3a f2 6d 65 6e 75 0d 03  2a 06 fd 30 0d 03 34 05  |:.menu..*..0..4.|
00000b40  e1 0d 03 3e 0a dd f2 6d  65 6e 75 0d 03 48 20 f2  |...>...menu..H .|
00000b50  6f 73 63 6c 69 28 22 46  58 31 31 2c 30 22 29 3a  |oscli("FX11,0"):|
00000b60  db 3a f2 74 69 74 6c 65  3a fb 32 0d 03 52 10 79  |.:.title:.2..R.y|
00000b70  70 6f 73 3d 37 3a f7 8d  54 5a 49 0d 03 5c 05 f5  |pos=7:..TZI..\..|
00000b80  0d 03 66 0f f3 6b 65 79  24 2c 74 65 78 74 24 0d  |..f..key$,text$.|
00000b90  03 70 43 e7 6b 65 79 24  3c 3e 22 45 4e 44 22 20  |.pC.key$<>"END" |
00000ba0  f2 73 69 6e 67 5f 68 67  74 28 22 28 22 2b 6b 65  |.sing_hgt("("+ke|
00000bb0  79 24 2b 22 29 20 22 2b  74 65 78 74 24 2c 31 30  |y$+") "+text$,10|
00000bc0  2c 79 70 6f 73 29 3a 79  70 6f 73 3d 79 70 6f 73  |,ypos):ypos=ypos|
00000bd0  2b 33 0d 03 7a 11 fd 6b  65 79 24 3d 22 45 4e 44  |+3..z..key$="END|
00000be0  22 3a e1 0d 03 84 18 dd  f2 61 6c 74 65 72 5f 73  |":.......alter_s|
00000bf0  74 72 69 70 28 66 5f 6b  65 79 29 0d 03 8e 0c db  |trip(f_key).....|
00000c00  3a f2 74 69 74 6c 65 0d  03 98 17 ef 31 39 2c 31  |:.title.....19,1|
00000c10  2c 32 3b 30 3b 31 39 2c  32 2c 36 3b 30 3b 0d 03  |,2;0;19,2,6;0;..|
00000c20  a2 6b e6 30 2c 31 3a ec  32 38 33 2c 37 33 30 3a  |.k.0,1:.283,730:|
00000c30  df 39 39 36 2c 37 33 30  3a df 39 39 36 2c 33 38  |.996,730:.996,38|
00000c40  35 3a df 32 38 33 2c 33  38 35 3a df 32 38 33 2c  |5:.283,385:.283,|
00000c50  37 33 30 3a ec 39 39 36  2c 36 31 35 3a df 32 38  |730:.996,615:.28|
00000c60  33 2c 36 31 35 3a ec 32  38 33 2c 35 30 30 3a df  |3,615:.283,500:.|
00000c70  39 39 36 2c 35 30 30 3a  ec 35 34 35 2c 37 33 30  |996,500:.545,730|
00000c80  3a df 35 34 35 2c 33 38  35 0d 03 ac 0b e6 30 2c  |:.545,385.....0,|
00000c90  31 3a ef 35 0d 03 b6 32  f2 64 5f 68 67 74 28 22  |1:.5...2.d_hgt("|
00000ca0  43 54 52 4c 22 2c 33 32  30 2c 37 30 37 29 3a f2  |CTRL",320,707):.|
00000cb0  64 5f 68 67 74 28 22 53  48 49 46 54 22 2c 33 32  |d_hgt("SHIFT",32|
00000cc0  30 2c 35 39 30 29 0d 03  c0 19 f2 64 69 73 70 6c  |0,590).....displ|
00000cd0  61 79 5f 73 74 72 69 70  28 66 5f 6b 65 79 29 0d  |ay_strip(f_key).|
00000ce0  03 ca 05 f5 0d 03 d4 16  ef 34 2c 32 38 2c 30 2c  |.........4,28,0,|
00000cf0  33 31 2c 33 39 2c 32 32  3a db 0d 03 de 2c fb 33  |31,39,22:....,.3|
00000d00  3a f2 73 69 6e 67 5f 68  67 74 28 22 53 65 6c 65  |:.sing_hgt("Sele|
00000d10  63 74 20 62 6f 78 3a 20  28 31 29 20 43 54 52 4c  |ct box: (1) CTRL|
00000d20  22 2c 39 2c 30 29 0d 03  e8 1f f2 73 69 6e 67 5f  |",9,0).....sing_|
00000d30  68 67 74 28 22 28 32 29  20 53 48 49 46 54 22 2c  |hgt("(2) SHIFT",|
00000d40  32 31 2c 32 29 0d 03 f2  1f f2 73 69 6e 67 5f 68  |21,2).....sing_h|
00000d50  67 74 28 22 28 33 29 20  42 4c 41 4e 4b 22 2c 32  |gt("(3) BLANK",2|
00000d60  31 2c 34 29 0d 03 fc 1e  f2 73 69 6e 67 5f 68 67  |1,4).....sing_hg|
00000d70  74 28 22 28 34 29 20 45  58 49 54 22 2c 32 31 2c  |t("(4) EXIT",21,|
00000d80  36 29 0d 04 06 3f f2 73  69 6e 67 5f 68 67 74 28  |6)...?.sing_hgt(|
00000d90  22 55 73 65 20 22 2b bd  32 32 34 2b bd 32 32 35  |"Use "+.224+.225|
00000da0  2b 22 20 74 6f 20 6d 6f  76 65 20 74 68 72 6f 75  |+" to move throu|
00000db0  67 68 20 65 6e 74 72 69  65 73 22 2c 2d 31 2c 38  |gh entries",-1,8|
00000dc0  29 0d 04 10 05 f5 0d 04  1a 13 f2 6f 73 63 6c 69  |)..........oscli|
00000dd0  28 22 46 58 34 2c 31 22  29 0d 04 24 0a 67 65 74  |("FX4,1")..$.get|
00000de0  24 3d be 0d 04 2e 22 e7  97 67 65 74 24 3c 3e 31  |$=...."..get$<>1|
00000df0  33 38 20 80 20 97 67 65  74 24 3c 3e 31 33 39 20  |38 . .get$<>139 |
00000e00  e5 8d 44 6a 44 0d 04 38  2c e7 97 67 65 74 24 3d  |..DjD..8,..get$=|
00000e10  31 33 38 20 80 20 66 5f  6b 65 79 3e 30 20 66 5f  |138 . f_key>0 f_|
00000e20  6b 65 79 3d 66 5f 6b 65  79 2d 31 3a e5 8d 44 60  |key=f_key-1:..D`|
00000e30  44 0d 04 42 26 e7 97 67  65 74 24 3d 31 33 38 20  |D..B&..get$=138 |
00000e40  80 20 66 5f 6b 65 79 3d  30 20 66 5f 6b 65 79 3d  |. f_key=0 f_key=|
00000e50  39 3a e5 8d 44 60 44 0d  04 4c 2c e7 97 67 65 74  |9:..D`D..L,..get|
00000e60  24 3d 31 33 39 20 80 20  66 5f 6b 65 79 3c 39 20  |$=139 . f_key<9 |
00000e70  66 5f 6b 65 79 3d 66 5f  6b 65 79 2b 31 3a e5 8d  |f_key=f_key+1:..|
00000e80  44 60 44 0d 04 56 20 e7  97 67 65 74 24 3d 31 33  |D`D..V ..get$=13|
00000e90  39 20 80 20 66 5f 6b 65  79 3d 39 20 66 5f 6b 65  |9 . f_key=9 f_ke|
00000ea0  79 3d 30 0d 04 60 1f f2  64 69 73 70 6c 61 79 5f  |y=0..`..display_|
00000eb0  73 74 72 69 70 28 66 5f  6b 65 79 29 3a e5 8d 44  |strip(f_key):..D|
00000ec0  74 44 0d 04 6a 27 e7 bb  67 65 74 24 3c 31 20 84  |tD..j'..get$<1 .|
00000ed0  20 bb 67 65 74 24 3e 34  20 f2 73 6f 75 6e 64 20  | .get$>4 .sound |
00000ee0  8b 62 78 3d bb 67 65 74  24 0d 04 74 18 fd bb 67  |.bx=.get$..t...g|
00000ef0  65 74 24 3e 3d 31 20 80  20 bb 67 65 74 24 3c 3d  |et$>=1 . .get$<=|
00000f00  34 0d 04 7e 0f e7 62 78  3d 34 20 e5 8d 64 76 44  |4..~..bx=4 ..dvD|
00000f10  0d 04 88 16 ef 34 2c 32  38 2c 30 2c 33 31 2c 33  |.....4,28,0,31,3|
00000f20  39 2c 32 32 3a db 0d 04  92 52 e7 62 78 3d 31 20  |9,22:....R.bx=1 |
00000f30  62 24 3d 22 43 54 52 4c  22 3a 6c 6e 65 5f 6e 6f  |b$="CTRL":lne_no|
00000f40  3d 31 20 8b e7 62 78 3d  32 20 62 24 3d 22 53 48  |=1 ..bx=2 b$="SH|
00000f50  49 46 54 22 3a 6c 6e 65  5f 6e 6f 3d 33 20 8b e7  |IFT":lne_no=3 ..|
00000f60  62 78 3d 33 20 62 24 3d  22 42 4c 41 4e 4b 22 3a  |bx=3 b$="BLANK":|
00000f70  6c 6e 65 5f 6e 6f 3d 35  0d 04 9c 16 f2 73 69 6e  |lne_no=5.....sin|
00000f80  67 5f 68 67 74 28 62 24  2c 2d 31 2c 31 29 0d 04  |g_hgt(b$,-1,1)..|
00000f90  a6 16 f1 8a 31 30 2c 33  29 3b 22 4c 69 6e 65 20  |....10,3);"Line |
00000fa0  31 3a 20 22 0d 04 b0 10  f2 67 74 28 31 38 2c 33  |1: ".....gt(18,3|
00000fb0  2c 31 32 29 0d 04 ba 1a  66 6b 24 28 6c 6e 65 5f  |,12)....fk$(lne_|
00000fc0  6e 6f 2c 66 5f 6b 65 79  29 3d 67 65 74 24 0d 04  |no,f_key)=get$..|
00000fd0  c4 16 f1 8a 31 30 2c 35  29 3b 22 4c 69 6e 65 20  |....10,5);"Line |
00000fe0  32 3a 20 22 0d 04 ce 10  f2 67 74 28 31 38 2c 35  |2: ".....gt(18,5|
00000ff0  2c 31 32 29 0d 04 d8 1c  66 6b 24 28 6c 6e 65 5f  |,12)....fk$(lne_|
00001000  6e 6f 2b 31 2c 66 5f 6b  65 79 29 3d 67 65 74 24  |no+1,f_key)=get$|
00001010  0d 04 e2 12 f2 63 6c 65  61 72 5f 62 6f 78 28 62  |.....clear_box(b|
00001020  78 29 0d 04 ec 15 f2 77  72 69 74 65 5f 69 6e 5f  |x).....write_in_|
00001030  62 6f 78 28 62 78 29 0d  04 f6 1f fd 62 78 3d 34  |box(bx).....bx=4|
00001040  3a ef 34 2c 32 36 3a f2  6f 73 63 6c 69 28 22 46  |:.4,26:.oscli("F|
00001050  58 34 22 29 3a e1 0d 05  00 14 dd f2 63 6c 65 61  |X4"):.......clea|
00001060  72 5f 62 6f 78 28 62 6f  78 29 0d 05 0a 0a e6 30  |r_box(box).....0|
00001070  2c 31 32 38 0d 05 14 39  ef 32 34 2c 35 35 36 3b  |,128...9.24,556;|
00001080  28 37 30 37 2d 28 28 62  6f 78 2d 31 29 2a 31 31  |(707-((box-1)*11|
00001090  35 29 29 2d 38 30 3b 39  39 30 3b 37 31 37 2d 28  |5))-80;990;717-(|
000010a0  28 62 6f 78 2d 31 29 2a  31 31 35 29 3b 0d 05 1e  |(box-1)*115);...|
000010b0  1a da 3a ef 32 34 2c 30  3b 30 3b 31 32 37 39 3b  |..:.24,0;0;1279;|
000010c0  31 30 32 33 3b 3a e1 0d  05 28 2d dd f2 77 72 69  |1023;:...(-..wri|
000010d0  74 65 5f 69 6e 5f 62 6f  78 28 62 6f 78 29 3a 62  |te_in_box(box):b|
000010e0  6f 78 5f 70 6f 73 3d 28  28 62 6f 78 2d 31 29 2a  |ox_pos=((box-1)*|
000010f0  32 29 2b 31 0d 05 32 1a  ec 35 37 36 2c 37 30 37  |2)+1..2..576,707|
00001100  2d 28 28 62 6f 78 2d 31  29 2a 31 31 35 29 0d 05  |-((box-1)*115)..|
00001110  3c 20 ef 35 3a e6 30 2c  32 3a f1 3b 66 6b 24 28  |< .5:.0,2:.;fk$(|
00001120  62 6f 78 5f 70 6f 73 2c  66 5f 6b 65 79 29 0d 05  |box_pos,f_key)..|
00001130  46 1d ec 35 37 36 2c 37  30 37 2d 28 28 62 6f 78  |F..576,707-((box|
00001140  2d 31 29 2a 31 31 35 29  2d 34 32 0d 05 50 1c f1  |-1)*115)-42..P..|
00001150  3b 66 6b 24 28 62 6f 78  5f 70 6f 73 2b 31 2c 66  |;fk$(box_pos+1,f|
00001160  5f 6b 65 79 29 3a e1 0d  05 5a 10 dd f2 67 74 28  |_key):...Z...gt(|
00001170  78 2c 79 2c 6c 6e 29 0d  05 64 15 f2 6f 73 63 6c  |x,y,ln)..d..oscl|
00001180  69 28 22 46 58 31 31 2c  35 30 22 29 0d 05 6e 13  |i("FX11,50")..n.|
00001190  ef 33 31 2c 78 2c 79 3a  67 65 74 24 3d 22 22 0d  |.31,x,y:get$="".|
000011a0  05 78 1f ef 32 33 2c 32  35 34 2c 30 2c 30 2c 30  |.x..23,254,0,0,0|
000011b0  2c 30 2c 30 2c 30 2c 32  35 35 2c 32 35 35 0d 05  |,0,0,0,255,255..|
000011c0  82 16 f5 3a f1 8a 78 2c  79 29 3b 67 65 74 24 3b  |...:..x,y);get$;|
000011d0  bd 32 35 34 0d 05 8c 07  47 3d a5 0d 05 96 26 e7  |.254....G=....&.|
000011e0  a9 67 65 74 24 3d 6c 6e  20 80 20 28 47 3c 3e 31  |.get$=ln . (G<>1|
000011f0  33 20 80 20 47 3c 3e 31  32 37 29 20 e5 8d 74 4c  |3 . G<>127) ..tL|
00001200  45 0d 05 a0 19 e7 47 3d  31 33 20 f1 8a 78 2c 79  |E.....G=13 ..x,y|
00001210  29 3b 67 65 74 24 3b 22  20 22 0d 05 aa 33 e7 47  |);get$;" "...3.G|
00001220  3d 31 32 37 20 67 65 74  24 3d c0 67 65 74 24 2c  |=127 get$=.get$,|
00001230  a9 67 65 74 24 2d 31 29  3a f1 8a 78 2c 79 29 3b  |.get$-1):..x,y);|
00001240  67 65 74 24 3b bd 32 35  34 3b 22 20 22 0d 05 b4  |get$;.254;" "...|
00001250  2f e7 47 3e 33 31 20 80  20 47 3c 31 32 37 20 67  |/.G>31 . G<127 g|
00001260  65 74 24 3d 67 65 74 24  2b bd 47 3a f1 8a 78 2c  |et$=get$+.G:..x,|
00001270  79 29 3b 67 65 74 24 3b  bd 32 35 34 0d 05 be 1c  |y);get$;.254....|
00001280  fd 47 3d 31 33 3a f2 6f  73 63 6c 69 28 22 46 58  |.G=13:.oscli("FX|
00001290  31 31 2c 30 22 29 3a e1  0d 05 c8 0a dd f2 73 61  |11,0"):.......sa|
000012a0  76 65 0d 05 d2 0c db 3a  f2 74 69 74 6c 65 0d 05  |ve.....:.title..|
000012b0  dc 27 fb 32 3a f2 73 69  6e 67 5f 68 67 74 28 22  |.'.2:.sing_hgt("|
000012c0  53 41 56 45 20 4b 45 59  20 53 54 52 49 50 22 2c  |SAVE KEY STRIP",|
000012d0  2d 31 2c 34 29 0d 05 e6  23 fb 33 3a f2 73 69 6e  |-1,4)...#.3:.sin|
000012e0  67 5f 68 67 74 28 22 46  69 6c 65 6e 61 6d 65 3a  |g_hgt("Filename:|
000012f0  20 22 2c 39 2c 31 35 29  0d 05 f0 20 f2 67 74 28  | ",9,15)... .gt(|
00001300  31 39 2c 31 35 2c 31 30  29 3a 66 69 6c 65 6e 61  |19,15,10):filena|
00001310  6d 65 24 3d 67 65 74 24  0d 05 fa 35 fb 31 3a f2  |me$=get$...5.1:.|
00001320  73 69 6e 67 5f 68 67 74  28 22 53 61 76 65 20 63  |sing_hgt("Save c|
00001330  75 72 72 65 6e 74 20 6b  65 79 20 73 74 72 69 70  |urrent key strip|
00001340  3f 20 59 2f 4e 22 2c 2d  31 2c 31 39 29 0d 06 04  |? Y/N",-1,19)...|
00001350  1b 67 65 74 24 3d a4 67  65 74 5f 79 6e 3a e7 67  |.get$=.get_yn:.g|
00001360  65 74 24 3d 22 4e 22 e1  0d 06 0e 11 71 71 3d ae  |et$="N".....qq=.|
00001370  66 69 6c 65 6e 61 6d 65  24 0d 06 18 20 fb 32 3a  |filename$... .2:|
00001380  f2 73 69 6e 67 5f 68 67  74 28 22 53 61 76 69 6e  |.sing_hgt("Savin|
00001390  67 22 2c 2d 31 2c 32 33  29 0d 06 22 27 e3 61 3d  |g",-1,23).."'.a=|
000013a0  30 20 b8 20 39 3a e3 62  3d 31 20 b8 20 36 3a f1  |0 . 9:.b=1 . 6:.|
000013b0  23 71 71 2c 66 6b 24 28  62 2c 61 29 3a ed 3a ed  |#qq,fk$(b,a):.:.|
000013c0  0d 06 2c 08 d9 23 71 71  0d 06 36 36 fb 32 3a f2  |..,..#qq..66.2:.|
000013d0  73 69 6e 67 5f 68 67 74  28 22 53 61 76 69 6e 67  |sing_hgt("Saving|
000013e0  20 43 6f 6d 70 6c 65 74  65 22 2c 2d 31 2c 32 33  | Complete",-1,23|
000013f0  29 3a f2 77 61 69 74 28  32 35 30 29 3a e1 0d 06  |):.wait(250):...|
00001400  40 0a dd f2 6c 6f 61 64  0d 06 4a 0c db 3a f2 74  |@...load..J..:.t|
00001410  69 74 6c 65 0d 06 54 27  fb 32 3a f2 73 69 6e 67  |itle..T'.2:.sing|
00001420  5f 68 67 74 28 22 4c 4f  41 44 20 4b 45 59 20 53  |_hgt("LOAD KEY S|
00001430  54 52 49 50 22 2c 2d 31  2c 34 29 0d 06 5e 24 fb  |TRIP",-1,4)..^$.|
00001440  33 3a f2 73 69 6e 67 5f  68 67 74 28 22 46 69 6c  |3:.sing_hgt("Fil|
00001450  65 6e 61 6d 65 3a 20 22  2c 31 30 2c 31 35 29 0d  |ename: ",10,15).|
00001460  06 68 20 f2 67 74 28 32  30 2c 31 35 2c 31 30 29  |.h .gt(20,15,10)|
00001470  3a 66 69 6c 65 6e 61 6d  65 24 3d 67 65 74 24 0d  |:filename$=get$.|
00001480  06 72 32 fb 31 3a f2 73  69 6e 67 5f 68 67 74 28  |.r2.1:.sing_hgt(|
00001490  22 4c 6f 61 64 20 74 68  69 73 20 6b 65 79 20 73  |"Load this key s|
000014a0  74 72 69 70 3f 20 59 2f  4e 22 2c 2d 31 2c 31 39  |trip? Y/N",-1,19|
000014b0  29 0d 06 7c 1b 67 65 74  24 3d a4 67 65 74 5f 79  |)..|.get$=.get_y|
000014c0  6e 3a e7 67 65 74 24 3d  22 4e 22 e1 0d 06 86 11  |n:.get$="N".....|
000014d0  71 71 3d 8e 66 69 6c 65  6e 61 6d 65 24 0d 06 90  |qq=.filename$...|
000014e0  21 fb 32 3a f2 73 69 6e  67 5f 68 67 74 28 22 4c  |!.2:.sing_hgt("L|
000014f0  6f 61 64 69 6e 67 22 2c  2d 31 2c 32 33 29 0d 06  |oading",-1,23)..|
00001500  9a 27 e3 61 3d 30 20 b8  20 39 3a e3 62 3d 31 20  |.'.a=0 . 9:.b=1 |
00001510  b8 20 36 3a e8 23 71 71  2c 66 6b 24 28 62 2c 61  |. 6:.#qq,fk$(b,a|
00001520  29 3a ed 3a ed 0d 06 a4  08 d9 23 71 71 0d 06 ae  |):.:......#qq...|
00001530  37 fb 32 3a f2 73 69 6e  67 5f 68 67 74 28 22 4c  |7.2:.sing_hgt("L|
00001540  6f 61 64 69 6e 67 20 43  6f 6d 70 6c 65 74 65 22  |oading Complete"|
00001550  2c 2d 31 2c 32 33 29 3a  f2 77 61 69 74 28 32 35  |,-1,23):.wait(25|
00001560  30 29 3a e1 0d 06 b8 0b  dd f2 74 69 74 6c 65 0d  |0):.......title.|
00001570  06 c2 20 ef 31 39 2c 31  2c 31 3b 30 3b 31 39 2c  |.. .19,1,1;0;19,|
00001580  32 2c 33 3b 30 3b 31 39  2c 33 2c 37 3b 30 3b 0d  |2,3;0;19,3,7;0;.|
00001590  06 cc 0b fb 33 3a e6 30  2c 33 0d 06 d6 37 f2 64  |....3:.0,3...7.d|
000015a0  5f 68 67 74 5f 75 6e 64  6c 6e 28 22 46 75 6e 63  |_hgt_undln("Func|
000015b0  74 69 6f 6e 20 4b 65 79  20 53 74 72 69 70 20 47  |tion Key Strip G|
000015c0  65 6e 65 72 61 74 6f 72  22 2c 2d 31 2c 30 29 3a  |enerator",-1,0):|
000015d0  e1 0d 06 e0 11 dd f2 77  61 69 74 28 64 65 6c 61  |.......wait(dela|
000015e0  79 29 0d 06 ea 0a 74 69  6d 65 3d 91 0d 06 f4 15  |y)....time=.....|
000015f0  f5 20 fd 20 91 2d 74 69  6d 65 3e 3d 64 65 6c 61  |. . .-time>=dela|
00001600  79 0d 06 fe 05 e1 0d 07  08 0b dd f2 73 6f 75 6e  |y...........soun|
00001610  64 0d 07 12 0e d4 31 2c  2d 31 35 2c 34 2c 32 0d  |d.....1,-15,4,2.|
00001620  07 1c 0c d4 31 2c 30 2c  30 2c 30 0d 07 26 05 e1  |....1,0,0,0..&..|
00001630  0d 07 30 12 dd f2 6f 73  63 6c 69 28 24 26 37 30  |..0...oscli($&70|
00001640  30 29 0d 07 3a 10 59 25  3d 26 37 30 30 20 81 32  |0)..:.Y%=&700 .2|
00001650  35 36 0d 07 44 10 58 25  3d 26 37 30 30 20 83 32  |56..D.X%=&700 .2|
00001660  35 36 0d 07 4e 0a d6 26  46 46 46 37 0d 07 58 05  |56..N..&FFF7..X.|
00001670  e1 0d 07 62 0a dd f2 65  78 69 74 0d 07 6c 0c db  |...b...exit..l..|
00001680  3a f2 74 69 74 6c 65 0d  07 76 25 fb 32 3a f2 73  |:.title..v%.2:.s|
00001690  69 6e 67 5f 68 67 74 28  22 45 58 49 54 20 50 52  |ing_hgt("EXIT PR|
000016a0  4f 47 52 41 4d 22 2c 2d  31 2c 34 29 0d 07 80 2b  |OGRAM",-1,4)...+|
000016b0  fb 33 3a f2 73 69 6e 67  5f 68 67 74 28 22 41 72  |.3:.sing_hgt("Ar|
000016c0  65 20 79 6f 75 20 73 75  72 65 3f 20 59 2f 4e 22  |e you sure? Y/N"|
000016d0  2c 2d 31 2c 31 36 29 0d  07 8a 3f 67 65 74 24 3d  |,-1,16)...?get$=|
000016e0  a4 67 65 74 5f 79 6e 3a  e7 67 65 74 24 3d 22 4e  |.get_yn:.get$="N|
000016f0  22 e1 20 8b db 3a f2 64  5f 68 67 74 5f 75 6e 64  |". ..:.d_hgt_und|
00001700  6c 6e 28 22 47 6f 6f 64  62 79 65 21 22 2c 2d 31  |ln("Goodbye!",-1|
00001710  2c 31 33 29 3a e0 0d 07  94 0c dd a4 67 65 74 5f  |,13):.......get_|
00001720  79 6e 0d 07 9e 05 f5 0d  07 a8 1e 67 65 74 24 3d  |yn.........get$=|
00001730  be 3a 43 41 50 24 3d bd  28 97 67 65 74 24 20 80  |.:CAP$=.(.get$ .|
00001740  20 26 44 46 29 0d 07 b2  21 e7 43 41 50 24 3c 3e  | &DF)...!.CAP$<>|
00001750  22 59 22 20 80 20 43 41  50 24 3c 3e 22 4e 22 20  |"Y" . CAP$<>"N" |
00001760  f2 73 6f 75 6e 64 0d 07  bc 18 fd 43 41 50 24 3d  |.sound.....CAP$=|
00001770  22 59 22 20 84 20 43 41  50 24 3d 22 4e 22 0d 07  |"Y" . CAP$="N"..|
00001780  c6 09 3d 43 41 50 24 0d  07 d0 1a dd f2 64 69 73  |..=CAP$......dis|
00001790  70 6c 61 79 5f 73 74 72  69 70 28 66 5f 6b 65 79  |play_strip(f_key|
000017a0  29 0d 07 da 09 ef 34 2c  32 36 0d 07 e4 24 fb 33  |).....4,26...$.3|
000017b0  3a f2 64 5f 68 67 74 5f  75 6e 64 6c 6e 28 22 66  |:.d_hgt_undln("f|
000017c0  22 2b c3 66 5f 6b 65 79  2c 2d 31 2c 34 29 0d 07  |"+.f_key,-1,4)..|
000017d0  ee 12 ef 32 38 2c 30 2c  33 31 2c 33 39 2c 32 32  |...28,0,31,39,22|
000017e0  0d 07 f8 1c e3 61 3d 31  20 b8 20 33 3a f2 63 6c  |.....a=1 . 3:.cl|
000017f0  65 61 72 5f 62 6f 78 28  61 29 3a ed 0d 08 02 0b  |ear_box(a):.....|
00001800  e6 30 2c 32 3a ef 35 0d  08 0c 1f e3 61 3d 31 20  |.0,2:.5.....a=1 |
00001810  b8 20 33 3a f2 77 72 69  74 65 5f 69 6e 5f 62 6f  |. 3:.write_in_bo|
00001820  78 28 61 29 3a ed 0d 08  16 05 e1 0d 08 20 10 dd  |x(a):........ ..|
00001830  f2 6f 73 5f 63 6f 6d 6d  61 6e 64 0d 08 2a 0c db  |.os_command..*..|
00001840  3a f2 74 69 74 6c 65 0d  08 34 2b fb 32 3a f2 73  |:.title..4+.2:.s|
00001850  69 6e 67 5f 68 67 74 28  22 45 4e 54 45 52 20 53  |ing_hgt("ENTER S|
00001860  54 41 52 20 43 4f 4d 4d  41 4e 44 22 2c 2d 31 2c  |TAR COMMAND",-1,|
00001870  34 29 0d 08 3e 5c fb 33  3a f2 73 69 6e 67 5f 68  |4)..>\.3:.sing_h|
00001880  67 74 28 22 50 72 65 73  73 20 53 48 49 46 54 20  |gt("Press SHIFT |
00001890  74 6f 20 73 63 72 6f 6c  6c 20 74 68 65 20 73 63  |to scroll the sc|
000018a0  72 65 65 6e 22 2c 2d 31  2c 36 29 3a ef 32 38 2c  |reen",-1,6):.28,|
000018b0  30 2c 32 36 2c 33 39 2c  38 2c 31 34 3a e8 8a 30  |0,26,39,8,14:..0|
000018c0  2c 30 29 22 2a 22 63 6f  6d 6d 61 6e 64 24 0d 08  |,0)"*"command$..|
000018d0  48 16 f1 3a f2 6f 73 63  6c 69 28 63 6f 6d 6d 61  |H..:.oscli(comma|
000018e0  6e 64 24 29 0d 08 52 3f  ef 32 36 2c 31 35 3a fb  |nd$)..R?.26,15:.|
000018f0  31 3a f2 73 69 6e 67 5f  68 67 74 28 22 50 72 65  |1:.sing_hgt("Pre|
00001900  73 73 20 53 50 41 43 45  20 42 41 52 20 74 6f 20  |ss SPACE BAR to |
00001910  63 6f 6e 74 69 6e 75 65  2e 2e 2e 22 2c 2d 31 2c  |continue...",-1,|
00001920  32 38 29 0d 08 5c 0a f5  fd a5 3d 33 32 0d 08 66  |28)..\....=32..f|
00001930  05 e1 0d 08 70 09 dd f2  65 72 72 0d 08 7a 2a ef  |....p...err..z*.|
00001940  34 2c 32 36 3a fb 32 3a  f2 64 5f 68 67 74 5f 75  |4,26:.2:.d_hgt_u|
00001950  6e 64 6c 6e 28 22 45 52  52 4f 52 22 2c 2d 31 2c  |ndln("ERROR",-1,|
00001960  30 29 3a fb 33 0d 08 84  17 f1 3a f6 3a f1 22 20  |0):.3.....:.:." |
00001970  61 74 20 6c 69 6e 65 20  22 3b 9e 27 0d 08 8e 34  |at line ";.'...4|
00001980  fb 31 3a f2 73 69 6e 67  5f 68 67 74 28 22 50 72  |.1:.sing_hgt("Pr|
00001990  65 73 73 20 53 50 41 43  45 20 42 41 52 20 74 6f  |ess SPACE BAR to|
000019a0  20 63 6f 6e 74 69 6e 65  22 2c 2d 31 2c 32 38 29  | contine",-1,28)|
000019b0  0d 08 98 27 f2 73 69 6e  67 5f 68 67 74 28 22 6f  |...'.sing_hgt("o|
000019c0  72 20 45 53 43 41 50 45  20 74 6f 20 65 6e 64 22  |r ESCAPE to end"|
000019d0  2c 2d 31 2c 33 30 29 0d  08 a2 15 f2 6f 73 63 6c  |,-1,30).....oscl|
000019e0  69 28 22 46 58 32 32 39  2c 31 22 29 0d 08 ac 20  |i("FX229,1")... |
000019f0  f5 3a 67 65 74 24 3d be  3a fd 67 65 74 24 3d bd  |.:get$=.:.get$=.|
00001a00  33 32 20 84 67 65 74 24  3d bd 32 37 0d 08 b6 25  |32 .get$=.27...%|
00001a10  f2 6f 73 63 6c 69 28 22  46 58 32 32 39 22 29 3a  |.oscli("FX229"):|
00001a20  f2 6f 73 63 6c 69 28 22  46 58 31 32 22 29 3a fb  |.oscli("FX12"):.|
00001a30  33 0d 08 c0 16 e7 67 65  74 24 3d bd 32 37 20 e0  |3.....get$=.27 .|
00001a40  20 8b f2 6d 61 69 6e 0d  08 ca 05 e1 0d 08 d4 0f  | ..main.........|
00001a50  dd f2 63 6c 65 61 72 5f  6d 65 6d 0d 08 de 0c db  |..clear_mem.....|
00001a60  3a f2 74 69 74 6c 65 0d  08 e8 25 fb 32 3a f2 73  |:.title...%.2:.s|
00001a70  69 6e 67 5f 68 67 74 28  22 43 4c 45 41 52 20 4d  |ing_hgt("CLEAR M|
00001a80  45 4d 4f 52 59 22 2c 2d  31 2c 34 29 0d 08 f2 2b  |EMORY",-1,4)...+|
00001a90  fb 33 3a f2 73 69 6e 67  5f 68 67 74 28 22 41 72  |.3:.sing_hgt("Ar|
00001aa0  65 20 79 6f 75 20 73 75  72 65 3f 20 59 2f 4e 22  |e you sure? Y/N"|
00001ab0  2c 2d 31 2c 31 35 29 0d  08 fc 1c 67 65 74 24 3d  |,-1,15)....get$=|
00001ac0  a4 67 65 74 5f 79 6e 3a  e7 67 65 74 24 3d 22 4e  |.get_yn:.get$="N|
00001ad0  22 20 e1 0d 09 06 21 e3  62 3d 31 b8 36 3a e3 61  |" ....!.b=1.6:.a|
00001ae0  3d 30 b8 39 3a 66 6b 24  28 62 2c 61 29 3d 22 22  |=0.9:fk$(b,a)=""|
00001af0  3a ed 3a ed 0d 09 10 05  e1 0d 09 1a 82 dc 20 31  |:.:........... 1|
00001b00  2c 45 6e 74 65 72 20 6b  65 79 20 64 65 74 61 69  |,Enter key detai|
00001b10  6c 73 2c 32 2c 50 72 69  6e 74 20 6b 65 79 20 73  |ls,2,Print key s|
00001b20  74 72 69 70 2c 33 2c 4c  6f 61 64 20 6b 65 79 20  |trip,3,Load key |
00001b30  73 74 72 69 70 2c 34 2c  53 61 76 65 20 6b 65 79  |strip,4,Save key|
00001b40  20 73 74 72 69 70 2c 35  2c 45 78 69 74 20 70 72  | strip,5,Exit pr|
00001b50  6f 67 72 61 6d 2c 36 2c  43 6c 65 61 72 20 6d 65  |ogram,6,Clear me|
00001b60  6d 6f 72 79 2c 2a 2c 53  74 61 72 20 43 6f 6d 6d  |mory,*,Star Comm|
00001b70  61 6e 64 2c 45 4e 44 2c  45 4e 44 0d ff           |and,END,END..|
00001b7d
FuncKey.m0
FuncKey.m1
FuncKey.m2
FuncKey.m4
FuncKey.m5