The Apple eMate 300 boot ROM is a huge jerk. The first instruction it runs is branch to 0x01A00004, which is well outside the 8-meg space it occupies. There's got to be something stupidly simple that I'm missing here, but I'll be darned if I know what it is.
-
-
Vastauksena käyttäjälle @TheMogMiner
At reset, didn't the ARM 710A start in 26-bit addressing mode?
2 vastausta 0 uudelleentwiittausta 1 tykkäys -
Vastauksena käyttäjälle @brouhaha
It does, but isn't 0x01A00004 only 25 bits wide?
1 vastaus 0 uudelleentwiittausta 1 tykkäys -
Vastauksena käyttäjälle @TheMogMiner
Yes. Apparently I can't count.
1 vastaus 0 uudelleentwiittausta 2 tykkäystä -
Vastauksena käyttäjille @brouhaha ja @TheMogMiner
Is it a setup where early reads are forced to enable the ROM, but the code has to jump to the "real" ROM address? That was common on some other processors, but there's no obvious reason to do it on an ARM.
1 vastaus 0 uudelleentwiittausta 0 tykkäystä -
Vastauksena käyttäjälle @brouhaha
According to what little I've gleaned from the Einstein source, the ROM is definitely mapped at 0. I almost wonder if it's sort of an opposite scenario, with the ROM being mirrored across the entire address space until the MMU is set up.
1 vastaus 1 uudelleentwiittaus 1 tykkäys -
Vastauksena käyttäjille @TheMogMiner ja @brouhaha
I know the original Newtons mirrored the 4MB (or 8MB for the MP130s) ROM across 16MB of address space (starting at 0x00000000). RAM is similar but I don’t recall the details
2 vastausta 0 uudelleentwiittausta 1 tykkäys
Wouldn't surprise me if the eMate 300 has similar mirroring for its 8MB ROM - though 1A00004 is about A00004 beyond the 16MB limit, and there's no practical reason it'd be bouncing to RAM on the first instruction of a cold boot. This hardware is cursed.
Lataaminen näyttää kestävän hetken.
Twitter saattaa olla ruuhkautunut tai ongelma on muuten hetkellinen. Yritä uudelleen tai käy Twitterin tilasivulla saadaksesi lisätietoja.