Reverse engineering Uniflex

As some of you know, I’ve been working on getting the Tektronix 4404 operating system, Uniflex, up and running on MAME so others can play around with Smalltalk-80.
It is a comically brutal exercise without source code. My workflow is having the Uniflex source code in 6809 assembler up in a window (thanks Kees Schoenmakers!), with a Ghidra window onto the 68010 assembler that over the months I have annotated with educated guesses as to function names, with the MAME debugger on the 68010 assembler being executed.

Single stepping involves looking at the 6809 assembler to see what its doing, checking the Ghidra 68010 asembler to see what I think its doing, and then stepping the MAME debugger. Repeat. You really really have to be in the Zone for this one!

11 Likes

Good to know, who is/will be soon 68k assembly expert :slight_smile: ! Respect!

1 Like

I am very interested in this project. I have been wanting to do the same for the GIMIX version for the Micro20. . How far along are you with it?

Well I have a Ghidra project extensively marked up and understand quite a bit about how it all works. Very daunting to start with just a bunch of assembler and slowly recognising what functions do!

I’ve also been helping with the MAME emulator of Tek4404 which now boots up and you can login! Still some weirdness around the custom MMU it uses and I have not got quite right, but lots of progress.

1 Like