home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64-128Toolkit / SETCMD.ARC / SETCMD.C
Encoding:
Text File  |  2019-04-13  |  3.0 KB  |  94 lines

  1. /* SETCMD.C */
  2.  
  3. /*  SET-UP ╨OWER-├ 128 FOR ├═─ HARD DRIVE PARTITIONS
  4.     ------------------------------------------------
  5.     ─ANIEL ┼. ╚ARKER
  6.     ╟┼NIE: ─.╚ARKER1
  7. */
  8.  
  9. /*
  10.         ╘HE ╨OWER-├ SHELL COMMAND: 'SETU' LIMITS YOU TO USING DISK DRIVE
  11.     NUMBERS 0 OR 1. ╘HIS MADE SENSE AS ├OMMODORE NEVER PRODUCED A DISK UNIT
  12.     WITH MORE THAN TWO DISK DRIVES. ┼NTER ├═─ AND THEIR HARD DISK DRIVES
  13.     (A GREAT PIECE OF HARDWARE BY THE WAY). ═ANAGING LARGE DATA STORAGE
  14.     DEVICES CAN BE A PROBLEM UNLESS YOU CAN DIVIDE THEM INTO SMALLER
  15.     PIECES. ╘HE SOLUTION THAT WAS USED WAS TO MAKE PARTITIONS (AS MANY
  16.     OTHERS HAVE DONE). ├═─ USES THEIR PARTITION NUMBERS IN THE SAME SYNTAX
  17.     AS ├OMMODORE USED THE DISK DRIVE NUMBER (A SLICK TRICK). ╫HICH BRINGS
  18.     US BACK TO ╨OWER-├'S 'SETU' LIMIT, ALL THOSE PARTITIONS AND YOU CAN'T
  19.     MAKE EFFECTIVE USE OF THEM UNDER THE ╨OWER-├ SHELL. 'SETCMD' IS MY
  20.     ATTEMPT TO GET AROUND THE PROBLEM.
  21.  
  22.         ╔N MY SYSTEM, ╨OWER-├ UNIT 0 IS USED AS MY 'WORK DISK'; ╨OWER-├
  23.     UNIT 1 IS HOLDS SYSTEM OBJECT FILES; ╨OWER-├ UNIT 2 IS A RAM DISK
  24.     HOLDING THE EDITOR, COMPILER, AND LINKER; AND ╨OWER-├ UNIT 3 CONTAINS
  25.     MISC. COMMANDS, UTILITIES, ECT.
  26.         ╔F YOU WANT YOUR SYSTEM THE SAME SIMPLY COMPILE AND LINK SETCMD.C.
  27.     ┴T THE LINKER PROGRAM NAME PROMPT ENTER: SETCMD.
  28.         ╔F YOU DON'T LIKE HOW 'SETCMD' WORKS, MODIFY IT TO WHAT YOU NEED.
  29.  
  30.     ╬OTES:
  31.         ╙ETCMD IS STRIPPED-DOWN AND DOES NO ERROR CHECKING. (╔T DOESN'T
  32.     CHECK FOR ILLEGAL PARTITION OR DISK UNIT NUMBERS). ┴S SUCH YOU ARE IN
  33.     THE DRIVERS SEAT, DRIVER BEWARE.
  34.  
  35.         ╙OME CHANGES YOU MAY WANT TO MAKE ARE THE ABOVE ERROR CHECKING AND
  36.     USER PROMPTS TO ALLOW ENTERING ├OMMODORE DISK UNIT AND PARTITION
  37.     NUMBERS.
  38.  
  39.         ╔F YOU 'HARD CODE' THE NUMBERS INTO SETCMD AND LATER WANT TO ACCESS
  40.     A DIFFERENT ├OMMODORE DISK UNIT, YOU CAN STILL USE 'SETU' FROM THE
  41.     ╨OWER-├ SHELL (FOR EXAMPLE TO TEMPARARILY  SMFLOPPY). ╘O RETURN TO
  42.     YOUR HARD DRIVE SET-UP JUST RE-EXECUTE SETCMD.
  43.  
  44.         ╙ETCMD SHOULD WORK WITH ├═─'S ╥AMLINK, BUT AS ╔ DON'T HAVE ONE ╔'LL
  45.     LEAVE IT UP TO YOU TO CHECK IT OUT.
  46.  
  47.     ╔ HOPE SETCMD IS OF USE TO YOU.
  48.  
  49. */
  50.  
  51.  
  52. MAIN()
  53.     CHAR UNIT,DRIVE;
  54.  
  55.     UNIT = 8, DRIVE = 2;
  56.     SET0(UNIT, DRIVE); /* SET ╨OWER-├ UNIT 0 TO ├┬═ UNIT 8, DRIVE 2 */
  57.  
  58.     UNIT = 8, DRIVE = 3;
  59.     SET1(UNIT, DRIVE);  /* SET ╨OWER-├ UNIT 1 TO ├┬═ UNIT 8, DRIVE 3 */
  60.  
  61.     /* ╨OWER-├ UNIT 2 USED FOR RAM DISK */
  62.  
  63.     UNIT = 8, DRIVE = 4;
  64.     SET3(UNIT, DRIVE);  /* SET ╨OWER-├ UNIT 3 TO ├┬═ UNIT 8, DRIVE 4 */
  65.     
  66. /* SET ╨OWER-├ UNIT 0 */
  67. SET0(UNIT, DRIVE)
  68. CHAR UNIT, DRIVE;
  69.     POKE(0, 5864, UNIT);
  70.     POKE(0, 5868, DRIVE);
  71.     PRINTF("╨OWER-├ UNIT 0 = ├┬═ UNIT %D, DRIVE %D\N", UNIT ,DRIVE);
  72.  
  73. /* SET ╨OWER-├ UNIT 1 */
  74. SET1(UNIT, DRIVE)
  75. CHAR UNIT, DRIVE;
  76.     POKE(0, 5865, UNIT);
  77.     POKE(0, 5869, DRIVE);
  78.     PRINTF("╨OWER-├ UNIT 1 = ├┬═ UNIT %D, DRIVE %D\N", UNIT ,DRIVE);
  79.  
  80. /* SET ╨OWER-├ UNIT 3 */
  81. SET3(UNIT, DRIVE)
  82. CHAR UNIT, DRIVE;
  83.     POKE(0, 5867, UNIT);
  84.     POKE(0, 5871, DRIVE);
  85.     PRINTF("╨OWER-├ UNIT MAND═ UNIT %D, DRIVE %D\N\N", UNIT, DRIVE);
  86.