Fork Truck Challenge Mac OS

broken image


  • Copland is an operating system developed by Apple for Macintosh computers between 1994 and 1996 but never commercially released. It was intended to be released as System 8, and later, Mac OS 8. Planned as a modern successor to the aging System 7, Copland introduced protected memory, preemptive multitasking, and several new underlying operating system features, while retaining compatibility with existing Mac.
  • Ever wanted to drive a fork truck? Lift heavy weight with mighty machine? Then this game is for you.

The resource fork is a fork or section of a file on Apple's classic Mac OSoperating system, which was also carried over to the modern macOS for compatibility, used to store structured data along with the unstructured data stored within the data fork.

A resource fork stores information in a specific form, containing details such as icon bitmaps, the shapes of windows, definitions of menus and their contents, and application code (machine code). For example, a word processing file might store its text in the data fork, while storing any embedded images in the same file's resource fork. The resource fork is used mostly by executables, but every file is able to have a resource fork.

We would like to show you a description here but the site won't allow us.

The Macintosh file system[edit]

Originally conceived and implemented by programmer Bruce Horn, the resource fork was used for three purposes with Macintosh file system:

  • It was used to store all graphical data on disk until it was needed, then retrieved, drawn on the screen, and thrown away. This software variant of virtual memory helped Apple to reduce memory requirements from 1 MB in the Apple Lisa to 128 KB in Macintosh.
  • Because all the pictures and text were stored separately in a resource fork, it could be used to allow a non-programmer to translate an application for a foreign market, a process called internationalization and localization.
  • It could be used to distribute nearly all of the components of an application in a single file, reducing clutter and simplifying application installation and removal.

The resource fork is implemented in all of the file systems used for system drives on the Macintosh (MFS, HFS and HFS Plus). The presence of a resource fork makes it easy to store a variety of additional information, such as allowing the system to display the correct icon for a file and open it without the need for a file extension in the file name. While access to the data fork works like file access on any other operating system – pick a file, pick a byte offset, read some data – access to the resource fork works more like extracting structured records from a database. (Microsoft Windows also has a concept of 'resources', but these are completely unrelated to resources in Mac OS.)

The resource fork is sometimes used to store the metadata of a file, although it can also be used for storing the actual data, as was the case with font files in the classic Mac operating systems. Note that the Macintosh file systems also have a separate area for metadata distinct from either the data or resource fork. Being part of the catalogue entry for the file, it is much faster to access this. However, the amount of data stored here is minimal, being just the creation and modification timestamps, the file type and creator codes, fork lengths, and the file name. Some files have only a resource fork. Classic 68k applications are one example, where even the executable code is contained in resources of type 'CODE'. Later PowerPC binaries store the executable code in the data fork.

As resource forks are supported only on the file systems HFS, HFS Plus, and APFS, they cannot be used on operating systems which use other file systems. At present, HFS is supported only by the Macintosh operating system, which means that only machines running Mac OS can use resource forks. Even in a Mac OS system, resource forks cannot be used if the Unix File System has been installed. In the HFS Plus file system, which is currently the system most commonly used under Mac OS, settings can be made to allow other forks in addition to the data and resource forks, to create a 'multi-fork' application. However, as forks can make it difficult to exchange files with other operating systems, this feature is not in common use. Even in macOS, resource forks are seldom used anymore.

Currently, macOS supports resource forks on Windows SMB shares by creating a hidden file with the characters '._' added at the beginning of the file name, in the same directory as the data fork file.

Resource identifiers[edit]

Each resource has an OSType identifier (a four byte value) and an ID (a signed 16-bit word), as well as an optional name. There are standardized resource types for dialog boxes ('DITL), images ('PICT'), sounds ('snd ') – and even for executable binaries ('CODE') which, until the advent of the PowerPCprocessor, were without exception stored in the resource fork. Subroutines for rendering windows are stored in their own type of resources ('WDEF'), subroutines for rendering menus in theirs ('MDEF'), and if there is a type of data you think does not fit any of the standardized categories, you can just as well use a type of your own (e.g. 'John') – actually any four characters or 32-bit value can serve as a resource type. This arrangement enabled users to easily customize not only individual applications but also the operating system itself, using tools such as ResEdit to modify the resources of an application file or any of the system files.

Within an application or other code, resources can be loaded simply using a combination of their type, ID or name, without regard to how and where they are stored in the resource fork. The client is returned a Handle to the loaded resource which can then be accessed like any other heap-based data. The OS component that facilitates this is the Resource Manager. In addition to abstracting the details of the data storage from the data itself, the Resource Manager also arranges sets of open resource forks into a stack, with the most recently opened file on top. When trying to load a resource, it will look in the top of the stack first, (perhaps the current document's resource fork), then the next one down (the application's resource fork), then the next one (system resource forks). This arrangement is very powerful – it permits local resources to override more global ones lower down – so an application can provide its own icons or fonts in place of the standard system ones, for example. It also allows an application to load resources from the system using the same API as any other resource, without regard to where or how that resource is stored – to the application, all resources are equally available and easy to use. The system reserves resource IDs in a certain range to help avoid resource conflicts arising from this. Resource Manager APIs allow the programmer to manipulate the stack and modify the search behaviour.

Editing resource forks[edit]

As the resource fork can be edited with a resource editor such as ResEdit, it can be used to localize and customize software. In addition, most resource editors allow visual editing of data. In macOS, it is possible to use resources when developing an application. However, if the application may need to be used in UFS, it is also possible to configure it so that the entire resource fork is moved to the data fork, using the Raw Resource File setting. The integrated development environments distributed for free by Apple Inc., which include MPW and Apple Developer's Tools, include a compiler called Rez. This uses a dedicated language, also called Rez, which can be used to create a resource fork by compiling source code. A decompiler, DeRez, which can be used to change a resource fork back into Rez code is also included.

In the structure of the resource fork, there is a piece of data called a 'resource map' which stores the positions of resource data items. This can be used to allow random access to resource data based on the defined IDs and names. The resource fork can be thought of as consisting of essentially two objects, the resource map and the resource data itself, but in fact each data type is a hierarchical structure which stores multiple items of data. The format in which the information in the resource data is stored is defined based on the types of information, which are known as 'resource types.' Resource data often makes references to other types of data.

In macOS, forks are named file/..namedfork/forkname, e.g., the resource fork of the file IMG_0593.jpg is IMG_0593.jpg/..namedfork/rsrc. The ls command supports a -l@ option which lists a file's forks.

How a resource fork is accessed[edit]

Resource forks appear as the extended attribute com.apple.ResourceFork.[1]

Previously resource forks were accessed via the 'Resource Manager' API. This API is now deprecated.[2]

Under the deprecated API:

  1. When a resource fork is accessed, data including the start position and length of the resource data and resource map is read in from the header.
  2. If a resource type to read in has been specified, a check is performed to make sure that type is present in the resource list, and the number of items of data containing that type and their offsets in the resource reference list from the start position of the resource map is found.
  3. The resource ID, the offset of the resource name, the resource properties, and the offset of the data from the start position of the resource data is found.
  4. If resource data with the specified ID or name is present in the resource data, the offset obtained above is accessed, the data length is found, and all the data stored there is read in, and returned as the return value.

File Manager APIs such as PBOpenRF() also allowed access to the raw resource fork; however, they should be used only for applications such as copying a file – Apple strongly warns against using the resource fork as a 'second data fork.'

From the POSIX interface, the resource fork could be accessed as filename/..namedfork/rsrc or as filename/rsrc; the shorter form was deprecated in Mac OS X v10.4 and removed completely in Mac OS X v10.7.[3]

Data types in a resource fork[edit]

Truck

The smallest elements making up a resource fork are called data types. There are several data types. After a resource fork is accessed, its contents can be found by reading it in as appropriate for the data types defined in advance. Placing definitions inside the program stating how data is to be treated makes it possible to store resources called TMPL resources as well. Using this method increases the visibility of the data when viewed with a program such as ResEdit, making later editing simpler. As the Macintosh platform originated with Motorola-based processors (68k and PPC), the data is serialized to disk in big-endian format.

The following is a list of the major data types, in alphabetical order.

Data typeactual nameDescription
BBITbinary bitRepresents a single boolean bit (true or false). Normally the number of BBITs must be a multiple of 8.
BOOLbooleanRepresents a boolean value. It consists of 2 bytes; 256 is true, and 0 is false.
CHARcharacterRepresents a one-byte character.
CSTRC stringRepresents a string of the form used in the C programming language: a null-terminated string of bytes.
DLNGdecimal long word integerA decimal long word (4 byte integer). Represents values between approximately − 2.1 billion and 2.1 billion.
HEXDhex dumpIndicates that the data from this position to the end is hexadecimal. This is used to represent code resources or compressed data.
HLNGlong word hexadecimalThis data is treated as a 4 byte hexadecimal value. It is used, among other things, to represent integers greater than 2.1 billion, such as unsigned long values in C.
PSTRPascal stringRepresents a Pascal string, with the first byte giving the length of the string.
TNAMtype nameA string representing a value such as a creator code, which is always 4 bytes long.
RECTrectangleRepresents the coordinates of the corners of a rectangle (top, left, bottom, right). Always 8 bytes long.

Major resource types[edit]

Fork Truck Challenge Mac Os Sierra

The type codes below, like the above datatypes, are used as type identifiers for more than resource forks themselves: they are used to identify file themselves, to describe data in the clipboard, and much more.

Note that types must be 4 bytes long, so types like snd and STR actually have a space (0x20) at the end.

Name of resource typeactual nameDescription
alisaliasStores an alias to another file, in a resource fork of a file whose 'alias' attribute bit is set
ALRTalertDefines the shape of an application alert box
APPLapplicationStores application information
BNDLbundleDefines data such as a file type icon used in an application
cicncolor iconDefines a color icon used in data
clutcolor look-up tableDefines a color palette used in data
CNTLcontrolDefines the details of a component positioned in a window
CODEcode resourceStores the machine code for the program
CURScursorDefines the shape of a monochrome cursor (8 × 8 bit square)
DITLdialog item listDefines a component of a window
DLOGdialogDefines the shape of a dialog box for an application
FREFfile referenceDefines a file type handled by an application
hfdricon balloon helpDefines the contents and shape of the balloon help displayed when the cursor hovers over the file in the Finder
icl88-bit icon listDefines an icon displayed in the Finder
icns32-bit icon listDefines an icon displayed in the Finder
ICONiconDefines a monochrome item used in data
kindfile descriptionDefines a description of a file type
MBARmenu barDefines a menu and menu bar for an application
MDEFmenu definitionDefines a menu for an application. Can also be used to define menus with complex shapes such as color palettes.
MENUmenuDefines the menu items in an application
MooVmovieStores a QuickTime movie
openopenDefines a file type which the application can open
PICTpictureStores a PICT image contained in the file
PREFpreferenceStores the environment settings for an application
sndsoundStores a sound used in the file
STRstringStores a string or hexadecimal data used in the file
STR#string listStores multiple strings used in the file
stylstyleDefines style information, such as the font, color and size of text
TEXTtextStores text
TMPLtemplateDefines the format for the resource data
versversionDefines the version or region of use of the file
WDEFwindow definitionDefines a window for the application. Windows of an unspecified shape can also be defined.
WINDwindowDefines the shape of an application window

Major resource editors[edit]

ResEdit
Distributed free of charge by Apple. Can be used for visual editing of resource data. If the structure of data is known, it can display a range of different types of data in a visual format. Does not run on modern macOS.
Resorcerer
Expensive, but popular, as it can be used for visual editing of many more types of data than ResEdit.
HexEdit
A binary editor, which in fact is normally used more for editing the data fork rather than the resource fork.
ResKnife
Open-source editor for Mac OS X; no longer maintained.
Rezycle
A macOS tool that extracts resources from a resource fork into separate binary files while converting many types into formats suitable for modern development.
resource_dasm
An open-source resource extractor for macOS, also capable of converting many resources into modern formats.

Compatibility problems[edit]

Truck

The smallest elements making up a resource fork are called data types. There are several data types. After a resource fork is accessed, its contents can be found by reading it in as appropriate for the data types defined in advance. Placing definitions inside the program stating how data is to be treated makes it possible to store resources called TMPL resources as well. Using this method increases the visibility of the data when viewed with a program such as ResEdit, making later editing simpler. As the Macintosh platform originated with Motorola-based processors (68k and PPC), the data is serialized to disk in big-endian format.

The following is a list of the major data types, in alphabetical order.

Data typeactual nameDescription
BBITbinary bitRepresents a single boolean bit (true or false). Normally the number of BBITs must be a multiple of 8.
BOOLbooleanRepresents a boolean value. It consists of 2 bytes; 256 is true, and 0 is false.
CHARcharacterRepresents a one-byte character.
CSTRC stringRepresents a string of the form used in the C programming language: a null-terminated string of bytes.
DLNGdecimal long word integerA decimal long word (4 byte integer). Represents values between approximately − 2.1 billion and 2.1 billion.
HEXDhex dumpIndicates that the data from this position to the end is hexadecimal. This is used to represent code resources or compressed data.
HLNGlong word hexadecimalThis data is treated as a 4 byte hexadecimal value. It is used, among other things, to represent integers greater than 2.1 billion, such as unsigned long values in C.
PSTRPascal stringRepresents a Pascal string, with the first byte giving the length of the string.
TNAMtype nameA string representing a value such as a creator code, which is always 4 bytes long.
RECTrectangleRepresents the coordinates of the corners of a rectangle (top, left, bottom, right). Always 8 bytes long.

Major resource types[edit]

Fork Truck Challenge Mac Os Sierra

The type codes below, like the above datatypes, are used as type identifiers for more than resource forks themselves: they are used to identify file themselves, to describe data in the clipboard, and much more.

Note that types must be 4 bytes long, so types like snd and STR actually have a space (0x20) at the end.

Name of resource typeactual nameDescription
alisaliasStores an alias to another file, in a resource fork of a file whose 'alias' attribute bit is set
ALRTalertDefines the shape of an application alert box
APPLapplicationStores application information
BNDLbundleDefines data such as a file type icon used in an application
cicncolor iconDefines a color icon used in data
clutcolor look-up tableDefines a color palette used in data
CNTLcontrolDefines the details of a component positioned in a window
CODEcode resourceStores the machine code for the program
CURScursorDefines the shape of a monochrome cursor (8 × 8 bit square)
DITLdialog item listDefines a component of a window
DLOGdialogDefines the shape of a dialog box for an application
FREFfile referenceDefines a file type handled by an application
hfdricon balloon helpDefines the contents and shape of the balloon help displayed when the cursor hovers over the file in the Finder
icl88-bit icon listDefines an icon displayed in the Finder
icns32-bit icon listDefines an icon displayed in the Finder
ICONiconDefines a monochrome item used in data
kindfile descriptionDefines a description of a file type
MBARmenu barDefines a menu and menu bar for an application
MDEFmenu definitionDefines a menu for an application. Can also be used to define menus with complex shapes such as color palettes.
MENUmenuDefines the menu items in an application
MooVmovieStores a QuickTime movie
openopenDefines a file type which the application can open
PICTpictureStores a PICT image contained in the file
PREFpreferenceStores the environment settings for an application
sndsoundStores a sound used in the file
STRstringStores a string or hexadecimal data used in the file
STR#string listStores multiple strings used in the file
stylstyleDefines style information, such as the font, color and size of text
TEXTtextStores text
TMPLtemplateDefines the format for the resource data
versversionDefines the version or region of use of the file
WDEFwindow definitionDefines a window for the application. Windows of an unspecified shape can also be defined.
WINDwindowDefines the shape of an application window

Major resource editors[edit]

ResEdit
Distributed free of charge by Apple. Can be used for visual editing of resource data. If the structure of data is known, it can display a range of different types of data in a visual format. Does not run on modern macOS.
Resorcerer
Expensive, but popular, as it can be used for visual editing of many more types of data than ResEdit.
HexEdit
A binary editor, which in fact is normally used more for editing the data fork rather than the resource fork.
ResKnife
Open-source editor for Mac OS X; no longer maintained.
Rezycle
A macOS tool that extracts resources from a resource fork into separate binary files while converting many types into formats suitable for modern development.
resource_dasm
An open-source resource extractor for macOS, also capable of converting many resources into modern formats.

Compatibility problems[edit]

The complexity of programming with resource forks has led to compatibility problems when accessing other file systems via file sharing protocols such as AFP, SMB, NFS and FTP, when storing to non-HFS volumes, or when transmitting files to other systems in other ways (such as via email). The AFP protocol natively supports Resource Forks, and so resource forks are typically transmitted to these volumes as-is, and stored by the server transparently to clients. The SMB protocol supports a file metadata system similar to Macintosh forks known as Alternate Data Streams (ADSes hereafter). macOS did not support storing resource forks in ADSes on SMB volumes by default until Mac OS X v10.6. In previous versions of the OS, including upgraded versions of 10.6, this feature can be enabled with a param change or by creating a special file.[4]

Networked file sharing protocols such as NFSv3 and FTP do not have a concept of file metadata, and so there is no way to natively store resource forks. This is also true when writing to certain types of local file systems, including UFS, and on SMB volumes where Alternate Data Stream support is not enabled. In those cases, macOS stores metadata and resource forks using a technique called AppleDouble, in which the data fork is written as one file, and the resource fork and metadata are written as an entirely separate file preceded by a '._' naming convention. For example: ExampleFile.psd would contain the data fork, and ._ExampleFile.psd would contain the resource fork and metadata.

Compatibility problems can arise because macOS will handle storage of resource forks differently, depending on macOS version, settings, and file system type. For example, on an SMB network with a mixture of 10.5 and 10.6 clients. A freshly installed 10.6 client will look for and store resource forks on an SMB volume in ADSes, but the 10.5 client will (by default) ignore ADSes and use AppleDouble format to handle forks. If a fileserver supports both AFP and NFS, then clients using NFS will store files in AppleDouble format, whereas AFP users will stored the resource fork natively. In those cases, compatibility can sometimes be maintained by forcing clients to use, or not use, AppleDouble format.

Many fileservers providing AFP support do not natively support resource forks on their local file systems. In those cases the forks may be stored in special ways, such as specially named files, special directories, or even Alternate Data Streams.

Another challenge is preserving resource forks when transmitting files using non-resource fork-aware applications or with certain transfer methods, including email and FTP. A number of file formats, such as MacBinary and BinHex, have been created to handle this. Command-line system tools SplitForks and FixupResourceForks allow manual flattening and merging of resource forks. In addition, a file server seeking to present file systems to Macintosh clients must accommodate the resource fork as well as the data fork of files; UNIX servers providing AFP support usually implement this with hidden directories.

Older applications written with the Carbon API have a potential issue when being ported to the current Intel Macs. While the Resource Manager and operating system know how to deserialize data correctly for common resources like 'snd ' or 'moov', resources created using TMPL resources have to be byte swapped manually to ensure file interoperability between PPC and Intel-based versions of an application. (While the resource map and other implementation details are big-endian, the Resource Manager by itself doesn't have any knowledge of the contents of a generic resource, and so cannot perform the byte swapping automatically.)

Until the advent of Mac OS X v10.4, the standard UNIX command-line utilities in macOS (such as cp and mv) did not respect resource forks. To copy files with resource forks, one had to use ditto or CpMac and MvMac.

Other operating systems[edit]

The concept of a resource manager for graphics objects, to save memory, originated in the OOZE package on the Xerox Alto in Smalltalk-76.[5] The concept is now largely universal in all modern operating systems. However, the concept of the resource fork remains peculiar to the Macintosh. Most operating systems used a binary file containing resources, which is then 'tacked onto' the end of an existing program file. This solution is used on Microsoft Windows for instance, and similar solutions are used with the X Window System, although the resources are often left as a separate file.

The Windows NTNTFS can support forks (and so can be a file server for Mac files), the native feature providing that support is called an alternate data stream. Windows operating system features (such as the standard Summary tab in the Properties page for non-Office files) and Windows applications are use them and Microsoft was developing a next-generation file system that has this sort of feature as basis.

Early versions of the BeOS implemented a database within the file system, which could be used in a manner analogous to a resource fork. Performance issues led to a change in later releases to a system of complex file system attributes. Under this system resources were handled in a fashion somewhat more analogous to the Mac.

AmigaOS does not use forked files. Its executable files are internally divided into a modular structure of large pieces (hunk) capable of storing code, data, and additional information. Similarly, data and project files have a chunk structure codified in the IFF standard. Other file types are stored similarly to other operating systems. Though not strictly a resource fork, AmigaOS stores meta data in files known as .info files. .info files can be identified by the .info extension; for example, if you save a project to a disk, two files will be saved, MyProject and MyProject.info. MyProject would be the actual project data and MyProject.info would contain the project icon, information regarding which program is needed to open the project (since there is no application binding in AmigaOS), special project options and any user comments. .info files are invisible on the Amiga's desktop (Workbench). The icon on the desktop, taken from the .info itself, is the interface metaphor through which the user interacts both with the project itself and its associated .info file. A dialog box accessible by right-clicking the icon allows the user to see and modify the metadata present in the .info file. .info files can be seen as individual files in the command-line interface or a File manager. Modern AmigaOS clones (AROS, MorphOS and AOS4) inherit the structure (complete with metadata) of the .info files of older AmigaOS versions, and can also accept standard PNG graphic files as icon bitmaps in their .info files.

NeXT operating systems NeXTSTEP and OPENSTEP, their successor, macOS, and other systems like RISC OS implemented another solution. Under these systems the resources are left in an original format, for instance, pictures are included as complete TIFF files instead of being encoded into some sort of container. These resources are then placed in a directory along with the executable code and 'raw data'. The directory (called a 'bundle' or 'application directory') is then presented to the user as the application itself. This solution provides all of the same functionality as the resource fork, but allows the resources to be easily manipulated by any application – a 'resource editor' (like ResEdit) is not needed. From the command-line interface, the bundle appears to be a normal directory. This approach was not an option on the classic Mac OS, since the file system (MFS) did not support separate catalog directories. When catalog file support was included in Mac OS, with the HFS filesystem, the resource fork was retained. macOS does retain the classic Resource Manager API as part of its Carbon libraries for backward compatibility. However, the resources themselves can now be stored in separate data files within the file system – the Resource Manager now hides this implementation change from the client code.

See also[edit]

References[edit]

  1. ^'Mac OS X Resource Forks'. Retrieved 2012-10-22.
  2. ^'Resource Manager Reference'. Retrieved 2012-10-22.
  3. ^'Using Pathnames'. developer.apple.com. 2002-12-18. Archived from the original on 2002-12-18. Retrieved 2002-12-18.CS1 maint: bot: original URL status unknown (link)
  4. ^'OS X v10.5, v10.6: About named streams on SMB-mounted NAS, OS X, and Windows servers'. Retrieved 2010-04-19.
  5. ^'The Early History of Smalltalk'. Retrieved 2008-07-24.

External links[edit]

  • The Grand Unified Model – History of the resource fork, from folklore.org
  • Rezycle – Resource extraction tool
  • Mac OS X Services – A Mac OS X Service to delete the resource fork of a file through context menu
Retrieved from 'https://en.wikipedia.org/w/index.php?title=Resource_fork&oldid=1020777552'
Reading Time: 4minutes

Yup, I'm doing it.
Later this week I will be firing up my 800MHz 17″ iMac G4 and use Mac OS 9.2.2 for as much of my computing as I possibly can.

Why?
I love Mac OS 9 (and 8.6). I can get almost anything I need to do done fast and distraction free. And of course it's a lot of fun!

Leading up to the start of this challenge I figured I'd share some of the issues and joys of getting my Mac ready. This may be a handy guide for anyone else attempting a challenge like this. The challenge is open for 68K and PPC, any Mac OS that is not OS X but I chose Mac OS 9. These posts will be mirrored on mac-yak.com's blog as well. Alright, let's get to it!

My Mac:
1st Generation 17″ iMac G4
800MHz
512MB RAM
80GB HDD
No AirPort
Apple Pro Speakers
I have not even taken the time to clean this Mac since I got it a week ago, upgrade it or anything. Getting it all set up the way I want so I can hop on to this challenge asap!

The base OS is, of course, a MacOS9Lives image. In this case the iMac supports Mac OS 9 natively so I installed 'Mac OS 9.2.2 Universal Install' which is available from their forums here. If you have a Mac that does not natively support Mac OS 9, check out the 'Mac OS 9.2.2 For Previously Unsupported G4s' image here. I've used both their install images in the past and always with great success. With the base OS installed, I got some of my essentials on the machine. For me, these include:
Stuffit Expander 7.0.3
Classilla 9.3.3
AppleWorks 6.2.4
Office 2001
SilverKeeper
Toast 5.2.1
Graphic Converter 6.5
Unreal Tournament '99
Fetch 4.0.3
Photoshop 7.0.1
Dreamweaver MX
The X-Files
NetBarrier
Eject! 1.0.1
TimerDA

That's pretty much everything currently installed. Some apps you may not need of course. Here's why these are the essentials for me:
Stuffit, Toast & Fetch – To get and open pretty much every file for Classic OS, one of these apps is required. Fetch is what I use to share files between this Mac and other Macs, FTP makes it compatible with any OS.
Classilla – Web browsing and email client.
AppleWorks, Office – I do a lot of typing so want these around.
Silverkeeper – As with every system, backups need to be in place. Silverkeeper is an excellent utility for that.
Graphic Converter – I use this primarily to convert Mac OS 9 screenshots to .jpg format so I can use them on other systems.
Unreal Tournament – I can't go without for long so this needs to be present 😉 If you intend to run this and play in the PPCGL, grab the version from their server instead as it's preconfigured with everything you need.
The X-Files – Just because it's awesome!
Eject! – I'm using a keyboard that has non-functioning volume and eject keys in Mac OS 9. This utility ads an eject button to your Control Strip. Thanks to Steve for making me aware of this!
Photoshop, Dreamweaver – For maintaining several websites.
NetBarrier – I put a lot of faith in my hardware firewall but just to be extra safe 🙂
TimerDA – I want to track how much time I use my iMac G4 every day and this is the first utility I found. I may switch to another one if I find a better option.

A website you should bookmark immediately in Classilla:
Macintosh Garden
MacOS9Lives.com

Issues

So far I've only run into a few issues that require me to switch back to OS X.
PODCASTS: Forget about playing .m4a files in Mac OS 9. These need to be converted to .mp3 first. And of course there is no chapter selection in iTunes 2.0.4. So iTunes on my Mac Pro was used to convert these files to MP3.

MUSIC/RADIO: Unfortunately the radio station streams in iTunes no longer work. A real bummer because I listened to radio through that a LOT back in the day. I still have my music podcasts as mentioned above, 800+ GB of albums in MP3 format and if I feel like listening to radio I pull a stream from the internet-radio.com website.

INPUT: Certain things just have to be done via the keyboard and thus a keyboard that properly support volume adjustments etc. is essential. This means my favorite keyboard (A1048 2003 Apple Keyboard) is out. Will have to find an older keyboard that gets the job done.

RSS: No solution found yet. I need my RSS streams!

WORK: Updating my websites is a piece of cake with Photoshop 7 and Dreamweaver MX. WordPress websites are a bit trickier so I update those from my phone using the WordPress app or on my Mac Pro. For my board repair I need boardview software which is not available on Mac OS 9 so for this I use a dedicated Mac mini. Also the tracking of repairs, making notes etc is all done in Filemaker and my database is only backward compatible with Filemaker 12. On Mac OS 9 I run Filemaker 6 so that won't work. So for Filemaker, I use the same dedicated Mac mini. This system is shut down when my work day is over and is not used for anything else. By the way, text for blog updates such as this one is written on Mac OS 9 and then transferred over to my phone or Mac Pro to be posted.

SOCIAL (non-issue): Facebook… YouTube… I can do without those distractions so I haven't even bothered checking to see what is and isn't possible. There's more to life than those two platforms (though not many seem to think so). If I need it, I'll use my phone.

Upgrades

I have some RAM on it's way to me so that I can max this Mac out at 1GB. I also want to open this Mac up to clean it out, if needed, reapply thermal paste and put an AirPort card and battery in. Having a dead battery is not really an issue as the Mac syncs up with a network time server right after it powers up but since I'm in there anyway, why not. I have no intention of using AirPort but have a few cards laying around so might as well use them.

Fork Truck Challenge Mac Os 8

As more comes to mind I'll add it to future posts but I think I'm pretty much all set! If you feel like doing this challenge with me, join us on Mac Yak Episode 13, Thursday February 28th where I'll kick it off. let us know which machine and OS you'll be using during the live stream.





broken image