TRS-80 Model I Charset Calculator
Computes the 5x7 bytes of each TRS-80 Model I character given its ASCII code presenting the 7 bytes forming the character rows.
โ
TRS-80 Model I charset: 6ร12 character cells on a 64ร16 grid
The Tandy/Radio Shack TRS-80 Model I (1977) ran a Z80 at 1.77 MHz with 4โ16 KB of RAM, and drove its monitor as a 64ร16 character grid. Each character sat in a 6ร12 pixel cell, which works out to an effective 384ร192 mosaic block resolution for "graphics" once you bring in the upper-128 block-graphic characters. The visible ASCII range (32โ127), along with 64 chunky graphics chars (128โ191), lived in mask ROM. Later boards added a CG-RAM (Character Generator RAM) mod that let you redefine glyphs. Every glyph took 8 bytes (stock ROM used the top 8 of 12 rows), 1 bit per pixel, MSB-left. Example: 'A' (65) โ rows like 001100, 010010, 100001, 111111, 100001โฆ.
Applications
Retrocomputing hobbyists and vintage-computer collectors, museum tech exhibits, teaching TRS-80 BASIC, patching custom characters into ROM, emulator work (trs80gp, sdltrs), and recreating the look of late-1970s home computing for documentaries and software preservation projects.
FAQ
Why 6ร12 and not 8ร8? Tandy's designers laid a 64ร16 grid over a 384ร192 visible area, and dividing one by the other gives 6ร12 cells. The narrower 6 px width packs more text per line on the cheap NTSC monitors of the day.
What's a block graphic? Each of characters 128โ191 splits into 2ร3 chunky pixels (6 mini-cells), so BASIC's SET/RESET commands could plot a 128ร48 pseudo-graphics canvas with no bitmap hardware at all.
Can I redefine characters? Not on a stock Model I, since the charset sits in mask ROM. The Model III and later CG-RAM mods (Programma 80, custom EPROM boards) do let you.
Why does the display flicker? The Model I's video circuit shares the RAM bus with the CPU, so writing to video RAM during the visible scanline throws up that "snow" or flicker. The usual fix is to wait for vertical blank before writing.
Related Tools
Rent Adjustment Calculator
Compute annual rent adjustment by IGP-M or IPCA accumulated in the last 12 months (manually configurable).
Pregnancy Calculator
Compute estimated due date (EDD), gestational age and trimester from the last menstrual period (LMP).
Fertile Period Calculator
Compute fertile window and ovulation day from the first day of the last cycle and the average cycle length.