www.gryphel.com/c/mail/v11 - feedback

Gryphel Project Mail

Volume 11

More Recent Mail (Index)


permanent link

Sent: Mon Sep 21 12:24:54 2020

Could you make the emulator start up at 1x speed, not 8x speed?

status : responded

Yes, that is a compile time option: “-speed z”.

The easiest way to use this compile time option is with the Variations Service. More specifically, the Text Based Variations Service.

permanent link

Sent: Sat Sep 12 01:32:56 2020

Hi Mr. Pratt. I made a donation to the gryphel project via Paypal and was interested in obtaining a subscription code for the mini vmac variation service. I wasn't sure if that code would come to me through some automated process, or if I would need to contact you. If it is automated, then I apologize for disturbing you. Thanks, however, for mini vmac, I really enjoy it.

Kind regards,


status : responded

Thank you for your donation!

I did try (at Fri, 11 Sep 2020 23:35:44 -0400) to send a Sponsor Code in response to a donation made at Fri, 11 Sep 2020 18:24:53 -0700 (PDT). If you are not getting this email, please tell me another email address to use (and include the original email address as well).

I have revised pages on this website to encourage the new way of purchasing Sponsor Codes through FastSpring (instead of through donations via PayPal), which should be easier and quicker.

permanent link

Sent: Tue Sep 8 18:01:57 2020

Thanks for all your work on Mini vMac, Paul. You've done a great service keeping the classic Macintosh platform alive.

For years I've had a small annoyance with the way the keyboard works in xwin builds of minivmac: although multiple X11 KeyCodes may produce a given KeySym, minivmac only recognizes the first KeyCode returned by the X server.

I initially patched this as a compile-time option for your build tool, but then I realized it's more of a bugfix than a special feature. Anyone using a keymap which has two of the same key will find that minivmac recognizes only one of those keys. A simple example is user who has selected "make caps lock an additional escape/ctrl/super/backspace key" in a control panel. Another common example is a user who has remapped some of the keys on their weird/foreign/broken laptop keyboard.

This patch applies to the 200613 version of alpha37:

diff --git a/src/OSGLUXWN.c b/src/OSGLUXWN.c
index ac30a96..14f5e8e 100644
--- a/src/OSGLUXWN.c
+++ b/src/OSGLUXWN.c
@@ -1858,15 +1858,16 @@ LOCALPROC CheckMouseState(void)
 /* --- keyboard input --- */
-LOCALVAR KeyCode TheCapsLockCode;
 LOCALVAR ui3b KC2MKC[256];
+LOCALVAR KeySym KC2KS[256];
 LOCALPROC KC2MKCAssignOne(KeySym ks, ui3r key)
-	KeyCode code = XKeysymToKeycode(x_display, ks);
-	if (code != NoSymbol) {
-		KC2MKC[code] = key;
+	int code;
+	for (code = 0; code < 256; code++) {
+		if (KC2KS[code] && KC2KS[code] == ks) {
+			KC2MKC[code] = key;
+		}
 #if 0
 	fprintf(stderr, "%d %d %d\n", (int)ks, key, (int)code);
@@ -1876,11 +1877,27 @@ LOCALPROC KC2MKCAssignOne(KeySym ks, ui3r key)
 LOCALFUNC blnr KC2MKCInit(void)
 	int i;
+	int first_keycode;
+	int last_keycode;
+	int keysyms_per_keycode;
+	KeySym *KeyMap;
 	for (i = 0; i < 256; ++i) {
 		KC2MKC[i] = MKC_None;
+	XDisplayKeycodes(x_display, &first_keycode, &last_keycode);
+	KeyMap = XGetKeyboardMapping(x_display,
+		first_keycode,
+		last_keycode - first_keycode + 1,
+		&keysyms_per_keycode);
+	for (i = first_keycode; i <= last_keycode; i++) {
+	    KC2KS[i] = KeyMap[(i - first_keycode) * keysyms_per_keycode];
+	}
+	XFree(KeyMap);
 #if 0 /* find Keysym for a code */
 	for (i = 0; i < 64 * 1024; ++i) {
 		KeyCode code = XKeysymToKeycode(x_display, i);
@@ -2139,8 +2156,6 @@ LOCALFUNC blnr KC2MKCInit(void)
 	KC2MKCAssignOne(XK_Y, MKC_Y);
 	KC2MKCAssignOne(XK_Z, MKC_Z);
-	TheCapsLockCode = XKeysymToKeycode(x_display, XK_Caps_Lock);
 	return trueblnr;
@@ -2176,10 +2191,12 @@ LOCALPROC DoKeyCode0(int i, blnr down)
 LOCALPROC DoKeyCode(int i, blnr down)
-	if (i == TheCapsLockCode) {
-		CheckTheCapsLock();
-	} else if (i >= 0 && i < 256) {
-		DoKeyCode0(i, down);
+	if (i >= 0 && i < 256) {
+		if (KC2MKC[i] == MKC_formac_CapsLock) {
+			CheckTheCapsLock();
+		} else {
+			DoKeyCode0(i, down);
+		}
@@ -2256,7 +2273,7 @@ LOCALPROC GetTheDownKeys(void)
 		for (j = 0; j < 8; ++j) {
 			if (0 != ((1 << j) & v)) {
 				int k = i * 8 + j;
-				if (k != TheCapsLockCode) {
+				if (KC2MKC[k] != MKC_formac_CapsLock) {
 					DoKeyCode0(k, trueblnr);

I believe the "correct" modern way to do this is to use libxkbcommon, but I assume based on your coding practices that you would prefer not to link an additional library for this relatively obscure bug.

Adrian Carpenter

[... email address ...]

Sent: (via email) Tue, 8 Sep 2020 11:08:51

Hi-- I sent a patch to your web form but the formatting may have been mangled (I'm not certain).


[ patch as attachment ]

status : pathch merged

Thank you for the bug report and fix. I have merged in your patch.

I then reorganized the X11 keyboard initialization code to make more efficient use of the GetKeyboardMapping call that your patch uses to replace XKeysymToKeycode. (Not that it was seriously inefficient before.) Hopefully I didn’t create new bugs.

The latest Mini vMac Development source snapshot has this new code.

The sequence of edits was: replace the long list of calls to KC2MKCAssignOne with a table (composed of const arrays) and a loop, which should make the compiled code significantly more compact. Since there is then only a single call to KC2MKCAssignOne, its code could be moved into the loop. Then the two nested loops were inverted, first looping over X11 key code and inside looping over Mac key codes to find the matching KeySym - which makes possible a simple optimization. Instead of just searching through the table from the beginning each time, it starts from the next element after the previous match. If the table is sorted to match the X11 key code table, almost no searching is needed. So the table was next ordered to match the Linux key codes, the most common X11 port. A further optimization is noting that many of KeySyms not found in the table are very large, so we can first find the largest KeySym in our table, and avoid searching the entire table for KeySyms that are larger. (Adding a more generally efficient lookup such as binary search or hashing would require a bit more code, and be slower than the current code for Linux.)

permanent link

Sent: Thu Aug 27 22:07:52 2020

How do I download .ROM for mini mac

status : responded

The FAQ page has a section about ROM images.

permanent link

Sent: Thu Aug 27 05:23:02 2020

Thanks. Great program. There is another issue I just noticed on this hardware- arrow keys don't function in finder windows although they do in text editor. I figured out 'alt' is used as open-apple (cloverleaf-command) but this means it is not acting as 'alt' (option on the mac Plus). There does not seem to be a way to configure this differently to make accented letters or pi, sigma, etc. A toggle or set of toggles to allow intercept (make 'Windows' key act as cloverleaf and NOT as windows-key while running program; I don't even use that key to begin with) would over come this. Then alt could be 'option'. But, user configurable keyboard (didn't there used to be?) trumps all.


status : responded

[previous message]

Arrow keys work in the Finder in System 7 and later, but not in System 6 or before. (On a real Macintosh as well as Mini vMac.)

As described in the Keyboard section of the Emulated Hardware Reference, “In the Windows or X versions, the ‘alt’ key is used for the emulated command key, and the ‘windows’ key (or the ‘application’ key) is used for the emulated option key.”

These keys can reconfigured at compiled time. There is the “-ccs” option, which just swaps the emulatated Control and Command keys. And there is also the more general “-km” (Keyboard Remap) option.

The easiest way to use these compile time options is with the Variations Service. More specifically, the Text Based Variations Service.

permanent link

Sent: Tue Aug 25 20:21:30 2020

Any suggestions for where I might be able to get a ROM file? I don't have an old Mac from which to get one.

status : responded

The FAQ page has a section about ROM images.

permanent link

Sent: Tue Aug 25 18:49:01 2020

Hey, using your program Mini vMac on a ThinkPad T640s machine with Win10 installed, a machine I find somewhat annoying. The emu Mac boots okay with Plus ROM and 6.0.6, 6.0.8 sys. I know the legal quandary of virtual/hardware ownership, in my case added by distance (my old machines are in a distant basement and I'm here, wondering if someone is playing all my records...) I was a Mac user long ago and advocate for practical elegance and user control of features, and development goes forward (i.e. paying in at a 1000$ for the 80s computer, you have funded a lot of good designers and programmers). I was a Pascal and BASIC writer in the days of color machines, learned on Apple IIs.

In any case - this leads to, I support 'abandonware', 'freeware', and 'shareware' as idea, commerce in measure and it all gets very complicated. Internet searches seem to ignore a lot of terms and many algorithm or novice jumbled web pages are frustrated because I used Boolean, "" and () - * effectively back when, (exact phrases, optional words, and partially complete). So I'm getting a strangely skewed indexing system and a lot of fake news... please let me know if you are having these sort of problems too- not to complain so much but:

MOST of the Mac (68000 series) SW I find is in .sit formats and windows10 makes it difficult to acquire software and deal with these by all kinds of repressive installation procedures - the Microsoft system is essentially a virus, but this is the machine I have. No LineX has proved to take it's place, would engineer my own..etc...

For AUTHENTICITY I Mostly was seeking 800k and 1.4Mb WHOLE disk image files .img .dsk to ensure I'm getting real software in a complete form, and historically authentic or if not, at least the product of someone with a knowledge of this. I am (Reluctantly) going to try the ImportF1 program and disk images now. If there is a site or sites with more complete and historically verbatim .dsk let me know.

As I said - internet search problematic, and same with forums - it seems somewhat like sabotage - I hope your technical dialog is easier with people because I am an island of thinking here, in the developed world nonetheless.

Also, years back I ran vMac on a new Mac (hilarious but necessary, and excitingly worked.) I was able to Create an emulated hard drive and I'm curious why that feature is not included or if I did some other magic I have forgotten.

Apology for somewhat rambly and distressed e-mail, but if you take time to address points I appreciate and also, let me know if you have a policy toward donations.


[... email address ...]

status : responded

To get new disk images, see the Blanks archive. That page also describes how to create your own disk images of other sizes.

You may be interested in the Software for Macintosh Plus section of this web site. I provide downloads in two formats: the orginal archive by the original author, and a repackaged zipped disk image format I make which is more convenient for Mini vMac.

If you would like, there are a number of ways of helping the Gryphel Project, including donations.

permanent link

Sent: Mon Aug 17 19:30:43 2020

Hi,I'm trying to install programs in to mini vmac and it says it needs more storage. What do I do?

status : responded

Find a bigger disk image from the Blanks archive.

Unlike most operating systems, with classic Macintosh System Software you can just copy all the files from your existing boot disk to a new disk, with drag and drop, even while booted from it, and get a new bootable disk. Then you can boot from the new disk and install the software that is requiring more space.

permanent link

Sent: Sat Aug 15 03:13:47 2020

Misprint in Online documentation

unknown switch : -npd

The "p" and "d" are transposed with four mentions to the -npd switch. The web URL isn't transposed.


status : fixed

Thanks! I’ve fixed this page, and a couple other pages in the documentation.

permanent link

Sent: Tue Aug 11 02:13:38 2020

Hello, Paul!

I happened to come across your "blanks" archive which was linked in a thread on 68kmla. I noticed one format which is missing. Since many Amigas can emulate Macs very well, but most Amigas don't have high density floppy drives, a common format to move files between real Macs and Amigas is the 720K HFS (9 sectors per track, 80 tracks, two sides).

Would there be interest in updating the "blanks" archive with this format?

Thanks much,

John Klos

[... email address ...]

status : done

A new version of the Blanks archive adds this to the “K” folder.

permanent link

Sent: Sat Jul 25 15:59:40 2020

Paul, here is the .dsk file for my Professional Air Traffic Control simulator.

Sent: Sat Jul 25 16:58:08 2020

Paul, attached are the PATCS User Manual and two PDF files that contain the changes for version 1.1.

Also, if anyone has any questions about running this simulator, they can contact me at [... email address ...].

Don Shepherd

Sent: Wed Jul 29 17:43:07 2020

Paul, I will paste my PATCS air traffic controller simulator .dsk file here in this window.

I also have three .pdf files that explain how to run the simulator, can I just email them to you and you can make them available to a user of the simulator?

Don Shepherd

status : added

Thanks! [After additional communication by email] Professional Air Traffic Control Simulator has been added to the Software for Macintosh Plus section.

permanent link

Sent: Thu Jul 23 08:30:55 2020

Hi Mr.Pratt

nice 2 meet u

i have finished the translating

pinyin is rarely used independently ( Because Chinese is a [...] language and is full of homophone and tones)

and most Chinese people can get confused when reading pinyin(and that why the Chinese goverment ditched romanlized chinese.(both pinyin and zhuyin) and only use it as a typing meathod)

Honestly i cannot read my translated version even i just finish tranlating it five min ago.

So is there any way that u can do about it?

i'll send the pinyin vertion in the next email (i need to find a way to give it to you)

really looking forwards u can make it to work cuz the reason i learn english and russian is because there and so many programs and documents that is in English and Russain only. and it is not a good time learning those languages.

plz reply

status : responded

[previous message]

That is good news. It should work for you to just paste the translated version into the feedback form.

Please include the name you wish to use in the copyright and the “translated by” lines. (“Anonymous” is acceptable.)

Even if it is not so usable as is, the pinyin translation could be a useful starting point if I figure out how to support Chinese characters. Perhaps by using the current text drawing code, but using two character cells for each Chinese character, for a total of 16x16 pixels. I gather there are automatic translation tools to convert pinyin, though imperfect. Or perhaps you could send me the correct Chinese character version as well as pinyin.

permanent link

Sent: Tue Jul 21 10:36:04 2020

I'm trying to run a Mac emulator for 1980s software. I followed your instructions so far, but got stuck with the StuffIt steps. I downloaded 2 .bin files, and StuffIt was somehow supposed to create a System Disc from them.... StuffIt won't do anything with these files.

What am I missing ?

status : responded

Yes, the latest version of Stuffit Expander will no longer do anything with these files.

There is a brand new command line tool to replace it for uncompressing these 2 archive files: ua608d. If you have problems with ua608d, let me know so I can fix the program or the documentation.

permanent link

Sent: Mon Jul 20 07:56:00 2020

hi sir

R U planning to add chinese translation?

if so? i can help you

you can use pinyin! A way to write chinese using roman English spellings

status : responded

A pinyin romanization translation would certainly be welcome.

Some information about translation is on the Mini vMac Localization page. Basically, you can just create text corresponding to existing translations, and send it to me via the feedback form, or else upload it somewhere else on the web and send me a link.

update - follow-up message

permanent link

Sent: Sun Jul 12 18:27:31 2020


I'm patching Basilisk II to support 24 bit ROM Macintosh SE to run System 6.

I want to patch A-Trap ROM in Mac SE ROM file.

Thanks to your annotated Mac SE ROM from fdisam and Ghidra. I converted the ROM code that decode the compressed A-Trap addresses table to C++ code (https://github.com/rickyzhang82/MacSERomPatch).

I thought I can patch the static ROM file directly to the A-Trap address in memory. Then I found that System in System 6 patch the A-Trap table again after OS starts up. I felt frustrated to overlook this.

I wonder what approach do you use in mini VMAC to patch A-Trap. I compiled mini VMac for emulating Mac SE to run System 6. I found that mini VMac does pretty well to handle shutdown A trap. But I don't see you do any specific hijack for the A-Trap for shutdown.



status : responded

Mini vMac does not modify the A-Trap dispatch table in RAM. For the floppy disk driver replacement, it directly modifies the ROM image, overwriting the real driver. For other things, Mini vMac emulates more of the hardware than Basilisk II. So the software for shutdown does not need to be modified. For the Mac SE, IIRC, the shutdown trap mostly only ejects disks and then puts up an alert to tell the user to turn off the power switch. For a Macintosh II, the hardware can turn off its own power, and Mini vMac emulates that functionality, to make Mini vMac quit on shutdown.

permanent link

Sent: Fri Jul 10 17:49:21 2020

Hello, thank you very much for that Emulator ! I have some suggestions:

Create Mini vMac Pro emulator, with support of Power PC Architecture and VM Creating/starting UI (Like in Virtual BOX; or VM Ware) with Mac OS 7.5 Window interface, I know it's really hard to do, so only People With Sponsor Code are Available ti get it. I will donate 10$ soon for a Great Emulator !

status : responded

I’m glad you like Mini vMac.

As explained in the FAQ, emulating a PowerPC Macintosh is out of the scope of the Gryphel Project.

I think a “VM Creating/starting UI” would be more useful to beginners, if anyone. I’m not convinced. For myself, while I use VMware Fusion a lot, I prefer the Mini vMac interface. A key feature is that every Mini vMac virtual machine is completely separate from every other. There is no central state to get corrupted. There is no impractically long list of VMs to manage.

As Mini vMac is open source, and as I’m not the only copyright holder (so the license can’t be changed), a funding model of restricting features to sponsors does not really work. And anyway would not serve the goal of the Gryphel Project, to help preserve early Macintosh software.

permanent link

Sent: Sun Jul 5 13:00:48 2020

Hey Paul,

thank you for creating Mini vMac and especially taking on the challenge of upgrading it to Macintosh II. What is the status on completing the Mac II emulation? Is it on your road map for the foreseeable future?

The one thing that bugs me most is floating point calculations. It breaks some software in very subtle ways, so one doesn't know whether it's broken or not.

Keep up the great work,

Pierre from Germany

status : responded

As noted on the Download Mac II Variations page and on the Model option documentation, “The Macintosh II emulation is incomplete, and should not be relied on to give accurate results, particularly numeric results. (Emulation of the Floating Point Unit is the main incomplete part.) It does seem suitable for games, many of which appear to work perfectly well.”

Completing the Macintosh II emulation is on the road map. As it has been for over a decade.

The current plan is having the FPU emulation return the same answers as SANE does, since the algorithms can be studied in detail (given lots and lots of time, using FDisasm), rather than what an actual FPU would return, as there is no clear way of matching its results. Compatibility should be pretty good, and I remember reading documentation from Apple that SANE is a bit more accurate.

permanent link

Sent: Tue Jun 30 02:50:57 2020

<Would you be willing to have your simulator added to the Software for Macintosh Plus section, to help preserve it? Helping to preserve such software is the primary goal of the Gryphel Project.>

Paul, sorry I am late in responding. I have no objection to adding my simulator to the software section, but I need to figure out how to do that. A friend built my .dsk file from an old Mac 3.5 inch floppy disk I sent him, and I need to get familiar with the emulator utilities for creating .dsk files so I can do it myself. When I figure out that stuff, I'll submit it.

I was so excited to get this old software running that I went out and bought a Win7 laptop just to run it on!

Don Shepherd

status : responded

That is good news.

For most all of the Software for Macintosh Plus section, I provide downloads in two formats: the orginal archive by the original author, and a repackaged zipped disk image format I make which is more convenient for Mini vMac. I have an elaborate process for ensuring that the zipped disk images are accurate, and that the format is consistent for all the zipped disk images.

So any format your simulator is in would be fine for including here.

As long as copyright issues are all in order. I see that Apple’s Technical Note PT22 says that “Interfaces to MacinTalk were published and Apple Software Licensing allowed it to be included with developers’ products.”

permanent link

Sent: Sat Jun 27 05:33:49 2020

Whenever I try to run ImportFI in Mini vMac it fails, and says that the Disk Extension is Too Old. Also, the mail archive link at the bottom of this page 404's.

status : awaiting information

Thanks much for mail archive bug report. This should be fixed now. (It broke when, while trying to fix a complaint from Bing Webmaster Tools, I did a search and replace on all the html files and uploaded them all to the web site with sftp. It turns out I should make a tar archive first and upload that, to preserve symbolic links.)

I’m not seeing the issue with ImportFl. Make sure to use Mini vMac 3.0 or later, preferably the current stable version from the official Download page. If you are using the official current version, what is the variation string? (use Control-P to copy it to the clipboard.)

permanent link

Sent: Mon Jun 22 11:06:02 2020

Hi. About latest StuffIt expander for Windows not being able to extract from .bin-files: Which version is that? I am using what I believe is the last version of StuffIt Deluxe for Windows ( AKA 2010), and I have no problems extracting .bin files.

status : responded

The current version for Windows at www.stuffit.com is “StuffIt Expander 2011 15.0.8”.

permanent link

Sent: Sat Jun 20 06:50:15 2020


The documentation says that the keyboard emulation is designed such that you can type in any Mac special character (even on Windows). However, I'd like to type in the high ascii characters in sequence and I can't figure out how to do that. If I import a txt file with those characters and open it in MacWrite 1.0, I can see all the special characters (at least those that aren't boxes). But if I script my host OS to send keystrokes of ascii 33-255, it mostly just repeats the "a" character (past 128 or so) into it. Not always, I guess your emulation logic recognizes some but not others.

I'm attempting to screenshot the characters (one at a time) in the hopes of turning them into TTF fonts. While others have done it, they've only done so for the regular (not styled) fonts, which misses the algorithm MacWrite uses to make them bold/italic/etc. I was hoping I could create versions that also have the styles. While it would be easy to screenshot all 220 characters at once after loading the text file, I can't figure out a way to crop the letters out individually. If I could "type" them, it would greatly simplify things.

Honestly, I'm not sure how anyone ever typed the characters from high ascii into a Mac Plus with an original keyboard.

If you could help, it would b greatly appreciated.

Thank you,

John O.


status : responded

You can type most Macintosh special characters by holding down the option key. For example, holding down the option key and pressing the 'g' key will result in '©' (the copyright symbol), usually.

The Key Caps desk accessory, included with the operating system, illustrates what pressing on keys will do. Alternatively, the ASCII Chart desk accessory can tell you what to press to get the desired character.

I have added a sentence about this to the Keyboard section of the Emulated Hardware Reference. Thanks for pointing out that it is needed.

The emulated hardware knows nothing about ASCII, it deals with key codes, which the Macintosh operating system translates to ASCII, depending on the keyboard layout and script settings.

I’m not sure what is happening when you scripted Windows to send characters to Mini vMac, since Mini vMac itself doesn’t know anything about characters, only key codes.

permanent link

Sent: Sat Jun 20 00:36:10 2020

Stuffit Expander doesn't recognize the bin files on Windows 10 as something that can be extracted. Not sure how to handle this.

status : implemented new software

Thanks for pointing out that the current version of Stuffit Expander no longer handles this format.

The Stuffit Expander Alternatives page has some other possibilities.

I now notice that the The Unarchiver has command line versions, for other operating systems besides OS X, including Windows. It is not very clear how to use it, but "unar SSW_6.0.8-1.4MB_Disk1of2.sea.bin -i 1" seems to work.

I think I will change the documentation to first suggest The Unarchiver, and mention in the Alternatives page that old versions of Stuffit Expander also work.

update 7/23/2020 - Instead, there is a new command line tool to replace Stuffit Expander for uncompressing these 2 archive files, based on the command line version of The Unarchiver: ua608d.

permanent link

Sent: Thu Jun 18 16:32:53 2020

Hi Paul,

you did a great job, thanks. I just wanted to support you, but why is not just a credit card number (number, name, exp. date, and security code) enough to do so? Why am I required to give PayPal my address, my telephone number, my email address, etc.? I don't want to do so. I don't like this unnecessary collection of info. Thus, I canceled my transaction, sorry.

If I can help in any other way, please tell me.



status : responded

Thanks for the feedback. One reason for PayPal to collect such information is to make sure that you know it. That is, to make sure it really is you that is trying to use your credit card.

So I expect that most any other online payment processor would require the same information. But I can assure you that PayPal does not send this information on to me. I only get name and email address.

I have thought sometimes that I could provide other ways for people to donate who don’t like PayPal for various reasons. Perhaps such as accepting bitcoins through Coinbase. Is there some way that you would prefer?

The Ways You Can Help page lists some other ways beside donations to help the Gryphel Project.

permanent link

Sent: Mon Jun 15 04:21:14 2020

Paul, this is Don Shepherd in Louisville Kentucky. I used Mini vMac to resurrect an air traffic controller simulation I wrote in 1988 for the original 512K Mac. My old Macs themselves are long gone, but I saved the floppies with the source code and compiled (Mac MS BASIC compiler) programs, fortunately. I used Macintalk to do speech synthesis in the program, and it is so nice to hear those old pilots and controllers talk after 32 years of silence. Thank you so much for your work, you have made an old man very very happy. My simulator works great on both Win 7 and Mac platforms.

status : responded

That’s good to hear.

Would you be willing to have your simulator added to the Software for Macintosh Plus section, to help preserve it? Helping to preserve such software is the primary goal of the Gryphel Project.

permanent link

Sent: (via email) Mon, 15 Jun 2020 11:06:21

Hi Paul,

Just tested the new variations service, copying and pasting my previous build options and making some quick manual changes to the build, and it worked perfectly, producing an accurate result -- just as requested. :)

I feel the new build system is a lot more user friendly.

Being able to copy and paste your previous configuration and having the additional form/customisation options take precedence over them (modifying the original options), is very intuitive (easy to understand and use).


status : responded

I’m glad you find it easy to use. That is good news.

permanent link

Sent: (via email) Mon, 15 Jun 2020 10:55:58

> > Mini vMac 36.01, Mini vMac 36.02, Mini vMac 36.03,
> > and Mini vMac 36.04, are versions. All together, Mini vMac 36
> > is a branch.

Usually the numbers following the dot in a main software version number are called minor versioning, sometimes a revision (Mini vMac 36 rev 04).

Mini vMac version 36 is a main/major release. 36.04 is (minor) version 04 of Mini vMac (major) version 36.

A branch, as it pertains to software release, at least in Git terms, is an altogether different release of the software that stands apart from the main branch in its design and/or development focus.

Mini vMac 37 is a continuation of the development of Mini vMac 36 with the same design and development focus, by the same author/developer, so in Git terms both major versions belong to the same main branch of the software (as well as all minor versions).

See here for more information about conventional software versioning, including major and minor releases:

An example of a branch for Mini vMac in Git terms would be a release of the software for a completely different computer architecture (requiring rewriting) or, say, a release of the software with an entirely different design or development focus, out of the scope of the main project -- such as modern Mac emulation or certain specialised rewrites and/or applications.

status : responded

Thanks for explaining your usage of versioning terms.

I notice that some people use the term “branch” rather differently in relation to Git. A branch seems to be the name of a specific feature of Git, and it is encouraged to create a new branch for every new feature and bug fix. ( 1 2 3 4 )

Which is definitely not how I’m using the term “branch”. But, again, the way I’m using it does seem consistent with the Wikipedia article: Branching (version control).

The way that you are using Branch seems similiar to how many people use the word Fork. Though that now seems to mean something a bit different for GitHub.

It seems that some other projects are using the terms “Channel” or “Train” similar to the way I use Branch, but I hadn’t heard of these before. Maybe I could use one of them if they become more common. I’d rather not use the word “version”, because it used for too many different things. There can “Windows”/“Mac” versions, there can be the “release”/“debug” versions, there can be the “English”/“Spanish” versions, and so forth.

The Wikipedia article on Software Versioning doesn’t mention “branch” at all. But it does describe “Release train”.

permanent link

Sent: Sun May 31 04:29:35 2020

Thanks to your SDL template, Mini vMac is a thousand times easier to port and it takes very little to get it to actually run.

With external ram Mini vMac can run on the Espressif Systems ESP32 microcontroller: https://www.youtube.com/watch?v=sKVGKtVH5bk

I was planning on cleaning up the sources and giving a small writeup of the porting process.

status : responded

That’s good news. And the new port looks neat.

I’ve been thinking it might be possible to change the Mini vMac setup code to be more useful for ports that I’m not supporting myself. Like how the “-t” option chooses among supported targets, which automatically selects the CPU, but you can also manually choose choose the CPU with the “-cpu” option. This allows you to compile for ARM on FreeBSD, for example, which is not a supported target. So manual options could also be added in other places where choices are made according to the target.

permanent link

Sent: Thu May 28 07:12:36 2020

Hi Paul,

when I copy the parameters from minivMac (ctrl-P) and paste them into the variations service in Safari (in my case: -br 37 -t mc64 -lang ger -magnify 1 -speed z -mem 2.5M), I the service responds with "Sorry, the Base Options need to consist of letters, numbers, spaces, hyphens, or asterisks, and be 1024 characters or less. Please press the back button on your browser and correct this."

What am I doing wrong?

Thank you.

Kind regards, Karl

status : fixed

Thanks for the bug report. I forgot that a period (as in “2.5M"”) needs to be allowed. This should be fixed now.

permanent link

Sent: (via email) Tue, 26 May 2020 10:28:19

Hi Paul,

> The first line of the Download section, after the title,
> has a link to other branches. I guess that is too easy to miss?

Oh, "other branches" in the context of open-source usually means versions of the software developed by other people, that differ from the trunk (main branch).

A newer or older version of the same software isn't usually a branch as such, but versioning.

This is likely why I didn't pay attention to that link.

> The main page of the Gryphel Project has a news section which regulary
> links to "the latest Development source snapshot". Or maybe you are
> talking about the Mini vMac main page. I could add a Branches link
> next to the Changes link. That really should be there, it is mistake
> that it is missing.

By the site's index page, I meant the Mini vMac homepage.

> I'm not sure about putting a link to Branches in the Variations
> Service page, that page I really want to keep as simple as possible.
> Perhaps in the directions page.

I think a clearer link in the Downloads section to the current in-development version of the software is completely sufficient. If anyone's looking to download a newer version of the software, Downloads is where they will first be looking for it.


status : responded

Mini vMac 36.01, Mini vMac 36.02, Mini vMac 36.03, and Mini vMac 36.04, are versions. All together, Mini vMac 36 is a branch. The Branching (version control) article on Wikipedia is consistent with this usage, particularly the section on “Development branch”. The common concept with how you are thinking of the term is that there can be new versions of different branches of Mini vMac at the same time. Because there could be a bug fix to the Beta or even Stable branches as the Alpha branch is being developed.

I have tried to clarify this usage on the Download page, by explicitly saying “alpha, beta, and old” branches, instead of just “other” branches.

permanent link

Sent: (via email) Sun, 24 May 2020 10:50:31

Hi Paul,

Thanks. I'll give it a whirl in the coming days.

> Where did you look for it? I could consider putting links there.

I was looking for it in the "Download" section:

And in the Variations Service:

(The pages I've used and am familiar with from before.)

I've also checked the site's index page for anything that may signal a new build.


[previous message]

status : change made in documentation

The first line of the Download section, after the title, has a link to other branches. I guess that is too easy to miss?

The main page of the Gryphel Project has a news section which regulary links to “the latest Development source snapshot”. Or maybe you are talking about the Mini vMac main page. I could add a Branches link next to the Changes link. That really should be there, it is mistake that it is missing.

I’m not sure about putting a link to Branches in the Variations Service page, that page I really want to keep as simple as possible. Perhaps in the directions page.

update 5/25/2020 - I have put in a link to the Branches page page from the Mini vMac main page and from the Variations Service Directions page.

update 5/27/2020 - I have merged the stable and alpha Variations Services into a single set of pages, which have a pop up menu to choose the branch compiled. This new Variations Service should make it easier to find where to make alpha variations. And also it is easier for me to maintain.

permanent link

Sent: (via email) Sun, 24 May 2020 10:44:58

Hi Paul,

> Do you mean that it would not go full-screen by default, or
> that the toggle command (Control-F) was not there? The
> default variation very deliberately does not start full
> screen, to avoid getting beginning users into a situation
> they can’t easily get out of.

Both the default build and the variations service default build started with fullscreen off, but when using CTRL + F to switch to fullscreen mode, the default configuration would use the 2x setting, while the variations build would have the 2x setting disabled by default -- therefore creating an inconsistency in relation to user expectations (expecting the standard build's settings to be the default).

> In your previous message you
> mentioned using "-br 36 -t lx64 -fullscreen 1 -magnify 1
> -drives 16 -bg 1 -as 0 -svl 5". So my guess is that you
> forgot this is not the standard variation.

This is after I've figured out how to replicate the settings/behaviour of the standard build in the variations service, and customised them to fit my needs.

> To avoid this sort of situation, I’m thinking I could change
> the Basic Variations Service to allow and strongly encourage
> entering the options from an existing configuration (using
> Control-P), as in the current Text Based Variations Service.
> And then, by adding a text field at the bottom for
> additional options, a separate Text Based page becomes
> unnecessary.

This a good idea, so long as the HTML form recognises the values entered through the text input and checks/fills out those settings in the form. As the user ticks/changes new settingsin the form, the changes should be reflected in the text options (real-time).

Having just the text options makes it difficult to further customise the emulator, seeing as one needs to know what the text equivalent of those form options are.

I wasn't going to suggest going this far, but it *would* make the variations service a lot more useful -- even if it does involve quite a bit of additional JavaScript development for the web interface/service.

I still think keeping the default settings for the standard build and the variations build the same is the most important aspect of making the variations service more user-friendly.

I can deal with having to manually re-assign the same values again from memory (and using the text options as reference) in the web form.


[previous message]

status : work pending

The reported behavior, no automatic magnify when first using CTRL + F, would be a new bug. But I can’t reproduce it. Could you give details of what variation you observed it in (i.e. the options string, and the md5 checksum of the downloaded archive)?

There is however a known similar bug, where a variation built with “-fullscreen 1” to start in fullscreen mode does not automatically magnify. It is on the list of things to fix, a bit down in the stack. Are you certain the variation you were using was not built with the “-fullscreen 1” option?

It really should not be possible for a Standard Variation to behave differently from the corresponding one generated by the Variations Service with a target platform and no other options, because they are bit by bit identical. You can test this. If you download “minivmac-36.04-lx64.bin.tgz” from the 36.04 (Stable) Standard Variations page, and then create a sponsored variation from Mini vMac 36 Variations Service (Basic), choosing only “Linux - x86-64” and no other options, you will get identical binaries, with an md5 checksum of 499827d3defee725c1decddc4497e637.

I have made the intended modification to the Alpha Variations Service. Using JavaScript is very definitely not my intention.

permanent link

Sent: (via email) Sat, 23 May 2020 13:58:52

Hi Paul,

Regarding the variations service, what made it more difficult to adopt primarily was the inconsistency in behaviour between the latest standard build I first tried, and the latest variations build by default.

As a user, what I expected is that the variations service will build the standard configuration without my customising/modifying anything. But instead I got a build where Mini vMac did not go full-screen and double-sized as in the standard build. I had to hunt down and figure out why my variations build wasn't behaving as the default build out-of-the-box.

So this inconsistency is what really threw me off and caused some confusion and difficulty grasping how the variations service works. That, and the fact that there are a lot of customising options in the advanced variations service, and too few in the default one. Thankfully your good documentation and resource links on the option titles helped me relatively quickly figure it out.

To make it more user-friendly, the variations service should follow the standard build configuration, with extra options to change things to the user's needs/liking, starting with the most common/obvious changes, and going into finer details down the line.

This way it feels less like building, and more like customising -- and requires less (potentially unnecessary) effort to learn.

Hope this user insight helps.

Kind Regards, Bryan

[previous message]

status : change made in Alpha

Thanks for the feedback. It is helpful.

The variation service should in fact “build the standard configuration without my customising/modifying anything ”. Anything else would be a bug.

Do you mean that it would not go full-screen by default, or that the toggle command (Control-F) was not there? The default variation very deliberately does not start full screen, to avoid getting beginning users into a situation they can’t easily get out of. In your previous message you mentioned using “-br 36 -t lx64 -fullscreen 1 -magnify 1 -drives 16 -bg 1 -as 0 -svl 5”. So my guess is that you forgot this is not the standard variation.

To avoid this sort of situation, I’m thinking I could change the Basic Variations Service to allow and strongly encourage entering the options from an existing configuration (using Control-P), as in the current Text Based Variations Service. And then, by adding a text field at the bottom for additional options, a separate Text Based page becomes unnecessary.

update 5/23/2020 - I have made this modification to the Alpha Variations Service. Except on second thought, I think the Text Based page for specifying additional options should remain separate.

permanent link

Sent: (via email) Sat, 23 May 2020 13:42:09

Hi Paul,

How do I get the updated build? I can't seem to find it on the website. Would I need to build it from source myself?

Thanks, Bryan

[previous message]

status : responded

It is available from the Download Mini vMac 37 Alpha page.

That page has a link to the Mini vMac 37 Alpha Variations Service page. (While Mini vMac 37 is in Alpha, and therefore frequently changing, the set of compiled standard variations is not provided.)

Where did you look for it? I could consider putting links there.

permanent link

Sent: Thu May 14 23:23:39 2020

Hello, I donated 10 dollars via a Debit card. It said the card was declined but when I looked on my account, the payment said I only had 3 dollars left (I originally had 13 dollars). I can still get the code right? Or can I get a refund? Thanks!

Email me back at [... email address ...]

status : responded

Thank you for trying to donate, and sorry for this problem. Searching on Google, I found:





It sounds like the charge should disappear within a few days (not including weekends).

permanent link

Sent: Thu May 14 17:42:04 2020


I think a style guide would be very helpful.

Something that goes over your naming conventions and typedefs and why you used them.

Another thing might be including a file called OSGLUskeleton.

It would only contain what the emulator core needs and stubs for things that the porter would need to emulate.

It's not strictly necessary though; I pulled the 3DS version together from the SDL and XWIN versions.

status : work pending

The problem with a skeleton port is that since it is not used, it tends to rot. Mini vMac actually had such a port, "gen", from version 2.8.0 until version 3.2.0. After that the classic Macintosh port, "mac", was designated as the "reference" implementation, containing all comments about what platform dependent code is supposed to do, not repeated for each platform. That port was chosen to be neutral to the modern supported platforms. But at the current time, make the SDL port the "reference" implementation would be more practical. Because the easiest way to port Mini vMac to a new platform is to port it to SDL on that platform. Then if a more native port is desired, the source code for SDL can be merged with Mini vMac, all SDL code not used for that platform can be removed, and then a lot of cleaning up. I did the Cocoa port this way, without ever having used Cocoa or Objective C before.

One issue with this idea is that there are two SDL ports, for SDL 2.0 and SDL 1.2, and they are both still useful. I could merge the ports, even though there are significant differences (by testing whether SDL_MAJOR_VERSION is 1 or 2). And then put all comments about porting into it.

I could go further and say that if SDL_MAJOR_VERSION is defined to 0, then the SDL API is not used at all, and that would be the skeleton port again, useful when SDL does not exist for a platform.

Clearly, I should create a page that documents porting. People are otherwise may not have noticed that "mac" was supposed to be the reference platform.

For a style guide, I could start by a least documenting what rules are being enforced automatically by scripts of mine. I don’t require that code follow these rules before I would merge it into my version of Mini vMac. But I will rewrite the code to make it follow these rules. I don’t mind this rewriting, it helps me learn how the code works. I won’t merge code without feeling I understand it pretty well.

update 5/21/2020 - The source code for the SDL 1.2 and SDL 2.0 ports are now merged into one file, and it has been made the reference implementation, with comments that apply to all ports. The SDL port has been further modified so that if it is compiled without including the SDL headers, it will not use SDL, only standard C libraries, making a skeleton port.

permanent link

Sent: Tue May 12 17:23:07 2020


The new repo for the 3DS port is at: https://github.com/TaraHoleInIt/minivmac-3ds

It also contains my hacky changes to the setup tool, but I still need to figure out how to generate a Makefile that devkitPro likes.

For the time being I've been doing the Makefiles manually.

Thank you again for Mini vMac. It's been a real treat to port, and I have learned a lot from it :)

status : responded

Thanks, I have updated the Ports page, and added an item to the Latest news section.

I would be interested if you have any suggestions for making Mini vMac easier to port.

permanent link

Sent: (via email) Fri, 8 May 2020 14:10:05

Hey Paul,

I'm working on an ARG and was wondering what the best way to package up a version with preinstalled files and folders would be?

files would be clues and image files related to the ARG.

Love your work! thank you so much!

-- *-Keith*

status : responded

Sorry, I’m not sure what ARG means in this context.

Generally, I now try to discourage people from downloading Mini vMac from anywhere but gryphel.com. Malware masquerading as Mini vMac has happened before. Also legitimate copies elsewhere would tend not to get updated, and become old.

And of course, including ROM images and system software violates copyright law.

permanent link

Sent: (via email) Tue, 5 May 2020 10:22:26

Hi Paul,

Sorry, personal troubles got in the way of my response. I will test the new build (and interface) and answer your letters soon. Thank you for looking into this, and (from what I understand) this solution sounds right. One of the main reasons people would be emulating the old System these days is precisely because of HyperCard. If this solution doesn't work out in the wider sense, it would be worthwhile considering creating a build specifically for HyperCard.

HyperCard may have been abandoned -- due to a now obsolete personal feud between Steve Jobs and Bill Atkinson -- but it is still the best multimedia/hypermedia concept testing software, still relevant to-date! And in many ways it still outshines what the Internet can do these days in terms of creative possibilities. Not to mention its historical-cultural significance.

Apple lost an unparallelled creative tool when they left HyperCard behind in the transition to OS X. They've been trying to recreate its success, without getting even close, ever since.

Kind Regards,

[previous message]

status : received

permanent link

Sent: (via email) Mon, 27 Apr 2020 09:56:14

Hello Paul,

I am tinkering with Alpha 37 here-specifically the Mac II. I saw some notes about supporting greater than 4MB of RAM running in to ROM addressing problems. I notice that virtual memory isn’t an option in System 7.

For the Mac II would it be possible to emulate real memory as virtual memory? Increasing the usable memory well above the ROM and physical limits?

I don’t have the technical information on System 7 or the Mac II but I gather that the Mac II had a MMU coprocessor to handle memory and System 7’s virtual memory was actually a copy of main memory + the extra memory. This made it pretty awful when writing to a disk but if it was implemented to RAM behind the scenes it might work great?



status : responded

The Macintosh II emulation is currently limited to 8MB because the ROM isn’t 32 bit clean. It could easily emulate more memory, but the software would not work.

If Mini vMac had a working PMMU implementation, you could just use MODE32. It is possible that MODE32 might be gotten to work with a partial PMMU emulation, that it might only require supporting switching between a few simple memory mappings. While getting virtual memory to work would make much more extensive use of the PMMU.


Older Mail (Index)

www.gryphel.com/c/mail/v11 - feedback
copyright (c) 2019 Paul C. Pratt