User avatar
Seattle, WA, USA

Posted Sat Dec 12, 2020 11:55 am

Many of you know that I’m a huge fan of the coveted Microbotics Starboard2 for the Amiga 1000. I have a few different models with various RAM configs, as well as the Multifunction Module and SCSI Module.

One of my favorite hardware projects in the last couple of years is where I figured out how to use the Starboard2 equipped with a SCSI Module (called the StarDrive) to semi-autoboot Workbench on an attached Iomega Zip drive, which then acts as a 100MB hard drive. Seeing it come to life was a massive thrill, and still is even today.
The video above was captured before the StarTime clock was repaired, but shows how the custom WB floppy disk passes control over to the Zip drive.

It’s one of my favorite Amiga setups. (That machine is also using a 2MB chip Rejuvenator board with a Kickstart 1.3 ROM).

It’s dreamy.

And, as a part of the SCSI Module is a Real Time Clock (RTC) called the StarTime Clock. The issue with that clock is that it has a date limit of December 31, 2017. At midnight on Jan. 1, 2018, the Starboard RTC rolls back zero, which is Jan. 1, 1978.

If you try and go beyond that, the year will flip to ancient times and even sometimes crash.

Now, because I love my RTCs to display the time on virtually all of my machines, I would set the clock back 10 years or so. What I mainly wanted to see was the date and the time of day on boot, and via the iconified DOpus strip. I didn’t really care about the DAY so much. But it was a thing always in the back of my mind.

And then along comes AL member Crispy, who’s in a very similar situation. He has a Starboard2 with the Multifunction Module with StarTime clock.

And what does he do? He does a deep dive analysis of the StarTime Clock and learns all of the ins and outs of it at the molecular level.

He then codes a brand new fix for the StarTime clock that - as I understand it - the Starboard RTC pushes the date back to 1980. Any date later than Dec. 31, 2017 causes the RTC to roll over, and back to an offset from 1978.

The year 2020 is actually stored in the RTC as two years past the "beginning of time" as the RTC sees it. So, when the StarTime software reads the year from the RTC, it gets a value of 2. It takes that value, adds it to 1978, and then sets the Amiga system time accordingly.

My software then comes along, and pushes the Amiga system time forward forty years.

Crispy provided his program with me and I tested it out for myself. And it works!

I added his custom patch to my A1000 setup last weekend and nearly shed a tear of joy to see my computer display the proper time again. It’s just so fantastic and one of the coolest little gifts I've received in ages.

Thank you SO much, Crispy, for what you did. This fix should last me decades.

I realize there are probably just a few dozen Starboard users in the world these days. And in that pool less than half have a SCSI or Mutifunction Module with an RTC StarTime clock.

But for those who do, and want to set that clock, attached is Crispy's fix, his source, and a text README on how to apply the fix to your own machines.

Take his little program and put it in your C folder (either on your hard drive that semi-autoboots, or on your Workbench floppy if you don't have a hard drive).
The original StarTime program also needs to be in the same C folder.

If you have a hard drive, you'll modify your Startup Sequence like this:

Code: Select all

echo NOLINE "System time is "
That's it.

Note that this program is bare bones, and doesn't attempt to do anything fancy
such as adjusting for daylight saving time. All it does is move the system
time forward forty years.

I've included the source code in case you want to see how it works. If you want
a good understanding of the code, then read pages 287-293 of the Amiga Devices
ROM Kernal Reference Manual. In fact, if you look you'll see that it's taken
almost verbatim from the example code on page 291.
In the Archive below is his patch, the original StarTime program, his Readme and his source code.
(13.33 KiB)

User avatar

Posted Sat Dec 19, 2020 5:38 pm

Just wanted to share a picture of my 1000 setup with Crispy StarTime clock fix. It works great! This is what my boot looks like. Nice job!

User avatar
Zippy Zapp

Posted Sat Dec 19, 2020 7:29 pm

Very cool solution. I hadn't really read anything on these threads since I have neither an A1000 or a Starboard2 clock. But after reading it and the datasheet for the RTC they used it is amazing they chose that IC vs. an Epson or Okidata RTC chip that were part of just about every Amiga with a built-in RTC.

In fact it was only recently, like this year, that the through-hole versions of those RTC chips went End of Life. I bought a few extras to use in the A500 512k expansions I have been putting together.

So that is a cool solution and I am glad it works. What does the circuit board look like for the RTC module? Is there anyway to create a new one that works with it that has a better RTC chip? Did Commodore ever release an expansion with an RTC that used the standard AmigaDOS SetClock command?

User avatar

Posted Sun Dec 20, 2020 5:03 pm

Zippy Zapp wrote:
Sat Dec 19, 2020 7:29 pm
What does the circuit board look like for the RTC module? Is there anyway to create a new one that works with it that has a better RTC chip?
There were two expansion modules available for the Starboard 2; one was a SCSI adapter, and the other provided an FPU. Both of these expansion modules also had the RTC. The Signetics RTC used on these expansion modules has an I2C interface while the OKI M6242B RTC used in the A2000 and other machines has a bus style interface (four address lines and four data lines.)

I imagine that either of the Starboard expansion modules could be redesigned to use a better RTC, but it would be a lot of work. Such a task would involve reverse engineering the main board as well as the software.

User avatar
Zippy Zapp

Posted Sun Dec 20, 2020 9:22 pm

I see. That makes sense. I have never seen one other than what has been shown on AmigaLove. Oh well just a thought. It is cool you came up with a workaround though. Having a RTC is so much nicer then setting the clock each time on boot.

Return to “Software”