FM Towns

The FM Towns (エフエムタウンズ) system is a Japanese personal computer, built by Fujitsu from February 1989 to the summer of 1997.

Graphics
The FM Towns featured video modes ranging from 320×200 to 720×512 resolutions, with 16 to 32,768 simultaneous colours out of a possible 4096 to 16.777 million (depending on the video mode); most of these video modes had two memory pages, and it allowed the use of up to 1024 sprites of 16×16 pixels each. It also had a built-in font ROM for the display of kanji characters.

One unique feature of the FM Towns system was the ability to overlay different video modes; for example, the 320×200 video mode with 32,768 colours could be overlaid with a 640×480 mode using 16 colours, which allowed games to combine high-colour graphics with high-resolution kanji text.

It uses 640 KB of video RAM, including 512 KB VRAM and 128 KB sprite RAM. FM Towns supports the following graphics modes:

Bitmap modes:


 * 1) 640×819 virtual (640×400 display) @ 16 out of 4096 colors - overlay support with mode 2
 * 2) 640×819 virtual (640×200 display) @ 16 out of 4096 colors - overlay support with mode 1
 * 3) 1024×512 virtual (640×480 display) @ 16 out of 4096 colors - overlay support with modes 5 or 10
 * 4) 1024×512 virtual (640×400 display) @ 16 out of 4096 colors - overlay support with mode 6
 * 5) 256×512 virtual (256×256 display, interlaced) @ 32,768 colors - overlay support with modes 3 or 10
 * 6) 256×512 virtual (256×256 display, progressive) @ 32,768 colors - overlay support with mode 4
 * 7) 256×512 virtual (256×240 display, interlaced) @ 32,768 colors - overlay support with mode 9
 * 8) 256×512 virtual (256×240 display, progressive) @ 32,768 colors - overlay support with mode 11
 * 9) 512×256 virtual (360×240 display) @ 32,768 colors - overlay support with mode 7
 * 10) 512×256 virtual (320×240 display, 31 kHz) @ 32,768 colors - overlay support with modes 3 or 5
 * 11) 512×256 virtual (320×240 display, 15 kHz) @ 32,768 colors - overlay support with mode 8
 * 12) 1024×512 virtual (640×480 display) @ 256 out of 16,777,216 colors - overlay not supported
 * 13) 1024×512 virtual (640×400 display) @ 256 out of 16,777,216 colors - overlay not supported
 * 14) 1024×512 virtual (720×480 display) @ 256 out of 16,777,216 colors - overlay not supported
 * 15) 512×512 virtual (320×480 display, progressive) @ 32,768 colors - overlay not supported
 * 16) 512×512 virtual (320×480 display, interlaced) @ 32,768 colors - overlay not supported
 * 17) 512×512 virtual (512×480 display, progressive) @ 32,768 colors - overlay not supported
 * 18) 512×512 virtual (512×480 display, interlaced) @ 32,768 colors - overlay not supported

Sprite layer:


 * Resolution: 256×240 pixels
 * Colors: 256 on screen out of 32,768 palette
 * Sprite RAM: 128 KB (8 KB attributes, 120 KB pattern/colour data)
 * Maximum sprite count: Up to 1024 on screen
 * Sprite size: 16×16 pixels
 * Colors per sprite: 16
 * Overlay support: Bitmap modes 1-11

Up to two graphical layers can be overlaid, whether it is two bitmap layers, or the sprite layer with a bitmap background layer. The latter is useful for action games, though the sprite function is not as advanced as that of rival 16-bit computer, the Sharp X68000. When the sprite layer is used, it is rendered to VRAM layer 1 on top, with the bitmap background as VRAM layer 0 below. When two bitmap layers are used, then both are rendered to VRAM layers 0 and 1.