warker.com

Demon – A Debugger for the 16 bit 6809 CPU

November 13th, 2022

Just a quick post. Way back in time I did development work using the Z80 CPU from Zilog. It was good but I always wanted to play with the Hot New Hardware of then time: the Motorola 6809 processor. Flash forward about 40 years (yikes!) and I found Grant’s Six Chip Computer, the 6809 edition. A quick $40 or so order to AliExpress and I had all 6 parts I needed to build one, which I did.

Assembled G6CC 6809 Computer

(Before you ask, yes there are actually only 5 chips. To avoid mucking with RS232 level adapters I removed the RS232 level converter and instead used an FTDI adapter that talks TTL levels to the 6850 serial chip.)

After playing with BASIC for a few minutes of course the next step was to write my own standalone debugger. Using one I wrote for the Z80 as a base I ported it to the G6CC hardware. Wanting to learn the 6809 instruction set I decided to add an instant assembler, disassembler and tracer that could trace into EPROM. The result was Demon (DEbug MONitor) 1.7 for the 6809 the source for which you can download here:

Source code for Demon 1.7 Debugger

Future plans are to port a dialect of FORTH I wrote long ago to the 6809. When that’s done I’ll post it one this site as well.

Why did I do this? No idea, other than it was fun to be doing bare-metal assembly language programming again.

Remember? Isn’t Compatible with macOS 10.15 “Catalina”

October 3rd, 2019

MacOS 10.15 “Catalina” is about ready to drop and I wanted to make it clear that the current version of Remember? (V4.6.3) is a 32 bit app and will not run on it as only 64 bit apps are allowed. Adding 64 bit support will require essentially a complete rewrite and unfortunately I don’t know when that will happen.

It should in theory be possible to use virtual machine software such as Parallels or VMWare Fusion to run an older macOS version that is compatible with Remember? since I believe Apple does allow virtualized copies of macOS now, but I haven’t tested that yet.

I’m still amazed that after 30 years (!!) people are still using this goofy little app. Moving forward will definitely require a rewrite but sadly I can’t give any timeframe when that would happen.

Dave

64 Bit Remember? Support (Not Soon)

June 2nd, 2019

As anyone who’s already upgraded to Mojave already knows, Apple will soon be removing support for applications that are written to use the 32 bit version of the macOS APIs (the interfaces that an app uses to communicate with the operating system.) Going forward apps must use the newer 64 bit to launch and run in macOS 10.15 and later. How does this impact Remember?

Well Remember? is currently a 32 bit API app and does not have support for 64 bit APIs. I’ve managed to drag this code base through all the other major macOS transitions (classic to Mac OS X, PowerPC processors to Intel) so I’d like to make this transition as well if for no other reason than sheer bloodymindedness. But it’s a harder job than I expected.

There are two major aspects to converting older Mac apps from 32 to 64 bit APIs: compiling the code so it executes correctly on 64 bit processors and dealing with older MacOS APIs that have been removed by Apple. It turns out the first job is the easier of the two. I’m generally careful about the kinds of things that tend to make code break when the native processor data size changes (16 bits to 32, 32 bits to 64, etc.) So with a few exceptions I don’t usually get too many surprises when compiling for a new word size.

Unfortunately, when Apple defined the 64 bit APIs they took advantange of the opportunity to do some serious housecleaning of older APIs. Pretty much all of the original MacOS APIs are gone (graphics, files, printing, etc, etc.) Bad news for me since Remember? was originally written back in the late 1980s when all of those APIs were MacOS. Replacing them with the modern 64 bit equivalents requires essentially a complete rewrite. I don’t really have a problem with that, Apple’s managed to keep them intact for 30 some years. I’ve been wanting to take a fresh look at the problem anyway but time has always been the issue.

And unfortunately it still is. I’d hoped to begin a serious look at a Remember? rewrite over the last year but professional and, more so of late, personal responsibilites have kept it on the back burner.

So here we are on the eve of Apple probably officially killing the 32 bit APIs and 64 bit Remember? is not cooking yet. I still very much want to give it a shot but I honestly can’t say when it might happen. When anything does change I’ll post the news here but for now if Remember? is still an essential tool for you upgrading to a 64 bit only macOS is not a good idea.

(A possible workaround is to run an older macOS version in a virtual machine via VirtualBox, Parallels or Fusion and run Remember? there but that’s not for the faint of heart and not something I want to try to document.)

Sorry to not have better news but I want to make sure all you existing (crazy) users who have relied on Remember? for so long know what to expect.

Dave

Remember? and High Sierra

December 21st, 2017

Remember? users might want to hold off upgrading to macOS 10.13 aka “High Sierra” for now. I’ve got a few reports of Parameter Error (-50) when saving occasions that only appear to have started with the macOS upgrade. I’m going to investigate it as soon as I can but I’m not sure exactly when.

For now you might want to avoid upgrading to 10.13 if you rely on Remember?.

UPDATE: There is definitely something odd going on in High Sierra. An OS call I use to update occasions files is suddenly returning Parameter Error (-50) even though it is used correctly. My suspicion is that with the APFS file system changes made in macOS “Sierra” and “High Sierra” support for this call was broken. The call in question is an older one that’s marked as deprecated so even if it was accidental breakage it may not get fixed. I’m going to try a workaround to see if it resolves the issue.

UPDATE UPDATE: I’ve got a provisional fix for the problem but I’m still testing it. If you’ve already updated to High Sierra and need the fix ASAP send me an email at support@warker.com and I’ll shoot you the pre-release version to test.

UPDATE3: OK, I think I’ve got it figured out. The problem isn’t with “High Sierra” specifically, it’s with Apple’s new APFS file system format introduced in “Sierra” and now supported for boot volumes in “High Sierra”. The upshot is: Macs using APFS for their boot volume require upgrading to Remember? 4.6.3 to avoid the “Parameter Error (-50)” issues. You can download the latest beta test version of it from the Remember? Page.

UPDATE4: There might be a problem with the current 4.6.3b2 development version, I’ve gotten a report of error -39. I suspect it’s a difference between the old and new develoment system versions (GCC vs LLVM for the techie minded) that I’ll have to track down. In the meantime don’t install version 4.6.3b2.

Dave

Attic Finds – Part 1

November 14th, 2014

OK, so I’ve been digging through old boxes in the attic in search of things that, of course, I never did find. But what I did find was:

2014-11-14_10-27-52

Yes, it’s a full source code listing of the Star Trek game I wrote on punch cards, in FORTRAN IV, for an IBM Selectric HARD COPY terminal, connected to an IBM 360 mainframe in 1976-7 while at college.

Read the rest of this entry »