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...
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...
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.
Hi Programmingkid,
The link I sent you seems to be cut, ftp://ftp.software.ibm.com/rs6000/technology/spec/
Here is PReP specification 1.1, download srp1_1.exe and just unzip it. Ignore the independent .ps.Z files, the first one is corrupt.
Also http://remote.org/sven/ppc.html you can find information about the 40p, one specific chrp computer that supports Windows NT.
On 31/07/17 01:47, Programmingkid wrote:
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.
On Mon, 31 Jul 2017, Natalia Portillo wrote:
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).
Are you sure about sam4x0ey being CHRP compliant? These seem to be built around an AMCC embedded PPC SoC with some additional hardware and do not look like something resembling a PC. They also have UBoot instead of OpenFirmware. (I'm working on emulating the Sam460EX but it's not ready yet.)
The Efika may be a CHRP machine, at least that has an OpenFirmware implementation and mentions CHRP compatibility with regard to that but I'm not sure if that's meant for the firmware only or the hardware is also compliant (this is also built on a different SoC).
Regards, BALATON Zoltan
Hi,
I'm pretty sure they're not compliant, but they're more similar to CHRP than to NewWorld or OldWorld macs as we currently have emulated, so any step to CHRP is a step to them.
On 31/07/17 10:51, BALATON Zoltan wrote:
On Mon, 31 Jul 2017, Natalia Portillo wrote:
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).
Are you sure about sam4x0ey being CHRP compliant? These seem to be built around an AMCC embedded PPC SoC with some additional hardware and do not look like something resembling a PC. They also have UBoot instead of OpenFirmware. (I'm working on emulating the Sam460EX but it's not ready yet.)
The Efika may be a CHRP machine, at least that has an OpenFirmware implementation and mentions CHRP compatibility with regard to that but I'm not sure if that's meant for the firmware only or the hardware is also compliant (this is also built on a different SoC).
Regards, BALATON Zoltan
Hello,
On Mon, 31 Jul 2017, Natalia Portillo wrote:
I'm pretty sure they're not compliant, but they're more similar to CHRP than to NewWorld or OldWorld macs as we currently have emulated, so any step to CHRP is a step to them.
It's true they are not similar to Mac hardware (but I think old world Mac is closer to CHRP). However the Sam4x0ey are also not like CHRP or any standardised platform, they are similar to embedded PPC boards (I don't know about the Efika). So I don't think this is useful for Amiga like OSes. For NT for PPC we also have 40p (RS/6000) emulation in QEMU recently which may be closer to PREP/CHRP and maybe it could run NT for PPC (and other such OSes) with less changes.
For Amiga like OSes the Sam460EX is a good target because it can run both MorphOS and AmigaOS today (besides Linux). I have a somewhat working version in QEMU now but it still not working enough to run any of these OSes yet but I'll try to clean it up and merge back to QEMU (maybe in the next development cycle) so others can try to look at it too if I'll have time for that.
I'm not interested in Windows but OS/2 for PPC seemed interesting until I've read that even the final released version was very unfinished and lacking e.g. networking support. So maybe it's more useful to spend time on enabling some more useful OSes (which are not available in other already emulated versions) than these obscure ones. They seem to only be interesting for historic reasons for which is probably better to also get a real RS/6000 to run them. But of course everyone can have their own opinion on what's interesting to them.
Regards, BALATON Zoltan