4 posts / 0 new
Last post
Last seen: 3 days 21 hours ago
Joined: Apr 1 2020 - 16:46
Posts: 133



Dear Apple-1 builders:


Bringing up many Apple-1 builds in the past eight months, I found it helpful to have a keyboard emulator cable in lieu of a real keyboard. The emulator may have an auto-typing feature so you don't need to type in the same diagnostics programs again and again and again. 


I finally have found the time to put together instructions / plans on how to make such a keyboard emulator cable. I have built two based on these plans to a) snap photos and b) prove the plan has no bugs.


This is the keyboard emulator cable in action:



Here is the downside: I'm an old retired guy and I use old and ancient retired hardware and software. The plans come with the keyboard emulator software source code but it compiles under Microsoft C7.00 and runs under DOS. You also need a notebook computer (or a laptop) or similar of no later than 1990s vintage, because you need a standard DB-25 printer port into which the emulator cable plugs in. I have no doubt that some smart people lurking here on this forum could take these informations and make versions that run under Linux or even on the Raspberry Pi, which would be great. 

If you do so, please post the results here in this thread.

And, all the attached stuff is placed in the public domain, so you can do with it as you wish !



Last seen: 1 hour 50 min ago
Joined: Dec 17 2020 - 09:16
Posts: 6
Hi UncleBernie. I just found

Hi UncleBernie. I just found this in the older threads of this nice forum. That's really great! Thanks for sharing. I will definitely try this out at some point once my replica is working stable.

Is there a limit on the amount of text automatically typing in? Can this software maybe being used like a macro, i.e. for entering multiple commands for simulating the operation of the Apple-1? If so I can imagine to use this kind of setup for displaying an Apple-1 "in action" in a museum or on an auction...

Or just for fun on my next party with friends... ;-)

Last seen: 1 week 9 hours ago
Joined: Jan 30 2021 - 11:55
Posts: 19
Indeed this is a great

Indeed this is a great project! I will try it for sure, when i done with my replica build.


Thank you!

Last seen: 3 days 21 hours ago
Joined: Apr 1 2020 - 16:46
Posts: 133
About the Auto-Typing feature ...

... it is not limited. If you press F3 on the notebook (or whatever), you get a prompt and then you can enter a filename.

This file then is opened and "auto - typed" into the Apple-1. The speed adjustment must be done such that the Apple-1 does not lose characters (the Apple-1 screen output rate is only 16.6ms per character, and the Wozmon may want to output more than one character for each keystroke).  Speed adjustment is quite simple, it's one constant in the source code.

The software could be easily expanded to include macros. And, of course, it could type anything you want, if you change the code accordingly, which is easy, because it's C. You could make it auto-type anything you want. I still use it for both machine language and BASIC programs (and for auto-typing the BASIC interpreter into the machine).

Museums could use this technique to keep the Apple-1 busy so people could see how BASIC programs are entered and run etc.

But then, I think, you might want to add a sort of "Wait" character into the code, which just waits for a while (i.e. 0.5 second).

The Apple-1 keyboard does not have all ASCII characters, so any of the unsupported ones could be used to trigger a wait period, where no characters are auto-typed to the Apple-1, so it can catch up, i.e. when you run BASIC games, you need to wait until the slow BASIC is ready to ask for the next user input. All this is not very difficult, because real humans typing would also ponder a while before they make a move and hit a key. So just throw in some of these "WAIT" characters and you could even mimic irregular typing rhythm of real humans.

That would be fun !

If there would be more feedback on this thread, I possibly would write a Linux version of this program. It is easy to do but the direct hardware access needs a few added lines of code and then proper setup of the binary (it must run with root permissions).

I can do that but I think it may be a bit beyond the skill level of Linux newbies. This is why I posted the more primitive and user friendly DOS version first. The beauty of DOS (as primitive as it is) is that you can access hardware ports without much effort to get permissions from the OS. In DOS, there are no such permissions needed and anything goes.




Log in or register to post comments