This is non-commercial site, its content is based on Atari 8-bit home computer contents and references.
If you feel your rights are violated by showing/using any part of contents of your product represented on this page,
please contact me immediatelly so I can remove it!
Entry name:
Boot Menu Edit v2.3
|
Publisher/Developer:
BELLCOM - Public Domain Library (Software library) |
|
|
-
Entry name:Boot Menu Edit v2.3
-
Category:Disk utilities
-
Publisher/Developer:BELLCOM - Public Domain Library
-
Year:1985
Listing 1
10REM
11REM
12REM
13REM
14REM
15REM
16REMCODECRUNCHER&
17REMV2.2DUP.SYSAREINTHE
18REMPUBLICDOMAIN.CREDITIS
19REMGIVENTOWHOMEVERWROTE
20REMTHESEROUTINES.
21REM
22REMCC.&V2.2AREBINARYMENU
23REMPROGRAMSTHATWILLBOOT
24REMFROMYOURDISK.CC.IS
25REMHIDDENINTHEFIRSTTHREE
26REMSECTORS.LEAVING707FREE.
27REMV2.2ISA5SECTORDUP.SYS
28REMROUTINE.ITWILLREQUIRE
29REMDOS.SYSTOBEONTHEDISK
30REMINORDERTOFUNCTION.
31REMNOTE:SOMEPROGRAMSWILL
32REMNOTBOOTWITHCC.WHEN
33REMTHISHAPPENS,USEV2.2.
34REMTHESEPROGRAMSMUSTBE
35REMLOADEDWITHDOSINMEMORY
36REM
37REMBOTHPROGRAMSDIPLAYA
38REMLINEOFTEXTONTHE
39REMSCREEN.THISTEXTCANBE
40REMALTEREDWITHTHEEDIT
41REMOPTIONS.
42REMNOTE:CC.USESAGRAPHICS
43REMTWOCHARACTERSET.
44REM
45REMINCLUDEDARESOMEDOS
46REMCOMMANDSUSEDVIAXIO'S
47REM
48REMIO$ISASECTORR/W
49REMROUTINEFROMCOMPUTE!.
50REMDISK=USR(ADRio,ADR128byte
51REMbuffer,sector,1=W/0=R)
52REM
53REM
54REM
1000GRAPHICS0:OPEN#1,4,0,"K:":POKE752,1:GOSUB30000:REM
1005DL=PEEK(560)+PEEK(561)*256:POKEDL+3,70:POKEDL+6,7:POKEDL+7,112:POKEDL+8,112
1010POKEDL+25,112:POKEDL+26,6:POKEDL+27,112:POKEDL+28,112:REM
1015POKE708,0:POKE709,0:POKE710,255:POKE712,255:POKE82,2:POKE83,37
1020O=0:?"RUDOLF'SBOOTMENUEDIT"
1025?
1030?"writeCODECRUNCHER"
1035?"editCODECRUNCHERorNODOS"
1040?"writeV2.2DUP.SYS"
1045?"editV2.2DUP.SYS"
1050?
1055?"CATALOGdisk"
1060?"FORMATdisk"
1065?"DELETEfile"
1070?"RENAMEfile"
1075?"UNLOCKfile"
1080?
1085?"V2.301/03/85"
1090?"by"
1095?"a.r.gausrab"
1100?
1105IFO>0ANDO<10THEN1115
1110O=0
1115POKE84,17:IFO=0THEN?"OPTION?><":GOTO1125
1120?"OPTION?>";O;"<"
1125A=USR(ADR(C$)):GET#1,KEY
1130IFKEY=155THEN1170:REM
1135IFKEY=126THEN1155:REM
1140IFO>10THEN1150
1145O=(O*10)+KEY-48:GOTO1105
1150O=KEY-48:GOTO1105
1155IFO>9THEN1165
1160O=0:GOTO1105
1165O=INT(O/10):GOTO1105
1170IFO=0THEN1105
1175GRAPHICS0:POKE752,1:POKE709,0:POKE710,204
1180ONOGOTO1390,1430,1490,1520,1200,1230,1260,1300,1350
1185?""
1190?"":?"":GET#1,KEY:GRAPHICS0:POKE752,1:IFKEY=155THEN1175
1195GOTO1005
1200?"":?"FILENAME/LENGTH":?:ERR=1
1205OPEN#2,6,0,"D:*.*":TRAP1225:C=5
1210INPUT#2,CAT$:?CAT$
1215C=C+1:IFC=20THENC=0:?"<MORE>":GET#1,KEY
1220GOTO1210
1225TRAP20000:CLOSE#2:?:?:GOTO1190
1230?"":ERR=2
1235?"formatdisk(space/n)"
1240GET#1,KEY:IFKEY=78THEN?:GOTO1185
1245?"INSERTDISKTOFORMAT":?"PRESSRETURN(esctoabort)":GET#1,KEY
1250IFKEY<>155THEN?:GOTO1185
1255?"WORKING....":XIO254,#2,0,0,"D:":?".......DONE":?:GOTO1190
1260?"":POKE752,0:?"WHATFILETOERASE":?"('nul'toabort)":ERR=3
1265?"D:";:INPUTCAT$:POKE752,1
1270IFCAT$=""THEN?:GOTO1185
1275IFLEN(CAT$)<3THEN?"":?"PRESSANYKEY":GET#1,KEY:?"":GOTO1260
1280IFCAT$(1,2)<>"D:"THEN?"":?"PRESSANYKEY":GET#1,KEY:?"":GOTO1260
1285?:?"deletefile(space/n)":GET#1,KEY:IFKEY=78THEN?:GOTO1185
1290?"INSERTDISKWITHFILE":?"PRESSRETURN(esctoabort)":GET#1,KEY:IFKEY<>155THEN?:GOTO1185
1295?"WORKING....":XIO33,#2,0,0,CAT$:?".......DONE":?:GOTO1190
1300CAT$(1)="":CAT$(40)="":CAT$(2)="":?"":POKE752,0:?"WHATFILETORENAME":ERR=4
1305?"('nul'toabort)":?"D:";:INPUTFILE$:POKE752,1
1310IFFILE$=""THEN?:GOTO1185
1315IFLEN(FILE$)<3THEN?"":?"PRESSANYKEY":GET#1,KEY:?"":GOTO1300
1320IFFILE$(1,2)<>"D:"THEN?"":?"PRESSANYKEY":GET#1,KEY:?"":GOTO1300
1325POKE752,0:FILE=LEN(FILE$):CAT$(1,FILE)=FILE$:?"NEWNAME";:INPUTFILE$:POKE752,1:IFFILE$=""THEN?:GOTO1185
1330CAT$(FILE+1,FILE+1)=",":CAT$(FILE+2,FILE+2+LEN(FILE$))=FILE$:?"";CAT$
1335?"renamefile(space/n)":GET#1,KEY:IFKEY=78THEN?:GOTO1185
1340?"INSERTDISKWITHFILE":?"PRESSRETURN(esctoabort)":GET#1,KEY:IFKEY<>155THEN?:GOTO1185
1345?"WORKING....":XIO32,#2,0,0,CAT$:?".......DONE":?:GOTO1190
1350?"":POKE752,0:?"WHATFILETOUNLOCK":?"('nul'toabort)":ERR=5
1355?"D:";:INPUTCAT$:POKE752,1
1360IFCAT$=""THEN?:GOTO1185
1365IFLEN(CAT$)<3THEN?"":?"PRESSANYKEY":GET#1,KEY:?"":GOTO1350
1370IFCAT$(1,2)<>"D:"THEN?"":?"PRESSANYKEY":GET#1,KEY:?"":GOTO1350
1375?:?"unlockfile(space/n)":GET#1,KEY:IFKEY=78THEN?:GOTO1185
1380?"INSERTDISKWITHFILE":?"PRESSRETURN(esctoabort)":GET#1,KEY:IFKEY<>155THEN?:GOTO1185
1385?"WORKING....":XIO36,#2,0,0,CAT$:?".......DONE":?:GOTO1190
1390ERR=6:?"":?"formatdisk(y/space)":GET#1,KEY:IFKEY<>89THEN1405
1395?"INSERTDISK":?"PRESSRETURN(esctoabort)":GET#1,KEY:IFKEY<>155THEN1405
1400?"WORKING....":XIO254,#2,0,0,"D:":?".......DONE":POKE764,46
1405?"writecodecruncher(space/n)":GET#1,KEY:IFKEY=78THEN?:GOTO1185
1410?"WORKING....":DISK=USR(IO,ADR(CODE$(1,128)),1,1)
1415DISK=USR(IO,ADR(CODE$(129,256)),2,1)
1420DISK=USR(IO,ADR(CODE$(257,384)),3,1)
1425?".......DONE":?:GOTO1190
1430ERR=7:?"":?"(pressesctoabort)":FILE$(1)="":FILE$(128)="":FILE$(2)=FILE$
1435DISK=USR(IO,ADR(FILE$),1,0):IFFILE$<>CODE$(1,128)THEN?"":?:GOTO1185
1440DISK=USR(IO,ADR(FILE$),3,0):CAT$=FILE$(109,128):?"CURRENTNAME";CAT$;""
1445?"NEWNAME?"
1450FORL1=1TO20:GET#1,KEY:IFKEY=32THENKEY=0
1455IFKEY=155THENPOP:GOTO1475
1460IFKEY=27THENPOP:?:GOTO1185
1465IFKEY=126ANDL1>=2THENL1=L1-1:POSITION15+L1,6:PUT#6,32:L1=L1-1:NEXTL1
1470POSITION15+L1,6:PUT#6,KEY:CAT$(L1,L1)=CHR$(KEY):NEXTL1:GOTO1480
1475FORL2=L1TO20:POSITION15+L2,6:PUT#6,0:CAT$(L2,L2)=CHR$(0):NEXTL2
1480?:?"writenewname(space/n)":GET#1,KEY:IFKEY=78THEN?:GOTO1185
1485?"WORKING....":FILE$(109,128)=CAT$:DISK=USR(IO,ADR(FILE$),3,1):?".......DONE":?:GOTO1190
1490ERR=8:?"":?"formatdisk(y/space)":GET#1,KEY:IFKEY<>89THEN1505
1495?"INSERTDISK":?"PRESSRETURN(esctoabort)":GET#1,KEY:IFKEY<>155THEN1505
1500?"WORKING....":XIO254,#2,0,0,"D:":?".......DONE":POKE764,46
1505?"writev2.2dup.sys(space/n)":GET#1,KEY:IFKEY=78THEN?:GOTO1185
1510?"WORKING....":OPEN#2,8,0,"D:DUP.SYS"
1515FORKEY=1TO614:PUT#2,ASC(DUP$(KEY,KEY)):NEXTKEY:CLOSE#2:?".......DONE":?:GOTO1190
1520ERR=9:?"":?"(esctoabort)":OPEN#2,12,0,"D:DUP.SYS"
1525NOTE#2,S,L1:FORL1=1TO40:GET#2,KEY:CAT$(L1,L1)=CHR$(KEY):NEXTL1
1530IFCAT$=DUP$(1,40)THEN1540
1535?"":?:CLOSE#2:GOTO1185
1540L1=92:POINT#2,S,L1:FORL2=1TO37:GET#2,BYTE:CAT$(L2,L2)=CHR$(BYTE+32):NEXTL2:POINT#2,S,L1
1545?"CURRENTNAME":?"";CAT$(1,37);"":?"NEWNAME?":?""
1550FORL1=1TO37:GET#1,KEY:IFKEY=155THENPOP:GOTO1575
1555IFKEY=27THENPOP:?:?:?:CLOSE#2:GOTO1185
1560IFKEY=126ANDL1>=2THEN1585
1565POSITION(L1<=35)*(2+L1)+(L1>=36)*(1+L1-35),(L1<=35)*8+(L1>=36)*9:PUT#6,KEY
1570CAT$(L1,L1)=CHR$(KEY):NEXTL1:GOTO1595
1575FORL2=L1TO37:POSITION(L2<=35)*(2+L2)+(L2>=36)*(1+L2-35),(L2<=35)*8+(L2>=36)*9:PUT#6,32
1580CAT$(L2,L2)="":NEXTL2:GOTO1595
1585L1=L1-1:POSITION(L1<=35)*(2+L1)+(L1>=36)*(1+L1-35),(L1<=35)*8+(L1>=36)*9:PUT#6,32:CAT$(L1,L1)=""
1590L1=L1-1:NEXTL1
1595?:?"writenewname(space/n)":GET#1,KEY:IFKEY=78THEN?:GOTO1185
1600?"WORKING....":FORL1=1TO37:PUT#2,ASC(CAT$(L1,L1))-32:NEXTL1:CLOSE#2:?".......DONE"
1605?:GOTO1190
20000TRAP20000:CLOSE#2:REM
20005?"":?"FATALERROR":?"ERRORENCOUNTEREDDURRING":A=0
20010IFERR=1THEN?"catalogfunction":A=1
20015IFERR=2THEN?"formatfunction":A=1
20020IFERR=3THEN?"deletefunction":A=1
20025IFERR=4THEN?"renamefunction":A=1
20030IFERR=5THEN?"unlockfunction":A=1
20035IFERR=6THEN?"writecodecruncherfunction":A=1
20040IFERR=7THEN?"editcodecruncherfunction":A=1
20045IFERR=8THEN?"writev2.2dup.sysfunction":A=1
20050IFERR=9THEN?"editv2.2dup.sysfunction":A=1
20055IFA=0THEN?"unknownfunction":A=1
20060A=0:ERR=PEEK(195):IFERR=138THEN?"'DEVICEDOESNOTRESPOND'":A=1
20065IFERR=144THEN?"'DISKERROR.diskwriteprotected'":A=1
20070IFERR=162THEN?"'DISKFULL'":A=1
20075IFERR=165THEN?"'BADFILENAME'":A=1
20080IFERR=167THEN?"'FILELOCKED'":A=1
20085IFERR=170THEN?"'FILENOTFOUND'":A=1
20090IFA=0THEN?"UNKNOWNERROR"
20095?"ERRORNUMBER";ERR:?"":GOTO1190
30000DIMIO$(44),CODE$(384),CAT$(40),FILE$(128),DUP$(614),C$(106)
30005IO$="hhhhhhhWRS`"
30010CODE$(1,100)="`DX01iG0;GZniHI8"
30015CODE$(101,199)="I8iHGGiBO81G`Zn!CD%CE"
30020CODE$(200,297)="FCCDECFDBlJBl1R@Y"
30025CODE$(298,384)="0B))`%H$H`pppGlppAXcodecruncher"
30030IO=ADR(IO$)
30035DUP$(1,80)="',@Fver'((<PdxpppB'pF@P@P@P@P@P@P@P@P@PA'"
30040DUP$(81,160)="?:*8=9S:D1:*.*0D("
30045DUP$(161,240)="Ix0',01'L'2LC('HiX"
30050DUP$(241,320)="i2hi.2Xi3Xi4Xi()5'0<)HHLB"
30055DUP$(321,400)="V`BV`BJD'EKVBJKD'EV"
30060DUP$(401,480)="0'1X'Y'BD2EHIV0O2HS222Y"
30065DUP$(481,560)="00)i2U`BD2EHIV`0))BJK/D"
30070DUP$(561,614)="EV0BD8EHIV88`("
30075C$(1,73)="heOHA:3,%"
30080C$(73,106)="02345`":TRAP20000:RETURN
References
Listing downloads
Downloads
Copyright holder
