On Jul 30, 2017, at 7:49 PM, Natalia Portillo claunia@claunia.com wrote:
Hi Programmingkid,
You're very very out of the way.
First of all you don't need to implement PE support on firmware for Windows NT, on any platform.
The firmware for RISC machines was used to load <ARCH>/SETUPLDR in the installation disk or /NTLDR on the system disk. Those, are COFF executables (that afaik, are already supported on OpenBIOS).
Second of all, Windows NT is for PReP that in QEMU currently has not been adapted to OpenBIOS at all, still running the archaic and abandoned OHW.
And last but not least, you need all the PReP hardware emulated. Last time I checked it was very far from complete. But that was in qemu's 0.7 age, so, eons ago.
If you want to get WinNT/PPC running on QEMU you should do things in the following order:
1.- Get OpenBIOS running on qemu -M prep 2.- Make OpenBIOS support whatever SETUPLDR expected in Motorola or IBM OpenFirmware implementations 3.- Put the miscellaneous "PC" components from qemu -M pc to qemu -M prep (as PReP is mostly a Pentium 1 motherboard with a PowerPC processor) 4.- See how NT crashes (or works :p)
The good side, is that when those 4 steps are done you've done ~90% of what is needed to emulate OS/2-ppc, Solaris 2.5.1 for ppc, and some versions of AIX, and about ~70% of CHRP emulation (sam4x0yy for AmigaOS and efika for MorphOS, those are CHRP computers).
Here you got the specifications: ftp://ftp.fit.vutbr.cz/pub/doc/PREP/srp1_001.ps.gz
Regards, Natalia Portillo
On 30/07/17 17:22, Programmingkid wrote:
On Jul 30, 2017, at 11:25 AM, Mark Cave-Ayland mark.cave-ayland@ilande.co.uk wrote:
On 28/07/17 02:27, Programmingkid wrote:
On Jul 27, 2017, at 12:36 PM, Răzvan Corneliu C.R. VILT razvan.vilt@gmail.com wrote:
Andrei Warkentin managed to get as far as booting veneer.exe but it crashes at the NT Kernel using his prephv build (https://github.com/andreiw/prephv/).
OpenBIOS cannot load PE Images and I believe that even if PE loading was added to it, it wouldn't help since you also have some special >> requirements for little endian booting and some for the load-base.
I'd be very interested to discuss some of this over on the OpenBIOS mailing list - writing a PE driver should be fairly simple these days.
Veneer.exe is basically an emulator for the ARC Firmware needed by the NT OSLoader.exe on top of the openfirmware environment.
About one year ago I did some digging into this documented on Artyom's blog. http://tyom.blogspot.ro/2014/09/open-firmware-for-qemu-system-ppc-m-prep.htm...
If you want, you can write a minimal MZ-PE Loader in Forth and we'll take it from there.
All of the other OpenBIOS loaders are written in C, so I don't see why the same couldn't be done for MZ-PE, especially as most people find that considerably easier than Forth.
ATB,
Mark.
Hi Mark. I was just thinking about asking you about this. It would be fun to make Windows NT 4.0 PowerPC work in QEMU. For anyone who is interested I found this page on the PE format. It might be helpful: https://msdn.microsoft.com/en-us/library/windows/desktop/ms680547(v=vs.85).a...
Thank you for all this information. It looks like step one is changing QEMU so the -M prep machine starts OpenBIOS.