Recent Posts

Pages: [1] 2 3 ... 10
1
General Hardware Discussions / Re: iMac G3 CRT rays misalignment
« Last post by darthnVader on Today at 05:01:00 PM »
Don't get bit by a flyback inverter. -afro-

Always discharge them to ground when fooling with CRTs.
2
General Hardware Discussions / Re: iMac G3 CRT rays misalignment
« Last post by refinery on Today at 04:51:12 PM »
years ago I had one of those Apple 1710AV monitors and had to do this. what a frickin' nightmare that was. and those monitors were crap.
3
Time for a binary patch maybe? :D
4
Until Open Firmware is quiesced, the "enter" client interface call can be used to drop to the command prompt. You can then inspect registers and do other stuff from OF. Maybe you could tack a little code onto the end of the Trampoline that so you can patch code to call it.

I don't know if the code section is read-only by default, but you could undo that protection with a simple mmu call.
5
Interesting find, do you think this version of bcopy is used in bootx?

Somewhere I have the code for BootX I used to build a version that sends some debug info to the screen, that helped me with finding a problem with KVM on a Powerbook booting OS X in Qemu. I'll have to see if I can find bcopy in the BootX sources.

To my knowledge, BootX uses a CPU-independent implementation of memcpy written in C. bcopy() is just a wrapper for memcpy that changes the order of parameters (see bootx/libclite.subproj/mem.c):

Code: [Select]
void bcopy(const void *src, void *dst, size_t len)
{
    memcpy(dst, src, len);
}
6


    It's possible to fix this problem by replacing legacy Trampoline's bcopy with Darwin's implementation that supports latest CPUs, see https://opensource.apple.com/source/Libc/Libc-262/ppc/gen/bcopy.s.auto.html
    [/li]
    [/list]



    Interesting find, do you think this version of bcopy is used in bootx?

    Somewhere I have the code for BootX I used to build a version that sends some debug info to the screen, that helped me with finding a problem with KVM on a Powerbook booting OS X in Qemu. I'll have to see if I can find bcopy in the BootX sources.
    7
    General Hardware Discussions / Re: iMac G3 CRT rays misalignment
    « Last post by IIO on Today at 02:52:28 PM »
    careful with CRTs. there can still be high voltage hours after unplugging.
    8
    G4, everything looks the same but the last bit isn't all zero, so you're on the right track...

    Yes.

    Let's summarize what we have found out in this thread:

    • An attempt to boot Mac OS 9.2.1 on a Mac99 machine with the unsupported 970 (G5) CPU in QEMU fails early in the Trampoline. A memory overlapping error is reported.
    • We found out that the real cause for the memory overlapping error is that the content of the NKSystemInfo structure suddenly becomes filled with zeros so the memory relocation cannot operate correctly.
    • After a long debugging session discussing a lot of low-level details, the failing code could be located and analyzed. It's a part of the bcopy() function. Its purpose is to quickly move data from one memory location to another.

      bcopy is written in assembly. It utilizes the low-level dcbz instruction that clears cache blocks to zero. Unfortunately, dcbz works differently on 32bit and 64bit implementations: due to bigger cache block size in PPC64, some important data in memory becomes corrupted.

      It's possible to fix this problem by replacing legacy Trampoline's bcopy with Darwin's implementation that supports latest CPUs, see https://opensource.apple.com/source/Libc/Libc-262/ppc/gen/bcopy.s.auto.html

    For the purpose of bug localization, a debugging toolchain based on QEMU+GDB has been successfully set up. Kudos to darthnVader!

    This toolchain has been proven indispensable in spotting problems with low-level OS code when running on unsupported hardware. Although the Trampoline offers a simple debugging mode that displays helpful debugging messages in the OpenFirmware console, it's often not enough to understand what exactly goes wrong without invoking a low-level debugger.

    Unfortunately, such a flexible debugging instrumentation requires a running OS and, consequently, isn't available during OS boot in real PPC hardware. Fortunately, with the above mentioned toolchain, it's easy to overcome this limitation. QEMU+GDB will therefore remain our only debugging option until we'll get the lowest OS level up and running.
    9
    https://everymac.com/systems/apple/imac/specs/imac_800_17_fp.html
    i had the restore discs of this system backed up on my mediafire account
    i gave them to jerry (diehard) to add to the site
    its too bad they arent posted here  yet

    but you can find them on the macintosh garden site
    http://macintoshgarden.org/apps/imac-g4-17-summer-2002-software-restoreinstall-discs-apple-hardware-test
    10
    General Hardware Discussions / Re: iMac G3 CRT rays misalignment
    « Last post by Valet2 on Today at 10:48:14 AM »
    Forgot to reply.

    I've fixed it. Just googled how to do ray alignment properly, rotated pairs of magnetic rings on the tube to make the picture look sharp on the center. It's still a bit out of focus near the corners, but that's ok for me.
    Pages: [1] 2 3 ... 10