On 12/26/19 8:20 PM, Jay Vaughan wrote:
> I totally love the idea.  Will follow your progress with great interest!
>
> j.

Cool! If the regulars here don't object, I'll be posting my progress to
the list as I go along.

I've been working on some things. First of all, the M100 emulator I've
been whipping up is now finished enough that it can be qualified as
'functional'. The processor, ROM, RAM, RTC and PIO chips all are
implemented in such a way that the OS is happy, as long as you don't do
weird things like trying to set the time or making use of the casette,
modem or serial port. So, time to port the thing to the PCB I still had.

The PCB contains a CPU that I mostly picked for power efficiency (the
idea was to run the entire operation of a button-cell sized LiIon) and
runs at 64MHz. I took some time to implement the LCD routines and ported
the half-finished emulator to the CPU. That did not took much time; as I
developed the emulator for portability, I could easily replace the UI
with microcontroller-related functions. After implementing some simple
but working code for the keyboard and debugging a bit more, I think I
can now show you the working prototype for the smallest Model 100 in the
world:

http://j0h.nl/qQEC/full
(And yes, that 'print' statement was painstakenly entered through the
tiny, key-less, unlabeled set of metal domes pretending to be the keyboard).

Everything still is somewhat duct-taped together on the software level:
there is no real-time reference that the emulator uses, so emulation
speed is somewhat unstable. I seem to be getting about 50% of the speed
of a real Model 100. Luckily, this seems to be all because the
simplistic code I whipped up to update the LCD uses a lot of CPU time:
if I only take the time spent on emulation, it runs at about 130% of a
real M100, which makes me think getting this thing to run realistically
shouldn't be that hard.

I'm also mostly happy with power consumption. It will go up a bit if I
switch to a WiFi-capable chip, however at the moment it is about 10mA.
With the dinky little battery in the photo, that means I should be able
to get a lifetime of 13 hours.

Still enough to do: the emulation of the M100 isn't complete yet, I
haven't even started on a case for the thing, and if I want to switch
CPUs, I'll probably re-design the entire PCB I used, as I nowadays use a
different PCB program than I used to (gEDA then vs KiCad now.)

Also thinking of some options for data exchange. Emulating a TPDD seems
to be the most straightforward route, although I also love the 'tape
emulation' CloudT does. For the TPDD I probably need software support, I
seem to remember it's not in the standard ROM, right? Any option ROMs
that support it? In general, are there any option ROMs that would be
nice to have 'baked into' the system?

Cheers,
Jeroen



Reply via email to