416 |
|
WriteMacInt32(0x824, mac_frame_base); // ScrnBase |
417 |
|
WriteMacInt32(0x898, mac_frame_base); // CrsrBase |
418 |
|
uint32 gdev = ReadMacInt32(0x8a4); // MainDevice |
419 |
< |
gdev = ReadMacInt32(gdev); |
420 |
< |
uint32 pmap = ReadMacInt32(gdev + 0x16); // gdPMap |
421 |
< |
pmap = ReadMacInt32(pmap); |
422 |
< |
WriteMacInt32(pmap, mac_frame_base); // baseAddr |
419 |
> |
D(bug("MainDevice handle at %08lx\n", gdev)); |
420 |
> |
if (gdev != 0 && gdev != 0xffffffff) { |
421 |
> |
gdev = ReadMacInt32(gdev); |
422 |
> |
D(bug(" pointer at %08lx\n", gdev)); |
423 |
> |
uint32 pmap = ReadMacInt32(gdev + 0x16); // gdPMap |
424 |
> |
D(bug(" PixMap handle at %08lx\n", pmap)); |
425 |
> |
pmap = ReadMacInt32(pmap); |
426 |
> |
D(bug(" pointer at %08lx\n", pmap)); |
427 |
> |
WriteMacInt32(pmap, mac_frame_base); // baseAddr |
428 |
> |
} |
429 |
> |
gdev = ReadMacInt32(0xcc8); // TheGDevice |
430 |
> |
D(bug("TheGDevice handle at %08lx\n", gdev)); |
431 |
|
} |
432 |
|
} |
433 |
|
|