Tag Archives: Macintosh

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.

An Extremely Tardy Performa 6200 Review

An Extremely Tardy Performa 6200 Review…

… or how slow is the “worst Mac” when you actually spend some time gathering primary evidence, including experimenting with various tools to improve performance over day-one reviews.

Draft Notes

I haven’t fully finished this article because my 6200 stopped working. This notes section just captures a few thoughts I was having and that I wanted to test or investigate. I’ve left it here so I can come back to it once I repair the 6200.

Impact of cache speed? None between 14 and 15ns. Suggests that both are faster than the computer. Interesting to see a) what happens with a 40MHz bus. b) what happens with a 22ns cache.

Impact of using AV card. Seems slower than built in, certainly with G3. I personally can only test without logic board cache if the G3 is installed. CPU runs faster with AV card, even without the cache, which is amazing. Suspect AV + Cache (I can’t test because I don’t have a basic riser) would be pretty good.

Availability of processor upgrades.

Current prices.

Why is quickdraw so slow on the 6200. Confirmed that video is faster on 630. 56.6 vs. 43.8 best case 8.6, or 42.9 for Mac OS 7.6.1.

MDK isn’t that different.

While 68k emulated FP isn’t great, remember this is a replacement 630… Most of which didn’t have a hardware FPU. Performance is ~2.4 times better without tweaks in 7.6.1.

What is the measured difference in performance running different ROM versions?


Forward

Before continuing, please realise that the topic covered on this page is strangely contentious within the retro Mac community and I am very aware of this, to the degree that I have at times hesitated working on and publishing this analysis.

Please understand that I have done my absolute best to approach this as scientifically as possible. I’m not pro or anti Performa 6200, but please, when providing any input or discussion, be mindful a small number of points…

  • Please be kind in your criticism. I’m only human.
  • I have spent literal weeks undertaking benchmarks of dozens of configurations as well as reviewing technical documentation – if you don’t agree with something, please explain the whys and the hows. To meet the required level of rigor to update this page, I will need you to provide reproducible hard data that I can run on my own machine.
  • Any contradiction of previous publications is not intended as a personal slight.

Summary

When executing PowerPC code, the Performa 6200 is 21.1% slower than the Power Macintosh 6100/66 in terms of CPU performance, and about 66.8% slower in graphics performance. Memory throughput is likely the main CPU bottleneck with PM 6100/66 RAM being 52.6% faster. The IDE hard disk performance is good, achieving sustained reads and writes of up to 2.19MB/s and 2.66MB/s respectively, with a fresh Mac OS 7.6.1 install and a slightly newer than stock IDE disk, possibly from a Performa 6300 based on the size and age. The best disk speeds achieved by the Performa 6200 were 2.42 MB/s read and 2.77 MB/s write, surprisingly in emulated 68k mode with SpeedDoubler enabled. The SCSI disk in the PM 6100 SCSI did outperform the IDE disk with 3.68 MB/s read and 3.64 MB/s write with a fresh Mac OS 7.6.1 install, but the disk was borrowed from a newer, high-end system. The best (non-G3 accelerated) PM 6100 disk scores seen were 3.76 MB/s read and 3.82 MB/s write. The Performa 6200’s FPU performance is impressively good, scoring about 30% faster than the PM 6100/66 overall.

There is little difference in emulated 68k performance between the Performa 6200 and the PM 6100/66, with the former scoring 12.5% and the latter 15%, both relative to the benchmark tool’s baseline system (a PM 6100/60) running PowerPC code. While this shows the Performa 6200 is 16.7% slower than the 6100/66, in reality both are only the speed of a 68030 processor + 68882 and the gap is small in absolute terms. More interestingly the gap in performance of emulated 68k mode closes compared to the gap in performance while running PowerPC native code (21.1% for PPC, vs 16.7% for Emulated 68k as indicated above). This suggests that the impact of the smaller Level 1 cache in the PowerPC 603 is not as significant for emulated 68k performance in Mac OS 7.6.1 as has previously been stated. This is an extremely interesting result.

With the exception of graphics performance, the Performa 6200 is faster than any 68k Mac when running PPC code, and by using SpeedDoubler, can be made to be faster than any 68k Mac when running 68k code in emulation, again, excluding graphics performance.

Overall, the biggest issue with the Performa 6200 is the graphics performance and not the 68k emulator performance.

The performance benefits of MathLibMoto and PowerFPU are small, with PowerFPU causing a small reduction in performance in some scenarios.


Background

Apple released the Performa 6200 family as a PowerPC based replacement for the Performa 630 family. I’m going to ignore all the various versions they released as they’re all basically the same machine other than the 6290, which had a better (603e @ 100MHz) CPU.

The Performa 6200 shares it’s chipset with the Performa 630 so completely, that the sound, memory controller, video chip, I/O chip, and more are all identical parts. Technically, the Performa 6200 could be thought of as a Performa 630 with a PowerPC 603 upgrade card soldered to the logic board. So much so that a clue in plain “view” is the startup sound – it matches the one used on the DayStar and Apple PowerPC upgrade cards for various 68k Macs.

While a bottom-end machine at the time, the Performa 630 is an excellent 68k Mac. They are fast, even for a 33MHz 68040, they can be upgraded to have an FPU if you don’t already have the Quadra variant (which came with one), and can be easily overclocked to 40MHz. The various upgrade slots and hardware video scaling make it a fun consumer AV machine, especially if you can find the AV card and the less common hardware MPEG decoding card. An Infra-Red remote, UHF module, and a UHF + FM module were also available. Note that all of these various add-ons work with the Performa 6200, and all parts other than the logic board are functionally identical (case, PSU, etc). Swapping 630 and 6200 boards (as well as 6300 family boards other than the 6360) is trivial.

Apple also released Performa 580, Performa 5200, Performa 5300 machines and equivalents, which are effectively the same computers, but with a built in monitor. Anything on this page discussing the 630, 6200 or 6300 families equally applies to the 580, 5200 and 5300 families respectively.

The Performa 6200 shipped with a 75MHz PowerPC 603 processor. The ROM and L2 cache are connected directly to the processor by a high speed 64bit bus. A bridge chip named “Capella” then connects this PPC 64bit bus to a Performa 630 style 32bit 68040 bus at 37.5MHz. The 040 bus connects to the RAM, the video chip, serial, SCSI and IDE, while the sound, ADB, RTC and floppy are attached to a slower 68030 style bus (16MHz, 32bit) from the “PrimeTime II” I/O controller.

When released, the Performa 6200 received scathing reviews, with particular attention paid to its poor performance when running emulated 68k software. The opinion of these machines has been cemented by a number of online articles describing them as the worst Mac ever, which sadly contain a number of factual inaccuracies. The often stated primary issue when emulating 68k code relates to how the 603 processor uses a separate 8k each for Level 1 data and instruction cache, which was apparently insufficiently large to run the 68k emulator efficiently. This begs the question, given as time went on more and more code was released for PPC and the OS itself was heavily optimised for PPC (speed critical 68k code was replaced to improve performance), does the machine retrospectively deserve its reputation?

One factor that likely caused the poor reaction to the Performa 6200’s performance is the processor speed in MHz. While the Performa 6200 has a numerically superior “speed” compared to the 6100/60 and 6100/66, benchmark scores were lower even for PowerPC native code. I suspect this was the first time a higher clock speed Mac performed worse than an older machine with a lower clock speed (although the IIvx comes close, perhaps that deserves a similar retrospective). Obviously this isn’t an issue in reality, but could cause false expectations. Considering this, it is worth keeping in mind that I think the Performa 6200 cost less in real terms than the 6100. The Performa 6200 was $2300 with a monitor, keyboard and software, while the 6100 was $1700 without either a keyboard or monitor. Although more analysis of prices is required.

I got curious and have been watching for a Performa 6200 of my own. I recently found one at a bargain price and so this post is my investigation and findings. My aim is to provide an unbiased opinion on the performance, but also, to find how the most can be achieved with the machine, and what benefits can be found from various mitigation tools such as…

  • Newer OS versions
  • SpeedDoubler
  • PowerFPU
  • MathLibMoto

Comparison will be primarily made with the Power Macintosh 6100/66, as this is a machine that the 6200 is commonly compared with and I have one for collecting my own benchmarks.


Test Machine Specifications

Performa 6200 Specification

The Performa 6200 in Question

The following specification describes my individual Performa. It is pretty much stock, other than the RAM, hard disk, OS versions and ethernet card.

  • Bezel label says “Performa 6200”.
  • British sold machine from the Cork, Ireland factory, built in the 15th week of 1995.
  • Doesn’t have the bad “not a recall” ROM, or the bad video chip (early machines had stability issues).
  • 75MHz PPC 603 CPU with 8k data and 8k instruction L1 cache.
  • 256k L2 on 64bit bus (I assume at 37.5MHz, but see “Cache Speed”).
  • 64MB of RAM, operated with 80ns timings (regardless of speed fitted) and 32bit.
  • A 1.2GB IDE “spinning rust” Quantum brand hard disk. Apple marked, but from 1996, so likely taken from a 6300 or similar.
  • CD-ROM Drive (4x Matshita CR-8005 drive, original Apple supplied).
  • Apple 10baseT CommSlot Ethernet card (thank you Sophie Rose!).
  • Stock “manual inject” “SuperDrive” floppy drive. Not sure what brand as I haven’t removed it (it is working well).
  • Dual booting Mac OS 7.6.1 and Mac OS 8.6.

The power supply needs recapping, it is a little noisy and turns the computer on by itself.

Power Macintosh 6100/66 Specification

The Scruffy PM 6100 in Question

For reference in the context of benchmarks, the following specifications describe my specific PM 6100/66. I did my best to revert it to stock, other than the RAM, OS versions and hard disk.

  • Bezel label missing, should say “Power Macintosh 6100/66. I suspect the lid is from a Quadra 610 as it has “Macintosh” silkscreened on it, instead of “Power Macintosh”.
  • Weird Frankenstein’s monster of a machine, logic board from the 49th week of 1995, blatant Centris case from 1993 and a logic board serial number factory of “GY” which apparently isn’t a valid factory code.
  • 66MHz PPC 601 CPU with 32k combined instruction and data cache.
  • 256k 64bit L2 cache fitted, 15ns part on a 33MHz bus.
  • 264MB of RAM on 64bit bus. Operated with 80ns timings.
  • A 4GB SCSI hard disk, originally shipped with a 9600. Not stock speed.
  • No CD-ROM fitted (it stopped working).
  • Stock “manual inject” “SuperDrive” floppy drive.
  • Booting 7.6.1 only for comparison.

Advantages / Disadvantages

The following is a list of features of each computer that aren’t purely architectural.

Performa 6200

  • + Three expansion slots, Comm Slot, LC “PDS”, and the video slot for the video input card.
  • + Support for UHF / FM.
  • + Infrared receiver.
  • + Case volume buttons
  • + IDE for cheaper modern CF, SD and M.2 hard disk solutions.
  • – Only 8bit, 22kHz sound.
  • – RAM capped at 64MB

Power Macintosh 6100/66

  • + Ability to fit 7″ NuBus card.
  • + Ability to fit AV Card.
  • + 16bit 44kHz sound.
  • + Ability to upgrade L2 Cache.
  • + Up to 264MB of RAM.
  • + Ability to fit DOS Compatibility Card
  • – Replacement SCSI hard disks are expensive.
  • – Onboard HDI-45 requires ungainly adapter.
  • – Large desktop footprint.

Performa 6200 Performance Considerations

Processor

A “HOT” 603 Micro Processor

Interestingly, manufacturer data suggests that a PowerPC 603 in a similar logic board implementation to a PowerPC 601 Mac should in fact perform comparably. This is based on quoted SPECint92 and SPECfp92 scores. This implies a 75MHz 603 would out perform a 66MHz 601, if they both had 64bit memory, approximately proportionally to the difference in clock speed.

CPU Manufacturer Performance Data

These numbers don’t appear to explain why in benchmarks, the Performa 6200 scores higher than the Power Macintosh 6100/66 in floating point, even after accounting for clock speed.

Cache and CPU Bus Speed

First and foremost, I don’t have a deep understanding of how L2 cache is implemented on early PowerPC Macs. I don’t know anything about the cache timings, so all I have done here is look at the cache chip rated speeds and compared them between different model Macs. This does not represent how quickly the cache is actually running in a machine, but assuming appropriate parts were specified, it should give a good estimate of how different machines’ cache performance compares. This is a fair assumption because SRAM for cache is expensive and so there is a strong motivation not to over-spec cache.

My Performa 6200 Cache (256k, 15ns – the ROM is affixed to the reverse of this PCB)

The Performa 6200 is fitted with 256k of Level 2 (L2) cache, on a SIMM shared with the ROM. This cache is on the PPC 603 bus, which is 64bits wide. Some sources state that the L2 cache is at the full CPU speed of 75MHz, but I doubt this. The Developer Note says that “The 603 bus is connected directly to the main processor and runs at the same clock rate. An external 256 KB second-level cache and 4 MB of ROM attach directly to the 603 data bus and help to optimize system performance”. This could be read to be saying that the L2 Cache and ROM are 75MHz, but Newer’s Gauge Pro software indicates that the L2 is just 37.5MHz. By extrapolating from factors such as cache spec, I believe that the Developer Note is referring to the CPU bus speed of 37.5MHz, rather than CPU core clock, but unfortunately chose slightly ambiguous language. The 603 processor is capable of using an internal bus multiplier which can be set to 1x, 2x, 3x or 4x and so in this case, would be set to 2x. Looking at the Performa 6200 cache chips themselves, they are 15ns parts, which would imply a peak speed of 66MHz (converting 15ns into a frequency by calculating the reciprocal).

Using the linked summary of L2 Cache SIMMs for various PPC Macs posted by Fizzbinn I have reviewed what speed L2 cache Apple is believed to have fitted to various Macs during the timeframe. For Power Macintosh caches, which seem to use 14, 15 and 22ns parts, my theory is that each machine has a cache that corresponds to approximately double the bus speed. With 15ns = 66.67MHz commonly fitted to the 6100 and 14ns = 71.4MHz fitted to faster machines including the PM 8100/110 (with a 36MHz bus). The 22ns cache, identified as being from a 6100/66 is surprisingly slow, equating to 45MHz, no where near double the bus speed of any Power Macintosh. Perhaps Apple was fitting slower caches to early PM 6100s. It would be interesting to see if this makes a difference to performance, especially between 15ns and 22ns. My personal PM 6100/66 appears to have come with a 15ns L2 cache. As a quick aside, I did a quick comparison of my PM 6100/66 with 14 and 15ns cache fitted and got identical CPU benchmark scores. This suggests that both 14 and 15ns cache are “fast enough” and there is no gain in using faster chips, at least at this speed granularity.

The Performa 6200 cache with its 15ns chips does not quite meet the nominal “double the bus speed” as double would be 75MHz, and the reciprocal of 15ns is 66.67MHz. The Performa 6300, which is a minor upgrade to the 6200 fitted with a 100MHz 603e processor, was shipped with 12ns cache. This faster cache, on the computer’s 40MHz bus (using a 2.5x multiplier, as 1.5x, 2.5x and 3.5x bus multipliers were added to the 603e variant) is back in line with performance being double the bus plus a small overhead. This suggests that… perhaps Apple specified the L2 cache in the original PM 6100/60 and Performa 6200 a little below what they were willing to in other period machines.

In conclusion, I suspect that the PM 6100, 7100 and 8100 caches were specified at speeds relative to the bus speed, i.e. 30, 33.3, 36.7 and 40MHz, depending on configuration, but with some variation based on desired cache performance. I also believe the Performa 6200 cache is rated based on PPC bus speed and not CPU core clock. Ultimately, the cache chips appear to be of pretty similar speed between various machines from this era, with the exception of the 22ns PM 6100 SIMM, and so cache performance is more generally expected to be similar between the Power Macintosh 6100/66 and Performa 6200. Note that, if I remember correctly, the PM 6100/60 did not always originally ship with a L2 cache.

ROM Speed

Unusually, the ROM and Cache are both on the same SIMM for the Performa 6200 and similar machines, with TAG RAM for the cache located on the logic board itself. This presumably means these SIMMs can not be used as Cache, or ROMs in other Mac models.

Performa 6200 ROM – Interestingly this is a Flash ROM

Fast ROM access is a significant advantage for “Old World” Macs as many frequently used Macintosh Toolbox functions are held in the ROM. The ROM in this Performa 6200 is built using 120ns chips. While being 64bit wide provides an advantage, presumably meaning that twice as much data is read into the CPU in a single go, 120ns in itself is not faster than late model 68k Macs, but does seem to be inline with other Power Macintosh computers from the era, such as the 6100, 7100 and 8100. This means that in terms of the performance of the connection to the CPU and the ROM chips themselves, the Performa 6200 ROM is not a bottleneck when compared to other Power Macs.

RAM Speed

RAM is on the 37.5MHz, 68040 style bus, which is only 32bits wide, unlike the Power Macintosh 6100, which implements RAM on a 64bit bus. Newer Gauge Pro reports a RAM speed of 15.2MB/s, but mis-reports it as 64bit. For reference, Gauge Pro reports a speed of 23.2MB/s for the Power Macintosh 6100/66.

Do not use virtual memory on this machine in speed critical applications (although turning it on, set to only 1MB is sometimes feasible as it allows more advanced memory management, actually freeing up more RAM, without a significant speed penalty).

While the F108 Memory Controller is known to support 128MB SIMMs (the same chip is used on the Performa 630 where it can recognise a 128MB SIMM), there appears to be an artificial limit applied to the 6200, as when I inserted 256MB of RAM, it reported only 64MB.

The 6200 does not support memory interleaving, so there is no speed benefit in using two identical SIMMs, although maximising the RAM to 64MB is sensible. Strangely, boot times give the impression that this computer may not undertake a full memory test during startup, or the memory test is somehow shorter than usual. It may be my imagination, but the computer turns the screen on (usually only done after the memory test) quite quickly after power on and the chime, regardless of how much RAM is installed.

Out of curiosity, I timed that the PM 6100 took 37 seconds to initialise video (after completing the memory test) with 264MB of RAM. Scaling for RAM speed and quantity, I would expect my Performa 6200 to take about 13.5 seconds, but it only takes 9 seconds.

It should be noted that PowerPC processors expect data to be aligned at 32bit boundaries, while 16bit alignment was the norm for 68k Macs. When data is aligned to 16bit boundaries on the Performa 6200, there will be a performance penalty as additional operations will be undertaken by the computer to manage the situation.

Graphics Performance

For a not fully understood reason, it is suspected that the graphics performance of the Performa 6200 is not only slow for a PowerPC based Mac, but is actually slower than the Performa 630 which the Performa 6200 is based on, even using the same video chip (the Valkyrie). The main exception is that the Performa 6200 is able to draw images to the screen faster, but this is countered by image translation operations being unusually slow. I don’t have an easy way of working out the cause of this discrepancy, especially considering how similar the hardware is, but given that, it would suggest that perhaps it is either to do with the Capella bridge chip, data alignment, a software reason or some other consequence of fitting a PowerPC chip into the Performa 630. An interesting comparison would be to compare Performa 6200 graphics performance with a Performa 630 fitted with a 66MHz PowerPC 601 upgrade card to see if the graphics performance is common to both, or just specific to the Performa 6200.

Another possibility might be that when increasing the bus to 37.5MHz, Apple had some unreliability with the video chip and so had to add wait states. This is vaguely possible as some people overclocking their Performa 630s to 40MHz used to have issues with their video, and have to add a heatsink to the Valkyrie chip. In some cases this apparently still wasn’t enough. See the table at the bottom of this page.

There are a couple of mentions on the internet of Apple having to update the ROM to reduce video performance of the Performa 6200, but I can find no primary evidence of this. The Service Source document mentions replacing the ROM+Cache SIMM, but in the context of a cache related issue. There is a possibility that the cache issue was fixed with a ROM update, but this is not clear in the descriptions. Additionally, there are mentions of colour tint issues on the video and random video related crashes requiring returning the computer to Apple, but the cause and fix for this are not covered in detail. I would be interested to know if anyone has first hand information regarding these issues and their fixes.

A good start might be a ROM dump from one of the “bad” ROMs that escaped the “absolutely not a recall”. If you have a ROM that matches the following description, please get in touch.

Performa 6200 Family Bad ROM – Let Me Know if You Have One

Pixel Doubling

The Performa 6200 video chip supports hardware pixel doubling in a manner that allows the 6200 to draw a 320×240 pixel image, and it be shown full screen at 640×480 with little to no CPU overhead for the scaling. Very little software took advantage of this. Known examples are, Apple’s “Apple Video Player” software, Bungie’s Marathon (by switching on “Hardware Acceleration” in Preferences) and the demo “Some Years Ago” by Noglin, which was written specifically for the 5200/6200. The functionality may also be available in QuickTime, but I haven’t investigated.

Note in early versions of the original Marathon, the option was named differently, and is only available on a reduced selection of Performa 630 or similar computers.

IDE Hard Disk

While the Performa 6200 has a very early IDE implementation for Apple, and was much maligned at the time, read and write speeds are good. I suspect the disk in this machine may have been swapped from a Performa 6300 as it is 1.2GB instead of 500MB or 1GB, and dated approximately a year after the computer was built, but even if this is part of the reason for the good performance, it shows that the IDE interface is capable of reasonable speeds. I haven’t tried a fast drive to test the limits of the interface, but am happy with the performance I’m seeing.

This said, hard disk benchmark speeds show some curious behaviour, with MacBench suggesting that the Performa 6200 hard disk performance is slower than the Performa 630 in some (but not all) tests, but also both MacBench and Norton System Info show that in some cases, hard disk performance is better when running in 68k emulation mode. This latter point suggests that the hard disk driver contains a lot of 68k code and when PPC software is running, is causing a lot of context (PPC->68k and back) switching. Context switching has a time penalty and can cause a reduction in performance. There are situations in which even though PPC code executes faster, the time cost of switching to PPC mode can outweigh the benefit.

I have not undertaken tests to verify this, but if this is the case, it may be worth identifying an alternative IDE driver that contains more, or entirely PPC code. I believe some 3rd party drivers advertised this as a feature, and also suspect that with time Apple will have optimised their newer drivers for PPC. FWBs HDT version 4.5.x might be a good solution to try.


Baseline Benchmarks

Benchmarking Software

I tend to use Norton’s System Info benchmark for three main reasons.

  1. We had a copy when I was growing up.
  2. Because I’m used to it, the numbers are more meaningful to me.
  3. The individual tests are clear in what they do, and are usually specific toolbox, or hardware operations.
  4. It allows you to run benchmarks both natively as PowerPC, or as emulated 68k. It has cats.

I did the bulk of my benchmarking for this investigation using System Info 6.0.3 from 2001. This said, when I ran two benchmarks using version 3.1.3 from 1994 (before the Performa 6200 was released) I found something curious. In version 3.1.3, the Performa 6200 scored noticeable worse than in version 6.0.3. I have no way of knowing exactly why this is. At the time version 3.1.3 the only PowerPC Macs all had PPC 601 processors, so possibly…

  • Norton may have later changed weightings to better represent real world performance of the Performa 6200.
  • Compilers were not optimised for the PowerPC 603 processor and so benchmarks ran less well in 3.1.3.
  • Something else.

The most significant reduction in performance is when you compare with the 6100/60 between the two benchmark versions. System Info 3.1.3 was likely the release that was in the hands of journalists when they originally reviewed the Performa 6200.

With this in mind, I was looking in the Performa 6200 Developer Note and I found the linked section, and found the following extract. It seems that there were sufficient compiler optimisations required initially that Apple was directly working with the producers of development software to improve performance. The two primary issues appear to be that code which called POWER specific instructions would suffer a performance penalty as the instructions would need to be emulated (in practice this should be a rare issue, given that even though the PowerPC 601 supported the POWER instruction set, developers weren’t meant to be targeting it on the Mac), and the second issue is that certain instructions can interfere with instruction pipelining.

Extract from Performa 6200 Developer Note

I can only assume benchmarks made with the newer version of System Info are “more accurate”, on grounds that you should be improving your product with time, but this is an interesting observation, and shows that the only real speed test is whether you are happy with performance or not.

Baseline Overall

The following shows a comparison of Norton System Info’s weighted scoring for each machine overall while running clean installs of Mac OS 7.6.1, as well as the overall scores for CPU, Video (effectively QuickDraw performance), Disk and FPU. The computers are in the recommended configuration for System Info benchmarking, with AppleTalk off, the disk cache set to 128k and the screen set to 8bit colour and 640×480 resolution. Tests were performed with the benchmark tool running both natively in PowerPC mode, as well as with 68k versions of the benchmarks running in the built in emulator.

Scores in these and following benchmarks, unless otherwise noted, are given as a percentage relative to Norton’s included score for a Power Macintosh 6100/60. For the most part I am not paying attention to the baseline 6100/60 score itself as it represents a snapshot in time with an older operating system and so is not a direct comparison with these new benchmark scores.

Baseline Overall Benchmark Scores

The last row in the table above is the PM 6100/66’s score crudely scaled from 66MHz down to the 60MHz of the inbuilt baseline. This shows that even accounting for the difference in MHz, the PM 6100/66 is disproportionately outperforming Norton’s original PM 6100/60. This is anticipated to be a mixture of the inclusion of a 256k L2 Cache, plus software optimisations resulting from a newer operating system (7.6.1 vs 7.1.2).

Baseline Scores Scaled to Percent of PM 6100/66 (PowerPC and 68k)

For clarity, the above shows the results scaled to be a percentage of the PM 6100/66 scores – for PPC and separately for emulated 68k performance. This makes it easier to compare the two systems.

Performa 6200/75 CPU, Video and Disk performance is all behind Power Macintosh 6100/66 performance. Floating Point performance is significantly ahead of the PM 6100/66 which is very interesting because that doesn’t align with expectations based on the SPECfp92 results for the two processors above in the “CPU Manufacturer Performance Data” table. As previously mentioned, the performance of a PowerPC 601 and 603 should actually be pretty close on a per-MHz basis, and so it is likely that the lower performance of the Performa is a result of the logic board design, most likely, specifically the RAM speed.

Baseline CPU

Performa 6200/75 vs. Power Macintosh 6100/66 Baseline CPU Performance

Based on in which benchmarks the Performa 6200/75 performs least well compared to the PM 6100/66, it can be seen that memory bandwidth appears to be the primary bottleneck. In particular, we can see that aligned block move performance is falling behind. On the other hand, the PPC 603 performs well when undertaking bit shifts and multiply / divide operations. The implications of this mean that it would be very interesting to compare performance with a 603 based machine utilising 64bit RAM.

Baseline Video

Performa 6200/75 vs. Power Macintosh 6100/66 Baseline Video Performance

Across the board, graphics performance on my Performa 6200/75 is considerably worse than my PM 6100/66, but also many, if not all, 68040 based Macintosh computers.

This is confusing as the video chip, the Valkyrie, actually performs better when fitted to the Performa 630, even though it is connected to a slower 33MHz bus in that system. I do not have sufficient information to explain this, but would be interested in performing side by side comparisons of performance with all available Performa 6200 ROM variants, and potentially a 6300 ROM if it is capable of booting a 6200.

If anybody has any behind the scenes knowledge regarding this oddity, I’d love to know, especially if there is any way to speed up performance.

Note – I tested video performance using a PPC benchmark, but with SpeedDoubler enabled with the intent that it would give a performance improvement to any 68k code running in QuickDraw or the graphics drivers. It did not improve performance and so I can safely conclude that speed issues are unlikely to be due to emulated 68k code.

Baseline Disk

Performa 6200/75 vs. Power Macintosh 6100/66 Baseline Disk Performance

Norton System Info hard disk benchmarks showed read spreads of up to 2.5MB/s and write speeds of 2.8MB/s for 256k sequential access. These speeds are actually similar to the best speeds you tend to get with spinning hard disks of the era, and the random, 1k and other short reads and writes are faster than many similar era disks. In medium and low end SCSI Macs of the time, the SCSI bus generally has a maximum speed of 5MB/s and it is not usually possible to achieve the full 5MB/s speed.

Norton System Info shows the hard disk significantly outperforming the baseline Power Macintosh 6100, but it is likely that the PM 6100/60 Norton used was underperforming due to early disk drivers with little to no PPC optimisation.

Baseline FPU

Performa 6200/75 vs. Power Macintosh 6100/66 Baseline FPU Performance

In FPU tests, the Performa 6200 is seen to be faster overall, and in the majority of individual tests, when compared to the PM 6100/66 when running PPC native code. When running emulated 68k code, the PM 6100/66 does better and achieves better scores overall and in the majority of benchmarks. Keep in mind that the 68k emulator does not emulate a 68k FPU, so this code will be emulated as if it was running on a 68k CPU.

It is not entirely applicable here, but it is interesting to note the very high scores achieved by both machines for Sine and Cosine functions. I believe this is because when the original PM 6100/60 was benchmarked by Norton for their baseline machine, the operating system (likely System 7.1.2) did not have optimisations which were later added for these functions.

These results seem to suggest that the floating point performance of the PowerPC 603 is strong compared to the PowerPC 601, which is a surprise given this is not shown in the manufacturer SpecFP92 scores in the Performance Considerations section above.

Boot Time

A basic test of the two machines booting Mac OS 7.6.1 resulted in the Performa 6200/75 taking 62 seconds to reach the desktop, while the Power Macintosh 6100/66 took 95 seconds. This includes 9 seconds (about 8.5 seconds from the chime) for the 64MB self test on the 6200 and 37 (31 seconds from the chime) seconds for the 264MB self test on the 6100.

This test isn’t very scientific and is less informative, but is included for completeness. There are a large number of variables that can influence boot time and they were not controlled in this test. The PM 6100/66 did not have a cache fitted during the test and while both operating system version numbers were the same, they were not identical installs. What this test does show is that the Performa is not unreasonably slow booting and in an arbitrary real world example, boots faster than a fairly representative PM 6100 setup.

If we discount the RAM test time, the times the two machines are 53 and 58 seconds for the Performa and the PM 6100 respectively.

Boot time will be influences by factors including installed RAM, compute speed, disk performance and what software is installed. Even how many files are on the desktop and how many Finder windows were left open. As an aside, the same test performed with a 266MHz G3 upgrade in the PM 6100 resulted in a total boot time of 87 seconds (50 seconds excluding the memory test). The G3 upgrades used in the “NuBus” PPC machines such as the PM 6100 do not take over until the processor upgrade’s extension loads, meaning the first portion of the boot process does not change.


Hardware Tweaks

Cache

I’m not aware of any larger caches available for the Performa 6200 and I don’t own any of the larger caches compatible with the PM 6100 so all tests have been undertaken using a 256k L2 cache for both machines, with the exception of a test without L2 cache undertaken on the PM 6100/66. Because the Performa’s L2 cache is on the ROM SIMM, it was not possible to remove the cache from the Performa, although given they all sold with a L2 cache fitted (unlike some PM 6100s), it wouldn’t be a reasonable test scenario anyway.

Comparison of the Power Macintosh 6100/66 With and Without L2 Cache

In the table above, the values have been normalised based on a score of 100 for the machines with no L2 cache fitted, independently for the PPC and emulated 68k benchmark pairs. This makes it easy to see the performance uplift from the 256k L2 cache.

It can be seen that the L2 cache has no impact on FPU performance. CPU performance when running native code increases by 7%, and by 15% for emulated 68k code. This disk performance uplift is each side of 13% which is good, but the biggest impact is an over 100% uplift in QuickDraw graphics performance.

Note that an AV card was fitted, although not in use, during the “No Cache” tests above. When an AV card is fitted it appears as an additional display regardless. I set it to the smallest resolution and black and white in an attempt to minimise the impact, but really, I would prefer to undertake some back to back tests.

Video Considerations

Impact of Changing Resolution

It should be noted that the higher resolution test performed on the PM 6100 was done with the computer booted into Mac OS 8.1, rather than 7.6.1 which was used for most tests undertaken for this analysis. Additionally, as this benchmark was undertaken for another purpose originally, I didn’t run the Disk benchmark, although comparison with other benchmarks suggest we would expect a very small reduction in disk performance, less than 1% and within the magnitude of random variation between tests.

The PM 6100 is more sensitive to resolution on built in video than the Performa 6200. Of note is the larger impact on CPU performance, although 4% isn’t in itself a large drop. It seems likely that the dedicated VRAM used by the Performa 6200 is a benefit here. The increased resolution has a more significant impact on the PM 6100/66’s graphics performance, showing a 14% reduction.

Experimentation suggests that the built-in PM 6100/66 video subsystem’s performance is actually faster than either the (“High Performance Video”) PDS card (scoring 110 for graphics, vs. 129 for built in), or the PDS AV card. The HPV cards have a 64bit bus to their video RAM, while the AV card uses a 040 style bridge chip and 32bit VRAM and so it is expected that the HPV cards would out perform the AV card. The AV card is effectively a re-implementation of the Quadra 840av video circuitry.

The AV card is technically a similar arrangement to the Performa 6200’s video system, given they are both 68040 bus connected through a bridge chip, and use dedicated VRAM. Despite this, the AV PDS card seems to demonstrates faster performance than the Peforma 6200’s graphics.

Due to what riser cards I have and the location of the connectors on the AV card, I wasn’t able to do a full comparison with the L2 cache fitted because I needed to have a G3 upgrade fitted as a riser. The G3 upgrade is not compatible with the L2 cache, even when the G3 is disabled. I was able to fit a HPV card alongside L2 by running the computer with the lid removed and the card stood vertically in the PDS slot. When I tried to do this with the AV card, the video output connector clashed with the rear case and I was unable to connect a monitor.


Software Mods

I’ve experimented with several Apple and 3rd party software packages to improve benchmark scores on the Performa 6200, both in PPC native benchmarks and in emulated 68k benchmarks.

No Extensions

Firstly, while doing my “no cache” tests, I tried booting with Extensions disable as an easy way to disable my G3 upgrade. I then re-ran the same tests having disabled the Sonnet Extension, and was surprised to find that I got different results. Apparently some of the functions that were disabled by me holding shift during startup speed up the Power Macintosh 6100, while others slow down parts of the machine. If you’re benchmarking or trying to run software as fast as possible, don’t assume disabling all Extensions is the best answer. Your exact results will depend on what software you have installed, as different installed packages consume different amounts of CPU resources in the background.

Impact of Booting with Shift Held Down

SpeedDoubler 8.1.2

SpeedDoubler from Connectix is the most critical bit of software, not just for your Performa 6200, but for any beige PowerPC Mac you plan to run 68k code on. Installing SpeedDoubler on my 6200 resulted in a 518% increase in emulated 68k CPU benchmark scores. That is not a typo. That is the difference between running 68k programs at the speed of a IIci with a 33MHz DayStar 68030 upgrade, vs. outperforming a Quadra 840av by 48%.

PowerFPU 1.3

PowerFPU is intended to both fool 68k software that requires an FPU into thinking there is one available like SoftFPU (which improves software compatibility, in particular with 3D graphics, audio and scientific software), but also map the routines to PowerPC FPU functions.

In my experiments, I found there was no significant speed gains (and in some instances, a small reduction in floating point performance), but this may be in part because I already had SpeedDoubler installed.

I would only install and use this software if I needed it for compatibility with 68k software that required a FPU.

MathLibMoto

This software library replaces Apple’s PowerPC floating point routines with equivalents from Motorola, potentially at a small sacrifice in consistency with normal Apple SANE results. I found that in Mac OS 8.6, this library made no significant difference to floating point performance, in Mac OS 7.6.1 the floating point performance was boosted to match performance under Mac OS 8.6. Additionally, I would extrapolate that if you were running even older versions of Mac OS, in particular 7.1.2 (which isn’t compatible with the Performa 6200), you would see big floating point performance speed improvements.

I recommend installing this if you are running Mac OS 8.1 or older.

Newer IDE Hard Disk Drivers

Using the hard disk driver from newer OS versions, such as the Mac OS 8.6 era, seems to improve hard disk speeds, although strangely, the best disk benchmark scores I got were while running emulated 68k benchmarks. The difference wasn’t significant so I wouldn’t be concerned about this and have just put it down to reduced context switching an 68k heavy drivers.

There may be faster, 3rd party IDE hard disk drivers available, such as those from FWB’s HDT. I have not done any testing to compare performance of alternatives. I generally prefer to keep Apple drivers when I can for compatibility.


Alternative Benchmarks

MacBench

MacBench is another benchmarking tool for classic Macs. MacBench appears to be designed to give scores more representative of real world use by using tests which run the type of operations performed in workloads such as publishing. This said, I still prefer to use System Info, because it gives a test by test breakdown of what each sub-element of the benchmark is actually doing, and how it scored (for example aligned and non-aligned memory operations), while MacBench seems to give a single overall score for each test. If I was just sharing overall scores, I would likely use MacBench, but for myself, wanting to see what a computer or CPU is good at, and what it is bad at, I prefer System Info (plus, as previously mentioned, it has cats).

I need to fetch the benchmark scores for MacBench from the Performa 6200’s hard disk.


Comparison with CPU Upgraded 68k Macs

In terms of CPU performance, the Performa 6200 is approximately (I used System Info 3.1.3 for this comparison as I had saved scores from my IIci) 25% faster than a IIci with a 66MHz DayStar Turbo 601, but is 14% slower than a Quadra 650 with a 66MHz PowerPC 601 processor upgrade (System Info 6.0.3). I’ve never fully understood why, but somehow the upgraded Quadra 650 almost matches the performance of a 6100/66 in terms of CPU benchmarks. Perhaps the benchmark is entirely contained within the upgrade card’s cache, or the performance of the interleaved 32bit RAM is close to the 6100’s 64bit RAM.

If anybody has a Performa 630 and a 66 or 100MHz PowerPC upgrade, I would be interested in seeing the results of a few specific benchmark configurations, please get in touch!

With regards to graphics performance, and specifically the raw ability of the Performa 6200 to push pixels, I decided to install the game MDK. MDK is extremely well optimised for Mac, and I have previously run it on my 66MHz PowerPC upgraded IIci. While the Performa 6200 is beneath the minimum recommended specification for the game (it recommends an 8100), it is broadly playable on a 66MHz 6100, so I have to admit what I found surprised me. As a baseline, the first two of the following images are of my IIci, running MDK on Mac OS 8.5.3. This setup is heavily bottlenecked by slow memory on a 25MHz system bus, slightly recovered by a 256k L2 cache (so the same as the Performa 6200). Performance of the upgraded IIci is significantly worse than a similar upgrade card in a Quadra 650. The second two images are of the Performa 6200. Note the frame counter (‘current(average)’) under the health HUD.

We can see that in the benchmark, the IIci was able to achieve “27”, while the Performa 6200 only achieved “22”, and frankly, this is pretty poor on the part of the Performa 6200. The video subsystem on the IIci is un-accelerated, uses main system RAM for the framebuffer and is on a 25MHz bus. This said, in the Performa’s defence, the calculated numbers don’t show the whole picture, and the user interface and load times were better / more responsive on the Performa 6200 – I suspect this is due to better CPU and hard disk performance.


Processor Upgrades

The only way, other than overclocking, of upgrading the processor on a Performa 6200 is by replacing the logic board with one from either a Performa 6300 (a straight swap, other than the 6360, which is effectively a 6400) to gain a 100 or 120MHz PowerPC 603e processor, or to fit a Performa 6400 / PM 6500 board, which requires modifications because these boards need 3.3v for PCI. Once you fitted a 6400 or 6500 board, you could fit a fairly rare Sonnet “L2” CPU upgrade into the cache slot to get PowerPC G3 performance.

By comparison, G3 processor upgrades for the Power Macintosh 6100 are fairly common in their 233 and 266MHz forms, and can be obtained for reasonable prices still, even in 2024.

A G3 upgrade gives a huge performance boost, with my PM 6100 scoring 5.6x faster in CPU benchmarks, as well as improvements in graphics (1.7x faster), disk (1.14x) and huge gains in FPU (5.21x). Additionally, measured RAM speed in my PM 6100/66 increased to 30MB/s with the G3 running, from 23.2MB/s as reported by Gague Pro previously.


Conclusions

The PowerPC 603 processor seems fine, with good CPU speed and excellent FPU performance.

RAM performance is poor compared to the PM 6100, as is expected considering the design of the computer, in particular the use of a 32bit RAM subsystem. This results in reduced overall performance compared to the PM 6100 resulting in a machine with approximately 80% of the compute power. If you use PPC native software, this is a fair performance improvement from any 68k Mac in non-graphic intensive tasks.

68k emulation is not as bad as implied by previous articles and anecdotal reports, and can additionally be vastly improved using SpeedDoubler. SpeedDoubler should be considered mandatory software for these and other PowerPC based Macintoshes running System 7.1.2 through to Mac OS 9.2.2.

IDE bus performance is appropriate for the era and hard disk performance is not significantly different to a similar age SCSI disk.

There is no significant benefit in running Mac OS 8.6, PowerFPU and MathLibMoto in terms of speed gains, although there are some benefits in specific situations. Personally I would chose 7.6.1 in most cases due to the faster boot times and smaller memory footprint.

Graphics performance on the Performa 6200 is abysmal. It is so poor, especially considering that the Performa 630 is slightly faster in many instances even though it uses the same chip, that this may be the consequence of a bug or flaw of some description. I would be interested in finding out more about why this is the case. The one area in which graphics performance is good appears to be drawing an image directly to the screen, but on the flip side, it is then particularly bad at translating an image already on the screen.


Where to get the Software


Further Work

  • Complete system prices for the release period.
  • Measure Quadra 650 RAM performance at 66MHz with a PPC upgrade.
  • Investigate IIvx performance compared to a IIci, with and without upgrades.
  • Get benchmarks for a PPC upgraded Performa 630.
  • Definitively work out Performa 6200 cache speed and timings.
  • PowerPC Performance from 7.1.2 to 9.1.
  • Investigate whether the Performa 6200 performs a memory test.
  • Is the Performa 630 really faster than the 6200 in hard disk and video tests?
  • Does L2 cache chip speed rating influence benchmark scores? I.e, what happens if you benchmark a 6100 with a 22ns cache, and then again with a 14ns cache?
  • Overclock the Performa 6200 to see how fast it can go.
  • Compare the VRAM on a 6200 and 630 to see if they are the same speed.
  • Get results for 6100/66 + AV Card + 256k Cache.

Thank you to archive.org for saving a copy of this page after WordPress randomly deleted all of the bullet lists and galleries at some point this year. Sorry I didn’t notice sooner.

Looking for Performa / LC / Quadra 630 Technical Information

Looking for Performa / LC / Quadra 630 Technical Information

One of the Macs I’m most nostalgic about is the Performa 630 (and it’s many badge engineered siblings). It is a strange derivative of the LC 475, with many similarities, but with a large number of unusual and very specific expansion slots. As well as the LC 475’s LC PDS slot (the 32 bit version), it also adds… An AV slot, a UHF and FM module, a hardware MPEG decoder, a DOS card, a GIMO port and an IR port. It also has SCSI and IDE which can be useful, and a video chip that supports hardware scaling.

Some 630s were fitted with a very similar board also used in the Performa 580. The design is pretty similar, but helpfully provides a second RAM slot.

Technical Info Wanted

I like doing hardware and software projects with old macs but sadly, haven’t been able to find anything much beyond the Developer Note for the Performa 630.

In order of priority, if you happen to have…

  • An ERS for the F108 Memory Controller chip used in the 630 and similar machines…
  • An ERS for the Valkyrie video chip used in the 630…
  • A schematic for the 630 logic board…
  • Anything else similar, the general machine ERS, or technical documentation for other critical chips…

… I would be super interested in hearing. Please let me know. There is a contact form under “About” at the top of this page.

Overclocking a Tanzania

The Tanzania and Tanzania II logic boards were designed by Apple and mainly used by clone makers in machines such as Motorola’s StarMax series of computers. Apple released their own budget “clone” style computer in the form of the Power Macintosh 4400 (the 7220 in some markets).

My Power Macintosh 4400/200

Tanzania based machines came in a verity of configurations with various speeds and a mixture of 603 and 604 family CPUs. What is interesting though is that Motorola variants have the PLL strap settings detailed on the silkscreen! The PLL strap options are what sets the multiplier for the CPU clock speed.

Silkscreen CPU Speed Table (thankyou to the unknown source, friend of a friend of a friend)

Note that the speeds shown in the “Mode” column are from a 40MHz bus machine. If you have a Tanzania II with a 50MHz bus, scale all of those speeds by multiplying them by 1.25 to get the equivalent speed for a 50MHz bus computer.

The numbers correspond to the pin numbers on the 12 pin header labelled “CPU Option” in the corner of the board closest to the CPU. By default the header is unpopulated and the clock speed is set by four pull up / pull down resistors on four of eight available positions around the header.

CPU Option Header Showing Default Resistors for 200MHz (Click to View)

The pin numbering can be see around the footprint, and then populating R24 and not R23 is the equivalent of jumpering pins 1+2, while populating R23 and not R24 is equivalent to jumpering pins 2+3. This pattern repeats for pins 4 to 6 with resistors R21 & R22, 7 to 9 with R8 & R9, and lastly 10 to 12 with R1 & R2.

Each set of three pins can be thought of as a toggle switch, for example if you jumper 1+2 together you get one setting, and if you jumper 2+3 together, you get the other.

The resistors set the default and should be removed before jumpering or bridging the corresponding appropriate pairs in the 12 pin header (especially in the case of 51 ohm resistors). Never bridge all three pins in a set of three within the header or you will cause a short and possibly cause damage. Ideally, fit a pin header and use jumpers to change settings. You could even wire in a single pole double throw switch to each set of pins.

Target Speeds

Generally, I’ve found that most processors in various computers (but not all) overclock happily by 20% (I’m not specifically talking about Tanzania based computers, but vintage computers in general). Higher speeds might be achievable, but this is my personal rule of thumb for a ‘more likely than not’ stable overclock. This means that if you have a 160MHz machine, you can likely achieve the 180MHz setting. If you have a 200MHz machine, 240MHz is likely possible.

I haven’t worked out what the best way might be to do it, but given the CPU heatsink on the PM4400 is a little small, some additional cooling may be beneficial – either a larger heatsink similar to the one used on higher end Tanzania based clones, or a fan pointed at the CPU and powered from a spare molex (my PM4400 has several spare molex connectors, but you could always use a ‘Y’ splitter).

If your 160MHz can cope with 200MHz, a simple upgrade would be to remove resistor R1, and then bridge pins 10+11 on the CPU Option header, perhaps with a blob of solder. Removing the bridge and refitting the resistor would set it back to 160MHz.

Changing Resistors

The following table shows what resistors to put where to set the speed of your Tanzania. You should never fit more than four resistors, but if you misplace one of the resistors, they look to be 0603 size, 4.7 kilo-ohm and 51 ohm resistors.

Resistor Settings for Various Speeds

Fitting a Header

If you instead choose to fit a pin header and use jumpers to set the speed, you will first need to remove the resistors and then the existing solder from the footprint. To remove the resistors, I put a large blob of solder on the tip of my iron and used it to heat both sides of the resistor at once and brush them off the pads one at a time. To clear the solder filled through holes, I’d recommend using flux and solder wick (aka solder braid). I’d set my soldering iron to about 350°C, paint on some liquid flux, wick out some solder while not keeping the iron on a pin hole for more than about eight seconds at once, and always lift the iron and wick off at the same time to avoid the wick sticking and potentially causing damage.

If the solder doesn’t clear, try again from the other side. If it still doesn’t, add a little fresh solder and try again.

That is the tricky bit. Once cleared, solder in a 6×2 2.54mm pitch header, or two 6×1 headers.

Jumper Settings for Various Speeds

The following representations show how jumpers should be fitted for a few common speeds.

Note that the difference between 160MHz and 200MHz is only a single change, which is why, as mentioned previously, if you remove resistor R1 and then bridge pins 10 and 11 (for example with a blob of solder), your machine will be speed bumped to 200MHz from 160MHz, as long as it is able to run at 200MHz (the increase is 25%, which in general terms is quite a big speed increase for an overclock, especially without extra cooling).

Results

I removed the four resistors and cleared out the solder from the holes.

Then I soldered in a header, and fitted some green jumpers in the arrangement required for 240MHz. Reassembled my computer and powered it on.

It booted happily and Apple System Profiler (in Mac OS 8.6) reports the CPU as a 240MHz 603ev, which is what was expected.

I ran some CPU benchmarks with the computer set to 240MHz and 200MHz (in that order, by powering down and swapping the jumpers around – I’d forgotten to get the “before” benchmarks) with Norton System Info from Norton Utilities 6 and got an 11% increase in the overall CPU score from the 20% overclock.

Looking at the detailed breakdown, we can see that tests that heavily use the RAM scored less well, with very RAM intensive tests seeing almost no change, moderately RAM intensive tests showing intermediate improvements and things like multiply and divide showing the full 20% uplift.

(Click to View)

I checked through the other benchmark categories (Video, Disk and FPU), Video saw almost no change, likely because most actions are been undertaken by the built in ATI mach64 video chip, with the exception of Ovals and drawing images, which I assume are both dependant on the CPU. Disk saw no significant change (except for random write, which I don’t fully believe and so am going to assume was due to a hiccup during the 200MHz benchmark).

FPU scales almost exactly with clock speed as usual, so we basically see a 20% uplift across the board.

In my specific machine, the CPU heatsink is cool enough to comfortable touch (indefinitely) while overclocked to 240MHz, even with the stock heatsink. Interestingly at 200MHz the heatsink is actually cool to touch, it cant be much different in temperature to my hand. I feel like with a bigger heatsink this computer would have a lot of overclocking potential, although I’m already at the maximum speed in the table.

Upgrading to a 604e

The board is technically able to use either a 603e (/ 603ev) or a 604e BGA chip. To do this, you would have to at least adjust the CPU core voltage by changing components in the voltage regulation circuit near the speaker connector. You almost certainly would also have to change some other resistors on the board as this is usually the case. Unfortunately as I don’t have the schematics, I don’t know what or where these would be.

It may be possible to meticulously compare a 604 based board with a 603 board to document the differences, but I don’t envy the individual that does that. A good place to start is probably at the “CPU ID” header, which also seems to be surrounded by four strap resistors.

CPU ID Header

If I remember correctly, the Performa 6400 schematics are available, and this is a sort of similar machine in some ways, so probably contains some clues regarding changes needed to fit a 604 to a machine that shipped with a 603. The Beige G3 schematics might also help as the design includes allowances for the 603 and 604.

Bus Speed

I’ve not done any investigation, but glancing at the board, it looks like the chips “U10” and “U11” are clock sources. The “U10” style of clock is usually set to one of several speeds based on resistors on some of the pins, but given its location, it might be controlling something in the chipset as “U11” has a 40MHz clock and is closer to the CPU. U11 looks like a shift register – I’m not sure what the circuit is doing exactly. I’d have to look into it, but hopefully these comments are a helpful starting point for someone else.

An old 68kmla post with a dead link mentions a need to move a resistor from R29 to R28 (next to the VRAM slot). But I don’t know anything about that. Well, it actually says the reverse, but mine is already like that, so I’m assuming they got it backwards, or perhaps my machine is already set like that. Sadly the website they’re referencing didn’t get archived by the wayback machine.

Update – Good news, I seem to have found an archive of an alternative version of the page in question here : http://web.archive.org/web/20040120030611/http://home.t-online.de/home/andreas.kann/44002.htmlhttps://68kmla.org/bb/index.php?threads/tanzania-to-tanzania-ii-upgrade.34251/

Further information is that they had trouble with the rating of their L2 cache… The good news is I have a 50MHz cache from my 6500!

Looks like I just need to find myself a 50MHz crystal.

Making a Wombat Fast

Making a Wombat Fast

Or, how to bump your Centris 650, Quadra 650 or Quadra 800 to 40 MHz with minimal effort.

A 40 MHz Quadra 650 (“Current System”)

Traditionally, the way we have overclocked the Wombat family of Macs (the 650s and the 800) is to desolder the CPU clock “G3” and replace it with a faster part, or alternatively, use a commercial product that “clips” onto the clock, disables it, and injects its own clock signal. Through a mixture of experimentation and, let’s be honest, the sudden availability of the schematics, I made the most awesome discovery, I’ve found that 40 MHz is easy without messing with the clock. This is great news, because…

  • The clock is a surface mount part, meaning if you want to swap between speeds, you need to make a socket / adapter.
  • The clock is right up hard against a NuBus slot meaning you have to be very careful when desoldering and soldering in the area.

It actually turns out that the logic board in these machines has a built in function that lets you select the clock source, either from G3, or a clock derived from the NuBus clock. Selecting the NuBus clock as a source just straight up runs your computer’s bus at 40MHz without having to do any particularly fiddly mods.

There are a number of “levels” of effort you can put in, each with different advantages and disadvantages. You can either just hard set your computer to 40MHz and overclock in terms of the timings (because the ROM still runs with 25 or 33MHz timings), change the timings to the correct ones for 40MHz by swapping resistors, or by adding an extra resistor and two jumper headings, make it that by just removing or fitting two jumpers, you can select (independently) the RAM/ROM/VRAM timings and the CPU clock speed (between either 20 and 25 MHz, or between 33 and 40 MHz).

Basic 40 MHz Overclock

This is the simplest overclock with the minimal effort.

Advantages – This is effectively an overclock, so you’ll get super fast video performance as well as fast RAM and ROM.

Disadvantages – This uses whatever timings you already have, so almost certainly be unstable if you have a machine that shipped as 25 MHz, and possibly unstable if you have a 33 MHz machine.

How to do the Basic 40 MHz Overclock…

  1. Remove the logic board from your computer and place it on a heat-proof and static safe surface suitable for soldering.
  2. Find the pair of pads next to the CPU called “J29” on the silkscreen.
  3. Bridge the two pads, either with a blob of solder, or a little length of wire soldered between them. Alternatively, fit a two pin male header (2.54mm pitch) for a jumper.
  4. Reassemble your computer and test to see that everything works.
J29 on the Schematic

The modification works because U71 is wired to select between two clock sources depending on if J29 is fitted or not. As shipped, J29 is always open, ClkSel is always “high” and so the clock signal (half the bus speed) is always taken from G3. If you short J29, ClkSel goes low and the chip switches to using C20M – a 20MHz clock used by things like the SCSI and EtherNet chip, sourced from the NuBus circuit. Whichever clock is selected is doubled by the MC88916 chip before being fed into the CPU. Don’t worry that R235 isn’t fitted – it isn’t needed.

The Location of J29

I recommend leaving a CPU in the socket while soldering to protect the socket from slips. In the photo above I’ve used solder wick / braid and flux to remove the solder that was in the through holes. You only need to do this if you want to fit a jumper (so you can select between the stock speed and 40 MHz by removing and fitting a jumper. The following shows my setup.

J29 with a Header and Jumper Fitted

If you don’t already have a CPU heatsink, consider fitting one.

Adding 40 MHz Timings

This is a more stable solution that requires a little more soldering. This mod is required if your computer originally shipped as a 25 MHz machine.

Advantages – This reduces the overclock on systems such as RAM, ROM and VRAM, likely making the system more stable at 40 MHz. Doing this change will make a 25 MHz machine work at 40 MHz.

Disadvantages – Benchmarks will score a bit lower than using 33 MHz timings at 40 MHz (in line with a real 40MHz machine if Apple had ever released one). The machine ID (gestalt) will change to an unreleased Mac – 7.6.1 will boot OK (but might not install without tricking the installer), but 7.1 won’t boot unless you can find a hacked System Enabler. (Update – I believe I’ve managed to make the required changes and have the magic System Enabler working now. Drop me a message and I’ll send you a copy).

How to select 40MHz timings…

  1. Remove the logic board from the case and place it somewhere suitable to do some soldering.
  2. If there is a resistor fitted to R152, remove it.
  3. If there is a resistor fitted to R151, remove it.
  4. Save any resistors in case you want to put them back.
  5. Reassemble your computer and test to see that everything works.
Setting 40 MHz Timings

The way I remove 0805 surface mount resistors is by putting a little flux on them, and then placing the iron on one end for about 3 seconds, before quickly moving the iron to the other pad and pushing the resistor off. Sometimes it takes a couple of tries, but it is easier than faffing with other methods and I usually already have my iron set up. It is especially helpful if there is plastic parts nearby on the board that hot air might damage.

The Ideal Setup

This last modification is closest (see the “Other Tweaks” section) to how I have my system configured as it gives the best flexibility. It lets you have jumpers to select CPU speed and timings. Removing both jumpers gives you the stock CPU speed (whatever it is on your machine), with (always) 33 MHz timings, while fitting both jumpers gives you 40 MHz and 40 MHz timings. You can also mix and match.

Advantages – Flexibility – you can change the CPU clock between stock (hopefully 33 MHz) and 40 MHz, and also the timings between 33 MHz and 40 MHz settings. All without even removing the logic board from the case (once the modification has been done).

Disadvantages – If you have a machine fitted with the original 12.5MHz clock for 25MHz, it will be slower than as shipped when you pick 25MHz by jumpers, because you will only be able to select timings designed for higher clocks.

If you have a 25MHz machine, I recommend just doing the first two mods above and basically hard wiring it to 40MHz. Make sure you have a heatsink fitted and consider finding a 33MHz grade CPU.

Dual Jumpers

To fit dual jumpers…

  1. Remove the logic board to somewhere you can do soldering.
  2. Make sure no resistor is fitted at location R151.
  3. Fit a 1.2k 0805 resistor (usually labelled 122) at location R152.
  4. Fit a 330 ohm 0805 resistor (usually labelled 331) at location R233.
  5. Fit a header at location J28.
  6. Fit a header at location J29 if you didn’t previously.
  7. Reassemble your computer and test to see that everything works.
J28 in Situ – This Selects 40MHz Timings when Fitted
R151, R152 (I didn’t have a 1.2k Resistor so used a 1.5k) and R233

At this point, as described above and if you started with a 33MHz board, you will be able to select 33 MHz with 33 MHz timings by removing both jumpers (I store them by placing them so they are on only one pin of the header), or 40 MHz with 40 MHz timings by fitting both jumpers. If you fit J29 and not J28, you will get a 40 MHz bus / CPU speed, with 33 MHz timings. This is an overclock with regards to the timings, so you will have boosted video, RAM and ROM performance. Most noticeable in the video benchmarks like the following :

Video Benchmark Score at 40 MHz with 33 MHz Timings

Note that while 40 MHz timings are selected, you will have the machine ID (gestalt) of an unreleased Mac, and System 7.1 won’t boot as mentioned above. If you want to boot in 7.1, just remove jumper J28.

Other Tweaks

  • Fit a 40 MHz Grade CPU and a heatsink.
  • Fit a socket for trying other clock speeds.
  • Fit a 25MHz clock to aim for 50 MHz.
  • Spoof a Quadra 800 power LED by shorting the appropriate two pins on the LED connector location. This makes your computer think it is a Quadra 800, which shipped with faster RAM, so I believe the ROM sets up slightly faster RAM timings.
  • Install the Wish I Were control panel to override the machine ID gestalt and reduce (but not completely) the number of issues from running a machine with an unreleased ID.
  • Replace the MC88916DW55 with an MC88916DW80 as this makes 50 MHz more likely in combination with a faster clock at G3. Fitting J29 still selects 40MHz, but removing it selects the faster clock at G3. Remember G3 is half the bus speed.
  • Remove onboard RAM and fit a single stick of very fast RAM (50ns EDO).
  • Fit a PowerPC Upgrade Card. Some will run at 80 MHz using the modifications described on this page.

I have personally done all the mods listed above to my machine, although I can’t promise they’ll all work for you, or are worthwhile.

Further Research

I worked out how to modify the System Enabler so that 40MHz works with System 7.1! Drop me a message if you want a copy. I might have previously posted it on Tinker Different – I forget.

Additionally, if your board shipped from factory with J28 and or J29 fitted, and especially R233 fitted, I’d be interested to hear from you. It’s likely that such a board would be a prototype and it would be great to check some component values.

This page is making a record of information I originally posted on 68kmla.

The 8600, 9600 and Beige G3 Tower Cases

The 8600, 9600 and Beige G3 Tower Cases

How they are similar, and how they are different.

Introduction

There is a lot of confusion over the difference between the cases used for the Power Macintosh 8600, 9600 and original (beige) G3 Tower. The confusion is because the three look extremely similar. In summary, the Power Macintosh 8600 and 9600 cases are effectively identical, while the Beige G3 Tower is slightly shorter (by 3 PCI slot covers).

Case Front

All three basically look the same from the front unless seen side by side, with the Beige G3 Tower having a more squat / shorter bottom-most section on the left. If you are trying to tell the difference, the Beige G3 panel that has the name badge affixed is wider than it is tall, while the Power Macintosh 8600 and 9600 both have an equivalent panel that is taller than it is wide.

Case Back

Power Macintosh 8600

The following can be found on the rear panel of a Macintosh 8600…

  • Built in Apple style RGB Video (15 pin D-Sub connector with two rows of pins, not VGA)
  • AV connectors with a plastic surround, 2x S-Video, RCA Video in and Out (yellow), and Audio in and out (two pairs of red and white RCA connectors, four total).
  • What appear to be six PCI slots in the case – only the upper three correspond to slots on the logic board, although sometimes you might see something like a Compact Flash adapter, or something fitted to one of the lower ports (like I have!).

Power Macintosh 9600

The following can be found on the rear panel of a Macintosh 9600…

  • A punch-out cover where the Apple style RGB Video would be fitted if this was an 8600.
  • A blank rectangle of blank plastic where the AV would be fitted on an 8600.
  • Six PCI slots in the case, with at least one populated for video.

Power Macintosh G3 (Beige) Tower

The following can be found on the rear panel of a Power Macintosh G3 (Beige) Tower…

  • Three PCI slots, plus a weird, double width card with a mixture of audio ports, video ports and a modem, depending on what options are fitted. If this is an AV variant, the AV ports are not surrounded by a plastic rectangle, but are on a metal plate with a grey sticker on it.
  • No AAUI port.

Interior

This section goes slightly off topic with details more generally on telling the difference between machines (perhaps with a missing case badge or swapped logic boards) more generally.

Processors

The 8600 and 9600 have a CPU with a large heatsink, fitted into an edge connector / slot which can be seen through the internal blue/green handle. On the other hand, the Beige G3 has a CPU under a square heatsink fitted in a PGA socket hidden under the portion of the case that folds out when the two blue/green latches are released. There is a large black bit of plastic fitted as a handle and for controlling airflow on the Beige G3, replacing the blue/green handle on the 8600 and 9600.

Internal Expansion Slots

As mentioned, the 8600 has 3 PCI slots while the 9600 has six. The Beige G3 has three PCI slots, plus a “Perch” or “Personality” slot. There is sometimes a modem plugged into the perch card – if there is a modem fitted, you generally shouldn’t use the external modem serial port at the same time as they both use the same internal hardware.

Memory

The 8600 has eight 5V 168 pin RAM slots, while the 9600 has twelve. The Beige G3 only has three RAM slots. The 8600 has a ROM slot which is rarely used, the 9600 doesn’t have a ROM slot and there is always a ROM SIMM fitted on the Beige G3. The cache slot itself is never fitted on a Beige G3 as the G3 L2 Cache is on its CPU ZIF board, while it is a mixture of fitted or not depending on the exact variant for the 8600. The 9600 seems to mostly have a cache slot fitted but I have a nagging feeling that this isn’t always the case.

Note 250MHz and faster 8600 and 9600s should not be used with a cache SIMM installed, while 233MHz and slower 8600 and 9600s will be exceptionally slow if one isn’t fitted.

The Unreleased 9700

While it was never released, the Power Macintosh 9700 was planned to be released in the same style of case as the 8600 and 9600. The case wasn’t going to be absolutely identical as the rear panel was different, with an opening for a perch card, reordered ports, a high density SCSI-2 style external SCSI port and a few other changes. The case was still a full hight, 6 PCI slot, case.

When found in the wild, these machines often have a blank or missing name badge on the lower front panel.

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).

Getting the Most from a Power Macintosh 6100

Getting the Most from a Power Macintosh 6100

I’ve been doing a huge amount of benchmarking over the last week and have been using my 6100/66 as the comparison machine. I though I’d post a couple of comments on how to get good performance while it is on my mind.

Processor Upgrades

If you are able to find one at a reasonable price, a G3 upgrade, for example from Sonnet or Newer, is the biggest performance boost you can get for a 6100. The performance boost is huge. A 266MHz G3 Sonnet in my 6100 increases Norton System Info CPU benchmark scores by about 560% for my 66MHz 6100.

Note when you fit a G3, you usually have to remove the L2 Cache SIMM from your logic board. Mine won’t even boot if I forget.

An advantage of many of these G3 upgrades is that they also act as a PDS raiser card, allowing you to fit an AV card. This gives you the ability to drive higher resolution monitors and/or more colours, as well as dual screen.

A Level 2 Cache

If you can’t get a G3 processor, make sure you have an L2 Cache fitted. This allegedly gives a performance improvement of 20%. I don’t have my benchmark scores on hand at the moment, but feel like 15% on CPU is more realistic. It also significantly improves built in video performance. Very worthwhile.

Use Built-In Graphics

Even if you have an AV card fitted, while the more conventional connector is nicer, and the 2MB of VRAM is good for higher resolutions and bit depths, the built-in video port gives faster video performance. If you have an AV card fitted and aren’t using it, it still appears as connected, so to save a small amount of CPU usage, set it to a low resolution and low bit depth. I think it supports Black and White.

To use the built-in video, you’ll likely need a HDI-45 to Apple RGB (15 pin DSub – not to be confused with VGA) adapter, and then perhaps an Apple RGB to VGA adapter as well. Don’t pay too much for one, certain sellers on eBay have been trying to produce artificial scarcity and drive up prices. They’re pretty common really.

Software Tweaks

If you’re planning on running older games on your 6100, even if not, you must install SpeedDoubler 8. It gives approximately a 500% improvement in emulated 68k benchmarks on my machine.

Additionally, consider installing MathLibMoto for a small improvement in floating point performance in some situations.

If your software is looking for a 68k FPU (a 68882), try installing PowerFPU.

System Software

I recommend running Mac OS 7.6.1 if you have 24MB of RAM, perhaps Mac OS 8.1 if you have 40MB or more and want HFS+ disks. This said, note that I’ve had some issues where the Sonnet upgrades will not work at all with a specific operating system version. I’m not certain, but I have a feeling that this was Mac OS 7.6.1.

Remember that dual booting, or even more, is pretty trivial on a vintage Mac. I usually install three OSes on my machines, if I have room, by partitioning the disk. I’ll install an early supported OS, a middle era OS and late OS. For the 6100 this might be 7.5.3, 8.1 and 8.6, or perhaps 7.1.2, 7.6.1 and 9.1, or whatever.

RAM

I recommend you have between 24 and 72MB of RAM. The 6100 will accept up to 264MB of 72pin FPM RAM, but more than 72MB isn’t really needed unless you’re capturing video or audio, or using a big RAM disk. Note if you fit 264MB, the screen will stay blank for about 37 seconds while your computer does the memory test at power on.

There is 8MB of RAM soldered to the logic board, and two SIMM slots which must be upgraded in matched pairs.

A Fast Hard Disk

A modern SD card to SCSI adapter is likely your best option as most old spinning SCSI disks are close to failure and expensive. Avoid the original BlueSCSI as they have a high failure rate and are slower. Newer options include the MacSD, ZuluSCSI, GBSCSI2 and BlueSCSI 2.

New Battery

Be warned that old batteries leak and destroy old Macs, so make sure you aren’t running a battery that is more than about 10 years old. Don’t leave the regular half length AA batteries in when the computer is stored.

Ideally, I recommend getting a coin cell battery adapter as they are less likely to leak.

Capacitors

Keep an eye on the electrolytic capacitors on your logic board. If you notice the solder on the pads loses its shine, you probably should recap the board. You shouldn’t need to do caps other than the electrolytic “tin cans”. The power supply might need doing too. I haven’t needed to recap my 6100 yet, but I keep a careful watch and am willing to do it myself. I probably should have done the logic board already.

While many Macs will run without a battery, the Power Macintosh 6100 needs the battery to properly power on. With a missing or flat battery, you won’t usually see a video output, although you can do a trick where after powering it on, you quickly turn it off and back on again. This isn’t advisable generally but can be useful to verify a machine works.

Software

Less relevant to the performance of your 6100, but the following is some suggested software for your Power Macintosh 6100…

Productivity and Creative

  • Photoshop 4
  • Illustrator 5.5
  • Painter 3
  • Propellerhead RB-338
  • ClarisWorks 4
  • HyperCard 2.3
  • Word 5.0a
  • Infini-D 3

Utilities

  • Speed Doubler 8
  • AfterDark 4
  • The Grouch

Games

  • Marathon Infinity
  • SimCity 2000
  • Settlers II
  • Civilization II
  • Oxyd
  • Myst
  • Lemmings
  • Escape Velocity
  • Glider 4

For Kids

  • KidPix
  • Thinking Things Collection 2
  • Just Grandma and Me

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 😉

MIDI Tracks from Classic Mac OS Games

MIDI Tracks from Classic Mac OS Games

In the classic Mac operating system, files could have two forks, a conventional data fork, and a resource fork. The resource fork was sort of like a file system embedded within the file, with types and individual objects. It was an excellent way of storing structured data within files and applications.

Some of the Resources in the Lemmings “Music” file

One of these data types sometimes embedded into files was the music for computer games, such as Prince of Persia and Lemmings. These games used a sample based MIDI player to provide their music. As a kid, I noticed that these songs were stored as a resource type “MIDI”… moreover, if you *cough*, crudely pasted the content of these individual MIDI resources into the data fork of an empty file and typed it correctly as a MIDI file… they played in Cubase on our Yamaha TG 100.

While I’ve lost the original files I extracted years ago, I thought I’d re-extract them and make them available in case anybody is interested.

Note that these are the raw MIDI files, and in-situ, they were alongside INST and SONG resources which described which sample based instruments should be used for which individual tracks, as well as some tempo and maximum note length data. Additionally, some of the samples are percussion, and might not even be tuned to the same pitch (although this should be corrected in the “INST” resource, so I doubt it will be an issue in practice). This has a greater impact on the Lemmings songs, which seem to contain no instrument data themselves, while it seems that the Prince of Persia songs do at least try to select sensible instruments.

Downloads

The MIDI files here are straight from the games and so are sometimes a little weird – like include hanging notes instead of pauses, because game settings mean that sounds decay quickly. The sound samples are all the sounds stored as resources from the games, such as sound effects and instrument samples. I’ve provided them as both WAV files and in ResEdit Resource files. The latter wont work on linux or PCs and will be likely corrupted if you extract them from their .sit.hqx wrapper – this said, there isn’t anything you need in there that isn’t available as a WAV file elsewhere in the download.

Prince of Persia

MIDI Files – https://elephantandchicken.co.uk/downloads/GameMusic/PoP_Music.zip

Sound Samples – https://elephantandchicken.co.uk/downloads/GameMusic/PoPSounds.zip

Lemmings

MIDI Files – https://elephantandchicken.co.uk/downloads/GameMusic/LemmingsMusic.zip

Sound Samples – https://elephantandchicken.co.uk/downloads/GameMusic/LemmingsSounds.zip

Oh No More Lemmings!

MIDI Files – https://elephantandchicken.co.uk/downloads/GameMusic/ONMLMusic.zip

Sound Samples – https://elephantandchicken.co.uk/downloads/GameMusic/ONMLSounds.zip

Additional Thoughts

Prince of Persia 2

I looked at extracting the songs from Prince of Persia 2 as well, but need to spend a little more time understanding how they’re formatted as they appear to have concatenated all the songs together in a small number of files and individual songs don’t appear to be terminated in the usual way? I’m not sure what exactly is going on, but it can’t be too complicated as MIDI itself is just a stream of commands to be interpreted.

Editing the Songs

It feels like it might be a fun and simple project to swap in some alternative MIDI songs and sound samples into a game. Other than a small amount of fiddling to set up instruments, it should be pretty much just a copy/paste job to swap different music into Lemmings enabling perhaps a custom version with your favourite instrumental tracks instead of the default music. With Lemmings this is especially easy since the music is stored in a separate file.