Random game
Random software
Random demo
Entry name:
 MenuPlus v2.5 
Publisher/Developer:

BELLCOM - Public Domain Library
(Software library)
  • Category:

    Disk utilities
  • Code:

    Paul Marentette,Mark Weber
  • Media format:

    Diskette
  • Programming language:

    Atari BASIC
MenuPlus v2.5 MenuPlus v2.5
Listing 1
0REMMENUPLUSBYPAULMARENTETTE
1REMVERSIONCOMPILATIONSANDMODIFICATIONSBYMARKWEBER
9FORZS=1TO100:NEXTZS:CLR
20N0=0:N1=1:N2=N1+N1:N3=N2+N1:N4=N2+N2:N5=N4+N1:N6=N4+N2:N8=N6+N2:N10=N6+N4:N30=N10*N3:CR=155:FL=N10+N3
30DIMF$(N30),N$(N30),CMD$(15),FN$(64*FL):DV=N0:GOTO60
40?CHR$(125);:SETCOLORN2,13,N4:SETCOLORN4,13,N4:?#DV;"**MENUPLUS**","":?#DV:RETURN
50POSITIONN2,ROW-2:FORI=N0TON6:?CHR$(CR+N1);:NEXTI:RETURN
60REM
70POKE82,N0:POKE83,39:F$="D:*.*":OPEN#N1,N6,N0,F$:GOSUB40:N=N0
80TRAP130:INPUT#N1;F$:IFLEN(F$)<FL+N4THENN=N-N1:?#DV;"";F$(N1,N3);"FREESECTORS":GOTO130
90N$=F$(N1,N1):N$(N2)=F$(N3):FN$(N*FL+N1,N*FL+FL)=F$(N1,FL):IFN<N10THEN?#DV;"";
100PRINT#DV;N;">";N$;"";:IFDVTHENIFN/N2<>INT(N/N2)THEN?#DV:GOTO120
110IFPEEK(84)=15THEN?:?"PRESSFORRESTOFDIRECTORY";:INPUTF$:GOSUB40
120N=N+N1:GOTO80
130CLOSE#N1:POKE82,N2:?
140CMD$="":IFDVTHENCLOSE#DV:DV=N0
150?"R-RUNK-LOCK(*)D-DELETE":?"L-LOADU-UNLOCKN-RENAME"
160?"E-ENTERP-PRINTOUTQ-QUIT":?"C-COPYB-BINARY";"^-FORMAT"
161?"M-MAKEAUTORUN.SYSFILE":?"PRESSTORUNAGAIN":?
162ROW=PEEK(84)-N5
170TRAP410:?"COMMAND?";:OPEN#N1,N4,N0,"K:":GET#N1,C:CLOSE#N1:?CHR$(C);:IFC=CRTHEN70
175IFC=67THEN3300
177IFC=94THEN3500
178IFC=66THEN3580
180IFC<>82ANDC<>75ANDC<>68ANDC<>76ANDC<>85ANDC<>78ANDC<>69ANDC<>80ANDC<>81ANDC<>77THEN410
190IFC=81THENGRAPHICS0
191IFC=81THENEND
192IFC=67THENGOTO3300
195IFC=77THENGOTO2000
200IFC=80THENDV=N2:OPEN#DV,N8,N0,"P:":GOTO70
210GOSUB50:TRAP210:?"FILENUMBER=>";:INPUTN$:FN=VAL(N$):TRAP420:IFFN<N0ORFN>NTHEN210
220N$=FN$(FN*FL+N3,FN*FL+N10):N$(LEN(N$)+N1)=".":N$(LEN(N$)+N1)=FN$(FN*FL+11,FN*FL+FL)
230IFN$(N10,N10)=""THENN$=N$(N1,N8)
240F$="D:":FORI=N1TOLEN(N$):IFN$(I,I)=""THEN260
250F$(LEN(F$)+N1)=N$(I,I)
260NEXTI:IFC=82THENIFF$="D:DOS.SYS"THENDOS
270IFC=82THENRUNF$
280IFC=76THENLOADF$
290IFC=69THEN450
300IFC=68THENX=33:CMD$="DELETE":?:?CMD$;F$;"?(Y/N)";
310IFC=68THENGOSUB440:IFI<>89THENGOSUB50:GOTO140
320IFC=75THENX=35
330IFC=85THENX=36
340IFC=78THENX=32:?:?"NEWNAME";:INPUTN$:F$(LEN(F$)+N1)=",":F$(LEN(F$)+N1)=N$:CMD$="RENAME"
350TRAP360:XIOX,#N1,N0,N0,F$:GOTO70
360IFPEEK(195)<>167THEN420
370GOSUB50:?CHR$(253);"FILEISLOCKED;DOYOUWANTTO":?CMD$;"ITANYWAY?(Y/N)";:GOSUB440
380IFI<>89THENGOSUB50:GOTO140
390TRAP420:IFX=33THENXIO36,#N1,N0,N0,F$:GOTO350
400XIO36,#N1,N0,N0,F$:XIOX,#N1,N0,N0,F$:F$(N3)=N$:XIO35,#N1,N0,N0,F$:GOTO70
410?CHR$(253);"*INVALIDCOMMAND*";:GOTO430
420GOSUB50:?CHR$(253);"*ERRORINPROCESSING";F$;"*";
430FORI=N1TO500:NEXTI:GOSUB50:GOTO140
440OPEN#N1,N4,N0,"K:":GET#N1,I:CLOSE#N1:RETURN
450GOSUB50:?:?"...JUSTPRESSRETURN":?"ENTER";CHR$(34);F$;CHR$(34):POSITIONN2,ROW-2:NEW
2000CLR
2010DIMZZ$(20):DIMA$(120):POKE82,0:?""
2011?"NEEDINSTRUCTIONS":INPUTZZ$
2012IFZZ$="Y"THENGOSUB3000
2013IFZZ$="N"THENGOSUB3018
2030OPEN#1,8,0,"D:AUTORUN.SYS"
2035PRINT"":?
2038INPUTA$
2039PRINTA$
2040FORI=1TO88:READD:PUT#1,D:NEXTI
2050PUT#1,255
2060PUT#1,255
2070PUT#1,0
2080PUT#1,6
2090L=61+LEN(A$)-1
2100PUT#1,L
2110PUT#1,6
2120FORI=1TO61
2130READD
2140IFI=12THENPUT#1,LEN(A$):GOTO2160
2150PUT#1,D
2160NEXTI
2170FORI=LEN(A$)TO1STEP-1
2180PUT#1,ASC(A$(I,I))
2190NEXTI
2200PUT#1,252
2210PUT#1,1
2220PUT#1,254
2230PUT#1,1
2240PUT#1,255
2250PUT#1,5
2252PUT#1,255
2254PUT#1,223
2260CLOSE#1
2270GOTO9
2300DATA255,255,0,56,75,56,169,80,141,0,3,169,1,141,1,3,169,63,141,2,3,169,64,141,3,3,169,5,141,6,3,141,5,3
2305DATA169,0,141,4,3,141,9,3,141,10,3,141,11,3,169,12,141,8,3,32,89,228,16,1,96,162,11,189,0,5,157,0,3,202
2310DATA16,247,32,89,228,48,6,32,6,5,108,12,0,96,226,2,227,2,0,56
2320DATA169,18,141,33,3,169,6,141,34,3
2330DATA169,10,141,128,6,76,105,243,251,243
2340DATA51,246,33,6,163,246,51,246,60,246
2350DATA76,228,243,0,172,128,6,240,9,185
2360DATA60,6,206,128,6,160,1,96,140,33
2370DATA3,169,228,141,34,3,169,155,160,1
2380DATA96
3000?"":?"Thisprogramwillcreatean"
3001?"diskfilewhichwillloadautomatically"
3002?"atpowerup.Thisversionsupportsthe"
3003?"850INTERFACEwhenexecuted."
3005?"TheAUTORUN.SYSfileentersacommand"
3006?"lineforATARIBASICtoprocess."
3007?"Thisfeatureallowsautomaticloading"
3008?"ofBASICprograms."
3009?""
3010?:?"1.LOADDOS"
3011?"2.LOADANDEXECUTEAUTORUN"
3012?"3.INITIALIZEBASICCARTRIDGE"
3013?"4.EXEUCUTEBASICCOMMAND":?
3014?""
3015PRINT"GR.0:PRINT";CHR$(34);"PLEASEWAITWHILELOADING";CHR$(34);":RUN";CHR$(34);"D:MENU";CHR$(34)
3016?""
3017?"DON'TFORGETYOUCANPROGRAMS"
3018?"PRESSTOCONTINUE":INPUTA$
3020RETURN
3300GOSUB50:CLR:GOSUB3308:GOSUB3310
3301DIMMLR$(30),I$(15),R$(15),D$(1):MLR$="hhEhDBHIV`":?"FILETOBECOPIED":INPUTI$
3302?"INSERTSOURCEDISK,PRESS";CHR$(253):INPUTR$:M=ADR(MLR$):I=0
3303A=ADR(D$):OPEN#1,4,I,I$:I=USR(M,A):I=0:S=PEEK(851)
3304IFS<>1ANDS<>136THENGOTO3310
3306CLOSE#1:?"INSERTDESTINATIONDISKPRESS";CHR$(253):INPUTR$:POKEM+12,11:POKEM+17,PEEK(856)
3307POKEM+22,PEEK(857):OPEN#1,8,I,I$:I=USR(M,A):?"DONE":CLOSE#1:RUN
3308?"FILETOBECOPIEDCANNOT":?"BELARGERTHAN";FRE(0);"RAM":?:RETURN
3310?"MULTIPLEDRIVESMAYBEUSED":?:RETURN
3500CLR:DIMFZ$(10):?""
3501?"INSERTDISKTOBEFORMATTEDINDRIVE1":?"PRESS":INPUTFZ$
3502XIO254,#1,0,0,"D1"
3503?"FORMATTINGCOMPLETE":?"FORMATANOTHERDISK":INPUTFZ$
3504IFFZ$="Y"THENGOTO3500
3505IFFZ$="N"THENGOTO3510
3510?"":?"PRESSRTORERUNPROGRAM":?"PRESSQTOQUIT":INPUTFZ$
3512IFFZ$="R"THENRUN
3513IFFZ$="Q"THENGOTO3575
3575GRAPHICS0:NEW
3580DIMA$(16):?:?"ENTERD:FILENAME":INPUTA$
3581A$(LEN(A$)+1)=CHR$(155):POKE5534,0:POKE5535,192
3582X=ADR(A$):Y=INT(X/256):POKE853,Y:POKE852,X-256*Y:X=USR(ADR("hL"))	

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!