On Jul 20, 2019, at 11:30 AM, BALATON Zoltan balaton@eik.bme.hu wrote:
On Sat, 20 Jul 2019, Jd Lyons wrote:
Using ATI ROM Xtender 1.2 with OS 9 and the ATY,Rage128v ‘NDRV’ i.e.
Where did you get Rage128v ROM and is it for Rage 128 instead of Rage128P i.e. Pro? If so it probably not supposed to work.
The ATI ROM Xtender is a bunch of disk based ‘NDRV’, for the Rage128 they match the “ name” property in the IOreg for our card. Changing the “ name” property you can test each one.
dev /pci/@f “ ATY,Rage128v” encode-string “ name” property boot
ATY,Rage128ns ATY,Rage128n ATY,Rage128o ATY,Rage128v
v1.2 contains these ns is a 32MB gram card, so is n, and o is a 16MB Vram card.
I’m able to get to the Mac OS 9 desktop with all but v albeit only 256 colors or grays, and it doesn’t seem right at 256 colors, really looks like 4bbp color.
These may not be complete ‘NDRV’s or they also rely on needing the full Code ROM, no resolution switching, but it’s progress.
You can also place the ATI ROM Extender in /System/Library/Extensions/AppleNDRV and load it the same as we do for OS 9 i.e. the name property.
They don’t work for OS X, still getting the console message ATY: not usable with all but v, v aborts with the same message as OS 9.
There is a later version of the ATI ROM Extender, I’ll have to see if I can dig it back up.
qemu-system-ppc -M mac99 -m 512 -hda '/home/jam/os9/os9.img' -device ati-vga -prom-env 'vga-ndrv?=false' -display sdl -prom-env 'boot-args=-v romndrv=1' -prom-env 'auto-boot?=false' -bios '/home/jam/openbios-qemu.elf' -prom-env "aapl,debug=3013FFF" -trace enable="ati" -trace enable="pci" -serial stdio qemu-system-ppc: -trace enable=ati: warning: trace event 'ati' does not exist qemu-system-ppc: -trace enable=pci: warning: trace event 'pci' does not exist
Your trace options are wrong, should have a * at end to enable all ati logs such as:
-trace enable="ati*" -trace enable="pci*”
Thanks I’ll try that.
Then you should see actual traces of what registers were written and what values they got. Then you can look up in register reference docs (can be found on vgamuseum.info, see links to appropriate cards on my qmiga.odsn.io page). But if the ROM is for a Rage 128 and we're emulating a Rage 128 Pro then it's possible the registers of these cards don't match so it shouldn't work. (It would not work with the real card either if you mismatch ROM.)
ati_vga_switch_mode: 0 -> 1 ati_mm_write: Display enabled ati_vga_switch_mode: 1 -> 1 ati_mm_write: Display enabled ati_vga_switch_mode: 1 -> 1 ati_vga_switch_mode: 1 -> 0 ati_vga_switch_mode: 0 -> 0 ati_vga_switch_mode: 0 -> 1
It does seem to program some registers but without correct trace we can't see which.
qemu-system-ppc: /home/jam/aty/qemu/hw/display/ati.c:88: ati_vga_switch_mode: Assertion `bpp != 0' failed. Aborted
However it looks like the values it put in regs are wrong. First question to answer is if the ROM is right for the card and it's supposed to work. If it's for Rage 128 then you can check regs docs of that card (if available) and compare with the Rage128Pro.
But you should probably try with a known correct ROM such as that from Howard. (You can extract the driver from it by cutting from the text Joy! but you probably know that already.)
Regards, BALATON Zoltan