-
Notifications
You must be signed in to change notification settings - Fork 31
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
BeOS? #35
Comments
In short, the chances to get BeOS emulated in dingusppc are good. I already created a basic emulator for TNT-style machines, see https://github.com/dingusdev/dingusppc/blob/master/machines/machinetnt.cpp Booting to Mac OS doesn't currently work due to incomplete SCSI hard disk emulation. That's what we're currently working on. We will actually get there but it will take some time. |
@maximumspatium how is the progress on the hard disk emulation? I saw a branch with a lot of commits - is it anywhere near worth trying out yet? |
While a basic SCSI hard disk and CD-ROM emulation has been recently added to Dingusppc the machines you'd need for BeOS don't boot yet. There are still missing parts, most notably ADB emulation responsible for user input (keyboard & mouse). |
That is great news. If you need any support let me know. I do have a known working image from an SD to IDE adapter (Action Retro used it on his youtube channel to boot BeOS) and so if that in any way helps, I can link you it. The image will mount in MacOS X and you can extract the individual partitions, so you might be able to use them even under a scsi emulation. The Mac hfs partition is super small (~2mb) so it has a lot less going on than a regular MacOS install (based on an 8.1 Disk Tools image.) It is just there to bootstrap BeOS. |
Hmmm, I'm interested with this project as currently, BeOS before R3.0 is not emulated enough. I'm also interested with this to try out Mac OS functionality. That raises the question of what exactly is happening with the support. Is it now kinda possible to boot from those CDs or are there hurdles to jump over? |
BeOS for PowerPC is not emulated at all. I don't know what the status is currently, but I think you would only be able to go back to PR1, maybe AA with this solution. Anything prior to that is problematic as there was only one release of BeOS from the DR days that supported Mac and that version is hard to come by in an installable state because the installer has expired now. |
DR8? Or the MacWorld Preview? Either way, I do think it might work if you could set the time back to when it didn't expire but that's on me, I don't really know if it's possible actually. |
I tried booting to BeOS (from Mac OS 8.1 on G3) and I made it this far but I'm not sure if it's stuck or it just takes a more than 5 minutes to boot. I tried to do these in QEMU and SheepShaver as well but they couldn't even make it to these. Here is the log:
|
Probably need to wait until |
@xmine64 Was this emulating a G3? BeOS will not generally boot on a G3 Mac, and I believe that is as far as it gets. If you emulate a Mac that had a 603 or 604 you'd maybe have more luck. I'm on mobile but I'll have a look when I'm back at home. |
Also - try holding shift when the 3D logo appears. It will go to the boot menu. I think that should work. |
Yeah, I forgot about that
Nothing happened on G3 I tried 604 machines, pm9600 doesn't have a display (ig it's not implemented yet), and others crash when I try to initialize hard disk, with this error message:
Also 8600 has 2 display outputs, and one is always black. |
For pm9600, you need to attach a graphics card. For pm8600, enable the second display by using one or both of these: Initialize hard disks outside of dingusppc using Disk Jockey. For sure dingusppc should not abort when doing non-DWORD read from a DMA channel, so that should be fixed. I don't think it happens in my fork. |
Oh I didn't know this, thanks! I tried pci_GPU though but it didn't work.
Oh I thought it's a bug
The disk is already initialized but for some reason it's not detected. I thought maybe it's because I initialized it with a newer version of Mac OS. |
The 9600 should work, but possibly not the Kansas version. BeOS was known not to like it.
I have an image shared on Dropbox. It is R5 and has a cut down Mac system that only boots the disk tools then launched BeOS. It was from and IDE drive though so no idea how well it would work with SCSI.
I have never tried a disk initialised by an OS that doesn't run on a BeOS capable Mac, but pretty sure it can boot from a MacOS 9 partitioned drive, so long as the boot OS is 7.5 - 8.1 (possibly 8.5 but it is a bit iffy). I never tried booting from a drive formatted by a third party tool though. BeOS should be able to detect the hardware. The boot loader does do some boot strapping from the device tree MacOS loads. That might need to be updated to make it work. I am going to be doing some research on this so I will report back when I know more. |
Are the serial ports emulated and if so can we get the output logged anywhere? It is possible to get BeOS to produce logs when it boots. For PowerPC this is only ever over the serial port, I believe the modem port. You can force it always on with config, but F1 (or possibly del) should start it once the 3D logo is showing fully rendered. It might help in diagnosing what BeOS is doing. |
Multiple display support needs some work. I have connected up to 14 displays to dingusppc which works in classic MacOS (had to add code to connect the extra PCI bridges and graphics controllers). A graphics controller that doesn't have a display connected probably doesn't need to have a window, but you want at least one window to appear to do GUI stuff (if controls are added to the window some day in the future). One might want to hide and unhide windows or close them temporarily. One might want to be able to connect a display after booting the guest, since some guest OSes do support hot plugging displays.
BeOS can work on Kansas. dingusppc doesn't yet support Kansas. The modem port can be accessed using a Unix socket using this parameter: This socket backend is used mostly for accessing Open Firmware. It allows input/output in a separate window than the one used for dingusppc so that the stdout logging of dingusppc doesn't get mixed with the output from Open Firmware (or from OS X booting). |
@joevt thanks for all the info. Super helpful! Tsunami was always the best supported hardware in my opinion - is that on the cards? |
Tsunami (pm9500) is mostly done already, same as Nitro (pm8500). They are based on Tnt (pm7500) in dingusppc. Would Power Surge be a better name for all these than Tnt ? |
The 9500 is probably problematic for BeOS because we'd also need to emulate a video card that is compatible with it (and the list is short) but the 8500 has onboard video, right? BeOS supported that. 8500 might be the one to use as a target if it emulates the onboard graphics. How close is almost? I will sit down in a week or so and try it out as I have a week of leave booked end of August. If I can help with the code I will, but I'm not a hardware guy so developing an emulator is probably outside of my current skill set. I'm open to learning though. I really want PowePC BeOS emulation. |
8500/9500 can boot classic Mac OS but there are issues for other OS's such as Mac OS X and BeOS. There may be some CPU issues as well as hardware issues. The 7500/8500/8600 built-in display output works. The 8500/8600 also have working Composite/S-Video output. |
It will as it is one of the controllers that are supported. |
I'm going to push more SCSI fixes next week. MESH still needs some more work, especially the DMA part. I want to get DriveSetup (the successor of Apple HD SC Setup) working in DingusPPC first before trying BeOS. |
I had a go - the emulator crashed when the emulated computer transitions from MacOS to BeOS. You do see the BeOS "Be" logo, but it falls back to the debugger. When I have more time I will see what works. For anyone wanting to try this, I used:
I got it to boot to MacOS, but I couldn't initialise a drive to install it, so I used the other images to open the LoadBeOS app and boot BeOS. I don't think it actually got as far as booting BeOS though. |
I wonder if it fails at the point where it uses that infamous undocumented trick to switch back to supervisor mode. |
Yeah, probably. It is pretty easy to recreate. I used the 8500 rom and set it to have 128mb ram. But nothing else other than the files I mentioned are needed. If I get a chance I'll run again and get the address if faults at. |
I have a pre-installed hard disk image of BeOS. It gets stuck on an infinite loop with this:
|
There is currently no emulator that can emulate the PowerPC version of BeOS. If you were to get to the point this boots to MacOS, and emulates a PCI Mac with a 603 or 604 processor, it would be very cool to get BeOS running on it. BeOS booted on 7300, 8500, 9500 among others. Any chance one of those might work in the future?
The text was updated successfully, but these errors were encountered: