# Intellivision font bitmap/color palette please?

23 replies to this topic

Dragonstomper

• 532 posts
• Know your limits, then break them.

Posted Sat Mar 31, 2012 7:22 PM

Hello I'm a retro enthusiast who likes to draw pixel doodles/mockups and study hardware. The problem is I can't find a bitmap that contains the entire built in Intellivision font found on the system EPROM. As I could not find it even after hours of searching and since I'm not tech savy enough to extract it myself I was hoping someone here could help.

I also need a bitmap approximation of the 16 colors used on the Intellivision IE. the RGB or something close to that for the sake of posting a pixel art guide for the INTV. This guide will also contain hardware specific limitations too but I need these basics for the pixel art types.

Anyway if you can help that would be most appreciated.

### #2 intvnutOFFLINE

intvnut

River Patroller

• 2,677 posts
• Location:@R6 (top of stack)

Posted Sat Mar 31, 2012 7:51 PM

Hello I'm a retro enthusiast who likes to draw pixel doodles/mockups and study hardware. The problem is I can't find a bitmap that contains the entire built in Intellivision font found on the system EPROM. As I could not find it even after hours of searching and since I'm not tech savy enough to extract it myself I was hoping someone here could help.

I also need a bitmap approximation of the 16 colors used on the Intellivision IE. the RGB or something close to that for the sake of posting a pixel art guide for the INTV. This guide will also contain hardware specific limitations too but I need these basics for the pixel art types.

Anyway if you can help that would be most appreciated.

You can use the "show_grom" utility that comes with it to dump the contents of GROM. I haven't posted the bitmap myself, but the show_grom utility will generate the bitmaps for you for each character. To make this easy, I'm going to assume you are on a PC and that you can just copy everything into one directory to do your work.

Copy the file "show_grom.exe" from jzintv\bin into this new directory. Also copy in "grom.bin". Then in a command window, do this:

  cd \path\to\directory
show_grom -h grom.bin > g.html


This will make 256 files named "grom_00.gif" through "grom_FF.gif" with all 256 pictures available from the GROM. The uppercase alphabet begins at grom_21.gif. The lowercase alphabet begins at grom_41.gif. If you open up the file "g.html", you'll get an HTML table that shows all of the pictures. Each cell has one of the 8x8 GIFs.

(Note: If you want to make the GIFs display bigger, you can use "show_grom -h -x 32 -y 32 grom.bin > g.html". This will display them as 32x32 images, although the GIFs themselves will remain 8x8. You can replace the '32' with whatever number you like. Modern web browsers 'blur' the bitmaps when they scale up. Rest assured the actual 8x8 GIFs are not blurry.)

For the colors, well, I will state for the record that jzIntv's color table is far from perfect. That said, the file jzintv\doc\color\colors_new.png snapshots the palette that jzIntv uses.

Dragonstomper

• Topic Starter
• 532 posts
• Know your limits, then break them.

Posted Sat Mar 31, 2012 9:14 PM

Hello I'm a retro enthusiast who likes to draw pixel doodles/mockups and study hardware. The problem is I can't find a bitmap that contains the entire built in Intellivision font found on the system EPROM. As I could not find it even after hours of searching and since I'm not tech savy enough to extract it myself I was hoping someone here could help.

I also need a bitmap approximation of the 16 colors used on the Intellivision IE. the RGB or something close to that for the sake of posting a pixel art guide for the INTV. This guide will also contain hardware specific limitations too but I need these basics for the pixel art types.

Anyway if you can help that would be most appreciated.

You can use the "show_grom" utility that comes with it to dump the contents of GROM. I haven't posted the bitmap myself, but the show_grom utility will generate the bitmaps for you for each character. To make this easy, I'm going to assume you are on a PC and that you can just copy everything into one directory to do your work.

Copy the file "show_grom.exe" from jzintv\bin into this new directory. Also copy in "grom.bin". Then in a command window, do this:

  cd \path\to\directory
show_grom -h grom.bin > g.html


This will make 256 files named "grom_00.gif" through "grom_FF.gif" with all 256 pictures available from the GROM. The uppercase alphabet begins at grom_21.gif. The lowercase alphabet begins at grom_41.gif. If you open up the file "g.html", you'll get an HTML table that shows all of the pictures. Each cell has one of the 8x8 GIFs.

(Note: If you want to make the GIFs display bigger, you can use "show_grom -h -x 32 -y 32 grom.bin > g.html". This will display them as 32x32 images, although the GIFs themselves will remain 8x8. You can replace the '32' with whatever number you like. Modern web browsers 'blur' the bitmaps when they scale up. Rest assured the actual 8x8 GIFs are not blurry.)

For the colors, well, I will state for the record that jzIntv's color table is far from perfect. That said, the file jzintv\doc\color\colors_new.png snapshots the palette that jzIntv uses.

The colors look close enough, I know how hard it is to match analog colors. If better versions of the color palette come up I can exchange it, still nice to get an assessment on its accuracy.

I see what you mean about the blur in the HTML output, many pixel art forums are quite annoyed by this zoom feature since they just want to inspect the pixels lol. Still I can form a larger "sprite rip" from these individual gifs into a png. I didn't know the INTV table contained so many extra graphics tiles within, neat.

### #4 intvnutOFFLINE

intvnut

River Patroller

• 2,677 posts
• Location:@R6 (top of stack)

Posted Sat Mar 31, 2012 9:49 PM

Well, as I said, the individual GIFs for the characters are not blurry. I could probably add a mode to dump the entire 256 character set as a single 128x128 GIF if that'd save time. (16 chars by 16 chars)

Dragonstomper

• Topic Starter
• 532 posts
• Know your limits, then break them.

Posted Sun Apr 1, 2012 1:13 AM

Well, as I said, the individual GIFs for the characters are not blurry. I could probably add a mode to dump the entire 256 character set as a single 128x128 GIF if that'd save time. (16 chars by 16 chars)

Thanks for the offer, but I did the work manually despite how tedious it was. Mostly I didn't want to have to transcribe them from a bunch of INTV screen shots.

Here have a look at the sprite rip image.

#### Attached Thumbnails

Dragonstomper

• Topic Starter
• 532 posts
• Know your limits, then break them.

Posted Sun Apr 1, 2012 1:22 AM

It's actually funny how I started this, I came across this Golden Girl post and decided to give a try at making a gameplay mockup for it lol.
http://www.atariage....brew-announced/

I've been working on a Atari 2600 pixel art guide which hasn't been easy given its quirks & limitations so I was thinking a Intellivision and or a Colecovision pixel art guide would be more straight forward but also worthwhile as well.

### #7 DZ-JayOFFLINE

DZ-Jay

• 9,053 posts
• Triple-Stripe Mo' Bro
• Location:NC, USA

Posted Fri Apr 6, 2012 6:55 AM

Well, as I said, the individual GIFs for the characters are not blurry. I could probably add a mode to dump the entire 256 character set as a single 128x128 GIF if that'd save time. (16 chars by 16 chars)

Thanks for the offer, but I did the work manually despite how tedious it was. Mostly I didn't want to have to transcribe them from a bunch of INTV screen shots.

Here have a look at the sprite rip image.

There's something odd with that rip. Segments of letters seem to be out of place. Also, the bottom looks like German airspace during WWII.

(Oh, so that's how the EXEC looks like. LOL!)

-dZ.

Dragonstomper

• Topic Starter
• 532 posts
• Know your limits, then break them.

Posted Fri Apr 6, 2012 6:58 AM

Well, as I said, the individual GIFs for the characters are not blurry. I could probably add a mode to dump the entire 256 character set as a single 128x128 GIF if that'd save time. (16 chars by 16 chars)

Thanks for the offer, but I did the work manually despite how tedious it was. Mostly I didn't want to have to transcribe them from a bunch of INTV screen shots.

Here have a look at the sprite rip image.

There's something odd with that rip. Segments of letters seem to be out of place. Also, the bottom looks like German airspace during WWII.

(Oh, so that's how the EXEC looks like. LOL!)

-dZ.

Well you'd know better than I, but as far as the rip I just copy & pasted directly from each GIF making sure not to disturb there alignment within the card blocks that were extracted. Also what is the EXEC, I don't quite get that?

### #9 DZ-JayOFFLINE

DZ-Jay

• 9,053 posts
• Triple-Stripe Mo' Bro
• Location:NC, USA

Posted Fri Apr 6, 2012 7:15 AM

Well, as I said, the individual GIFs for the characters are not blurry. I could probably add a mode to dump the entire 256 character set as a single 128x128 GIF if that'd save time. (16 chars by 16 chars)

Thanks for the offer, but I did the work manually despite how tedious it was. Mostly I didn't want to have to transcribe them from a bunch of INTV screen shots.

Here have a look at the sprite rip image.

There's something odd with that rip. Segments of letters seem to be out of place. Also, the bottom looks like German airspace during WWII.

(Oh, so that's how the EXEC looks like. LOL!)

-dZ.

Well you'd know better than I, but as far as the rip I just copy & pasted directly from each GIF making sure not to disturb there alignment within the card blocks that were extracted. Also what is the EXEC, I don't quite get that?

Sorry, bad joke. The EXEC is the main game engine framework that comes built into the Intellivision. It's the "operating system" of the console. The story goes that it did not fit in the alloted ROM it was put in, so the designers "stole" some part of the bottom of GROM to store the overflow there.

As you can see, the last few tiles are garbage. This is because they are actually EXEC program code and not really graphics.

Another story says that the game "B-17 Bomber" used GRAM so intensely that when it came time to make a graphic for the "flak" (German anti-aircraft fire) explosions, they had none left. So they just pointed the MOBs to the end of GROM, and in essence used those garbage-looking tiles for the explosions. It fit well, because explosions looks like random garbage anyway.

-dZ.

Edited by DZ-Jay, Fri Apr 6, 2012 7:16 AM.

### #10 Snafu-1982OFFLINE

Snafu-1982

Combat Commando

• 9 posts

Posted Wed Oct 3, 2012 10:02 PM

Hope this helps, this is the Intellivision colour base I constructed using the RGB 256 gradient system.

### #11 thegoldenbandOFFLINE

thegoldenband

River Patroller

• 4,966 posts
• Location:The Sapphire Galaxy

Posted Mon May 26, 2014 8:42 PM

Just as a quick note, Snafu-1982's second image is incorrect -- $09 and$0A have been reversed, so that cyan and orange are in the wrong order. His first image has those colors in the right order, however.

This confused me on a project I was working on (until I figured out the error), so I thought I'd leave a note for future people searching on Intellivision palette information.

### #12 DZ-JayOFFLINE

DZ-Jay

• 9,053 posts
• Triple-Stripe Mo' Bro
• Location:NC, USA

Posted Tue May 27, 2014 5:06 AM

Here are two images taken from the SDK-1600 describing the Intellivision colour palette.

According to a graphics program, the RGB values for each are:
$00 - BLACK: #0c0005$01 - BLUE:         #002dff
$02 - RED: #ff3e00$03 - TAN:          #c9d464
$04 - DARK GREEN: #00780f$05 - GREEN:        #00a720
$06 - YELLOW: #faea27$07 - WHITE:        #fffcff
$08 - GRAY: #a7a8a8$09 - CYAN:         #5acbff
$0A - ORANGE #ffa600$0B - BROWN:        #3c5800
$0C - PINK: #ff3276$0D - LIGHT BLUE:   #bd95ff
$0E - YELLOW GREEN: #6ccd30$0F - PURPLE:       #c81a7d


Edited by DZ-Jay, Wed May 28, 2014 5:59 AM.

### #13 thegoldenbandOFFLINE

thegoldenband

River Patroller

• 4,966 posts
• Location:The Sapphire Galaxy

Posted Tue May 27, 2014 9:07 AM

DZ-Jay, why are the colors shown in a different order in your text table (and Joe's Color Test) vs. the 16x16 grid from the SDK-1600 and Snafu-1982's charts?

In Tower of Doom, color rotations are used to show the status of certain items, and they follow the pattern shown in the SDK-1600 and (with the error corrected) Snafu-1982's charts: gray, cyan, orange, brown, pink, light blue (or lavender), yellow-green, purple (or magenta). Based on Snafu-1982's chart I assumed it was going from $08-$0F.

### #14 DZ-JayOFFLINE

DZ-Jay

• 9,053 posts
• Triple-Stripe Mo' Bro
• Location:NC, USA

Posted Wed May 28, 2014 6:04 AM

Sorry, I posted them out of order.  The order in the SDK-1600 is correct.  I've updated my post above to match.

The screenshot for "Joe's Color Test" doesn't follow this order.  I think it's because the second row is the same values as the top row, but with the "high-color" bit set.  That is,

• BLACK + High-Color = Gray
• BLUE + High-Color = Cyan
• RED + High-Color = Orange
• TAN + High-Color = Brown

This illustrates the way that the colors and their values were chosen by the designers of the Intellivision.

Edited by DZ-Jay, Wed May 28, 2014 6:05 AM.

### #15 tacrecOFFLINE

tacrec

Stargunner

• 1,018 posts

Posted Wed Jun 4, 2014 11:11 AM

Can someone post the color values in assembly format?  Thanks.

### #16 DZ-JayOFFLINE

DZ-Jay

• 9,053 posts
• Triple-Stripe Mo' Bro
• Location:NC, USA

Posted Wed Jun 4, 2014 12:29 PM

Can someone post the color values in assembly format?  Thanks.

What do you mean "assembly format"?  I posted the actual STIC colour values in Hexadecimal, above.  If you're searching a disassembled source code for them, it's a bit tricky.  For one thing, you need to decide whether you are looking for background (BACKTAB) or sprite (MOB) colors, since the colour values are different.

You can find the colour codes for each, among many others useful constants, in the file gimini.asm that comes with the SDK-1600.

Remember that all values in the disassembly are rendered as 16-bit Hexadecimal words.  This means that something like $F will show up as$000F.

### #17 tacrecOFFLINE

tacrec

Stargunner

• 1,018 posts

Posted Wed Jun 4, 2014 12:56 PM

So I found

MVII    #$0001, R0 - blue? and changed it to MVII #$0006, R0 - yellow?

How do I compile it to test?

### #18 DZ-JayOFFLINE

DZ-Jay

• 9,053 posts
• Triple-Stripe Mo' Bro
• Location:NC, USA

Posted Wed Jun 4, 2014 1:49 PM

Hmm... I don't think it's that straight forward.  I'm sorry, but I've never done what you are trying to do.  It occurs to me that the disassembler by default includes EXEC constants to make the source more readable; however, the assembler knows nothing about such constants and will fail on assembly (I know, I just tried).

For it to work, you'll either have to define all EXEC symbols in your source (which is not something you're likely to have), or have the disassembler suppress EXEC routine symbols.  Unfortunately, the option for the latter in the disassembler does not appear to work.  Strange.

Perhaps someone else can chime in on how to re-assemble the output of the disassembler.  I'm sure others have done this before.

-dZ.

### #19 First SpearOFFLINE

First Spear

Dragonstomper

• 848 posts

Posted Mon Dec 22, 2014 11:13 AM

Why would "black" be #0c0005 and not #000000 ?

Here are two images taken from the SDK-1600 describing the Intellivision colour palette.
intellivision_color_matrix.gifcolors_new.png

According to a graphics program, the RGB values for each are:

$00 - BLACK: #0c0005$01 - BLUE:         #002dff
$02 - RED: #ff3e00$03 - TAN:          #c9d464
$04 - DARK GREEN: #00780f$05 - GREEN:        #00a720
$06 - YELLOW: #faea27$07 - WHITE:        #fffcff
$08 - GRAY: #a7a8a8$09 - CYAN:         #5acbff
$0A - ORANGE #ffa600$0B - BROWN:        #3c5800
$0C - PINK: #ff3276$0D - LIGHT BLUE:   #bd95ff
$0E - YELLOW GREEN: #6ccd30$0F - PURPLE:       #c81a7d


### #20 freewheelOFFLINE

freewheel

River Patroller

• 2,830 posts

Posted Mon Dec 22, 2014 8:05 PM

Why would "black" be #0c0005 and not #000000 ?

Not all blacks are rendered perfectly. White is also not #FFFFFF as you'd expect. I'd take those RGB values with a bit of wiggle room. It doesn't really much matter anyway - the INTV can display these 16 colors and that's it. There is no need to match RGB values carefully. Tools such as IntyColor are VERY forgiving when they do best-approximation to determine which color you've actually intended.

### #21 DZ-JayOFFLINE

DZ-Jay

• 9,053 posts
• Triple-Stripe Mo' Bro
• Location:NC, USA

Posted Tue Dec 23, 2014 5:33 AM

Not all blacks are rendered perfectly. White is also not #FFFFFF as you'd expect. I'd take those RGB values with a bit of wiggle room. It doesn't really much matter anyway - the INTV can display these 16 colors and that's it. There is no need to match RGB values carefully. Tools such as IntyColor are VERY forgiving when they do best-approximation to determine which color you've actually intended.

You say "tools" as if there was more than one.

### #22 freewheelOFFLINE

freewheel

River Patroller

• 2,830 posts

Posted Tue Dec 23, 2014 11:54 AM

You say "tools" as if there was more than one.

There are, outside of the Intellivision scene

### #23 DZ-JayOFFLINE

DZ-Jay

• 9,053 posts
• Triple-Stripe Mo' Bro
• Location:NC, USA

Posted Tue Dec 23, 2014 12:23 PM

There are, outside of the Intellivision scene

What do you mean... "Outside"?

### #24 intvnutOFFLINE

intvnut

River Patroller

• 2,677 posts
• Location:@R6 (top of stack)

Posted Tue Dec 23, 2014 5:18 PM

Why would "black" be #0c0005 and not #000000 ?

Here are two images taken from the SDK-1600 describing the Intellivision colour palette.
intellivision_color_matrix.gifcolors_new.png

According to a graphics program, the RGB values for each are:

$00 - BLACK: #0c0005$01 - BLUE:         #002dff
$02 - RED: #ff3e00$03 - TAN:          #c9d464
$04 - DARK GREEN: #00780f$05 - GREEN:        #00a720
$06 - YELLOW: #faea27$07 - WHITE:        #fffcff
$08 - GRAY: #a7a8a8$09 - CYAN:         #5acbff
$0A - ORANGE #ffa600$0B - BROWN:        #3c5800
$0C - PINK: #ff3276$0D - LIGHT BLUE:   #bd95ff
$0E - YELLOW GREEN: #6ccd30$0F - PURPLE:       #c81a7d


FWIW, you could also just look in jzIntv's source and save some time.

LOCAL uint_8 gfx_stic_palette[32][3] =
{
/* -------------------------------------------------------------------- */
/*  I generated these colors by directly eyeballing my television       */
/*  while it was next to my computer monitor.  I then tweaked each      */
/*  color until it was pretty close to my TV.  Bear in mind that        */
/*  NTSC (said to mean "Never The Same Color") is highly susceptible    */
/*  to Tint/Brightness/Contrast settings, so your mileage may vary      */
/*  with this particular palette setting.                               */
/* -------------------------------------------------------------------- */
{ 0x00, 0x00, 0x00 },
{ 0x00, 0x2D, 0xFF },
{ 0xFF, 0x3D, 0x10 },
{ 0xC9, 0xCF, 0xAB },
{ 0x38, 0x6B, 0x3F },
{ 0x00, 0xA7, 0x56 },
{ 0xFA, 0xEA, 0x50 },
{ 0xFF, 0xFC, 0xFF },
{ 0xBD, 0xAC, 0xC8 },
{ 0x24, 0xB8, 0xFF },
{ 0xFF, 0xB4, 0x1F },
{ 0x54, 0x6E, 0x00 },
{ 0xFF, 0x4E, 0x57 },
{ 0xA4, 0x96, 0xFF },
{ 0x75, 0xCC, 0x80 },
{ 0xB5, 0x1A, 0x58 },


I'm not sure all the numbers there match the numbers above.  Not sure why that might be.  I may have adjusted jzIntv's palette at some point.  Or maybe your graphics program pushed it into an sRGB palette that did some gamut-shaping?

All I do know is that it's darn hard matching the Intellivision colors, especially when two TVs sitting next to each other often don't agree.  And then there's the color temperature problem on PC displays.  Most are set to 9300K, which adds way too much blue, while a "true white" is 6500K (which can look quite yellow if you're accustomed to overly-blue displays).  Colors are hard!

I tried computing the colors from the AY-3-8915 data sheet, and again from data from the PapaIntellivision site, and neither gave me workable colors.  jzIntv's colors may suck, but don't say I didn't try.  :-)

Not all blacks are rendered perfectly. White is also not #FFFFFF as you'd expect. I'd take those RGB values with a bit of wiggle room. It doesn't really much matter anyway - the INTV can display these 16 colors and that's it. There is no need to match RGB values carefully. Tools such as IntyColor are VERY forgiving when they do best-approximation to determine which color you've actually intended.

Indeed!  Although I'm not entirely sure my 'not-quite-black' and 'not-quite-white' are correct.  It's still close enough to the edges of the color band to be largely imperceptible.

Edited by intvnut, Tue Dec 23, 2014 5:19 PM.

#### 0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users