Waveterm Keyboard
Nach oben / Up Waveterm Keyboard Waveterm Serial Waveterm Communication Floppy Interface


This is part 1 of the series "How to convert the Waveterm into a real computer."
Part 2, "Activating the serial interface," can be found here.

How do you convert a Waveterm into a real computer?

The first step - it needs a good keyboard. This can be accomplished either by using a special adapter or by ruthless misuse of the parallel port of your PC.

Here's how. Amongst other things :-)

If you're interested in Andreas Voigt's adapter, you can contact him here.
The parallel port program plus adapter cable description can be found here.


As you can read since quite some years on Antarctica (on the Tech and Eltec pages), and as you can see if you look behind your Waveterm, it is, in theory, an adequate computer based on an ELTEC Eurocom II V7 motherboard. This computer has a lot of interfaces that aren't strictly necessary for its use in the PPG System; therefore, they have been neglected quite badly (or kept completely secret). One of them is the keyboard interface... which we finally cracked.

So, what's that good for?

Well - let's start with some hypothetical questions:

bulletWouldn't it be pleasant to be able to correct and augment the Waveterm software?
bulletWouldn't it be fine to exchange sounds between the Waveterm and your ubiquitous PC?
bulletFor the hackers: wouldn't it be nice to use the Waveterm as a computer in its own rights, outside the PPG System context?
bulletWouldn't it be good to be able to add new software to the Waveterm?

Can be done. In theory. In practice, some little details are missing... you don't have access to the system, you can't get anything out of the system. I've already managed to get things out (see the Sound Library on that), but the other way's not there yet. How do you get something into the Waveterm?

Ah, wait a moment - what if you could attach a keyboard to it? Wouldn't that open a door? Sure! But wait... where can you get a matching keyboard?

The Quest

I've tried for 5 years at least to find an ELTEC PAT-09 keyboard. These beasts are practically extinct; I've found someone at ELTEC who probably would have sold me an old one, but only for a... well, let's say special price, arguing that it isn't exactly a PC mass market article.

(Note 3-9-2002: finally, I have one! A friendly guy who had it in his cellar for 15 years let me have it! For free! Thank you very much again, Mr. Kremser!)

Light on the horizon

Last year I had a chat with Andreas Voigt on that theme, and - totally amazing! - he told me that it might be possible that he has one in his cellar. Wow. After so many years, as easy as that? Too good to be true... as it turned out, he didn't have it any more, but after an astonishingly short time he managed to create a keyboard adapter that allows to attach a standard PS/2 keyboard to the Waveterm. 


I've now received an adapter for my Waveterm... and it works! It works! If you press Ctrl+X while booting up the Waveterm (and you do it fast enough before the special Waveterm software comes up), you land in the Waveterm's Monitor program. Pressing D then starts FLEX without loading the Waveterm software on top.

Finally. Finally! The quest is over - although in another way than I expected - the hack can begin.

Retro Feeling

The start was fairly easy and quick - create a Waveterm System disk, label it "Tinker". Based on my research for the Sound Library I already knew what's on the Waveterm System Disk.. and what isn't... so, as a start, I deleted ST.TXT from the system disk. This file is responsible for loading the Waveterm software on top of FLEX. Sooo.... now I got a Waveterm boot disk, that stops booting at the FLEX prompt, just the way I like it. The game can begin... so how do I get the things I need for serious programming tasks into the Waveterm?

Simple... just like 20 years ago. Back then, I copied hex listings by hand, and hey - it still works in the same way :-)

OK, so what's necessary to create files out of nothing? With FLEX, not much... two files: SAVE.CMD, or SAVE.LOW, respectively - two programs that can dump the memory contents to a binary file. Using the Waveterm Monitor, the memory contents can be changed at will.

SAVE.CMD already exists on the Waveterm System disk, since the Waveterm software uses exactly this mechanism to save its sound/event/whatever files. Unfortunately, SAVE.CMD can't create files for the memory area where itself is loaded... and practically all other FLEX Utility programs, as I found out nearly at once... for that, there's SAVE.LOW, that's loaded to a different memory address. SAVE.LOW unfortunately isn't included with the Waveterm software, so off to work we go!

One hour later...

two hours later...

three hours later ...

finally - done. Astonishing fact - no errors on 1st try. OK, I got both SAVE programs now! Yippee, my first self-typed FLEX program! :-)

Tiring job... to test whether it works I keyed in another short program. CAT.CMD - so that I can finally see what's on the disk.

Twenty minutes later... done. THAT was easy, since this was the program I tried when I found out that I need SAVE.LOW - parts of it were correct already. Using SAVE.LOW, I could finally save a correct version to disk.

Does it really have to be so hard?

I'm lazy. I don't like to enter hex digits for hours. Is there really no better way? Hmmm, laziness is the mother of a lot of ideas - what if my PC did the typing for me? It's better at such stupid jobs (and introduces less errors!)

OK, so how do I turn the computer into a writer? Aaaahhh yes, here we have something that looks like it could be a counterpart to the Waveterm keyboard interface - the Parallel Port! HA! Could it be? Could it really work?

We use the Parallel Port. YESSSS.

After a short conversation with Andreas, who also thought it should be no problem, I had a nice hour of soldering. Out came an adapter cable like that (pin numbers as printed on the connectors):

ASCII Keyboard Pin Parallel Port Pin
+5V 1
Data 7 2 ---- 9
Data 5 3 ---- 7
Data 3 4 ---- 5
Data 1 5 ---- 3
NC 6
Ground 7 ---- 18-25
Data 6 8 ---- 8
Data 4 9 ---- 6
Data 2 10 ---- 4
Data 0 11 ---- 2
Strobe 12 ---- 1
+12V 13
NC 14

Checked again rather nervously, plugged in (Attention: always turn the Waveterm off during such manipulations! Otherwise it would be a good idea to memorize the term 68A21P (or 68B21P), and these things aren't too easy to get nowadays :-) ... and now for the fun part - we create a little DOS application. Retro feeling again, but, hey, we don't need no fancy windows here.

Ten minutes later - first test: WORKS! My test program writes, "Hello, World!"

Suddenly, I haven't got one, but two possible methods to attach a keyboard to the Waveterm! Now who would have thought that's possible...

Here's a little program that, together with the adapter, allows to use the PC's keyboard as a Waveterm keyboard. Source code included.

So. And NOW the PC can do the typing for me!

What about the Waveterm B?

Well... Pascal Thiault from France has found out that the adapter cable described above works with the Waveterm B, too... as long as it is used in Waveterm A mode. Unfortunately there don't seem to be any provisions for the ASCII keyboard in Waveterm B mode, although the interface is correctly cabled inside the Waveterm B. One fine day I'll deal with that, too :-)

File Transfer - the odd way

Since I'm quite familiar with the FLEX program layout, it was quite easy to write a program that can key FLEX binaries into the Eurocom Monitor program and then save them using FLEX.

It works. Right now, behind me :-) Works OK, satisfactory, quite reliable... and, of course, slow. Using this method, the transfer rate is a mind-boggling 4 cps... but that's still much faster than what I could do by hand. And my PC doesn't mind, it doesn't get bored :-)

The next step is the activation of the serial interface to speed up the whole thing a bit. Details can be found here.

Auch in Deutsch erhältlich!

Last update: 09/15/02