mirror of
https://github.com/InvisibleUp/uvmac.git
synced 2024-11-25 11:31:18 +00:00
1 line
20 KiB
HTML
1 line
20 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<html>
|
|
|
|
<head>
|
|
<title> Mini vMac FAQ </title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link rel="canonical" href="faq.html">
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<div>
|
|
|
|
<i> <a href="https://www.gryphel.com/index.html">www.gryphel.com</a>/c/<a href="index.html">minivmac</a>/faq
|
|
- <a href="https://www.gryphel.com/c/feedback.html">feedback</a> </i>
|
|
|
|
</div>
|
|
|
|
<hr>
|
|
|
|
<h4 align=center>
|
|
Mini vMac
|
|
</h4>
|
|
<h2 align=center>
|
|
Frequently Asked Questions
|
|
</h2>
|
|
|
|
<hr>
|
|
|
|
|
|
<p> <b> I have a question that isn’t answered in this FAQ or
|
|
in the <a href="index.html">documentation</a>. What do
|
|
I do? </b> </p>
|
|
|
|
<p> Ask on one of the various internet
|
|
<a href="https://www.gryphel.com/c/forums/index.html">forums related to Mini vMac</a>.
|
|
</p>
|
|
|
|
|
|
<h2> Support requests </h2>
|
|
|
|
|
|
<p> <b> How do I get my Macintosh programs and other files
|
|
into Mini vMac?</b> </p>
|
|
|
|
<p>
|
|
To use a program or other file with Mini vMac, you
|
|
need to get it into a disk image. The recommended way to do this
|
|
is with the
|
|
<a href="extras/importfl/index.html">ImportFl</a>
|
|
utility.
|
|
</p>
|
|
|
|
<p> <b> How can I read a floppy disk that was written
|
|
on a Mac Plus? </b> </p>
|
|
|
|
<p> Modern machines can’t read the 400k and 800k floppy disks
|
|
used by the Mac Plus. This a hardware problem, not solvable in
|
|
software - they lack the variable speed motor of the old drives.
|
|
I don’t know any reason why some company couldn’t now manufacture
|
|
a floppy drive that reads the old disks, but I’m not aware of
|
|
anyone doing so. </p>
|
|
|
|
<p> So the only way to read such disks is to
|
|
<a href="https://www.gryphel.com/c/buymac/index.html">get an old Mac</a>.
|
|
A somewhat later Mac than the Mac Plus would be useful, one that can
|
|
read 400/800k floppies, but has some options for talking to modern
|
|
machines, such as 1.4M floppies or ethernet. </p>
|
|
|
|
<p> An alternative is to hire someone to do this for you. See the
|
|
<a href="https://www.gryphel.com/c/convert/index.html">Old Macintosh Disk Conversion Services</a>
|
|
page for some possibilities. </p>
|
|
|
|
|
|
<p> <b> How can I print from Mini vMac? </b> </p>
|
|
|
|
<p> There is no direct support for printing, but you can use the
|
|
ability built into System 6.0.8 and later to print to
|
|
a Postscript file. You can then export this file to the host
|
|
computer, and print it from there. </p>
|
|
|
|
<p> To print to a Postscript file, select LaserWriter in the
|
|
Chooser, then print from your application as normal, except
|
|
that in the print dialog, choose PostScript File as the
|
|
destination. To transfer the resulting file to the host
|
|
computer you can use <a href="extras/exportfl/index.html">ExportFl</a>.
|
|
The Preview application in Macintosh OS X 10.4 or later can open and
|
|
print PostScript files. (The name of the file should end
|
|
with ".ps" to allow Preview to recognize it as PostScript.)
|
|
Other operating systems may require
|
|
additional software to print PostScript files. </p>
|
|
|
|
<p>
|
|
When selecting LaserWriter in the Chooser, you can ignore
|
|
the warning about requiring AppleTalk. The print to file feature of this
|
|
driver will work without AppleTalk. Choosing Cancel is fine, which
|
|
leaves AppleTalk off. Choosing OK, which turns AppleTalk on, is
|
|
also fine. The standard Mini vMac variation
|
|
without LocalTalk emulation still tries to correctly emulate the serial
|
|
port, with no LocalTalk network attached, which is sufficient for
|
|
turning on AppleTalk. (AppleTalk is the protocols that
|
|
are used to talk over the LocalTalk network hardware.)
|
|
</p>
|
|
|
|
<p> <a href="extras/exportps/index.html">ExportPS</a> is a
|
|
specialized variation of ExportFl that saves a few
|
|
steps when printing. </p>
|
|
|
|
<p> Warning : printing to a Postscript file in System 6.0.8 has
|
|
sometimes been observed to generate invalid Postscript.
|
|
This problem may be fixed in later System versions. I've
|
|
not had trouble with my preferred version:
|
|
System 7.1 with System Update 3.0.
|
|
</p>
|
|
|
|
|
|
|
|
<p> <a name="rom"> <b>
|
|
Can you send me a ROM image? </b> </a> </p>
|
|
|
|
<p> No. </p>
|
|
|
|
<p> That would be a violation of copyright law.
|
|
I am not a lawyer, but my understanding is that
|
|
it is ok to produce
|
|
a product that might be used for illegal purposes, so
|
|
long as there sufficient legal use for it.
|
|
Therefore I try to emphasize that
|
|
Mini vMac can be used legally. The legal
|
|
method is to own an old Macintosh
|
|
(see the
|
|
<a href="https://www.gryphel.com/c/buymac/index.html">Buy Mac</a> page)
|
|
and extract the ROM image (see
|
|
<a href="extras/copyroms/index.html">CopyRoms</a>)
|
|
for your own private use. (Some people think
|
|
that this isn’t legal either, but that
|
|
isn’t my understanding of U.S. copyright
|
|
law, though I am not a lawyer, and laws could
|
|
differ in other countries.) </p>
|
|
|
|
|
|
<p> <b> I own an old Macintosh that I can’t extract
|
|
the ROM image from (because it is broken,
|
|
or because I don’t have the means to make it
|
|
communicate with newer machines).
|
|
Can you send me the ROM image? </b> </p>
|
|
|
|
<p> Sorry, no. </p>
|
|
|
|
<p> That would still be a copyright violation.
|
|
It only reduces the chance that anyone would
|
|
care. (I think, I am not a lawyer.)
|
|
Speaking of caring, as far as I know
|
|
Apple doesn’t seem to have bothered
|
|
lately to stop the various illegal copies
|
|
of Macintosh 68k ROMs floating around the web.
|
|
But I expect there would be limits
|
|
to their tolerance. </p>
|
|
|
|
|
|
<p> <b> Will you tell me where to find an illegal
|
|
ROM image? </b> </p>
|
|
|
|
<p> Of course not. </p>
|
|
|
|
|
|
<p> <b> Why do I get a message that the ROM image may be corrupted? </b> </p>
|
|
|
|
<p> Some of the illegal ROM images floating around the web
|
|
are in fact corrupted. </p>
|
|
|
|
|
|
<p> <b> Can you provide a bootable disk image? </b> </p>
|
|
|
|
<p> No. This would require Apple System Software, involving issues
|
|
similar to those mentioned above for ROM images. Except that
|
|
<a href="https://www.gryphel.com/c/sw/system/index.html">System Software</a>
|
|
may be downloaded freely from Apple. </p>
|
|
|
|
|
|
<p> <b> What System Software versions can be used with Mini vMac? </b> </p>
|
|
|
|
<p> Mini vMac can currently be used with up to System Software 7.5.5, and
|
|
any earlier version back to the earliest known prereleases. In theory
|
|
some (distant) future version of Mini vMac may be able to work with up to
|
|
Mac OS 8.1, the last version to work on a 680x0 Macintosh.
|
|
Later system software, starting with 8.5, runs only on a PowerPC
|
|
Macintosh. </p>
|
|
|
|
|
|
<p> <b> Which emulation should I use (Mac Plus, Mac 128K, Mac SE)? </b> </p>
|
|
|
|
<p> Which version to use depends on what ROM image you have.
|
|
If you have all of them then the Mac Plus emulation is probably preferable.
|
|
There are few detectable differences in the Mac SE emulation, and it’s
|
|
not as well tested. The Mac 128K emulation can run some very early
|
|
software that won’t run on a Mac Plus, but a lot of software that
|
|
works on the Mac Plus won’t work on a Mac 128K (and only 128K of
|
|
memory is very limiting). The Mac Plus was sold for the longest period
|
|
of any Macintosh model, and so software written over a long period of
|
|
time works well on it. </p>
|
|
|
|
|
|
<p> <b> Why doesn’t the ROM from a Mac SE/30 or Mac SE FDHD work in the
|
|
Mac SE version of Mini vMac? </b> </p>
|
|
|
|
<p> As described on the
|
|
<a href="https://www.gryphel.com/c/mac68k/index.html">Mac 68k page</a>, the Mac SE/30 and the
|
|
Mac SE FDHD are different machines from the Mac SE, and use
|
|
different ROMs.
|
|
I believe the Mac SE FDHD is quite similar to the Macintosh SE,
|
|
but it has been reported that it is not close enough for the
|
|
Macintosh SE FDHD ROM to work in the Macintosh SE emulator.
|
|
The Mac SE/30 is much more different. </p>
|
|
|
|
|
|
<p> <b> How is Mini vMac different from Basilisk II? </b> </p>
|
|
|
|
<p> The biggest current difference is that Mini vMac emulates
|
|
the earliest Macs, while
|
|
<a href="http://basilisk.cebix.net/">Basilisk II</a>
|
|
emulates later 680x0 Macs. The fundamental technical difference
|
|
is that Basilisk II doesn’t emulate hardware, but patches the drivers in ROM, while
|
|
Mini vMac emulates the hardware (with the exception of the floppy drive). </p>
|
|
|
|
<p> The consequences are that some of the earliest Mac software will run in Mini vMac and
|
|
not Basilisk II, while much of the later software will run in Basilisk II
|
|
and not Mini vMac. For software that will run in either, the emulation in
|
|
Mini vMac can be more accurate, while Basilisk II offers many more features
|
|
(including color, larger screen, more memory, network access, and more host
|
|
integration). </p>
|
|
|
|
<p> Mini vMac aims to stay simple and maintainable.
|
|
So Mini vMac only has compile time preferences, where as Basilisk II has
|
|
many run time preferences. And Mini vMac uses a rather simple emulation of the
|
|
processor, compared to Basilisk II, which could make Mini vMac slower. </p>
|
|
|
|
|
|
<h2> Feature requests </h2>
|
|
|
|
|
|
<p> <b> Color?</b> </p>
|
|
|
|
<p> Maybe someday. The next computer that I plan to emulate is
|
|
the Mac II, which has color.
|
|
Meanwhile, you could try Basilisk II. </p>
|
|
|
|
|
|
<p> <b> Larger screen? </b> </p>
|
|
|
|
<p> It might be possible to hack the ROM of the Mac Plus to
|
|
support larger screen sizes. (Actually, the original vMac
|
|
for Macintosh supported larger screen sizes, though in a
|
|
way that doesn't work for Mini vMac.) But since it would
|
|
not be emulating any Mac that ever existed, there
|
|
definitely would be compatibility problems. It would work
|
|
except when it didn't, which is not very satisfactory.
|
|
If I implemented this, it would mostly be as a stepping
|
|
stone to emulating later Macs, which is the preferred
|
|
solution. </p>
|
|
|
|
<p> update: This is now implemented in the
|
|
stable version. </p>
|
|
|
|
|
|
<p> <b> More memory? </b> </p>
|
|
|
|
<p> The Mac Plus (and Mac SE) can support no more than 4MB
|
|
of memory, since the RAM starts at address 0 and the ROM
|
|
is at address 0x00400000 (4MB). </p>
|
|
|
|
<p> After figuring out how to patch the ROM to support a
|
|
different size screen, I investigated whether it would be
|
|
possible to patch the ROM so that it could function
|
|
elsewhere in the address space. The answer was no.
|
|
The Macintosh System software, in particular the part
|
|
that installs bug fixes for traps that otherwise would
|
|
be implemented ROM, assumes and depends on the exact
|
|
address of the ROM. It would not be enough to patch
|
|
the ROM, any System Software version that might
|
|
be used would have to be patched as well. </p>
|
|
|
|
<p>
|
|
The (incomplete) Macintosh II emulation currently supports up
|
|
8MB. The Macintosh II ROM is not "32-bit clean", and so has
|
|
problems with more memory. But there is a later software
|
|
update that is supposed to make a Mac II 32-bit clean
|
|
(I assume by providing replacements for many of the ROM routines.)
|
|
Unfortunately this doesn't work in Mini vMac yet, for
|
|
unknown reasons. Maybe in the future.
|
|
Meanwhile, you could try Basilisk II.
|
|
</p>
|
|
|
|
<p>
|
|
I've received a
|
|
"<a href="https://www.gryphel.com/c/mail/v2.html#m27">report</a>"
|
|
that there was a third party upgrade for the original Mac that allowed
|
|
it to support more than 512K of memory. So presumably it is possible
|
|
for Mini vMac to do the same. I have not investigated this yet.
|
|
</p>
|
|
|
|
<p> <b> Networking? </b> </p>
|
|
|
|
<p> Mini vMac does not currently support networking.
|
|
A real Mac Plus can use TCP/IP over a modem. All that software
|
|
will work in Mini vMac, but there is no modem emulation.
|
|
Mini vMac emulates the serial ports with nothing attached.
|
|
In the future, I’m thinking there could be a replacement of
|
|
the Mac Plus TCP/IP software to run inside Mini vMac, that
|
|
could use the Mini vMac extension mechanism to talk to the
|
|
TCP/IP API of the host operating system.
|
|
But that is likely quite some way away.
|
|
Meanwhile, you could try Basilisk II. </p>
|
|
|
|
|
|
<p> <b> Save PRAM? </b> </p>
|
|
|
|
<p> A real Macintosh has a small amount of memory that is preserved
|
|
when the computer is turned off. This memory, the PRAM, is used to
|
|
hold settings such as sound volume, start-up system drive,
|
|
and printer connection. </p>
|
|
|
|
<p> vMac saves this information to a file upon quit,
|
|
and loads this file on launch. Very early versions of Mini vMac
|
|
also did this, until one day Mini vMac stopped working for me.
|
|
I eventually realized that it was because the saved PRAM was
|
|
corrupted. (This was a problem on real Macs too.) To prevent
|
|
support headaches, I stopped saving the PRAM state. </p>
|
|
|
|
<p> If you compile your own version of Mini vMac, you can
|
|
change the initial settings of the PRAM in the source code.
|
|
A possible future feature for the Mini vMac build system
|
|
is to make this easier, by providing build options for
|
|
the more useful PRAM settings. </p>
|
|
|
|
|
|
<p> <b> Preference dialog? </b> </p>
|
|
|
|
<p> (For options such as which machine to emulate and how much RAM) </p>
|
|
|
|
<p> Since the goal is to keep Mini vMac small and simple, easily portable and maintainable,
|
|
I don’t plan to implement any run time preferences, only compile time preferences.
|
|
Run time options are more complex to implement than compile time options, and would
|
|
make the program larger. If implemented in a simple way, having to constantly check
|
|
what machine is being emulated at run time would make the program slower. </p>
|
|
|
|
<p> Another major concern is that preference files can get corrupted.
|
|
(Similar to the PRAM issue mentioned above.) This is a very common problem
|
|
with a lot of software. Not having a preference file
|
|
prevents this problem. </p>
|
|
|
|
<p> I would prefer to continue trying to make it easier to use compile time options.
|
|
Mini vMac is small enough that you can keep multiple copies of it, each
|
|
customized to a different use. </p>
|
|
|
|
|
|
<p> <b> Port to Syllable, SkyOS, Palm, BeOS, Amiga, or ...? </b> </p>
|
|
|
|
<p> Porting to other operating systems is fun, and central to the
|
|
goals of Mini vMac. However, it takes a while for
|
|
me to learn enough about programming for an operating system
|
|
as different as these to port Mini vMac, and relatively few people
|
|
benefit, so that is not too high a priority for me. </p>
|
|
|
|
<p> On the other hand, if someone who is already familiar with
|
|
an operating system would like to port Mini vMac to it, I'd
|
|
be happy to assist, such as by answering questions about
|
|
how Mini vMac works. Mini vMac is intended to be portable, has
|
|
been ported a number of times already, and is relatively
|
|
simple, so I think it should be relatively simple to learn enough
|
|
about Mini vMac to be able to port it to a new operating
|
|
system (compared to me learning enough to program for a new
|
|
operating system). </p>
|
|
|
|
|
|
<p> <b> Port to Apple II, TRS-80, Atari XL, Commodore 64, or ...? </b> </p>
|
|
|
|
<p> In theory, Mini vMac can be ported to anything vaguely
|
|
resembling a computer, so long as it has enough storage.
|
|
So if you’re willing to do enough swapping of floppy disks,
|
|
cassettes, or whatever, then it should be possible.
|
|
However, it would be very difficult to create such ports,
|
|
and impractical in the extreme. (As in, boot times measured
|
|
in days, months, or years.) </p>
|
|
|
|
<p> For a practical Mini vMac port to be possible, a computer
|
|
should have enough fast memory (RAM) to hold the
|
|
emulated machine's RAM (minimum 128K for Macintosh)
|
|
plus the emulated machine's ROM (minimum 64K), plus enough
|
|
to hold the code of the emulator. A 16 bit computer
|
|
like those mentioned above can only directly access
|
|
64K of RAM total. Some workarounds are possible,
|
|
but they are complex, and it is hard to imagine anyone
|
|
would ever bother. </p>
|
|
|
|
<p> Also, the host computer should preferably be at least 50 times faster
|
|
than the original Macintosh to allow the emulation
|
|
to run at a useable speed. The computers mentioned above
|
|
are slower than the original Macintosh. (Modern computers are
|
|
thousands of times faster.) </p>
|
|
|
|
|
|
<p> <b> Emulation of a Mac LC475 or Quadra650 or IIci or ...? </b> </p>
|
|
|
|
<p> Maybe someday. I’d like to eventually add emulation of other Macs, starting
|
|
with the Mac II. I can’t work on emulating the machines in any order;
|
|
each is a stepping stone to the next. For example the Mac SE was much
|
|
like a Plus except for having to figure out ADB. The Mac II will be a
|
|
much bigger step, having a 68020, a 68881 FPU, graphics card, and a
|
|
new sound chip. But at least I have good documentation for it; I don’t
|
|
have as much for later machines. Later machines also tend to use a
|
|
68030 or higher, which means having to deal with virtual memory. </p>
|
|
|
|
|
|
<p> <b> Emulation of a PowerPC Macintosh? </b> </p>
|
|
|
|
<p> No. PowerPC emulation will never be in Mini vMac, no matter how long I
|
|
maintain it. It is “Mini” vMac, so one has to draw the line somewhere.
|
|
Mini vMac is about preserving early Macintosh software. Such software,
|
|
when written properly, will run efficiently on any 680x0 Macintosh.
|
|
A PowerPC Macintosh runs this software by emulation. Emulating an
|
|
emulator is much slower than just one level of emulation. (A
|
|
PowerPC processor is faster than a 680x0 processor, but an emulation
|
|
of a PowerPC processor is no faster than the emulation of a 680x0 processor.) </p>
|
|
|
|
<p> Instead, see
|
|
“<a href="http://en.wikipedia.org/wiki/SheepShaver">SheepShaver</a>”
|
|
or
|
|
“<a href="http://pearpc.sourceforge.net/">PearPC</a>”.
|
|
</p>
|
|
|
|
|
|
<p> <b> Emulation of a Lisa? </b> </p>
|
|
|
|
<p> In theory, emulation of a Lisa running MacWorks is within the scope
|
|
of Mini vMac. But it is not a high priority, since a Lisa is complex
|
|
to emulate, and emulating it would not greatly advance the primary
|
|
goal of preserving early Macintosh software.
|
|
Instead see Ray Arachelian’s
|
|
“<a href="http://lisa.sunder.net/">Lisa Emulator Project</a>”.
|
|
</p>
|
|
|
|
|
|
<p> <b> Emulation of an Apple II? </b> </p>
|
|
|
|
<p> No. An Apple II has no real similarity to a Macintosh.
|
|
This is “Mini” v“Mac”, if you want one emulator
|
|
for everything, see
|
|
“<a href="https://www.mamedev.org/">MAME</a>”.
|
|
</p>
|
|
|
|
<p> <b> Open source ROM replacement? </b> </p>
|
|
|
|
<p> No. While on some computers the ROM is relatively simple
|
|
and just used to load the operating system, on an
|
|
early Macintosh the ROM contains all the core software that
|
|
makes it a Macintosh. The earliest system software
|
|
doesn't have much more than a few bug fixes. (Which,
|
|
by the way, is possible because the code in ROM is
|
|
accessed through a dispatch table in RAM.) A
|
|
replacement for the ROM would be much more complex than
|
|
the whole of Mini vMac, and there would always
|
|
be compatibility issues, so long as it wasn't
|
|
identical to Apple's ROM. </p>
|
|
|
|
<p> It has been done though. See
|
|
“<a href="http://en.wikipedia.org/wiki/Executor_(software)">Executor</a>”.
|
|
</p>
|
|
|
|
|
|
<h2> Other </h2>
|
|
|
|
|
|
<p> <b> What format is the Mini vMac source code in,
|
|
and why don't you use something more standard? </b> </p>
|
|
|
|
<p> It is a zipped hfs disk image. The
|
|
"<a href="build.html">Building Mini vMac</a>"
|
|
page describes how to use it. </p>
|
|
|
|
<p> The "real" Mini vMac is not an emulator, but a program
|
|
that generates source code for various Macintosh 680x0
|
|
emulators for various development tools. This is the Mini
|
|
vMac build system. The build system is a program that runs
|
|
on a Macintosh 680x0, which allows it be used by anyone
|
|
who has Mini vMac (or any other real or emulated 680x0
|
|
Macintosh). The source code for the build system is in a
|
|
format suitable for using with a Macintosh 680x0 C
|
|
compiler. The build system is not made to be portable to
|
|
other kinds of computers, as that would add much more
|
|
complexity. </p>
|
|
|
|
<p> Even if the build system were not needed for generating
|
|
all the various variations of Mini vMac, it would still be needed
|
|
for supporting the various development tools. There are no
|
|
standard source formats that are directly usable on all
|
|
computers and development tools that Mini vMac is ported
|
|
to. </p>
|
|
|
|
|
|
<p> <b> What should I do with my old 680x0 Macintosh? </b> </p>
|
|
|
|
<p> Keep it, of course. Owning an old Macintosh allows you to
|
|
use Mini vMac legally. Even if Mini vMac doesn't emulate
|
|
your specific 680x0 Macintosh model, it may at some future
|
|
date, or a different emulator may. </p>
|
|
|
|
<p> If you really can't keep it, then some of the places listed
|
|
on the <a href="https://www.gryphel.com/c/buymac/index.html">Buy Mac</a>
|
|
page could also be used to sell one. </p>
|
|
|
|
|
|
<p> : </p>
|
|
|
|
<p> Back up to - <b><a href="index.html">Mini vMac</a></b> </p>
|
|
|
|
<hr>
|
|
|
|
<div>
|
|
|
|
<i> <a href="https://www.gryphel.com/index.html">www.gryphel.com</a>/c/<a href="index.html">minivmac</a>/faq
|
|
- <a href="https://www.gryphel.com/c/feedback.html">feedback</a> </i>
|
|
<br>
|
|
copyright (c) 2020 Paul C. Pratt - last update 2/29/2020
|
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
</html>
|