LisaEm User's Guide
by Ray Arachelian
LisaEm User's Guide
The World's First Fully Functional Lisa EmulatorTM
Copyright (C) 2007, by Ray A. Arachelian
“Here's to the crazy ones, the misfits, the rebels, the troublemakers, the round pegs in the square holes... the ones
who see things differently -- they're not fond of rules... You can quote them, disagree with them, glorify or vilify
them, but the only thing you can't do is ignore them because they change things... they push the human race
forward, and while some may see them as the crazy ones, we see genius, because the ones who are crazy
enough to think that they can change the world, are the ones who do.”
- Steve Jobs
About LisaEm
About LisaEm
LisaEm emulates Apple Computer's Lisa 2/5 computer.
LisaEm is the world's first Lisa emulator project, started in late 1997, and it is the first to be
able to emulate enough of the Lisa hardware accurately enough so as to be run the Lisa
Office 7/7. While other emulators for the Lisa exist now, they do so because of the efforts of
this project.
LisaEm attempts not just to emulate the Lisa computer, but also provide as much of the
experience of using an actual Lisa and several of its peripherals.
LisaEm currently runs on the win32, OS X, and Linux platforms. It should run on any platform
where wxWidgets 2.8 will compile, possibly requiring some modifications.
LisaEm is built around James Ponder's Generator CPU core, which has been heavily
modified to fully support Lisa's memory management unit.
Historical Note:
The Apple Lisa was a machine of historical importance. Its design, while based on the Xerox
Alto, signifies the beginning of ubiquitous user friendly computing. The Lisa was a
revolutionary computer in many ways, itself building upon, and extending the ideas invented
at Xerox PARC.
While many believe that the Macintosh signifies the start of the user friendly computer
revolution, despite the infamous 1984 SuperBowl commercial, the Mac is actually the Lisa's
descendant, and includes software that was both built on and also used on the Lisa.
Macintosh computers include QuickDraw in their ROMs which was first designed on the Lisa.
Building software for the Mac required a Lisa due to the limitations of the original Mac.
The introduction of the Lisa also sparked the creation of Microsoft's Windows environment,
and modern user friendly computing, and the office suite.
Due to its limited run, and the destruction of many machines for tax benefits, actual Lisa
computers and parts tend to be rare to find in good working condition, and are expensive.
While component level parts are mostly available, there are many components that are no
longer available and cannot be replaced, except from other Lisas. (i.e. the COPS421
microcontroller, the CRT, etc.)
Because of this realization, and the Lisa's historical significance, I felt the need to build an
emulator for this machine to allow it to continue past the point where no actual Lisa's will still
This emulator was designed to both be open source and to use only open source
components, in order to ensure that it will be both available, and maintainable on future
machines. It was also built to be portable, so that it handle various types of host machines,
whether they run on big or little endian CPU's.
As various platforms evolve, no one can predict which will survive and which will go extinct.
With this in mind, I've chosen the wxWidgets framework as it allows me to write code for
multiple platforms, and easily port to others as they are available.
LisaEm is released under the terms of the GNU Public License 2.0.
This program is free software; you can redistribute it and/or modify it under the terms of the
GNU General Public License as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program;
if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. or visit:
LisaEm uses the libdc42 library, which was created for, and is a part of this project. libdc42
provides support for Disk Copy 4.2 disk images as well as DART disk images.
The routines for the LZH compression compatibility in libdc42 which provide DART support
are additionally subject to the following restrictions:
LZHUF.C (c)1989 by Haruyasu Yoshizaki, Haruhiko Okumura, and Kenji Rikitake.
All rights reserved. Permission granted for non-commercial use.
This project is not affiliated in any way with Apple Inc., and Apple Inc. retains all its
trade marks for itself, its products, and services.
All other trademarks or service-marks are property of their respective owners.
Host CPU and memory:
LisaEm needs a fairly fast machine. It provides decent performance on machines such as a
Intel PIII-750MHz with ample free memory. It is able to emulate a 5MHz Lisa on a 500MHz
G4 with 512MB of memory on Mac OS X 10.3.9.
LisaEm makes extensive use of memory as part of its operation in order to speed up its
operations. Its footprint has been noted to rise above 64MB on some environments
depending on the options used.
In particular, the virtual ImageWriter/ADMP printers tend to be memory hungry. It is highly
recommended to only configure a single printer. Each virtual printer requires at least 4MB as
a frame buffer, however, once the page is ready to printed or save, its requirements will
temporarily rise to 12MB.
Lisa Software and ROMs:
To use the emulator, you will optionally need an operating system such as Lisa Office System
or MacWorks. (At this time the Xenix Operating System does not yet run.)
Optionally, if you have a copy of the Lisa Boot ROM and/or the Dual Parallel ROM, you can
configure LisaEm to use them. If you do not have ROMs, the emulator will still work without
You will need to make disk images of the Lisa Operating System disks using the Disk Copy
4.2 or DART programs as the emulator cannot read the original diskettes. This is because
only classic 68k and early PowerPC Mac machines with GCR capable drives are able to read
the 400K floppies used by the Lisa.
Disk Images made from Disk Copy versions greater than 4.2 will not work. Disk Images
converted from DART to Disk Copy 4.2 by use of any program other than LisaFSH-Tool will
not work on real Lisa hardware, nor, LisaEm.
Software tools will eventually be provided to allow ROM extraction. Please read and follow
the documentation that comes with them.
NOTE: If your ROM version is 3A, you will only be able to run the MacWorks environment as
your Lisa has the screen modification kit for square pixels. Using the 3A ROM with LisaEm
will also disable the raw, anti-aliased, anti-aliased with gray replacement display modes.
If your ROM is version 3A, but you wish to run Lisa Office System, do not configure a ROM in
the preferences, and one will be simulated for you, without the screen modification.
Downloading and
building LisaEm
Downloading Binary and Source Versions:
LisaEm is available for download from
Pre-Compiled versions of LisaEm are available for Mac OS X (intel and PPC), win32, and
Ubuntu Linux. Note that due to the variation between Linux distributions, it is recommended
to compile your own version for your system from source.
Some Linux distributions may provide precompiled packages and binaries for their
distribution. If these are available, and you prefer to use them, use your distro's preferred
installation method (i.e. apt-get install or rpm -ihv and so forth.)
If LisaEm is not provided for your platform in binary form, you can compile your own version,
provided you have proper development environment/software including wxWidgets 2.8, the
GNU C compiler toolchain, the bash shell, the netpbm package, and other standard open
source tools available on most open source systems.
Compiling LisaEm for your system:
On Unix, BSD, and Macintosh systems:
You'll need to download, compile, and install wxWidgets 2.8.4 from
and the netpbm package for your system.
NOTE: For Macintosh, you'll need to edit wxWidgets as follows before compiling wxWidgets
or the graphics display by LisaEm may not work properly. For versions 1.0.0 and later of
LisaEm, this is no longer required, but may cause performance issues on some machines.
in your wxWidgets directory, edit the file include/wx/mac/carbon/chkconf.h
change the line with '#define wxMAC_USE_CORE_GRAPHICS 1'
(Many thanks to Brian Foley for finding this!)
On Microsoft Windows systems:
You'll need to install both Cygwin and the wxDev-Cpp 6.10-2 environment. Download wxDevCPP 6.10-2 from and install it in c:\wxDev-Cpp. Do NOT allow
the installer to install it underneath the C:\Program Files directory. The space between
“Program” and “Files” will cause issues that cannot be easily resolved with the build script.
wxDev-Cpp was chosen since it contains both wxWidgets and the MINGW gcc/g++ compiler
toolchain, however, Cygwin and its netpbm package are required for the build script.
The Cygwin environment can be downloaded from When you install
Cygwin, be sure to enable the netpbm graphical tools. The bash shell should be installed by
default, but you should check to make sure that it is enabled.
Building LisaEm:
From your OS's shell or terminal program (use cygwin on win32), run the following
bzip2 -cd lisaem-1.2.5 | tar xvf cd lisaem-1.2.5
./ clean build
sudo ./ install
Extract the archive
enter the directory
build the software
optionally install it.
On win32, remove the sudo command. Just issue ./ install by itself.
Additional options can be found by running ./ –help.
On Mac OS X systems, the –with-rawbitmap option is automatically enabled. On other
platforms, it is disabled, as the rawbitmap options causes win32 to crash, and Linux to display
a black screen.
On Windows, the install command will install LisaEm to C:\Program Files\Sunder.NET\LisaEm
On Unix Systems, except for OS X, it will install the binaries to /usr/local/bin, and resources to
On Mac OS X, it will install the binary to /Applications/, which will not be a
universal binary. If you wish to build a universal binary, you'll have to repeat the build process
on the alternate architecture, and use the lipo command to merge the binaries together. The
lisafsh-tool and lisadiskinfo command line tools willl be installed to /usr/local/bin.
The –with-rawbitmap option enables the use of the undocumented rawbmp.h wxWidgets
interface. This allows very fast access to the individual RGB colors in a wxBitmap, so it
allows for fast display refreshes. When this option isn't available (any platform other than OS
X for the current version), an alternate method is used.
The alternate method uses a wxImage, and the SetRGB method to achieve what rawbmp.h
does, with a small slowdown induced by the conversion of the wxImage to a wxBitmap since
wxImages cannot be directly Blitted to the display. This is the display method used on Linux,
and Windows currently.
Extra debugging options are provided on OS X and Linux via the use of the –with-debug and
–with-tracelog options. When used together, these enable a new menu option called Trace
Log. This option is a boolean, that is when enabled, it logs every executed opcode as well as
any I/O, and memory accesses including MMU translations, and I/O timer events (IRQ's).
Trace logs generate very large logs at the rate of megabytes for every second of runtime.
This option is intended to help the reverse engineering of operating systems running on the
Lisa, and also the debugging of the emulator. It is not intended for end users, and will not be
discussed further in this document.
If you are unfamiliar with the Apple Lisa computer, reading the LisaFAQ is highly
recommended. see: as it also contains pointers to other Lisa
information such as operation manuals and guides.
The following software has been reported to work under various versions of the emulator:
Lisa Office System 3.x
Lisa Pascal Workshop 3.x
MacWorks XL
MacWorks Plus
LisaTest (video timing test fails, the VIA tests pass internally, but lock up LisaTest.)
The focus of this project is to provide emulation for the Lisa Office System, so the other
environments may not be fully functional. This may vary from release to release.
NOTE: The current versions of LisaEm has bugs preventing the use of MacWorks! The
2007.01.28 Preview version of LisaEm is the only one that works with MacWorks!
The following hardware is emulated by the emulator:
Parallel Ports (including the dual parallel card.)
Serial Ports
Profile hard drives (5M, 10M under LOS/LPW, other sizes under MacWorks.)
ImageWriter I printer (serial port connection)
Apple Dot Matrix Printer (ImageWriter on a parallel port connection)
The following software does not (yet) work under the emulator:
Microsoft/SCO Xenix 3.0
The following Lisa hardware is not emulated by LisaEm, and will likely not be supported in
the future due to lack of technical documentation and access to actual hardware for reverse
Inkjet/Laser printers
SCSI/Priam hard drives
Quad port serial card
Priam hard drive
Configuring LisaEm
The screenshots in this documentation come from the Mac OS X version. Your display may
vary from these. The screenshots come from various different versions of LisaEm, and
because of this, the coloring will vary slightly.
If you have a copy of the Lisa Boot ROM that you wish to use, tell the emulator where to find
it. To do this, open the Preferences dialog box which can be found under the File Menu,
except on Mac OS X, where it can be found under the LisaEm menu.
The Preferences Dialog box:
The Preferences dialog box allows you to configure the emulator's settings.
Once you are happy with your changes, press the Apply button which will save them and
dismiss the Preferences dialog. If you close the window, your changes will not be saved.
Note that your changes will take effect the next time you power on the emulator.
The Lisa Boot ROM
With version 1.2.0 and later, Lisa Boot ROMs are not required. The emulator will work
without a boot ROM. If you happen to have a proper boot ROM, you should use it, except if it
happens to be the 3A ROM and you wish to run something other than MacWorks. In that
case, you should run LisaEm ROMless.
The emulator can support several formats for the Lisa boot ROM. If you have extracted the
ROMs from your Lisa's CPU board and read them in with a ROM dumper, you should save
them as booth.lo and booth.hi. The naming of these files are important if you're using the
split ROM. These are labeled 341-0175-H and 341-0176-H for the H version of the ROM.
The Lisa's ROM are split into odd/even bytes which the emulator will stitch together into a
single file for you in the same location as the booth.hi or booth.lo files and change its
preferences to point to the merged ROM file.
The emulator will run the same checksum routine that the Power On Self Test (POST) uses to
check the ROM. Should it notice a problem with the checksum it will alert you and offer the
option to continue anyway.
NOTE: Corrupted, or improperly merged ROM files will cause the emulator to crash. The
same is true of defective software run under MacWorks or other environments; should
LisaEm attempt to execute opcode sequences that are not handled by the Generator core,
LisaEm may unexpectedly quit.
The Lisa Boot ROM has a diagnostic mode called Service Mode which can be reached by
attempting to boot from a non-existant drive, and then sending Command-S. You can use the
Key menu to send this command and enter this mode. (This is unavailable when ROMless.)
If you are an expert on your host machine's operating system, you can directly edit the path in
the text field under the Lisa ROM entry in the Preferences dialog box under the config tab,
otherwise you should click on the browse button and use the file picker to select the ROM
NOTE: both the ROMs and operating systems used on the Lisa are copyrighted and
subject to license restrictions. Please use only the ROMs and operating systems
which are licensed for your own Lisas.
Please do not ask me to provide copies of the ROMs or other Lisa software. I prefer
not to break Apple's copyright.
If you do not own a Lisa, and wish to legally obtain a copy of the ROM, you'll need to either
own a real Lisa, or buy a Lisa CPU board and extract the ROM yourself.
If you need Lisa Office System, you'll sometimes find eBay sellers offering an Apple CD titled
“Service Source” which contains legal disk images of the Lisa Office System in DART format.
At various times, you may find actual Lisa Office System diskettes available for sale, which
may or may not work due to the age of the actual media.
The Dual Parallel Card ROM
One of the more popular expansion cards for the Lisa was the Dual Parallel Card. This card
allowed Lisa users to expand the Lisa's storage by adding extra ProFile hard drives and also
allowed connections to the Apple Dot Matrix Printer.
If you have this card on your Lisa and dumped its ROM, point the emulator at its ROM file.
(You do not actually need this ROM to make use of of the dual parallel card emulation.)
If you are an expert user user of your host operating system, you can directly type the file
path to the Dual Parallel Card ROM file into the text field, otherwise press the browse button
to use your operating system's file picker and select the ROM file.
The tab for slot 2 shows an enabled dual parallel port card with a ProFile hard drive attached
to the upper port and an ADMP printer on the lower port:
Running ROMless
As of version 1.2.0, LisaEm no longer requires the Lisa Boot ROM in order to start an
operating system, such as the Lisa Office System. If you do not have a proper boot ROM file,
simply leave the Lisa ROM field underneath the config tab of Preferences empty.
If you use a file that cannot be found, or have no access to as a boot ROM, LisaEm will run
ROMless, and present the ROMless Boot dialog below.
If you pick an invalid or corrupted file, LisaEm may crash if you attempt to power it on!
When you attempt to power on the virtual Lisa, you'll see the following dialog box:
You can now boot from the Floppy drive, or the ProFile hard drive on the Parallel Port.
Booting from a floppy image:
If you've selected the floppy drive, and a floppy has been inserted into the Floppy drive before
attempting to power on the virtual Lisa, LisaEm will boot from it. Otherwise, a dialog box will
appear asking for a floppy disk image to boot from. You will of course only be able to boot
from valid bootable Lisa disk images such as the Lisa Office System 1 diskette.
Booting from the ProFile hard drive:
You will be able to boot from a Profile if the virtual Lisa has been configured, and has the
Parallel Port under the ports tab of Preferences set to Profile, and the Profile disk image it
points to has a valid OS installed.
Booting from Profile drives attached to expansion port slots is not possible when running
ROMless. To do that, you would need both the Lisa Boot ROM and the Dual Parallel ROM.
Danger: Do not mix the ROMless and ROMed modes with existing Lisa Operating Systems.
This may lead to troubling issues such as the 10738 OS error. Install LOS ROMless if you
want to run ROMless. To be safe, always keep backups of all your disk and Profile images.
The Dual Parallel Card in ROMless Mode
Note that you cannot boot from Profile drives attached to expansion port slots when running
ROMless. To do that, you would need both the Lisa Boot ROM and the Dual Parallel ROM.
Even if you have the Lisa Boot ROM, if you do not have an actual Dual Parallel Card ROM,
LisaEm will not allow you to boot from ProFile drive images attached to virtual dual parallel
boards on expansion slots. If you need to boot from such ProFile images, you'll need both
the Lisa Boot ROM and a dump of the Dual Parallel Card ROM.
With LisaEm 1.2.0 and later, the Dual Parallel Card ROM is simulated internally by the
emulator. Since there's no actual boot code for this, real Lisa Boot ROMs are prevented from
seeing any configured dual parallel port cards as bootable, so their icons will not show up.
However, once an Operating System, such as Lisa Office System is booted up, LisaEm will
allow that Operating system to see the configured dual paralel port cards. You will still need
to tell Lisa Office System which expansion port slots have dual parallel cards, and what
devices are attached to those before using them.
Notes on Dual Parallel Cards and Lisa Office System
Whether you run ROMless or ROMed, LOS (Lisa Office System) and LPW (Lisa Pascal
Workshop) are very sensitive to configuration changes. These operating systems are by no
means “plug and play.” If you make too many changes simultaneously, you'll find that they
will no longer boot and return an error such as 10737 or 10738.
Before adding any new blank ProFile hard drives to LisaEm, you should make good
backups of your existing ProFile drives and PRAM, incase you find yourself unable to
boot. If this happens and you don't have backups, you''ll have to reinstall the OS!
The Lisa Owner's Guide (page D39 for the Lisa 1 Owner's Guide, Page 79 for the Lisa 2
Owner's Guide) and the Lisa Office System Guide for 3.1 (page 177) mentions the proper
procedure for adding new drives. In terms of LisaEm, this means that you would enable one
of the expansion slots to with a Dual Parallel Port card, most preferably the lower port on slot
2, and configure the port for a ProFile drive, then create an appropriately sized Profile disk
Note: only the 5MB and 10MB sizes are recognized by Lisa Office System and Workshop. If
you pick any other size, LOS/LPW will only see the first 5MB of the drive!
While LisaEm will support upto 7 ProFile hard drives in a virtual Lisa, limitations in LOS and
LPW will prevent you from using that many. Indeed, if you try, you may find yourself unable to
boot your virtual Lisa at all, and receive error 10737 or 10378!
Once you've configured LisaEm, start up Lisa Office System, and open the Preferences icon.
Select the expansion slot that you've attached the new ProFile to, and select ProFile. You'll
probably be asked to restart Lisa Office System before the new ProFile disk will be
recognized. A quick way to do this is to select the Apple-Power item from the key menu,
which will bring up the Environments Window. You can then reboot Lisa Office System,
which should not see the new drive, and you'll be able to initialize it as a new hard drive.
The Lisa Serial Number:
To properly make use of existing Lisa Office System disks in the emulator, you'll have to use
the same serial number on LisaEm as on your real Lisa, otherwise the Lisa tools will fail to
install. LisaEm will offer you the option of deserializing both Office System installation disks
and Tool disks, if you do not wish to go through this task.
On your real Lisa, enter Service Mode by attempting to boot off a non existent drive, such as
a powered off profile, or from the floppy drive without an actual disk in the drive, then press
the Apple-S key.
Next, click on the 1 in the Options menu, or press 1 on the keyboard. You'll be asked for
address, enter 240. You'll be asked for count, enter 20. You'll see something similar to the
display below:
Copy the hex numbers above from the service mode hex dump display into the Lisa Serial
Number field under the config tab of Preferences, omitting every alternate zero starting with
the first one. This is your Lisa's serial number. Please double check this number as your Lisa
Office Software will not work if it doesn't match.
For example, the leading 0f0f 0002 becomes ff02 in the serial number, the next two numbers
0803 0008 becomes 8308, 0100 0400 becomes 1040, 0500 0f0f becomes 50ff, and so on.
In the above example, the actual Serial Number for this Lisa is 0405, and this is be used to
serialize LOS installation diskettes as well as the Office System Tools (i.e. LisaWrite.)
The other numbers contain information about when the Lisa was built, the AppleNet ID
number, and various checksums and sync bytes. Pressing the info button will reveal the
details stored in the serial number:
See David T. Craig's Lisa Tool Deserialization papers for further details.
The I/O ROM version:
The Lisa emulator does not actually use the I/O ROM itself, all it needs is the ROM version to
report it to the running operating system.
The I/O ROM version most commonly used in the Lisa 2/5 is A8. Version 88 is for the Lisa
2/10. The emulator does not support Widget drives, so you should stick to A8. Versions 88,
89, A9 are meant to be used with Xenix to fool it into using the right sized drive. Version 40 is
used for the Lisa 1, however the emulator does not emulate enough of a Lisa 1 to be useful
The Keyboard Language:
The Lisa automatically detects the type of keyboard attached and switches its language
based on this selection. The emulator provides this as an option for US English, British
English, French of German. Other languages may have existed, if you happen to know the
keyboard IDs for them, please contact me and I'll add them to the emulator. The emulator
itself has not been internationalized. If you wish to help in this task, please contact me.
The Extra options:
Sound Effects: Enables playback of sound effects such as the power switch clicks, floppy
insertion, eject, motor, and the power off click.
Skins: Enables or disables the Lisa skin. This provides for animations of power on, power
off, floppies being inserted or ejected at the cost of a larger memory footprint. It is intended
for machines with lots of memory and large displays. Same as the item in the Display menu.
Boot ROM speedup hacks: this option enables patches (also known as cheats in the
emulator world) that speed up the Boot ROM. Specifically they disable the long memory
tests, checksums and other tests to provide a quicker startup. If you have the Dual Parallel
port ROM, this option will skip the lengthy Power On Self test for this card. This is not
applicable when running in ROMless mode.
The Parameter RAM is a battery backed up configuration memory on a real Lisa. this is
stored in the LisaEm Preferences. Sometimes it is necessary to Zap the PRAM to fix a
problem. These options let you save, load, or Zap the PRAM. These options should be used
as a last resort (except the Save which you should do often as a form of backup.)
Save: Saves the PRAM to a file. Do this often to keep backups of the PRAM.
Load: Loads the PRAM settings from a previously saved file, erasing the current
settings, and replacing them with with those stored in a backup.
Zap: Zeroes out the PRAM allow the Lisa Boot ROM and whatever Operating
System is installed on the Lisa to restore it from its own configuration, or to the
The ports tab:
Serial Ports:
The ports tab allows you to configure LisaEm's connections. At the top are serial ports A, and
B. These can be connected to nothing, a loopback plug, an OS pipe, a file, an ImageWriter
printer, or on some systems (linux, or OS X) can run a telnet daemon.
The loopback plug connects both serial ports together. If you select this plug on either port,
both will be connected.
For file, the file will be connected to either an actual file, which will be read, or to a device,
such as /dev/ttya.
Pipe is used to run an external program using the unix popen() call.
If you select the telnetd, provide a port number to listen to. For example 9300. The Lisa
emulator will then listen on You can then telnet to this port from another
terminal window on the same machine and communicate with LisaTerm or ZTerm for
Note: misconfigured Pipe, Telnet, and File modes may cause LisaEm to crash!
The Imagewriter option allows you to connect a printer to one of the serial ports, using the
settings from the printer tab.
The Parallel Port:
The Parallel Port is mainly used to attach a ProFile hard drive. It can also be used to attach
an ADMP printer, however, it is preferable to attach an ImageWriter to a serial port if you do
not have a dual parallel card ROM, otherwise to one of the ports on the dual parallel card.
You should select the Profile option, then click on the browse button to save the location for a
profile drive, or to select an existing profile drive image.
The first time you power on the emulator you will be asked for the size of the profile drive to
create. A 10M image is optimal.
The Profile hard drive format used by LisaEm is the same format as the Disk Copy 4.2, but
with an interleave of 5 to match what Lisa Office System uses. You will not be able to do
anything with the virtual ProFile disk images in the actual Disk Copy program. These are only
useful to LisaEm and the LisaFSH-Tool.
I reused the floppy drive code because it was a convenient storage format for disk images
and it can also be used with lisafsh-tool.
Profile hard drive creation:
The first time you power on the emulator, if a specified virtual profile disk image file does not
exist, you will be asked what size drive to create. Note that only the 5MB and 10MB Profiles
will work with the Lisa Office System.
If you use any other size, only the first 5MB will be used, wasting the rest of the space.
Xenix, which is even more finicky, only supports 5MB and 10MB Profiles, but decides on their
size based on the I/O ROM version! (Xenix doesn't currently run in LisaEm.)
The newly created drive will not be bootable as no Lisa Operating System has been installed
on it yet. Should you attempt to boot from it, the Lisa ROM will throw error #84, or #85:
You will need to install a Lisa compatible operating system such as Lisa Office System 3.1 on
the newly created virtual Profile drive before you'll be able to boot from it.
The print tab:
The print tab in the Preferences dialog box allows you to set the ImageWriter/ADMP's DIP
switches. The defaults for the Lisa are automatically selected:
The Print to Images check box allows you to redirect printouts to image files. Depending on
how wxWidgets or the availability of image libraries in your operating system these may be
saved as PNG's, TIF's or BMP's. The text field allows you to chose a directory to save the
printouts in. The browse button will allow you to select this directory. If the check box isn't
selected, printouts will go to the host OS's printing system.
Printing is page oriented, so it is difficult for the emulator to tell apart one print job from
This may cause several printed documents to be batched together. For most systems this will
be just fine, however if you are printing to a file on your host OS such as PostScript or PDF,
you may have issues.
Because of this, there is a Flush Printer jobs menu item under the File menu. Use this
option between print jobs to separate them, or if you wait a few seconds (10 emulated
seconds with no printer activity), LisaEm will detect that printing has stopped, and
automatically close the print job.
Running the emulator for the first time
Once you have properly configured the emulator's preferences, you should press the Apply
button to save your preferences. The Preferences dialog box will then be dismissed. If you
forget this step, or wish to discard the changes you've just made, and close the Preferences
window using the X button, you will lose your changes.
When you are ready, you can power on the virtual Lisa. There are several ways to do this.
You can use the File menu's Run command, or the key menu's Power command.
If you are running with the skins enabled, you can actually press the power button located
underneath the floppy drive. If your display isn't large enough, you will have to scroll down
and to the right of the Lisa photo to see it.
The Lisa will then power on, and if your ROM file is good, it will go through the self tests. If
the ROM file is bad, it may cause the emulator to crash. If you're running ROMless you'll be
ask what device to boot from.
You may see a hard drive error 84 or 85 since you are running with a blank profile hard drive.
This is normal. If you get this error, boot from a valid Lisa Installation floppy.
Inserting a micro-diskette:
In Lisa speak, 3.5” 400K SS/DS floppies were called 'micro-diskettes'. The emulator uses
virtual disk images of these, preferably in the Disk Copy 4.2 format.
If you wish to install the Lisa Office System, you should now insert the disk called "Lisa Office
System 1/5" into the virtual floppy drive. You can do this using the File menu's Insert diskette
command. Continue following the instructions in the Installing Lisa Office System chapter.
If you are running with skins, you can simply click on the floppy drive.
A file picker dialog box will appear allowing you to browse to the Disk Copy 4.2 or DART
image file.
Note that DART images will take longer to open. This is because they will be converted to
Disk Copy 4.2 format since that is the emulator's preferred disk image format. Consequently
you shouldn't place disk images on read only media such as CDROM's DVD-ROM's or file
servers where you only have remote access.
DART image support is experimental and might not always work. It has worked with the disk
images we have tried, both the fast RLE and the higher LZH compressed versions, but there
are no guarantees that it will work with every image.
Always use Disk Copy 4.2 to image Lisa diskettes. Using newer versions of Disk Copy will
result in non-functional disk images as vital data called tags will be stripped off!
Tags were not used very often by Macintosh software so their use is deprecated, however the
Lisa requires them in order to know that floppies are bootable.
Lisa Office System uses tags to allow repairs to be made using a program called the
scavenger. You can invoke this by booting from the Lisa Office System 1 Installer disk, or by
using the Repair command under the Housekeeping menu of Lisa Office System.
Installing the
Lisa Office
Installing the Lisa Office System:
Once the Lisa self tests are done, you'll see the boot menu:
(If you're running ROMless, you'll see the ROMless Boot dialog instead. Pick the Floppy
Diskette option, and you'll be prompted for a Floppy Disk Image to boot from.)
Insert the microdiskette labeled Lisa Office System 1, by using the File menu item named
Insert Diskette. Alternatively, if you have skins enabled, click on the picture of the floppy
You may need to pull down the Enable menu to select All, Disk Copy 4.2, or DART
depending on the type and name of the disk images you have. On some host OS's, such as
Linux with GTK and some versions of OS X, you may have to click on a triangle button to get
the dialog box to fully open.
Select the Lisa Office System 1 of 5 disk image from the file picker dialog box.
The LOS installation disk will now boot. In a few seconds you'll see the LOS splash screen.
Once the Lisa Office System installer has loaded, you'll see the installation menu as depicted
above. Press the Install button at this screen to start the installation process.
The Installer will now search for a ProFile hard drive to install The Lisa Office System onto.
Ideally this should be the profile attached to the parallel port.
Press the OK button to allow the installer to use this Profile.
Click on the Don't Share button. If you would like to also use MacWorks, or another
environment, you should create another Preferences file with its own profile drive instead.
Sharing the drive results in limited space, which will cause space issues on a 5MB profile,
preventing Lisa Office System from functioning when all of the tools are installed.
The installer will now erase the profile. If you had used a Profile disk image which had
previous data, you would be asked to confirm if you are sure that you wish to erase the disk.
After a few minutes, the Lisa Installer will begin to copy itself to the ProFile hard drive.
Once the disk is copied, the installer will then eject Lisa Office System 1/5 and ask for the
next disk, disk 2. You do not have to press the Continue button as the installer will recognize
that a floppy has been inserted and will be able to tell if it is the disk it wanted.
You'll repeat this process until LOS is fully installed.
At the end of the installation process, it will ask for the first disk again. You must insert the
same disk image you first booted from in order to complete the install. If you are given an
option to deserialize Disk 1, say No at this time as this may cause the installation to fail.
You'll soon be returned to the main menu. Since you're done installing, click on the Finished
Select Start Up in order to boot from the freshly installed Lisa Office System on the profile.
Lisa Office System has now been installed. If you are returned to the Power On boot menu,
click on the Profile icon. Lisa Office System will then boot.
Instaling the Lisa Office System Applications (also known as tools):
Once you see the Office System Desktop, you'll want to install some of the applications,
which in Lisa speak are known as tools.
Next, insert one of the tool (Application) disketters such as LisaCalc. It's icon will show on the
Lisa desktop.
The disk will show up on the Lisa Office System desktop. Double click on it to open it, or use
the File/Print menu Open option (inside the virtual Lisa)
With the Lisa Calc window open, pull down the Edit menu and select the "Select all Icons"
item. (Alternatively, you could use the mouse to drag a square around the icons.)
This will highlight, the icons so that you can duplicate them to the virtual hard drive.
Do not drag the icons to the hard drive, as this will move them – that is erase them from the
floppy once they're copied to the profile hard drive.
Instead, once the files are highlighted, pull down the File/Print menu and select the
Duplicate item. The selected icons will form “blinking shadows” underneath them.
Drag these blinking “shadows” to the hard drive window or its icon, to start copying them.
The Lisa desktop will now copy the files.
Note that Lisa tools are serialized: the first time they are used, the Lisa's serial number is
written on them to prevent them from being installed on any other Lisa. You should have
backup disk images made if you are using original Lisa disks before continuing.
You'll be asked if this is what you want. Press Copy to allow the tool to be installed. The
Lisa will write its serial number to the tool and copy it to the profile hard drive. Note that next
time you insert this floppy LisaEm will offer the option to deserialize the tool. :-)
Once the copy completes, you can eject the LisaCalc disk by pulling down the Housekeeping
menu and selecting the Eject Micro Diskette option. Repeat the installation process with the
remaining Lisa tools (applications.)
Note that LisaWrite's dictionary file is actually split across onto the second disk and lives on
both disks. Don't try to copy it along with the other files, instead once LisaWrite and the
examples are copied across, duplicate just the dictionary. You'll see this dialog box during the
Once the first portion of the dictionary is copied, the diskette will eject, and you'll be prompted
to insert the second diskette.
Once the copy is completed, you can eject the diskette.
NOTE: Be sure to press the power key before quitting the emulator so that you do not corrupt
the file system on the virtual profile hard drive. You can do this by using the Power option
under the Key menu, or if you have skins turned on, by clicking on the power button, which is
located underneath the diskette drive, next to the keyboard jack. (Scroll the display
downwards and to the right if your host machine's monitor cannot show the entire skin.)
Congratulations, you've successfully installed the Lisa Office System and Tools!
You can now party, like it's 1983. :-)
Installing the
MacWorks XL
NOTE: The current version of LisaEm has bugs preventing the use of MacWorks! Presently,
the 2007.01.28 Preview version of LisaEm is the only one that works with MacWorks!
MacWorks, MacWorks XL, MacWorks Plus aren't real emulators, but rather they are closer to
a virtualization program that allow the Lisa to run early Mac OS software.
MacWorks consists of two diskettes. A boot diskette containing MacWorks itself named
MacWorks Boot, and a copy of the Macintosh System named MacWorks System.
The first thing to do if you've already installed the Lisa Office System is to save your
preferences with a new name. If you've already configured the Preferences for Lisa Office
System, Save the current settings as "Lisa Office System.lisaem" so that you can return back
to Lisa Office System later.
Next, save the preferences once more as "MacWorks.lisaem"
Then go back to the Preferences dialog box, click on the ports tab and change the profile
drive file name. Once the name is changed, press Apply. You're now ready to install
MacWorks is best viewed in the "Raw" display mode, since it will provide the square pixels
needed by MacWorks. If you would like to experience the non-square pixels that the Lisa had
without the screen modification kit, leave the Display setting to AntiAliased.
Once you power on the virtual Lisa, you will be prompted for the size of the profile drive you
wish to create since this is a new drive. With MacWorks, you can chose any of the sizes
Once the Power On Self Test completes, you may see an error 84 because it is still a blank
hard drive. Insert the disk image named "MacWorks XL" and boot from the Floppy drive.
In a few seconds, the display will clear, the floppy will be ejected and you'll see this:
Insert the diskette image named “MacWorks System.” This contains the Macintosh operating
You'll see the usual Happy Mac icon, followed by the MacWorks splash screen
Once it boots up, open up the MacWorks System Disk and run the application titled Hard Disk
Install. Either double click on the icon, or use the File menu's Open item to launch it.
Since this is a fresh hard drive, HD Install will say its not readable. Click on the Erase button.
If you have Lisa Office System or Pascal Workshop installed, you'll be asked if you'd like to
share this disk instead.
HD Install is now formatting the virtual Profile hard drive for MacWorks, by erasing all the
sectors on it, and installing the MFS file system.
When it is done erasing the disk, it will display the above dialog box. Press Ok to continue.
Next, Insert the MacWorks XL diskette when prompted.
HD Install is now copying the MacWorks software to your profile hard drive.
After the copy completes, the MacWorks XL disk will be ejected, and you'll then be prompted
to re-insert the System diskette.
Next, name your profile hard drive. This is the name that will show up on the Desktop.
IMPORTANT: The install is complete, but you must copy the system
folder to the hard drive, otherwise attempting to boot from it will cause
a Sad Mac error, from which you'll not be able to recover except by
throwing away the Profile hard drive image and starting over!
Use the mouse to drag System folder icon to the Profile hard drive. This will copy the System
Folder to the hard drive, preventing the Sad Mac error!
The Finder is now copying the System Folder to the Profile hard drive.
Once it's done copying, you can use the Special menu item Shutdown to power off your
virtual Lisa.
Whenever you want to boot up MacWorks, you'll still need to first boot from the MacWorks XL
boot floppy, however, once loaded it will see that the ProFile has MacWorks installed and it
will boot Mac OS from it from that point.
If you attempt to boot from the Profile directly, you'll get error #75.
Congratulations, MacWorks is now installed.
Managing Multiple LisaEm
Preferences files
Managing multiple preferences files
The emulator allows you to manage multiple preferences files, each one representing a
separate virtual Lisa. You can have a Lisa with the Lisa Office System, another with
MacWorks, another with the Lisa Pascal Workshop and so on.
You should save the current preferences with a descriptive name indicating what was installed
on the Lisa. i.e. “Lisa Office System.lisaem”, “Lisa Pascal Workshop.lisaem”, or “MacWorks
XL 3.0.lisaem”
Then, when, you are ready to create a new virtual Lisa, save the preferences with a new
name indicating the new configuration, and then change that configuration using the
Preferences menu item.
Click Apply in the Preferences window to save your settings. You may then start installing the
new environment
When you wish to switch configurations, use the File menu Open Preferences item to load a
new preferences file. The settings will take effect when you power on the virtual Lisa.
If you are switching between preference files, you should only do so while the virtual Lisa is
powered off.
In future versions, you will be able to double click on the preferences file to automatically load
them at start up. (If you're running on Linux, or windows you can pass the preferences file
name on the command line to LisaEm when launching, and it will open them for you.)
The idea here is that you can store the LisaEm preferences in either a folder, or on your
desktop, then double click on whichever virtual Lisa you wish to work with.
The LisaEm
The File Menu:
Open Preferences: Loads a preferences file
Save Preferences As: Saves the current preferences to a new file.
Preferences: Brings up the Preferences dialog. (Under LisaEm menu on OS X)
Run: Equivalent to the Key menu Power item. Used to turn the virtual Lisa on or off.
Pause: Pauses emulation
Insert diskette: Inserts a DiskCopy 4.2 or DART image into the Lisa's floppy drive. DART
images are converted to dc4.2. The media that the images reside on must be writeable!
Insert blank diskette: Creates a blank Disk Copy 4.2 image, and then inserts it into the Lisa.
Create new Profile image: Creates a new blank Profile hard disk image file.
Screenshot: Save a screenshot of the display. Only the screen is saved. You'll get exactly
what the screen shows.
Full Screenshot: Same as screenshot, but will also include skins if they are turned on.
Raw Screenshot: saves a screenshot, without aspect ratio correction, anti aliasing or gray
Flush Print Jobs: Closes the current print job. Useful when printing to PDF files.
Quit LisaEm: Exits the emulator (even if it's running! Power off before using!) On OS X, this
item is under the LisaEm menu, on other host systems, it's under the File menu.
The Edit Menu:
Paste: Paste the clipboard text into the emulator's keyboard.
The Key Menu:
Power Button: Pushes the power key. Equivalent to the File Menu Run command, or
clicking on the skin's power button.
Apple + Power Button: Pushes the power key while the Apple key is down. This is useful
while Lisa Office System is running as it will allow you to enter the Environments window so
that you can reboot your Lisa without powering it off.
Apple {key}: Sends the Apple-key combination.
NMI Key: Sends a Non Maskable Interrupt key. This is used to enter LisaBug.
ASCII Keyboard: Does keystroke translation in ASCII between the host and the Lisa. Use
this for normal operations.
Raw Keyboard: Directly maps keystrokes from the host computer to the Lisa.
Raw Buffered Keyboard: same as above, but, buffer keystrokes to prevent unwanted
repeats when the CPU throttle is set to higher than 5MHz.
The Display Menu:
Anti Aliased: This is the normal mode you should use with the Lisa Office System. This
corrects the square pixel issues and uses anti-aliasing to fix most artifacts.
Anti Aliased with Gray Replacement: As above, but attempts to replace the 50% desktop
gray patterns with an actual gray color. The side effect is that some text will become fuzzy.
Raw: Uncorrected square pixel display. Will show an incorrect aspect ratio. This is the right
mode to use with MacWorks.
Double Y: Same as Raw mode, only will double the vertical size.
Doube X, Tripple Y: This mode is for giant displays. It corrects the square pixel problem by
stretching the display.
Note: the 3A ROM will disable all of the display mode menu items, and enter it's own mode.
Turn Skins On/Off: Turns on the Lisa Skins. Skins On is the default, however, it should not
be used with host systems that are low on memory, nor with small displays such as notebook
Hide Host Mouse Pointer: Hides the host OS mouse pointer when it hovers over the Lisa
screen. Recommended for fast host machines. When this is unchecked, you'll see two
mouse cursors, one from the emulated Lisa, and another, either a crosshair or a small square
mouse cursor for the host operating system when the mouse is over the Lisa's screen.
The Throttle Menu:
The top part of this menu sets the throttle speed
attempting to limit the emulator's CPU usage. Normaly at
5MHz. Slower machines will not be able to reach 32MHz.
Even fast machines might not reach 32MHz depending on
the CPU balancing options on the bottom part of the
The bottom part of the Throttle menu allows you to tell the
emulator how much time to give to the emulated 68000
CPU versus time spent on drawing the display and other
I/O. If you want smoother mouse movements use the last
On old machines, I've found that setting the CPU to 16MHz, the Display refresh rate to 8Hz,
and selecting the “Smoothest display, lowest 68000 Performance” option allows for a more
responsive emulator.
The Parallel Port Menu:
This menu allows you to switch power on individual ProFile hard drives, and ADMP printers,
or all parallel port attached devices simultaneously.
Temporarily switching power off to ProFile drives can be useful when you wish to boot from
floppy in order to perform repairs.
Temporarily switching power off to ADMP printers can be useful when you wish to cancel print
The Help Menu:
The help menu provides links to the LisaEm project webpage. Future versions may include a
help browser.
On OS X, the LisaEm menu contains the About LisaEm item which tells you what version of
LisaEm you're running. On other operating systems, this option is under the Help menu.
On some operating systems, this dialog box will also provide information about the License
and the developers.
Disk Copy 4.2
Disk Image
Dual Parallel Card
Dual Parallel ROM
expansion slots
Lisa Office System
Lisa Pascal Workshop
Apple Dot Matrix Printer. Identical to the ImageWriter I printer,
except that it connected on the Parallel Port instead of the serial
Disk Archive and Transfer program. Like Disk Copy 4.2, this
Macintosh program allows you to make disk images of floppies.
Apple's Disk Copy 4.2 program for the Macintosh. This is the
preferred format for disk images used on LisaEm and also for
Lisas in general. Can properly format real 400K floppies on older
Macintosh computers for use on actual Lisa's.
A sector by sector copy of a floppy or hard drive that contains all of
the data from the original media saved to a file. Disk images are
used by LisaEm instead of actual floppies and Profile hard disk.
A popular I/O expansion to the Lisa. It added two parallel ports to
one of the Lisas 3 expansion slots. Parallel ports could be
connected to devices such as ADMP's or Profiles.
The ROM on the Dual Parallel Card which allows the Lisa Boot
ROM to recognize and boot off Profile drives attached to the Dual
Parallel Card.
Three slots in the back of the Apple Lisa Computer which could be
populated by cards providing additional functionality such as the
Dual Parallel Card.
A Sega Genesis emulator written by James Ponder. The CPU
core from Generator has been modified for use in LisaEm.
The Lisa computer has an I/O board which contains a 6504 which
acts as a disk controller for the Lisa. The I/O ROM is not emulated
by LisaEm, however, the version of the I/O ROM is used by certain
software to determine the kind of Lisa that it runs on. For example
Xenix incorrectly uses the I/O ROM version to decide what size
hard drive is attached to the Lisa.
A serial port version of the Apple Dot Matrix Printer. This was later
updated to the ImageWriter II which was a popular addition to
Macintosh computers.
Apple's Lisa Computer. Apple claims that this is an ancronym
which stands for Locally Integrated System Architecture. The Lisa
computer is the Macintosh's predecesor. This is the computer that
LisaEm emulates.
Lisa Office System is the original windowed environment for use
on the Apple Lisa. It was later replaced with Macworks when
Apple decided to discontinued the Lisa as a compatibility tool with
Macintosh computers.
The Lisa Pascal (or Programmer's) Workshop is a non-gui version
of the Lisa Office System meant to be used by developers who
wish to build Lisa software.
LisaEm is a concatentation of Lisa Emulator. This is the software
that emulates Apple's Lisa computer.
Parallel Port
Serial Number
Serial Port
MacWorks is a Lisa environment that allows Macintosh software to
run Macintosh software. It's not quite an emulator, but rather, it's
closer to something like virtualization software.
Lisa speak for 3.5” floppy. The Lisa used 3.5” SS/DS 400K GCR
encoded floppies, which are readble on older Macintosh
One of Lisa's connector ports which allowed connectivity to the
Apple Dot Matrix Printers and Profile hard drives. These are
analogous to PC parallel ports, but not compatible with them.
Lisa's parallel ports were bidirectional. A single parallel port is
provided on the motherboard on Lisa 2's and 2/5's but not 2/10's.
Lisa 2/10's had an internally connected Parallel port. These are
also available on the Dual Parallel Card.
Parameter Random Access Memory. This is a battery backed up
portion of memory where the Lisa stored information and
The Lisa's 5MB and 10MB external hard drive.
Read Only Memory. In this context, refers to the Lisa's boot ROM
which performed Power-On Self Tests, and provided a graphical
user interface that allowed the Lisa's user to select which device to
boot from. Also contains a hidden Service Mode.
A 512 byte chunk of data stored on a floppy, Profile, or disk image.
A hard coded number stored in the Lisa's Video ROM which was
used to lock down Installed applications to a specific Lisa.
The Lisa used standard RS-232 25 pin serial ports. These are
industry standard and used to connect to printers such as the
ImageWriter, LocalTalk networks, modems, null-modems, and
other such devices.
A 12 byte chunk of meta data attached to each disk sector. Was
used to allow the Lisa to boot as well as help a repair program
known as the scavanger to repair the disk.
Code name for the Lisa 2/10's internal hard drive. Unlike Profile
hard drives, these used a voice coil instead of a stepper motor.
Because of this, they make interesting whistling or squeaking
Microsoft's and SCO's version of Unix for the Lisa (as well as 286
PC's). This is one of the several operating systems available for
the Lisa computer.
Contact and Support
Contact and Support Information: This is the LisaEm project's official web site. Please visit this site
every month to see if updated versions of the emulator are available. The Lisa Frequently Asked Questions site provides information
about the Lisa computer. It is not specific to the emulator, but can be helpful. Please send comments about the LisaFAQ to this address. Please send bug reports to this address.
Please send questions or comments about the emulator here. This is my email address for topics other than LisaEm.
The Lisa List Google Group:
The LisaList mailing list is run on GoogleGroups. While it is not affiliated with the Lisa
Emulator Project, it is a forum for Lisa enthusiasts, and questions about the emulator are
welcome there provided the Subject line starts with “[lisaem]” to distringuish between topics
about actual Lisas.
If you have a Lisa or have questions about them, this is the place to ask. Be sure to look at
the archives as well.
My thanks go out to the following people:
David T. Craig for providing the wealth of Lisa information which he allowed me to scan in, for the
many contacts with Lisa developers and faithfully listening to status reports over the ages.
James MacPhail for all of the hardware help with the Lisa and many suggestions as to what and how
to test, for helping me with the logic analyzer, the 68000 help, the schematics help, helping me repair
my dead Lisa, helping with the ProFile protocol, and many other things I could fill a book with.
Brian Foley for beta testing, profiling, and debugging help with OS X, and fixing nasty display bugs in
wxWidgets on OS X, working on the new UI, providing an SVN server.
James Ponder for his wonderful Generator project, one of the better Sega Genesis emulators out
there, whose CPU core is the very heart of the LisaEm project.
Adam Firester for providing the many years of bandwidth for the project website.
Steve Hatle for providing Lisa Office documentation, Xenix help, encouragement, and testing.
Chris McFall for advice on the Lisa file system.
Natalia Portillo whose file system work inspired me to build the Lisa FSH Tool, and libdc42.
Patrick Schaefer for providing the protocol transitions graphs of the Profile, which at a glance proved
far clearer to interpret than the official documentation.
Adam Rosen of Oakbog and the Vintage Mac Museum for the excellent bug reports, G5 beta testing.
Andy Hertzfeld of - for the stories documenting the birth of the Lisa and the Mac.
The wxWidgets project, I wish I made use of a lot earlier, who have made my life a lot easier.
Steven Stengel of for the image used as LisaEm's icon on Mac OS X and the
image on the cover of this document.
David Cecchin for unicode bug fixes and the new xpm icon
Raphael Nabet, for disassembling and documenting the I/O ROM, which shaved two months off
reverse engineering on my part, even if he did write a competing emulator.
Gilles Fetis for being the third person to use my dc42 routines, even though he is using ancient
versions of them for his competing emulator.
To everyone who wished for a Lisa emulator, whose requests and encouragement over
the years pushed me to complete this project.
Most importantly, to all of the people at Apple, who worked on the Lisa over the years,
and remember it fondly.
Thank you!