VOGONS


DOS on a Mac Mini

Topic actions

First post, by xjas

User metadata
Rank l33t
Rank
l33t

This is one of those "why the fuck would you want to do that?" ideas I sometimes have. Has anyone managed to boot FreeDOS or similar on an early x86 Mac Mini or 1st gen Apple TV? (the Apple TV would be a great literal DOS box - it has a 1GHz Pentium M and some form of GeForce video chip.) The hardware should be fine as long as there is a way around the EFI issue. I had a look for custom bootloaders and found a bunch of forum threads where people were agreeing it 'should' be possible but no one seems to have written one yet. Ideas?

twitch.tv/oldskooljay - playing the obscure, forgotten & weird - most Tuesdays & Thursdays @ 6:30 PM PDT. Bonus streams elsewhen!

Reply 1 of 32, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

Not that I heard of. A starting point would be to research whether a linux bootmanager was able to run and then whether that is able to boot dos.
EFI is the big problem...

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 2 of 32, by Scali

User metadata
Rank l33t
Rank
l33t

How does Bootcamp work on a Mac? I mean, if they put Windows on a separate partition, then do some stuff so that they can go from EFI to the NT BOOTMGR, then in theory you should be able to make a multiboot BOOTMGR configuration, and add a DOS installation to it.
If they replace the NT BOOTMGR with their own thing, and it's not multiboot, then that won't work of course.
Edit: I also found a mention of rEFInd, which seems to be a popular boot manager for Macs to boot Linux. Might also be able to boot DOS: http://www.rodsbooks.com/refind/

Last edited by Scali on 2016-08-23, 07:22. Edited 1 time in total.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 3 of 32, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

This seems to be the right way: http://www.howtogeek.com/187410/how-to-instal … linux-on-a-mac/

edit: and http://www.rodsbooks.com/refind/using.html#legacy

Edit2: no offense to the op but that was a two minutes research with "mac mini bootmanager" in google...

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 4 of 32, by FuzzyLogic

User metadata
Rank Member
Rank
Member
xjas wrote:

The hardware should be fine as long as there is a way around the EFI issue.

Even if you have DOS booting, it would be useless because you don't have any drivers for sound, video, or lan. VGA support is limited. You'll end up with one speedy little command.com box.

Scali wrote:

How does Bootcamp work on a Mac?

It overwrites the protective MBR on the GPT disk with a MBR that points to the legacy partitions. The CSM module uses that MBR to boot.

Reply 5 of 32, by Scali

User metadata
Rank l33t
Rank
l33t
FuzzyLogic wrote:

Even if you have DOS booting, it would be useless because you don't have any drivers for sound, video, or lan. VGA support is limited. You'll end up with one speedy little command.com box.

DOS doesn't need drivers. It accesses hardware directly. As long as you get register-compatible VGA support, things should be fine. Sound is probably as much an issue on a Mac as it is on any modern PC: DOS expects SoundBlaster compatible hardware, and modern sound cards generally aren't SB-compatible anymore.
PC speaker might work? 😀

FuzzyLogic wrote:

It overwrites the protective MBR on the GPT disk with a MBR that points to the legacy partitions. The CSM module uses that MBR to boot.

Okay, and the MBR is the same as a legacy MBR on a regular DOS/Windows machine? And the CSM module creates an environment similar to a regular legacy BIOS on a regular DOS/Windows machine? In other words, does Bootcamp create an environment that is equivalent to a regular DOS/Windows machine at the BIOS boot stage, and therefore can you install any bootloader/OS under Bootcamp that you can install on a regular DOS/Windows machine?

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 6 of 32, by brostenen

User metadata
Rank l33t++
Rank
l33t++

As far as I have heard, bootcamp need X86 cpu's.

I think the closest you can get to Dos on the PPC platform, are eighter Os/2-PPC or NT-PPC.
I just don't think that they can boot on a machine with EFI.

Don't eat stuff off a 15 year old never cleaned cpu cooler.
Those cakes make you sick....

My blog: http://to9xct.blogspot.dk
My YouTube: https://www.youtube.com/user/brostenen

001100 010010 011110 100001 101101 110011

Reply 7 of 32, by Scali

User metadata
Rank l33t
Rank
l33t
brostenen wrote:

As far as I have heard, bootcamp need X86 cpu's.

Yup, it's just a 'shim' to boot a regular x86 version of Windows, and run it 'natively'.
On PowerPC Macs, you'd use VirtualPC to run DOS/Windows: https://www.microsoft.com/australia/office/ma … c7/default.aspx
This was a dynamic recompiling emulator.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/

Reply 8 of 32, by Dominus

User metadata
Rank DOSBox Moderator
Rank
DOSBox Moderator

@brostenen: the op was asking about the x86 mac minis not the ppc ones. Or did that come somewhere else up?

Windows 3.1x guide for DOSBox
60 seconds guide to DOSBox
DOSBox SVN snapshot for macOS (10.4-11.x ppc/intel 32/64bit) notarized for gatekeeper

Reply 10 of 32, by brostenen

User metadata
Rank l33t++
Rank
l33t++
Dominus wrote:

@brostenen: the op was asking about the x86 mac minis not the ppc ones. Or did that come somewhere else up?

Oh Yeah... That's a bummer on my behalf. Sorry.

Don't eat stuff off a 15 year old never cleaned cpu cooler.
Those cakes make you sick....

My blog: http://to9xct.blogspot.dk
My YouTube: https://www.youtube.com/user/brostenen

001100 010010 011110 100001 101101 110011

Reply 11 of 32, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Scali wrote:

On PowerPC Macs, you'd use VirtualPC to run DOS/Windows: https://www.microsoft.com/australia/office/ma … c7/default.aspx

Or SoftWindows. SoftPC, GuestPC, iEmulator and several others.. 😀

SoftWindows 1.0 was neat, btw. It was said to even run on Motorola 68000 machines! - I think I once read that it got a modified version
of Windows 3.1, which contained a bit of 68k code in several DLLs to speed things up.
Don't know whether this ever made into the final release or not, though.
I've only used version 2.x so far, and it runs very fast on my PowerMac (G3 B/W).

Virtual PC also supported 3DFX Voodoo cards, I heard. I think versions 2-3 were the ones which did.
They later dropped support in Version 4, because the newer CPUs were now capable to properly use little-endian mode.
Before this, they used big-endian mode which was compatible with the Voodoo cards, but slower in running Windows
(they had to use software tricks to "emulate" little-endian on PPC).

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 12 of 32, by hyoenmadan

User metadata
Rank Member
Rank
Member
Scali wrote:

DOS doesn't need drivers. It accesses hardware directly.

HAHAHAHaHaHahahaha...
Fueh... If was so easy, Marvin section wouldn't exist at all 😜.

Talking about CSMs UEFI modules, you really don't want to run DOS on them, seriously... Specially on Apple's. These things only offer the very minimal necessary stuff to chainload Windows NTLDR/BOOTMGR and nothing else. This means you generally will get broken support in other important parts, like VESA, no NMI for DOS games and apps which need it, broken INT13H support, or what is most important, APM. Without proper power management, a small machine like a Mac Mini will run very hot almost all time and probably would not last too much running in such conditions.

If you really want to spend money in getting a small set to run your DOS software, you have more chances wih EPIA boards, some small industrial board sets, or older Thinkpad Txx series, who have proper BIOS support for DOS, and in some cases, chances to get Sound working, and proper VESA support.

Jo22 wrote:

SoftWindows 1.0 was neat, btw. It was said to even run on Motorola 68000 machines! - I think I once read that it got a modified version of Windows 3.1, which contained a bit of 68k code in several DLLs to speed things up.

Win3.0... Before Win3.1 there was Win3.0, on which Insigna software worked on. Older SoftPC/AT ran in older 68Ks and your could install Win3.0 on them, but wasn't a pleasant task. SoftPC/AT for the older 68Ks was optimized solely for DOS. Later SoftPC releases offered Win3.1 support, but them will not run in older 68Ks, only in the later models. SoftWindows is a PowerPC product, which has nothing to do with Motorola 68K series.

About that rumor, i'm 99% sure it is false. You will see, Win3.1 codebase is 100% hand-crafted x86 assembler. System semantics and algorithms are very tied to how things are done in x86 CPUs, so porting it to an alien architecture would be harder than crafting an new OS from zero. And that's exactly what MS did with NT. And ofc you can't mix 68K with x86, isn't magic you know.

What is real truth is that Insignia worked closely with MS in order to create NTVDM and support DOS/Win3 apps in RISC CPUs through it. To accomplish that, NTVDM has built in a minimal SoftPC version as engine, which provides the virtual hardware environment to DOS/Win3 apps. In x86 NT NTVDM only uses peripheral and video code (while the rest runs in host as V86 task), but in RISC versions it also uses Insignia vCPU core.

Last edited by hyoenmadan on 2016-08-23, 21:02. Edited 3 times in total.

Reply 13 of 32, by xjas

User metadata
Rank l33t
Rank
l33t

^^ DOS itself doesn't need drivers. Some DOS software needs drivers but that's beside the point.

I'm actually not concerned about the lack of ISA sound support, I'm thinking of this as more of a hack-y / experimental platform than a "vintage games machine." As long as the video chip (Geforce Go 7300 in the case of the Apple TV) supports text mode and some basic VGA or VESA modes it seems like it would work and be a handy little thing to have.

The Apple TV interests me because of its analog video features, but it reportedly has a stripped down UEFI that doesn't do the BIOS emulation that Bootcamp uses. It's totally possible to install desktop OSX or Linux on it though (provided whatever distro you use is happy with 256MB RAM.)

twitch.tv/oldskooljay - playing the obscure, forgotten & weird - most Tuesdays & Thursdays @ 6:30 PM PDT. Bonus streams elsewhen!

Reply 14 of 32, by hyoenmadan

User metadata
Rank Member
Rank
Member
xjas wrote:

As long as the video chip (Geforce Go 7300 in the case of the Apple TV) supports text mode and some basic VGA or VESA modes it seems like it would work and be a handy little thing to have.

Yeah, that chip has VGA/VESA support in hardware, but Apple CSM doesn't have proper firmware support for it. VGA has only the bare minimal required for NTLDR/BOOTMGR and VESA modes are broken. You will get a very crippled graphic configuration. Also remember well what i told you about the lacking of proper Power Management. These old nVidia chip series are very sensible to heat cycles, and without proper power mangement your Geforce 7300 would run very hot almost all time (and your CPU too). That will surely kill your small Mac Mini in a few months.

Take my advice. Apple machines and DOS don't play well together. There are more things to consider than just Bootcamp ability to boot Windows (NT btw).

Reply 15 of 32, by Jo22

User metadata
Rank l33t++
Rank
l33t++
hyoenmadan wrote:
Scali wrote:

DOS doesn't need drivers. It accesses hardware directly.

HAHAHAHaHaHahahaha...
Fueh... If was so easy, Marvin section wouldn't exist at all 😜.

Scali talked about DOS .. And he's right. DOS itself relies on anything the BIOS/CSM provides (doesn't need drivers).
Games may or may not use the hardware directly. So at worst, you may get the compatibility level of a PC/XT 286. 🤣

hyoenmadan wrote:

or what is most important, APM. Without proper power management, a small machine like a Mac Mini will run very hot almost all time and probably would not last too much running in such conditions.

True, True, I've faced that issue with VMs a dozen times.. But you won't need APM at all in this case - just use DOSidle, it can also use HLT instruction as a substitute.
For Windows 3.1 there's also a device driver (WQGHLT) written by Weiqi Gao. It works on +486 machines.

hyoenmadan wrote:

Win3.0... Before Win3.1 there was Win3.0, on which Insigna software worked on. Older SoftPC/AT ran in older 68Ks and your could install Win3.0 on them, but wasn't a pleasant task. SoftPC/AT for the older 68Ks was optimized solely for DOS.

I once read a review about SoftWindows in an magazine (Byte, Jan '94, "Personality Plus").

They talked about Win 3.1 there, not a single word was said about Win 3.0..
But I have to admit that it was not enirely clear at which point they talked about the Unix and Mac versions. 😅

This is what they said about the Unix version, I think:
"[..]SoftWindows is actually Windows 3.1 and MS-DOS, recompiled for Unix[..]"
"[..]Because it uses authentic Windows source code, SoftWindows is able to run a far wider range of Windows applications than Wabi [..]"

To me, this indicates that Insignia was allowed to use or at least examine original Windows code (similar to IBM, which created Win-OS/2 this way).

hyoenmadan wrote:

Later SoftPC releases offered Win3.1 support, but them will not run in older 68Ks, only in the later models.

SoftPC/AT featured 286 emulation (hence the name). Wasn't this enough for Win 3.1 to be able to run in standard mode ?
Or did it work, but only wasn't officially suported by Insignia ? Please excuse my question, but I was 286 user
for a longtime so this makes me curious. 😀

hyoenmadan wrote:

SoftWindows is a PowerPC product, which has nothing to do with Motorola 68K series.

That's true for version 2.0, which I have a boxed copy of.
However, Version 1.0 was also available as a 68k binary if I'm not mistaken (or was it a FAT binary already ?)
I'm a bit confused now, because someone mentioned a "Softwindows 68K Demo CD" here.

hyoenmadan wrote:

About that rumor, i'm 99% sure it is false. You will see, Win3.1 codebase is 100% hand-crafted x86 assembler. System semantics and algorithms are very tied to how things are done in x86 CPUs, so porting it to an alien architecture wouldbe harder than crafting an new OS from zero. And that's exactly what MS did with NT. And ofc you can't mix 68K with x86, isn't magic you know.

Perhaps it is, but I never meant that. I thought of a much smaller scale. I talked about certain DLL files. Even though Win 3.1 was (widely) optimized
in assembler, it was largely based on the C code from Windows 3.0.
Besides, it is/was a common practice (generally speaking) to write important code in a high-level language
first, then to re-write certain parts of it (if necessary). So it's not unlikely that Windows 3.1 source code was also available (but never used)
in an un-optimized version in plain C.

hyoenmadan wrote:

And ofc you can't mix 68K with x86, isn't magic you know.

Not on native hardware, of course (excluding CPU cards). But what about virtualized/emulated environments ?
Isn't it possible to pipe certain instructions out of this environment to the OS or underlying hardware ?
I thought that Guest Additions work in a similar fashion nowerdays.

hyoenmadan wrote:

What is real truth is that Insignia worked closely with MS in order to create NTVDM and support DOS/Win3 apps in RISC CPUs through it. To accomplish that, NTVDM has built in a minimal SoftPC version as engine, which provides the virtual hardware environment to DOS/Win3 apps. In x86 NT NTVDM only uses peripheral and video code (while the rest runs in host as V86 task), but in RISC versions it also uses Insignia vCPU core.

Interesting. Would make sense, since they offered products for Unix driven RISC platforms. Thanks for pointing that out. 😀
Btw, IBM had similar ideas for the PPC version of OS/2. I think they called it EM86 or something like that.
http://www.ecomstation.it/pido2/home/esterni/os2power.pdf

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 16 of 32, by SquallStrife

User metadata
Rank l33t
Rank
l33t
hyoenmadan wrote:
Scali wrote:

DOS doesn't need drivers. It accesses hardware directly.

HAHAHAHaHaHahahaha...

No, he's right.

Other programs that you run from DOS might rely on TSRs to access specific types of peripheral hardware, but not DOS itself.

VogonsDrivers.com | Link | News Thread

Reply 17 of 32, by gdjacobs

User metadata
Rank l33t++
Rank
l33t++

DOS relies on BIOS heavily. Plus, sound and networking hardware do require loadable drivers (as noted previously).

All hail the Great Capacitor Brand Finder

Reply 19 of 32, by Scali

User metadata
Rank l33t
Rank
l33t
hyoenmadan wrote:

HAHAHAHaHaHahahaha...
Fueh... If was so easy, Marvin section wouldn't exist at all 😜.

It's true though. DOS only uses BIOS routines for video and disk IO. DOS applications that use graphics or audio will poke the hardware directly. Which is why your hardware generally needs to be register-compatible with VGA and Sound Blaster to get it to work.
The only things that are sorta driver-ish are things like a mouse driver, CD-ROM driver or network card driver (basically TSRs).
But these are all optional. If you just want to boot into a clean command.com, you need no drivers or configuration whatsoever.

http://scalibq.wordpress.com/just-keeping-it- … ro-programming/