The Sharp PC-E220 Homepage

Programming Languages:
Basic, Z80-Assembler
32 kB with 30090 bytes free usable (addresses 0100-77E0)
128 kByte (1 Mbit-Rom) contains 8* 16 kB banks (addresses 8000-BFFF, C000-FFFF)
CMOS-SC7852 (Z80A code-compatible, not cycle-compatible), 3.58 MHz (3579545 Hz)
4 lines x 24 characters, resp. 144 x 32 pixel (contrast manual adjustable)
frequency, duration and number adjustable
11 pin interface (SIO (max. 9600 baud), printer, cassette)
215 x 100 x 18 mm
300 g with batteries and hard case (280 g without both)
Operating temperature: 0 C - 40 C
four 1.5 V batteries (AA resp. R06), one 3 V CR-2032 lithium battery


Three different versions, V.0, V.1 and V.2, exist which differ slightly in the ROM contens and probably even in the hardware, e.g. the CPU clock. See also the remark in the last paragraph in section Rom banks.


Obviously, it can be supplied by four 1.5 V AA batteries. But you can also use the calculator with a power supply of 4 - 6 V voltage! It must be connected to pin 2 (Vcc) and pin 3 (ground) of the 11-pin interface. Take care of the right polarity. The typicall power consumption is about 0.37 W.

The 11-pin Interface

This is a 2.54mm pin-head and let the pins be numbered from 1 (left) up to 11 (right) if looking at the interface at the Sharp PC-E220
(left the LCD display above the lower numbered pins and right the keys above the high numbered pins).
One can use a RS-232 protocol with 5V (high) and 0V (low) logic to make seriel input/output:
Sharp direc  RS232   Sharp
 pin   tion   name    name    meaning
   1    out     ?      BUZ    buzzer signal
   2     -     Vcc     GND     5V
   3     -      SG     Vcc     0V   signal ground
   4    out    CTS     BUSY   (Sharp signals it is busy)
   5    out    DTR     DOUT   if high then Sharp has activated the interface
   6    in     RXD     XIN    Sharp reads data in
   7    out    TXD     XOUT   Sharp sends data out
   8    in     DRS     DIN
   9    in     RTS     ACK    must be high to signal Sharp that it may send data
  10     -      -       -     not connected
  11     -      -       -     not connected
Because usually RS-232 computer levels are between 3 V and 15 V if high and between -15 V and -3 V if low (the range between -3 V and 3 V is dead range for noise absorption), you will need a level converter, which e.g. double respectively half the signal voltages from TTL/CMOS resp. RS232. Also input voltages significantly larger than 6 V may destroy the Sharp pocket computer!

Signal levels:
RS232Inverted CMOSSharp IO
-12 V 0 V 5 V
+12 V 5 V 0 V
Using a 9-pin RS-232 D-Sub male plug-in
you must connect

should connect and might connect The data transmission will be in the Intel Hex-format with a default byte count of 16 bytes data resulting in a record length of about 43 characters (depends on CR/LF) each Intel Hex-line. Field type is always 0 except the last record which has type 1. If you transmit code to the Sharp then be sure that you make a pause of at least 0.1 sec after each Intel Hex-line, because the Sharp needs a bit of time to check and decode the data bytes!

LCD Display

The display is made up of two separate panels, each 32x72 dots sized. It is driven by a HD62202 and a HD61203 chip.

Existing Ports

Port I/Ousageused bitscomment
10 inkey input01234567returns column vector of a 8x8 resp. 8x2 matrix
11 outkey strobe01234567either 0 or choose row of 8x8 matrix via a 1-bit mask for port 10
12 outkey strobe01______either 0 or choose row of 8x2 matrix via a 1-bit mask for port 10
13 inkey board 0_______lowest bit indicates status of SHIFT key
14 in/outtimer 0_______lowest bit indicates timer signal. This is the clock from the LCD driver which has a period of about 0.95 sec
15 in/out11 pin interface0______7 Bit 0 is cleared and Bit 7 indicates pin XIN input enabled/inhibited
16 in/outinterrupt handling0123____asks/clears the 4 interrupt reasons: Bit 0 keyboard, Bit 1 ON-Key, Bit 2 timer, Bit 3 CPU-pin INT
17 outinterrupt handling0123____enables/disables 4 interrupt sources: Bit 0 keyboard, Bit 1 ON-Key, Bit 2 timer, Bit 3 CPU-pin INT
18 out/in11 pin interface01_____7Bit 0 pin BUSY/CTS, Bit 1 pin DOUT, Bit 7 XOUT/TXD (complement of data bit)
19 in/outbank mapping012_____adress range C000-FFFF: valid values: 0-7; one of eight banks of internal ROM is selected, current value stored at 7900H
in/outbank mapping ____456_adress range 8000-BFFF: if Bit 6 is set then Bits 4 and 5 address one of four possible 16 kB ROMs on the expansion port
1A out only cleared when BASIC module init
1B outbank mapping__2_____if Bit 2 is set, an external 32 kB RAM on the expansion port is mapped to 0000-7FFF (cleared when BASIC module init)
1C outperipheral reset01______Bit 0 indicates trigger status and Bit 1 whether low or high signal is supplied
1D inbattery status0_______Bit 0 indicates battery status
1E out01______
1F in11 pin interface012_____Bit 0 pin DIN, Bit 1 pin ACK/RTS and Bit 2 pin XIN/RXD (complement of data bit)
inkey board_______7Bit 7 indicates status of ON- resp. break- key
58 outLCD-control01234567value: column*4+row | 40 , 0 <= column < 24, 0 <= row < 4
59 inLCD-control_______7Bit 7 indicates busy
5A outLCD-data01234567each byte represents 8 successive pixels in a column
5B inLCD-data01234567each byte represents 8 successive pixels in a pixel column

Rom Banks

V.1V.2comment User key
0System/BIOS always at 8000-BFFF
1Basic Interpreter (mapped default at C000-FFFF)BASIC
2Peripherial CE-126P (Printer/Cassette) (what still? calculator?)
3Text Editor / MonitorTEXT
4Statistics & FontsSTAT
55Assembler / Diagnostic modulASMBL
66Engineer Software (Integration, Trigonometry, Physical Constant)ENG
77Engineer Software (Factorization, Metric Conversion, Greek, Complex number)ENG

Version .1 and .2 of bank 5 differs only in 3 byte positions.
If both keys SHIFT and , (colon) are pressed during RESET is done
then 5 diagnostic modi are selectable (caution, RAM-Check clears total memory !).
Moreover then the ROM-version, one of V.0, V.1 or V.2, will be displayed.

Software limitations


External Links

Achim Flammenkamp
2010-04-16 19:48 UTC+2