home *** CD-ROM | disk | FTP | other *** search
/ Generous Efforts of Many / gemcd.zip / GEM.CD.A.po / FEATURES:BEAGLE / EXTRA.K.S1.SHK / EXTRA.K.DOS3.3 / DISK.COMPARE.bas < prev    next >
BASIC Source File  |  2000-01-01  |  4KB  |  37 lines

  1. 1  IF  PEEK(103) + PEEK(104) *256 < >2049  THEN  POKE 103,1: POKE 104,8: POKE 2048,0: PRINT  CHR$(4)"RUN DISK.COMPARE"
  2. 2  PRINT  CHR$(4)"NOMONICO": PRINT  CHR$(4)"MAXFILES 1": PRINT  CHR$(21): TEXT : NORMAL : HOME :L = 21:H =  PEEK(116):H = H -1:M = H -L:NT =  INT(M/16): IF NT <2  THEN  PRINT "Insufficient memory!" CHR$(7): END 
  3. 3  PRINT  CHR$(4)"BLOAD DISK.COMPARE.M"
  4. 4 S = 4608: POKE S,L: POKE S +3,L +16: POKE S +4,L +NT *16: LOMEM: (L +NT *16) *256:S = 4608:SL = S +7:DR = S +8:PS = 1:Q$ =  CHR$(34): FOR I = 1 TO 7: IF  PEEK(49152 +I *256) = 162  THEN S1 = I *16
  5. 5  NEXT :S2 = S1:D1 = 1:D2 = 2:C$ =  CHR$(13):E$ =  CHR$(27):SP = 5312
  6. 6  HOME : INVERSE : GOSUB 19: NORMAL : GOSUB 32: HOME : GOSUB 19: GOSUB 10: INVERSE : VTAB 5: HTAB 3: PRINT  SPC( 16)"TRACK" SPC( 16): PRINT :A$ = "     SECTOR     ": FOR I = 1 TO 16: HTAB 3: PRINT  MID$ (A$,I,1);: HTAB 39: PRINT " ": NEXT : HTAB 3: PRINT  SPC( 37): PRINT : NORMAL : GOTO 20
  7. 7  POKE 32,3: POKE 33,35: POKE 34,5: POKE 35,21: HOME : TEXT : POKE S +9,0:D = 1: GOSUB 25: CALL S +12:D = 2: GOSUB 25: CALL S +18: IF  PEEK(S +9)  THEN  RETURN 
  8. 8  ON  PEEK(S +10) = 255 GOTO 9: CALL S +15:D = 3 -D: GOSUB 25: CALL S +18: ON  PEEK(S +9) GOTO 9: GOTO 8
  9. 9  RETURN 
  10. 10  VTAB 2: PRINT : PRINT  SPC( 13)"1111111111222222222233333     01234567890123456789012345678901234": PRINT : POKE 33,2: PRINT " 0 1 2 3 4 5 6 7 8 9101112131415";: POKE 33,40: POKE S +11,255: RETURN 
  11. 12  VTAB 2: PRINT : PRINT "   00000000000000001111111111111111222     0123456789ABCDEF0123456789ABCDEF012": PRINT : POKE 33,2: PRINT " 0 1 2 3 4 5 6 7 8 9 A B C D E F";: POKE 33,40: POKE S +11,0: RETURN 
  12. 14  VTAB 23: PRINT : CALL  -868: HTAB 10: PRINT "Printer Slot (1-7)? "PS; CHR$(8);: GET B$: ON B$ = E$ GOTO 16: ON B$ = C$ GOTO 15: ON B$ <"1"  OR B$ >"7" GOTO 14:PS =  VAL(B$)
  13. 15  VTAB 23: PRINT : CALL  -868: FLASH : HTAB 10: PRINT " TURN ON YOUR PRINTER ";: NORMAL : VTAB 1: PRINT : PRINT  CHR$(4)"PR#"PS: PRINT  CHR$(9)"80N": VTAB 24: CALL  -868: VTAB 1: CALL SP: VTAB 1: PRINT : PRINT  CHR$(4)"PR#0"
  14. 16  RETURN 
  15. 17  VTAB 1: PRINT : PRINT  CHR$(4)"MAXFILES 3": VTAB 23: PRINT : CALL  -868: VTAB 23: DEL 3,3: END 
  16. 18  VTAB 7: HTAB 13: PRINT "Disk 1 Slot:   "S1/16: HTAB 20: PRINT "Drive:  "D1: PRINT : HTAB 13: PRINT "Disk 2 Slot:   "S2/16: HTAB 20: PRINT "Drive:  "D2: VTAB 24: INVERSE : PRINT "    COPYRIGHT 1985, BY MARK SIMONSEN   ";: POKE 2039,32: NORMAL : RETURN 
  17. 19  VTAB 1: HTAB 1: PRINT "    BEAGLE BROS DISK COMPARE PROGRAM    ": RETURN 
  18. 20  VTAB 23: PRINT : CALL  -868: HTAB 6: INVERSE : PRINT "C";: NORMAL : PRINT "ompare, ";: INVERSE : PRINT "D";: NORMAL : PRINT "ec, ";: INVERSE : PRINT "H";: NORMAL : PRINT "ex, ";: INVERSE : PRINT "P";: NORMAL : PRINT "rint, ";: INVERSE : PRINT "Q";: NORMAL : PRINT "uit ";
  19. 21  GET A$:A$ =  CHR$( ASC(A$) -32 *(A$ >"_")): ON A$ = "Q" GOTO 17: ON A$ = E$ GOTO 6: ON A$ = "D" GOSUB 10: ON A$ = "H" GOSUB 12: ON A$ = "P" GOSUB 14: ON A$ < >"C" GOTO 20: ON PD GOTO 23: VTAB 23: PRINT : CALL  -868: HTAB 5: PRINT "Insert DISKS and press RETURN ";
  20. 22  GET A$: ON A$ = E$ GOTO 24: ON A$ < >C$ GOTO 22
  21. 23 EF = 1: GOSUB 7
  22. 24  GOTO 20
  23. 25  IF  PEEK(S +9)  THEN  POP : RETURN 
  24. 26  IF D = 1  THEN  POKE DR,D1: POKE SL,S1
  25. 27  IF D = 2  THEN  POKE DR,D2: POKE SL,S2
  26. 28  ON   NOT PD GOTO 30: VTAB 23: PRINT : CALL  -868: HTAB 5: PRINT "Insert DISK ";: INVERSE : PRINT D;: NORMAL : PRINT " and press RETURN ";
  27. 29  GET A$: ON EF  AND A$ = E$ GOTO 31: ON A$ < >C$ GOTO 29
  28. 30 EF = 0: VTAB 23: PRINT : CALL  -868: HTAB 6: PRINT "("Q$"."Q$" = Same, "Q$"X"Q$" = Different)";: RETURN 
  29. 31  POP : RETURN 
  30. 32  GOSUB 18
  31. 33 N = S1/16: VTAB 7: HTAB 28: GOSUB 37: ON A$ = E$ GOTO 33:S1 = N *16
  32. 34 N = D1: VTAB 8: HTAB 28: GOSUB 38: ON A$ = E$ GOTO 33:D1 = N
  33. 35 N = S2/16: VTAB 10: HTAB 28: GOSUB 37: ON A$ = E$ GOTO 34:S2 = N *16:N = D2: VTAB 11: HTAB 28: GOSUB 38: ON A$ = E$ GOTO 35:D2 = N:PD = 1: IF S1 < >S2  OR D1 < >D2  THEN PD = 0
  34. 36  RETURN 
  35. 37 L = 1:H = 7: GOTO 39
  36. 38 L = 1:H = 2
  37. 39  GET A$: ON A$ = C$  OR A$ = E$ GOTO 36:K =  VAL(A$): ON K <L  OR K >H GOTO 39:N = K: PRINT A$: RETURN