Stone MS-240x Typewriter (2): Hardware Design

Thu 17 September 2020

In case you misseed it -- I talked about the backgrounds of the MS-240x typewriter in the previous article. In this article, I'm going to discuss the hardware design of the legendary Stone MS-240x Chinese Typewriter (四通 MS-240x 中英文打字机) designed and sold in the mid-1980s.

Both the hardware and the BIOS was designed by ALPS Electric Co. ALPS provided a BIOS reference manual before the development began so that the developers in China could just write an emulator on the PC emulating the ALPS BIOS, and just focus on the development of the word processor.

The Hardware

Stone MS-2401H 四通 MS-2401H 打字机

(Picture taken by @lty1993)

As I mentioned in the previous article, the hardware is just a 8088 machine in its core. In the 80s, the Japanese engineer reverse engineered and implemented Japanese counterparts of almost all popular chips in the west. The ALPS motherboard is not an exception to that.

I bought the machine on Xianyu (Chinese eBay equivalent) and shipped it to @lty1993 in China for examination, disassembly, and ROM dumps. The machine is quite heavy -- shipping it to the west coast would probably cost 200 USD. Guess there won't be any Stone Chinese Typewriters in the US for a while!

Processor: NEC V20

Instead of using the actual 8088 processor, MS-240x series used the NEC V20 running at different clock frequencies. The original MS-2400 clocks at 4.9125 MHz, the upgraded MS-2401 runs at 8 MHz, and the later MS-2401H model runs at 10 MHz.

The V20 is 30% faster than the original 8088 running at the same clock speed, providing additional power for the heavy lifting work a Chinese Typewriters needs to do.

Memory: Hard-wired Memory Map with Page Control

The RAM itself is not interesting at all. It's just a bunch of Japanese made SRAM connected to the address bus of the processor.

The BIOS is mapped at 0xF8000 to 0xFFFF, and CPU will execute the instruction at 0xFFFF0 -- that's the convention for 8088. So naturally, the BIOS was hard wired at that address.

Remember we talked about the Chinese fonts? It's a mask ROM, and it is quite large -- larger than the address space of 8088 processor if we include high precision Chinese fonts at 24x24 dot (which is still pretty awful in today's standard). To solve this problem, all external ROMs were divided into 32KB pages. To access any page in the ROM, you would send a command to the ASIC to select the page first (bank switching) before reading memory from the hard wired memory location. Sounds like a MMU? Well, this is a poor man's MMU.

One thing worth noting is that all models have built in battery backup units. Newer models (such as MS-2401) can even operate with battery with up to 3 hours battery life -- it almost makes the typewritter a laptop with a built-in printer.

Here's the memory map for various models of the Chinese typewriter.

Memory Map for MS-2400

MS-2400 have the Chinese font mapped at 0xA0000 with 16 pages in total. It can support up to 3 Chinese IMEs (input methods, such as Pinyin, Wubi or Cangjie) -- a standard IME comes with the machine, up to 2 additional IMEs can be purchased as a EPROM chip inserted in the expansion ROM socket. As there's only 1 IME socket, regardless of how many IMEs would you purchase, you'll always get just one 64KB EPROM. The keyboards are mapped at 0x90000 and have up to 3 pages in total.

When the machine was designed, there's also an expansion socket at 0xE8000. However, the expansion socket was never used.

As the only display device is a 240x64 LCD, the VRAM is just 2KB in size mapped at 0x80000.

Memory Map for MS-2401

MS-2401 is significantly more capable with a bigger LCD display, larger RAM, and larger Chinese font ROM. To conserve mask ROM space, all font data in the mask ROM was compressed.

Memory Map for MS-2401H

You might wonder what does "V-RAM (CRT 用)" in MS-2401H/01C mean. MS-2401H/01C is the top of the line model in MS-2401 series featuring ability to attach an external monitor. The graphics chip is MGP TM6066A, a Hercules clone, with MDA output.

System Devices

We all know the 8088 is not a very capable machine. ALPS custom made a few ASICs to connect system devices such as printers, keyboards and LCD monitors to the system. That's also what makes it extremely hard to write an emulator -- without knowing exactly how the ASIC works, it's close to impossible to emulate all devices and peripherals. Even with the original designer's help, we still can't be quite sure what is the exact IO address for each device, let alone determining what each command would do.

But anyway, we do have an rough idea of what the system is doing.

External Storage Device

The first model, MS-2400, have an audio cassette connector running at 1200bps. Each cassette can hold around 500KB of data, or 250k Chinese characters.

In 1986, when 3 1/2 inch disk just came out, Mr Jizhi Wang chose to use the very new technology in MS-2401. This is a killer function at that time, because digital documents could be finally archived relatively cheaply. Of course you could always use a computer, but that's a big upfront investment.

Keyboard

Memory Map for MS-2401

It's not a ANSI keyboard. The design seems to be inspired by JIS keyboard, and was fully translated into Chinese -- you can't even find "Ctrl" on the keyboard, instead, you'll see "控制" (lit. control). This flattens learning curve for the typewriter, as it doesn't feel foreign to the users. Just like we say "it's all Chinese to me" -- the Chinese users would say "it's all English to me" -- because it really is!

One interesting fact to point out is instead of commonly seem Esc, Tab, Caps Lock, Shift, Ctrl arrangement on the left, the keyboard is actually 半/全 (half width / full width), Tab, Ctrl, Shift, 常用字 (frequently used characters). Of course, it's a Chinese typewriter, Caps Lock isn't that important after all.

Printer

It sees that the printer only accepts low level commands -- or shall we say, the printer itself does not have a controller. According to the reference manual, the printer head and motor are directly controlled by the ASIC. It also needs a few dedicated timers.

ASIC and FDD Controller

In MS-2401H, there are 2 ASICs, each of them contains around 8000 gates. the model is uPD91260GD-5BD and uPD91261GD-5BB.

The floppy controller for MS-2401 MS-2401H is UPD72067GC.

Conclusion

The MS series machines are classical examples of pushing the hardware to its limits. Most people would simply say it's impossible to use a 8088-equivalent to drive a Chinese typewriter, but the engineers did it. By abusing the system and designing chips around the 8088, they were even able to map memory larger than the actual address space of the machine! Hats off to the hardworking engineers both in Stone Company and ALPS Electric.

Another thing to point out is Stone Company wrote fabulous documentations. It's really pleasing to read, contains a lot of technical details, and in some occasions, it teaches you electrical engineering! It even contained the layout of the diagnostics program so that you can just disassemble them and add new functionalities should you need them.

manga illustration in technical document

Plus, the manga illustration is pretty cute. Haven't seen them for a long long time.

Reference Docs

I found two books about the typewriter from 360buy and Kongfuzi. To preserve history, we've digitalized them and uploaded to the Internet Archive.

Stay tuned for the next article, where I'm going to talk about the design of the BIOS.

Comments