Random software
Random demo
Random demo
Entry name:
 Disk Format and Verify 
Publisher/Developer:

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

    Disk utilities
  • Code:

    Thad Mack
  • Media format:

    Diskette
  • Programming language:

    Atari BASIC
Disk Format and Verify Disk Format and Verify Disk Format and Verify
Listing 1
40GOSUB10000
41POKEA,B+E
45GRAPHICS17:POKED,E:?#6;"":?#6:?#6;"FORMATTED":?#6
50?#6;"DRIVE#1":POKED,11:?#6;"":POKED,14:?#6;"esc":POKEF,G
55IFPEEK(A)=BTHENGOSUBC:GRAPHICS17:GOTO41
60H=PEEK(F):IFH<>28THEN55
70GRAPHICS17:POKED,11:?#6;"working":POKEF,G
80H=USR(I,J,K,J,L):H=PEEK(K)+256*PEEK(K+J):IFH<721THEN1000
90POKED,11:?#6;"WORKING"
200FORM=NTOB+E:H=USR(I,O+M,P,J,Q):POKED,11:?#6;"":NEXTM
220H=USR(I,O,R,J,Q):H=USR(I,J,S,E,Q)
225IFTTHENXIOE,#E,B+E,N,"D:DOS.SYS":XIOB*U+U,#E,N,N,"D:"
230POKED,20:?#6;"aan??";:GET#U,M:IFM=89THEN41
240POKEV,B+E:POKEF,G:GRAPHICSN:END
1000GRAPHICSN:SETCOLORJ,N,N:SETCOLORU,E,B:SETCOLORW,N,E:POSITION13,N:?"":?:POKE752,J
1010X=U:Y=U:FORH=1536TO1662STEPU:Z=PEEK(H)+PEEK(H+J)*256:IFZ>720THENPOP:GOTO1040
1020POSITIONY,X:?"SECTOR#";Z;:X=X+J:IFX+Y=B*BANDH<1578THENX=U:Y=W+B*U
1025IFX+Y=37ANDH<1620THENX=U:Y=B*B+J
1030NEXTH:FORH=JTO1200:NEXTH:POKEF,G
1040POSITIONW,23:?"";:FORM=JTO500:NEXTM:H=PEEK(F)
1050IF(H<>43)AND(H<>35)THENPOSITIONW,23:?"SHALLITRYAGAIN??";:FORM=JTO500:NEXTM:GOTO1040
1060IFH=35THENGRAPHICSN:POKEF,G:END
1070POKEF,G:GOTO41
3000GRAPHICSN:POKE710,50:?"":POKED,B:?"()WriteDOStodisk(s)."
3005?:?:?"()Changedirectorysectors.":?:?:?"()Usebootsectors."
3010?:?:?"()Skiptoformat.":?:?:?"()Dobothand."
3013?:?:?"Selection:>>>";:POKEF,G
3015IFPEEK(F)=GTHEN3015
3020GET#U,M:IF(M>53)OR(M<49)THEN?"";:FORA=A1TO500:NEXTA:GOTOC
3025?CHR$(M);:M=M-48:GOTOC+M*100
3030END
3100?:IFNOTC1THEN3130
3105?"":POKED,B:?"CANNOTwriteDOSifBOOTsectorsarebeingused."
3110?:?"Press'Y'tocancelBOOTsectoruse.";:POKEF,G
3115IFPEEK(F)=GTHEN3115
3120GET#U,M:?CHR$(M):IFM=89THEN3130
3125?:?"WriteDOSCANCELED.";:FORM=JTOG:FORH=JTOU*B:NEXTH:?"";:NEXTM:GOTOC
3130T=J:C1=N:A$(11,11)=CHR$(E*B):?:?"AdjustingtowriteDOS.";
3135M=ASC(A$(U,U)):IFM>195THENM=M-E:A$(U,U)=CHR$(M):A$(W,W)=CHR$(M)
3140FORM=JTOG:FORH=JTOE*B:NEXTH:?"";:NEXTM:GOTOC
3200?:IFNOTC1THEN3230
3205?"":POKED,B:?"MUSTwritealteredDOStodiskette(s)."
3210?:?"Press'Y'tocancelBOOTsectoruse.";:POKEF,G
3215IFPEEK(F)=GTHEN3215
3220GET#U,M:?CHR$(M):IFM=89THEN3230
3225?:?"DirectoryalterCANCELED.";:FORM=JTOG:FORH=JTOU*B:NEXTH:?"";:NEXTM:GOTOC
3230T=J:C1=N:A$(11,11)=CHR$(E*B):?:?"AdjustingtowriteDOS.";:A$(11,11)=CHR$(E*B)
3235A$(U,U)=CHR$(195):A$(W,W)=CHR$(195):FORM=JTO100:FORH=JTOE*B:NEXTH:?"";:NEXTM
3240?"":POKE84,B:M=PEEK(V):?"Directorylengthis";M;"sector(s)."
3245?:?"NEWLENGTH=";:POKEF,G
3250IFPEEK(F)=GTHEN3250
3255GET#U,M:IF(M>D1)OR(M<49)THEN?"OUTOFBOUNDS";:FORM=JTOG:NEXTM:GOTO3240
3260?CHR$(M):M=M-48:POKEV,M:H=3270:GOTO3260+M
3261A$(E1,E1)=CHR$(G):A$(D1,D1)=CHR$(63):GOTOH
3262A$(E1,E1)=CHR$(G):A$(D1,D1)=CHR$(31):GOTOH
3263A$(E1,E1)=CHR$(G):A$(D1,D1)=CHR$(15):GOTOH
3264A$(E1,E1)=CHR$(G):A$(D1,D1)=CHR$(7):GOTOH
3265A$(E1,E1)=CHR$(G):A$(D1,D1)=CHR$(3):GOTOH
3266A$(E1,E1)=CHR$(G):A$(D1,D1)=CHR$(1):GOTOH
3267A$(E1,E1)=CHR$(G):A$(U,U)=CHR$(196):GOTOH
3268A$(E1,E1)=CHR$(127):A$(D1,D1)=CHR$(N)
3270M=B+E-M:H=ASC(A$(U,U)):H=H+M:A$(U,U)=CHR$(H):A$(W,W)=CHR$(H)
3275?:?"Directorychangedto";PEEK(V);"sector(s).":?:?"Press'Y'ifcorrect.";:POKEF,G
3280IFPEEK(F)=GTHEN3280
3285GET#U,M:IFM<>89THEN3240
3290?CHR$(M);:FORM=JTO100:NEXTM:GOTOC
3300?:IFNOTTTHEN3330
3305?"":POKED,B:?"CANNOTuseBOOTsectorsifDOSisbeingwritten."
3310?:?"Press'Y'tocancelDOSwrite.";:POKEF,G
3315IFPEEK(F)=GTHEN3315
3320GET#U,M:?CHR$(M):IFM=89THEN3330
3325?:?"UseBOOTsectorsCANCELED.";:FORM=JTOG:FORH=JTOU*B:NEXTH:?"";:NEXTM:GOTOC
3330C1=J:T=N:A$(11,11)=CHR$(127):?:?"AdjustingtouseBOOTsectors.";
3335M=ASC(A$(U,U)):M=M+E:A$(U,U)=CHR$(M):A$(W,W)=CHR$(M)
3340FORM=JTOG:FORH=JTOE*B:NEXTH:?"";:NEXTM:GOTOC
3400RETURN
3500C1=J:A$(U,U)=CHR$(198):A$(W,W)=CHR$(198):A$(11,11)=CHR$(127):T=N:GOTO3240
10000DIMB$(160),A$(128),C$(3),D$(385),E$(128):J=1:F=764:K=1536:L=33:G=255:C=3000
10005F1=82:O=360:U=J+J:E=U+J:W=U+U:B=W+J:A=53279:POKEA,B+E:Q=F1-U:D=84
10010GRAPHICS17:POKED,5:?#6;"DISKFORMAT":?#6:?#6;"":?#6:?#6;"verify":T=N
10015B$(1)="hhhhhhhhh8`1i":C1=N
10020B$(81)="i@!W)Y"
10022B$(150)=CHR$(155):V=3904
10024B$(151)="`"
10025POKED,20:?#6:?#6;"by:":I=ADR(B$)
10030FORH=1792TO1994:D$(H-1791,H-1791)=CHR$(PEEK(H)):NEXTH:D$(15,17)="":S=ADR(D$)
10040A$=""
10045A$(101)="":R=ADR(A$)
10050FORH=NTO128:POKEH+K,N:NEXTH:D1=56:E1=D1+A1
10055E$="":E$(128)="":E$(U)=E$:P=ADR(E$):OPEN#U,W,N,"K:":RETURN	

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!