Home » Archimedes archive » Archimedes World » AW-1991-06.adf » June91 » !AWJun91/Goodies/OnHand/!OnHand/DataEdit
!AWJun91/Goodies/OnHand/!OnHand/DataEdit
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 » Archimedes archive » Archimedes World » AW-1991-06.adf » June91 |
Filename: | !AWJun91/Goodies/OnHand/!OnHand/DataEdit |
Read OK: | ✔ |
File size: | 0D87 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM >DataEdit 20REM Program to edit OnHand menu data 30REM Does not multitask 40REM By Darren Durbin 50REM -------------------------------- 60: 70ON ERROR MODE 0:PRINT REPORT$;" at line ";ERL;" Error No:";ERR:END 80MODE 0 90OFF 100: 110PROCinit 120PROCedit 130END 140: 150DEF PROCinit 160 DIM menu$(64,1),buffer% 255 170 path$=FNreadvarval("OnHand$Dir")+".MenuData" 180ENDPROC 190: 200DEF PROCedit 210 REPEAT 220 CLS 230 PROCcen("On Hand Menu Data Editor v1.0",1) 240 PROCcen("1. Edit menu data ",4) 250 PROCcen("2. Create new data file",6) 260 PROCcen("3. Exit. ",8) 270 PROCcen("Please select one the above (1, 2, or 3):",12) 280 REPEAT 290 sel=GET-48 300 UNTIL sel>0 AND sel<4 310 VDU sel+48 320 CASE sel OF 330 WHEN 1 : PROCdataedit 340 WHEN 2 : PROCnewdata 350 WHEN 3 : PROCexit 360 ENDCASE 370 UNTIL 0 380ENDPROC 390: 400DEF PROCnewdata 410 CLS 420 PROCcen("Are you sure you want to delete all data? (Y/N):",20) 430 REPEAT 440 sel$=GET$ 450 UNTIL INSTR("YyNn",sel$) 460 PRINT sel$ 470 CASE sel$ OF 480 WHEN "Y","y" : ok%=TRUE 490 WHEN "N","n" : ok%=FALSE 500 ENDCASE 510 IF ok%=TRUE THEN PROCcreate 520ENDPROC 530: 540DEF PROCcreate 550 CLS 560 PROCcen("Deleting 'MenuData' file",20) 570 OSCLI "Delete "+path$ 580 PROCcen("Creating new 'MenuData' file",20) 590 OSCLI "Create "+path$ 600 OSCLI "Settype "+path$+" 5ff" 610 PROCcen("Writing data to file",20) 620 ch%=OPENOUT path$ 630 PRINT #ch%,0 640 CLOSE #ch% 650 PROCcen("New file created",20) 660 PROCcen("Press <SPACE>",22) 670 REPEAT 680 UNTIL INKEY-99 690ENDPROC 700: 710DEF PROCcen(txt$,y%) 720 PRINTTAB(0,y%)STRING$(80,CHR$(32)) 730 x%=(80-LENtxt$)/2 740 PRINTTAB(x%,y%)txt$ 750ENDPROC 760: 770DEF FNreadvarval(var$) 780 $buffer%=var$+CHR$0 790 SYS "OS_ReadVarVal",buffer%,buffer%,&FF TO ,,len% 800 buffer%?len%=13 810=$buffer% 820 830: 840DEF PROCexit 850 CLS 860 PROCcen("Are you sure you want to exit? (Y/N):",20) 870 REPEAT 880 sel$=GET$ 890 UNTIL INSTR("YyNn",sel$) 900 PRINT sel$ 910 CASE sel$ OF 920 WHEN "Y","y" : ok%=TRUE 930 WHEN "N","n" : ok%=FALSE 940 ENDCASE 950 IF ok%=TRUE THEN 960 END 970 ENDIF 980ENDPROC 990: 1000DEF PROCdataedit 1010 CLS 1020 PROCcen("Opening data file",20) 1030 ch%=OPENIN path$ 1040 PROCcen("Reading menu data in memory",20) 1050 INPUT #ch%,max_ptr% 1060 FOR T%=1 TO max_ptr% 1070 INPUT #ch%,menu$(T%,0),menu$(T%,1) 1080 NEXT 1090 CLOSE #ch% 1100 CLS 1110 start%=1 1120 len%=6 1130 PROCscreen 1140 REPEAT 1150 os%=start% 1160 IF INKEY-58 AND start%>-2 start%-=1 1170 IF INKEY-42 AND (start%+len%)<(max_ptr%+3) start%+=1 1180 IF os%<>start% THEN 1190 PROCdisplay(start%,len%) 1200 ENDIF 1210 IF INKEY-51 THEN 1220 PROCdelete(start%+3) 1230 PROCdisplay(start%,len%) 1240 REPEAT UNTIL NOT INKEY-51 1250 ENDIF 1260 UNTIL INKEY-99 OR INKEY-74 1270 PROCupdate 1280ENDPROC 1290: 1300DEF PROCdisplay(start%,len%) 1310 OFF 1320 vpos%=12 1330 WAIT:WAIT:WAIT:WAIT 1340 FOR T%=start% TO start%+len% 1350 PRINTTAB(34,vpos%);STRING$(10," ") 1360 IF T%>0 AND T%<=max_ptr% THEN 1370 PRINTTAB(34,vpos%);menu$(T%,1) 1380 ENDIF 1390 vpos%+=1 1400 NEXT 1410 VDU 31,32,15,ASC">" 1420 VDU 31,45,15,ASC"<" 1430ENDPROC 1440: 1450DEF PROCdelete(posn%) 1460 FOR T%=posn% TO max_ptr%-1 1470 menu$(T%,0)=menu$(T%+1,0) 1480 menu$(T%,1)=menu$(T%+1,1) 1490 NEXT 1500 max_ptr%-=1 1510ENDPROC 1520: 1530DEF PROCscreen 1540 FOR T%=1024-11*32 TO 1024-11*32+32 STEP 8 1550 MOVE 512-32,T%:DRAW 1280-512,T% 1560 NEXT 1570 MOVE 512-32,1023-10*32 1580 DRAW BY 0,-32*9 1590 DRAW BY 288,0 1600 DRAW BY 0,32*9 1610 PROCcen("Use the cursor keys to select, D to delete option",23) 1620 PROCcen("Be careful! This option can destroy your menu files...!",1) 1630 PROCcen("Use <SPACE> or <RETURN> to exit",3) 1640 PROCdisplay(start%,len%) 1650ENDPROC 1660: 1670DEF PROCupdate 1680 CLS 1690 PROCcen("Saving this amended data will alter you OnHand menu",15) 1700 PROCcen("Do you wish to save it? (Y/N):",17) 1710 REPEAT 1720 sel$=GET$ 1730 UNTIL INSTR("YyNn",sel$) 1740 PRINT sel$ 1750 CASE sel$ OF 1760 WHEN "Y","y" : ok%=TRUE 1770 WHEN "N","n" : ok%=FALSE 1780 ENDCASE 1790 IF ok%=TRUE THEN 1800 ch%=OPENOUT path$ 1810 PRINT #ch%,max_ptr% 1820 FOR T%=1 TO max_ptr% 1830 PRINT #ch%,menu$(T%,0),menu$(T%,1) 1840 NEXT 1850 CLOSE #ch% 1860 ENDIF 1870ENDPROC
� >DataEdit &� Program to edit OnHand menu data � Does not multitask (� By Darren Durbin 2&� -------------------------------- <: F/� � � 0:� �$;" at line ";�;" Error No:";�:� P� 0 Z� d: n �init x �edit �� �: �� �init � � menu$(64,1),buffer% 255 �0 path$=�readvarval("OnHand$Dir")+".MenuData" �� �: �� �edit � � � � �- �cen("On Hand Menu Data Editor v1.0",1) �' �cen("1. Edit menu data ",4) �' �cen("2. Create new data file",6) ' �cen("3. Exit. ",8) : �cen("Please select one the above (1, 2, or 3):",12) � " sel=�-48 , � sel>0 � sel<4 6 � sel+48 @ Ȏ sel � J � 1 : �dataedit T � 2 : �newdata ^ � 3 : �exit h � r � 0 |� �: �� �newdata � � �@ �cen("Are you sure you want to delete all data? (Y/N):",20) � � � sel$=� � � �"YyNn",sel$) � � sel$ � Ȏ sel$ � � � "Y","y" : ok%=� � � "N","n" : ok%=� � � � � ok%=� � �create � : � �create & � 0( �cen("Deleting 'MenuData' file",20) : � "Delete "+path$ D, �cen("Creating new 'MenuData' file",20) N � "Create "+path$ X � "Settype "+path$+" 5ff" b$ �cen("Writing data to file",20) l ch%=� path$ v � #ch%,0 � � #ch% � �cen("New file created",20) � �cen("Press <SPACE>",22) � � � � �-99 �� �: �� �cen(txt$,y%) � �0,y%)�80,�(32)) � x%=(80-�txt$)/2 � �x%,y%)txt$ �� �: � �readvarval(var$) $buffer%=var$+�0 4 ș "OS_ReadVarVal",buffer%,buffer%,&FF � ,,len% buffer%?len%=13 * =$buffer% 4 >: H� �exit R � \5 �cen("Are you sure you want to exit? (Y/N):",20) f � p sel$=� z � �"YyNn",sel$) � � sel$ � Ȏ sel$ � � � "Y","y" : ok%=� � � "N","n" : ok%=� � � � � ok%=� � � � � � �� �: �� �dataedit � � �! �cen("Opening data file",20) ch%=� path$ + �cen("Reading menu data in memory",20) � #ch%,max_ptr% $ � T%=1 � max_ptr% .$ � #ch%,menu$(T%,0),menu$(T%,1) 8 � B � #ch% L � V start%=1 ` len%=6 j �screen t � ~ os%=start% �" � �-58 � start%>-2 start%-=1 �3 � �-42 � (start%+len%)<(max_ptr%+3) start%+=1 � � os%<>start% � � �display(start%,len%) � � � � �-51 � � �delete(start%+3) � �display(start%,len%) � � � � �-51 � � � � �-99 � �-74 � �update � : � �display(start%,len%) � ( vpos%=12 2 Ȗ:Ȗ:Ȗ:Ȗ < � T%=start% � start%+len% F �34,vpos%);�10," ") P � T%>0 � T%<=max_ptr% � Z �34,vpos%);menu$(T%,1) d � n vpos%+=1 x � � � 31,32,15,�">" � � 31,45,15,�"<" �� �: �� �delete(posn%) � � T%=posn% � max_ptr%-1 � menu$(T%,0)=menu$(T%+1,0) � menu$(T%,1)=menu$(T%+1,1) � � � max_ptr%-=1 �� �: � � �screen ( � T%=1024-11*32 � 1024-11*32+32 � 8 � 512-32,T%:� 1280-512,T% � " � 512-32,1023-10*32 , � BY 0,-32*9 6 � BY 288,0 @ � BY 0,32*9 JA �cen("Use the cursor keys to select, D to delete option",23) TF �cen("Be careful! This option can destroy your menu files...!",1) ^. �cen("Use <SPACE> or <RETURN> to exit",3) h �display(start%,len%) r� |: � � �update � � �C �cen("Saving this amended data will alter you OnHand menu",15) �. �cen("Do you wish to save it? (Y/N):",17) � � � sel$=� � � �"YyNn",sel$) � � sel$ � Ȏ sel$ � � � "Y","y" : ok%=� � � "N","n" : ok%=� � � � � ok%=� � ch%=� path$ � #ch%,max_ptr% � T%=1 � max_ptr% &% � #ch%,menu$(T%,0),menu$(T%,1) 0 � : � #ch% D � N� �
00000000 0d 00 0a 0f f4 20 3e 44 61 74 61 45 64 69 74 0d |..... >DataEdit.| 00000010 00 14 26 f4 20 50 72 6f 67 72 61 6d 20 74 6f 20 |..&. Program to | 00000020 65 64 69 74 20 4f 6e 48 61 6e 64 20 6d 65 6e 75 |edit OnHand menu| 00000030 20 64 61 74 61 0d 00 1e 18 f4 20 44 6f 65 73 20 | data..... Does | 00000040 6e 6f 74 20 6d 75 6c 74 69 74 61 73 6b 0d 00 28 |not multitask..(| 00000050 16 f4 20 42 79 20 44 61 72 72 65 6e 20 44 75 72 |.. By Darren Dur| 00000060 62 69 6e 0d 00 32 26 f4 20 2d 2d 2d 2d 2d 2d 2d |bin..2&. -------| 00000070 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00000080 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 00 3c 05 3a 0d 00 |---------..<.:..| 00000090 46 2f ee 20 85 20 eb 20 30 3a f1 20 f6 24 3b 22 |F/. . . 0:. .$;"| 000000a0 20 61 74 20 6c 69 6e 65 20 22 3b 9e 3b 22 20 45 | at line ";.;" E| 000000b0 72 72 6f 72 20 4e 6f 3a 22 3b 9f 3a e0 0d 00 50 |rror No:";.:...P| 000000c0 07 eb 20 30 0d 00 5a 05 87 0d 00 64 05 3a 0d 00 |.. 0..Z....d.:..| 000000d0 6e 09 f2 69 6e 69 74 0d 00 78 09 f2 65 64 69 74 |n..init..x..edit| 000000e0 0d 00 82 05 e0 0d 00 8c 05 3a 0d 00 96 0b dd 20 |.........:..... | 000000f0 f2 69 6e 69 74 0d 00 a0 1e 20 de 20 6d 65 6e 75 |.init.... . menu| 00000100 24 28 36 34 2c 31 29 2c 62 75 66 66 65 72 25 20 |$(64,1),buffer% | 00000110 32 35 35 0d 00 aa 30 20 70 61 74 68 24 3d a4 72 |255...0 path$=.r| 00000120 65 61 64 76 61 72 76 61 6c 28 22 4f 6e 48 61 6e |eadvarval("OnHan| 00000130 64 24 44 69 72 22 29 2b 22 2e 4d 65 6e 75 44 61 |d$Dir")+".MenuDa| 00000140 74 61 22 0d 00 b4 05 e1 0d 00 be 05 3a 0d 00 c8 |ta".........:...| 00000150 0b dd 20 f2 65 64 69 74 0d 00 d2 06 20 f5 0d 00 |.. .edit.... ...| 00000160 dc 07 20 20 db 0d 00 e6 2d 20 20 f2 63 65 6e 28 |.. ....- .cen(| 00000170 22 4f 6e 20 48 61 6e 64 20 4d 65 6e 75 20 44 61 |"On Hand Menu Da| 00000180 74 61 20 45 64 69 74 6f 72 20 76 31 2e 30 22 2c |ta Editor v1.0",| 00000190 31 29 0d 00 f0 27 20 20 f2 63 65 6e 28 22 31 2e |1)...' .cen("1.| 000001a0 20 45 64 69 74 20 6d 65 6e 75 20 64 61 74 61 20 | Edit menu data | 000001b0 20 20 20 20 20 22 2c 34 29 0d 00 fa 27 20 20 f2 | ",4)...' .| 000001c0 63 65 6e 28 22 32 2e 20 43 72 65 61 74 65 20 6e |cen("2. Create n| 000001d0 65 77 20 64 61 74 61 20 66 69 6c 65 22 2c 36 29 |ew data file",6)| 000001e0 0d 01 04 27 20 20 f2 63 65 6e 28 22 33 2e 20 45 |...' .cen("3. E| 000001f0 78 69 74 2e 20 20 20 20 20 20 20 20 20 20 20 20 |xit. | 00000200 20 20 20 22 2c 38 29 0d 01 0e 3a 20 20 f2 63 65 | ",8)...: .ce| 00000210 6e 28 22 50 6c 65 61 73 65 20 73 65 6c 65 63 74 |n("Please select| 00000220 20 6f 6e 65 20 74 68 65 20 61 62 6f 76 65 20 28 | one the above (| 00000230 31 2c 20 32 2c 20 6f 72 20 33 29 3a 22 2c 31 32 |1, 2, or 3):",12| 00000240 29 0d 01 18 07 20 20 f5 0d 01 22 0f 20 20 20 73 |).... ...". s| 00000250 65 6c 3d a5 2d 34 38 0d 01 2c 15 20 20 fd 20 73 |el=.-48..,. . s| 00000260 65 6c 3e 30 20 80 20 73 65 6c 3c 34 0d 01 36 0e |el>0 . sel<4..6.| 00000270 20 20 ef 20 73 65 6c 2b 34 38 0d 01 40 0e 20 20 | . sel+48..@. | 00000280 c8 8e 20 73 65 6c 20 ca 0d 01 4a 16 20 20 20 c9 |.. sel ...J. .| 00000290 20 31 20 3a 20 f2 64 61 74 61 65 64 69 74 0d 01 | 1 : .dataedit..| 000002a0 54 15 20 20 20 c9 20 32 20 3a 20 f2 6e 65 77 64 |T. . 2 : .newd| 000002b0 61 74 61 0d 01 5e 12 20 20 20 c9 20 33 20 3a 20 |ata..^. . 3 : | 000002c0 f2 65 78 69 74 0d 01 68 07 20 20 cb 0d 01 72 08 |.exit..h. ...r.| 000002d0 20 fd 20 30 0d 01 7c 05 e1 0d 01 86 05 3a 0d 01 | . 0..|......:..| 000002e0 90 0e dd 20 f2 6e 65 77 64 61 74 61 0d 01 9a 06 |... .newdata....| 000002f0 20 db 0d 01 a4 40 20 f2 63 65 6e 28 22 41 72 65 | ....@ .cen("Are| 00000300 20 79 6f 75 20 73 75 72 65 20 79 6f 75 20 77 61 | you sure you wa| 00000310 6e 74 20 74 6f 20 64 65 6c 65 74 65 20 61 6c 6c |nt to delete all| 00000320 20 64 61 74 61 3f 20 28 59 2f 4e 29 3a 22 2c 32 | data? (Y/N):",2| 00000330 30 29 0d 01 ae 06 20 f5 0d 01 b8 0c 20 20 73 65 |0).... ..... se| 00000340 6c 24 3d be 0d 01 c2 14 20 fd 20 a7 22 59 79 4e |l$=..... . ."YyN| 00000350 6e 22 2c 73 65 6c 24 29 0d 01 cc 0b 20 f1 20 73 |n",sel$).... . s| 00000360 65 6c 24 0d 01 d6 0e 20 c8 8e 20 73 65 6c 24 20 |el$.... .. sel$ | 00000370 ca 0d 01 e0 17 20 20 c9 20 22 59 22 2c 22 79 22 |..... . "Y","y"| 00000380 20 3a 20 6f 6b 25 3d b9 0d 01 ea 17 20 20 c9 20 | : ok%=..... . | 00000390 22 4e 22 2c 22 6e 22 20 3a 20 6f 6b 25 3d a3 0d |"N","n" : ok%=..| 000003a0 01 f4 06 20 cb 0d 01 fe 16 20 e7 20 6f 6b 25 3d |... ..... . ok%=| 000003b0 b9 20 8c 20 f2 63 72 65 61 74 65 0d 02 08 05 e1 |. . .create.....| 000003c0 0d 02 12 05 3a 0d 02 1c 0d dd 20 f2 63 72 65 61 |....:..... .crea| 000003d0 74 65 0d 02 26 06 20 db 0d 02 30 28 20 f2 63 65 |te..&. ...0( .ce| 000003e0 6e 28 22 44 65 6c 65 74 69 6e 67 20 27 4d 65 6e |n("Deleting 'Men| 000003f0 75 44 61 74 61 27 20 66 69 6c 65 22 2c 32 30 29 |uData' file",20)| 00000400 0d 02 3a 16 20 ff 20 22 44 65 6c 65 74 65 20 22 |..:. . "Delete "| 00000410 2b 70 61 74 68 24 0d 02 44 2c 20 f2 63 65 6e 28 |+path$..D, .cen(| 00000420 22 43 72 65 61 74 69 6e 67 20 6e 65 77 20 27 4d |"Creating new 'M| 00000430 65 6e 75 44 61 74 61 27 20 66 69 6c 65 22 2c 32 |enuData' file",2| 00000440 30 29 0d 02 4e 16 20 ff 20 22 43 72 65 61 74 65 |0)..N. . "Create| 00000450 20 22 2b 70 61 74 68 24 0d 02 58 1e 20 ff 20 22 | "+path$..X. . "| 00000460 53 65 74 74 79 70 65 20 22 2b 70 61 74 68 24 2b |Settype "+path$+| 00000470 22 20 35 66 66 22 0d 02 62 24 20 f2 63 65 6e 28 |" 5ff"..b$ .cen(| 00000480 22 57 72 69 74 69 6e 67 20 64 61 74 61 20 74 6f |"Writing data to| 00000490 20 66 69 6c 65 22 2c 32 30 29 0d 02 6c 10 20 63 | file",20)..l. c| 000004a0 68 25 3d ae 20 70 61 74 68 24 0d 02 76 0d 20 f1 |h%=. path$..v. .| 000004b0 20 23 63 68 25 2c 30 0d 02 80 0b 20 d9 20 23 63 | #ch%,0.... . #c| 000004c0 68 25 0d 02 8a 20 20 f2 63 65 6e 28 22 4e 65 77 |h%... .cen("New| 000004d0 20 66 69 6c 65 20 63 72 65 61 74 65 64 22 2c 32 | file created",2| 000004e0 30 29 0d 02 94 1d 20 f2 63 65 6e 28 22 50 72 65 |0).... .cen("Pre| 000004f0 73 73 20 3c 53 50 41 43 45 3e 22 2c 32 32 29 0d |ss <SPACE>",22).| 00000500 02 9e 06 20 f5 0d 02 a8 0b 20 fd 20 a6 2d 39 39 |... ..... . .-99| 00000510 0d 02 b2 05 e1 0d 02 bc 05 3a 0d 02 c6 13 dd 20 |.........:..... | 00000520 f2 63 65 6e 28 74 78 74 24 2c 79 25 29 0d 02 d0 |.cen(txt$,y%)...| 00000530 16 20 f1 8a 30 2c 79 25 29 c4 38 30 2c bd 28 33 |. ..0,y%).80,.(3| 00000540 32 29 29 0d 02 da 14 20 78 25 3d 28 38 30 2d a9 |2)).... x%=(80-.| 00000550 74 78 74 24 29 2f 32 0d 02 e4 11 20 f1 8a 78 25 |txt$)/2.... ..x%| 00000560 2c 79 25 29 74 78 74 24 0d 02 ee 05 e1 0d 02 f8 |,y%)txt$........| 00000570 05 3a 0d 03 02 17 dd 20 a4 72 65 61 64 76 61 72 |.:..... .readvar| 00000580 76 61 6c 28 76 61 72 24 29 0d 03 0c 15 20 24 62 |val(var$).... $b| 00000590 75 66 66 65 72 25 3d 76 61 72 24 2b bd 30 0d 03 |uffer%=var$+.0..| 000005a0 16 34 20 c8 99 20 22 4f 53 5f 52 65 61 64 56 61 |.4 .. "OS_ReadVa| 000005b0 72 56 61 6c 22 2c 62 75 66 66 65 72 25 2c 62 75 |rVal",buffer%,bu| 000005c0 66 66 65 72 25 2c 26 46 46 20 b8 20 2c 2c 6c 65 |ffer%,&FF . ,,le| 000005d0 6e 25 0d 03 20 14 20 62 75 66 66 65 72 25 3f 6c |n%.. . buffer%?l| 000005e0 65 6e 25 3d 31 33 0d 03 2a 0d 3d 24 62 75 66 66 |en%=13..*.=$buff| 000005f0 65 72 25 0d 03 34 04 0d 03 3e 05 3a 0d 03 48 0b |er%..4...>.:..H.| 00000600 dd 20 f2 65 78 69 74 0d 03 52 06 20 db 0d 03 5c |. .exit..R. ...\| 00000610 35 20 f2 63 65 6e 28 22 41 72 65 20 79 6f 75 20 |5 .cen("Are you | 00000620 73 75 72 65 20 79 6f 75 20 77 61 6e 74 20 74 6f |sure you want to| 00000630 20 65 78 69 74 3f 20 28 59 2f 4e 29 3a 22 2c 32 | exit? (Y/N):",2| 00000640 30 29 0d 03 66 06 20 f5 0d 03 70 0c 20 20 73 65 |0)..f. ...p. se| 00000650 6c 24 3d be 0d 03 7a 14 20 fd 20 a7 22 59 79 4e |l$=...z. . ."YyN| 00000660 6e 22 2c 73 65 6c 24 29 0d 03 84 0b 20 f1 20 73 |n",sel$).... . s| 00000670 65 6c 24 0d 03 8e 0e 20 c8 8e 20 73 65 6c 24 20 |el$.... .. sel$ | 00000680 ca 0d 03 98 17 20 20 c9 20 22 59 22 2c 22 79 22 |..... . "Y","y"| 00000690 20 3a 20 6f 6b 25 3d b9 0d 03 a2 17 20 20 c9 20 | : ok%=..... . | 000006a0 22 4e 22 2c 22 6e 22 20 3a 20 6f 6b 25 3d a3 0d |"N","n" : ok%=..| 000006b0 03 ac 06 20 cb 0d 03 b6 0e 20 e7 20 6f 6b 25 3d |... ..... . ok%=| 000006c0 b9 20 8c 0d 03 c0 07 20 20 e0 0d 03 ca 06 20 cd |. ..... ..... .| 000006d0 0d 03 d4 05 e1 0d 03 de 05 3a 0d 03 e8 0f dd 20 |.........:..... | 000006e0 f2 64 61 74 61 65 64 69 74 0d 03 f2 06 20 db 0d |.dataedit.... ..| 000006f0 03 fc 21 20 f2 63 65 6e 28 22 4f 70 65 6e 69 6e |..! .cen("Openin| 00000700 67 20 64 61 74 61 20 66 69 6c 65 22 2c 32 30 29 |g data file",20)| 00000710 0d 04 06 10 20 63 68 25 3d 8e 20 70 61 74 68 24 |.... ch%=. path$| 00000720 0d 04 10 2b 20 f2 63 65 6e 28 22 52 65 61 64 69 |...+ .cen("Readi| 00000730 6e 67 20 6d 65 6e 75 20 64 61 74 61 20 69 6e 20 |ng menu data in | 00000740 6d 65 6d 6f 72 79 22 2c 32 30 29 0d 04 1a 14 20 |memory",20).... | 00000750 e8 20 23 63 68 25 2c 6d 61 78 5f 70 74 72 25 0d |. #ch%,max_ptr%.| 00000760 04 24 16 20 e3 20 54 25 3d 31 20 b8 20 6d 61 78 |.$. . T%=1 . max| 00000770 5f 70 74 72 25 0d 04 2e 24 20 20 e8 20 23 63 68 |_ptr%...$ . #ch| 00000780 25 2c 6d 65 6e 75 24 28 54 25 2c 30 29 2c 6d 65 |%,menu$(T%,0),me| 00000790 6e 75 24 28 54 25 2c 31 29 0d 04 38 06 20 ed 0d |nu$(T%,1)..8. ..| 000007a0 04 42 0b 20 d9 20 23 63 68 25 0d 04 4c 06 20 db |.B. . #ch%..L. .| 000007b0 0d 04 56 0d 20 73 74 61 72 74 25 3d 31 0d 04 60 |..V. start%=1..`| 000007c0 0b 20 6c 65 6e 25 3d 36 0d 04 6a 0c 20 f2 73 63 |. len%=6..j. .sc| 000007d0 72 65 65 6e 0d 04 74 06 20 f5 0d 04 7e 10 20 20 |reen..t. ...~. | 000007e0 6f 73 25 3d 73 74 61 72 74 25 0d 04 88 22 20 20 |os%=start%..." | 000007f0 e7 20 a6 2d 35 38 20 80 20 73 74 61 72 74 25 3e |. .-58 . start%>| 00000800 2d 32 20 73 74 61 72 74 25 2d 3d 31 0d 04 92 33 |-2 start%-=1...3| 00000810 20 20 e7 20 a6 2d 34 32 20 80 20 28 73 74 61 72 | . .-42 . (star| 00000820 74 25 2b 6c 65 6e 25 29 3c 28 6d 61 78 5f 70 74 |t%+len%)<(max_pt| 00000830 72 25 2b 33 29 20 73 74 61 72 74 25 2b 3d 31 0d |r%+3) start%+=1.| 00000840 04 9c 15 20 20 e7 20 6f 73 25 3c 3e 73 74 61 72 |... . os%<>star| 00000850 74 25 20 8c 0d 04 a6 1c 20 20 20 f2 64 69 73 70 |t% ..... .disp| 00000860 6c 61 79 28 73 74 61 72 74 25 2c 6c 65 6e 25 29 |lay(start%,len%)| 00000870 0d 04 b0 07 20 20 cd 0d 04 ba 0e 20 20 e7 20 a6 |.... ..... . .| 00000880 2d 35 31 20 8c 0d 04 c4 18 20 20 20 f2 64 65 6c |-51 ..... .del| 00000890 65 74 65 28 73 74 61 72 74 25 2b 33 29 0d 04 ce |ete(start%+3)...| 000008a0 1c 20 20 20 f2 64 69 73 70 6c 61 79 28 73 74 61 |. .display(sta| 000008b0 72 74 25 2c 6c 65 6e 25 29 0d 04 d8 11 20 20 20 |rt%,len%).... | 000008c0 f5 20 fd 20 ac 20 a6 2d 35 31 0d 04 e2 07 20 20 |. . . .-51.... | 000008d0 cd 0d 04 ec 12 20 fd 20 a6 2d 39 39 20 84 20 a6 |..... . .-99 . .| 000008e0 2d 37 34 0d 04 f6 0c 20 f2 75 70 64 61 74 65 0d |-74.... .update.| 000008f0 05 00 05 e1 0d 05 0a 05 3a 0d 05 14 1b dd 20 f2 |........:..... .| 00000900 64 69 73 70 6c 61 79 28 73 74 61 72 74 25 2c 6c |display(start%,l| 00000910 65 6e 25 29 0d 05 1e 06 20 87 0d 05 28 0d 20 76 |en%).... ...(. v| 00000920 70 6f 73 25 3d 31 32 0d 05 32 10 20 c8 96 3a c8 |pos%=12..2. ..:.| 00000930 96 3a c8 96 3a c8 96 0d 05 3c 1e 20 e3 20 54 25 |.:..:....<. . T%| 00000940 3d 73 74 61 72 74 25 20 b8 20 73 74 61 72 74 25 |=start% . start%| 00000950 2b 6c 65 6e 25 0d 05 46 1a 20 20 f1 8a 33 34 2c |+len%..F. ..34,| 00000960 76 70 6f 73 25 29 3b c4 31 30 2c 22 20 22 29 0d |vpos%);.10," ").| 00000970 05 50 1d 20 20 e7 20 54 25 3e 30 20 80 20 54 25 |.P. . T%>0 . T%| 00000980 3c 3d 6d 61 78 5f 70 74 72 25 20 8c 0d 05 5a 1e |<=max_ptr% ...Z.| 00000990 20 20 20 f1 8a 33 34 2c 76 70 6f 73 25 29 3b 6d | ..34,vpos%);m| 000009a0 65 6e 75 24 28 54 25 2c 31 29 0d 05 64 07 20 20 |enu$(T%,1)..d. | 000009b0 cd 0d 05 6e 0e 20 20 76 70 6f 73 25 2b 3d 31 0d |...n. vpos%+=1.| 000009c0 05 78 06 20 ed 0d 05 82 14 20 ef 20 33 31 2c 33 |.x. ..... . 31,3| 000009d0 32 2c 31 35 2c 97 22 3e 22 0d 05 8c 14 20 ef 20 |2,15,.">".... . | 000009e0 33 31 2c 34 35 2c 31 35 2c 97 22 3c 22 0d 05 96 |31,45,15,."<"...| 000009f0 05 e1 0d 05 a0 05 3a 0d 05 aa 14 dd 20 f2 64 65 |......:..... .de| 00000a00 6c 65 74 65 28 70 6f 73 6e 25 29 0d 05 b4 1c 20 |lete(posn%).... | 00000a10 e3 20 54 25 3d 70 6f 73 6e 25 20 b8 20 6d 61 78 |. T%=posn% . max| 00000a20 5f 70 74 72 25 2d 31 0d 05 be 1f 20 20 6d 65 6e |_ptr%-1.... men| 00000a30 75 24 28 54 25 2c 30 29 3d 6d 65 6e 75 24 28 54 |u$(T%,0)=menu$(T| 00000a40 25 2b 31 2c 30 29 0d 05 c8 1f 20 20 6d 65 6e 75 |%+1,0).... menu| 00000a50 24 28 54 25 2c 31 29 3d 6d 65 6e 75 24 28 54 25 |$(T%,1)=menu$(T%| 00000a60 2b 31 2c 31 29 0d 05 d2 06 20 ed 0d 05 dc 10 20 |+1,1).... ..... | 00000a70 6d 61 78 5f 70 74 72 25 2d 3d 31 0d 05 e6 05 e1 |max_ptr%-=1.....| 00000a80 0d 05 f0 05 3a 0d 05 fa 0d dd 20 f2 73 63 72 65 |....:..... .scre| 00000a90 65 6e 0d 06 04 28 20 e3 20 54 25 3d 31 30 32 34 |en...( . T%=1024| 00000aa0 2d 31 31 2a 33 32 20 b8 20 31 30 32 34 2d 31 31 |-11*32 . 1024-11| 00000ab0 2a 33 32 2b 33 32 20 88 20 38 0d 06 0e 1f 20 20 |*32+32 . 8.... | 00000ac0 ec 20 35 31 32 2d 33 32 2c 54 25 3a df 20 31 32 |. 512-32,T%:. 12| 00000ad0 38 30 2d 35 31 32 2c 54 25 0d 06 18 06 20 ed 0d |80-512,T%.... ..| 00000ae0 06 22 18 20 ec 20 35 31 32 2d 33 32 2c 31 30 32 |.". . 512-32,102| 00000af0 33 2d 31 30 2a 33 32 0d 06 2c 11 20 df 20 42 59 |3-10*32..,. . BY| 00000b00 20 30 2c 2d 33 32 2a 39 0d 06 36 0f 20 df 20 42 | 0,-32*9..6. . B| 00000b10 59 20 32 38 38 2c 30 0d 06 40 10 20 df 20 42 59 |Y 288,0..@. . BY| 00000b20 20 30 2c 33 32 2a 39 0d 06 4a 41 20 f2 63 65 6e | 0,32*9..JA .cen| 00000b30 28 22 55 73 65 20 74 68 65 20 63 75 72 73 6f 72 |("Use the cursor| 00000b40 20 6b 65 79 73 20 74 6f 20 73 65 6c 65 63 74 2c | keys to select,| 00000b50 20 44 20 74 6f 20 64 65 6c 65 74 65 20 6f 70 74 | D to delete opt| 00000b60 69 6f 6e 22 2c 32 33 29 0d 06 54 46 20 f2 63 65 |ion",23)..TF .ce| 00000b70 6e 28 22 42 65 20 63 61 72 65 66 75 6c 21 20 54 |n("Be careful! T| 00000b80 68 69 73 20 6f 70 74 69 6f 6e 20 63 61 6e 20 64 |his option can d| 00000b90 65 73 74 72 6f 79 20 79 6f 75 72 20 6d 65 6e 75 |estroy your menu| 00000ba0 20 66 69 6c 65 73 2e 2e 2e 21 22 2c 31 29 0d 06 | files...!",1)..| 00000bb0 5e 2e 20 f2 63 65 6e 28 22 55 73 65 20 3c 53 50 |^. .cen("Use <SP| 00000bc0 41 43 45 3e 20 6f 72 20 3c 52 45 54 55 52 4e 3e |ACE> or <RETURN>| 00000bd0 20 74 6f 20 65 78 69 74 22 2c 33 29 0d 06 68 1a | to exit",3)..h.| 00000be0 20 f2 64 69 73 70 6c 61 79 28 73 74 61 72 74 25 | .display(start%| 00000bf0 2c 6c 65 6e 25 29 0d 06 72 05 e1 0d 06 7c 05 3a |,len%)..r....|.:| 00000c00 0d 06 86 0d dd 20 f2 75 70 64 61 74 65 0d 06 90 |..... .update...| 00000c10 06 20 db 0d 06 9a 43 20 f2 63 65 6e 28 22 53 61 |. ....C .cen("Sa| 00000c20 76 69 6e 67 20 74 68 69 73 20 61 6d 65 6e 64 65 |ving this amende| 00000c30 64 20 64 61 74 61 20 77 69 6c 6c 20 61 6c 74 65 |d data will alte| 00000c40 72 20 79 6f 75 20 4f 6e 48 61 6e 64 20 6d 65 6e |r you OnHand men| 00000c50 75 22 2c 31 35 29 0d 06 a4 2e 20 f2 63 65 6e 28 |u",15).... .cen(| 00000c60 22 44 6f 20 79 6f 75 20 77 69 73 68 20 74 6f 20 |"Do you wish to | 00000c70 73 61 76 65 20 69 74 3f 20 28 59 2f 4e 29 3a 22 |save it? (Y/N):"| 00000c80 2c 31 37 29 0d 06 ae 06 20 f5 0d 06 b8 0c 20 20 |,17).... ..... | 00000c90 73 65 6c 24 3d be 0d 06 c2 14 20 fd 20 a7 22 59 |sel$=..... . ."Y| 00000ca0 79 4e 6e 22 2c 73 65 6c 24 29 0d 06 cc 0b 20 f1 |yNn",sel$).... .| 00000cb0 20 73 65 6c 24 0d 06 d6 0e 20 c8 8e 20 73 65 6c | sel$.... .. sel| 00000cc0 24 20 ca 0d 06 e0 17 20 20 c9 20 22 59 22 2c 22 |$ ..... . "Y","| 00000cd0 79 22 20 3a 20 6f 6b 25 3d b9 0d 06 ea 17 20 20 |y" : ok%=..... | 00000ce0 c9 20 22 4e 22 2c 22 6e 22 20 3a 20 6f 6b 25 3d |. "N","n" : ok%=| 00000cf0 a3 0d 06 f4 06 20 cb 0d 06 fe 0e 20 e7 20 6f 6b |..... ..... . ok| 00000d00 25 3d b9 20 8c 0d 07 08 11 20 20 63 68 25 3d ae |%=. ..... ch%=.| 00000d10 20 70 61 74 68 24 0d 07 12 15 20 20 f1 20 23 63 | path$.... . #c| 00000d20 68 25 2c 6d 61 78 5f 70 74 72 25 0d 07 1c 17 20 |h%,max_ptr%.... | 00000d30 20 e3 20 54 25 3d 31 20 b8 20 6d 61 78 5f 70 74 | . T%=1 . max_pt| 00000d40 72 25 0d 07 26 25 20 20 20 f1 20 23 63 68 25 2c |r%..&% . #ch%,| 00000d50 6d 65 6e 75 24 28 54 25 2c 30 29 2c 6d 65 6e 75 |menu$(T%,0),menu| 00000d60 24 28 54 25 2c 31 29 0d 07 30 07 20 20 ed 0d 07 |$(T%,1)..0. ...| 00000d70 3a 0c 20 20 d9 20 23 63 68 25 0d 07 44 06 20 cd |:. . #ch%..D. .| 00000d80 0d 07 4e 05 e1 0d ff |..N....| 00000d87