• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

Recent content by DBJ314

  1. D

    Word access odd Address Exceptions on 68K software - were they ever used?

    PowerPC instructions always have 4-byte alignment. When told to jump or return from an exception, the CPU always ignores the low 2 bits of the instruction address and pretends that they are 0. No exception will happen, the CPU will just fail to notice the address was unaligned. PowerPC CPUs...
  2. D

    Transformers for homemade LocalTalk/PhoneNet dongles

    Capacitance and inductance (attempt to) tell you what properties the component will have at every frequency. Those quotes were taken from this blog post: https://lcamtuf.substack.com/p/primer-core-concepts-in-electronic. I found it a few days ago, and before that I had no idea there was more...
  3. D

    Software detection of emulator

    SheepShaver patches the ROM in quite a few places. Maybe some of them are convenient. https://github.com/cebix/macemu/blob/master/SheepShaver/src/rom_patches.cpp https://github.com/cebix/macemu/blob/master/SheepShaver/src/rsrc_patches.cpp
  4. D

    Help needed finding docs on Program Linking/Apple Events, aka PPCToolBox

    Source code for PPC exists. https://github.com/elliotnunn/supermario/tree/master/base/SuperMarioProj.1994-02-09/OS/PPC Any header files included would be here. https://github.com/elliotnunn/supermario/tree/master/base/SuperMarioProj.1994-02-09/Internal/C The Apple Event Manager source also...
  5. D

    LocalTalk... but faster?

    If you are going to use two serial ports, you might as well use both of them for data and get double the speed. And then use the HSKo and GPi pins (HSKi would be used for the external clock) to bit-bang an extra bit of data per time period, to slightly increase the data rate even more. Crank the...
  6. D

    Upgrading the ROM of a PM9600.

    If you put a Driver Descriptor Map at the start of the GPT-formatted disk right where the boot block would be, the ROM will use it to try and load a 68k driver. The ROM will do so even if it doesn't understand the rest of the disk. That driver can then set NVRAM and reboot to make OF load code...
  7. D

    The Great Gazelle PCI Hack Thread, Part 2

    You could of course directly alter the process OF uses to probe PCI cards. The PCI probe process usually happens after the NVRAM script is loaded. It's just that line at the front of your script that does the loading right then and there. All the code and data in Open Firmware is in ram and can...
  8. D

    The Great Gazelle PCI Hack Thread, Part 2

    Those numbers are indeed IDSEL. The PCI Bus Binding to Open Firmware says so. The IDSEL is also the "Device Number" field of each entry in the "reg" and "assigned-addresses" properties.
  9. D

    Making Memory Pages ignore writes on PowerMacs

    I did it by reading the reverse-engineered source code of the NanoKernel. https://github.com/elliotnunn/NanoKernel The NanoKernel has a very complicated system to handle paging-related exceptions. A DSI Exception happens. (An Alignment Exception also triggers this code path). The faulting...
  10. D

    Making Memory Pages ignore writes on PowerMacs

    On PowerPC Macs, this code will designate a page as "Quiet Read-Only". Writes to that page will be silently ignored, instead of generating an exception. It can cause all sorts of interesting crashes and misbehavior. Most code assumes that when you make a memory write, memory actually gets...
  11. D

    ‘020 and ‘030 accelerators for 68000 Macs—what’s the memory map?

    The easy way to use discontiguous RAM is to have the MultiFinder/Process Manager put different Application Heaps in different RAM blocks. Applications don't care about where their heap is, so it's nice and simple. The hard way is to allow a single Application Heap to exist in several RAM blocks...
  12. D

    ‘020 and ‘030 accelerators for 68000 Macs—what’s the memory map?

    It probably sticks the RAM anywhere in the address space it fits, without worrying about keeping it together. The Virtual Memory Manager does this when in 24-bit mode to fit as much RAM as possible in a limited address space. The accelerator might use a similar trick. Here's page 3-7 of Inside...
Top