home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128Toolkit / REL_SEQ (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  2.4 KB  |  97 lines

  1. 100 REM REL<>SEQ CONVERTER, DAVID WILLIMAS, 1983
  2. 110 :
  3. 120 REM THIS PROGRAM CAN BE USED TO GENERATE A SEQUENTIAL DISK FILE CONTAINING
  4. 130 REM ALL THE INFORMATION IN A RELATIVE FILE, OR TO RE-CONVERT THE SEQUENTIAL
  5. 140 REM FILE TO A RELATIVE ONE. IT SHOULD BE USEFUL IN COPYING REL. FILES
  6. 150 REM (ESPECIALLY ON SINGLE DISK DRIVES), OR IN UP/DOWNLOADING INFORMATION IN
  7. 160 REM RELATIVE FILES TO BULLETIN BOARD SYSTEMS.
  8. 170 :
  9. 180 REM THE PROGRAM SHOULD WORK ON ALL COMMODORE COMPUTERS AND DISK DRIVES
  10. 190 REM EXCEPT FOR VERY OLD DRIVES WITH DOS 1.0.
  11. 200 :
  12. 210 DIM X$(1000)
  13. 220 CLOSE 15:OPEN 15,8,15
  14. 230 PRINT "รด1. REL TO SEQ"
  15. 240 PRINT "2. SEQ TO REL"
  16. 250 PRINT "3. QUIT"
  17. 260 PRINT "WHICH ? ";
  18. 270 INPUT#15,E,E$,E1,E2
  19. 280 GET G$:IF G$<"1" OR G$>"3" THEN 280
  20. 290 PRINT G$
  21. 300 IF G$="3" THEN CLOSE 15:END
  22. 310 ON VAL(G$) GOTO 340,720
  23. 320 GOTO 220
  24. 330 :
  25. 340 INPUT "NAME OF REL FILE";RN$
  26. 350 PRINT "DRIVE NUMBER ? ";
  27. 360 GET D1$:IF D1$<"0" OR D1$>"1" THEN 360
  28. 370 PRINT D1$
  29. 380 CLOSE 1:OPEN 1,8,5,D1$+":"+RN$
  30. 390 INPUT#15,E,E$,E1,E2
  31. 400 IF E THEN PRINT E$:CLOSE 1:GOTO 340
  32. 410 INPUT "NAME OF SEQ FILE";SN$
  33. 420 PRINT "DRIVE NUMBER ? ";
  34. 430 GET D2$:IF D2$<"0" OR D2$>"1" THEN 430
  35. 440 PRINT D2$
  36. 450 CLOSE 2:OPEN 2,8,6,D2$+":"+SN$+",S,W"
  37. 460 INPUT#15,E,E$,E1,E2
  38. 470 IF E THEN PRINT E$:CLOSE 2:GOTO 410
  39. 480 FOR I=255 TO 1 STEP -1
  40. 490 PRINT#15    
  41. 500 INPUT#15,E,E$,E1,E2:IF E=0 THEN LE=I:I=1
  42. 510 NEXT
  43. 520 I=1
  44. 530 RL=255 AND I:RH=INT(I/256)
  45. 540 PRINT#15,"P"+CHR$(5)+CHR$(RL)+CHR$(RH)+CHR$(1)
  46. 550 INPUT#15,E,E$,E1,E2:IF E THEN RN=I-1:GOTO 570
  47. 560 I=I+1:GOTO 530
  48. 570 PRINT#2,"ENCODED RELATIVE FILE. DECODE WITH PROGRAM 'REL<>SEQ CONV.'";CHR$(13);
  49. 580 PRINT#2,LE;CHR$(13);RN;CHR$(13);
  50. 590 FOR I=1 TO RN
  51. 600 L$=""
  52. 610 RL=255 AND I:RH=INT(I/256)
  53. 620 FOR J=1 TO LE
  54. 630 PRINT#15,"P"+CHR$(5)+CHR$(RL)+CHR$(RH)+CHR$(J)
  55. 640 GET#1,G$:IF G$="" THEN G$=CHR$(0)
  56. 650 L$=L$+G$
  57. 660 NEXT
  58. 670 PRINT#2,L$;
  59. 680 NEXT
  60. 690 CLOSE1:CLOSE2
  61. 700 GOTO 230
  62. 710 :
  63. 720 INPUT "NAME OF SEQ FILE";SN    
  64. 730 PRINT "DRIVE NUMBER ? ";
  65. 740 GET D2$:IF D2$<"0" OR D2$>"1" THEN 740
  66. 750 PRINT D2$
  67. 760 CLOSE 2:OPEN 2,8,6,D2$+":"+SN$+",S,R"
  68. 770 INPUT#15,E,E$,E1,E2
  69. 780 IF E THEN PRINT E$:CLOSE 2:GOTO 720
  70. 790 INPUT "NAME OF REL FILE";RN$
  71. 800 PRINT "DRIVE NUMBER ? ";
  72. 810 GET D1$:IF D1$<"0" OR D1$>"1" THEN 810
  73. 820 PRINT D1$
  74. 830 INPUT#2,G$
  75. 840 INPUT#2,LE
  76. 850 INPUT#2,RN
  77. 860 FOR I=1 TO RN
  78. 870 X$(I)=""
  79. 880 FOR J=1 TO LE
  80. 890 GET#2,G$:IF G$="" THEN G$=CHR$(0)
  81. 900 X$(I)=X$(I)+G$
  82. 910 NEXT J,I
  83. 920 CLOSE2
  84. 930 RL=255 AND RN:RH=INT(RN/256)
  85. 940 CLOSE 1:OPEN 1,8,5,D1$+":"+RN$+",L,"+CHR$(LE)
  86. 950 INPUT#15,E,E$,E1,E2
  87. 960 IF E THEN PRINT E$:CLOSE 1:GOTO 790
  88. 970 PRINT#15,    
  89. 980 PRINT#1,"X";
  90. 990 FOR I=1 TO RN
  91. 1000 RL=255 AND I:RH=INT(I/256)
  92. 1010 PRINT#15,"P"+CHR$(5)+CHR$(RL)+CHR$(RH)+CHR$(1)
  93. 1020 PRINT#1,X$(I);
  94. 1030 NEXT I
  95. 1040 CLOSE 1
  96. 1050 GOTO 230
  97.