BCL - PS8 - Computing & Engineering

Go to content


Business Computers Ltd / Business Computer (Systems) Plc
Molecular 18 minicomputer.

1.   General introduction.
2.   Models and Machine Versions
3.   Delivery List and Applications
4.   Systems Architecture
         4.1. Instruction Set and Timings
         4.2. Hardware and system interconnections
5.   Software and Sample Programs
6.   The Company History
7.   List of references

1. General introduction.
The BCL Molecular 18 is an 18bit mini-computer designed in England in 1970 and first sold in 1972.  Initially the typical system comprised a Molecular 18 processor, one disk drive, one printer, one terminal, and a paper tape punch/reader station.  Later systems included a Molecular 18 processor, at least one disk drive and up to 24 terminals and printers in total.
The architecture of the processor design remained little changed until production stopped in the early 1990s: the basic word length was 17bits - the machine's name took into account an 18th bit reserved for parity checking.
BCL sold systems primarily to wholesale distribution companies, tool merchants, builders’ merchants, and wholesale paper merchants.  In almost all cases, the system software and application software was also provided by BCL.
Business Computers Ltd. (BCL) was founded in 1969.  The company’s roots can be traced back to three earlier companies: Unex Ltd. (established in the late 1930s), Lows Calculators (1939) and Systemation Ltd. (1961).  Unex and Lows designed electro-mechanical calculators and Systemation designed electronic calculators, the earlier ones being special-purpose and the later ones general-purpose. The full business history of BCL, its origins and its eventual demise, is given in section 6 below.
2. Models and Machine Versions
Several variants of the Molecular 18 were produced between 1970 and 1986.  These are summarised below.

    • Mk 1 1970
    • First production model designed by Colin Chapman & Ian Miller 1.6 uS Cycle Time.  850nS core memory.

    • Mk 2 1973
    • A new processor design, but not compatible with the Mk 1.  Given the volume of software already produced for the Mk 1 this was not a commercial success and was not pursued.

    • Mk 3 1974
    • Also known as, and generally marketed as, the 6/ME.  This is a Mk 2 processor modified to support Mk 1 instruction set.

    • Mk 4 1978
    • Physically a new design using same processor as Mk 3.  This was also the first model to use semiconductor store.

    • Mk 5 1984
    • Re-engineered Mk 3 or 6ME processor designed to remove redundant stack logic and reduce the build to 3 boards.  Hardware was re-design by Keith A. Howlett of Systemation DevelopmentLtd.  Features of the original processor such as base and limit registers, a stack pointer and auto-increment and auto-decrement registers were removed.

    • Distributor 1986
    • Same processor, memory and IO cards as Mk 5, but new case.

    • Distributor / EP (Extended Processor)
    • As the 1986 Distributer but with a software control panel, integrated modem for remote support and device handlers for standard SCSI hard disks.

    • Systemation Amigo
    • A brand new design of the processor including new peripheral controllers.  Much use made of modern microprocessors to emulate the Molecular 18 instruction set.  Amigo ran an operating system called Swift which was compatible with that produced and sold by BC(S).  This was later subject to much legal wrangling from the new owners of BC(S) and withdrawn from sale.

3. Delivery List and Applications
No definitive list of customers or delivery-dates has yet come to light. However, a survey of available mini-computers was conducted by Computing magazine in 1973.  The Molecular 18 was reported as having 85 commercial users, 5 in education, and 10 in communications.  A survey in Computing in 1973 reported the following software available for the Molecular 18: Assembler, macro processor, multi-programming operating system, RPG 11, and applications.  In reality, there is no evidence that an assembler or macro-processor or RPG11 was available. Systems were supplied with a limited set of common routines and customers developed their bespoke applications systems themselves.
Post 1976
There were five primary markets for the systems post 1976: Distribution Companies, Builders Merchants, Tool Merchants, Sheet material merchants and Livestock markets.  A standard Purchase & Nominal ledger system and a payroll were available and common to almost all sites.   The primary package, for which the system was typically bought, was a stock control and sales order processing system.
Early application suites were typically named after the first customer the suite was written for and included Thompson Toys, Philip Harris and Elliott-Baxter.  These were a soft toy distributor, a pharmaceutical wholesaler, and a paper-merchant respectively.  Subsequent customer sales used these systems as a basis for bespoke development, so a later furniture wholesalers system was a toy resellers system at heart.
By the mid 1980s these widely different systems had become too difficult to support and maintain, and two sophisticated applications were produced to include all the functionality in the older systems.  The Birmingham office produced MCMB (Multi-Company, Multi-Branch) and the London (later Milton Keynes) office produced the London Package.  Again these systems grew from what was deemed to the best of what was currently available.
4. Systems Architecture

4.1. Instruction Set and Timings
The Molecular 18 has the following 17 bit registers:
·           Program Counter
·           Memory Address
·           Register A
·           Register B

Operation codes 2 through to 26  - Memory reference instructions
These instructions operated on either current page or page zero.   All of these instructions could operate indirectly.
Instruction words are organized as follows:
   |17|16|15|14|13|12|11|10| 9| 8| 7| 6| 5| 4| 3| 2| 1|
   |              |  |                                |
   |Op-Code       |I |Z | ----- Memory Address ------ |
       I = Indirection Flag   Z = Zero Page Flag
02 - JUMP    Jump to address            15 - ADAC Add to Reg A with carry
03 - JSBR    Jump to subroutine         16 - ADBC Add to Reg B with carry
04 - INSZ    Increment and skip on zero 17 - SFAC Subtract from Reg A with carry
05 - DESZ    Decrement and skip on zero 20 - SFBC Subtract from Reg B with carry
06 - ANDA    Logical AND                21 - LDA Load Reg A
07 - IORA    Logical OR                 22 - LDB Load Reg B
10 - XORA    Logical Exclusive OR       23 - CMPA Compare with Reg A
11 - ADA     Add to Reg A               24 - CMPB Compare with Reg B
12 - ADB     Add to Reg B               25 - STA Store Reg A
13 - SFA     Subtract from Reg A        26 - STB Store Reg B
14 - SFB     Subtract from Reg B
The CMPA and CMPB and other skip instructions conditionally skip the next instruction in sequence. The INSZ and DESZ instructions were commonly used to increment or decrement a loop counter and skip if done, and it is also used as an general increment instruction, either followed by a no-op or in contexts where it is known that the result will never be zero.
The JSBR instruction stores the return address in word zero of the subroutine, with execution starting at word one.  Subroutine return is done with an indirect JUMP through the return address. Subroutines commonly increment their return addresses to index through inline parameter lists or to perform conditional skips over instructions following the call.  This is exactly the same as the PDP8
Operation code 0 - Register Instructions
   No memory reference in this group, so they execute in one machine cycle.    
   Micro-instructions could be combined, but only if from the same group.
   |17|16|15|14|13|12|11|10 | 9| 8| 7| 6| 5| 4| 3| 2| 1|
   |              |     |   |                          |
   |Opcode 0      |Mode |A/B| --- Micro Instruction -- |
   | 12| 11|10 |  9  |  8  |  7  |  6  |  5  |  4  |  3  |  2  |  1  |
   |           |                 |                 |                 |
   | 0 | 1 |A/B|Clear|Left/ |Shift|Ro'te|With|Dec  |Inc  |Skip |Skip |
   |   |   |1/0|Carry|Right|     |     |carry|     |     |B16=0|B1=0 |
   | 0 | 1 |A/B|Clear|One's|Clear|Comp |Skip |Swap |Clear|Comp |Read |
   |   |   |1/0|Reg  |Comp |Carry|Carry|     |     |Sign |Sign |SWREG|
   | 0 | 1 |A/B|True |Left/ |Skip |Skip |Skip |Skip|Clear|Clear|One's|
   |   |   |1/0|False|Right|-ve  |not 0|carry|GT   |GT   |Reg  |Comp |
   Mode 00 - Various instructions
   0        NOP     No Operation
   1        HALT    Halt Processor
   2        MASK    Interrupt disable flags
   3        ACKI    Acknowledge Interrupt
   4        ION     Interrupts On
   5        IOFF    Interrupts Off
   6        SION    Skip if Interrupts On
   7        SIOFF   Skip if interrupts Off
   10       SMOF    Skip if Mains Fail interrupt
   11       SMON    Skip if mains on interrupt
   12       PRTY    Skip if parity interrupt
   13       PRCT    Skip if memory protect interrupt
   14       BNDY    Skip if memory boundary interrupt
   15       MASW    Skip if MA=SR(Switch Reg)
   16       CONT    Skip if Continuous Interrupt switch on
   17       RSTN    I/O Reset
   Mode 01 - Shift and Rotate (Applies to Reg B also if bit 10 not set)
   2400     CLC     Clear Carry (Wrong group?)
   3001     ALSB    Skip if LSB of Reg A set
   3002     AMSB    Skip if MSB of Reg A set
   3004     INCA    Increment Reg A
   3010     DECA    Decrement Reg A
   3300     LSA     Left Shift Reg A (into carry)
   3100     RSA     Right shift Reg A
   3040     RRA     Rotate right Reg A
   3260     LRAC    Left rotate Reg A with carry
   3060     RRAC    Right rotate Reg A with carry
 Mode 10 - Clear and Complement (Applies to Reg B alsi if bit 10 not set)
   5400     CLA     Clear Reg A
   5200     CPLA    Complement Reg A
   4100     CLC     Clear carry flag
   4040     CMPC    Complement carry flag
   4020     SKIP    Skip next instruction
   5010     SWPA    Swop top and bottom half of Reg A
   5004     CLSA    Clear sign (Bit 17) of Reg A
   5002     CPSA    Complement sign bit if Reg A
   5001     ESRA    Enter Switches in to Reg A
 Mode 11 - Alter/Skip
   7200     APOS    2   Skip if Reg A +ve (i.e. Bit 17 not set)
   7100     A=0     2   Skip if Reg A is zero
   7002     CLA     -   ClearReg A
   7001     CPLA    -   ComplementReg A (NOT twos complement)
   6040     SKNC    2   Skip if carry not set
   6010     SNGT    2   Skip if not greater than set
   6004     CLGT    -   Clear greater than flag
   7600     ANEG    1   Skip if Reg A is -ve (i.e.Bit 17 not set)
   7500     AN0     1   Skip if Reg A is not zero
   6440     SK=C    1   Skip if carry flag set
   6410     S=GT    1   Skip if greater than flag set
 Instructions in the same group may not be combined.
Operation code 1 - Input / Output instructions
   | 12 |  11  |  10  |  9  |  8  |  7  |  6  |  5  |  4  |  3  |  2  |  1  |
   |                  |                 |                                   |
   |A/B |  Function   |   --  Mode --   |   ------- Device Address -------  |
   |1/0 |   0  |   0  |     |Device Reg |                                   |
   |    |No Operation |     |1, 2 or 3  |                                   |
   |    |   0  |   1  |     |Device Reg |                                   |
   |    |Set Busy /   |     |1, 2, or 3 |                                   |
   |    |Clear Done   |     |           |                                   |
   |    |   1  |  0   |     |Device Reg |                                   |
   |    |Clear Busy/  |     |1, 2, or 3 |                                   |
   |    |Clear Done   |     |           |                                   |
   |    |   1  |  1   |Read/|Device Reg | Read or Write transfer to device  |
   |    |Input/Output |Write|1, 2, or 3 | register.  Action depends on the  |
   |    |Pulse        |     |           | actual device                     |
   |    |   0  |  0   |  1  |  1  |  1  |                                   |
   |    |Skip if Busy |    Skip Mode    | No data transfer during           |
   |    |   0  |  1   |  1  |  1  |  1  | skip mode instructions.           |
   |    |Skip not Busy|    Skip Mode    |                                   |
   |    |   1  |  0   |  1  |  1  |  1  |                                   |
   |    |Skip if Done |    Skip Mode    |                                   |
   |    |   1  |  1   |  1  |  1  |  1  |                                   |
   |    |Skip not Done|    Skip Mode    |                                   |
Disk drives were assigned device codes from 70 to 77.
Terminals and Printers were assigned device codes from 47 up to 67.
Although a console as such wasn't needed, a terminal attached to device code 47 was necessary
Each attached device, in fact the device driver circuits, had up to three registers.   The actual function of the registers depended on the attached device.
4.2. Hardware and system interconnections
…(  to be continued …)
5. Software and Sample Programs
Operating Systems
Systems delivered prior to 1975 were supplied with a very basic set of routines to enable programs to be entered in octal machine code from a terminal and stored in a specified sector on a physical disk.  It was up to the customer to develop his or her own application software.
From 1976 onwards a general operating system was developed.  LOS (Leicester Operating System) developed by Joe Templeman and Chris Green from the BCL Leicester offices was the first to allow the same program to be run in multiple different partitions. By 1978 it was in use 'at about three dozen installations'.
LOS was developed into OS during the 1980s primarily adding more sophisticated routines to develop programs and maintain the system.  OS also supported the newer disk drives that became available, and later supported machines with more than 64K of memory by bank-switching the top 32K of memory.  
Program Development
Programmers coded in a pseudo assembly language on pre-printed foolscap sheets.  Each page represented a page in memory and held 100 (octal) steps.  When the program was complete, it would be hand assembled by the programmer from his memory of op code and the occasional crib sheet and entered via a terminal in octal groups of 6 digits.
The    …. (to be continued …. )

6. The Company History
BCL’s roots can be traced back to three earlier companies: Unex Ltd. (established in the late 1930s), Lows Calculators (1939) and Systemation Ltd. (1961).  Jewish refugees from continental Europe founded Unex in the late 1930s.  They established a business selling and maintaining accounting machines –mainly those manufactured by Burroughs.  After the war ended, they also had a reseller agreement with the German company Continental Wanderer, who manufactured electro-mechanical accounting machines.  One of their biggest customers was Barclays Bank who used the ‘Continental Class 900’ machine extensively.
On 11th Dec 1939, Unex was bought by Mr. Thomas Low and re-incorporated as Lows Calculators Ltd.which then operated out of Unex’spremises at 15 Holborn Viaduct, London EC2.  
In 1962 Lows Calculators changed its name to Business Mechanisation Ltd. andmoved to 180 Tottenham Court Road, London. At the Business Efficiency Exhibition (BEE)in Olympia, London,they exhibited an electro-mechanical invoicing machine built from an Adler electric typewriter and a Walther decimal printing calculator. At the exhibition, two engineers from Systemation Ltd, Bill Gannon and Gordon Clark, described to Business Mechanisation a purely electronic system they had designed that would perform a similar job albeit more reliably and faster.  It was agreed that the new electronic system would be demonstrated to Bill Hesleton and Steve Brady from Business Mechanisation as soon as it was complete.  This happened several months later and Business Mechanisation subsequently cancelled development of their out of date product and agreed to take over the commercialisation of the new machine – subsequently named SADIE or Sterling and Decimal Invoicing Electronically.
Systemation had been formed in Hove, Sussex in 1961 by a group of six engineers who had worked previously in the aircraft industry.   They quickly produced an electronic calculator called BETSIE that operated in Sterling and was used to calculate betting shop winnings.  BETSIE sold well throughout the UK, and encouraged the team to build more complex electronic systems.
In 1965 Business Mechanisation Ltd became the sole agents for all of Systemation’s products and sold over 85 SADIE systems in the first year.
SADIE was developed into a more general-purpose computer known as SUSIE – Stock Updating and Sales Invoicing Electronically.  The major difference between these being a magnetic drum store to enable records of stock levels to be maintained. In 1967 paper-tape stations were added to SADIE and SUSIE in accordance with the Ministry of Technology standard definition of a computer that enabled purchasers to claim 20% tax relief on their investment.
In 1968 Business Mechanisation Ltd became BisMec Group Ltd. and a year later they acquired all of Systemation’s assetsand formed Business Computers Ltd or BCL.  By then,the group had 13 sales branches throughout the UK and ROI.  Typical SADIE systems sold for between £2,750 and £6,750 and SUSIE systems between £7,000 and £30,000.
In 1969, BCL offered shares to the public issuing 700,000 ordinary 2/- shares at 21/- each.  The share issue was over-subscribed by 40%.
In 1970 BCL launched Multi-SUSIEa multi-user accounting computer that was commercially very successful with over 1000 systems sold.  The income generated funded the development of a general-purpose minicomputer to be known as the Molecular 18, launched in October 1971.
BCL grew very rapidly with sales offices opening around the UK and abroad and employing over 590 people at its peak, but went into receivership on 26thJune 1974 - primarily due to cash flow issues associated with their rapid expansion.
BCL had insisted on selling complete systems including system and application software, but had hugely under-estimated the complexity of producing this on the Molecular 18.  Their experience with SADIE and SUSIE did not scale well up to the multi-user systems on the Molecular 18, and their bankers eventually called in the large development loans taken out by the company.
In 1975, Computer Agencies Ltd, part of Computer World Trade (wholly owned by British Airways),bought what remained of BCL from the receivers, and renamed their company Business Computer (Systems) Ltd.  A division of Computer World Trade called Computer Field Maintenance had contracts with many Molecular customers to provide hardware support and purchased the business to support their hardware maintenance business.
Early in 1976, ICL acquired the UK arm of Singer Business Machines, and shortly afterwards made a number of senior managers redundant. Asmall team of these managers, including MikeMunnelly, Eric Gilliland and Martin Alcock, bought a controlling interest in BC(S) Ltd and Munnellywas made Managing Director.  The management team already had wide experience in selling the Singer System 10 computer, and saw the Molecular 18 as an alternative system to sell into the small businesses arena they knew well.  The new managers quickly developed a reliable multi-user operating system and set standards for the development of application software.  The new business grew rapidly and it went public in May 1981.
BC(S) Plc continued to develop the Molecular 18 operating system and application software with great success.  However, another equally sized part of the business was heading for trouble.
BC(S)also sold small office accounting and stock control systems developed around a range of 8bit Diablo microcomputers imported from Xerox in the USA.  In 1978 BC(S) became sole UK distributor for these machines, and produced an extensive suite of application programs written in an proprietary language called DACL (Diablo Application Control Language), for which a compiler for the Diablo machines was available.  In 1980 the contract was extended for another five years, but in 1984 Xerox decided to stop development and sales of these machines leaving BC(S) with no platform into which to sell their application systems.  The loss of sales of these relatively high margin systems caused BC(S) severe cash flow problems and trading losses.
After struggling with growing losses, BC(S) Plc was bought by Electronic Data Processing Plc of Sheffield, UK in 1986.   Customers using the Molecular systems and the Diablo systems were gradually moved to more modern platforms and development and support of the Molecular was stopped by the new company in the mid-1990s.

The antecedents of BCL and the company’s eventual demise are summarised in the Table below.
  • ~1937
    • Unex   Ltd
  • 1939
    • Lows   Calculators Ltd.
  • 1962
    • Business   Mechanisation Ltd.
    • Systemation   Ltd.
  • 1961
    • Systemation’s   assets acquired by BisMec
  • 1969
    • Business   Computers Ltd.
    • Business   Mechanisation Ltd.
  • 1968
    • Acquisition of Systemation Ltd.
  • 1969
    • Business   Computers Ltd.
  • 1969
    • Into   receivership 1974; then bought up in 1975 by Computer Agencies Ltd.
  • 1975
    • Business   Computer (Systems) Ltd.
  • 1985
    • Acquired   by Electronic Data Processing Ltd.
    • Electronic Data Processing Ltd. continued to market the Molecular 18 until the mid-1990s.
Back to content