Sharp PC-1401

from Wikipedia, the free encyclopedia
Sharp PC-1401
Sharp PC-1402 (top) Sharp PC-1403H (bottom)

The 1981 published Sharp PC-1401 was the first in BASIC programmable pocket computers from Sharp with integrated scientific calculators .

Operating modes

In addition to the programming mode and run mode already available on earlier pocket computers, the PC-1401 also has a calculator mode in which the computer behaves like a pocket calculator. A statistics mode is also available, which u. a. linear regression supported.

In previous models, calculations could only be performed using BASIC command lines. Due to the calculator keyboard, the width of the LC display was limited to 16 characters.

Type variants

PC-1401
The PC-1401 has 4.125 Kbytes of static RAM , of which 3.5 Kbytes can be used for programs and variables . Variables A to Z were available independently, they were created statically.
The memory was implemented using two CMOS RAM modules of 16 KBit (2 KByte). By replacing one of these modules with an 8 KByte RAM module ( SMD ), the storage capacity could be increased to 10.125 KByte. The device thus corresponded to the PC-1402.
In addition, 1 KBit (128 bytes) of memory was available on the display controller. 82 bytes of this were used for the display, the rest could be used freely. However, the BASIC interpreter used these 82 bytes as temporary memory, which made it impossible to display them while BASIC programs were being processed.
The calculator cost 185 DM in 1986  , which corresponds to around 169 euros in today's purchasing power .
PC-1402
The otherwise structurally and functionally identical PC-1402 has 10.125 KByte storage capacity.
PC-1403
The Sharp PC-1403 has 8 Kbytes of RAM and a 24-digit display opposite the 16 digits of the PC-1401 and PC-1402. Lower case letters are also possible in texts.
PC-1403H
The Sharp PC-1403H is the top model of the 140x series. Compared to the PC-1403, it has 32 KB of RAM.
PC-1421
The PC-1421 is a version of the PC-1401 for financial mathematical calculations. It differs from the PC-1401 technically only in its different ROM content.
PC-1430
The PC-1430 is a simplified and cheaper version of the PC-1401. The display and - apart from the smaller number of keys - the housing are the same, but there is no pocket calculator mode (calculations are made in BASIC direct mode), the range of functions is smaller and the memory is 2 kB smaller.
PC-1450
This version allows the use of exchangeable RAM cards: CE-211M (3,070 bytes = 4 kB / standard), CE-201M (7,166 bytes = 8 kByte) or CE-202M (15,358 bytes = 16 kByte).
PC-1475
Variant with two-line display of 24 characters each and two slots for cards, each with up to 32 KByte RAM.

interface

Peripheral devices can be connected via an interface , including thermal printers (e.g. CE-126P ), plotters or an interface for connecting a data recorder (basically a normal cassette recorder ). A direct connection between two pocket computers for data transfer is also possible.

Pin assignment

The Direction column in the table indicates the direction of the signal. All information is provided without warranty:

 Pin │ Richtung │ Belegung              ┌───────────────────────
 ────┼──────────┼─────────────          │  on SHARP POCKET COM...
  1  │ ??       │ ??                1 ──│ ┌─┐ ┌─────────────────
  2  │ ---      │ Vcc    (+6V)      2 ──│ │ │ │
  3  │ ---      │ Ground ( 0V)  GND 3 ──│ └─┘ │ > CSAVE█
  4  │ out      │ Busy              4 ──│ off │   _ _
  5  │ out      │ Data out          5 ──│     └─────────────────
  6  │ in       │ CLOAD        -->  6 ──│ ┌───┐ ┌───┐ ┌───
  7  │ out      │ CSAVE        <--  7 ──│ └───┘ └───┘ └──
  8  │ in       │ Data in           8 ──│ ┌───┐ ┌───┐ ┌─
  9  │ in       │ Ack               9 ──│ └───┘ └───┘
 10  │ ---      │ n.c.             10 ──│ ┌───┐ ┌──
 11  │ ---      │ n.c.             11 ──│ └───┘
                                        │ ┌───

BASIC

The BASIC had a number of differences to the usual BASIC dialects:

  • There were only 13-digit floating point numbers (8 bytes), no integers.
  • two numbers were the same if they did not differ in the first 10 digits, differences without differences in the first 10 digits collapsed to the number zero: 3.1415 92653 589 - 3.1415 92653 500 = 0
  • Variables with one letter were fixed and could only contain either floating point numbers or string values ​​of up to 7 characters. A and A $ could not be used at the same time.
  • RUN did not delete the variable with a letter.
  • GOTO and GOSUB also worked with labels and calculated expressions instead of line numbers (GOTO "A").
  • There were no lowercase letters on the PC-1401-derived models, but the PC-1403 and -1450 did
  • Arrays had to (!) Be created explicitly (DIM AR (100)). There were max. two-dimensional arrays possible.
  • Strings were created statically. You had to determine the length when creating.
  • Variable names can only be 1 or 2 characters long.
  • Program lines could be up to 79 tokens long. Keywords were combined when they were first edited and then could no longer be edited.
  • Very extensive math commands (up to hyperbolic functions): sin, sinh, cos, cosh, tan, tanh, asin, acos, atan, asinh, acosh, atanh, ln, log, exp, ten, ...

Sample program

The following program is started by RUN 3200or DEF K. After entering a date in the form DDMMYYYY (e.g. 19082019), the weekday and the absolute difference in days to a previously entered date are determined.

3200:"K" DATA "SONN","MON","DIENS","MITT","DONNERS","FREI","SAMS":Q=S
3230:INPUT "DATUM?";D:T= INT (D/1E6):M= INT (D/1E4)-T*100:J=D-T*1E6-M*1E4
3250:Z=0:IF M<3 LET V=(M-1)*31:GOTO 3305
3260:IF J/4<> INT (J/4) THEN 3300
3270:IF J/100<> INT (J/100) THEN 3290
3280:IF J/400<> INT (J/400) THEN 3300
3290:Z=1
3300:V= INT ((306*M-324)/10)
3305:J=J-1:Z=Z+J*365+ INT (J/4)- INT (J/100)+ INT (J/400)
3310:S=Z+V+T:R=S- INT (S/7)*7+1:X$="TAG":IF R=4 LET X$="WOCH"
3320:RESTORE :FOR I=1 TO R:READ W$:NEXT I:PRINT W$+X$:PRINT ABS (Q-S):END

Machine language

As an extra that is not documented in the manual, the computers can also be programmed in machine language (using PEEK, POKE and CALL as well as using routines of the operating system) so that, among other things, direct access to the external interface can be achieved. This makes it possible to use the pocket calculator for measurement and control applications or to couple it to other computers or devices (e.g. via RS-232 ). Individual pixels of the display can be controlled via machine language, so that e.g. B. simple graphic games are possible. Extensive literature on this topic appeared in the mid to late 1980s.

Brief introduction to the structure of the CPU:
The processor of the PC-1401 is an 8-bit processor with a clock frequency of 576 kHz. Commands always take a multiple of 3 clock pulses, so that one can speak of a cycle frequency of 192 kHz. Commands last a minimum of 2 cycles (6 clocks), there are quite complex commands that can be up to 769 bytes long.

The processor has two address spaces:

  • 7-bit addresses for data, stack and I / O (96 bytes used)
  • 16-bit addresses for programs and data (8 Kbytes of which are in an internal ROM, 56 Kbytes can be expanded using external memory).

The processor has two 8-bit accumulators (A and B), two counting registers (I and J), three address registers for the 8-bit address area (P, Q and the stack pointer R) and 3 address registers for 16-bit addresses (X, Y, DP). The registers A, B, I, J, X and Y can be found mapped again in the internal 7-bit memory. There are some shortcuts (Load P with 6-bit value and CALL to 13-bit address). Special features are BCD commands that add, subtract or shift longer BCD numbers by 4 bits with one machine command. There was also a multi-branch command which, depending on the value in register A, enabled the selection of a sub-function with a machine command. Usually, this requires a large number of machine instructions.

In the PC-1401, the processor is expanded with 2 × 2 KByte static RAM, an LC display with 128 byte RAM and 32 KByte external ROM (of which only ~ 25 KByte are used). Larger RAM modules are built into the successors.

successor

The successor to the PC-1401 is the PC-1403 .

Technical specifications

CPU Sharp SC61860 with 576 kHz frequency, 8-bit - CMOS , extensive BCD arithmetic instructions
R.A.M. 2048 + 2048 + 128 bytes (PC-1401) or 8192 + 2048 + 128 bytes (PC-1402) sRAM , battery-backed
ROME 40 KByte (8 KByte internal, 32 KByte external)
programming language BASIC , machine language
Display Monochrome LCD , single line, 16 characters with 5 × 7 pixels each, contrast regulator
volume Piezo beeper, direct control by the CPU
Keyboard layout QWERTY (left) and calculator keyboard (right)
Power supply nominal 6 V (two lithium button cells , type CR-2032 with 3 volts each)
Power requirement about 30 mW with RAM accesses, 60 µW in normal operation
Operating time per battery set about 120 hours of continuous use
Dimensions 170 mm × 72 mm × 9.5 mm
Dimensions 150 g (including batteries and cover)

Emulators

With the SHARP PC-1450 emulator , the pocket calculator can be emulated on Windows systems.

Web links

Individual evidence

  1. ^ Advertisement from Vobis. In: Happy Computer . October 1986. Retrieved August 19, 2019 .
  2. This figure was based on the template: Inflation determined, has been rounded to full EUR and relates to January 2020.