For those unfamiliar with them, a-traps are a clever(?) trick used by the classic mac OS: it uses illegal instructions as a system call interface. When an illegal instruction gets hit, a lookup table is examined to figure out what code to run. This enables lots of shenanigans since the lookup...
somewhat off topic, but I have an easy little hack for very basic A trap support for ghidra, I can make a thread here later if there's interest
nice work with this vnc server!
Thanks for sharing your code for this! (even using retro68 to build it! I really like to be able to use modern tools for mac dev). Fantastic! I'm very interested in hearing about your development process for the DeclROM, could you discuss that a bit?
for this part at least, I may have a hint: in the ROM there is code that decides how long to wait for a VRAM access (some number of cycles), I belive it only picks based on the machine ID
for the same VRAM speed, a faster CPU needs to wait more cycles
if you overclock beyond the standard speed...
I've been trying to mess with the memory sizing code today and having a hard time of it! No real luck so far, but I've got a better handle on how it works.
I found a cool book at a local library; "Apple T-Shirts: A Yearbook of History at Apple Computer" which is a collection of internal...
Been busy with work, but, just released a minor update, 0.8.9 is out now. A few bugs were fixed and you can now connect/disconnect/reconnect without quitting. I guess my original plan of finishing ssheven by end of summer 2020 was optimistic, huh? The next feature and release will be for scp...
I want to detect the CPU frequency on 68k machines. There's a gestalt selector 'pclk' aka gestaltProcClkSpeed, but this seems to only work on PPC machines. I know this must be possible, what's the trick to it?
Ideally we don't want to wait longer than we have to, since that just makes all graphics slower. Anyway, it turns out that even with all the wait states I can turn on, it's still not waiting long enough, so there are eventually graphics glitches at 50MHz. Seems okay at 48Mhz, though!
I've been...
I had one before I gave it away, so I can at least describe it. The circuit is iirc a clock, multiplier, and divider, with DIP switches to pick the exact multiply/divide values.
Here's a pic from this site,
Basically, it's three PCBs, with a spring in the middle that very slightly pushes the...
it's interesting to be able to see where in the package the actual silicon is!
did you run the same procedure on the E42K (at 40MHz)? seems like the L88M is hotter?!
Aw, I spoke too soon, after an hour of hard CPU use, I start getting artifacts again (some random-ish orange-ish pixels). A big improvement, but this may be the real limit.
Edit: so I think we're basically tapped out on overclocking. From here I plan to work on the RAM detection, ideally...
I spent some time digging into the ROM to nail down the locations where the VRAM wait states are configured, and made a new ROM image. I can now boot at 50MHz with no video issues! I had some failures to boot at 48MHz (it would start loading the OS then stop making progress) but I need to mess...
thanks for the support guys, it's appreciated. I had a little time to experiment today:
* under heavy CPU usage (raytracing for a long time), I think 46MHz is the max without locking up or crashing (48 and 50 are not very stable under load)
* I've been experimenting with Ghidra to disassemble...
So I managed to boot with a large RAM disk with 3x128MB plus the 8MB onboard. The memory extension/control panel crashes with a bus error, so the procedure here is kinda funky, I want to note it for the future:
* boot with 2x128MB and set the RAM disk to as large as possible
* shut down, add...
yeah, I've been looking at his page here and forum thread here. It's very interesting to see it failing like this, I wonder if it's because something has some hard-coded memory location on the assumption that no 68k Mac will ever have more than 256-ish MB. Or if it's just a failure in the memory...
I'll admit I didn't test 45, just 44 and 46.
Just added bbraun's large SIMM support (one line change in a part of the ROM I already disassembled), just got it going with a total of 264MB (128, 128, and 8 onboard). I'm a little concerned about how this actually works, I guess the 8MB gets...
I just got a 23MHz oscillator (seems like I'm collecting the full set, huh). It will consistently boot to 46MHz with no video problems (with my latest ROM, with only djmemc speed/config changes) but only with extensions disabled.
Unfortunately, it seems like networking won't operate above...
There's some code in "DepVideoEqu.a" which I think is configuring the video hardware, and there's some stuff like "dafb40MHzConfigW" which seem frequency related and may solve the video problems, if I can figure out how to actually patch that part of the ROM. It seems like this may be one of...
I tried again a few more times without success, but it did run for a little while! I guess 48-ish MHz is the real limit of the hardware. It's clear that the video hardware, at least, is at its limit. So, here's some possibilities:
* some other hardware config registers aren't set right for...