Nec PC-8201A

The history of this computer is quite complex. It has been initially made by Nec in Japan since 1983, but this is not the beginning of the computer line. The primary design has been made by Kyocera and has been sold as Kyotronic 85 in Japan. Next, Tandy bought the license and in USA and Canada these computers became known as Tandy TRS-80 Model 100, and this is the computer you should search for as it was the most popular among this line. Now, using the same hardware base, with different power/keyboard designs and software, a Nec PC-8201 has been sold in Japan and export version 8201A has been sold too. There were also Olivetti M10, with a different casing and PC-8300 from 1987, made by Nec too, which contained more RAM and had a significant differences in software and display (re-definable characters). Let's not forget about TRS-80 Model 102 (a little different casing, fixes in firmware) and 200 (notebook format). All these computers are not very compatible with each other having different memory maps and capabilities. The Model 100 had firmware supplied by Microsoft and is known as the last machine which Bill Gates coded a firmware for.
The PC-8201A is based on Intel 80C85 microprocessor and, in its base configuration, has 16kB of RAM upgradeable with sockets on the bottom to 64kB in two 32kB banks. It is also possible to add ROM chip. Although disk drives and video adapters have been released for its expansion slot, the biggest power of this computer was in its portability - a whole machine has a size like A4 book and can work for a few hours at least with 4 AA batteries. The 40x8 LCD is not backlit. When the batteries exhaust, nothing is lost as internal rechargeable battery keeps RAM powered.
There is no permanent storage in the computer like a printer or tape recorder. It is however possible to connect both tape recorder to its connector and printer using RS-232 ports. It is also possible to connect a modem and the terminal program is already present in ROM, as well as BASIC and text editor. It was also possible to connect a barcode reader and load short programs using scanned codes. The computer had some popularity among users who write much "out in the field" as it was not power-hungry and not much demanding.

Manufacturer Nec

Origin Japan
Year of unit 1984
Year of introduction 1983
End of production 1988?
CPU Intel 80C85
Speed 2.45MHz
RAM 16kB, expandable to 64kB
ROM 32kB, expandable
Colors: Monochrome
Sound: Mono piezo beeper.
OS: BASIC, built-in software
Display modes: Built-in LCD, 8x40 characters


Media: Tapes, RAM drive, serial-attached peripherals including floppy drive unit.

Power supply:

1 - +8.5V, 100mA
2 - GND

Officially: 8.5V, 600mW. This is about 70mA. When the power unit is not plugged in, it is paralleled by batteries, which are 4 AAs in series (4x1.5=6V).
According to the flyer here, the power supply is 8.5V at 100mA, 11V at no load. However, peripherals may eat a bit more mA and charging may use power too. RAM backup battery is charged from any power available. Nevertheless, do not exceed the voltage - the computer should keep well with supply voltage lower than 8.5-9V as the batteries have a lower voltage.

I/O: Built-in keyboard
Serial port
Parallel printer port
Serial Port 1 (multiplexed)
Serial port 2 (multiplexed)
Barcode reader input
Tape I/O
System bus
Possible upgrades: ROM, RAM, system bus, batteries
Software accessibility: TOSEC, dedicated sites


My unit was damaged as it was crushed hard enough to break the keyboard PCB. It was possible to restore it by bridging broken tracks with wires. I don't know the origin of my unit except someone was putting it in a local ad.


Contents: Usage, updates Loading files, PC transfer Pinouts Links

Starting, usage:

The computer will not operate if the bottom switch turning the backup battery on is not in "ON" position. Then it can be turned on and contrast can be set in LCD, both these things are done using right-side switch and dial.
The computer should clear its screen and show a MENU file manager. On-ROM programs are shown as well as user's files. Manipulation is done by cursors, Return and Fx keys. After 10 minutes of inactivity, it turns off by itself. To turn it on, switch it off and then back on with right-side switch.
There is a "Protect" switch which prevents upper RAM bank (available in upgrades) from being written to. This way documents stored there will not be written over. 

Cold and Warm start.
Generally, warm start is a starting routine in which memory is not cleared. This usually happens when the computer, after some short break, is turned back on. Power switch goes to ON and work can be resumed.
To force a cold start, which erases all data and even time, start the computer, press Shift+Ctrl and reset it with rear reset button. This will clear the primary RAM bank.
Next is from manual as I don't have other banks of RAM filled: To initialize other banks of RAM, press F5 while SHIFT is pressed (screen clears), then CTRL immidiately. For 3-bank expansions, repeat it second time. Now go to BASIC and set date and time if you need it.

Software and its problems:
MENU is the main screen, the "file manager" of the computer, the thing seen first when it boots up.
BASIC is... BASIC interpreter.
TEXT is a built-in text editor. To run it, point it with arrow keys and press Return. Then type a file name - do not type extension, it will default to .DO as Document. TEXT allows to edit ASCII text and nothing more, so many optional ROMs and software sets had a formattig utility which made the text print visually better.
TELCOM is a terminal software which allows to connect using serial port to another system. The most important command is STAT which sets the port parameters. For it, refer to PC transfer part.

Now the dates. Set by BASIC command DATE$="YY/MM/DD" and TIME$="HH:MM:SS". PC 8201 uses two digits for date, and this is not Y2K-compliant. DATE$ function takes only 2-digits and BASIC programs may understand it differently if it sees e.g. 20 for year 2020. Second thing is that the 4-digit date in the menu has "19" hardcoded. This is still this 2-digit date in the system, this "19" is only for looks. Another useful information from FAQ is that Nec will not calculate leap years at all.

Blind test
If you suspect the macine is OK, but LCD is not, you can blindly beep it. After powering on press Return (it will jump to BASIC), type BEEP and press Return. It should beep.

About batteries:
The internal rechargeable battery is the same type as these nasty ones in 2/3/486 mainboards so it may leak. It is possible to replace it with non-rechargeable 3-3.6V cell like CR2032, however use a good diode (Preferably low-drop like 1N5817 or 19) to avoid charging the CR2032 as it's not chargeable. Generally you can install the cell near the original place and open computer every time you replace it or push it between rows of unused RAM socket, then it will be needed only to open RAM upgrade cover.

About memory upgrading:
The computer uses an unusual type of memory chips, being a hybrid of a few SRAM chips surface-mounted on a common board of the side of wide DIP socket. These chips are hard to obtain now, although different upgrades have been made. These chips have separate Chip Select lines, so they cannot be directly tied to address lines - as two chips will never be active at the same time and two bits will be. The biggest problem was with using a modern, larger SRAM chip and using proper decoding, this was done, dependent on implementation, using additional chips or even a few transistors.
There is one free ROM socket, and it can be used. The most interesting ROMs contained DOSes for serial port-based disk drives, spell checkers (Sardine editor), or even text processing suites (Ultimate ROM II). ROM is upgradeable with 27C256 or pin-compatible chip. There are some interesting ROMs in Web8201 site (see Links). If you download them some are in HEX format - Willem 0.97ja software will convert HEX to binary, but some versions of Unix HEX2BIN may not, returning empty file.
An important thing is that programs from ROMs may not just pop in file listing, but need to be initialized with POKEing proper configuration and EXECuting then. For example, Ultimate ROM II needs to be initialized by POKE 63911,1 [Return] and EXEC 62394 [Return], then it will pop.




Loading files:

This is extract from the manual. At first, Extensions:
- .DO - Text docments - They are pure text, so even if they have BASIC code inside, they are not understood by BASIC. You have to read them into BASIC. Then they become usable as BASIC's keywords become read in (tokenized).
- .BA - BASIC programs. Their BASIC keywords are substituted by commands (tokens) for smaller memory footprint. Only .BA files can be run in BASIC.
- .CO are machine code programs.
- .<> - A directory in a floppy in serial port floppy drive. Rarely seen.
Sometimes in the Internet .NEC could be BASIC text files, right to be loaded into the computer. It is recommended to use "XMODEM" to transfer .CO files.

Loading in a computer, moving in MENU:
LOADing programs into files: Press F1, then computer asks for a file FROM which the program will be loaded (file name on tape) and it will load from cassette by default (you can as well type CAS:FILE). You can load from serial port by using COM:8I71XN (explanation of COM configuration is below). Be careful as in Nec files are case-sensitive while in Tandy 100 are not.
During cassette load, it may ask "Ready?" and it will start loading when you press Y (and preferably tape is running but program playback is not started). If it asks "Sure?" it means that it asks you to overwrite existing file.
During cassette search it may display "Skip ..." and "Found ...". Shift+STOP aborts.
SAVE goes the same way but it also asks "Binary or ASCII?" for BASIC files, defaulting to Binary on Return.
Machine code programs cannot be saved using RS232, only .DO (text) and .BA (BASIC) can.

Ah, and LIST command in the main screen lists TO THE SERIAL PRINTER.
Shift+F1 (SETIPL) is an interesting function - it sets a .DO file as some kind of "Autoexec" which will be started at the power on of Nec. So passing TEXT [Return] REPORT.DO would open REPORT.DO in TEXT editor. BASIC can also be used this way. Shift+F2 removes the "autoexec bit" from file.
Shift+F4 removes a file. Asks before.
Shift+F5 switches RAM banks if other are installed.

Loading from tape in BASIC:
Tape operation: CLOAD/CSAVE:
Without name, loads first file met on tape.
...for saving on a tape.

Transferring files to/from newer PC - RS232:
To transfer text files, you need a nullmodem cable with 25-pin plug, serial port and terminal software. Does not matter if you use Bray, Multicom (available in Linux) or Win95's HyperTerminal. Generally connect the computer with a nullmodem cable, set the terminal to port. The computer has TELCOM program to manage serial communication. An example for setting baudrate is: Tap STAT-labeled function key, type 58N1XS, tap Return. 5 - 1200baud. 8 - 8bit. N - No Parity. 1 - One stop bit. X - Enable Xon/Xoff.
Exactly the speed codes are (from manual): 1 - 75, 2 - 110, 3 - 300, 4 - 600 5 - 1200, 6 - 2400, 8 - 9600, 9 - 19200, but be careful with higher as CPU may not process it efficiently, and LCD likes maximum 600-1200.
Parity are E/O/N/I (Even/Odd/None/Ignore),
Data bits: 5, 6, 7 or 8, Stop bits: 1 or 2, XON/XOFF X (Active) or N (Not active), Hardware handshaking is S (active), N (Not active).
To enter terminal mode, use TERM command.
Now, to enter upload mode to push files into modern PC, upload with F4. Download with F5.

Before loading or saving BASIC programs on serial port, you have to convert between BASIC code and text, as Nec does not save BASIC as text in its RAM.
1. To convert from BASIC to text to be sent to PC, save the BASIC program by SAVE "FILE.DO",A command, saves to ASCII file called FILE.DO. This file then may be safely sent.
2. To load BASIC code from text file, receive it to .DO file and load it to basic by LOAD "FILE.DO", and then convert by saving: SAVE "FILE.BA" to save it as BASIC code.





Serial ports:
The colmputer has three serial ports, but in fact it's one but software-switched to 3 ports.

SIO1 is an 8-pin modular connector, like RJ45 network cable. Here is the pinout from - when looking at the rear of computer it's RIGHT TO LEFT:
1 - GND
2 - TxD
3 - RxD
4 - RtS
5 - CtS
6 - Vcc (+5V)
7 - NC
8 - NC

SIO 2 is 6-pin, also RIGHT TO LEFT when looking at the rear:
1 - GND
2 - TxD
3 - RxD
4 - RtS
5 - CtS
6 - Vcc (+5V)

RS232 is a standard 25-pin DB connector (1/14 is on the right):
1 - GND
2 - TxD
3 - RxD
4 - RtS
5 - CtS
6 - DSR
7 - GND
8 - DCD
20 - DTR
22 - RD (Ring detect)
(according to Kyocera FAQ there is Transmit Clock on pin 24, but I don't see in in the schematics).


Tape connector: 8-pin DIN:
1 - TTL level output (??diagnostic??)
2 - GND
3 - GND
4 - Output from computer to recorder
5 - Input from recorder to computer
6 - Remote 1
7 - Remote 2 (These are relay)
8 - +5V


BCR - Barcode reader pinout (Male 9-pin DB, 1/6 on the left):
2 - Receive
1, 3, 4, 6, 8 - NC
5, 7 - GND
9 - +5V


Printer: 26-pin ribbon connector:
3 - D0
5 - D1
7 - D2
9 - D3
11 - D4
13 - D5
15 - D6
17 - D7
21 - BUSY
25 - SELECT (NC according to some sources)
19, 23, 26 - NC
2,4,6,8,10,12,14,16,18,20,22,24 - GND
----   --     --   ----
| 25 23 20 .... 5 3 1 |
| 26 24 22 .... 6 4 2 |






General:  - Hacks - Web 8201 - A website dedicated to 8201 with interesting information, FAQs, documentation and downloads. - Tech information. - Modify battery pack for NiCad batteries - Lots of hacks! A heavily modified unit. - Quite awful method to add RAM. - Remember to replace your rechargeable cells too! - Emulator. - In collection, an interesting modified unit - Someone picked the PC 8300 up and fixed it - "Exploring the Nec PC-8201a" - a book about the computer. - And a small TOSEC archive

Model 100: - An interesting hadware site of Model 100 - The "Model 100 users group" - Their library is a good starting point for beginners - Build yourself a floppy emulator using SD card and Arduino. - Floppy Disc Controller protocol. If you want to make an emulator. - An interesting Model 100 and 200 site with technical resources.

RAM upgrades from all over collections: - In collection, interesting RAM update is shown. - Another, more invasive try with RAM upgrade. - A bit better RAM upgrade, not tested