VOGONS


Windows NT on Motorola Powerstack II

Topic actions

Reply 20 of 40, by SquallStrife

User metadata
Rank l33t
Rank
l33t
red-ray wrote on 2020-01-09, 08:41:

This thread made me wonder Intel x32 executables will run on a PowerPC NT4 system, does anyone know is they will? This is possible on my DEC Alpha NT4/W2K system, but I have never tried doing so on either PowerPC or MIPs system.

If they do I would be interested to know how my SIV32L utility does, see SIV support for 386/486/586 class + Alpha CPUs and 3dfx + S3 + SiS + Matrox + XGI + old ATI + NVidia GPUs - Testing Help

On WinNT PPC, Win16 and DOS EXEs will run, but not Win32.

VogonsDrivers.com | Link | News Thread

Reply 21 of 40, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie
SquallStrife wrote on 2020-01-09, 11:57:

On WinNT PPC, Win16 and DOS EXEs will run, but not Win32.

Thank you, but I was wondering if by now there was a 3rd party add-on that supported running Win-32 applications.

I just found the 1995 vintage MSVC 4.0 RISK Edition for PowerPC CD that I used back then, but as I no longer have a PowerPC I can't install it, further I don't even know if I could compile SIV with MSVC 4.0 as I have only ever used MSVC 6.0 for the SIV32L.exe (x32) + SIV32A.exe (Alpha). I guess if I had a PowerPC and tried hard enough I could compile say SIV32P.exe + SIVP32.sys for PowerPC.

I also have the MSVC 4.0 RISK Edition for MIPs CD and seem to recall MSVC 6.0 was never available for either PowerPC or MIPs.

Reply 22 of 40, by hyoenmadan

User metadata
Rank Member
Rank
Member

Guys... A few win32 apps can run now in NT MIPS thanks to this...
http://retro.ircx.net.pl/nt/mips/wx86/

Is the core technology that was licensed and used later on DEC Fx32! package, and still lives more or less in the WoW32 layer for Windows 64bit and WoA32-64 for Windows ARM. Unfortunately only the package for MIPS was found... PPC one still keeps lost in time sands.

Reply 23 of 40, by sorrow

User metadata
Rank Newbie
Rank
Newbie

thanks @hyoenmadan

I was able to start * NT Setup - see the picture.

When ESC is pressed the program terminates.

When ENTER is pressed or countdown reaches zero, there is black screen again and error "VrOpen returned d"

Reply 24 of 40, by hyoenmadan

User metadata
Rank Member
Rank
Member

Can you post a screenshot of "printenv" command in the "ok" prompt please?

ED: Looks like VEENER can take the environment variables setup by "setenv" command as i thought. The VrOpen failed message is because the ARC path was incorrect... Is difficult to know what is the right one because i don't know how really VEENER maps the OFW device tree paths to ARC convention, we need to try a few other known paths to check what one makes it work.

You can try the following changes:

printenv
setenv LOADIDENTIFIER NTSetup
setenv OSLOADPARTITION scsi(0)cdrom(6)fdisk(0)
setenv OSLOADER scsi(0)cdrom(6)fdisk(0)\ppc\setupldr
setenv OSLOADFILENAME \\
boot cdrom:,\PPC\VENEER.EXE

From these commands you can also try to change the "scsi(0)cdrom(6)fdisk(0)" with "scsi(0)cdrom(0)fdisk(0)" or "multi(0)disk(0)cdrom(0) and see if one of these work. SETUPLDR needs to get all these variables right so it can boot correctly.

If you want you can find me with the same nickname in Freenode IRC, so we can establish a more direct communication channel and see what we can do.

ED2: Corrected a bit... Wtf* they call SETUPLDR.EXE as SETUPLDR with no extension in PPC version? I don't know, because it keeps being a simple COFF32 executable as with other RISC versions.

Reply 25 of 40, by sorrow

User metadata
Rank Newbie
Rank
Newbie

Still the same result @hyoenmadan. I think I need to find proper values of those variable. I keep experimenting.

See the printenv output. It is default one since the battery is dead. I noted that ARC changes something but it is gone once I power off the machine.

I set up sorrow1 account of IRC but you look disconnected. Maybe I'm too young for IRC though (never used it).

Reply 26 of 40, by sorrow

User metadata
Rank Newbie
Rank
Newbie

The following variables booted NT Setup, which froze, however (second picture) ...

Reply 27 of 40, by Beluga

User metadata
Rank Newbie
Rank
Newbie

Did you make any progress with this? I am trying to do the same with my Bull branded version of the PowerStack II. ( Identification of PowerPC boards )

It only works for me when I use multi(). I really wonder why it crashes when loading the CD filesystem drivers. It loads about 20 other drivers before without an issue. Btw, the system really crashes, the Num-LED can no longer be toggled after that point. EDIT: The keyboard LEDs are not available before either, so this is no indication that it crashed.

I also wonder if there might be any chance that this is connected to the dead NVRAM chip?

Reply 28 of 40, by Beluga

User metadata
Rank Newbie
Rank
Newbie

I did some more experimenting here. I replaced the CDFS.SYS on the CD wit the updated one that comes with SP2. No success here. Right now I guess that it is loading the CD filesystem driver just fine; it is crashing after that, when loading the second phase of the installer. Here ( https://youtu.be/ddOBOBZu_bg?t=1577 ) you can see a successful installation. Right after the CD filesystem drivers are loaded, it boots into this second phase. I guess something gets screwed up there, but I have absolutely no idee, how I cold figure out, what it is.

What is also kind of weird: There does not seem to be a single instructions manual on the internet on how to use VENEER.EXE correctly. Did Microsoft really release absolutely no documentation for this?

My plan for now is to flash the Motorola fw.img from 1997 to the PROM. The Motorola Firmware Manual ( http://ps-2.kev009.com/rs6000/bull_motorola_p … _OF/ppcmfwa.pdf ) states that the PowerStackII Pro4000/166 is supported by it and that is how my machine identifies itself. (by typing "dev / .properties") on the prompt. Also, i found a post in a German forum that says that you can downgrade from OpenFirmware to the "Motorola ARC firmware" (I just call it like that because I still have no idea what its real name is. Probably just "Motorola firmware for PowerPC"). The problem seems to be that you cannot downgrade using the OpenFirmware update tool. This supposedly bricks your system. So I will try to flash the PROM chip outside of the mainboard.

Reply 29 of 40, by hyoenmadan

User metadata
Rank Member
Rank
Member
Beluga wrote on 2020-06-11, 22:34:

I did some more experimenting here. I replaced the CDFS.SYS on the CD wit the updated one that comes with SP2. No success here. Right now I guess that it is loading the CD filesystem driver just fine; it is crashing after that, when loading the second phase of the installer. Here ( https://youtu.be/ddOBOBZu_bg?t=1577 ) you can see a successful installation. Right after the CD filesystem drivers are loaded, it boots into this second phase. I guess something gets screwed up there, but I have absolutely no idee, how I cold figure out, what it is.

There isn't any problem at all. It loads all the files fine, but breaks in NTOSKRNL early-init stage (phase0). Most probably is due PowerStack-II HAL being incompatible with OpenFirmware (seems HAL in these systems was modeled around Motorola propietary FDOS(ARC) firmware, so the HAL knows nothing about OF or VEENER (VEENER and HAL share code). There isn't much can be done, except maybe build a new OF-aware compatible HAL for the system. Time to seek in ReactOS code 😀 .

What is also kind of weird: There does not seem to be a single instructions manual on the internet on how to use VENEER.EXE correctly. Did Microsoft really release absolutely no documentation for this?

VEENER, and the OpenFirmware bits were build by Firmworks Inc. for Microsoft. This initiative was supposed to be a sort of glue between Macintosh CHRP (NewWorld) systems and the Microsoft ARC firmware standard, so these could run MacOS alongside Windows NT. In the end the iniative failed miserabily due Steve Jobs returning to Apple, so the only known "pilot" systems ever seen outside MS/Apple laboratories with a VEENER aware OpenFirmware build were the Canon/Firepower Powerized computers. NT discs come with VEENER.exe (OF ARC-firmware emulator) and a OF-aware HAL for them (halfire.dll), but the system itself is set up using an "OEM Floppy" which was shipped along with the system. That floppy has an updated VEENER, and a VEENER ready version of ARCInst.exe/ARCsetup.exe. These will make a CHRP system partition, set up OF variables for the VEENER emulator, update the loaders in the system partition and launch SETUPLDR.exe from NT CD. These would also have updated versions of HALFIRE.dll, I dunno. TL;DR, there isn't documentation as this OF/ARC mechanism was only used in prototype newworld macs and only one comercial system series. So it was left up to the OEM to provide all the information about it. Since this got system/firmware specific, unfortunately means you can't really use the mechanism in other OF machines, as OpenBios/OpenBoot/MacOS/AIX ones. At least not without have to rebuild VEENER/HAL for them. You still can read some bits of VEENER in github's Mitch Bradley OF dump (actually a dump of original's Firmworks tree).

My plan for now is to flash the Motorola fw.img from 1997 to the PROM. The Motorola Firmware Manual ( http://ps-2.kev009.com/rs6000/bull_motorola_p … _OF/ppcmfwa.pdf ) states that the PowerStackII Pro4000/166 is supported by it and that is how my machine identifies itself. (by typing "dev / .properties") on the prompt. Also, i found a post in a German forum that says that you can downgrade from OpenFirmware to the "Motorola ARC firmware" (I just call it like that because I still have no idea what its real name is. Probably just "Motorola firmware for PowerPC"). The problem seems to be that you cannot downgrade using the OpenFirmware update tool. This supposedly bricks your system. So I will try to flash the PROM chip outside of the mainboard.

Probably your best bet, assuming you will get a compatible eeprom flasher. I don't remember well, but these come with TSOP intel flash chips, which are a pain in the a** to handle. Don't forget backup your firmware version, as i haven't seen recoveries for the Bull Estrella out there.

Reply 30 of 40, by Beluga

User metadata
Rank Newbie
Rank
Newbie

To begin with, I just did it! In the end, it turned out to be quite easy. All I had to do is to use Motorolas fw.img and MKFLP386 on a virtual machine with NT on it to create a bootable disk with the firmware on it. It booted just fine and I was able to backup the old firmware as well as install the new one. You have to do this with the flash tool on the FDOS command prompt. After that, it is quite easy to install NT. You just need to look out for a few weird bugs in the firmware. This ( https://www.youtube.com/watch?v=ddOBOBZu_bg ) video was quite helpful in that matter.

The last thing that I just did was to upgrade this machine to 256MB RAM and a whopping 1MB of L2 cache. Turns out that the components that I got with these other IBM RS/6000 boards just work fine on the Motorola. Now I just need to find an enclosure for it...

If anyone (I hope sorrow reads this) wants to do this on their own machine, you can save some time and just use the mr_fw_bootable.7z that I posted here. Just dd the image in it to a floppy disk. Then you need another standard-formatted floppy on which you just copy the Motorola fw.img (It can be found on archive.org, but I have uploaded it here as well, just to be safe). Then boot with the bootable disk, open the FDOS prompt and use the flash tool to backup ("flash /A backup.img") your old rom as well as to flash the Motorola firmware ("flash /R fw.img").

So it was left up to the OEM to provide all the information about it. Since this got system/firmware specific, unfortunately means you can't really use the mechanism in other OF machines, as OpenBios/OpenBoot/MacOS/AIX ones. At least not without have to rebuild VEENER/HAL for them. You still can read some bits of VEENER in github's Mitch Bradley OF dump (actually a dump of original's Firmworks tree).

That is quite interesting, thanks for posting that! I think I will use some more time to study that in the future.

Don't forget backup your firmware version, as i haven't seen recoveries for the Bull Estrella out there.

I attached it here, it is in the bull_of.7z file. If anyone wants to flash it: Boot into the Motorola firmware (possible with the bootable disk, that I also also provide here) and use the flash tool o the FDOS prompt. Probably there are a lot of other ways to do this, but of this one I know that it works.

There isn't any problem at all. It loads all the files fine, but breaks in NTOSKRNL early-init stage (phase0). Most probably is due PowerStack-II HAL being incompatible with OpenFirmware (seems HAL in these systems was modeled around Motorola propietary FDOS(ARC) firmware, so the HAL knows nothing about OF or VEENER (VEENER and HAL share code). There isn't much can be done, except maybe build a new OF-aware compatible HAL for the system. Time to seek in ReactOS code 😀 .

Yeah, that is the conclusion to which I came as well 😁 I guess it is kind of a surprise that the setup process even proceeds to this point.

Reply 31 of 40, by SquallStrife

User metadata
Rank l33t
Rank
l33t

Niiiiiice! Way to go man!

Uploaded these files to VogonsDrivers as well, with a link to this thread.

VogonsDrivers.com | Link | News Thread

Reply 32 of 40, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie

Well done in getting it going, is there much/any software that runs in it? It's a shame it doesn't have x32 emulation like the DEC Alpha AXP has.

I wonder if I could build a native SIV for PowerPC. I have MSVC 4 for PowerPC, but would need a system to run it on. I am also unsure if MSVC 4 will be able to build SIV has I use MSVC 6 for the Alpha AXP and Windows NT4/NT3/9x builds.

Reply 33 of 40, by Beluga

User metadata
Rank Newbie
Rank
Newbie
red-ray wrote on 2020-06-13, 08:24:

Well done in getting it going, is there much/any software that runs in it? It's a shame it doesn't have x32 emulation like the DEC Alpha AXP has.

I wonder if I could build a native SIV for PowerPC. I have MSVC 4 for PowerPC, but would need a system to run it on. I am also unsure if MSVC 4 will be able to build SIV has I use MSVC 6 for the Alpha AXP and Windows NT4/NT3/9x builds.

Thanks, it was a lot of fun for sure! Apparently there were at least two different emulators/translators for NT PPC. First WX86, which was mentioned here before and still seems to be missing (at least in the PPC version). And then I found this reference to SoftWindows 32 on the Motorola website: https://web.archive.org/web/19970720144124/ht … os/upgrade.html
I wonder if they ever shipped it, but at least it reads like they did.

In general there is not a lot of software available. Word and Excel were probably released, but are still missing as of today. Then there was a lot of software that was ported for benchmarking purposes, like PhotoMorph and Cinema4D. But I guess that these are lost as of today. Supposedly there was also WordPerfect as well as FrameMaker. For having some stuff to play around with: Luckily Tenox uploaded his collection to archive.org here: https://archive.org/download/ntrisc/powerpc/

Regarding porting SIV: That would be quite cool if you could pull it off. As far as I understand the most modern version is VC++ 4.1. It can be found here ( https://archive.org/download/ntrisc/powerpc/msvc/ ) Maybe you could try to get it working with the X86 version of VC++ 4.1 first and then try to port it over to PPC, once you have access to a machine?

EDIT: Btw, can anyone write a PM to sorrow about this? He probably does not check out the forum that often. And I cannot do it, as I just signed up here recently.

Reply 34 of 40, by binarymaster

User metadata
Rank Newbie
Rank
Newbie
red-ray wrote on 2020-06-13, 08:24:

I am also unsure if MSVC 4 will be able to build SIV has I use MSVC 6 for the Alpha AXP and Windows NT4/NT3/9x builds.

Beluga wrote on 2020-06-13, 18:45:

As far as I understand the most modern version is VC++ 4.1. It can be found here ( https://archive.org/download/ntrisc/powerpc/msvc/ ) Maybe you could try to get it working with the X86 version of VC++ 4.1 first and then try to port it over to PPC, once you have access to a machine?

I might be a bit offtopic, but I think it would be better to create PPC PE target for latest GNU C/C++ Compiler toolchain. VC++ 4.1 uses some ancient C standard afaik.

by Stas'M

Reply 35 of 40, by Beluga

User metadata
Rank Newbie
Rank
Newbie

I think some people out there have tried this, especially with Alpha AXP. As far as I understand, this is harder to do than it seems. But I have no personal experience with it so far.

Reply 36 of 40, by red-ray

User metadata
Rank Oldbie
Rank
Oldbie
Beluga wrote on 2020-06-13, 18:45:

Regarding porting SIV: That would be quite cool if you could pull it off. As far as I understand the most modern version is VC++ 4.1. It can be found here ( https://archive.org/download/ntrisc/powerpc/msvc/ ) Maybe you could try to get it working with the X86 version of VC++ 4.1 first and then try to port it over to PPC, once you have access to a machine?

Thinking back to when I ported SIV to Alpha AXP then I recall the main issue being that the Server 2003 SDK .H files not supporting Alpha and suspect I will be able to use the same tricks for PPC that I used for AXP. Given this I feel building an x32 SIV with VC++ 4 would not really help and am inclined to wait 'till I have an NT4 SP2 PPC system here.

I think you need to make 20 or 25 posts before you can send PMs.

I recall building native PPC images in the mid 1990s with VC++ 4, so suspect it won't be that hard; I just hope there are no compiler code generation bugs!

Reply 37 of 40, by binarymaster

User metadata
Rank Newbie
Rank
Newbie
binarymaster wrote on 2020-06-13, 19:16:

I might be a bit offtopic, but I think it would be better to create PPC PE target for latest GNU C/C++ Compiler toolchain. VC++ 4.1 uses some ancient C standard afaik.

Beluga wrote on 2020-06-13, 19:25:

I think some people out there have tried this, especially with Alpha AXP. As far as I understand, this is harder to do than it seems. But I have no personal experience with it so far.

UPD: I talked with @hyoenmadan in ReactOS chat, it seems using GCC for PPC does not make sense, because PPC LE (little-endian) GCC target exist, but is very outdated - some embedded code still uses it but has not been updated since GCC 2.x days.

You will probably have more success with PPC LLVM, but the little-endian PE target still has to be created.

by Stas'M

Reply 38 of 40, by Beluga

User metadata
Rank Newbie
Rank
Newbie
SquallStrife wrote on 2020-06-13, 07:17:

Niiiiiice! Way to go man!

Uploaded these files to VogonsDrivers as well, with a link to this thread.

I just checked it out. Just two suggestions: I would remove the "PowerStack II" from the title, as this should work with all Motorola PReP systems. This is what confused me in the beginning; I could not imagine that one single kind of firmware would work with different systems. But it seems to be intended like that. Also, I would remove the bull_of.7z from it. This is the backup of the OpenFirmware that was installed before. I guess it might confuse people, as you cannot install NT with it. Maybe you could upload it separately and call it something like "OpenFirmware for Bull-branded Motorola PowerPC PReP systems"

By the way: I just checked out your video again. You seem to have a slightly older version of the Motorola Firmware (3.04.04) instead of 3.04.08 which can be found on archive.org and (to my very limited knowledge) is the only version that is floating around on the internet. It would be really cool if you could do a backup of that as well. You don't need a programmer; you can just open the FDOS prompt within the firmware menu. Put in a formatted floppy disk and type "flash /A backup.img".

binarymaster wrote on 2020-06-13, 20:28:

UPD: I talked with @hyoenmadan in ReactOS chat, it seems using GCC for PPC does not make sense, because PPC LE (little-endian) GCC target exist, but is very outdated - some embedded code still uses it but has not been updated since GCC 2.x days.

You will probably have more success with PPC LLVM, but the little-endian PE target still has to be created.

Quite interesting! My take from that is, that LLVM might be an interesting way to go, but it is nothing that gives you quick results. I guess, if you just want to play around a bit, you are still stuck with MSVC++.

Reply 39 of 40, by GL1zdA

User metadata
Rank Oldbie
Rank
Oldbie

I think the embedded Visual C++ tools might contain a newer PowerPC compiler. Jason managed to get working MIPS NT binaries by using the embedded toolkit and an old Visual C++ linker: https://virtuallyfun.com/wordpress/2009/08/09 … d-visual-c-4-0/

getquake.gif | InfoWorld/PC Magazine Indices