• Please review our updated Terms and Rules here

About IBM PGC 8x14 (8x16) Font in CGA emulation (640x400)

fs5500

Veteran Member
Joined
Nov 5, 2008
Messages
507
http://www.vintage-computer.com/vcforum/showthread.php?25658-(WANTED)-IBM-PGC-ROM-Images

That thread was already closed.

According to that thread, PGC ROM chip of 6137560 is integrated with CGA Emulation Font (Character Generator) by 8x14 font, right? (4K*8 PROM = 4096 bytes)
I think font must be integrated with 8x16.
If the ROM is 4KB, the ROM is character generator only.

I know it is nearly impossible to dump font ROM directly without eprom reader.
It must be very dangerous to do so.

So the best and safety method is to capture character font by using BASIC program.
The BASIC program is the following as.

10 SCREEN 0:WIDTH 40:KEY OFF:CLS
20 A=0:DEF SEG=&HB000
30 FOR B=0 TO 15
40 FOR I=&H8158+(B*80) TO &H8176+(B*80) STEP 2
50 POKE I,A:A=A+1
60 NEXT I,B
70 LOCATE 22,1
80 IF INKEY$="" THEN 80

This program enable to show all character font on SCREEN 0 (40x25)
The problem is how to capture the screen to file.
It is very hard to find the Screen capture program on DOS. (It must be supported on 8088/CGA)
But I found the good screen capture program.
That is called as Grabber 3.96

http://ftp.sunet.se/pub/simtelnet/msdos/screen/grabb396.zip

GRABBER.EXE is TSR program.
This program runs as follows.

GRABBER A:\
<-- Captured file (SCREENXX.EXE) is written to A:\ (A: Drive Root Directory)
Then run BASIC program on DOS BASIC (or GW-BASIC).
But the compiled CHAR.EXE file is uploaded on there.

http://www.mediafire.com/download.php?a62k40cfs6x569s

Original source of CHAR.BAS is uploaded too.

http://www.mediafire.com/download.php?t62bcu29a038q28

If you run BASIC program, then you must press "CTRL" + "=" key at the same time.
The prompt message will be shown as SAVE as "SCREENXX.EXE" and press ENTER key to save to A:\

Captured .EXE (SCREENXX.EXE) is converted to other image format to compatible on DOS.
If the all character font is captured, it can be edited by 8x16 Font Editor.

It takes many times to edit and gerenate font rom.
But it is another way to make PGC's character font ROM.

If PGC owner can help to do this, thanks.

I can make PGC font ROM with this method.
 
Last edited:
... Maybe I'm missing something here, but you do understand that when you do a 'screen capture' of a "SCREEN 0" display you're just reading the contents of the character RAM, right? You're not going to get a literal "picture" of the screen font. If you're using a screen capture program that spits out a bitmap when you screenshot a text screen it must be rendering it internally using its own versions of the font glyphs (or possibly the ones present in the system BIOS or loaded with GRAPHICS.COM), not the contents of the ROM that you're hoping to grab here. (Which it sounds as if is not accessible to the CPU, instead being tied directly to shift register like the one in a regular CGA card?)
 
Last edited:
... Maybe I'm missing something here, but you do understand that when you do a 'screen capture' of a "SCREEN 0" display you're just reading the contents of the character RAM, right? You're not going to get a literal "picture" of the screen font. If you're using a screen capture program that spits out a bitmap when you screenshot a text screen it must be rendering it internally using its own versions of the font glyphs (or possibly the ones present in the system BIOS or loaded with GRAPHICS.COM), not the contents of the ROM that you're hoping to grab here. (Which it sounds as if is not accessible to the CPU, instead being tied directly to shift register like the one in a regular CGA card?)

So I want font screenshot.
It is very important for me to make binary Font ROM .

If I've got screenshot, I'll make PGC ROM font by using font editor and IBM EGA ROM Font.
As you know it is impossible to dump binary ROM font of PGC directly without EEPROM reader.
So It is only way for me to make ROM font with screenshot.
Character Generator Rom font is used for SCREEN 0 (Text) only.
(On SCREEN 1 or other mode, BIOS's font is used instead of CGROM)
 
As you know it is impossible to dump binary ROM font of PGC directly without EEPROM reader.
So It is only way for me to make ROM font with screenshot.
Character Generator Rom font is used for SCREEN 0 (Text) only.

Yes... the point is that in Screen 0 the PGC's character generator ROM is directly tied to the output shift register which serializes bits sent to the monitor. A software screen grab of the display when it's in text mode will simply grab the couple KI of memory the *text* (and attributes) are stored in, it's not going to get you a bitmap of the font bytes as rendered on the monitor. It just *won't*.

Or did I get things muddled and you're actually asking someone to take a sharp high-resolution photograph of what appears on the screen when you run your program and you'll reconstruct the font by referencing that?
 
Yes... the point is that in Screen 0 the PGC's character generator ROM is directly tied to the output shift register which serializes bits sent to the monitor. A software screen grab of the display when it's in text mode will simply grab the couple KI of memory the *text* (and attributes) are stored in, it's not going to get you a bitmap of the font bytes as rendered on the monitor. It just *won't*.

Or did I get things muddled and you're actually asking someone to take a sharp high-resolution photograph of what appears on the screen when you run your program and you'll reconstruct the font by referencing that?


I'll use all emulator related with IBM PC. (PCE / MESS / DOSBOX)
IBM PC emulator is best method for me to make font ROM easily.
 
Does anyone even have a PGC / PGA anymore? The only way I heard about it to begin with was that surplus companies were selling IBM 5175 PGA monitors, and for an extra fee you could get one modified to display VGA.

Hmmm... you can get a PGC for $200 on eBay:

http://www.ebay.com/itm/230928637099
 
I'll use all emulator related with IBM PC. (PCE / MESS / DOSBOX)
IBM PC emulator is best method for me to make font ROM easily.

Uhm... if you have an emulator that already emulates the Professional Graphics Card with the correct screen font for text mode then there's no reason you need this ROM? Now I'm *really* confused.
 
Uhm... if you have an emulator that already emulates the Professional Graphics Card with the correct screen font for text mode then there's no reason you need this ROM? Now I'm *really* confused.

Because PGC Font cell is 8x16 (Not 8x14 just like EGA), I need to verify it.
I need screenshot of PGC characters to make binary ROM file.
 
And even when you have an accurate screendump, it's not obvious it's arranged in ROM in the same way as the original MDA/CGA and even the EGA fonts. The only way to be certain you have the correct binary dump would be to actually dump the physical ROM chip.
 
This cannot work, which I'll explain below:

http://www.vintage-computer.com/vcforum/showthread.php?25658-(WANTED)-IBM-PGC-ROM-Images

This program enable to show all character font on SCREEN 0 (40x25)
But I found the good screen capture program.
That is called as Grabber 3.96

GRABBER does not support AT&T PC 6300 fonts or graphics. Neither does Screen Thief, nor PCXDUMP. Also, I might be wrong about this but I'm not sure the full font ROM is visible to the system; there is font data there, but IIRC it is just the regular 8x8 for compatibility in the usual locations. I also don't recall if the latter 128 characters are present unless you run the AT&T 2.11 or 3.2 DOS "GRAPHICS.COM" program.

Are you out of luck? Believe it or not, no. I have a solution for you:


  1. In AT&T GWBASIC, issue a SCREEN 100. This puts the system into 640x400x2 graphics mode.
  2. Use BASIC to print out all characters. Do NOT poke directly into screen memory like your example, but just simply PRINT CHR() out all characters, 0 to 255. This will write characters using the BIOS which will draw the characters in graphics mode. Some characters might beep or advance a new line, I'm not sure, but if they do then it won't be a complete copy.
  3. Use either BSAVE to save the resulting 32K graphics screen into a file, or use a capture program that supports AT&T 6300 graphics mode like Pizzaz Plus or (IIRC) Hijaak, to dump the graphics into a file.

This will provide you with a graphics screen of most, if not all, of the 8x16 characters.

Unfortunately, you have a second problem: I am unwilling to write the BASIC, upload those capture programs, or drag my AT&T out of storage to perform and do all of the work. All of my free time right now is being spent preparing for my PCjr presentation and I can't shuffle everything around to satisfy your font fetish. Hopefully you can find someone else who has theirs set up already, and you (or they) can write the BSAVE portion to just dump the screen to a raw file so you don't need a capture program.

If you come up short, contact me again in May.
 
>Unfortunately, you have a second problem: I am unwilling to write the BASIC, upload those capture programs, or drag my AT&T out of storage to perform and do all of the work. All of my free time right now is being spent >preparing for my PCjr presentation and I can't shuffle everything around to satisfy your font fetish. Hopefully you can find someone else who has theirs set up already, and you (or they) can write the BSAVE portion to just dump >the screen to a raw file so you don't need a capture program.

Oops, that is my mistake.
I really didn't know about this fact.

Umm, I think it is other method to show all characters.

1. Run BASIC program.

10 SCREEN 0:KEY OFF:CLS
20 FOR A=0 TO 7
30 FOR I=A*32 TO (A*32)+31
40 IF (I>6 AND I<14) OR (I>27 AND I<32) THEN PRINT " ";:GOTO 60
50 PRINT CHR$(I);
60 NEXT I
70 PRINT:NEXT
80 IF INKEY$="" THEN 80

You can see the following screenshot. (This is from EGA TEXT mode)

http://www.mediafire.com/view/?h4nxz949rcvr3dc

It must be saved as photo with camera or smart phone just like this.

http://www.oldskool.org/guides/tvdog/images/SXDeskMateLarge.JPG


2. Run PC-Toolls or other HEX edit utility

Load TEXT.TXT (256 bytes, contents are 00 , 01 ~ FE, FF)

http://www.mediafire.com/view/?48141yy1svsisvt

You can see the result as follows by toggle hex edit.

http://www.mediafire.com/view/?6q66cnuh762m8sa

Screen of PC-TOOLS 4.30 was photographed by IBM 5170 user.

http://www.mediafire.com/view/?ckhov3yrd8hhmak

If this is captured or photographed, I can edit (make) font ROM.
 
Last edited:
And even when you have an accurate screendump, it's not obvious it's arranged in ROM in the same way as the original MDA/CGA and even the EGA fonts. The only way to be certain you have the correct binary dump would be to actually dump the physical ROM chip.

I know, but it is very dangerous to dump CGROM from physical ROM chip.
So I don't recommend.
I was very supprised that original CGA/MDA Fonts are dumped from ROM chip directly a few years ago.
But the binary content was just same as I made.
I've made many of CG Font ROM not only CGA but other retro CG ROM. (I also made MC6847 Font by dot matrix font editor)
All content was just same as ROM dumped.

The important is how to capture all character screen by camera as good as good quality.
 
Last edited:
I know, but it is very dangerous to dump CGROM from physical ROM chip.
So I don't recommend.
I was very supprised that original CGA/MDA Fonts are dumped from ROM chip directly a few years ago.

On the original CGA / MDA, the font ROMs are socketed, so it isn't as difficult to get them out and plug them into a reader. The problem with the PGC is that its font ROM is soldered down, and so desoldering it risks damaging the PGC.

If you want to capture the font without removing the ROM, I can think of two options:
i) Capture the video output with a frame grabber.
ii) Display all the characters on the screen, and draw by hand the bitmaps you see. I've written programs to assist with this for CGA and 3270PC displays, but not for the PGC.
 
On the original CGA / MDA, the font ROMs are socketed, so it isn't as difficult to get them out and plug them into a reader. The problem with the PGC is that its font ROM is soldered down, and so desoldering it risks damaging the PGC.

If you want to capture the font without removing the ROM, I can think of two options:
i) Capture the video output with a frame grabber.
ii) Display all the characters on the screen, and draw by hand the bitmaps you see. I've written programs to assist with this for CGA and 3270PC displays, but not for the PGC.


Yes, ii) method is best choice I think.

http://www.seasip.info/VintagePC/pgc.html#cga

I think it is possible to show all character on BASIC by using POKE with CGA emulation jumper is on.

If you can display all characters on screen 0 and save shot by digital camera or smart phone , I can make bitmaps by using dot matrix font editor easily.


This is real PGC's CGA emulation FONT.

http://www.vintage-computer.com/vcforum/attachment.php?attachmentid=2149&d=1255779146

I think that must be shown by VRAM attribute on SCREEN 0 (40x25)

If anyone can shot PGC's CGA emulation FONT, it is possible to make Font ROM easily.


10 SCREEN 0:WIDTH 40:KEY OFF:CLS
20 A=0EF SEG=&HB000
30 FOR B=0 TO 15
40 FOR I=&H8158+(B*80) TO &H8176+(B*80) STEP 2
50 POKE I,A:A=A+1
60 NEXT I,B
70 LOCATE 22,1
80 IF INKEY$="" THEN 80



* Remember everyone! The following Font is Not from PGC's CGA or original CGA font but BIOS Font from IBM PC.

http://www.vintage-computer.com/vcforum/attachment.php?attachmentid=2150&d=1255779175
http://www.vintage-computer.com/vcforum/attachment.php?attachmentid=2151&d=1255779201

Of course it is nearly same as CGA font. But Not original CGA font.
("S" font is different from original.)
 
Last edited:
Accoring to Trixter's AT&T 6300 (Olivetti M24?) uses CGA Text font as 8x16 (Text mode is 640x400).
I've checked font data area from its BIOS.
But only a few of fonts are 8x16.
Rest of fonts are based on 8x14 just like EGA.

I don't know PGC have 8x16 font just like AT&T 6300 or VGA.

But anyway, I'll make PGC Font just as 2 kinds.

1) EGA (8x14) + add 2 bytes of 00h on each font date to adjust 8x16. (But basic font size is Not changed.)
2) Edit a few of EGA 8x14 font to 8x16 just like AT&T or VGA 8x16

I'll wait for the screen shot of PGC text mode.
 
I've changed BASIC program.

(MDA/Hercules/Mono)

10 SCREEN 0:COLOR 0:KEY OFF:CLS
20 A=0 : DEF SEG=&HB000
30 FOR B=0 TO 15
40 C=B*160:FOR I=C TO C+30 STEP 2
50 POKE I,A:pOKE I+1,112:pOKE I+32,A:A=A+1
60 NEXT I,B
70 COLOR 7:LOCATE 17,1
80 IF INKEY$="" THEN 80

http://www.mediafire.com/download.php?sfwu3cf7bhqbhik
(RUN "CHAR.BAS")


(CGA/PGC/EGA/MCGA/VGA/Color)

10 SCREEN 0:COLOR 0:WIDTH 40:KEY OFF:CLS
20 A=0 : DEF SEG=&HB000
30 FOR B=0 TO 15
40 C=&H8000+(B*80):FOR I=C TO C+30 STEP 2
50 POKE I,A:pOKE I+1,112:pOKE I+&H20,A:A=A+1
60 NEXT I,B
70 COLOR 7:LOCATE 17,1
80 IF INKEY$="" THEN 80

http://www.mediafire.com/download.php?t62bcu29a038q28
(RUN "CHAR.BAS")

You can see the following screen.

(MDA)
http://www.mediafire.com/view/?k783xfa2hp4ros1

(HGC)
http://www.mediafire.com/view/?wc5dc01xot2zjjx

(CGA / Thick)
http://www.mediafire.com/view/?eb0v7gb787vlc48

(CGA / Thin)
http://www.mediafire.com/view/?y6n77s1usagwvgo

(EGA)
http://www.mediafire.com/view/?2aa45w14azyeccy

(VGA)
http://www.mediafire.com/view/?tmodald2l0hu3qe


I'm sure IBM PGC CGA emulation font can be made easily.
 
Last edited:
I've made IBM PCG character font ROM (6137560.BIN / 8x16 cel, 4KB) by using IBM EGA BIOS, PS/2 Model 30 BIOS, IBM MDA Font and Amstard PC20 Font.
Amstard PC20 Font ROM is 40109.BIN in pc20.zip from MESS's ROM set.
I use both IBM EGA ROM and PC20 Font ROM.
Everything seems to be complete.
PC20 MDA font rom is 8x16 cel. (Actual font size is 8x14)
But it is just same as IBM EGA font.
Only to do is to verify Font with real PGC by using BASIC program.

If any PCG user show me photo shot of character fonts, I can verify it quickly.
If the verification is ok, I'll upload(attach) 6137560.BIN.
 
Last edited:
For what it's worth, here's my reconstruction of the PGC font:

pgcfont.png


It's the IBM EGA 8x14 font, centred vertically in an 8x16 character cell, and with characters 8, 176-223 and 244-245 extended to 16 pixels high (but not character 10, which you'd think ought to have been done like 8 ). I've checked it against a real PGC; here's the best shot I can get of its font.

pgcshot.png


And here is a 4k file containing that font.

A word of warning, though. While it's likely that the real ROM contains those 4096 bytes (give or take any mistakes I've made), there's no guarantee that they're held in the same order. It might be like the MDA, for example, where first you get all the characters' top halves, and then all their bottom halves.
 
This is PGC font screen I made.

http://www.mediafire.com/view/?rk7vxhghclad638

I modified BASIC PROGRAM as follows.

10 SCREEN 0:COLOR 0:WIDTH 40:KEY ON:CLS
20 A=0 : DEF SEG=&HB000
30 FOR B=0 TO 15
40 C=&H8000+(B*80):FOR I=C TO C+30 STEP 2
50 POKE I,A:pOKE I+1,112:pOKE I+&H20,A:A=A+1
60 NEXT I,B
70 COLOR 7:LOCATE 17,1
80 IF INKEY$="" THEN 80

If you run this program on PGC, the screenshot must be following if the font is correct.

http://www.mediafire.com/view/?uuvarmanud644qk
 
Last edited:
Your links are broken.

mediafire.com said:
The key you provided for file download was invalid. This is usually caused because the file is no longer stored on MediaFire. This occurs when the file is removed by the originating user or MediaFire.
 
Back
Top