home *** CD-ROM | disk | FTP | other *** search
/ Frostbyte's 1980s DOS Shareware Collection / floppyshareware.zip / floppyshareware / USCX / DOSUT-08.ZIP / RESCMD.BAS < prev    next >
BASIC Source File  |  1983-12-10  |  3KB  |  83 lines

  1. 100 '
  2. 200 ' COMMAND.COM   MODIFICATION TRANSFER PROGRAM
  3. 300 '               "RESCMD.BAS"                   Last Update 11/26/82
  4. 400 '
  5. 350 '                                              John Chapman
  6. 351 '                                              CIS 70205,1217
  7. 500 'This program will read in an unmodified COMMAND.COM (Release 1.1)
  8. 600 '     and produce an output file called COMMAND.CMD.. which can be
  9. 700 '     renamed to COMMAND.COM.. This output file will contain all of 
  10. 800 '     the modifications to COMMAND.COM currently available from the
  11. 900 '     author. See COMMAND.DOC for complete list and limitations.
  12. 910 '
  13. 950 DEFINT A-Z
  14. 1000 BFIL$ = "COMMAND.COM"
  15. 1100 CFIL$ = "COMMAND.CMD"
  16. 1200 INPUT "Enter Drive where COMMAND.COM resides",DRV$
  17. 1210 BFIL$=DRV$+BFIL$
  18. 1220 CFIL$=DRV$+CFIL$
  19. 1230 '
  20. 1240 OPEN BFIL$ FOR INPUT AS #1:CLOSE #1
  21. 1250 OPEN BFIL$ AS #1 LEN=1
  22. 1260 V= VARPTR(#1)
  23. 1270 L0=PEEK(V)
  24. 1280 IF L0 <>4 THEN GOTO 5000
  25. 1290 L1=PEEK(V+17) + 256 * PEEK(V+18) 'FILESIZE IN BYTES
  26. 1300 LIMIT = L1: IF LIMIT>6800 THEN PRINT "file too large":GOTO 5000 :
  27. 2000 'check base and change files for random, size and
  28. 2100 ' equal length .. abort if not correct conditions
  29. 2200 PRINT "BASE    FILE SIZE = ",LIMIT
  30. 2300 READ T:PRINT "ORIGIN  FILE SIZE = ",T
  31. 3000 DIM BB%(6800)
  32. 3100 '
  33. 3200 FIELD #1,1 AS INB$
  34. 3300 '
  35. 3400 FOR I = 1 TO LIMIT
  36. 3410 GET #1,I
  37. 3420 BB%(I) = ASC(INB$)
  38. 3430 NEXT I
  39. 3431 CLOSE #1
  40. 3432 '
  41. 3440 READ BYTES:
  42. 3500 FOR I = 1 TO BYTES
  43. 3600 READ IKJ%,XOLD%,XNEW%
  44. 3700 IF BB%(IKJ%) <> XOLD% THEN GOTO 3950
  45. 3800 BB%(IKJ%) = XNEW%
  46. 3900 GOTO 4300
  47. 3950 PRINT "VERIFY REJECT AT ";IKJ%," (";XOLD%;" / ";XNEW%;") ":
  48. 4100 PRINT "TARGET FILE COMMAND.CMD UNUSABLE":
  49. 4200 END
  50. 4300 NEXT I
  51. 4500 '
  52. 4501 PRINT "last byte = ";IKJ%;" was ";XOLD%;" now ";XNEW%
  53. 4600 '
  54. 4610 OPEN CFIL$ FOR OUTPUT AS #2:CLOSE #2
  55. 4620 OPEN CFIL$ AS #2 LEN=1
  56. 4630 FIELD #2,1 AS INC$
  57. 4700 '
  58. 4710 FOR I = 1 TO LIMIT
  59. 4712 IF BB%(I)>255 THEN PRINT "FORMAT ERROR AT";I;" = ";BB%(I):
  60. 4720 LSET INC$ = CHR$(BB%(I))
  61. 4730 PUT #2,I
  62. 4740 NEXT I
  63. 4741 PRINT I;" Bytes Written to COMMAND.CMD"
  64. 4750 CLOSE #2
  65. 4760 '
  66. 4800 PRINT "File COMMAND.CMD Created .. Rename to Use"
  67. 4900 END
  68. 4990 ' ** DATA STATEMENT WRITE SUBROUTINE
  69. 4991 '
  70. 4999 DATA  4959,  34
  71. 5000 data  865, 70, 84, 868, 3, 79, 869, 1, 4
  72. 5010 DATA  870, 161, 5, 871, 2, 12, 872, 0, 1
  73. 5020 DATA  877, 163, 64, 878, 82, 163, 879, 4, 3
  74. 5030 DATA  880, 45, 1, 881, 12, 161, 882, 1, 2
  75. 5040 DATA  883, 144, 0, 885, 79, 82, 890, 232, 184
  76. 5050 DATA  1369, 140, 144, 1370, 200, 161, 1371, 43, 2
  77. 5060 DATA  1372, 6, 0, 1373, 159, 43, 1374, 15, 6
  78. 5070 DATA  1375, 186, 159, 1376, 16, 15, 1377, 0, 186
  79. 5080 DATA  1378, 247, 16, 1379, 226, 0, 1380, 11, 247
  80. 5090 DATA  1381, 210, 226, 1382, 116, 115, 4052, 140, 144
  81. 5100 DATA  4053, 200, 161, 4054, 5, 2, 4055, 192, 0
  82. 5110 DATA  4056, 0, 72
  83.