Vtech Pre Computer Power Pad upgrades

20191104_194438

All inspiration for this came from a recent hackaday post.  It is a bit fragmented so let me try to bring the information sources together as well as add my own.

Hackaday post

Hackaday.io project (linked from above)

Thingiverse (contains best image of pcb traces)

Original creator’s personal blog

z88dk thread

Additional information on a similar computer

There is much more information out there that needs to be compiled as well.

Now, as for my contribution.

y6hllrs

I want to eventually use this as a CollapseOS machine, I think it’s in the spirit of that operating system to be built out of salvage components, but this right here seems to be a ready made machine for the job.  After Makerfaire Detroit Frank and I got an s100 bus system consisting of two poly88 chassis, an ithica audio z80, a percom monitor rom, a solid state music io-4, an sd systems expandoram, and a zrt-80 terminal.  We got the various cards fixed and Frank modified the monitor and streamed basic over to it over a serial port to run from RAM.  It’s a pretty capable system and I already have four more cards for it and one more in the mail (none of these were really needed, but whatever).  That is the main workhorse z80 system and has been extremely useful for learning how the whole architecture works as well as learning some tricks from back in the day.  We will probably end up running CollapseOS on there some day, and probably a version of CP/M if we ever get disk controller cards.  Using that knowledge I’m going to try to make the Pre Computer Power Pad a useful z80 laptop.

Rom Dumping

The first thing to do after learning about all the work already done in MAME was to dump this rom and see if it was already emulated.  After looking at this nice annotated layout it seems that the mask rom used in these computers is pin compatible with the 27c2001 2 megabit rom, and an eeprom programmer will dump it as if it were one.  It turns out we are the first ones to dump the rom contents of this computer (27-5373-04) and put it on the internet.  With some minor patching it runs in the pc2000 mame driver as a gl4000 (just swapped the rom and recompiled).  This is incredibly powerful and lets us interrogate the code as it runs, setting watchpoints and single stepping as we see it handling functions like printing (we’ll get to that).  This rom should be up on the MAME guys repository soon and the new addition to the mame driver shortly after.  There’s still work to be done to add the printer port to the driver for computers that come with one, but we haven’t got that done yet.

Printer Port addition

20191104_195044

Now, I don’t say parallel port because this port really is only equipped to print.  I started from here with the helpful information on the missing components.  From there I determined what jumper wires were needed by analyzing the circuit and links to nearby chips.  This was complicated somewhat as it seems that under battery power some circuit generates a negative voltage and that is what the rf ground is running at? I don’t know the power situation with this board but I don’t really like it.

20191104_194535

The original transistors of Q10 and Q11 were LM9014C and LM9015C respectively and I replaced them with a PN101 and a PN2907, which roughly work out to a 2n3904 and 2n3906.  The PNP transistor serves to pull down the strobe pin as a noninverting output (10k pull up) and the NPN transistor acts as an inverting input from the printer’s /BUSY line.  This plus all the resistors that are missing being 10k and the fairly obvious 74ls244 (obvious because of the wacky pinout) gives you a working printer port circuit.

20191104_194541

This won’t let you print, but you have an electrically functional port.  The english rom has the commands LPRINT and LLIST missing from the BASIC keyword table so you can’t exercise the port, but flashing the german rom to a W49F002 (thank you salvage BIOS roms) and it prints just fine.  Work is progressing to add those commands back to the english rom, it’s just not done yet.

20191107_122741

One final word on the printer port, and speculation on why it was not on the US version of the laptop.  The ‘244 is hardwired to be on all the time, at least that’s what it looks like to me.  The data lines for the printer port are shared with the key matrix, and from what I can see the key matrix scanning signal is being broadcast out all the printer port data lines at all times.  The printer doesn’t respond because the strobe line isn’t used, but the data’s there.  This reminds me of Bill Herd’s story of the commodore that had full system bus speed scanning the keyboard matrix with no buffer and it would crash if you got it near a TV.  The FCC may have had the final say about this design.

NiMH charging addition

20191104_195036

The last one was really puzzling out exactly what to do based on information from the last guy.  This is a new contribution.  I decided that since this was a laptop that it should behave like one.  To me that means a rechargeable battery with charging circuit inside.  This comes partly out of all AA batteries in my house being Enloop NiMHs and my desire to not take them out all the time to charge.  I also wanted to keep the original functionality of being able to use non rechargeable batteries for emergencies or just situations where you can’t get rechargeable or you lose one.

20191104_195026

I implemented this with a switch on the back to switch between R(echargeable) and A(lkeline) batteries.  What that does is when the switch is in the A(lkeline) position and you are running off batteries the battery ground is run to the pass-through pin of the barrel jack and thus connected to the system ground.  The positive is connected to the ~5v input to the pcb.  When you are using the barrel input the pass-through is disconnected and the batteries are out of the circuit (on the ground side).  The input to the barrel jack goes through a dc-dc converter and also goes to the ~5v input on the PCB.  This is different from stock in that the barrel jack used to feed a different part of the pcb with ~9v but it would have complicated my circuit to do that so I regulated it down to simulate the battery voltage.  This means the allowable input voltage is now a much wider range, instead of being just 9v you can feed it 7-20v and it would survive just fine.  I had to swap the barrel to one that would accept standard 12v supplies, the original one had a center pin that was too big.

20191104_195024

In the R(echargeable) position the pass-through and system ground are connected together.  Also the barrel jack moves from supplying the pcb through a dc-dc converter to running a NiMH charger to charge the batteries.  This means that in R(echargeable) mode the batteries are always powering the laptop, just sometimes the charger for them is being powered too.  The charger’s LED was relocated to the front lip of the laptop to indicate charging status.

20191104_194503

These modifications allow the laptop to be run off a wider range of voltages, charge its own batteries, and in a pinch you can swap out the batteries if you need to.  Truly a versatile configuration in preparing for the collapse.

20191103_164405

 

ToDo:

test and install supercap and diode circuit to keep internal sram alive when AA batteries are removed

maybe patch internal chip select lines to unused cartridge pins for remapping without opening the case (would then need jumper cart)

bigger screen? looks like the hd44780 lines just go from the main board to the top of the laptop

patch english rom to allow LPRINT and LLIST

patch all roms to restore peek and poke (list of commands seems based on microsoft basic for the z80)

fix mame driver printer routines/clock frequency

upload dumped power pad rom to mame

port CollapseOS

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


%d bloggers like this: