# DJS-1

The DJS-1 was the first type of general-purpose digital electronic computer manufactured in China. They were based on the vacuum tube. The first one was built in 1958. From 1958 to 1966, approximately 49 units of the 103 computer series were produced.
The 103 computer had a word length of 31 bits (1 sign bit and 30 binary digits) and was a fixed-point machine. It supported 5 operations: addition, subtraction, multiplication, division, and logical multiplication, as well as conditional jumps, unconditional jumps, and halt operations, making it Turing complete. The 103 computer initially used magnetic drum memory, later adding magnetic core memory. With magnetic drum memory, the 103 computer operated at approximately 30 operations per second; with magnetic core memory, its speed increased to about 1500-2000 operations per second.
This model was developed based on the blueprints of the Soviet M-1 computer provided by the Soviet Union, with development work carried out by the Institute of Computing Technology, Chinese Academy of Sciences and Beijing Radio Factory (Beijing No.738 Factory). In August 1958, the first 103 computer completed initial debugging at the Institute of Computing Technology.
From 1959, the 103 computer was used for various scientific calculations, including the structural mechanics calculations for the rostrum of the Great Hall of the People. The 103 computer was widely used in scientific calculations for surveying, construction, mining, and other fields, as well as in university teaching for computational mathematics, computing technology, and other specialties.
Currently, only one DJS-1 computer remains relatively intact, preserved at the Qufu Normal University Library.
The 103 computer project was led by Mo Gengsheng (莫根生) and Zhang Zichang (张梓昌), with key team members including Dong Zhanqiu (董占球) and Wang Xinggang (王行刚). They were also guided by Soviet experts.

## Naming

The series of computers were eventually named the DJS-1, but there were complications, with different names at different stages.
During the planning stage, the computers were name M-3. Then the first machine produced in 1958 was named the August First Computer. Then the machines mass-produced at Factory 738 were renamed 103 Computer. Machines produced after quality improvements in 1961 were called DJS-1, and improved versions included models such as 113 Computer and DJS-3.

## History
### Background

In 1956, the Ministry of Science and Technology drafted the "1956-1967 Long-term Plan for Scientific and Technical Development" (1956-1967年科学技术发展远景规划纲要), which proposed establishing computing technology and designing and manufacturing electronic computers within one or two years. While drafting the under Zhou Enlai's leadership, the Ministry also proposed "Four Urgent Measures" to "vigorously develop computers, radio electronics, semiconductors, and automation, and apply new technologies to industry and national defense."
In 1957, the Chinese Academy of Sciences hosted a computing technology planning coordination meeting with participation from the Second Ministry of Machine Building and Joint Staff Department, among others, to discuss and sign the "Agreement on Cooperative Development of Chinese Computing Technology" (合作发展中国计算技术协议书) to implement the "Four Urgent Measures."
According to the agreement, development work would proceed through a "first centralize, then distribute" (先集中，后分散) approach, initially drawing personnel from the Second Ministry and defense departments to the Institute of Computing Technology to concentrate efforts on manufacturing China's first general-purpose electronic computer, after which relevant personnel would return to their original units to establish computing development in their respective departments.

### Trial Production

In April 1957, the Chinese Academy of Sciences ordered M-3 computer blueprints from the Soviet Academy of Sciences through government channels. The blueprints arrived at the Chinese Academy of Sciences in mid-September 1957 and were sent to the Beijing Radio Equipment Factory. Due to the Beijing Radio Equipment Factory's lack of digital systems and precision mechanical production capabilities, the blueprints were transferred to Factory 738 on September 28. In November 1957, the Institute of Computing Technology and Factory 738 signed a contract for trial production of the M-3 machine. According to the agreement, Factory 738 was responsible for copying blueprints, preparing processing technology documents, procuring components and raw materials, manufacturing various parts and final assembly, participating in machine debugging, and preparing for mass production, while the Institute of Computing Technology was responsible for preparing machine wiring tables, debugging, and applications.
In October 1957, Factory 738 established the Second Design Office of the General Design Department and began work on producing the 103 computer. On June 1, 1958, the production and installation of the first 103 computer's three cabinets was completed, and the machine was transported by truck from Factory 738 to the Institute of Computing Technology. After two months of debugging, by August 1, 1958, the first 103 computer successfully ran a short program with 4 instructions and was named the "August First" computer, marking the birth of China's first general-purpose digital electronic computer. However, at this time, due to reliability, stability, and quality issues, the machine could not yet be put into practical use. In early September 1958, Soviet expert Georgy Pavlovich Lopato came to the Institute to assist with debugging the 103 computer, advocating for reliability adjustments.
By August 1959, the 103 computer was officially put into use.

### Expanded Production and Quality Improvement

After the successful debugging of the first 103 computer, multiple units across the country requested to use the 103 computer. Starting in September 1958, Factory 738 began mass production of the 103 computer. This batch totaled 18 machines (with 1 remaining at Factory 738), which were released under lower standards, requiring only normal power cabinet output, normal plugin testing, and correct cabinet wiring connection checks. These machines were left to users for self-debugging.
In 1960, some user units reported quality issues with the 103 computer to the State Science and Technology Commission and the Tenth Bureau of the Third Ministry of Machine Building. From October 1960, Factory 738 stopped supplying 103 computers and began quality improvements on the 103 computer circuit design. On December 22, 1961, the 103 computer production prototype certification meeting was held at Factory 738, and the 103 computer passed prototype certification, being named DJS-1. The first certified DJS-1 machine was delivered to the Dalian Institute of Chemical Physics, Chinese Academy of Sciences.

### Comprehensive Improvement and End of Production

In the second half of 1962, Factory 738 began trial production of a 2048-word capacity magnetic core memory for the DJS-1 machine, which passed certification in December 1963 and was named the CX-1 magnetic core memory. The CX-1 magnetic core memory could be equipped on both 103 and DJS-1 machines and could be used simultaneously with magnetic drum memory.
In early 1964, Factory 738 began trial production of a comprehensively improved version of the DJS-1, which passed certification in March 1965 and was named DJS-3. The DJS-3 improved the arithmetic circuits, increasing speed to 2300 operations per second, added 1/4-inch magnetic tape storage, and added automatic indexing functionality.
From February 8-12, 1966, a 103 computer system users' technical exchange meeting was held at the Beijing Suburban Science Hall, with 48 user units attending. Dai Zhongjing, director of the Third Bureau of the State Planning Commission, gave a "Report on Computer Development Trends," indicating that transistor computers would be developed, and vacuum tube computers would cease production from this point.

## Design

The 103 computer consisted of several cabinets about 2 meters tall, including arithmetic control unit cabinet, magnetic drum memory cabinet, power supply cabinet, and some machines were also equipped with magnetic core memory cabinet, input/output and tape drive cabinet, ventilation cabinet, etc.
The 103 computer consisted of an arithmetic logic unit, program transmitter, memory, and input/output devices. The arithmetic unit included A register, B register, C register, and accumulator, used for arithmetic and logical operations on numbers. The program transmitter, or control unit, included pulse distributor, local program transmitter, operator, selection register, start register, etc.
The 103 computer used asynchronous design, with no unified clock signal for the entire machine, executing each instruction in eight "beats".
The 103 computer had a word length of 31 bits, including 1 sign bit and 30 numerical bits. Usually, instructions and data were written in the form of a sign plus 10 octal digits (e.g., +12 3456 7012).
The 103 computer used five-unit punched paper tape as the medium for input and output data, could accept both octal and decimal input, and was also equipped with a teletype.

## Programming

The 103 computer's instructions consisted of an operation code, first address, and second address. The operation code was two octal digits, with the second digit indicating the operation type:
* 0: Addition
* 1: Subtraction
* 2: Division
* 3: Multiplication
* 6: Logical multiplication
The first digit indicated the operation nature and details:
* 0: Operate on numbers from first and second addresses, write result to second address
* 1: Operate on numbers from first and second addresses, do not write to memory
* 2: Operate on previous result and number from first address, write result to second address
* 3: Operate on previous result and number from first address, do not write to memory
* 4: Operate on numbers from first and second addresses, write result to second address and print
* 5: Operate on absolute values of numbers from first and second addresses, do not write to memory
* 6: Operate on previous result and number from first address, write result to second address and print
* 7: Operate on absolute values of previous result and number from first address, do not write to memory
Besides the 40 operation codes combined according to the above rules, remaining instructions were used for transfer, transmission, halt, etc.:
* 07, 27: Write number from punch tape to second address, but do not retain in arithmetic unit
* 05, 15: Write number from first address to second address, retain in arithmetic unit
* 45, 55: Write number from first address to second address and print, but do not retain in arithmetic unit
* 24: Unconditionally transfer to first address, write previous operation result to second address, previous operation result still retained in arithmetic unit
* 64: Unconditionally transfer to first address, write previous operation result to second address and print, previous operation result still retained in arithmetic unit
* 74: Unconditionally transfer to second address, absolute value of previous operation result retained in arithmetic unit
* 74: Conditional transfer, transfer to second address when previous operation result is positive, transfer to first address when negative, previous operation result still retained in arithmetic unit
* 04, 14, 44, 54, 37, 57, 77: Halt, with different register values for different instructions when halting.