The NEC PC-8201, PC-8201a, and PC-8300 are a bit different from their Kyocera cousins (Tandy Model 100, Olivetti M10, Kyocera K‑85) in that they have the ability to use replacable battery packs rather than just inserting Alkaline AA cells behind the battery door. NEC even released an optional rechargeable battery pack.
Lately I’ve converted a couple of the standard NEC battery packs into packs capable of using rechargable Nickle Metal Hydride batteries. The process is simple, and outlined quite well in this brief article.
Basically, add a jumper and a resistor (or couple of resistors in series) to the pack and it’s ready for rechargables. It’s a one-way trip, you can’t use Alkaline cells in the pack after the conversion.
The resistors are needed to convert the voltage up to the expected values — rechargable AA batteries only deliver 1.2 volts each, rather than the expected 1.5 volts of Alkaline cells.
The jumper tells the computer to trickle-charge the batteries when the system is plugged in and turned off. One thing to note, these old puppies don’t have sophisticated charging circuits — just dumb trickle charge — so don’t overcharge them; about 48 hours according to the NEC User’s Guide:
On to the code
As was doing this, I wondered just what the run-time of a battery pack would be. So I came up with is a simple BASIC program to run the computer battery down, and record the time that it dies and calculate the run-time.
Not being a computer scientist or electrical engineering wizard, I’ve made a lot of assumptions and probably some mistakes, but this seems to work for me. Feedback is appreciated 🙂
Basically (ha!), it’s an endless loop that:
- writes the current iteration of the loop to the screen (until the system time minute value changes)
- once every minute it writes to a RAM file; the system date, start time, current time, iteration number, and calculated run-time of the battery pack
- loops to the next iteration
The idea is that the computer will do some work (write to the screen, and look at the time, etc). Every minute it’ll write what it knows to a file. If the power level gets low enough and causes the system to shutdown, then the last saved file will have all the data and the battery pack runtime length.
I don’t have any complex calculations in the code as my initial project scope was to just get something working and give me a run-time value. I might add them to a future version, maybe selectable from the start screen.
Both of the units tested had different memory configurations, and the PC-8201a also had Stephen Adolph’s REX# and a Bank2 32kb SRAM card, so the results are expected to differ a bit.
I’ve been dabbling a bit with Github, so I’ve saved the program files to a public Github repository. Feel free to Clone, Fork, or just check it out. I’ll be updating and maintaing this repo as I do improvements.
Oh, and as the image shows, in my loaded 8201a, the pack lasted almost 33 hours. I lost the number for the PC-8201 due to a cold reset but will update this post when I run it again.
Leave a Reply