Random game
Random game
Random game
Entry name:
 MFDUP.XLD, ver. 1.1 
Publisher/Developer:

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

    Disk utilities
  • Year:

    1983
  • Code:

    Dave Schambach
  • Media format:

    Diskette
  • Programming language:

    Atari BASIC
MFDUP.XLD, ver. 1.1 MFDUP.XLD, ver. 1.1 MFDUP.XLD, ver. 1.1 MFDUP.XLD, ver. 1.1 MFDUP.XLD, ver. 1.1 MFDUP.XLD, ver. 1.1 MFDUP.XLD, ver. 1.1
Listing 1
4REM,ver1.1
6REMDaveSchambach,7/83
8GOTO12
10CLOSE#2:OPEN#2,4,0,"K:":GET#2,A:CLOSE#2:RETURN
12GRAPHICS0:POKE709,0:POKE710,214:POKE752,1:POKE1913,80
14DIMCIO$(7),CIO2$(7):CIO$="hV`":CIO2$="hV`"
16DIMNAMES$(28*11),LOCK$(28),STRT(28),LENG(28),LINE$(30),TMP$(15),FILE$(15),USED(28),DIR$(17),V$(1):V$="N"
18BUFLEN=50*INT((FRE(0)-256)/50):DIMBUF$(BUFLEN):DRV=1
20POKE712,0:POSITION1,0:?"Drv,Drv,erify=";V$;",ormat,ir,opy,":GOSUB10:IFA=50THENDRV=2
22IFA=49THENDRV=1
24IFA=86ANDV$="N"THENPOKE1913,87:V$="Y":GOTO28
26IFA=86ANDV$="Y"THENPOKE1913,80:V$="N"
28IFA=70THEN260
30IFA=68THEN266
32IFA=67THEN38
34IFA=27THENPOKE1913,87:GRAPHICS0:END
36GOTO20
38?"InsertdiskinD1,hit":GOSUB10
40IFDRV=2THEN?"InsertdiskinD2,hit":GOSUB10
42OPEN#1,6,0,"D:*.*"
44FORI=1TOBUFLENSTEP50:BUF$(LEN(BUF$)+1)="":NEXTI
46?"Entertoduplicatefile:"
48FILES=0:TRAP68
50INPUT#1,LINE$:?LINE$;
52IFLINE$(10,16)="SECTORS"THEN70
54IFLINE$(3,13)="DOSSYS"THEN?:GOTO50
56IFLINE$(3,13)="DUPSYS"THEN?:GOTO50
58IFLINE$(3,13)="MEMSAV"THEN?:GOTO50
60?"dupl(Y/N)?";
62GOSUB10:?CHR$(A):IFA<>(89)THEN50
64FILES=FILES+1:NAMES$(FILES*11-10,FILES*11)=LINE$(3,13):LOCK$(FILES)=LINE$(1,1)
66GOTO50
68FILES=FILES-1
70CLOSE#1:?:IFFILES=0THEN20
72FORI=1TOFILES:STRT(I)=0:USED(I)=0:NEXTI
74INFILE=1:OUTFILE=1
76APPND=0
78INDEX=1
80IFINFILE>FILESTHEN130
82IFSTRT(INFILE)>0THEN88
84GOSUB246
86USED(FILENO)=INFILE
88FILE$=NAMES$(FILENO*11-10,FILENO*11)
90?"";FILE$(1,8);"";FILE$(9,11),
92GOSUB192
94OPEN#1,4,0,FILE$
96IFSTRT(INFILE)<>0THENPOINT#1,INA,INB:APPND=1:OUTFILE=OUTFILE-1
98STRT(INFILE)=INDEX:LENG(INFILE)=0
100RETRY=0
102GOSUB208
104IFISTAT=136THEN114
106IFINDEX>BUFLEN+1THEN?"":GOTO10
108IFISTAT<=1THEN124
110IFRETRY<5THENRETRY=RETRY+1:?"-";ISTAT:GOTO102
112?"after5retries,":GOTO20
114?LENG(INFILE)
116CLOSE#1
118INFILE=INFILE+1
120IFBUFLEN+1-INDEX>=125THEN80
122GOTO128
124?LENG(INFILE);""
126NOTE#1,INA,INB
128CLOSE#1
130OUTIND=1
132IFINDEX=1THEN166
134IFDRV<2THEN?"Insertdisk,hit":GOSUB10
136FORI=1TOFILES:IFUSED(I)=OUTFILETHENFILENO=I
138NEXTI
140FILE$=NAMES$(FILENO*11-10,FILENO*11)
142?"";FILE$(1,8);"";FILE$(9,11)
144GOSUB192
146IFDRV=2THENTMP$=FILE$(3):FILE$="D2:":FILE$(4)=TMP$
148IFAPPND<>0THEN154
150TRAP272:OPEN#2,8,0,FILE$
152GOTO156
154IFDRV<2THENOPEN#2,9,0,FILE$
156APPND=0
158GOSUB230
160IFINFILE<>OUTFILEORDRV<>2THENCLOSE#2
162OUTFILE=OUTFILE+1
164IFOUTIND<INDEXTHEN136
166IFINFILE>FILESTHEN172
168IFDRV<2THEN?"Insertdisk,hit":GOSUB10
170GOTO78
172TRAP258:FORI=1TOFILES:IFLOCK$(I,I)="*"THEN174:NEXTI:GOTO272
174IFINDEX=1THEN?"Insertdisk,hit":GOSUB10
176FORJ=1TOFILES
178IFLOCK$(J,J)=""THEN190
180FILE$=NAMES$(J*11-10,J*11)
182?"";FILE$
184GOSUB192
186IFDRV=2THENTMP$=FILE$(3):FILE$="D2:":FILE$(4)=TMP$
188XIO35,#1,0,0,FILE$
190NEXTJ:DNO=DRV:GOTO272
192TMP$=FILE$
194FILE$="D:"
196FORI=1TO8
198IFTMP$(I,I)=""THEN204
200FILE$(LEN(FILE$)+1)=TMP$(I,I)
202NEXTI
204FILE$(LEN(FILE$)+1)="."
206FILE$(LEN(FILE$)+1)=TMP$(9,11):RETURN
208POKE850,7
210I=ADR(BUF$(INDEX))
212POKE852,I-256*INT(I/256):POKE853,INT(I/256)
214I=BUFLEN+1-INDEX
216I=125*INT(I/125)
218POKE856,I-256*INT(I/256):POKE857,INT(I/256)
220I=USR(ADR(CIO$))
222I=PEEK(856)+256*PEEK(857)
224ISTAT=PEEK(851):IFISTAT>1ANDISTAT<>136THENRETURN
226LENG(INFILE)=LENG(INFILE)+I
228INDEX=INDEX+I:RETURN
230POKE866,11
232I=ADR(BUF$(OUTIND))
234POKE868,I-256*INT(I/256):POKE869,INT(I/256)
236I=LENG(OUTFILE)
238POKE872,I-256*INT(I/256):POKE873,INT(I/256)
240I=USR(ADR(CIO2$))
242IFPEEK(867)>1THEN258
244OUTIND=OUTIND+LENG(OUTFILE):RETURN
246FILENO=-1:FILE$="||||||||||||"
248FORI=1TOFILES:IFUSED(I)<>0THEN256
250IFFILE$<NAMES$(I*11-10,I*11)THEN256
252FILE$=NAMES$(I*11-10,I*11)
254FILENO=I
256NEXTI:RETURN
258POSITION11,23:?"";CHR$(DRV+176):GOTO20
260POKE712,52:?"EntertoD";DRV:GOSUB10:IFA<>89THEN20
262DIR$="D":IFDRV=2THENDIR$="D2"
264TRAP258:XIO254,#2,0,0,DIR$:GOTO20
266?"of:or":GOSUB10:DNO=1:IFA=50THENDNO=2
268IFDRV=1THENDNO=1
270IFA<49ORA>50THEN20
272?"";CHR$(DNO+176):GOTO274
274I=0:DIR$="D:*.*":IFDNO=2THENDIR$="D2:*.*"
276TRAP278:CLOSE#3:OPEN#3,6,0,DIR$:FORI=1TO60:I=I+1:INPUT#3,DIR$:?DIR$:NEXTI
278BUF$="":GOTO20	

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!