-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
4 changed files
with
7,386 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These disks are fascinating. They look like they contain an April 1991 build of NT, for a Jazz board with an R3000 chip (WOW indeed!). Any idea what the NT build number is?
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't recall, sorry. I believe these files memorialize our first attempt to run a 16-bit Intel Windows binary (eg, Reversi) on a MIPS NT build, using a using a rudimentary x86 emulator I'd written for the demo. If anyone figures out how to do anything useful with these files, be sure to let me know. :-) Thanks.
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is cool! I thought it may have been an accidental addition personally. But what do these have to do with PCjs? They're specifically for hardware based on MIPS.
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jeffpar The current best idea is to try it with a Jazz machine, emulated in MAME. However, Jazz had an R4000, while this build seems to be R3000 (which is quite exotic), so one would have to jerry-rig an R3000 Jazz in MAME (with custom firmware) and then do some trial and error.
Do you remember enough about the hardware this ran on to say whether that's a good start?
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
True, the binaries are only viewable (not runnable) in PCjs, but I didn't have a better place to store them, and I don't plan on doing a MIPS emulator any time soon, so here they are for now. As for hardware details, I honestly don't recall, but it sounds like you're on the right track. The only other bit of information I was able to find is a PDF copy of some early WOW planning email, which may be helpful. As soon as it's uploaded, I'll post a link here.
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here you go: https://www.pcjs.org/software/pcjs/#early-wow-development-filesnotes
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jeffpar I put together a simple R3000 Jazz platform and managed to get an ARC firmware running on it and loading the kernel, which hangs waiting for a debugger connection (miraculously, the R3000 Jazz IO as used by this NT kernel seems to be identical to the R4000 Jazz stuff). The trouble now is that the mipskd debugger (running on OS/2) doesn't seem to want to connect; almost like it's waiting for something else. I noticed that mipskd sends:
boot -f mop(1)/ntoskrnl.exe
over serial, first thing after you run it; probably as a command over serial to some ancient firmware. Do you recall anything about whatmop(1)
means here, or what the debugger might be waiting for?745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jeffpar where did you get these images from
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
From the physical diskettes that I backed the files up on in 1991.
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
do you have any other beta versions of windows?
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've asked some other WOW developers if they recall anything useful and will let you know. Other than preparing for the April 1991 demo, I did very little work with MIPS hardware, and my recollections of NT kernel debugging are vague (I moved to the Windows team in mid-1991), so you may have to sleuth this out on your own.
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No. I might have a few more old OS/2 files somewhere, but that's probably it.
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, thank you! Also, if you have any idea where a real firmware image/source code for R3000 Jazz might be found, or someone who might have one, that would be extremely helpful. I think it's possible to make do without it, but it makes debugging these weird issues much more difficult when you can't tell whether it's your hacked-up ARC's fault.
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
None of the Microsoft OS/2 2.0 stuff by any chance?
One of the tee shirts appeared on eBay, love the Star Trek V vibe!
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jeffpar I thought you'd like to hear that myself and @substanc3-dev managed to boot this build in a purpose-built R3000 Jazz emulator with custom firmware!
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WOW indeed! That is so cool. I had my doubts those disks were even usable, especially considering how little help or other info I was able to find. You guys are awesome.
You should think about doing a write-up on the whole process you went through. Youβre welcome to do a guest post on my blog, but it doesnβt matter where, it should be a great read. Thanks for doing this!
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here's the essential of what had to be done to get it working:
Because it's a homebrew hackjob, it obviously will not be accepted in MAME, but here's the gist:
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So many hurdles, and you didn't lose hope. Just saying thanks seems insufficient. Let me know if there's something I can help sponsor (a project, a hardware request, whatever) to thank you for your time, too. Also hoping you will ultimately be able to share a set of binaries or files to help others recreate the experience (including your custom firmware and driver).
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Of course we will share a guide on how to set it up :)
To add to @jackson2k2's comment: there's also a problem with the SCSI controller - for whatever reason, for me, the kernel times out waiting for an interrupt from it and enters a reset loop, trying to reset the controller, then wondering what the hell the state that the controller reports means.
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
but still, those problem can be raised in MAME or even providing them a fix, just like @Wack0 created some PRs to fix dolphin emulator when he was porting NT4 PPC to Wii.
https://github.com/dolphin-emu/dolphin/pulls?q=is%3Apr+author%3AWack0
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This smells like something from pre-v1.2 ARC firmware specification.
745b046
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you remember what toolchain was used to compile this? I assume some kind of Microsoft C for MIPS, but it wouldn't surprise me if you used a different one. Was there ever a publicly released Microsoft C compiler for MIPS R3000?