home *** CD-ROM | disk | FTP | other *** search
/ The Glitch Apple Disk Collection / 2014.glitch.apple.collection.zip / indexed / CRKUTIL1.DSK / COPYC.bas < prev    next >
BASIC Source File  |  2014-09-09  |  3KB  |  54 lines

  1. 65  POKE 47426,24
  2. 70  PRINT "<CTRL-D>BLOAD COPY.OBJ0": REM   A$2C0
  3. 80  HOME : PRINT "   APPLE DISKETTE DUPLICATION PROGRAM": PRINT : PRINT 
  4. 90  CALL 704:CS =  PEEK(718)/16
  5. 100  POKE 715, PEEK(110) +1: REM BUFSTART
  6. 110  POKE 716, PEEK(112) -1: REM BUFEND
  7. 130 I$ = " ORIGINAL":N = CS:A = 718: GOSUB 310:MS = N:N =  PEEK(720): GOSUB 320:MD = N:A = 717
  8. 132 I$ = "DUPLICATE":N = MS: GOSUB 310:SS = N:N = 3 -MD: GOSUB 320:SD = N
  9. 160 FT = 0
  10. 163  VTAB 5: HTAB 24: PRINT "       ": VTAB 8: HTAB 24: PRINT "          "
  11. 165  CALL 704: POKE 717,SS *16: POKE 718,MS *16: POKE 719,SD: POKE 720,MD
  12. 170  VTAB 17: POKE 34,16: CALL  -936
  13. 175  HOME : POKE 222,0
  14. 180  PRINT "-- PRESS 'RETURN' KEY TO BEGIN COPY --";: INPUT " ";I$
  15. 185  HOME 
  16. 190 DK$ = " ORIGINAL": GOSUB 360: REM  GET ORIG DISK
  17. 195  VTAB 5: HTAB 24: INVERSE : PRINT "READING": NORMAL 
  18. 200  CALL 707: REM   READ A HUNK
  19. 210  IF  PEEK(713) = 2  THEN 280: REM  ERROR!
  20. 225  VTAB 5: HTAB 24: PRINT "       ": IF  PEEK(713) = 1  THEN 290
  21. 230  IF FT  THEN 255: REM  NOT FIRST RD
  22. 240 DK$ = "DUPLICATE": GOSUB 360: REM  GET DUP DISK
  23. 245  ONERR  GOTO 275
  24. 246  VTAB 8: HTAB 24: INVERSE : PRINT "FORMATTING": NORMAL 
  25. 250  PRINT "<CTRL-D>INIT XXX,S";SS;",D";SD;",V"; PEEK(714):FT = 1
  26. 251  VTAB 8: HTAB 24: PRINT "          "
  27. 252  POKE 216,0: POKE 222,0
  28. 253  GOTO 256
  29. 255 DK$ = "DUPLICATE": GOSUB 360: REM  GET DUP DISK
  30. 256  VTAB 8: HTAB 24: INVERSE : PRINT "WRITING";: NORMAL : PRINT "    "
  31. 260  CALL 710: REM   WRITE A HUNK
  32. 265  VTAB 8: HTAB 24: PRINT "       "
  33. 270  IF  PEEK(713) < >2  THEN 190
  34. 275  IF  PEEK(222) = 255  THEN  STOP 
  35. 277  VTAB 18: INVERSE : PRINT "****** UNABLE TO WRITE ******<CTRL-G><CTRL-G>": GOTO 290
  36. 280  VTAB 18: INVERSE : PRINT "****** UNABLE TO READ ******<CTRL-G><CTRL-G>"
  37. 290  VTAB 19: NORMAL : POKE  -16368,0: PRINT : INPUT "DO YOU WISH TO MAKE ANOTHER COPY?";I$: IF  LEN(I$) = 0  THEN 300
  38. 295  IF  LEFT$(I$,1) = "Y"  THEN 160
  39. 300  IF  LEFT$(I$,1) < >"N"  THEN 290
  40. 305  TEXT : END 
  41. 310  PRINT : GOSUB 350: PRINT N;: NORMAL : HTAB 1: PRINT I$;"  SLOT: ";:L = 1:H = 7: GOSUB 330: POKE A,N *16: RETURN 
  42. 320  GOSUB 350: PRINT N;: NORMAL : HTAB 4: PRINT "       DRIVE: ";:L = 1:H = 2: GOSUB 330: RETURN 
  43. 330 K =  PEEK( -16384): IF K <128  THEN 330: POKE  -16368,0: IF K = 141  THEN 340:K = K -176: IF K <L  OR K >H  THEN 330:N = K
  44. 335  POKE  -16368,0: IF K = 141  THEN 340
  45. 336 K = K -176: IF K <L  OR K >H  THEN 330
  46. 337 N = K
  47. 340  HTAB 20: PRINT N;"                  ": RETURN 
  48. 350  INVERSE : HTAB 22: PRINT "DEFAULT = ";: POKE ( PEEK(41) *256 + PEEK(40) +14),96: RETURN 
  49. 360  IF MS < >SS  THEN  RETURN 
  50. 370  IF MD < >SD  THEN  RETURN 
  51. 375  HOME : IF  LEFT$(DK$,1) = "D"  THEN  PRINT 
  52. 380  PRINT "INSERT ";DK$;" DISK AND PRESS RETURN";: INPUT " ";DK$
  53. 385  CALL  -936
  54. 390  RETURN