Bending = Info :: Instruments :: Music :: Sequencers :: Youtube Channel
   Art = Statement :: Show List :: Pieces :: Videos

Vtech Pre Computer Prestige +
custom parallel port cable +
BASIC code =
toy laptop sequencer

Brief Description

     There are 4 Vtech laptops which have BASIC, atleast according to the Vtech Manuals available online. Only one of these (Equalizer) has built in memory for files, and the other 3 (PreComputer Power Pad, PreComputer Power Pad Plus, and PreComputer Prestige) need a memory cartridge. I do not have the PreComputer Power Pad Plus yet, so I have only tested 3 of the 4.

     Since these are embedded devices the version of BASIC they have is not quite the same as BASIC on a real computer. Vtech BASIC does not support PEEK, POKE, or IO controls such as OUT or INP. Some Vtech laptops do support LPRINT which can send data directly to the parallel port. The Equalizer does not support LPRINT which is a shame because otherwise it would be the ideal Vtech laptop. It has a bigger screen, better keyboard response, and the built in memory.

     Between the Prestige and Power Pad I focused on the Prestige because it has a bigger screen of the two. Lacking a Vtech memory expansion cartridge I made my own memory addition. NVSRAM does not need a battery, and it does not lose data when laptop is powered down. I hardwired a socket into the area a cartridge would plug in.

     The memory cart would allow me to write and save code to utilize the parallel port to control bi-lateral switches (4016) and relays. My code will send trigger signals on 1 of 4 data lines (D4-D7), or no signal as a pause/rest. I can load my template code, edit it, and save as a new file. I have code that can have programmed beats. Code to produce random beats. Code to mix random and programmed beats.

     My control circuit has two sets of 4 outputs. These outputs are always in sync. The 4016 outputs work well for positive/negative triggered toys. The relay outputs work well with matrix button toys. Some of the pins of the parallel port had to be wired so that the laptop thinks it is actually talking to a printer.

Code and samples at bottom of page.

To hopefully simplify the explanation of the possibillities of this sequencer and its' modular design the following is one file I put on the laptop.
By changing small variables such as the tempo, which toys are controlled, the pitch/distortion of those toys, or by syncing multiple toys you can get more versatility.


     Played that through my playskool drum without distortion, at normal pitch, and medium tempo.
Sample (2 MB)
     I then played it through my mixme dj with slightly slower pitch and medium tempo.
Sample (2 MB)
     Lastly, I played it through my playskool drum with distortion, at slightly higher pitch, and synced with my alphabet desk tones at high pitch. This was with fast tempo.
Sample (1.26 MB)
     After all that, I add the same code to my file that lets me add random sections. This is my playskool drum with distortion, at slightly higher pitch, and synced with my alphabet desk tones at high pitch. This was with fast tempo.
Sample (1.26 MB)
     Again with my added random sections I played it through my playskool drum with distortion, high pitch, synced with my alphabet desk tones at low pitch, and synced with mixme dj at slightly low pitch. This was with fast tempo.
Sample (1.26 MB)

Toys for using with sequencers

Code Click to show/hide code.

Show Template code for beats

Show Code for random beats

Show Template code for beats with option for random sections

New code


Randomly generated
3wayrnd1.mp3 (3.1 MB)
3wayrnd2.mp3 (2.7 MB)
3wayrnd3.mp3 (1.9 MB)
3wayrnd4.mp3 (1.7 MB)
3wayrnd5.mp3 (2.7 MB)
3wayrnd6.mp3 (3.1 MB)
3wayrnd7.mp3 (1.9 MB)
rand1.mp3 (1.9 MB)

Programmed beats
b1.mp3 (1.2 MB)
b2.mp3 (1.7 MB)
b3.mp3 (1 MB)
b5.mp3 (1 MB)

This is the circuit I built to interface the laptop to the toys.

There are 4 transistors, 4 relays and one 4016 chip. The adapter to the parallel port of the laptop had be wired as s null terminal so the laptop thinks it is connected to a printer. Otherwise the lprint command will not work. Four data lines are used to trigger the transistors which then trigger one relay and one of the 4016 switches. Each relay RCA jack is synced with one 4016 RCA jack. The relays and 4016 are connected as a parallel button on the toys, so that is how the toys are controlled.

This circuit is also used for the Pseudo Random Sequencer - 2 osc and the Pseudo Random Sequencer - Pseudo Random Number Generator.