Console Mode with third-party PCI card w/ open firmware bios,Open Boot Info

PPC macs used open firmware to boot, and their videocards contained forth code in their rom. There are even custom roms for PC video cards which contain code for the PPC mac open firmware.

Could such a card be initialized as the primary display device on an Ultra 5?

I'm betting I'm going to be answered with 'use a sun branded card'. I can't imagine the rom on these cards is so much different than that used on the PPC mac?

What exactly does Open Boot do to find a videocard? Are there any documents on this? I assume it finds some forth routine in the cards rom and runs that to initialize it and identify it's capabilities? Again, I would really appreciate some direction on where to look for docs.

I'm confused on the difference between openfirmware (apparently a spec), and open boot (sun's implementation? Are all implementations compatible with eachother?)

http://www.openbios.org/Welcome_to_OpenBIOS

"Open Firmware is found on many servers and workstations and there are several commercial implementations from SUN, Firmworks, CodeGen, Apple, IBM and others."

Additionaly, what is the sun4u architecture? sun4v architecture? Which workstations are which? System handbook doesn't seem to say under 'hardware specs'.

So, if all else fails and using a card with an openfirmware rom doesn't help me, how do I go about doing this myself?

I know how to work VGA console mode via the stardard vga registers, Is there a way to get open boot to do exactly what I tell it in terms of registers and addresses?

Can I get an uncompiled form of my Open Boot Prom for my Ultra 5?

All I'm really looking for is good docs/source on how Open Boot/ Open Firmware work, specificly conerning PCI video devices.

Thanks for any tips.

[1811 byte] By [greguaa] at [2007-11-26 17:24:53]
# 1

Well, I've been able to answer my own questions.

As far as the Fcode on a mac video card goes, It's hard to read when it's headerless, but I'd assume it'd work. Too bad I can't find a mac bios for my exact card.

So, thanks to the OpenBoot documentation, available at docs.sun.com, I wrote a little VGA device driver to set the mode, then everthing else (character output routines etc.) is done by OpenBoot once you hand it the initialized framebuffer.

This essentialy makes any PCI card suitable for use with OpenBoot. Sun video card PROMs are nothing exotic.

Now.. about using OpenWindows with any card... hmm. Again, any tips are still apreciated.

greguaa at 2007-7-8 23:52:55 > top of Java-index,Sun Hardware,Workstations - General Discussion...
# 2

I read this with a great deal of interest as I had previously tried to use a XVR-500 in an Ultra5 without success. This is a card which has the Sun F-code and should be compatible with the PCI slots albeit running at a slower speed. The card wasn't recognized at the OB level. I was thinking a ATI Radeon 7000 (MAC Edition) would probably work as it's almost identical to an XVR-100, but I haven't tried one. Anyway, I'm encouraged by your success and may get the XVR-500 off the shelf again.

I don't understand why OpenWindows would be a challenge (but I'm no expert), did you mean OpenGL?

Sparcya at 2007-7-8 23:52:55 > top of Java-index,Sun Hardware,Workstations - General Discussion...
# 3

I haven't looked at anything beyond the OpenBoot level.

I've been neglecting this project for some time.

I just wanted to let anyone else in my situation know that the sun OpenBoot documentation was very helpfull in my sucessfully setting a mode with the card.

I don't know how the OS and later OpenWidows interact with the card, or with the information OpenBoot has about it, and it's current mode.

I hadn't really looked at any of that yet. Though this information will probably show up as soon as I bother to look for it, it'd be nice if some one recommends a specific doc, or has a short answer about the topic.

There happens to be an open source driver for my card, for XFree86 and Xorg, however, I've had enough of a challenge merely using OpenWindows.

/etc/X11/xorg.conf /etc/X11/XFree86.conf

Where are simmilar files for OpenWindows? Again, it's probably in some docs I haven't bothered to read yet.

Sparcy: Weird that the card has Fcode and OpenBoot doesn't add it's package to the device tree. I assume it treats it like a non Fcode PCI card? Does it recognize the contents of the PCI base address registers? Try proding it's PCI registers and see if they behave as expected.

If the card is actually working and you can read the expansion rom I don't see why the Fcode didn't work. Maybe it has a later incompatible Fcode revision? Open boot 4.x 5.x? sun4u as opposed to something else? Or maybe the Fcode was designed to lock the card to a certain type of system (I doubt that).

http://www.sunshack.org/data/bootroms.html

Newer versions of openboot, and new hardware series listed at that link. Where's a more complete list?

Oh well, I guess I should bother to read up on this more thoroughly and finish the job.

Let me know if you find out what the problem was, or if you try that MAC card. Thanks.

greguaa at 2007-7-8 23:52:55 > top of Java-index,Sun Hardware,Workstations - General Discussion...