Sunday, August 30, 2020

Silverwand Software Collection website launch

Having recently lost yet another site where I hosted some of my materials I have decided it is time to launch a Google sites website of my own to serve as a single place to collect all of my freely distributed computer related work. I will not remove my software from sites where I have uploaded it in the past, but I think providing a single place for new content is a good approach going forward.

Over the next few weeks I will fill in the site, but the core structure is already set up at https://sites.google.com/view/silverwandsoftware/

Saturday, August 8, 2020

Update to Setting up My Home AppleTalk Network

Look Ma, No Wires!

I described setting up  my home AppleTalk network to connect my vintage IIGS, Power Macintosh 5400, and Macintosh G3 B&W to my more modern network of Mac Minis and an Apple Airport Extreme Router in this blog post from May. At that time I used an Apple Airport Extreme Base Station as an Ethernet hub and connected a Mac Mini, my G3, and the Power Mac 5400 to it via Ethernet cables as depicted in this diagram.

May version of my Network using Ethernet cabling to a hub

While this functions well and allows my IIGS to see the G3 it did rely on an extra Ethernet hub and Ethernet cables for the 3 devices connected to the hub.  I decided that I could eliminate connecting things to a single hub by using two Airport Express routers for the G3 and PowerMac 5400. With the routers connected to those two computers via Ethernet cables I have more freedom in positioning the computers.  The only devices tethered together by wiring are the IIGS and the PowerMac 5400 which sit side by side on the same desk. The network now looks like this.

July version of my Network using WiFi

Monday, June 8, 2020

Installing NWN2 Complete on Windows 10

NWN2 Complete is the GOG.com version of Neverwinter Nights 2 for Windows sold here and includes the final version of the NWN2 Official Campaign (OC), both of the Mask of the Betrayer (MotB) and Storm of Zehir (SoZ) expansions, and the Mysteries of Westgate (MoW) campaign. The GOG version is the final version and has all game patches released by Obsidian already applied so there is no need for any patching after it is installed.

How is Neverwinter Nights 2 Different than Neverwinter or Neverwinter Nights?

All three games are set in the Forgotten Realms but in different time periods and use different D&D rule sets and characters. Neverwinter Nights (NWN) (purchase here) takes place before NWN2. Arc Games Neverwinter is a MMORPG set after NWN2. NWN and NWN2 both include toolsets for the development of community content. The content developed with each toolset is similar but specific to each game version. A module created for Neverwinter Nights cannot be played using Neverwinter Nights 2 and vice versa. Arc Games Neverwinter is an online multi-player game whereas both NWN and NWN2 can be played offline or online using game servers.

What About Playing NWN2 on Apple Macintosh macOS?

Macintosh versions of the NWN2 OC were released on DVD and from the macOS App Store at one time. These did not include the expansions though it is possible to install the Windows expansions separately with the Macintosh versions.

Playing NWN2 using WINE or a Wineskin may be done but you should expect some compatibility issues and no support. The toolset is unlikely to work. Emulators tend not to work well with NWN2.

The most compatible option is to use Boot Camp to install Windows.

For additional information on this see these older blog posts:
NWN2 Complete Installation

Instructions for purchasing, downloading, and installing are on GOG. While you can install on multiple computers, the license keys are unique to your purchase and if you ever try to play online your keys must be unique. So you should never share them with friends or publish them. Keep them secret. Keep them safe. Do the right thing and tell your friends no pay, no play.

The first time you launch NWN2 after installation Windows 10 will prompt you to download and install DirectPlay. Allow this. This only takes a minute and afterward you should see the SoZ menu. If you start a new campaign you will see four options: the Official Campaign, Mask of the Betrayer, Storm of Zehir, and Mysteries of Westgate. If you start a new module you can play the standalone optional introductory module Uninvited Guests.

Enabling the NWN2 Toolset

NWN2 also includes the Windows-only Obsidian NWN2 Toolset which can be used to modify existing campaigns and modules and to create new content. The toolset is not an option on the main menu but ca be found in the Neverwinter Nights 2 application folder. If you took the default option when installing NWN2 Complete the NWN2 application folder will be located at “C:\GOG Games\NWN2 Complete”.

There are two ways to launch the toolset. The most direct route is to double-click on NWN2ToolsetLauncher.exe. The second way is to double-click NWN2Launcher.exe which displays a menu that includes options including “Play”, “Toolset” and the no longer useful “Update” option.

When first launching the toolset Windows 10 will notify you that the app needs .NET Framework 3.5. Allow this to be downloaded and installed. Then click the close button.

The Toolset has additional requirements though that must be acquired and installed manually. The Toolset requires the Microsoft DirectX 9.0c SDK that was included on the original NWN2 disc distribution but is unfortunately not included in any digital releases. Once you have downloaded DirectX 9.0c (try the Microsoft Download Center site) put it into the NWN2 application folder and run DXSETUP.exe. It will be installed into the NWN2 application folder and will not conflict with any other software you have (including newer versions of DirectX).

After completion of the DirectX 9.0c install you should be able to launch the Toolset. Once in the toolset it is strongly recommended that you immediately go to View >> Options and set Autosave to False. This is necessary because the autosave feature has been known to corrupt modules, so it is best not to use it. Also if you decide to poke around the official campaign modules you do not want to autosave or save as this will break the module verification step and you will need to reinstall in order to play.

If you have problems with the Toolset crashing inexplicably you may want to run it in Compatibility Mode with XP SP2, which is the OS that was current when it was released. Running as administrator may also prevent permission issues. These configuration settings can be made by right-clicking the NWN2ToolsetLauncher.exe or a shortcut to it.

The toolset is complicated and even if (especially if) you have used the NWN Aurora toolset you should spend some time to read about building NWN2 campaigns and content before attempting to do so. I personally recommend the following resources:
Some modding resources are documented here. For further community help I recommend the neverwintervault.org forums.

What Else Should You Install?

At the point of this writing there is no community fix pack that I can strongly recommend be installed. There is one being developed by the community but game breaking bugs are actually very rare so nothing further really needs to be installed in order to play.

You may want to consider playing a little bit before installing community content that alters the game just so you learn what you like and don’t like about the released version of the game.

That being said, there are a large number of enhancement modifications available to improve the appearance of objects within the game and those are often broadly compatible. For the most part you install such things into the override subfolder within the NWN2 Documents folder which should be in your user folder at “Documents\Neverwinter Nights 2\override”. Normally this folder is empty. Files put into the override folder will be used during execution to override files of the same name that are included in modules and campaign folders (with the exception of files of the same name included in haks).

Community content is not official and written and tested by only well-meaning individuals so installing multiple enhancements and modifications may result in unforeseen behaviors. Not all community content is compatible with other community content. Before installation of items into your override folder read any documentation provided by the author(s) and prepare to reverse the installation in the event of conflicts when playing.

Many players choose to install community content that improves the appearance of their characters (improved faces, more hairstyles, etc.). This is highly tempting because some of the standard faces and hairstyles are quite ugly and the community content is far superior. One important thing to keep in mind about using such modifications is that created characters are stored in the NWN2 Documents subfolder “localvault”. If there is a character in “localvault” that was created with a modified appearance using community content and then you uninstall that community content, the mere presence of the character in “localvault” can cause NWN2 to crash. This occurs because all characters in “localvault” are loaded when the game starts.

Finally because of the limitation in the length of allowable Windows path names, I recommend that anything you download that is compressed be expanded in your download folder or on your desktop. This will prevent files from being mistakenly skipped during expansion, which could prevent things from working as expected once installed.

What Else Do I Install?

There is a lot of community content available for NWN2. Some content affects gameplay. Some content is for builders to use when using the toolset. Other content may be completely new playable campaigns and modules.

I contributed to the community some items that I always install. For information and access to all of my NWN2 contributions go here. An important reminder that you should always backup before installing anything and read and follow any installation instructions carefully. Be aware though that the instructions for content that was published in the past may not match your current operating system setup.

The following items of mine are designed to enhance the OC, MotB, SoZ, and MoW:
I also converted the PnP Harvest of Chaos modules into a NWN2 campaign (info here).

In addition to my own site, much of my content can also be found at neverwintervault.org and Nexus mods.

What Kind of Character Is Best to Play?

NWN2 includes a number of races and classes (base and prestige). During the course of playing the OC you will encounter just about every race and class and have opportunities to add those non-player characters (NPCs) to your adventuring party. So regardless of what you choose to start with, you will experience them all. So my recommendation is to pick whatever you want to start with based on the basic D&D types.

What About Character Romances?

There are a few romances that can occur. There are no sex scenes. There are no same-sex romances. If you have an interest in expanding on those possibilities you will need to use community content.

Can NWN Modules be Played with NWN2?

NWN modules would need to be converted in order to be used with NWN2. That would be a time consuming process and require a builder who has knowledge and talent with both toolsets. Use NWN to play NWN modules and NWN2 to play NWN2 campaigns and modules.

Enjoy your adventures in the Forgotten Realms.

Saturday, June 6, 2020

A Tale of Two Operating Systems: Boot Camp installation troubles with macOS and Windows 10

Welcome to Boot Camp... Hope You Survive

This post describes the steps I went through to go from a Mac Mini running macOS 10.15 Catalina and Windows 10 Home (64 bit) to running macOS 10.13 High Sierra and Windows 10 Home. This took 9 days of elapsed time (and additional time to reinstall my Windows apps and apply Windows updates) and would not have even been necessary if Apple allowed memory upgrades for my Mac Mini.

Note: MacOSX (also MacOS X, Mac OS X, MacOS 10, Mac OS 10, “mac OS” and “macOS”) is the Unix based Macintosh Operating System.

What Did I Learn?


  1. Catalina is another OS in which Apple made decisions to manipulate the hard drive without user consent. This makes it difficult to recover from.
  2. Time Machine recovery is highly unreliable.
  3. Migration Assistant requires far more available room on a hard drive than the volume of the files it is recovering.
  4. 64 bit Macs must install Windows 10 64 bit, not 32 bit.
  5. FAT32 has a file size limit of 4 GB which is a problem for Windows 10 installation. [see https://www.uubyte.com/boot-camp-not-enough-space-usb.html]
  6. High Sierra Boot Camp Assistant has a nasty bug that prevents resizing partitions. [see https://discussions.apple.com/thread/8263514]
  7. If you encounter problems with the download of the Apple drivers you can use the non-Apple utility Brigadier instead. Download from github at github.com/timsutton/brigadier .
  8. VERY IMPORTANT: Unplug any external drives (like the one you use for Time Machine) before trying to install Windows from a USB drive. The Windows installer gets confused by multiple USB drives.
  9. If reinstalling an activated version of Windows check accounts.microsoft.com to confirm the Windows version to install.
  10. This was far harder than it should have been.

The Initial Problem


Problem: Performance of macOS 10.15 Catalina on my Mac mini was incredibly bad, probably due to the Mini having only 8 GB RAM. Unfortunately I found to my surprise that unlike older Mac Mini’s this Mac Mini's memory is soldered to the motherboard when you order it from Apple, making it impossible to upgrade.

I decided to try to roll back to macOS 10.13 High Sierra from Time Machine. This should not interfere with my working Boot Camp Windows 10 installation, or so I thought.

Problem: The Time Machine backups I had for High Sierra would not work for recovery. Multiple attempts just resulted in failure.

Compromise Solution: Wipe the Mac OS partition on the internal hard drive and clean install High Sierra. Then recover the files from Time Machine using Migration Assistant.

Problem: After wiping and installing High Sierra the Migration Assistant insisted that there wasn’t enough room to recover my files. Turns out that Migration Assistant wants working space on the target that significantly exceeds the actual volume of the files to be recovered.

Compromise Solution: Delete my Windows 10 partition to free up space and complete Migration Assistant. Plan to reinstall Windows using Boot Camp Assistant after files have been recovered. Deleting the Windows partition did allow enough space for Migration Assistant to complete.

Reinstalling Windows 10 (64 bit)


Problem:  High Sierra Boot Camp Assistant will not allow me to size the Boot Camp partition and insists on installing Windows 7. [see https://discussions.apple.com/thread/8263514]

Compromise Solution: Install Windows 7 on a 48 GB partition and use an external drive for PC storage.

Problem:  BootCamp will not automatically download the Apple drivers for Windows 7 any longer, so you have to use an alternative website.

Proposed Solution: Use my Windows 7 ISO to create the USB, then download the drivers manually and copy them to the USB, then continue with Boot Camp.

Problem: After all that Boot Camp claimed the USB was unusable and could not be booted from.

Plan: Give up on High Sierra. Use Time Machine to recover macOS 10.14 Mojave and use Boot Camp to install Windows 10. Plan to use Time Machine afterward to recover High Sierra, leaving Windows 10 intact.

Day 2


Problem: After recovery of Mojave, BootCamp says it is unable to create Windows Install USB on 16GB USB drive because not enough space. I do not have any working 32GB USB drives.

Solution: Purchase new 32GB USB drives (k’ching!) and wait 2 days for delivery. (A waste of both money and time since this should not have been necessary, see below.)

Day 4


Problem Unfortunately even using a 32GB drive, Boot Camp says there is not enough space. Turns out this error is due to Windows files exceeding 4 GB and Boot Camp formatting the USB as FAT32 and then giving an erroneous error message.) [see https://www.uubyte.com/boot-camp-not-enough-space-usb.html]

Solution: Format the USB as ExFAT using Disk Utility. Then open the Windows 10 ISO manually and copy the files to it. Then continue with Boot Camp.

Problem: Boot Camp will not allow the software drivers to be downloaded to the ExFAT formatted USB

Solution: Format a second USB FAT32 and use it to download the drivers

Problem: Download of the software drivers gets stuck half way and does not complete. Reboots, Disk Repair, etc. not effective at resolving the issue. [see https://www.reddit.com/r/bootcamp/comments/bkpn2u/windows_support_software_could_not_be_saved_to/]

Solution: Download Brigadier from github.com/timsutton/brigadier and execute from Terminal to manually download the drivers. This creates a mountable .dmg that contains the Windows drivers for the Mac model it is run on. Mount and copy those contents onto the ExFAT USB and then reinitiate Boot Camp at the installation step.

Problem: Boot Camp allows the Boot Camp partition to be sized and created and then reboots the computer into Windows 10 and then says that the Boot Camp partition cannot be used to install Windows 10 because it must be formatted for NTFS. Choosing the Format option reformats the partition in in NTFS and changes its name to UNTITLED but later attempts to use it results in the error "We couldn’t create a new partition or locate an existing one." No option but to quit the Windows installer which reboots the computer back to macOS Mojave. [see https://www.reddit.com/r/bootcamp/comments/3t7yai/we_couldnt_create_a_new_partition_or_locate_an/]
(Note that the cause of this may possibly be that I had a USB external drive connected at the time. See #8 in the What Did I Learn section above.)

Solution: Use Boot Camp Assistant to delete the new partition, then reboot with option-command-p-r to reset the PRAM, and try the third step of Boot Camp Assistant again. Same problem.

Day 5


Give up on Mojave. Reboot with command-R and restore from Time Machine a version of Catalina 10.15 hoping I can get Boot Camp to install Windows 10 and then restore the Mac partition from High Sierra. Unfortunately each restore attempt takes 6-8 hours and they often end with an error.

After 5 failed restore attempts over 2 days in which each attempt failed with less than 20 minutes to completion, I gave up on restoring Catalina and decided to do a fresh install and then try to set up Boot Camp and then recover High Sierra from Time Machine. The Catalina install warned me that a Time Machine file in the root of the hard drive would be destroyed if I proceeded with the Catalina install. Like I have a choice. Hopefully this will not bite me in the butt later. (It did not.)

Day 8


While I was eventually able to install Catalina, I was unable to use Boot Camp Assistant to then install Windows. The Windows 10 installer insisted that the BOOTCAMP partition created by the Assistant (partition 3 on the disk) could not be used to install Windows. Using the Format option did not resolve this problem. (Note that the cause of this may possibly be that I had a USB external drive connected at the time. See #8 in the What Did I Learn section above.)

Decided to give up on everything newer than the Mac mini and restore to original factory settings and its original OS version which was MacOSX 10.11 El Capitan. This Mac mini has no DVD drive and Apple provides no DVD recovery disks, so to initiate original OS recovery you hold down shift-option-command-R during restart and it will put up a message that it is restoring from the internet. After a while it launches the Restore utility but the “Restore OS X” option should theoretically reinstall the original OS shipped with the Mac. To be extra sure, before taking the reinstall option I went into Disk Utility and erased the internal drive.

I then connected to my WiFi network and began the restore. A dialog pops up that my computer’s eligibility will be verified with Apple to which I responded “Continue”. Then I agreed to the SLA (twice) and directed it to install on my now “Untitled” 1 TB internal drive. It estimated 45 minutes. My new plan after the restore is to try to upgrade to MacOSX 10.12 and then use its Boot Camp Assistant to install Windows 10 from the USB drive I had created earlier.

Approximately an hour later the restoration of 10.11.6 completed successfully.

I then copied the Mac OS 10.12 installer “Install macOS Sierra” to the Applications folder. The macOS installers can give the error “application can’t be verified” and fail unless you first change the system date to a time closer to their release.  This is done in Terminal by using the command: sudo date. The date command takes as a parameter the date and time in format MMDDHHmmYY where the YY should be greater than 15.

In this case I used:
sudo date 0101010116

I then quit Terminal and launched the Install macOS Sierra application. After about 45 minutes it completed successfully.

The Sierra Boot Camp Installer wants to install Windows 10 and had no issues partitioning the disk in less than a minute and then it correctly rebooted itself for the Windows 10 install from my USB drive. (Fingers crossed.)

Windows Setup now shows 4 partitions on my internal drive 0: 181 MB labeled EFI, 743 GB, 619 MB, and 187 GB labeled BOOTCAMP. It warns me that Windows cannot be installed on partition 4. After Format it still cannot install it. (Note that the cause of this may possibly be that I had a USB external drive connected at the time. See #8 in the What Did I Learn section above.)

Reboot. Use Disk Utility to remove the partition “—“. Reboot zapping PRAM. Try Boot Camp Assistant again. No dice. Same failure. (Note that the cause of this may possibly be that I had a USB external drive connected at the time. See #8 in the What Did I Learn section above.)

Maybe there are updates for Sierra to apply. Reboot. Use Disk Utility to delete the NTFS partition. Turn on WiFi and check for updates in the App Store. Try to download and apply macOS Sierra update 10.12.6. Unfortunately the thermometer bar under the update says “NaN GB of 0 bytes” and is not moving.  Force quit and reboot. Go into App Store and try again. This time it works. Must be my lucky day. It estimates 4 minutes to download the 1.97 GB update. Then it automatically restarts and 20 minutes later the installation of 10.12.6 completes.

Login and initiate Boot Camp Assistant. Oddly it now wants to install Windows 7 rather than Windows 10. Unchecked steps 1 and 2 and proceeded with partitioning and installing Windows 10. Partitioning completed without issue and the computer restarted into the Windows 10 installer. Same problem. After format Windows gives the message “We couldn’t create a new partition or locate an existing one.” (Note that the cause of this may possibly be that I had a USB external drive connected at the time. See #8 in the What Did I Learn section above.)

Google searching for the error message I found a suggestion on windowsreport.com that the Windows installer can become confused when external USB drives are connected:

If you’re planning to install Windows 10 from a USB flash drive you might encounter We couldn’t create a new partition error message if more than one USB drive is connected to your PC.

In order to avoid this problem, we strongly advise that you disconnect any additional USB drives and leave only your Windows 10 USB flash drive connected.
 

So I unplugged my external USB drive I use for Time Machine and rebooted holding down the option key and then selecting the EFI Boot which is the Windows USB thumb drive. At this point the BOOTCAMP partition already exists and is formatted in NTFS and named “Untitled”.

In the Windows installer the untitled NTFS partition I had created for Boot Camp is selectable so I select it and hit Next to begin the Windows installation. Hopefully I can rename it to BOOTCAMP at some point later. (Turned out this happened without any intervention on my part.)

During the install I did not allow it to connect to the internet as I did not want any Windows updates to start to be applied. Once I reached the Windows desktop the Bootcamp installer started up automatically and began installing the Apple packages and drivers. After finishing it required a restart which I complied with and it rebooted into Windows 10 successfully. After logging in the Windows System Assessment Tool (WinSAT.exe) automatically initiated. I waited for it to complete and then ejected and physically pulled out the USB thumb drive. Interestingly the Windows partition is now named BOOTCAMP.

I then did Shut Down. Plugged my Time Machine drive back in and started up. The computer started in Windows so I restarted again with the option key down and selected my Mac HD to boot off of.

Recovering High Sierra from Time Machine


I then rebooted holding down command-R to start the Time Machine recovery process. I selected my external drive that I use for Time Machine and then selected my most recent 10.13.6 backup for restore. The restore process began and estimated 6 hours for completion.  Time to make a sandwich.

The restore completed successfully after about 4 hours. My initial account was restored and I was able to login to High Sierra with it.

Post High Sierra Restore


After a restore you have to go into the Photos app and repair the library to regain access to your photos. This can take several minutes depending on the size of your Photo library. I don’t know why this is necessary, but it is. Fortunately the same is not true of iTunes.

Day 9


Restoring and Activating Windows 10


When I went to activate my Windows installation I found that I had installed the incorrect version. I had installed Windows Pro rather than Windows Home, as so I could not activate.  I should have logged into accounts.microsoft.com and checked for my activations ahead of time.  As a result I needed to reinstall Windows.

This theoretically is not a disaster though because the USB thumb drive is not Windows 10 edition specific and so there is no need to set up a new USB drive or re-download the Apple drivers. (Note that the Apple drivers are machine specific, so you cannot use the same USB thumb drive on different computer versions.)

So I unplugged my external USB drive, inserted the USB thumb drive and rebooted holding down option and then selecting the EFI Boot to boot into the Windows installer.

When you install Windows over an existing version of Windows the installer copies the old Windows files (including all installed apps) into an “Windows.old” folder rather than deleting them. Fortunately I had enough space on the BOOTCAMP partition to handle this.

The installer allowed me to select Windows Home edition and my BOOTCAMP partition for the installation.

The installer then rebooted and came up with a screen asking which version of Windows I wanted to use. Unfortunately the screen was displayed for only a split second and then inexplicably went blank. I clicked the mouse hoping that the default is the version of Windows I just installed and the screen turned back on and said it was setting up devices but there was no way to determine which version (Home or Pro) was being set up. (Checking later it did fortunately default to Windows Home.)

When the Windows desktop came up the Boot Camp installer started up and installed the packages and device drivers and then it rebooted itself into Windows again. After my login the Windows System Assessment Tool automatically ran, taking a few minutes to complete.  I then ejected the USB thumb drive, connected to my WIFi network, and Windows automatically recognized that Windows Home was an activated version. I then deleted the Windows.old folder in order to free up about 50 GB and began reinstalling my Windows applications.

I really hope I do not find myself having to do this again.


Friday, May 29, 2020

How I Set Up a Home AppleTalk Network in 2020

The Introduction

I made additional changes to my home Network to reduce Ethernet cables and allow more flexible computer locations in July.  See this blog post for further information.

I recently had reason to set up a local area network in my home using AppleTalk to connect an Apple IIGS to a Power Macintosh 5400/120 (PM5400). I decided to also network the PM5400 to a G3 B&W Macintosh. None of the three computers involved had built-in Wifi, but two of them - the two Macintoshes - have built-in Ethernet ports, and two of them - the Apple IIGS and PM5400 - have built-in serial ports that can be used for networking.  All of them are running operating systems that support AppleTalk.  None of them needed to be connected to the internet. It had been over 15 years since I last used AppleTalk so I had some relearning to do. This blog post documents what I learned getting this vintage network set up.

Note that this solution does not use an AppleShare server, and instead utilized the Personal File Sharing capabilities released with Mac OS 7. This particular solution will not allow you to remote boot your IIGS from an AppleShare server, although I understand that that can be done with the commercial product AppleShare v3 installed on the Mac (the remote boot functionality was removed in AppleShare v4.)

The Computers and Goals

Apple IIGS ROM 01 running GS/OS 6.0.1. The IIGS has built-in support for AppleTalk and the network can be connected to one of two serial ports - the modem port and the printer port. The ROM 01 IIGS has some differences from the later ROM 03 IIGS when it comes to AppleTalk. Ideally I wanted to be able to transfer files to the IIGS over the AppleTalk network from folders on the PM5400. Alternative mediums for transferring files are the 3.5" 800K DS/DD drive, the 5.25" 140K floppy drive, a USB stick attached to a BOOTi device, and an SD card attached to a FloppyEmu device. Of these the only medium in common with the PM5400 is the 3.5" 800K DS/DD floppy drive. GS/OS includes an HFS File System Translator (FST) so that Macintosh formatted HFS disks can be used.

Power Macintosh 5400/120 (PM5400) capable of running both Mac OS 7.6.1 and Mac OS 9.1. The PM5400 has an internal CD-ROM drive and an internal Apple 3.5" drive capable of reading/writing both DS/HD 1.44 MB and DS/DD 800K disks. It also has a SCSI port with attached Iomega 100 MB Zip drive. (Note, everything discussed could be done using System 7, 8, or 9 on the PM5400. There is one exception and that is that running Mac OS 9 will make it slightly easier to transfer files from the internet later.)

G3 B&W Macintosh running Mac OS 9.2. The G3 has an Ethernet port but no serial port. It has USB ports and a DVD drive capable of burning CD's, can read and write DS/HD 1.44 MB disks, and can use an Iomega Zip drive. The G3 is also able to dual boot into MacOS X 10.4 "Tiger" which is significant only when it comes to transferring files from the internet later.

The vintage network is not going to be connected to the internet. Getting software from the internet distributed to the computers on my vintage network using nothing but net is discussed in a later section.

The Macintosh ProDOS File System extension is installed on both the PM5400 and G3 so that Apple II ProDOS formatted disks can be used, but it is not required for the networking to work.

  IIGSPM 5400 G3 B&W 
 USB thumb drive Y (via BOOTi card)  Y
 SD card Y (via FloppyEmu)  Y (via USB adapter)
 Zip 100MB (SCSI)  Y Y
 Zip 250MB (USB)   Y
 CD drive  Y Y
 3.5" DS/DD 800K Y Y 
 3.5" DS/HD 1.44MB  Y Y (via USB)
 5.25" 140K floppy Y  
 Ethernet port  Y Y
 Serial port Y Y 

While each computer has several means of loading files onto it using physical media, a network makes file transfers very simple and removes the need to find common media.

In addition I wanted to be able to play the game HyperBattleship! using the two Macintoshes. This is a free game Claris Corporation released with Mac OS System 7 as a demonstration of Apple Events. While this game as originally released was not fully compatible with Mac OS 9, I subsequently released a modified version of it that can be used with Mac OS 9. (More on HyperBattleship later.)

Equipment and Software Required

To connect the Apple IIGS and PM5400 serial ports I used 2 Farallon PhoneNet Plus adapters, (Farallon manual here) a length of modular phone extension cable with RJ11 plugs, and 2 PhoneNet RJ11 terminating resistors. The photo below shows a Farallon PhoneNet Plus with a terminating resistor in one of its RJ11 sockets. The rule to remember with PhoneNet Plus adapters is that each socket must be filled by either a terminating resistor or a wire to another PhoneNet Plus adapter. (See the Q&A section at the end for more on terminating resistors.)


Important to note is that in the 1980's standard practice (in the US anyway) was to use phone lines with 4 wires = green, red, yellow, and black. A phone device requires only two of the four wires and typically residential phones only use the green and red pair. The Farallon PhoneNet Plus adapters utilize the typically unused black and yellow pair, which provides the added bonus that AppleTalk networks can be run through your existing home phone wiring (caveat - some homes may have been wired in a way that is incompatible with AppleTalk, so take care using existing phone jacks). However, if you purchase a length of phone cable today for use with the PhoneNet adapters you need to make sure that it has all 4 wires, because current practice is to save copper by only including the green-red pair.

To connect the PM5400 to the G3 B&W I connected each to an Ethernet hub (actually an Apple Airport Extreme Base Station, but any Ethernet hub should do) with standard Ethernet cables. Theoretically connecting the computers directly with either one Ethernet cable or one Ethernet cross-over cable should have worked, but I was unable to get it working without the hub. Using a hub also allows for connecting others computers via Ethernet to the vintage network.

No software needed to be purchased and all software utilized were developed and released by Apple for free use. The IIGS runs the GS/OS 6.0.1 operating system with the HFS FST installed and the AppleShare services installed off of the GS/OS 6.0.1 Installer disk. The Macs have standard installations of MacOS 7 and 9. The only additional extension required is the unsupported Macintosh LocalTalk Bridge control panel which is installed only on the PM5400 as it is responsible for bridging Ethernet and AppleTalk. The LocalTalk Bridge control panel requires a 68020 processor or faster, System 7 - 9, and a Mac with both an Ethernet port and a serial port. GS/OS can be downloaded from here and the LocalTalk Bridge control panel can be found here.

If you also use ProDOS disks to transfer files to your Macintosh, as I have at times, then you should consider downloading the ProDOS File System extension from here, though it is not needed for the networking. This Macintosh extension works on System 7 - 9, and allows ProDOS formatted DS/DD 800k disks to be used with your Mac's 800K or 1.4 MB floppy drive.

The Network Topography

While ideally there would be one AppleTalk network, that wasn't possible due to the lack of a common port to utilize across all three machines. So there are two AppleTalk networks bridged by the LocalTalk Bridge control panel installed on the PM5400. This bridging allows the IIGS to mount folders on both the PM5400 and the G3 at the same time.

1. Apple IIGS connected via Farallon PhoneNet Plus adapters to PowerMac 5400 using the serial printer ports.

2. PowerMac 5400 connected to an Ethernet hub (Airport Extreme) via the Ethernet port and the G3 B&W connected to the same Ethernet hub from its Ethernet port.

Network diagram
Network diagram


Configuring the IIGS

Plug a Farallon PhoneNet adapter into the printer port. Fill one RJ11 port on the adapter with a terminating resistor. In the other port plug in one length of modular 4-wire phone cable. The other end of the cable should be plugged into a second Farallon PhoneNet Adapter that is plugged into the printer port on the PM5400. That PhoneNet Adapter should also have a terminating resistor plugged into its second RJ11 port.

The IIGS is running System 6.0.1, which is the final official Apple IIGS system software release. At the time of this writing the last unofficial (ie. community) release is 6.0.4 which includes some changes that affect AppleTalk, but nothing that should create issues if I should upgrade to 6.0.4 in the future.

From the GS/OS Installer disk run the AppleShare installation script.  This will install a number of CDevs, Inits, NDAs, and FSTs that are required for the IIGS to access Macs over AppleTalk.

When you reboot after the installation completes you will be asked for the network name of the computer. If you wish you can leave it blank and set it later in the AppleTalk CDev.

In the Control Panel (CDA or NDA) set Slot 7 to Built-in AppleTalk

On a ROM 03 IIGS you do not need to make any additional slot changes for AppleTalk, but on a ROM 01 IIGS you have to set slot 1 to My Card if you are going to use the printer port for AppleTalk, or set slot 2 to My Card if you are going to use the modem port for AppleTalk. I chose to use the printer port and so set Slot 1 to My Card (this is required even though there is no physical card in slot 1).



Configuring the Macintoshes

On the PM5400 plug a Farallon PhoneNet adapter into the printer port. Fill one RJ11 port on the adapter with a terminating resistor. In the other port plug in one length of modular 4-wire phone cable. The other end of the cable should be plugged into a second Farallon PhoneNet Adapter that is plugged into the printer port on the IIGS. That PhoneNet Adapter should also have a terminating resistor plugged into its second RJ11 port. (See the Q&A section for more about the use of terminating resistors.)

On both the PM5400 and the G3 plug an Ethernet cable into the Ethernet port and the other end into a powered Ethernet hub.

Install the LocalTalk Bridge control panel into the System Folder:Extensions folder. It will automatically turn on the next time the operating system is booted.

In the AppleTalk control panel set the Connection to Ethernet. (Incidentally, if all I wanted to do was connect my IIGS to the PM5400 without the G3 being in the mix then I would not use the LocalTalk Bridge control panel and would set the AppleTalk control panel to Printer because the PhoneNet Plus adapter is plugged into the Printer serial port.)



Create the folder that you want to share with the IIGS.

For System 7:

(Note: I decided to use individual accounts for access, but you can also turn on the Guest functionality if you do not want to create accounts)

To allow connections from the Apple IIGS:

- In the Users & Groups control panel create the new IIGS user using File > New User. This user name should match what you intend to use as the computer name on the IIGS.
- Double-click the new user and check the "Allow user to connect" checkbox. Passwords are optional. On a private home network passwords for AppleTalk are not necessary.

To allow connections from the G3 B&W:

- In the Users & Groups control panel and create the new G3 user using File > New User. This user name should match what you intend to use as the computer name on the G3.
- Double-click the new user and check the "Allow user to connect" checkbox. Passwords are optional. On a private home network passwords for AppleTalk are not necessary. Because I will be playing HyperBattleship! with this user, I also checked the "Allow user to link to programs on this Macintosh".


Reboot the computer.

With the AppleTalk control panel or from the control strip turn on AppleTalk.

Open the Sharing Setup control panel and set an owner name and Macintosh name. Macintosh name is what will be displayed on the IIGS when you try to connect to a Mac folder.  Turn on File Sharing. In my case, because I wanted to play HyperBattleship! I also turned on Program Linking which it needs.

In Finder select the folder that you created for sharing and go to File > Sharing...  Check the "Share this item and its contents" checkbox. Check all of the permissions for any user who will be accessing it or more simply just use everyone. When you close the dialog, when asked click the Save button to save permissions. The folder icon should change to indicate that it is now being shared.

For System 9 (both the PM5400 and the G3):

(Note: I decided to use individual accounts for access, but you can also turn on the Guest functionality if you do not want to create accounts)
In the File Sharing control panel Start/Stop tab set the Owner name, password, and computer name. Check "Enable File Sharing clients to connect over TCP/IP" and start File Sharing. Because I need Program Linking to play HyperBattleship! I also checked the "Enable Program Linking clients to connect over TCP/IP" and started Program Linking.

To allow connections from the Apple IIGS:

- In the File Sharing control panel Users & Groups tab create the new IIGS user by clicking "New User". Under Identity set the user name to match what you intend to use as the computer name on the IIGS. Passwords are optional. On a private home network passwords for AppleTalk are not necessary. Under Sharing check "Allow user to connect to this computer".

To allow connections from the other Macintosh:

On the PM5400:
- In the File Sharing control panel Users & Groups tab create the new G3 user by clicking "New User". Under Identity set the user name to match what you intend to use as the computer name on the G3. Passwords are optional. On a private home network passwords for AppleTalk are not necessary. Under Sharing check "Allow user to connect to this computer". Because I will be playing HyperBattleship! with this user, I also checked the "Allow user to link to programs on this Macintosh".

On the G3:
- In the File Sharing control panel Users & Groups tab create the new PM5400 user by clicking "New User". Under Identity set the user name to match what you intend to use as the computer name on the PM5400. Passwords are optional. On a private home network passwords for AppleTalk are not necessary. Under Sharing check "Allow user to connect to this computer". Because I will be playing HyperBattleship! with this user, I also checked the "Allow user to link to programs on this Macintosh".


Reboot the computer.

With the AppleTalk control panel or from the control strip turn on AppleTalk.

Open the Sharing Setup control panel and set an owner name and Macintosh name. Macintosh name is what will be displayed on the IIGS when you try to connect to a Mac folder.  Turn on File Sharing. In my case, because I wanted to play HyperBattleship! I also turned on Program Linking which it needs.

In Finder select the folder that you created for sharing and go to File > Sharing...  Check the "Share this item and its contents" checkbox. Check all of the permissions for any user who will be accessing it or more simply just use everyone. When you close the dialog, when asked click the Save button to save permissions. The folder icon should change to indicate that it is now being shared.

Verifying the New AppleTalk Network is Set Up Correctly

On the IIGS open the AppleShare Control Panel and under "Select a file server" you should see the names of the two Macintosh computers. If you do not then make sure that AppleTalk is on on the computers and Ethernet is selected and make sure the Ethernet hub is turned on. Also, if you have an accelerator card like the ZipGS or Transwarp GS in your IIGS, verify that they are configured to be compatible with AppleTalk.



Select one and click OK to initiate the AppleTalk connection. If the user is set up correctly you will be asked what items you want and should see the name of the shared folder you created.  If you do not, then verify that the shared folders permissions are set to allow read/write permissions from the IIGS, and that File Sharing is turned on.



If you select the shared folder and click OK it should be mounted on your desktop. You can simplify the steps of mounting the shared folder by creating an alias to the mounted folder.  Just select the mounted folder icon on the desktop and either type Apple-M or select Make Alias... from the Finder's Extras menu. Once the alias is created just double-clicking on it will mount the folder. (The Easy Mount init adds this ability to the Finder Extras menu and is one of the files installed when you install AppleShare from the System 6.0.1 Installer disk.)


On either Mac open the Chooser from the Apple menu and click the AppleShare icon. Under "Select a file server" you should see the name of the other Macintosh.  If you do not then make sure that AppleTalk is on on the computers and Ethernet is selected and make sure the Ethernet hub is turned on.


Select the computer in the list and click OK to initiate the AppleTalk connection.  If the user is set up correctly you will be able to select the shared folder to mount and it should then mount on your desktop. You can simplify the steps of mounting the shared folder by creating an alias to the mounted folder.  Just select the mounted folder icon on the desktop and either type ⌘-M or select Make Alias from the File menu. Once the alias is created just double-clicking on it will mount the folder.

HyperBattleship! for Mac OS 9

HyperBattleship! v2.1 was freely released by Claris Corporation when Apple released Mac OS System 7. It is a Macintosh HyperCard implementation of the Milton Bradley tabletop two-player game Battleship. The stack demonstrates the Apple Event capabilities introduced in System 7 and allows the opponents to play on separate computers on the AppleTalk network. The original version can be found on archive.org here.

HyperBattleship! for OS9 is HyperBattleship! v2.1 with the addition of a single background button needed to allow Mac OS9 machines to properly play the game. I released this in March 2002. It is fully compatible with Mac OS 7 and 8.


The OS9 incompatibility with HyperBattleship! v2.1 is evident when a machine running OS9 is contacted from another machine in order to initiate a game. What appears to be a HyperCard bug (observed in HyperCard 2.2 through 2.4) prevents the send command issued by the OS9 machine from prompting the login dialog.  Without the login dialog any communications initiated by the OS9 will fail because the OS9 machine is not properly linked to the other machine and therefore the game cannot be played.

The solution takes advantage of an oddity that the identical send command issued from the message box rather than from within the script will properly initiate the login dialog. So a background button added to the game card allows the forcing of a link from the OS9 machine to the opponent machine by populating the message box with the appropriate command.  After the link is forced communications from the OS9 machine will work properly.  Note that the machine that first initiates contact does not need to force a link, even if it is running OS9, only an OS9 machine that has been requested to play needs to force a link before later responding affirmatively to a second request. Also, in order to send a message from the msg box the HyperCard userlevel must be set to 5, which is normally not the case with HyperCard Player. I recommend using HyperCard 2.4 is using OS 9.

So if you are running OS9 when you are contacted to play a game you should first respond negatively.  Then use the force link button to connect to the requestor's machine.  Then notify the requestor to repeat the proposal to play and this time answer affirmatively to proceed normally.

To download HyperBattleship! for OS9,  go to my blog here and then go to All Macintosh Software

Connecting to the Internet

While there are undoubtedly ways to connect the vintage AppleTalk network, I prefer to keep the vintage network off of the internet for the most part. There is still the need to be able to download software from the internet and ideally using only the network deliver the software to the G3, PM 5400, and IIGS when desired. Doing so requires temporarily connecting a more modern computer that is on my primary network to the vintage computer network.
Network diagram

To facilitate downloading programs for use on the IIGS, PM5400, and G3, there is a 2010 Mac Mini running MacOS X 10.13.6 "High Sierra" that is connected to my primary network via WiFi and is also connected to the new vintage network hub by Ethernet cable. Internet sourced content can then be delivered to the IIGS in three simple steps using nothing but net.

1. Mac Mini to G3 MacOS X 10.4 using Ethernet through the hub
2. G3 MacOS X 10.4 to PM5400 Mac OS 9 using Ethernet through the hub (this requires Mac OS 9 on the target computer.) (Note: 10.4 can do this over AppleTalk, but I am not certain about later versions.)
3. PM5400 Mac OS 9 to IIGS using AppleTalk

An alternative path not dependent on Mac OS 9 on the bridge PM5400 would be:
1. Mac Mini to G3 MacOS X 10.4 using Ethernet through the hub.
2. Reboot G3 to Mac OS 9.
3. G3 Mac OS 9 to PM5400 (Mac OS 7, 8, or 9) via AppleTalk
4. PM5400 (Mac OS 7, 8, or 9) to IIGS using AppleTalk

Transferring files from the Mac Mini to the G3

The Mac Mini is configured with MacOS X 10.13.6 "High Sierra". Newer versions of MacOS X may also work.

The Mac Mini is connected to my primary network via WiFi and is connected to the vintage network with an Ethernet cable from its Ethernet port to the same Ethernet hub being used for the G3 and PM5400.

While MacOS X 10.13 is not able to connect directly to Mac OS 9, it can connect directly to the G3 running MacOS X 10.4.

On the G3 in MacOS X 10.4 I have the following configured:
- In the Network preference pane, in the AppleTalk tab, "Make AppleTalk Active" is checked
- In the Sharing preference pane the computer name is set to "G3" and Personal File Sharing is turned on.

To transfer a file from the Mac Mini to the G3 I use the following steps:
1. Browse the Network using the Go > Network menu item
2. Click on G3 and connect as guest. This allows files to be dropped into the public Drop Box on my G3 user account.
3. Drag any files to transfer to the Drop Box folder.

(Configuration note: Because the Mac Mini is connected to both my primary network via WiFi and the vintage network via Ethernet, the WiFi connection is set in the Network Preference Pane to be used first and the Ethernet second. When in the reverse order access to the internet becomes non-functional.)

On the G3 the files will appear in the user Public/Drop Box folder.

Transferring files from the G3 running MacOS X 10.4 to the PM5400

1. Connect the G3 to the PM5400 running Mac OS 9 from the Go > Network menu item

2. Connect using the "G3" user name that has permissions on the PM5400

3. Select the shared folder on the PM5400 to be mounted

4. Once mounted the PM5400 folder will appear in the sidebar and the files can be copied from the Drop Box folder into it.

Questions

Q: Will this work with System 6 or earlier Macs?
A: No. Personal File Sharing was not added until System 7 of Mac OS.

Q: Will this work with an OS X (mac OS) computer?
A: An OS X computer that supports AppleTalk could be connected to the Ethernet hub (by Ethernet cable or WiFi) and it should work. However I have read that Apple dropped AppleTalk support in Mac OS X versions later than 10.2.8. Also the Mac OS X computer cannot run the LocalTalk Bridge control panel so it cannot serve as the AppleTalk/Ethernet bridge.

Q: Are the Farallon PhoneNet Plus Terminating Resistors really necessary?
A: The Farallon PhoneNet Plus manual says they are.  I am not an electrician and do not know if you risk harm done to the PhoneNet Plus adapters or the computers if you use the network without them.  The PhoneNet manual troubleshooting section implies that missing terminators can cause performance problems on the network.  My limited testing with just two computers connected to each other did not show any problems.

Q: How fast is an AppleTalk network for file transfers?
A: An AppleTalk network runs at 230.4 kps, which is pretty speedy for 1990 at an ideal 1 MB/minute. Copying files from my IIGS to the PM5400 typically performs at 2 minutes or less per MB.

Q: Why? Just why?
A: Because physical devices like 30 year old floppy drives will fail and without alternatives you may be unable to move files to and from your old computers, essentially freezing them in time.

Q: Is there any other way to accomplish this?
A: Probably.  There is an Ethernet card for the IIGS being sold currently (Uthernet II) and perhaps it would allow me to connect my IIGS to an Ethernet hub and eliminate the need for the Farallon PhoneNet Plus adapters and PM5400 to act like a bridge. There are also new ways to move files to a IIGS by using devices such as the FloppyEmu and BOOTi card which use SD and USB thumb drives, respectively.

Q: Will this work using emulators like Sheepshaver and KEGS?
A: I haven't tried using AppleTalk on emulators, though it would be an interesting thing to experiment with. From what I have read online additional 3rd party software may be required. I doubt I will pursue this myself.

Q: Why do your Mac dialog boxes look so cool?
A: On Mac OS 7-9 I use Kaleidoscope (available on Macintosh Garden here) along with my own "Corwin of Amber" scheme inspired by Roger Zelazny's Amber novels. The "Corwin of Amber" scheme is available on my blog under All Macintosh Software. Click here and go to All Macintosh Software.

Q: Where can I get the version of HyperBattleship! that works on OS9
A: Click here and go to All Macintosh Software
 

Sunday, May 10, 2020

"Copland" Inspired Apple IIGS Icons 2020

Having recently joined a few different vintage computing groups on Facebook, I found myself inspired to unbox my Apple IIGS and do some creative work with its Finder icons.  Creating icons for GS/OS is something I began doing in the mid-1990's. I created replacement icons for the Finder trashcan that were inspired by the Marvel superhero Ghost Rider and also created an entire set of replacement icons in a 3D style based on a picture spread in an Apple II magazine purporting to be of the upcoming release of the "Copland" version of the Mac OS 8 operating system. I thought it would be fitting if IIGS desktops had that look before Copland actually debuted (ironically Copland was abandoned and replaced by Rhapsody).

Here are some images from a July 1995 issue of MacUser showing some of Copland's 3-D icons:


Here is what an IIGS desktop using my icons looks like:

A display of a IIGS desktop using my Copland inspired icons

My 2020 additions include an "Apple II Forever" banner replacing the icons of Start.GS.OS and GS.OS, new icons for Finder, default device drivers, and a 3.5 drive icon. By coincidence I was on a video call the very day I completed these icons and Apple founder Steve Wozniak unexpectedly participated in the call. I used an image of my GS/OS desktop as my backdrop and can only hope that he saw them. (The two day conference sessions were recorded and will be posted at http://wwnc.online/presentations.html.)

In the IIGS section of my public Google Drive space I have a 2mg disk image of the 2020 icons that can be mounted on a IIGS emulator. There are also downloadable IIGS hard drive disk images with GS/OS 6.0.1 and my icons already installed.

Here are some pictures of the icons:




My Finder related icons with magnifying glasses, Apple II Forever, BASIC.LAUNCHER, and Finder icon inspired by the Apple standard icon.

My 1995 Copland inspired icons for many GS/OS folders


My Copland inspired icons for some common IIGS folders

Less common folders in the Copland inspired theme

My AppleDisk5.25, active/inactive SCSI, and AppleDisk3.5 driver icons

My trash can and disk drive icons installed in the Finder.Icns file

Many standard filetype icons with inactive versions

Copland inspired versions of folders typically found when attached to a Mac OS 8 fileserver

The desktop from my downloadable generic IIGS hard drive images

 

Saturday, May 2, 2020

How to Use Apple's iCloud Drive service for Cold Storage

What iCloud Drive Is and What It Is Not


Apple’s iCloud Drive service is designed to allow syncing of content from one or more devices - iOS, Mac, and Windows - to Apple owned storage over the internet and facilitate sharing of that content between devices with approved Apple IDs.  Applications such as Apple’s Notes, which exists on iOS devices and is included with MacOS (formerly called Mac OSX) work well with iCloud, allowing authoring and editing of the same notes across devices sharing the same Apple ID.

Documents can be stored in iCloud by application, as is done with the Notes and Photos apps. In addition though a person can purchase additional space in iCloud - either 200 GB or 2 TB - for a monthly fee and this purchased space is referred to as iCloud Drive and it can be accessed and managed through the web site https://www.icloud.com/iclouddrive/. If you turn on the Documents & Desktop feature in iCloud, the entire user Documents and Desktop folders will be uploaded to iCloud Drive and relocated on the local machine to a hidden folder within the user’s Home folder:

/Library/Mobile Documents/com~apple~CloudDocs

Because the data remains upon the local drive in the Mobile Documents folder, using iCloud Drive does not free up any space on the local hard drive.

Content that is synced with the iCloud Drive service is not only stored in iCloud and on the local hard drive of the original source, but is also synced to each authorized device. Because storage capacity on devices vary, Apple allows an optimization feature to be used so that older documents are retained only in iCloud and can be downloaded upon request to a client device, but users have no control over the algorithm that is used. Any data files that are manually uploaded to iCloud Drive using the www.icloud.com/iclouddrive/ website are also automatically pushed to each device that has the iCloud Drive service turned on.  This can become a problem for computers that lack the storage capacity on their internal drive.

The Need for Cold Cloud Storage


While Apple does not provide a means of marking content in iCloud Drive so that it is retained in iCloud Drive only, there are several reasons why this is a desirable feature.

MacOS expects home folders to be stored on the Mac internal drive. Home folders can be relocated to an external drive, but then the Time Machine service would not be able to back them up. Photo, music, and video libraries can take up an enormous amount of space, and unless these are also on the internal drive they cannot be backed up by Time Machine. Also, the BootCamp functionality requires partitioning the internal drive to create a Windows partition and because the partition size cannot be changed once created, it makes sense to create a larger partition than you expect to need, leaving less space on the internal drive for MacOS.

An external drive can be used to solve the problem of a large video library consuming a large amount of space, but once those videos are moved to the external drive they will be unable to be backed up by Time Machine so the loss of the external drive would mean the loss of the content.  For this reason it is essential that content put onto an external drive be backed up in some other way. Uploading these files to iCloud Drive would result in the files being pushed to the internal drive Mobile Documents folder, consuming all the internal space that was gained by moving the files to the external drive in the first place and is therefore not a viable solution. If your Photo library is larger than 200 GB then you will require the 2 TB iCloud Drive space. If you cannot upload additional content to that space due to limited local internal drive space, then much of that 2 TB may go unused.

Unfortunately Apple has positioned iCloud Drive as a sync and sharing file service, not a cold backup service and they have not provided a means to mark content in iCloud Drive to be retained in iCloud Drive only.

How to Achieve Cold Storage Using iCloud Drive


The following method to utilize iCloud Drive space for cold storage has been tested on Mac OS X 10.14.6 and is not supported by Apple. The author recommends that you utilize this method only for content that you retain a local copy of on an external drive or other local storage. This method utilizes the Unix underpinnings of Mac OS X and is therefore likely to continue to work unless Apple takes specific steps to disable it. Note that this method does not interfere with any other uses of iCloud Drive such as for Photo and Notes sync and the Documents & Desktop feature.

This solution works only with Mac OS X clients, so if you have iOS or Windows iCloud Drive clients enabled this solution is probably not for you.

Requirements

This method has the following requirements:

- More than one account on your Macintosh, preferably an admin account and your user account (the user account need not but can have admin privileges).

- Access to your iCloud Drive space via the web site https://www.icloud.com/iclouddrive/

- The administrator password (needed only if your own account does not have admin privileges)

- Access to the Terminal utility

- Access to all Macintoshes on which you have enabled iCloud Drive for your Apple ID

Steps to create a folder in iCloud Drive that can be used for cold storage


1. Access your iCloud Drive space at https://www.icloud.com/iclouddrive/

2. Create and name a new folder in iCloud Drive to be used for cold storage by clicking the website folder+ icon. You could create multiple folders if you like but it will reduce steps if you use subfolders within that one rather than creating multiple folders. In my case I created a single new folder named “Cloud-only”. Devices that the user is logged into and have iCloud Drive turned on will automatically have a corresponding folder created in their Library/Mobile Documents/com~apple~CloudDocs folder with the name of the new folder created in iCloud Drive.

3. On the Mac start the Terminal utility that is in the Applications Utilities folder.

4. Type “cd ~/Library/Mobile\ Documents/com~apple~CloudDocsand return (without the quotes)

5. Type “ls -lart” and return to list the contents of the com~apple~CloudDocs folder. This list should contain the name of the folder that had been created in iCloud Drive.

In my case the directory listing looks like this (bold added for emphasis):

bbellina$ ls -lart
total 16
drwxr-xr-x@ 51 bbellina  staff  1632 Apr 11 12:28 ..
-rw-r--r--@  1 bbellina  staff  6148 Apr 28 00:10 .DS_Store
drwxr-xr-x  12 bbellina  staff   384 Apr 28 13:45 .Trash
drwxr-xr-x   2 bbellina  staff    64 Apr 28 13:45 Cloud-only
drwxr-xr-x   5 bbellina  staff   160 Apr 28 13:45 .

 6. The trick to this technique is to alter the folder on the Mac so that attempts to push content into the folder by the iCloud Drive service using your account will fail. To do this you change the owner of the folder from your own account to another account on the Mac that is not used with iCloud Drive.  In my case I changed the owner to my administrator account "TheAdmin".  Type the following command, replacing "TheAdmin" with the account you choose and "Cloud-only" with the name of the folder you created in iCloud Drive:

sudo chown TheAdmin Cloud-only/

7. You will be prompted for a password and you should enter your administrator password. If your user account has admin privileges then your own password should suffice.

Password:

8. After this retype the ls -lart command to verify that the change was made. It should look something like this. Note that the Cloud-only folder is now owned by the theadmin account rather than bbellina:

bbellina$ ls -lart
total 24
drwxr-xr-x@ 51 bbellina  staff  1632 Apr 11 12:28 ..
drwxr-xr-x   5 bbellina  staff   160 Apr 28 13:45 .
-rw-r--r--@  1 bbellina  staff  8196 Apr 28 13:58 .DS_Store
drwxr-xr-x  14 bbellina  staff   448 Apr 28 15:23 .Trash
drwxr-xr-x   2 theadmin  staff    64 Apr 28 15:23 Cloud-only


9. Close the Terminal

With the owner of the folder changed, the iCloud Drive service will be unable to push updates to the folder therefore any content that you upload to the folder using the iCloud drive website will be unable to be pushed to your Mac.  If there are other Macs using the same Apple ID and iCloud Drive then you should change the owner of the folder on those Macs as well before uploading any content to the folder in iCloud Drive.

Conclusion

Since implementing this I have successfully uploaded over 50 GB of content into subfolders within my Cloud-only folder and none of the files have been pushed to my Mac’s internal drive. The files can still be downloaded at any time to my Mac by going to the iCloud website and selecting them for download.

A few current limitations in iCloud Drive to keep in mind. These may be changed in the future.

- There does not seem to be a way to rename folders using the iCloud Drive website

- A file uploaded to iCloud Drive cannot be larger than 10 GB

- The iCloud Drive web interface does not allow drag and drop upload for a folder, only files.

- Most importantly, do not rely entirely on iCloud Drive to be your master location for these files. I have already had situations in which all of the files have been removed and must be re-uploaded. iCloud Drive should NEVER be your sole storage solution.

- [Update 5/8/20] iCloud Drive cannot handle packages like the OS X Installers. A solution is to compress such packages and upload the resulting zip.

- [Update 5/24/20] This has been verified to work with macOS 10.13, 10.14, and 10.15

- [Update 5/24/20] [See above warning about iCloud Drive never being your sole location for storage. It is possible for this procedure to delete all of the files in your cold storage folder in iCloud Drive. It happened to me.] If iCloud Drive has already started downloading content from your Cloud storage only folder to your Mac (this can happen on a new Mac or when using Mac Recovery to reinstall the OS) you should delete that content from the Mac before using the chown command.  To do so disconnect from the internet to stop the download and then in Terminal cd into the directory with the content to delete and then issue the command "rm -R -i *" (without the quotes). Because of the -i option you will be asked to confirm each delete. If you are certain you are in the correct directory you can leave off the -i and it will delete everything without asking for confirmation.  Note that -R tells the rm command to remove all directories in the directory as well as files.

B. Bellina
5/1/20