• Please review our updated Terms and Rules here

SD card reader for Kaypro?


Experienced Member
May 27, 2008
Has anybody made (or attempted to make) an SD card reader for Kaypro portables? After all the hassles of trying to get software on floppy for my Kaypros, I would love to be able to just load up an SD card and plug it in. There's a motherlode of CP/M software out there and it's frustrating as hell not to be able to play with any of it.

There are SD card readers for plenty of other 8-bit computers, such as Apple II, Atari 8-bit, C64/128 (Vic20?), CoCo 2/3, TRS-80 Model 100/102/200. Why no Kaypro? :tantrum:
Hi! I recall Sharkonwheels trying to get a KayPro GIDE project going a couple of years ago. Nothing came of it AFAIK. Certainly GIDE or something like XTIDE using a Z80 shim PCB would be possible. Then you could use IDE, CF, or those CF to SD adapters.

The KayPro's lack of a proper expansion bus hampers this somewhat but nothing that could not be overcome with a little finesse. IMO, there is nothing technically preventing this project from happening. Only a lack of will required to lead, organize, and manage it into reality. Those skills can be hard to come by though.

If you wait for someone else to do it then it will never get done. I wish you the best of luck with your project. Thanks and have a nice day!

Andrew Lynch
Yes, given the popularity of the Kaypro systems, and the popularity of CP/M amongst older hard-core techies I had wondered this myself. I guess Andrew has answered the question. These things need a champion or a team of people to drive them forward. The planets haven't aligned to make that happen yet.

There's a motherlode of CP/M software out there and it's frustrating as hell not to be able to play with any of it.
You can write Kaypro floppies on a peecee with a 360K drive and software like 22DISK.
Sure it takes time, but most things do.
I usually use an emulator like MYZ80 to try stuff out before deciding to write an actual floppy.

These things need a champion or a team of people to drive them forward. The planets haven't aligned to make that happen yet.

I'm willing to be "Executive Manager" and say meaningful manager-like (bullshit) things such as, "Hey guys, can we get moving a bit faster?" (...thereby increasing productivity...), but unfortunately I don't have any actual PCB design experience.

My experience is mostly theoretical. (...meaning: "made up")
Hi! You don't need any experience just the curiousity to start building some circuits. Try getting a breadboard and make a Z80 circuit with wires. A simple one like this one for starters:


You'll be building IDE adapters in no time. The circuit above could be adapted to an IDE interface by only adding inverters to a few of the 8255 pins using a 7404 IC. Since the KayPro supplies the CPU, RAM, ROM, and UART already its just a matter of adapting the software. There are many examples of 8255 to IDE interfaces with software on the internet.

Seriously, you can do this. Anybody can. Jump in and have some fun!

Thanks and have a nice day!

Andrew Lynch
Likely SD reader for CP/M

Likely SD reader for CP/M

There are SD card readers for plenty of other 8-bit computers, such as Apple II, Atari 8-bit, C64/128 (Vic20?), CoCo 2/3, TRS-80 Model 100/102/200.

Yes, I have a SD reader for the TRS-80 Model 100 - the NADSBox What stands this reader apart from the others is that it is RS-232 based and will have XMODEM facility. This should be a solution for CP/M machines with RS-232 (have to be nearly all CP/M machines - surely)

Current price is $US 195 and currently only available from Club100.

I'm sure Ken will announce to the CP/M community when it's ready.

I already planned on getting a TRS-80 Model 100 (lost the damn auction, though) and I was going to get a NADSbox. It'd be great if I could also use it for my Kaypros!
Why are you having problems using diskettes?

I already mentioned it in three different threads. No matter what I do, I can't create Kaypro disks from images using my Compaq Portable III. I attempted many times. It just doesn't work. I have no other way to create disks.
Hi! If someone takes the lead I am willing to help out on it like with the XTIDE project. Initially Hargle led XTIDE and did the "heavy lifting" of all the organizing, software, project management, etc. Since then several others have joined and done wonderful work. IMO, whatever the technical solution you come up with it usually can be done without too much effort. However, my plate is full with N8VEM development and can't reasonably take on another project. I find its the PM and SW effort that is burdensome and its where Hargle excels. The HW is rather easy if you can keep the rest of the project at arms length. Ask Hargle for his opinion I am sure he can elaborate with an experienced perspective.

My suggestion for a purely technical solution is to take the XTIDE circuit remove the boot ROM and convert it to a Z80 shim PCB. Yeah, that's nasty and has all kinds of issues but I think it would work. An alternative would be to convert the PropIO board to a shim PCB and use its Propeller for VGA, PS/2 keyboard, and uSD. You could also convert the N8VEM SBC RTC circuit (74LS574 & 74LS125) to have 3.3v interface (pull up resistor, series resistor, 3.3v Zener diode) and hook it directly to a SD card but that would be fairly major software development. Fortunately the code exists (Juha's work on the N8VEM SBC SD interface) but it would still be a big project.

I guess my point is, to the extent I have one, that technical solutions abound but the most important ingredient is the will to make it happen. If the will exists we can make it work and if not this project will either never launch or flounder aimlessly.

That's my $0.02. I hope it helps. Thanks and have a nice day!

Andrew Lynch
SD cards are so nifty. I see them as little tiny floppy disks except that they have gigabytes on them. The micro sd cards are so tiny you sneeze and they can disappear.

So -there are some huge advantages to getting them working as an add-on for old computers.

The problem is the interface. There are not many examples of working code out there, and if you do have working code, it isn't quite what you need. At the bitbang level, sd card code is complicated.

There are three other approaches that might be worth pursuing. One could be to join Andrew Lynch's group (N8VEM) and then you will have access to all the files and in one of those files are the five Z80 assembly programs I wrote to talk to the uDrive http://www.4dsystems.com.au/prod.php?id=22 $29

This enables you to read and write files to and from the sd card via a serial port (tested to 38k baud, but ought to work up to 115k). It would just need some tweaking in the source code to change the port locations.

Another option is to look at other CP/M boards that have SD card access. I'm working on a propeller emulation http://www.smarthome.viviti.com/propeller and this board uses an sd card with eight 8mb disk drive images that use the Altair SIMH format. This board also has xmodem, and it is easy to xmodem files back and forth between other CP/M boards, either with wires or wireless. So this could be a solution if you have xmodem on the Kaypro, as then you don't need to do any coding.

Though if you have xmodem on the kaypro, you can also transfer files directly froma PC. And if it is tedious sending them one at a time, you can set up batch file transfer (code also at the N8VEM group).

As for reading the sd card directly with Z80 code, as far as I know only Juha at the N8VEM group has managed to do that, but he has disappeared and while his code is still there, I'm not sure anyone quite understands it. You would need 4 generic I/O lines (eg from an 8255) at 3V logic levels and i'm not sure if that would be all that easy to do. RS232 would be a lot easier.
Replacing the disk drives on the Atari, Commodore and Radio Shack Mxxx computers is a lot easier because they use a serial protocol to talk to the drives.

Still seems like it'd be easier (and happen sooner) to go with what you've got, at least for now.

I scrapped my Portable III or I'd try it myself; IIRC that's an HD drive which does increase the odds against...

Have you tried transferring files or images via a serial port, and if yes, why didn't it work?
There are tons of uC kits and circuits on the web that have a simple microcontroller and SD chip. Since the source code is usually included, you can modify it to produce whatever output you'd like. Such a circuit is far simpler than a CF card interface.

The bigger problem is dealing with the VFAT filesystem on larger SD cards. And you'd better plan on it, as small SD cards won't be around too much longer.
Hi! Would anyone be interested in making an adapter to use an N8VEM PropIO board in a KayPro? I am thinking this would not be a difficult project. Basically it would be a CPU shim socket. You would remove the CPU from the KayPro motherboard and plug it into the shim socket which would then be inserted into the KayPro Z80 CPU socket. For software use the existing CBIOS code for the N8VEM PropIO.

The shim socket PCB would export the Z80's 40 pins to a dual row header. The PropIO would be built as per normal except a 40 pin ribbon cable connected to where the ECB bus DIN 41612 male right angle socket would normally go. The modified PropIO would plug into the shim socket board. The PropIO board would be ideal for this since it already includes mounting holes to attach to the KayPro or other vintage computers case and not need any additional power cables.

I am thinking if the ribbon cable were kept short then no additional buffers would be needed. There are already bus buffers/transceivers on the PropIO.

Due to time and other projects already in work this is not really on my task list but if there were any hardware hackers willing to do some prototyping this might be a useful project. At a minimum I can see adding microSD to the KayPro or other Z80 based microcomputer. With the PropIO it would also add PS/2 keyboard and VGA interface which might be helpful in resurrecting a broken unit without working video or keyboard.

At least in theory this should work for the PropIO but may be general enough in nature to allow usage of any of the N8VEM ECB boards such as DiskIO or VDU.

Please consider. Thanks and have a nice day!

Andrew Lynch
Doesn't the 2x have a depopulated expansion connector on the motherboard? I can't recall for certain, but it seems like I saw one on the 2x I have when I popped it open.
Okay, I'm not completely crazy after all. :)

Checked the 2X schematic, and there's a connector, J9, which has all of the Z80 bus connections on it... looks like they intended it for a hard disk controller, since it's got a signal labeled !HD_CTRL_RST.
Hi! Thanks! What I am thinking of doing with the N8VEM PropIO is to make a general purpose Z80 peripheral not something specific to the KayPro. The shim socket approach would allow anyone with a socketed DIP 40 Z80 CPU to add the PropIO board and with some software support and have keyboard, video, and uSD storage. There is a builder on the N8VEM mailing list who has expressed some interest on prototyping with his KayPro so that sounds like a good starting point.

I am thinking of building my own proof of concept prototype and adding it to a recently completed S-100 keyboard interface. Since it uses a Z80CPU for controlling the PS/2 keyboard to parallel ASCII conversion, it would be a neat test bed for this idea. Obviously the PS/2 keyboard would be rather redundant and adding a video interface/storage to a keyboard converter isn't terribly useful either but it would tell me if the basic concept is sound. If it works there then it should work on any Z80 (DIP 40) computer regardless of manufacturer.

The Z80 host computer would see the PropIO similar to a UART interface so it is very simple to implement. The PropIO CBIOS code looks a lot like a plain serial interface for CONOUT, CONIN, and CONST. Each platform would have to have its own software probably in the form of a ROM or CP/M application to access the PropIO hardware. I think this would be very helpful to people with broken "integrated" Z80 systems like KayPro since you could then use the PropIO to temporarily replace the broken keyboard, display, storage or whatever.

Thanks and have a nice day!

Andrew Lynch
Yeah, I like the idea of the shim approach too. I figured for prototyping the expansion connector might be a little easier to work with. As long as you have a user defineable IO port base address, it seems like you should be able to use it on any Z80 type computer. With the appropriate software of course.

I imagine the hard part in getting a CP/M solution would be a custom BIOS with hard disk support. I've tinkered with the idea of writing my own CP/M 3.0+ BIOS for the Coleco ADAM in the past, but seems like it'd be a lot of work. ;)