★ top of page ★ ★ Home ★ ★ Road ★ ★ Archive ★ ★ Objects ★ ★ Code ★ ★ Etc ★ ★ the dust bin ★ ★ www.RamblerLore.com ★


LGP-21 Flexowriter Simulator

9 Nov 03

The LGP computers use a Friden Flexowriter with a wacky custom code as the console and primary program input/storage device using the integral reader/punch.

The Flexowriter is not a discrete console device as in modern machines, but quite intermeshed with the computer operation. It is quite alien to anyone who grew up with moderm machines (eg. third generation or newer, basically minicomputers or newer). The LGP computers are honestly first-generation machines; though the LGP-21 was made in the 1960's, it was 100% binary compatible with the LGP-30, which is an early 1950's design: for example, the letter "B" is the actual opcode for the Bring command, implemented in hardware.

I'm building a Flexowriter simulator. PIC-based, it will directly handle the Flexo interface control signals under control of a host computer via a serial interface. Software on the host interface will direct the PIC.

LGP-21 Flexowriter Interface

Flexowriter uses a six-bit code. Tape reader/punch uses 1" tape, but punches/reads only 6 LSBs. Bit 6 and 7 remain unpunched and unread. (Punch has solenoids and pins, but they are unused.)

PRINT: Output blocks if the Flexo is not ready at time of order; will wait in Phase 1 until Flexo asserts Xs. No way to test Xs it seems; maybe unused IO addresses?

INPUT: Input blocks until ready. Input is "block read"; eg. it will read all characters until Flexo "STOP" signal or input buffer detect stop code (unfortunately character ' I believe). (p 3-40)

GLOSSARY OF LOGICAL FUNCTION NAMES: p3-45.

Flexowriter connector J19 on LGP-21 chassis rear
signal pin
Tp5 1 --> print data bit
Tp4 2 --> print data bit
Tp3 3 --> print data bit
Tp2 4 --> print data bit
Tp1 5 --> print data bit
Tp6 6 --> print data bit
Tx 7 --> print data strobe
8 <-- -60V from Flexo (unused)
Sr 9 --> Ready Flexo for input (input strobe)
/Bq 10 --> "Manual input mode" switch
JL11 11 <-- Flexo end-of-input timing signal
JL12 12 <-- Flexo end-of-input timing signal
P5* 13 <-- input data bit
/P5* 14 <-- input data bit (inverse)
P4* 15 <-- input data bit
/P4* 16 <-- input data bit (inverse)
P3* 17 <-- input data bit
/P3* 18 <-- input data bit (inverse)
P2* 19 <-- input data bit
/P2* 20 <-- input data bit (inverse)
P1* 21 <-- input data bit
/P1* 22 <-- input data bit (inverse)
P6* 23 <-- input data bit
/P6* 24 <-- input data bit (inverse)
SIG GND 25 <--
SPARE 26
Xs 27 <-- Flexo signals end of print (p3-45)
JL28 28 -->
JL29 29 <--
SIG GND 30
SIG GND 31
JL32 32 -->
JL33 33 <--
SIG GND 34
117 VAC 35 -->
117 VAC 36 -->
Tally connector J20 on LGP-21 chassis rear
signal pin
tr 2
7 -48V from Tally
/Rs6 9
/Dt 11
Rs6 12
/Rs1 13
chassis 34
/Rs1 16
/Rs2 17
GRD. 19
Rs2 20
/Rs3 21
Rs3 24
/Rs4 25
Rs4 28
/Rs5 29
Rs5 32
117vac 35
117vac 36






Standard Parallel Port (SPP)   Enhanced Parallel Port (EPP)   Extended Capabilities Port (ECP)
Signal Name Centronics
(36-pin)
DB-25
(25-pin)
Signal Name DB-25
(25-pin)
Signal Name DB-25
(25-pin)
1 1 Write 1 Host CLK 1
Data 0 2 2 Data 0 2 Data 0 2
Data 1 3 3 Data 1 3 Data 1 3
Data 2 4 4 Data 2 4 Data 2 4
Data 3 5 5 Data 3 5 Data 3 5
Data 4 6 6 Data 4 6 Data 4 6
Data 5 7 7 Data 5 7 Data 5 7
Data 6 8 8 Data 6 8 Data 6 8
Data 7 9 9 Data 7 9 Data 7 9
10 10 Interrupt 10 Periph CLK 10
Busy 11 11 Wait 11 Periph ACK 11
Paper End 12 12 Spare 12 Ack Reverse 12
Select 13 13 Spare 13 X-Flag 13
Auto Line Feed 14 14 Data Strobe 14 Host ACK 14
Error 32 15 Spare 15 Periph Request 15
Initialize Printer 31 16 Reset 16 Reverse Request 16
Select Input 36 17 Address Strobe 17 1284 Active 17
Strobe Return 19 18 Ground 18 Ground 18
Data 0 Return 20 19 Ground 19 Ground 19
Data 1 Return 21 19 Ground 20 Ground 20
Data 2 Return 22 20 Ground 21 Ground 21
Data 3 Return 23 20 Ground 22 Ground 22
Data 4 Return 24 21 Ground 23 Ground 23
Data 5 Return 25 21 Ground 24 Ground 24
Data 6 Return 26 22 Ground 25 Ground 25
Data 7 Return 27 22
28 24
Busy Return 29 23
Paper End Return 28 24
Select Return 28 24
Auto Line Feed Return 30 25
Error Return 29 23
Initialize Printer Return 30 25
Select Input Return 30 25
Shield 33 N/C
N/C 34 N/C
N/C 35 N/C