October 19, 2019, 05:18:31 am

Daydream ROM box kit

Started by pentium, September 15, 2008, 11:26:02 pm

Previous topic - Next topic

Rob Blessin Black Hole

Quote from: "schubige"
QuoteFirst is that everything I run, reports the CPU capped as a 68020. Obviously cubes are 68030/68040's. Is this just programs checking the ROM, or is it intercepting any check and reporting the 020?


The physical address layout of a NeXT is quit different from a Mac. Thus daydream uses the MMU (Memory Management Unit - translates between logical and physical addresses) to put together a layout which is more like a real Mac (mainly memory starting at 0x0, the ROM at the right location, devices at some MacOS friendly place). If we tell MacOS that it has a '030 or a '040 under the hood, it will use the MMU for it's own purposes (mostly virtual memory on MacOS) and discard the layout daydream puts in place. That's why it says '020 (68020 has no MMU) - the MMU is our last line of defence. Keep in mind that this is not an Emulation (as Basillisk is) where potentially every instruction can have some special treatment. Daydream just makes the NeXT look as much as possible as a Mac LC, replace a few drivers and off it goes. PowerPC Macs have universal ROMs which are way more configurable. E.g. there are tables describing the physical layout of the hardware. But porting them to NeXT is at least a 1-2 man-year project.



Regarding the 1-2 man-year project , we are just the guys to do it  he he he .... may be if stuff were assigned in modules , heck I'm willing to try smaller stuff it would be yet another fun project for spare time. We are getting a lot of new users and increased forum activity as more people are restoring NeXTs or using it in emulation and looking for fun stuff to do.

I would also like to see an graphical NeXT / Openstep app that would make it easy to configure   a NeXT or emulator to get on line. The thought is it  steps you through how to configure it to work with Comcast or other cable modems. I know we have Timothy Luoma's Cable Modem FAQ but an app would make it so much easier. I'll start another thread on this.
Rob Blessin President computerpowwow ebay  sales@blackholeinc.com http://www.blackholeinc.com
303-741-9998 Serving the NeXT Community  since 2/9/93

schubige

Quote
In a word awesome , I'll see if I can roiund up my MAC OS 8.1 disk .... will 8.1 work now ( I realize its beta) under Darkmatter on a NeXT ?


I didn't test it on the real hardware yet. But if it works with Previous, it should work on the black hardware as well. I will cleanup the code and post a Darkmatter update including Mac OS 8.1 install instructions soon.

As you can see in the screenshot, there is no more 68020 stuff around. Darkmatter exposes the full native 68040 to MacOS. The darkmatter/daydream kernel does some tweaking so that the MMU is left alone. But I think that's about as far as we can get wit MacOS on black hardware. Adding sound would be nice though  :D . Yet another project...

neozeed

Quote from: "schubige"The impossible is sometimes quite possible. Thank's to darkmatter's flexibility it's not that difficult to extend daydream now. Especially together with Previous it becomes a quite powerful development environment. I wish I had that 20 years ago. We always dreamed of 68040 in-circuit emulators... The whole hack needs still some cleanup but Mac OS 8.1 is able to run with Mac LC ROMs! Darkmatter/daydream now basically tells the system that it is a Mac LC with a '040 accelerator board. Et voilĂ , with a bit of System file hacking the whole thing boots into the Finder:
https://onedrive.live.com/redir?resid=85F82C85086387B5%2141530
https://onedrive.live.com/redir?resid=85F82C85086387B5%2141529
For the sake of recursion:
https://onedrive.live.com/redir?resid=85F82C85086387B5%2141531


Wow that's pretty cool!  So now I can share the same 'disk' between Basilisk II and Daydream!  .. Now we need a 'turbo' button.. or would it really screw with stuff if say the 68040 got boosted to 100Mhz after MacOS booted? or faster?
# include <wittycomment.h>

barcher174

Quote from: "schubige"
As you can see in the screenshot, there is no more 68020 stuff around. Darkmatter exposes the full native 68040 to MacOS. The darkmatter/daydream kernel does some tweaking so that the MMU is left alone. But I think that's about as far as we can get wit MacOS on black hardware. Adding sound would be nice though  :D . Yet another project...


Wow! Amazing work! It will be really helpful to have access to open transport networking too.

Thanks for your hard work!

Brian

schubige

QuoteIt will be really helpful to have access to open transport networking too.


OpenTransport seems to load (IE 3.01 and Netscape 4.04 work - as much as they can handle current web technology. Even the Google page is too much for them):
https://onedrive.live.com/redir?resid=85F82C85086387B5%2141539

I've also tested MacOS 8.1 on the black hardware ('040 cube):
https://onedrive.live.com/redir?resid=85F82C85086387B5%2141537
https://onedrive.live.com/redir?resid=85F82C85086387B5%2141536
and on the '030 cube (but this one is rather slow compared to the '040 - better stay with MacOS 7.5)
https://onedrive.live.com/redir?resid=85F82C85086387B5%2141538

GrafZahl

Wow that is really an incredible progress in such a short time. Thank you very much for your efforts. Darkmatter is running really good and very fast on my color turbo station (macos 7.5 / 128 MB RAM).

And even with much more memory and in a higher screen resolution then it did when I still had my Amiga 1200 with a 68040/40 turbo card using shapeshifter.

I know that Daydream and the next computers in general never were intended for such things like games but I still could not resist to try to start a couple of game demos like civilization 2, warcraft 1/2 or settlers 2 like I did on shapeshifter on my amiga many years ago. Unfortunately non did like to run complaining that they require a 256 color screen. Since macos is running in thousand of colors on a nextstation color I found this understandable but a little odd. So I guess this kind of software tries to open an unsupported indexed 8 bit color mode?

Civilization 1 demo did start in mono color mode.

Kind regards.

schubige

Arrgh...the NeXT color video hardware. I don't know who had that infamous idea to save a few bucks on VRAM and only equip 12 out of 16 bits per pixel with actual VRAM. This makes every attempt to have a different pixel layout than 4:4:4 impossible. Because of that screwed hardware. The Bt 463 is a great RAMDAC which can work with almost any conceivable pixel arrangement but with the NeXT VRAM layout, there is little else than 4:4:4 that can be done.

Furthermore, 12bit direct color is not a layout directly supported by QuickDraw. With the help of Apple, we rewrote substantial parts of QuickDraw to accommodate for that pixel layout (that's the "colorFix" system extension shipped with daydream - basically a huge QuickDraw patch). But applications which write directly manipulate pixel maps (mostly games) don't know about this mode and hence produce all kind of weird colors or don't run at all.

There were some experiments with an offscreen frame buffer supporting all standard MacOS video modes (1,2,4,8,16bit) but the performance overhead to convert the offscreen buffer to the actual frame buffer was so huge that it never made it into the product. Performance would have been very disappointing.

cuby

Quote from: "schubige"Furthermore, 12bit direct color is not a layout directly supported by QuickDraw. With the help of Apple, we rewrote substantial parts of QuickDraw to accommodate for that pixel layout ...

So you had official support from Apple when developing Daydream? That's amazing...

NeXTnewbe

Quote from: "schubige"
QuoteIt will be really helpful to have access to open transport networking too.


OpenTransport seems to load (IE 3.01 and Netscape 4.04 work - as much as they can handle current web technology. Even the Google page is too much for them):
https://onedrive.live.com/redir?resid=85F82C85086387B5%2141539

I've also tested MacOS 8.1 on the black hardware ('040 cube):
https://onedrive.live.com/redir?resid=85F82C85086387B5%2141537
https://onedrive.live.com/redir?resid=85F82C85086387B5%2141536
and on the '030 cube (but this one is rather slow compared to the '040 - better stay with MacOS 7.5)
https://onedrive.live.com/redir?resid=85F82C85086387B5%2141538


Great, can you publish the already patched file, please :)

I don't have a MAC 8.1 image can this be available too, please

schubige

QuoteSo you had official support from Apple when developing Daydream? That's amazing...

Our license agreement (for the LC ROMs and System 7.1) included limited support from Apple. We spent some time in Cupertino at Mariani Avenue to implement the QuickDraw fixes.

I will upload the System 8.1 patches together with a new Darkmatter in the next days. I'm still testing a few things.

Unfortunately I can't upload System files nor installer CD images for the obvious legal reasons. But they are easy to find on the web.

neozeed

Quote from: "schubige"Arrgh...the NeXT color video hardware. I don't know who had that infamous idea to save a few bucks on VRAM and only equip 12 out of 16 bits per pixel with actual VRAM. This makes every attempt to have a different pixel layout than 4:4:4 impossible. Because of that screwed hardware. The Bt 463 is a great RAMDAC which can work with almost any conceivable pixel arrangement but with the NeXT VRAM layout, there is little else than 4:4:4 that can be done.


Of course this being all emulated, you can control the other side of the fence, and add things that never existed in the NeXT side...  I know it's cheating but it may be for a worthy cause....
# include <wittycomment.h>

schubige

what you need:
    * System 7.5
    * System 8.1
    * ResEdit
    * System 8.1 patches:
https://onedrive.live.com/redir?resid=85F82C85086387B5%2143354
* Latest darkmatter: https://onedrive.live.com/redir?resid=85F82C85086387B5%2139247
[/list]

How-to:
    - Boot with System 7.5
    - Start System 8.1 Installer
    - Under "Options...", deselect "Update Apple Hard Disk Drivers"
    - Reboot with System 7 (e.g. daydream emergency disk). System 8.1 will not boot without the patches.
    - Use ResEdit to copy all resources from "MacOS 8.1 System patches" to the "System" file in the system folder of the newly installed MacOS 8.1
    - ResEdit asks to replace resources with the same ID. Close that dialog with "Yes"
    - Save the System file and reboot
    - MacOS 8.1 should start now
    - Copy the "colorFix" system extension to the extensions folder if you run daydream on a NeXT Color Station
    - disable all unneeded / unwanted control panels and system extensions


Note:
The memory control panel still shows the option to turn on virtual memory. Don't enable it. You will have to reinstall the system (the setting is written to the System file). I'm still working on that.

Andreas

stupid questions: daydream seems only to work with the BNC-Ethernet, not the RJ45 one. Does darkmatter work with the RJ45?

schubige

I'm not aware of any RJ-45 problems. I just tested it on the cube:
https://onedrive.live.com/redir?resid=85F82C85086387B5%2143723

barcher174

Maybe a dumb question. Is the 68030/40 support limited to 8.1? I am trying to use the newest kernel with 7.5.3 and it still sees a 68020 CPU.

Thanks,
Brian