• Please review our updated Terms and Rules here

Tandy 1000-series ROM font?

VileR

Veteran Member
Joined
Jul 21, 2011
Messages
656
Location
Israel
Hey all,

I'm looking for a reproduction of the ROM ascii character set from the Tandy 1000 series (the early ones with the original "Tandy video" hardware, of course).

As far as I know, Tandy 1000 text modes used 8x9 characters rather than 8x8, but were they actually encoded as 9-line characters? or did it generate the 9th scanline similar to how VGA generated a 9th *column* for 8-column characters?
Aside from that, all I know is that there are other minor differences from IBM's CGA/PCjr character sets.

By any chance, could anyone provide a bitmap image file showing the full character set? That would be best - although I could also use a raw dump, if you could explain to me (slowly and patiently) how to decode it :wink:

thanks in advance!
 
Tandy 1000 text modes use an 8x9 character cell size by default for a resolution of 320x225 (40 column) or 640x225 (80 column), but most Tandy 1000 could handle 8x8 cell sizes without difficulty. (Tandy TL/SL/RLs may not be able to do 80-columns at 8x8 without custom programming.) The character graphics patterns will fit in either an 8x9 or 8x8 cell size. In the Tandy, every 9th scanline going down the screen should be blank except for block characters like Alt 221 and 222. The MDA (and EGA) and VGA adapters have a blank 9th pixel column going across the screen, except for the block characters, for which the data of the 8th pixel column is repeated.
 
Cheers, GH. For block/box-drawing chars then, is the 9th scanline simply a duplicate of the 8th? I imagine that some other characters would need that too, such as ASCII #244 (integral symbol top half) and such.

So, does anyone happen to have an image showing the entire character set in 8x9? - that would be much appreciated.
 
While I haven't used my Tandy 1000 or 1000HD for a few years, I don't remember them using an 8x9 character cell at all. In fact, I'm sure I never saw that on mine. Can anyone provide a screenshot where this is evident on their Tandy 1000s?
 
While I haven't used my Tandy 1000 or 1000HD for a few years, I don't remember them using an 8x9 character cell at all. In fact, I'm sure I never saw that on mine. Can anyone provide a screenshot where this is evident on their Tandy 1000s?

There are a few on http://www.oldskool.org/guides/tvdog/ (which I think you're already rather familiar with) ;)

The relevant photos are from 1000TX/SX and RL models, which AFAIK are still in line with "standard" Tandy video at least when text mode is concerned.
It's especially evident in the following three... so good you can count the scanlines :D

http://www.oldskool.org/guides/tvdog/images/TXSmwclockLarge.jpg
http://www.oldskool.org/guides/tvdog/images/SXDeskMateLarge.JPG
http://www.oldskool.org/guides/tvdog/images/RL_ChipSelectsLarge.jpg
 
There are a few on http://www.oldskool.org/guides/tvdog/ (which I think you're already rather familiar with) ;)

;-)

The relevant photos are from 1000TX/SX and RL models, which AFAIK are still in line with "standard" Tandy video at least when text mode is concerned.
It's especially evident in the following three... so good you can count the scanlines :D

Okay, now I see what you're saying, although I still don't remember that happening (meaning, I don't remember seeing a problem with ASCII graphics block characters like #1 7 6-#1 7 8. But, clearly it is. I wonder what a full screen of #177 looks like.
 
The Tandy 1000 Guide, owner's manual for the original 1000, says that the Tandy boots up in 80 columns with 200 scan lines, so I am not surprised that it would have rarely seemed like more. Pressing F12 gives 40 columns in 225 lines (TV mode). The later Tandys (EX to TL/3) do the opposite, starting in 225-line mode at 80 columns and pressing F3 to get 40-columns in 200 lines. I assume the idea was to give an extra blank line to give character lines more visible spacing. It isn't great though because games use 200 lines, which would squish them if the monitor's vertical size was optimized for the text display.
 
Hi.

I've made the font file from each Tandy 1000 series machine's BIOS ROM.

Font exist as 2 kinds.

01.x.00 font (x is 00 - 03?) (2KB is original size / 4KB is for MESS emulator) -- BIOS version 01.x.00
02.x.00 font (x is 00 - 03?) (2KB is original size / 4KB is for MESS emulator) -- BIOS version 02.x.00

MESS emulator supports Tandy 1000 machines with Font ROM (50146 file)
I think 50146 is Not dumped file from 50146(?).
The file size is 8KB.
But it includes 8x14(?) font.
So this 50146 file must be made by any user without using EEPROM Reader.

I think 50146 doesn't have to emulator.
Because font is integrated with each Tandy 1000 ROM area.

I've compared 50146 with my font file from Tandy 1000 series bios.

I'll report this face to MESS's team.
 
The 9th scanline is just extra space so that the bottom of a lowercase g doesn't run right into the top of an uppercase T on the line below, for example. It makes text mode more readable by adding that little bit of buffer space between the rows. The only characters which actually use the 9th scanline are the block drawing and shading characters, where the 9th scanline is just a repeat of what's on the 8th line, in order to keep the lines continuous.

This is most noticeable on the partial shading characters (176, 177, 178). If you draw a screen full of them on regular IBM CGA, the shading will be even across the entire screen, but on Tandy CGA in 225-line mode, there were be a mismatch in the pattern at the bottom of every character row.

This applies to all Tandy 1000 models with Tandy's CGA-compatible graphics, from the original 1000 all the way through to the 1000RL. And in Tandy MS-DOS, you can switch between 640x200 8x8 character mode and 640x225 8x9 character mode by typing MODE 200 and MODE 225, respectively.

The older 1000-series models (with the old keyboard layout) also have a hotkey you can press during POST to start up in "TV Mode", which gives you 200-scanline 40x25 text mode with the color composite burst enabled. TV Mode uses 200-scanline mode because in 225-scanline mode the top and bottom of the display often run off the edge of a color composite monitor or TV screen.
 
The Tandy 1000 Guide, owner's manual for the original 1000, says that the Tandy boots up in 80 columns with 200 scan lines, so I am not surprised that it would have rarely seemed like more. Pressing F12 gives 40 columns in 225 lines (TV mode).

Either you misremembered it or the manual you are reading has a mistake in it, because I have an original Tandy 1000 (BIOS version 01.00.00) and it definitely starts up in 225-scanline 80x25 text mode (with color burst disabled), unless you hit the key to give you "TV Mode" which is 200-scanline 40x25 text mode (with color burst enabled).
 
If you have Tandy 1000 01.00.00, can you tell me SHA1 or other checksum (CRC32 or another) of it?
 
Good News!

I've made Tand 1000 ROM font.

http://www.mediafire.com/?t0tr4t799htoyiw

01-0X-00-FONT(2KB).ROM <-- Tandy 1000 Font for BIOS version 01.??.00 (2KB ROM)
01-0X-00-FONT(4KB).ROM <-- Tandy 1000 Font for BIOS version 01.??.00 (4KB ROM) / It can be used on MESS by rename as 50146
02-0X-00-FONT(2KB).ROM <-- Tandy 1000 Font for BIOS version 02.??.00 (2KB ROM)
02-0X-00-FONT(4KB).ROM <-- Tandy 1000 Font for BIOS version 02.??.00 (4KB ROM) / It can be used on MESS by rename as 50146

This ROM Font is from Original.
As you know, MESS emulator uses european PC font on Tandy 1000 emulation.
But that is Not from original Tandy 1000 font.
 
I assume that the 4K is for MESS, but its really the 2K font repeated once. Also, doesn't MESS make a checksum or hash of the underlying files?

It does not seem like Tandy uses a character generator ROM like the IBM MDA, CGA and PCjr. do. Those character generator ROMs are not accessible from software. The Tandy font is contained solely within the BIOS. EGA and VGA cards function similarly through their BIOS extension ROMs. Their fonts are available, although they are probably compressed.
 
I assume that the 4K is for MESS, but its really the 2K font repeated once. Also, doesn't MESS make a checksum or hash of the underlying files?

It does not seem like Tandy uses a character generator ROM like the IBM MDA, CGA and PCjr. do. Those character generator ROMs are not accessible from software. The Tandy font is contained solely within the BIOS. EGA and VGA cards function similarly through their BIOS extension ROMs. Their fonts are available, although they are probably compressed.

Yes, you seems to be right.
Tandy 1000 emulation of MESS uses 50146 as character generator font ROM.
I think that method is wrong.
MESS must emulate character font via System BIOS. (50146 must be deleted.)
In this case, IBM PC JR have same problem on MESS, right?
 
fs5500: thank you!

The "01-" image above (but not "02-") seems to have a slight problem - characters #128 and up are shifted down by one scanline, and the last scanline of each character is appended to the top of the next one. Here is a fixed version for reference:

5WElr9E.png
 
I noticed that too but I was unfamiliar with Tandy's reasons for changing fonts so I didn't mention it. Glad to know I wasn't nuts.

Was the picture wrong, or is the font data provided also wrong?
 
Last edited:
Trixter : Thanks very much!

I think this is MESS's problem, hehehe.
It can be shown correctly on 40x24 text mode.
 
Back
Top