Hi all, TL;DR: I'm building a tiny M102.
Let me first re-introduce myself on this list. Hi, I'm Jeroen, also known as Sprite_tm on the wider Internets. I was on this list around 2001, which is way longer ago than I thought it was. At that time, I wanted to see if I could convert the Olivetti M10 I bought at a flea market to accept M100 roms. I actually succeeded: took but a small conversion routine for the different keyboard layout to make the M100 ROM work in the M10. Talked to Rick Hanson at that time to ask if he could send me some ROM images. I'm sad to read he has passed a while ago... always seemed like such a pleasant guy in the email conversations. Anyway, why am I back? I nowadays live in Shanghai, doing electronics stuff, and recently I directed my hobby into re-making the machines I enjoyed back in the days This already has resulted in a matchbox-sized Game Boy (https://hackaday.com/2016/11/28/tiniest-game-boy-hides-in-your-pocket/), and a tiny Macintosh Plus (http://spritesmods.com/?art=minimacplus). Now, I decided to see if I could do something similar to this: make a tiny version of the TRS80 Model 100 or 102 (haven't decided yet). The plan is to use a newfangled low-power STM32 ARM processor for this; the processors that are around nowadays are actually pretty quick (80MHz), have a fair amount of RAM (64K, twice what the M100 had at maximum capacity!) and are even more efficient than the 80c85 (a few micro-amps per megahertz). Also, they have a bunch of peripherals integrated, so I can get away with not much more than that chip. Here in China, it's actually pretty easy to get the basic parts for this. The most important part, obviously, are the LCD and the keys, so I decided to start there. I found a nice and tiny (and cheap!) 256x64 display, which could be a nice stand-in for the 240x64 LCD in the original hardware. To test it out, I connected it to my laptop and did a hack to get VirtualT outputting data to it: http://j0h.nl/AqkB (And yes, it's a bad picture... I shouldn't take pics in bad lighting around midnight, I guess. For reference, the purple thing underneath is a credit-card sized metro transportation card.) For the keyboard, I decided to go with the bare metal domes you sometimes see in somewhat cheap-ish but still ok feeling keyboards for remote controls, old-school brick phones etc. The nice thing is that these domes are about US$0.005 each. The bad thing is that they need a specific PCB layout to work... so I had to make a PCB for this. Luckily, this is also cheap-ish here, although the gold-plating set me back a few quid more than I'd liked, and I'll probably re-spin these because they have a few mistakes in them. The keyboard part seems to work, however. Here it is while building it up: http://j0h.nl/AaoB And here is where I am now. I've used kapton to hold down the rubber domes, and I can actually already type on this; the domes are all well worth the half a cent each I paid for them, nice and clicky. I also installed the microprocessor and USB-port, and at this stage I can blink the power LED, so at least the hardware seems mostly okay. http://j0h.nl/AKsB http://j0h.nl/B6wB So, why am I posting this? I dunno, I like writing about this I guess, and maybe you guys have some good ideas for continuing. I'm pretty sure I can write the emulator without too much effort. The USB port is probably going to be used for a serial port; I may also use it to upload things like option ROMs. (The microcontroller has 256K of flash, so I should be able to fit a few.) I also need to think about a case: I have a pretty kick-ass Formlabs 3d-printer at work, but my workshop does not have many mechanical tools. In the end, I'll also add a LiIon battery: a tiny 150mAh one probably is long enough to let the entire thing actively work for 80 hours or so. Hope a project like this is appreciated on this list; if not, I'll happily keep working on this in silence. My experience with the M100 is nil, however, so if you people see things I missed to make it an even better M102 replica, I'd love to hear this. Cheers, Jeroen
