M-3, DJS-1, DJS-3

NOTE: This is not guaranteed to be 100% accurate. Documentations are extremely hard to come by with the situation where I'm in currently.

General description

Input/Output devices

Input

A 5-hole (with a formation of 2-3 to prevent people to use it the wrong way around) punch tape reader.

NOTE: This is taken from a description of M-2, which is a different machine with a different instruction set (and built before M-3 of course). If M-3 needed a punched tape input, I don't think there was enough reason for them not to reuse this part; but then again they totally could've designed a whole new scheme for M-3, so this is purely speculation.

I II πŸž„ III IV V Corresponding value
● ● πŸž„ ● ● ● 0xf (hexadecimal digit)
● πŸž„ ● ● ● 0xe (hexadecimal digit)
● ● πŸž„ ● ● 0xd (hexadecimal digit)
● πŸž„ ● ● 0xc (hexadecimal digit)
● ● πŸž„ ● ● 0xb (hexadecimal digit)
● πŸž„ ● ● 0xa (hexadecimal digit)
● ● πŸž„ ● 0x9 (hexadecimal digit)
● πŸž„ ● 0x8 (hexadecimal digit)
● ● πŸž„ ● ● 0x7 (hexadecimal digit)
● πŸž„ ● ● 0x6 (hexadecimal digit)
● ● πŸž„ ● 0x5 (hexadecimal digit)
● πŸž„ ● 0x4 (hexadecimal digit)
● ● πŸž„ ● 0x3 (hexadecimal digit)
● πŸž„ ● 0x2 (hexadecimal digit)
● ● πŸž„ 0x1 (hexadecimal digit)
● πŸž„ 0x0 (hexadecimal digit)
● πŸž„ ● ● ● 0q3 (quaternary digit)
● πŸž„ ● ● 0q2 (quaternary digit)
● πŸž„ ● ● 0q1 (quaternary digit)
● πŸž„ ● 0q0 (quaternary digit)
πŸž„ ● ● ● 0b1 (binary digit)
πŸž„ ● ● 0b0 (binary digit)
πŸž„ ● (end of address part)
πŸž„ ● ● (end of number part)
πŸž„ ● (space blank) (probably just space)
πŸž„ ● (carriage return)
● πŸž„ (roll transfer)

Output

A teletypewriter is used to print the result on tapes. There's also a hole punch that punches holes (of course) onto the tape so that the tape can be used directly as input.

Mainland China has its own 5-bit telegraph code system for the "55εž‹η”΅δΌ ζ‰“ε­—ζœΊ" ("Type-55 Teletypewriter"). While ITA2 was probably also used, this system was designed to somehow have some kind of error detecting mechanism built-in: numbers are the characters that got displayed the most, so they all have encodings with 3 ones and 2 zeroes; if something was supposed to be a number but did not have 3 ones and 2 zeroes, one can know there was an error. The code system can be found here

Instructions

Floating point

Here's a paper I found on cnki.net that describes the program for floating point arithmetics. I haven't tested it but if they say it worked then it will work I guess.

./assets/DJS-1_floating_point.pdf