DS2251(T)
Background
I have a pair of DS2251T modules and SIMM sockets from some years back. I have never powered them on so far.
The DS2251T 128k soft microcontroller module is an 8051-compatible microcontroller module based on non-volatile RAM technology. Like other members of the secure microcontroller family, it provides full compatibility with the 8051 instruction set, timers, serial port, and parallel I/O ports. By using NV RAM instead of ROM, the user can program, then reprogram the microcontroller while in-system. The application software can even change its own operation. This allows frequent software upgrades, adaptive programs, customized systems, etc. In addition, by using NV RAM, the DS2251T is ideal for data logging applications.
Between 32 kB and 128 kB of on board NV RAM are available.
A user loads programs into the DS2251T via its on-chip serial Bootstrap loader. This function supervises the loading of software into NV RAM, validates it, then becomes transparent to the user. Software is stored in on board CMOS SRAM.
Using its internal Partitioning, the DS2251T can divide a common RAM into user-selectable program and data segments. This Partition can be selected at program loading time, but can be modified any time later. The microprocessor will decode memory access to the SRAM, access memory via its Byte-wide bus and write-protect the memory portion designated as program (ROM).
8051 (including some of the Maxim/Dallas siblings) are neatly supported by SDCC. The bootloader seems friendly enough and updating could probably be done with a script. The self-programming options are intriguing, but not a great future investment.
The powerful realtime clock includes interrupts for time stamp and date. It keeps time to one-hundredth of seconds using its on-board 32kHz crystal.
NVRAM is also battery-backed and the clock should be unstoppable. At least while battery lasts. One reason I never tested these is that there really should be some kind of a board to mount them on. I've been planning to make one when I have the chance. The 72-pin SIMM socket is staggered on a raster that doesn't fit on perfboards, so a new board would have to be custom drilled (and etched/milled).
I have a few other 8051 family chips stashed away. I probably haven't written any code for one since 2009 or so.
Motherboard
Layouts aside, I will need to make that hole pattern. Without outside help, I might be able to do that with my small board drill (hack). I decided to try that.
To test the drilling, I printed some SIMM socket footprints from KiCAD and ironed the pattern quickly onto some old PCB. No cleaning and there might be some coating, but it stuck well enough to show where to drill.
If I could get the mechanical fit good enough, I could start worrying about board layout. Some simple breakout with grouped IO ports and debug (UART) header would be a start.
A real tempting option here would be to use the external parallel buses properly, but that might not be something I want to leap into without testing some things by themselves. Maybe on a second board.
Firmware
TBD