HNHacker News
TopNewBestAskShowJobs

gryphel

13 karma · joined September 14, 2010

The goal of the Gryphel Project is to help preserve software made for early Macintosh computers, the computers that Apple sold from 1984 to 1996 based upon Motorola’s 680x0 microprocessors.

website: http://www.gryphel.com/

The current main public key used by the Gryphel Project is:

  ----- BEGIN GRY PUBLIC KEY -----
  Gry+PKAIAAA/hReeyoqMWvvoh0VY19erGoYgiW9znPX7Xkw6AQFECPyMdMv5+hEX
  1z3GfTo/04FXiXVBy+yZhV0Ibs1KtuHVh4iGuU4LiiJTE+00w59V4qFZ3DSidtqe
  NzlTUsMYleL/8h3mjXpJClrozRSy6TZzPH2H2GPugWfclXi3eJfxnK8RAQABuy+Z
  ------ END GRY PUBLIC KEY ------
The primary page for this key is: http://www.gryphel.com/c/keys/k3.html
submissionscomments
gryphel··on Your First THINK C Program
The Mini vMac download page (https://www.gryphel.com/c/minivmac/dnld_std.html) includes binaries for Macintosh, Windows, Linux, and other platforms.

As recently noted in the build documentation, compiling it yourself is not recommended for most people. (First, the result will be much less efficient than the official binary unless you tweak things for your particular compiler. Second, there is the chance of running into compiler bugs and bugs in Mini vMac that show up only on some compilers - the official binaries are much better tested.)

gryphel··on MacPaint and QuickDraw Source Code (2010)
If anyone is interested, I ported this source code to compile in MPW Pascal. The modified source and binary are available from: http://www.gryphel.com/c/sw/general/macpaint/index.html
gryphel··on Spectre and the end of langsec
Yes exactly, the problem is non determinism. But I think it should be possible to have deterministic execution while still keeping compatibility with existing software, by replacing the real time with a "fake" time that is deterministic upon the stream of instructions executed, which is on average close to real time. This requires support by the CPU, but it is a relatively simple change, compared to changing speculative execution and caching. Fake time could be kept in sync with real time, by periodically running a privileged process that takes a fixed amount of fake time, but variable amount of real time. (I brought this up in a different comment thread that got marked as duplicate.)
gryphel··on Meltdown and Spectre
I'm not seeing the issue with a long running process. If the fake time is regularly synced to real time, it should not matter how long the process runs.

If passing data involves frequent switches between processes, then, yes, I see there would be a problem with syncing on every process switch. I think syncing at longer intervals would solve that problem. All processes could share the same fake time, but see the fake time skip a small fixed amount at fixed regular intervals. That fixed amount of fake time would take a variable amount of real time, which absorbs the small variations in real execution time.

gryphel··on Meltdown and Spectre
The fake time can be synced to real time at the beginning of the time slice of a process. So the process never sees the real time, but the fake time is fairly close to it.
gryphel··on Meltdown and Spectre
Rather than changing OoOE, wouldn't it be much simpler to prevent unprivileged processes from seeing the real time? For maximum compatibility with existing software, a CPU could provide fake time, that on average passes at the same rate as the real time, but is completely determined by the instructions executed. If the length of process time slices are determined by fake time instead of real time, the process will never be affected small variations in real execution time, no matter how much time passes.
gryphel··on Lego Macintosh Classic with e‑paper display
It should be able to run Mac OS software using an emulator, similar to a previous project that used a Raspberry Pi:

http://retromaccast.ning.com/profiles/blogs/honey-i-shrunk-t... https://www.engadget.com/2013/08/28/mini-classic-macintosh-m...