Anatomy of a Pumpkin OS app

We have seen how PumpkinOS runs a classic 68K application. First, code.0 and data.0 resources from the PRC are loaded and decoded. Then code.1 is loaded and the 68K emulator starts running it. Native applications, that is, applications compiled from source to the target architecture of PumpkinOS (x86 or ARM), are still stored in PRC … Continue reading Anatomy of a Pumpkin OS app

Hunting globals

In a previous post, I described a way to change all the global variables in a module to thread local storage, so that the module would be safe to use in a multi-threaded application. But I failed to mention how to find the globals in the first place. Of course you can do this using … Continue reading Hunting globals