• Please review our updated Terms and Rules here

TRS-80 Model 4 Character Map

chjmartin2

Experienced Member
Joined
Dec 26, 2012
Messages
433
Hi,

Does anybody have a BITMAP of the TRS-80 Model 4 Character Map? It would help me a lot if you could share it.

Thanks,

Chris
 
The Model 4 has 256 (0x00-0xFF) Characters arranged in an 8 x 8 matrix.
Attached are the "A" & "a" Characters decoded from my Excel file. The
remaining Characters are decoded in the same manner.

I created the attached BMP file of the Model 4's Characters, several years
ago. I haven't VERIFIED each BIT in the BMP image. There could be an error.

Send DM if you want my excel file.

Larry
 

Attachments

  • M4-A.png
    M4-A.png
    3.5 KB · Views: 13
  • M4-a.png
    M4-a.png
    4.4 KB · Views: 14
  • M4-Charset.u23.png
    M4-Charset.u23.png
    9.2 KB · Views: 14
Last edited:
Clearly I do not understand the TRS-80 Model 4 character map. I had assumed there would be a series of characters that represent the "graphics" mode available on the system. I figured it worked the same as a TRS-80 COCO. I got Larry's excel file but do not see any of the graphics characters. I am guessing that I can use a search engine to see how this works but I got lost in reverse characters, japanese characters and it was pretty confusing. What I am trying to get is a BMP file of the standard "font" that is available by defaults that includes the graphics characters - if that is even the right way to think about it.
 
The graphics characters (the two by three ones) are generated in discrete logic gate hardware and aren't present in the character generator ROM.

To generate them, divide the character cell in half vertically and by three horizontally; the bottom third in 80x24 mode is shorter than the top two one thirds (the cell is 8x10, so the graphics point is 4x4 in the top two thirds and 4x2 in the bottom third), in 64x16 mode the cell divides evenly by three top to bottom.

The points then represent 'ones' in the character; six bits, six points. See https://en.m.wikipedia.org/wiki/TRS-80_character_set for how it looks.
 
Last edited:
  • Like
Reactions: cjs
The graphics characters (the two by three ones) are generated in discrete logic gate hardware and aren't present in the character generator ROM.

To generate them, divide the character cell in half vertically and by three horizontally; the bottom third in 80x24 mode is shorter than the top two one thirds (the cell is 8x10, so the graphics point is 4x4 in the top two thirds and 4x2 in the bottom third), in 64x16 mode the cell divides evenly by three top to bottom.

The points then represent 'ones' in the character; six bits, six points. See https://en.m.wikipedia.org/wiki/TRS-80_character_set for how it looks.
Now I get it. They still hold a position in the character set but are not actually in the ROM itself. I think I can build the bitmap file of the character set I am looking for.
 
Some screenshots (double height) for posterity. Left is the original Model 4 and right is the International version. It has both the japanese characters and the dingbats.
 

Attachments

  • model4-1.gif
    model4-1.gif
    7.3 KB · Views: 23
  • model4-2.gif
    model4-2.gif
    8.6 KB · Views: 23
Left is the original Model 4 and right is the International version. It has both the japanese characters and the dingbats.
Um...the left version has Japanese kana; so that was in the original version? What were the other differences between the original and international versions, and how does one tell which one one has? I didn't even know that there was an international version; it's not mentioned on the Model 4 Wikipedia page or a few other Model 4 pages I checked.
 
The one with Japanese kana was the original version and is identical to the Model III. I don't know at what point they switched to the "international" version. The dividing line may be pretty fuzzy. Might be that most 4P's have the international.

At a fresh start in BASIC you can see which you have by typing:

?chr$(21)chr$(22)chr$(255)

An accented A means you have the international version. If you see a spaceship than ?chr$(22) to have it switch. If you see nothing then try again with ?chr$(21)chr$(255).

I believe the original character generator ROM is labelled 8044316 while the "international" version is 8044316A.
 
  • Like
Reactions: cjs
The one with Japanese kana was the original version and is identical to the Model III. I don't know at what point they switched to the "international" version. The dividing line may be pretty fuzzy. Might be that most 4P's have the international.

I believe the original character generator ROM is labelled 8044316 while the "international" version is 8044316A.

Those are both Model III chargens. The 8044316A came out in the first half of 1981. It has a revised katakana font (but no changes to which char is which).

Early Model 4 systems came with an 8044316A, but the new 8049007 was already in production by December 1983.

Meanwhile, in Europe, the 8049000 had been used in Belgian Model III systems in 1982, and had many of the Latin characters that came to the U.S. in the 8049007.

Some trivia: the 8049007, the only character generator designed for the Model 4, has an Ä (A with diaresis) in the zero position, while all the Model III generators wasted that spot on a redundant space character. The reason for that is that the Modell III hardware more or less required a blank be there.

Recall that on the Model I, when the CPU and the video redisplay hardware tried to access video RAM simultaneously, the CPU won and a glitch in the redisplay would occur, with one line of a character cell glitching to black. This is lovingly and accurately recreated in George's emulator. On a Model III, this problem was much reduced, but persisted in the leftmost columns of the screen. The thing is, on a Model III, a glitched line of a character doesn't exactly glitch to black. What happens is that when the redisplay hardware tries to read a character from video RAM and loses to a competing read by the CPU, the byte vale zero is returned, and then a line of character zero is drawn. Thus, if you use a chargen that doesn't have a blank in character zero, then instead of lines glitching to black, they'll glitch to lines of character zero, with some white pixels. This would look much worse than the glitching to black. On a Model 4, the glitching was eliminated, and the whole 8-bit character set could be filled.
 
Back
Top