Category Archives: literature

Rhapsody Developer’s Guide [PDF, 1997]


Feiler, Jesse.
Rhapsody Developer’s Guide.
Boston: AP Professional, 1997.
ISBN 0-12-251334-7

(528 pages, 13.3 MB PDF)

Rhapsody Developer’s Guide provides a road map to Rhapsody technology and the ways it can be used. Based on a modern microkernel, Rhapsody runs on PowerPC and Intel processors, and supports traditional Mac OS applications (in the Blue Box) as well as modern applications in the Yellow Box. Totally object-oriented, the Yellow Box platform offers an unparalleled development environment that permits rapid implementation of functionality ranging from traditional personal computer applications to media-rich, Internet-enabled, and database-driven applications for the next century.

This book describes the architecture of Rhapsody, including its cross-platform implementation on PowerPC and Intel. It details the Yellow Box platform (based on OpenStep) and provides a complete description of the core API, as well as a description of the architecture that will be enriched in the future with additional functionality from Apple. The languages of Rhapsody are discussed, and the API is presented in a language-neutral way that will be convenient for C++ developers, classic and modem Objective-C users, and Java programmers. Throughout, there is an emphasis on how Rhapsody relates to existing investments in code and programming expertise. Screen shots and code samples from products shipping today using Rhapsody technology provide opportunities and challenges to new Rhapsody developers.

About the Author

Jesse Feiler is software director of the Philmont Software Mill. He is also the author of Cyberdog and Real World Apple Guide. He has served as a consultant, author, and speaker for many prestigious businesses, including the Federal Reserve Bank ofNew York, Prodigy, Kodak, Young & Rubicam, and Apple Computer, Inc.

Inside Commodore DOS [PDF]


Richard Immers and Gerald G. Neufeld:
Inside Commodore DOS : the complete guide to the 1541 disk operating system.
Northridge, Calif. : Datamost, 1985.
ISBN 0-8359-3091-2

(512 pages, 7.4 MB PDF)

In my quest to preserve retrocomputing documents, here is the invaluable book “Inside Commodore DOS”, which describes most of the internals of the Commodore 1541 disk drive. The scanning was done in 2002 by Kenneth S. Moore, who in 2005 released an OCRed version, which unfortunately replaced the original page images. My version here comes with the original page images and a table of contents, and is nevertheless fully searchable.

Here is a fun quote from the book by the way:

Over the years numerous writers have advised Commodore owners not to use the save and replace command because it contained a bug. Our study of the ROM routines and a lot of testing has convinced us that the bug in the replace command is a myth.

Of course, this is wrong. Don’t use “SAVE@” on a 1541.

Commodore 128 Programmer's Reference Guide (PDF)


Commodore Business Machines.
Commodore 128 Programmer’s Reference Guide.
New York, NY: Bantam Books, 1986.
ISBN 0-553-34378-5

(756 pages, 24.6 MB PDF)

This book is an indispensable reference guide and sourcebook for anyone using the new and powerful Commodore 128 computer. This machine has many new and exciting built-in features, such as the advanced BASIC programming language Version 7.0, superior graphics, and excellent sound and music capabilities. All information on these and other technical details, such as machine language programming, memory maps, input/output guide, pinout diagrams of primary chips, and schematics of the computer, are here in this, the only official Commodore 128 Programmer’s Reference Guide.

Whether you are a new user or an advanced programmer, you’ll benefit from all of the material in this book. Find out more about:

  • The New BASIC 7.0 – Explaining new BASIC with advanced features
  • Graphics – Utilizing the Commodore 128′s graphics programming
  • Sound and Music – Getting the notes out of the C128
  • Machine Language – Programming in machine language and combining it with BASIC
  • Operating System – Understanding the C128 operating system, the kernal, and memory management
  • Screen Editor and Memory Maps – Deciphering the C128, C64, and CP/M modes
  • Input/Output Guide ? Controlling peripherals through software
  • Chips – Specifications and pinouts of all important chips
  • All this and much, much more

In my quest to preserve retrocomputing documents, here is the official Commodore 128 Programmer’s Reference Guide. As always, my scanned books come with a table of contents and are fully searchable.

Commodore Plus/4, C116, C16 (TED) Technical Documents

The Commodore Plus/4, the C16 and the C116 from 1984 were members of the 6502-based “TED” series, named after the 7360 TED (“Text Editing Device”) video controller. The TED systems were basically the low-cost cousins of the C64: The overall system architecture and the video chip are very similar to the C64′s, but they lack certain features like hardware sprites. On the other hand, there are some added features like extra colors and more control over the internal timing of the video chip.

In the Commodore archive at zimmers.net, there is a collection of GIF images that are scans of the some very interesting technical documents on the TED series, originally provided by Tibor Biczo and published by William Levak and Marko Mäkelä. I sorted the pages and converted them into searchable PDFs that are much nicer to look at:


“TED System Hardware Manual”

(PDF, 48 pages, 7.6 MB)


“TED 7360R0 Preliminary Data Sheet” (Apr 1983)

(PDF, 23 pages, 5.8 MB)


“TED Extra Pages”

(PDF, 5 pages, 1.4 MB)

The “Extra Pages” contain a map of the circuit board, a Plus/4 memory map in German, a TED register map, and a German version of section 4.5.2 of the TED System Hardware Manual.


“Service Manual Model Plus 4 Computer.pdf” (Oct 1984, PN-314001-04)

(PDF, 25 pages, 4.9 MB)

The service manual is also taken from zimmers.net.

HFS+ File System Analysis and Forensics with fileXray

Modern filesystems are highly optimized database systems that are a core function of modern operating systems. They allow concurrent access by many CPUs, they keep locality up and fragementation down, and they can recover from crashes guaranteeing consistent data structures.

If you want to learn about the internals of modern filesystems, you can either read up on theory (e.g. Dominic Giampaolo’s excellent free book Practical File System Design), or you can dissect one using a tool like fileXray, which

  • allows you to examine data structures on your Mac OS X HFS+ disk, like the volume header, the journal, regular and special files, etc., down to the B-tree level
  • gives you insight into statistics like fragmentation and hot file clustering
  • lets you find out where all these deleted files really go, and what forensic analysis can tell someone about your disks!

Amiga intern (PDF)

(German) Die Qualität dieses Scans ist furchtbar, aber wenigstens ist die PDF durchsuchbar.

Dittrich, S., Gelfand, R., & Schemmel, J. (1988). Amiga intern. DĂźsseldorf: Data Becker. (PDF, 718 S., 11 MB)

DAS STEHT DRIN:

In der dritten überarbeiteten Auflage finden Sie alles von der Hardware über den Betriebssystemkern EXEC bis zum DOS, alle entscheidenden Informationen zum Amiga. Und zwar so verständlich, daß auch die Nicht-Profis unter Ihnen die Arbeitsweise des Amiga-Betriebssystems schnell verstehen werden.

Aus dem Inhalt:

  • Die Chips des Amiga (68000, CIA, Gary, Agnus, Denise, Paula)
  • Die Schnittstellen (Video, Audio, RGB, Centronics, seriell, Floppy, Gameport, Expansionsport, Zorro-Bus, Tastatur)
  • Programmierung der Hardware (Speicherbelegung, Interrupts, Copper, Blitter, Disk-Controller)
  • Strukturen des EXEC (Node, List, Libraries, Tasks)
  • Funktion des Multitasking (Task-Switching, Kommunikation zwischen Tasks, Exceptions, Traps, Semaphoren, Speicherverwaltung)
  • I/O-Handhabung beim Amiga durch Devices und I/O-Request Interrupt-Handhabung und Verwaltung der Ressources
  • RESET-feste Programme und Strukturen, Dokumentation der RESET-Routine Programmierung eigener Handler, Devices und Libraries
  • EXEC-Base (Dokumentation und Nutzung der Systemvariablen) DOS-Bibliothek (Funktionen, Parameter, Fehlermeldungen)
  • Disketten (Boot-Vorgang, Datenstrukturen, Programmaufbau) Fast-Filing-System auf Diskette und Festplatte
  • Programmstart, Parameter, Aufruf von CU und Workbench, detaillierte Beschreibung des internen Aufbaus der CU-Befehle (Interne DOS-Bibliothek) Ein-/Ausgaben (Tastatur, Bildschirm, Diskette, parallele und serielle Schnittstelle)

UND GESCHRIEBEN HABEN DIESES BUCH:

Johannes Schemmel ist Hardware-Spezialist mit der Fähigkeit, Gesamtzusammenhänge verständlich darzustellen. Stefan Dittrich als 68000-Spezialist hat schon mit seinem Buch “Amiga Maschinensprache” dem interessierten AmigaAnwender gezeigt, welche Fähigkeiten in dem Rechner stecken. Ralf Gelfand ist ausgefuchster Amiga-Programmierer, der spätestens seit dem großen Floppy-Buch zum Amiga ein Begriff ist.

ISBN 3-89011-104-1

Apple Copland Reference Documentation

The Copland project was Apple’s ill-fated attempt in the mid 1990s to replace the aging classic Mac OS with a more modern operating system that had a microkernel, virtual memory and preemptive multitasking. Information on Copland is scarce, therefore I have compiled 20 hard to find Copland reference documents, as well as the 359 page book “Mac OS 8 Revealed”.

Note that Copland was supposed to be the next major OS release after System 7, so the while the first two beta releases D7E1 and D9 were called “Copland”, the final beta D11E4 was called “Mac OS 8″ everywhere. After the cancellation of the Copland project, Apple reused the term “Mac OS 8″ for a System 7 update.

Copland D9 (Copland Developer Release – Tools Edition)

November 1995

An Introduction to Copland. The Mac OS Foundation for the Next Generation of Personal Computers

Glossary of Copland Terminology. This Acrobat file contains the document “Glossary of Copland Terminology,” which defines many of the terms used throughout Copland developer documentation. Note, however, that the terms defined in this glossary are preliminary and subject to change.

The Copland Toolbox. This Acrobat file contains the two-chapter book The Copland Toolbox. The first chapter introduces the event-handling model and human interface elements supported by the Copland Toolbox, and it describes the programming concepts necessary to use the Toolbox in applications. This will help you plan frameworks and tools that take full advantage of Copland’s Toolbox features. The second chapter compares the System 7 Toolbox with the equivalent Copland managers and capabilities, and this chapter includes information on backward compatibility with System 7 applications and requirements for Copland-savvy applications. This is especially useful for helping you adapt your existing System 7-based frameworks to work in Copland.

Software Extensibility. This Acrobat file contains the document “Software Extensibility and the System Object Model (SOM),” which describes where and why Copland uses SOM classes, dynamically linked libraries, and other mechanisms to support extension and modification of system software, and how you can use these to add extensibility to your own software.

Intro to Kernel and OS Services. This Acrobat file contains the document “Introduction to Kernel and Operating System Services,” which provides conceptual information about how and when to use services provided by the microkernel and related portions of the Copland operating system. This document will help you plan frameworks and tools that take full advantage of Copland’s operating-system features.

Microkernel White Paper. Containing the document “Microkernel White Paper,” this file gives a conceptual overview of the Copland microkernel. This document discusses tasks, hardware and software interrupts, and privileged software execution; it describes address space management, including such topics as areas and memory reservations; and it describes messaging, such as how to use message objects, how to send and receive them, and how reply or cancel them. This version of the “Microkernel White Paper” differs only slightly from that delivered at the 1995 Worldwide Developer’s Conference.

Patch Manager. The document “Patch Manager” contained in this Acrobat files describes the new Copland mechanism for patching the Mac OS. This will help you plan how to create patch-type system extensions for your development environment and to produce code that creates or uses extensions that patch Copland. The Patch Manager defines an application programming interface (API) that enables software to patch the system in a consistent, more easily supported manner. This is the only documentation provided for this release of Copland that describes an application programming interface. Note, however, that as with the rest of this release, all of the Patch Manager’s programming interfaces are subject to change.

I/O Architecture. This Acrobat file contains the document “About the Copland I/O Architecture,” which provides an overview of the architecture and features of Copland’s new I/O system. This document will help you with any driver development that you might be planning for Copland, and will help you design or adapt software that writes to or otherwise directly manipulates devices. This document is identical to the chapter supplied in the Copland Technical Overview delivered at the 1995 Worldwide Developer’s Conference.

About the Copland file System. This Acrobat file contains the document “About the Copland file System,” which introduces the features of the new file system available with Copland. It describes the various components of the file system, including the file Manager, the Navigation Services API, and the file systems API. This document also describes how to get your program ready to use the new file Manager. finally, the Documentation for MPW folder contains information describing the Macintosh Programmer’s Workshop.

Copland Desktop. The Copland Desktop Picture is a very high quality version of the CD cover art. To use this as your desktop picture, place it on your Copland Drive. While running Copland, you can open the picture from the Appearance Control Panel.

Copland D11E4 (Mac OS 8 DDK 0.4)

June 1996 (WWDC)

This Inside Macintosh for Mac OS 8 Read Me provides a road map to the chapters within this folder, provides information on viewing the Acrobat files contained within this folder, and lists the methods you can use to give us your feedback on the Inside Macintosh documentation.

For an overview of new features supported by the Toolbox, such as human interface objects, panels, window groups, imaging objects, and themes, see the chapter “Introduction to the Mac OS 8 Toolbox” in Human Interface Toolbox. For reference information on human interface objects, see the chapter “HIObject Class Reference” in Human Interface Toolbox.

For an overview of how Apple events are used pervasively throughout Mac OS 8 by system services as well as other programs, see the chapters “Introduction to the Mac OS 8 Event Model” and “Event Model Reference” in Apple Events in Mac OS 8. For information on how Apple events are processed by the Toolbox, see “Toolbox Event Routing” and “Toolbox Events Reference” in Human Interface Toolbox.

For information on the Mac OS 8 File Manager, Navigation Services, and other file services, as well as reference information on the Mac OS 8 File Manager, see File Navigation and Access.

For information on the extensive support for text handling that enables you to develop your application for a worldwide market, such as support for Unicode, locales, and the use of text objects, see “Introduction to Text Handling and Internationalization” in Text Handling and Internationalization.

For information on the use of the System Object Model (SOM) in Mac OS 8, see Software Extensibility.

For information on creating resources that are new in Mac OS 8, see ResEdit 3.0 User’s Guide.

For an overview of the Mac OS 8 microkernel, including information on tasks, processes, scheduling, preemption, multithreading, allocation of memory, and other services, see the chapter “About Mac OS 8″ in Microkernel and Core System Services. See subsequent chapters in Microkernel and Core System Services for reference information on many of these topics.

For information on the Mac OS 8 I/O architecture, including information on families, plug-ins, and I/O services, see “About the I/O Architecture” in Modular I/O. For information on families for specific hardware devices, see subsequent chapters in Modular I/O.

For updated information on Open Transport, see Open Transport.

Please note that all presentations in this folder were created using Aldus Persuasion; an application we have not included on the DDK. (Displays Presentation, Keyboard Family Presentation, Mac OS 8 I/O Overview, OT General Presentation, OT Serial Presentation)

Tony Francis: Mac OS 8 Revealed

July 1996

With the next release of the Macintosh operating system, Apple will provide a state-of=the-art platform for developers to create new software products. At the core of Mac as 8 is a redesigned operating system foundation based on microkernel technology that will dramatically increase user productivity.

Author Tony Francis worked closely with the Mac as 8 engineering team to provide the inside story of the design and development of this innovative technology. The book describes the technical geography of Mac as 8 and illustrates how the system’s user benefits can be implemented in software and hardware products.

Written for developers, system administrators, and information systems professionals, Mac OS 8 Revealed explains the key technologies of Mac as 8:

  • How Mac as 8 exploits preemptive multitasking to perform many operations concurrently;
  • How the new memory protection model insulates the microkernel and other operating system services to provide system stability;
  • How to provide automatic, intelligent assistance to users;
  • How to allow the user to customize and scale the human interface.

The accompanying CD-ROM contains an electronic version of the book with animated illustrations that demonstrate the capabilities of Mac as 8. Simply click on a screen shot marked with a film strip in the book and see how a new feature in the operating system works.

Tony Francis has been with Apple for over 10 years as a lead writer on the Inside Macintosh team.

ISBN 0-201-47955-9

I publish these files for educational purposes, especially for all computer archeology enthusiasts like me. This data is copyrighted, but since the project has been canceled ~13 years ago, nobody should still care about it. If you disagree, contact me. Thanks to all the people who have worked on Copland and written these interesting documents!

Apple Lisa Operating System Reference Manual (PDF, 1983)

The Apple Lisa from 1983 was the first consumer-class computer with a graphical user interface and significantly more advanced than the 1984 Macintosh, which had a similar UI, but a comparatively primitive underlying OS. Here, I present a searchable PDF of the rare “Operating System Reference Manual for the Lisa” (1983), as well as a quick overview of the OS and how it compares to UNIX.


“Operating System Reference Manual for the Lisa” (1983)

(PDF, 188 pages, 6.2 MB)

The OS Reference Manual is actually volume 3 of 3 of the Lisa Pascal documentation. As the last page states, the book was typeset on a Lisa and printed on a dot matrix printer.

I also converted the typewriter-written draft version from lisa.sunder.net into a searchable PDF:


“Lisa Operating System Reference Manual” (Draft March 1982)

(PDF, 113 pages, 1.2 MB)

In its spirit, the Lisa Operating System resembles UNIX a lot, and its features and details were pretty much on par with UNIX systems from that time.

Scheduling: Executable files are statically linked with the Pascal runtime, and they make syscalls into the kernel. The system manages processes (with a single thread of execution) with their own address spaces that are cooperatively scheduled (255 levels of priorities). A syscall or a code segment switch can yield the CPU. Processes are managed in a tree, and the death of a parent will kill its children.

Memory Management: There is no paging, but segmented memory (up to 106 code segments and 16 data segments), and explicit swapping of code and data pages. It is possible to write protect data segments.

Inter-Process Communication: Two processes can communicate through shared files on the filesystem, named pipes, event channels (blocking or callback messaging with typed data) and shared data segments. Exceptions are delivered as events.

Filesystem: The filesystem supports 32 character filenames and allows all ASCII characters except for “-”, which is the path separator. A path can be up to 255 characters; absolute paths start with “-” (processes have a working directory). There are no enforced extensions, but the convention is to use extensions for file types. Volumes can be mounted and unmounted, and accessed at the top level by using their device name or their volume name, if they are mounted. The serial (RS232A/RS323B) and parallel (PARAPORT) ports, stdio (MAINCONSOLE) and /dev/null (BITBKT) are
like character-devices and also accessible at the top level that also provide an ioctl-like interface (DEVICE_CONTROL).

File access goes through open/read/write/close. A file is associated with cdate, mdate, adate, a delete protection flag and an up to 128 character label. Apart from regular files, there are pipes, disk-mapped data segments and event channel files.

For safety, the on-disk data structures are very redundant. Every block contains context data like a size, name, filesize, forward/backward link, inode and position in file. Directories (catalogs) and the “medium descriptor data file” are managed just like regular files.

Archimedes Operating System (PDF)


Van Someren, Alex, and Nic Van Someren.
Archimedes Operating System. A Dabhand guide.
Prestwich: Dabs Press, 1991.
ISBN 1-870336-48-8

(320 pages, 7.5 MB PDF)

For Archimedes users who take their computing seriously, this guide to the Operating System gives you a real insight into the micro’s inner workings. The book is applicable to any model of Archimedes whether running the Arthur or RISC OS Operating Systems.

The Relocatable Module system is one of the many areas covered — its format is explained, and the information necessary to enable you to write your own modules and applications is provided. This tutorial approach is repeated through the book.

The sound system is explained and the text includes much information never before published.

The discerning user will revel in the wealth of information covering many aspects of Arthur and RISC OS including:

  • The ARM Instruction Set
  • Writing Relocatable Modules
  • Writing Applications
  • VIDC, MEMC and IOC
  • Sound
  • The Voice Generator
  • SWIs
  • Vectors and Events
  • Command Line Interpreter
  • The FileSwitch Module
  • Floating Point Model
  • and much more…

    Throughout the book, programs are used to provide practical examples to use side by side with the text, which go to make this publication the table-side companion for all Archimedes users.

    Alex and Nic van Someren have both worked for Acorn Computers. Alex is a former Technical Editor of Acorn User magazine and author of numerous computer-related books.

    In my quest to preserve retrocomputing documents, here is a very interesting reference of the orginal Acorn RISC Machine (ARM) computing platform and the RISC OS Operating System. Thanks to Dominik Wagner for the book. As always, my scanned books come with a table of contents and are fully searchable.

    Inside Macintosh Volumes I, II, III (PDF)

    Here are all three volumes of the original 1985 edition of Inside Macintosh as a searchable PDF:


    Inside Macintosh Volumes I, II, III
    (1284 pages, 18 MB)

    Inside Macintosh consists of three volumes. Volume I begins with the following information of general interest:

    • a “road map” to the software and the rest of the documentation
    • the user interface guidelines
    • an introduction to memory management (the least you need to know, with a complete discussion following in Volume II)
    • some general information for assembly-language programmers

    It then describes the various parts of the User Interface Toolbox, the software in ROM that helps you implement the standard Macintosh user interface in your application. This is followed by descriptions of other, RAM-based software that’s similar in function to the User Interface Toolbox. (The software overview in the Road Map chapter gives further details.)

    Volume II describes the Operating System, the software in ROM that does basic tasks such as input and output, memory management, and interrupt handling. As in Volume I, some functionally similar RAM-based software is then described.

    Volume III discusses your program’s interface with the Finder and then describes the Macintosh 128K and 512K hardware. A comprehensive summary of all the software is provided, followed by some useful appendices and a glossary of all terms defined in Inside Macintosh.

    I have been told that there are several people in Apple’s operating system kernel team today that are younger than the original Macintosh, therefore I see this as act of preserving retrocomputing documents; the times when someone cared about the copyright of this must have long been gone.