Shortly after writing this post in Sep 2021 I took the plunge, disassembled the MC400, de-soldered the flash ROM chips and imaged them using the trusty TL866. Poking around in either chip’s binary image didn’t reveal any recognisable strings so I left them at that for a while… until some time later my subconscious dredged up a random factoid I must’ve read in the Psion HDK some months before; “ASIC1 is always in 16-bit mode in the MC400”
The two 8-bit flash chips that I had imaged must share the address bus and provide high 8-bits and low 8 bits to the 16-bit data bus… I interleaved alternate bytes from each image into one blob and lo and behold I had an image of the ROM! (the “interleave” utility I used to do this is here – https://github.com/drojaazu/interleave ). Suddenly the ROM image makes a lot more sense – recognisable strings and the top 16 Bytes contain classic 8086 reset vector/bootstrap code that jumps to an address and also contains the date in ASCII when the image was built (
30 36 30 38 39 32 = 060892) and the Hex Bytes that correspond to 2.60F (
0F 26) of the machine release/version yay!)
0003fff0 ea 00 00 00 c0 00 30 36 30 38 39 32 0f 26 de 60 |......060892.&.`|
Armed with this ROM image I posted on a couple of forums lamenting over the lack of an MC400 emulator, and a response lead me to one of the MAME developers on the stardot fourms… and within just a few hours of sharing the ROM & links to SDK/HDK the boot splash screen was posted 🙂
But then we hit a brick wall – without documentation of all the IO ports realised in the 2 custom ASICs (ASIC1 & ASIC2) things are held up. But, some of the include files in the SDK detail some of the register names in ASIC2’s address space…
Interestingly the (DOS-based) Psion SIBO SDK uses a version of the MC GUI environment as its debugger (SDBG.EXE):
Some clues to timer and interrupt controller function were found in the SDK code examples and some more progress was made… voila:
Lacking any of the system apps though, so next steps I guess are emulating an SSD with the app files on it?
The good thing is that the MC shares a similar architecture with the original Psion Series 3 and the HC (“Handheld Computer”) so with some modification (and ROMs!) this work should allow those machines to be emulated in MAME as well.