home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PROGRAMS / UTILS / FLOPPIES / DSK_FIL.ZIP / FIL2DSK.BAS < prev   
Encoding:
BASIC Source File  |  1986-04-11  |  1.7 KB  |  37 lines

  1. 4 DEFINT A-Z:KEY OFF
  2. 5 DIM INT13(12),REGS(260):P=0:I=0:J=0:SUBRT=0
  3. 6 DATA &h55,&h89,&he5,&h8b,&h76,&h06,&h8b,&h04,&h8b,&h5c,&h02,&h8b,&h4c
  4. 8 DATA &h04,&h8b,&h54,&h06,&hcd,&h13,&h89,&h44,&h08,&h5d,&hca,&h02,&h00
  5. 10 P=VARPTR(INT13(0)):FOR I=1 TO 26:READ J:POKE P,J:P=P+1:NEXT I
  6. 15 REM
  7. 20 CLS:PRINT"FIL2DSK v1.1 - File to Diskette Converter - Rod L Renner"
  8. 25 PRINT:INPUT "Diskette Drive to Copy...";D$
  9. 30 DRV=(INSTR("aAbBcCdDeE",LEFT$(D$+" ",1))+1)\2:IF DRV=0 THEN 25 ELSE DRV=DRV-1
  10. 35 INPUT "Diskette Type (1) 160K, (2) 180K, (3) 320K, (4) 360K, (5) 1.2M...";DT
  11. 40 IF DT<1 OR DT>5 THEN 35
  12. 45 ON DT GOTO 50,52,55,60,65
  13. 50 NSEC=8:NTRK=40:NSIDES=0:GOTO 75
  14. 52 NSEC=9:NTRK=40:NSIDES=0:GOTO 75
  15. 55 NSEC=8:NTRK=40:NSIDES=1:GOTO 75
  16. 60 NSEC=9:NTRK=40:NSIDES=1:GOTO 75
  17. 65 NSEC=15:NTRK=80:NSIDES=1:GOTO 75
  18. 70 REM
  19. 75 INPUT "Name of Input Disk File...";F$:OPEN "R",1,F$,128
  20. 80 FIELD #1,128 AS O$
  21. 85 GOSUB 185
  22. 95 REM s$=space$(128)
  23. 100 FOR TRK=0 TO NTRK-1:FOR SIDE=0 TO NSIDES:FOR SEC=1 TO NSEC
  24. 105 I=5:FOR J=1 TO 4:GET#1
  25. 107 FOR K=1 TO 127 STEP 2:REGS(I)=CVI(MID$(O$,K,2)):I=I+1:NEXT K:NEXT J
  26. 110 REGS(0)=&H301:REGS(2)=TRK*256+SEC:REGS(3)=SIDE*256+DRV
  27. 112 R=CSRLIN:C=POS(0):LOCATE 25,1:PRINT"Track: ";TRK,"Sector: ";SEC,"Side: ";SIDE,
  28. 115 REGS(1)=VARPTR(REGS(5)):SUBRT=VARPTR(INT13(0)):CALL SUBRT(REGS(0))
  29. 120 PRINT "I/O Return Code: ";HEX$(REGS(4));:LOCATE R,C
  30. 125 IF REGS(4) AND -256 THEN BEEP:PRINT"Error: ";HEX$(REGS(4)):LOCATE CSRLIN-1,1:GOSUB 185:GOTO 110
  31. 135 NEXT SEC:NEXT SIDE:NEXT TRK
  32. 140 CLOSE
  33. 145 BEEP:BEEP:BEEP:INPUT "Transfer complete - Again (Y/N)";A$
  34. 150 IF INSTR("Yy",LEFT$(A$+" ",1)) THEN 20 ELSE STOP
  35. 185 REGS(0)=&H0
  36. 190 REGS(1)=VARPTR(REGS(5)):SUBRT=VARPTR(INT13(0)):CALL SUBRT(REGS(0)):RETURN
  37.