I've now actually built and tested a MiniNDP uIM, and in a KC-85.
https://github.com/bkw777/NODE_DATAPAC#minindp-u1m---for-model-100-or-kyotronic-kc-85
If you trim the pins down on the top surface, then it fits under the
cover so it can just live in there closed up.
--
bkw
On 5/28/26 22:53, B 9 wrote:
Holy smokes! That is great news. I look forward to seeing the new
Rosetta stone.
—b9
On May 28, 2026 4:57:03 PM PDT, "Brian K. White" <[email protected]
<mailto:[email protected]>> wrote:
I got K85 working!!!
I have RAMDSK.CO <http://RAMDSK.CO> for KC-85. As far as I can tell
there never was a version originally for KC-85.
I can't believe it actually worked with all those addresses and most
of them not previously documented in the few rom cross references I
found.
To test on KC-85, I haven't built one of the new DIP-40 MiniNDP yet
but you can use a regular one on a 100 with a ribbon cable, and I
used that on a KC-85.
So now I have a unified source that builds either exact legacy
versions or new 4-bank versions for all 100, 200, K85.
Now that K85 actually worked, it should be no problem to do the same
for Olivetti, but the physical arrangement of the bus connector on
Olivetti is awkward.
It doesn't look like it but there actually is physically just room
for even a normal MiniNDP let alone the new DIP-40 form, but making
the connection between the two connectors is tricky. I have a couple
ides so it might happen.
https://github.com/bkw777/NODE_DATAPAC/blob/main/software/RAMDSK/
<https://github.com/bkw777/NODE_DATAPAC/blob/main/software/RAMDSK/>
All the machine differences are in 100.S85, 200.S85, K85.S85
So it's also a good starter template for making cross-platform
binaries in general. I should work backwards from here and make a
blank hello world app template.
I've been working on RAM100.CO <http://RAM100.CO> to make usable
assembly source from a disassembly so I can add support for more
than 2 banks and maybe port to kc85, EU, make a common 100/200
source, etc.
I've gotten the 100 version working and added the support for 4
banks.
So now for 100 & 102, all 1M of MiniNDP is usable for files.
(not just 102 because I have an untested dip-40 pcb for 100 & kc85)
I haven't started on 200 yet.
2 questions:
Is there a less convoluted way to do the ALT version of this
chunk of code highlighted below? I feel like there must be a
more direct way to arrange that loop without a jump at both the
beginning and end.
Am I being silly even caring about it?
Both versions work fine and there's no speed or size problem.
I've scavenged enough bytes elsewhere that even the larger version
still comes out actually one byte shorter than the original
binary before padding just to make the bootstrap basic code with
hard-coded top & end values for the old binary also work on the
new binary.
https://github.com/bkw777/NODE_DATAPAC/blob/main/software/
RAMDSK/RAM100/4-bank/RAM100.S85#L929-L993 <https://github.com/
bkw777/NODE_DATAPAC/blob/main/software/RAMDSK/RAM100/4-bank/
RAM100.S85#L929-L993>
What the chunk does is increment or roll-over 2 values.
display bank number ascii '0' to '3'
control port number 129 to 141 step 4
One defensible functional difference I just realized is with the
alt version I could have a hot key or call target for basic to
jump directly to any arbitrary bank rather than stepping through
a loop.
--
bkw
--
bkw