home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib38b.dsk / RAM.DISK.LOADER.bas < prev    next >
BASIC Source File  |  2023-02-26  |  3KB  |  55 lines

  1. 10  REM  ******************************
  2. 20  REM  * RAM.DISK.LOADER            *
  3. 30  REM  * BY EDWARD D. OMICCIOLI, JR *
  4. 40  REM  * COPYRIGHT(C) 1990          *
  5. 50  REM  * MINDCRAFT PUBL. CORP.      *
  6. 60  REM  * CONCORD, MA  01742         *
  7. 70  REM  ******************************
  8. 80  IF  PEEK(104) < >64  THEN  POKE 103,1: POKE 104,64: POKE 16384,0: PRINT  CHR$(4)"RUN RAM.DISK.LOADER"
  9. 90  ONERR  GOTO 440
  10. 100  HOME : HTAB 15: PRINT "RAMDisk 3.3": HTAB 8: PRINT "by Edward D. Omiccioli, Jr."
  11. 110 DR = 1:DA =  PEEK(981) *256: REM  BOTTOM OF DOS ($9D00)
  12. 120  DEF  FN DV(A) =  INT(A/256): DEF  FN MD(A) = A -256 * FN DV(A)
  13. 130  POKE DA, FN MD(DA -45 -256): POKE DA +1, FN DV(DA -45 -256)
  14. 140  POKE 43607, PEEK(43697): CALL 42964
  15. 150  HOME : PRINT "Do you need to format the Ram Disk?"
  16. 160  PRINT : PRINT "==>";: GET A$: PRINT A$: IF A$ = "N"  OR A$ = "n"  THEN 190
  17. 170  VTAB 10: HTAB 13: FLASH : PRINT "LOADING RAMDISK": NORMAL 
  18. 180 F$ = "RAMDISK": PRINT  CHR$(4);"BRUN ";F$;",D";DR
  19. 190 F$ = "RAMPATCH": PRINT  CHR$(4);"BLOAD ";F$;",D";DR
  20. 200  IF  PEEK(48390) = 76  THEN  POKE 39948,3: POKE 39949,182
  21. 210  POKE (48390),76: POKE (48391),0: POKE (48392),156: REM  SET PATCH
  22. 220  POKE ( -22396),0: REM  DISABLE INIT
  23. 230  HOME : PRINT "Do you wish to upload to ramdisk?"
  24. 240  PRINT : PRINT "==>";: GET A$: PRINT A$: IF A$ = "N"  OR A$ = "n"  THEN  HOME : PRINT "Ramdisk enabled in slot 3": END 
  25. 250  IF A$ < >"Y"  AND A$ < >"y"  THEN 230
  26. 260 F$ = "FID":DR = 1
  27. 270  PRINT  CHR$(4)"BLOAD ";F$;",A2051,D";DR: POKE 216,0
  28. 280 FP = 0: IF  PEEK(5039) = 205  THEN FP = 1
  29. 290  HOME : VTAB 6: HTAB 3: PRINT "Place disk to upload into drive 1": HTAB 11: PRINT "and press any key."
  30. 300  HTAB 2: VTAB 10: PRINT "==>";: GET A$: PRINT A$
  31. 310  PRINT  CHR$(4);"OPEN UPLOAD,S3,D1"
  32. 320  PRINT  CHR$(4);"WRITE UPLOAD"
  33. 330  PRINT "MON C,I,O"
  34. 340  PRINT "CALL 2051"
  35. 350  IF FP = 1  THEN 390
  36. 360  PRINT "1": PRINT "6": PRINT "1": PRINT "3": PRINT "1"
  37. 370  PRINT "=": PRINT "N": PRINT " ": PRINT " ": PRINT "9"
  38. 380  GOTO 400
  39. 390  PRINT "M6131*": PRINT "N  Q"
  40. 400  PRINT "DELETE UPLOAD"
  41. 410  PRINT  CHR$(4);"CLOSE UPLOAD"
  42. 420  PRINT  CHR$(4);"EXEC UPLOAD,S3,D1"
  43. 430  END 
  44. 440  PRINT : POKE 216,0:ERR =  PEEK(222): IF ERR = 6  THEN  GOTO 470
  45. 450  IF ERR = 8  THEN  HOME : VTAB 4: HTAB (16 - LEN(F$))/2: PRINT "I/O error while reading ";F$: GOTO 480
  46. 460  PRINT "ERROR #"; PEEK(222);" AT "; PEEK(218) + PEEK(219) *256: END 
  47. 470  HOME : VTAB 4: HTAB (25 - LEN(F$))/2: PRINT "File ";F$;" not found"
  48. 480  PRINT : PRINT "Insert the disk containing ";F$: PRINT "and press the drive number, (1 or 2)": PRINT : PRINT "OR": PRINT : PRINT "Press E to end."
  49. 490  VTAB 15: HTAB 2: PRINT "==>";: GET A$: PRINT A$: IF A$ = "E"  OR A$ = "e"  THEN  END 
  50. 500  IF A$ < >"1"  AND A$ < >"2"  THEN 490
  51. 510  ONERR  GOTO 440
  52. 520 DR =  VAL(A$): IF F$ = "FID"  THEN 270
  53. 530  HOME : VTAB 10: HTAB 13: FLASH : PRINT "LOADING RAMDISK": NORMAL 
  54. 540  IF F$ = "RAMDISK"  THEN 180
  55. 550  IF F$ = "RAMPATCH"  THEN 190