Mottek Archive 2025

Ok so I lied

I could of course not resist the temptation to check out how my Mac museum is doing, and if I can create patch packages without BasiliskII. The museum seems fine, my Pismo PowerBook booted nicely, the batteries seem now finally dead, but otherwise it was working well. Same with my former workhorse, the G4 Cube, its only problem is that my current monitor doesn’t like the low resolution the stock graphics card produces.

Neither machine was however in the end used to work on an updated Y2010 patch, that honor does indeed go to BasiliskII. Resource forks are as usual a challenge to move across platforms, so resorted to moving StuffIt archives around, but all pieces for the patch are in place.

It took a bit to figure out how the patch package is put together, I’ll document that later, same with the actual patch approach, but the good news is that my dear development Newton JE7420LHAYL is now reporting patch version 711999, and comes alive just at the end of 2023, December 31st 11:48 to be precise. I’ll still do some more testing and then start a proper release.

The sad part is that this will be the last patch for the Y2010 problem. By 2040, the NewtonOS low level time functions will overflow, and that is a much harder problem to fix.

2025-01-08

Rocking like it's 1990

In order to fix the recent date related problem with the Apple Newton, the first question is how to actually develop any fix. Since I’m suspecting that the problem is related to the Y2010 problem, the starting point would be the patch 711000, making the tooling setup a bit more complex.

Patch 711000 consists of a bunch of ARM assembly files, an MPW makefile and three Newton Toolkit packages. If it were only for the assembly files, the modern tool chain brought in with mosrun would work, but the NTK packages are slightly more problematic. In that sense, the options for working with the patch are:

  1. MacOS Classic capable hardware: Either a PowerPC machine with MacOS X, or to go full retro, a 68k or PowerPC Mac (old enough to still run MacOS 8/9). In the latter category, I still have two G4 Cubes. In the former category, I used to have a Quadra 610, but that is long gone, and I doubt sorting out the connectivity issues would be fun.
  2. An emulated 68k Mac, using BasiliskII: Not very user friendly, but very close to the actual hardware.
  3. Using modern tools: Compiling the assembly files using mosrun, and packaging using tnkt. This is probably the most future proof setup.

The target will be Einstein, it allows for a very quick development cycle, and it can also bring some deeper insights into running code if needed.

In the end, I think I’ll go with BasiliskII for now since I’ve used that before with Blunt related work. But the other two options are interesting as well, especially reviving the G4 Cubes would be nice!

2025-01-07

Time travel

It seems our dear friend, the Apple Newton MessagePad 2x00, has been bitten by another time related bug. While this looks like the Y2010 bug, this seems to be a new problem. I noticed that my MP2100 ran out of batteries the other day, but didn’t pay too much attention, however a lot of people are now reporting strange behavior of their devices, with freezes and dates being set randomly. And I just checked, also my MessagePad went back to 1990! It seems this happened after January 4th this year.

From what Matthias Melcher reported, it unfortunately looks like the bug is happening quite a few layers down from the Y2010 bug. That bug is an issue in the NewtonScript layer, but this new one (we need a clever name for it still) is related to timers in the OS layer. That will likely make it quite a bit harder to fix, but we’ll see. The good news is that we have Einstein now which makes any kind of experiments much easier and with less danger to actual hardware!

So let’s get to it, fire up Einstein and play a bit with dates and times…

2025-01-06