Category Archives: Mac OS 9

Large Disks in Vintage PowerPC Macs

Large Disks in Vintage PowerPC Macs

The main scenarios that have caused me issues with large hard disks in PCI era PowerPC Macs (Beige G3 through to G4 era) are…

  1. Many IDE PowerPC Macs from the G3 to G4 era are limited to ~128GB disks.
  2. The operating System on some early G3s needs to be in the first 8GB.
  3. When partitioning a Terabyte scale disk in Classic Mac OS, Drive Setup fails to allow you to size partitions due to UI issues.

Lets look at each of these issue and solutions individually.

Dealing with the 128GB Limit

I believe this limitation impacts computers from the Beige G3 and original iMac through to some QuickSilver G4s. The issue is caused by the computers only supporting 28bit LBA, resulting in a 128GB limit. I usually aim for a little bit under 128GB as I believe there may be a little bit of margin needed for some reason.

  1. The simplest solution, given disks less than 128GB are often more expensive due to so many vintage machines having the 28bit limit (not just Macs), is to get a larger disk such as a 250GB disk, and format it with a 120GB partition in a more modern computer that supports it. This has worked for me in the past, but whatever you do, do not mess with the partition table in your 28bit LBA machine.
  2. The next easiest solution, but with a more significant cost, is to buy a PCI card that supports larger disks, such as an after market ATA card, or a SATA card. Note that most cards don’t support Macs, and even some of the ones that do, don’t support booting, only storage. A good option might be a SIL3112 based card as with the right firmware they have Classic Mac OS support (back to System 7.5) as well as some Mac OS X support.
  3. Intech Software wrote a special hard disk driver that enabled the use of bigger disks with both Classic Mac OS and Mac OS X (10.2 and later) on the computer’s internal ATA bus. To use the driver with Classic Mac OS, format the drive using their Hard Disk SpeedTools product, but if you want to use the drive with Mac OS X, you will need to install a software driver called SpeedTools ATA Hi-Cap Driver in every OS X install. Note! There are still a number of limitations – it is likely that any computer that suffers from needing bootable OSes in the first 8GB will still need that, so create any bootable partitions you need within the first 8GB. On later machines using this disk driver to use larger disks, they will not be able to boot from beyond 128GB on the built in interface, so ensure that you put a partition divider around 120GB and only use partitions beyond 120GB for storage, and not bootable OSes. There are extensive warnings and guidance in the manuals for this software.

Please note that I’m not overly familiar with the limitations on older Performa 630 -> 6500 family IDE implementations. I have attempted to put a 120GB disk in a 630 but had odd, intermittent write errors. This is an ongoing project and I hope to find out what can and can’t be done with that family of machines.

Keeping the OS Within the First 8GB

Historic understanding of this is that the OS must be within the first 8GB of the hard disk on the Beige G3 and early iMacs, although this has been disputed at times. My personal experience of this is that I’ve had issues over time when I failed to partition a 40GB disk in a 233MHz beige G3 (with a Rev A ROM), but given this was back in something around 2003, I don’t have extensive notes! My thoughts are that more investigation is required with different hardware and ROM revisions to understand what is going on, but in the meanwhile, to be safe…

  1. Partition your disk. I usually create a couple of small partitions and then a larger partition, using the larger if I want to run an early version of OSX. For example, I might create a 2GB partition and a 6GB partition for a Classic Mac OS install and a Mac OS X install. Alternatively, I might create two 1GB partitions, a 2GB and a 4GB if I’m experimenting with lots of OSes. I then usually create a single large partition with the remainder of the disk (assuming it is less than 128GB – see above) for applications and storage.
  2. Use a PCI SATA or ATA card. Many cards make drives appear as SCSI drives meaning that the host’s ROM doesn’t use the code that prevents booting beyond 8GB (the bug is in the ATA code, and doesn’t apply to SCSI disks).
  3. Using a helper partition – given the issue only exists very early in boot, it is possible to use a small helper partition and the software XPostFacto. XPostFacto is able to put a small number of files on a bootable partition, that then hooks into a larger OSX (I don’t think it supports OS9? I’m not sure, please correct me) installation on a large, unbootable partition. This trick can also be used to boot from FireWire drives on machines that don’t support booting from FireWire. Theoretically you could create 10 small partitions within the first 8GB of the hard disk and use each as a helper partition to boot huge partitions later into the disk.

Partitioning Multi-Terabyte Disks Under Classic Mac OS

Note – I believe that you are limited to 2TB disks in Classic Mac OS, but have not personally tested exceeding this limit.

When I installed a 1.5TB disk in my 9600 I found that I was able to format and use the disk using Apple’s Drive Setup, but that if I tried to partition the disk, I could not type in custom partition sizes (my usual trick with a big disk is to use the tab key to cycle through partitions that are visually too small to click on in Drive Setup). After some experimentation with various software, I found that I was able to easily set up partitions, once again using Hard Disk SpeedTools. As such, this is my recommendation for setting up a very large disk (I assume SATA) in a classic Mac OS system.

Compact Pro for Classic Macintosh File Uploads

Compact Pro for Classic Macintosh File Uploads

TLDR

Try Compact Pro instead of Stuffit for sharing files with other users of vintage Macs – you might be surprised.

It is useful because you can create self extracting files protected from the ravages of the internet and you don’t need to worry about what compression software, or realistically, what hardware or OS version the recipient is using as the single format is extremely broadly compatible with Systems from 4.2 to Mac OS 9.2.2.

Macintosh Files

Classic Mac OS (System versions 9.2.2 and older) used a file format that is a bit different to what is used on most systems. Each file has two forks, a data fork, which contains binary data similar to any normal Windows / DOS / Linux / CP/M, and a second resource fork, that contains structured data called resources. Resources can be anything from pictures and sounds, to icons and even application code.

The Problem

A major issue with working with vintage Macs is that if you move a file with a resource fork onto a drive formatted as FAT or NTFS or most disk formats, including web servers, the resources are stripped from the file, an irrecoverable disaster as most files have all of the important information in resources.

The Solution

The common method to solve this issue is to process your files and convert them into a data fork only file, that can be later converted back to match the original files. Common formats that just do this are MacBinary (.bin), AppleSingle, and AppleDouble. BinHex (.hqx) is a format designed to allow the transmission of files through protocols that might otherwise corrupt, I think by misinterpreting parts of the file and making well meaning changes (Versions of Fetch and some web browsers cause this issue to files that aren’t converted to BinHex or MacBinary etc.). Additionally, it is possible to use compression formats such as the Stuffit (.sit / .sitx) compression format and Compact Pro format (.cpt) as these do not have any important data in the resource fork.

The Complication

Most vintage Macintosh users seem to have settled on using Stuffit Expander as their main decompression tool in recent past, and I assume Drop Stuff as their main compression utility. This is interesting as it wasn’t always the case with these tools becoming more popular in the late 90s and early 2000s, likely partly because older versions of Stuffit compatible software tended to be paid software.

My frustration with everyone using Stuffit, is that there are effectively three Stuffit formats – Versions 1 – 4 (.sit), Versions 5 – 6 (still .sit, but not fully compatible) and Version 7+ (.sitx). Version 3.5 is required to work on System 6 and Macs with a 68000 processor, but this version wont open “.sit” files made with Stuffit 5. Version 5.5 seems to be the last version to work on 68k Macs and opens most files, but requires System 7.0 or 7.1 (I forget which) and a 68020. I have had better luck opening some partially corrupted files using 5.5 over 5.0 – I suspect it does some simple repairs for common issues. “.sitx” files require Stuffit Expander 7 which does not run on 68k Macs. Further more, it is possible to set the level of compression, with higher levels of compression taking longer to expand, hugely so on older computers. Some files will crash some versions of Expander, but not others so you usually end up needing multiple versions (4.5 and 5.5 perhaps) installed.

The common mistake that people make is to compress a file, intended for use on an 8MHz computer from the 1980s and running System 6, using the high compression mode and saving in the later (requiring version 5 or later) format making the files inaccessible on original hardware.

My Preferred Solution

In my household growing up in the 90s, we tended to use the compression tool “Compact Pro”, which was ShareWare, but fully functional without registration. This worked well and let you save archives which can be moved between computers, even stored on servers and PCs, and later extracted on another Mac running Compact Pro. Compact Pro has minimum requirements of a Macintosh Plus running System 4.2 and will work just fine on a G4 running Mac OS 9.2.2.

The next huge advantage is that in the save dialogue box, there is a “Make Self Extracting” checkbox. If you check this, the saved file is an application. Running this application will extract the compressed files without even needing to have a copy of Compact Pro on the destination computer – the complication? An application needs resources… never fear – there is a menu option that allows you to convert any file, including these Self Extracting Archives (.sea) into a BinHex (.hqx) file, which is server, Windows, Linux, FTP, http etc. safe. Additionally, almost any archive software including StuffIt will convert the file back into the application from the BinHex so you’re not excluding StuffIt users (note that for many years Stuffit Expander came on Apple Mac OS installer CDs and was installed by default). An extra bonus is that some web browsers and FTP clients automatically convert BinHex files.

By processing a file like this, it will be possible for it to be worked with by the destination user, regardless of what OS they are running as long as it is newer than System 4.2, there are fewer format issues, fewer unexpected, Stuffit Expander just quitting when you drop the file on it, or throwing a mystery error, the files work on anything from a 68000 to a G4.

The only disadvantage is that there is a small overhead for the application / extraction code and so if a file barely compresses (such as sound or a JPEG image) the resulting file might end up being slightly larger than the original, or if you are trying to minimise size to the last few kB.

How To

First download Compact Pro 1.52 onto the computer running Mac OS (real or emulated) that you want to use to compress your files. It can be found here.

Compact Pro

Once installed, follow these steps to generate a self extracting archive stored as a BinHex.

  • Launch Compact Pro and it will open showing a new untitled archive. You can add files and folders here.
  • You can go to the “Archive” menu to either create new folders (“New Folder…”), or directly “Add Files…” and folders.

You can chose to add all files at the current location, or just what is selected. You can keep adding things until you have finished, and then click “Done”. You can also choose to “Add only if modified on or after” which is handy if you have a file full of many documents and, for example, want to add all the ones you’ve modified today.

Now that we have added our files, we can navigate and modify things if we like, but I’m going straight to “Save As…” in the File menu. I have selected the “Self-Extracting” checkbox and named the file “CW2.1.SEA”. I then click “Save” as usual, after navigating to where I want to save my Self Extracting Archive.

After saving, the archive window updates to show details of what filesize savings we made. In my case, I saved 45% of the original size of the files. Woo!

Keep in mind that at this point we can move the file between Macs on a Mac formatted disk, but, because we specifically saved as a self extracting archive, to retain that feature when moving via the internet or a PC, we need to convert the file to a BinHex. This is done with the “Convert to BinHex4…” option in the Misc menu. Select your file and click Open.

You will be asked where to save the file. I don’t tend to check “Include LFs” (Line Feeds) – Let me know if it is something that is needed in a specific situation using my contact form under the “About” menu on this page.

That’s it – you now have a .hqx file that is safe to move on to a PC floppy disk, transfer over FTP to a PC, upload to Macintosh Garden etc. The end user just needs to open the file with something that converts back from BinHex, which as mentioned could be one of many programs including Stuffit Expander, and then double click the resultant file and the contents will be extracted. One of the reasons I like this method is that the BinHex is just a plain text file but once converted back, the Self Extracting Archive retains all its file type and file creator characteristics.

NOTE – If you do make a mistake and forget to convert your Self Extracting Archive into a BinHex and the resources are removed during the transfer process, the resultant file will still be a valid Compact Pro archive! This means that at the destination, the damaged file can still be expanded by manually opening it in Compact Pro, or if I remember, a registered copy of Stuffit Expander / Stuffit Deluxe.

G3 / G4 Processor Upgrade Speed Settings

Some G3 and G4 processor upgrades for beige macs from the 90s have dip switches for setting the processor and bus speed, as well as a special switch for when you install it in a PowerBase (a clone). With so much information falling off the internet and getting harder to find, I thought I’d post the settings for some cards here.

PowerLogix PowerForce G3 Speed Settings

This is what my PowerLogix card looks like, it is a 400MHz, 1MB Cache G3 (PFG3 400/200/1) upgrade for PCI macs with the processor slot, for example things like the 7500 to the 9600, and some clones.

Here are the settings :

XLR8 Mach Speed Settings

The following settings apply to a number of XLR8 cards, including Mach branded cards. The first 8 switches seem to control the host bus speed, the remainder set the CPU multiplier.

You can also additionally set the Backside Cache speed using XLR8s software.

Newer Technology MaxPowr

See the following site for experimental research regarding the four switches on the non-ZIF variant, or the manual extract for settings on the ZIF card.

https://siber-sonic.com/mac/MAXpowrG3.html

Classic Mac OS Memory Maximising Tricks

Classic Mac OS Memory Maximising Tricks

When retro Macintosh computers such as the IIci, Performa 475 and even early (beige era) Power Macintoshes were current, RAM was extremely expensive. As a kid trying to push the capabilities of what I had, I sometimes would be in a situation where I just didn’t quite have enough RAM to run a program, for example because the software requires a specific, newer, version of the OS (with a larger footprint).

Today, RAM for these machines is effectively cheaper, but still expensive for some types, hard to find for others (such as the IIx) and lastly, some computers such as the SE or LC have fairly low hard limits.

Choose Your OS Carefully

The most obvious solution is to use an older OS as the further back you go, the less memory the Finder and System tend to use. System 7.1 tends to use around 1 to 1.5MB, while if you’re able to run System 6, requirements plumit into the low hundreds of kilobytes especially if you avoid using the MultiFinder.

If you’re short of memory on a PowerPC, try running a version of Mac OS 7 – the only beige PowerPC that won’t run Mac OS 7 in some form that I know of is the Beige G3. Some machines will even run slightly older versions than the official documentation suggests – for example the 9600 will boot 7.5.3. Note you might need a “System Enabler” for some combinations of computer and OS. These can be found on Macintosh Garden.

Setting up multiple disk partitions or disks, with older and newer supported systems, can be a great way of switching between more feature rich / compatible systems that consume more resources, and smaller, older, more lightweight systems to maximise available RAM.

Optimise

Sometimes you can gain some memory by uninstalling certain software installed in the System Folder. You might consider removing your screensaver, for example.

Suggested things to remove…

  • Always remove QuickDraw GX – it isn’t needed and uses a lot of RAM.
  • AfterDark or other ScreenSavers.
  • Printer Drivers you don’t need (and desktop printing).
  • Modem drivers.

Ensuring the hard disk cache size is sensible – if you’re short of memory on a sub 10MB machine, ensure the hard disk cache in the Memory Control Panel is set to 128k or 96k.

If you are using a Power Macintosh, you will often find that enabling 1MB of Virtual Memory in the Memory Control Panel will actually free significant amounts of RAM, especially in Mac OS 8.* and 9.*. Some software refuses to run if Virtual Memory is enabled, other software won’t run without it. Generally, avoid using greater amounts of Virtual Memory – if you really need more RAM, buy more RAM. Real RAM is many times faster than Virtual Memory.

So You Have a II or IIx, or Perhaps a IIfx?

Getting RAM for these machines can be a nightmare, because they need special RAM. “PAL” RAM in the case of the II and IIx (plus complications with respect to ROM versions and memory controllers on the II), and unique form factor RAM for the IIfx.

This is the one and only situation where I would recommend using virtual memory (perhaps also the LC II, Classic II and ColourClassic), but I would specifically recommend the software “RAMDoubler”. Ignore the jeering PC enthusiasts who dismiss this sort of software as snake oil – their platform has a history of scams in this area. The RAMDoubler product is an impressive piece of engineering that attempts to Ballance available RAM, CPU and hard disk. Default settings will give you 100% extra RAM, by compressing the contents of a portion of your RAM. This increases your CPU load, but means the most likely to be reused parts of memory are normal speed while the remaining is still faster than hard disk based virtual RAM. I’m writing from memory, but I believe that the software also performs more agressive memory tidying and may move less frequently used items to disk… But I suggest reading the manual.

At Boot-Time

Another simple solution would could be to boot with shift held down to disable Extensions, but this wouldn’t always work if your program or game required certain extensions to function. Starting up with Extensions disabled reduces the RAM your OS uses to the minimum.

When your software mandates some extensions, you can create and save a minimum extension set using the Extensions Manager. This can be easily accessed by holding space during boot on System 7.5 and later (when it is installed), but it can also be added to earlier versions of System 7, and older versions exists even for System 6.

Extensions Manager allows you to add and remove Extensions and Control Panels and then save “sets”. You can create several, for each of your favourite RAM hungry applications or games. It is also useful for troubleshooting crashes during boot, as it loads early (before most Extensions), loads the interface by holding spacebar, and allows you to remove everything to confirm the OS boots with a minimum config (otherwise the issue is likely the core OS, hard disk or other hardware) add then things back few at a time until you identify what is causing the issue.

Who Needs the Finder Anyway?

The last trick I used to use as a child was to write AppleScripts to quit the Finder and then launch the Application you want. This only works in marginal cases, but has got me out of a hole a few times, including when an Installer application would not launch any other way on a particular machine. Only minimal AppleScript support is required because all applications understand the “open” apple event, but best AppleScript compatibility is with Finder 7.1.2 (so a copy of System 7.1 with Finder 7.1.3 or 7.1.4 installed is a good configuration) or later as this will enable you to do more extensive scripts if you want. A basic script might be as follows :

tell application “Finder”
quit
end tell

tell application “MemoryHog Pro 3.0”
activate
end tell

Save the script as an Application.

To produce a more extensive “Launcher” type AppleScript, you might consider using FaceSpan, which allows you to produce AppleScript based Applets with fancy GUIs using a nice IDE.

Summary

Hope this page is useful to someone. I remember having difficulty getting Escape Velocity to run due to memory restrictions, as well as trying to maximise RAM available for Director 4 (to increase the available Cast size) and for recording sound to RAM.

If anyone has suggestions for what Extensions and Control Panels are memory hogs, or for any other memory saving tips, send me a message via my contact form (under the About drop-down).

MDK for Mac OS FPS Counter

MDK for Mac OS FPS Counter

As well as the really nice graphics speed benchmark in the menu, the Mac OS version of MDK also has a built in frame counter! This can be handy for comparing the performance of different video cards on computers in this type of workload (pushing pixels to the screen – raw graphics performance not using QuickDraw) on PowerPC Macs. This game is surprisingly well optimised for a port to the platform. Genuinely, hats off to the programmers.

To enable the FPS display, type “frate”. If your computer is a bit slow, don’t type it too quickly, type it with purpose.

I swear I read about this feature on a website once, but I just spent half an hour trying to find this tip, even searching ‘MDK “frate”‘ and I didn’t get useful results. Hopefully this post will help someone else out.

MDK Frame Counter

The counter appears to give the FPS as “<current> (<average>)” in the bottom right, under the health HUD.

If you haven’t also seen the graphics benchmark, it runs routines manipulating on screen pixels and compares your computer to the performance of a 100MHz 601, a 145MHz 604e, and a 275MHz 603e. Basically you might say, an 8100/100, a 9500/150 and a 6400/275. Yes, I can’t find any 145MHz 604e based Macs, I’m not sure they existed, even that 9500 is possibly a 604, not a 604e. The benchmark is available at Main Menu > Options > Performance.

MDK Graphics Benchmark

Yes, I have been testing an underwhelming computer 😉

Basic AppleShare Over the Internet on 68k Macs

Basic AppleShare Over the Internet on 68k Macs

Later versions of the Classic Mac OS let you use AppleShare (the regular client version) to directly connect to a specified IP address over the network or even internet, to access remote shares. But what some people don’t realise is that it is possible to install newer versions of the AppleShare software on older OSes to gain this functionality on older computers. This can be great for file sharing with friends over the modern internet, although some consideration should be given to security.

Requirements

I haven’t done extensive testing yet, but can confirm the described setup works on a Quadra 650 connecting to a remote AppleShare (crossing the Atlantic in my case). My expectation is that this setup would work back to System 7.1 on a 68020. This will need verifying.

  • An Ethernet capable Macintosh with a 68020 or later, running System 7.1.
  • The Open Transport 1.1.2 installer (provided).
  • The AppleShare 3.0.1 or later. 3.7.4 installer (provided).
  • An ethernet network with an internet connection.

Installation

First of all, download the following two installers, transfer them to your classic Mac and expand them.

Open Transport 1.1.2

AppleShare 3.7.4

Install Open Transport 1.1.2 only if your current version is older (or you don’t have any version installed). You can check the version by viewing file info for any of a number of Open Transport related extensions in the System Folder. After Installing, you will be forced to restart.

Install AppleShare 3.7.4. You will be once again instructed to restart.

In the Network or TCP/IP Control Panel, select the Ethernet option you intend to use and DHCP.

Make sure the System date and time is correct as this can be important with some networking. You may need to use the third party “SetDate” Control Panel to do this. I find the newest version crashes my computer, so use one of the older copies available on Macintosh Garden.

Ensure you are physically connected to your network and restart the computer.

Making an outgoing connection.

After ensuring the network is connected and AppleTalk is set up as described above, open the Chooser.

Select the AppleShare option, usually in the top left.

Click on the “Server IP Address…” button and in the dialog box that appears, enter the IP address or URL for the remote server you’re connecting to and click “Connect”.

Select “Guest” or enter the login details required for authentication and click “OK”.

At this point, if everything is successful, you should be presented with a list of available shares. You don’t need to click the checkboxes, they are only to save the servers so that they automatically mount at startup. To connect to a share, you just need to select it. You can select multiple shares by command-clicking.

Click “OK” and the remote share should mount on your desktop. Take things easy, especially if you are a long way from the server you have connected to as AppleShare is a little slow over the internet. Try to only do one thing at a time and consider how big a file or folder is before copying. Try to avoid getting info on folders containing a lot of files. Also, avoid opening files directly from the remote share – take a local copy first.

With my overclocked Quadra 650, I was able to get a little less than 1MB/s for transfers over a long distance. This is pretty good considering 10baseT is only about 1.2MB/s maximum, and has some overheads. I suspect the speeds I achieved are not much slower than I would get over a local network.

Preparing for an Incoming Connection

  • Turn on file sharing in the “Sharing Setup” Control Panel (moved to “File Sharing” on newer versions of Mac OS).
  • Turn off file sharing in the “Sharing…” option in the Finder’s “File” menu (moved to “Get Info” on newer versions of Mac OS) for all disks.
  • Create a new user in the Users and Groups Control Panel (moved to “File Sharing” on newer versions of Mac OS).
  • Create a shared folder and copy files you want to share into this folder.
  • Set the Sharing options for the shared folder so that it is read only for the user you created.
  • Optionally, create a drop box (a folder with write only permissions) inside the shared folder, or a guest folder (with read and write permissions) for people to upload their own files.
  • Log into your router’s settings page. Identify the IP address of your classic Mac.
  • Using instructions specific to your router, set up port forwarding to forward port 548 as TCP to the IP address associated with your classic Mac. Save and reset your router as required.

Security Suggestions

As AppleShare is an old and unsupported protocol, it is unlikely to be as secure as modern networking protocols. For example, traffic will be unencrypted and visible to anyone sniffing the connection. The following are a number of suggestions to improve security a little.

  • When you are not expecting incoming traffic, disable port 548 forwarding on your router. This removes a “hole” in your firewall and reduces the chance of someone stumbling on it, who might want to test your other security.
  • Don’t share with guest access enabled unless you are confident in what you are doing. Always set up a password protected user account for incoming connections.
  • Only share specific files you need to share, not whole disks.
  • Disable sharing when you’re not using it.
  • Ensure that you do not transfer private information over AppleShare.
  • Check that you don’t accidentally include personal information or files containing passwords / account details in the shared folder.
  • If you know how, consider setting up an SSH tunnel or VPN to transfer the AppleShare connection between local and remote sites. This will encrypt AppleShare traffic and shield transfers from prying eyes, although this will also make connecting more difficult.

Virtual Memory Not Working on Classic Mac OS

Virtual Memory Not Working on Classic Mac OS

When you have a lot of physical RAM installed in your Mac OS Classic era Macintosh, sometimes you might find that it isn’t possible to enable Virtual Memory. This can be a problem as some software, especially games, refuses to launch if you don’t have Virtual Memory enabled.

In this situation, one trick can be to create a large RAM disk using the Memory control panel. This consumes a load of the available System memory and magically makes the Virtual Memory options re-appear.

Once you’ve finished with the software that requires Virtual Memory, delete the contents of the RAM disk (if there is any) – fastest way is to just to select the icon on the desktop and then Erase from the Special menu, then turn off RAM Disk in the Memory control Panel.