{"id":13830759,"url":"https://github.com/spacerace/romfont","last_synced_at":"2025-07-09T12:31:42.102Z","repository":{"id":151734956,"uuid":"155556279","full_name":"spacerace/romfont","owner":"spacerace","description":"VGA and BIOS rom font extraction","archived":false,"fork":false,"pushed_at":"2018-11-10T23:46:25.000Z","size":8741,"stargazers_count":538,"open_issues_count":6,"forks_count":18,"subscribers_count":14,"default_branch":"master","last_synced_at":"2024-08-05T10:13:14.879Z","etag":null,"topics":["3dfx","ami","at","ati","bios","bitmap-font","cga","ega","font","ibm","mda","nvidia","pc","s3","spea","tandy","tseng","v7","vga","xt"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/spacerace.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-10-31T12:47:03.000Z","updated_at":"2024-07-25T12:46:01.000Z","dependencies_parsed_at":"2023-09-09T03:31:22.366Z","dependency_job_id":null,"html_url":"https://github.com/spacerace/romfont","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spacerace%2Fromfont","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spacerace%2Fromfont/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spacerace%2Fromfont/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/spacerace%2Fromfont/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/spacerace","download_url":"https://codeload.github.com/spacerace/romfont/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225539526,"owners_count":17485346,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["3dfx","ami","at","ati","bios","bitmap-font","cga","ega","font","ibm","mda","nvidia","pc","s3","spea","tandy","tseng","v7","vga","xt"],"created_at":"2024-08-04T10:01:07.742Z","updated_at":"2024-11-20T11:31:19.910Z","avatar_url":"https://github.com/spacerace.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# What is this?\n \nI have diassembled and/or searched BIOS and VGA-ROMs for fonts and extracted these. \nAlso I have written a few tools to support this job. \nAll extracted fonts and screenshots are available here. I have written a big\ntable to show what is covered. Also had a look and wrote about fonts of open\nsource BIOSes/source available.\n\nIf you have exotic ROMs or links to other open source BIOSes please let me know.\nTesting a ROM for known fonts and add it to this list only takes a few minutes and\nif there is one with a yet unknown font, I am happy to extract and document it :)  \nI am really intersted in ROMs of old laptops with weird LCD-fonts and embedded\ndevices (like POS systems, cash registers, money machines and other stuff). \nAlso if you have localized graphic cards, that bring a local charset (ex. greek),\nI am happy to extract their' fonts. \n \nI already extracted more than 240 ROM-fonts. Most likely I am not updating this\ncounter for every font, so check the font-bin and font-images folder, if there\nis something new relevant to you. \n\n# The tool\nI have written a tool to browse a ROM image and search for 8x8, 8x14, 8x16 charsets\nand export.\nIt can be found here on github in another repo, called \"romfont-extractor\". \n \n  ls\n  \n# Already extracted fonts\n```\nLEGEND: \"ok\" - font already extracted\n        \"XX\" - font not included in ROM (newer cards dont ship 8x14 usually)\n        \"  \" - not yet done\n        \"??\" - something strange\n        \"LO\" - only lower 128 characters available\n\nFilename of ROM                                  8x8  8x14 8x16  Bus    Memory   Date         Comments (BIOS manuf., year, version, ...)\n------------------------------------------------+----+----+----+------+--------+------------+------------------------------------------------------------------------------------------------\nATI.X550.128.040512.rom                         | ok | xx | ok |      |        |            |\nAsus.6200.16.050106.rom                         | ?? | ?? | ?? |      |        |            | NV44, 2004 Nvidia, Version 5.44.02.11.00 / AS05\nCLGD5442.ROM                                    | ok | ok | ok |      |        |            | CL-GD540x/542x VGA BIOS Version 1.20, 1992-1993 Cirrus Logic, 1987-1990 Quadtel\navga1-a11.bin                                   | ?? | ?? | ?? |      |        |            |\nAVGA2.ROM                                       | ok | ok | ok |      |        |            |\nCommodore386SX-25_AVGA2.bin                     | ok | ok | ok | ISA  |   512k | 03/19/92   | Acumos AVGA2, DeskTop VGA BIOS (340-000-11-Rev1.00), 1984-1991 Phoenix\nConnect3D.9500NP.128.Infineon30.021212.rom      | ok | xx | ok | AGP  |        | 2002/12/12 | R300, Infineon Memory BIOS - P/N 113-94232-101, 1988-2002 ATI BK-ATI VER008.004.008.004\nDiamond Stealth 64 Video VRAM PCI 3.00.bin      | ok | ok | ok | PCI  |        | 07/05/95   | Stealth 64 Video VRAM Vers. 3.00, Diamond MultiMedia Systems\nELSAVIC2.ROM                                    | ok | ok | ok | AGP  |        | 11/23/98   | ELSA VICTORY II 4.03.00, 98-98 ELSA, 90-98 Elpin Systems\nElsa.FireGLV3200.128.040910.rom                 | ok | xx | ok | PCIE |  128MB | 2004/09/10 | RV380, 1988-2003, ATI BK-ATI VER008.015.121.000\nFujitsuSiemens.QuadroFX1700.512.080123.rom      | ?? | ?? | ?? |      |  512MB |            | ??? compressed font ??? cant find font on first look\nFujitsuSiemens.X300Mobility.32.050608.rom       | ok | xx | ok |      |   32MB |            |\nG400.ROM                                        | ok | xx | ok |      |        |            | Matrox\nGENOA.ROM                                       | ok | ok | ok |      |        |            | Tseng\nGigabyte.6200.16.050711.rom                     | ?? | ?? | ?? |      |        |            | ??? compressed font ??? cant find font on first look\nLeadtek.6200.16.050128.rom                      | ?? | ?? | ?? |      |        |            | ??? compressed font ??? cant find font on first look\nM32.ROM                                         | ok | ok | ok | PCI  |        |            | ATI\nM64GX.ROM                                       | ok | ok | ok |      |        |            |\nMGAMIL2.ROM                                     | ok | xx | ok |      |        |            |\nMIROV968.ROM                                    | ok | ok | ok |      |        |            | Same like V7MERC\nMORSE KP800 VGA CL-GD520A-32PC-B.bin            | ok | ok | ok |      |        |            | CL Award\nNCR VLB VGA CL-GD5428-80QC-A.bin                | ok | ok | ok |      |        |            |\nR128GL.ROM                                      | ok | xx | ok |      |        |            |\nRIVA128A.ROM                                    | ok | xx | ok |      |        |            | STB\nS3T64V2.ROM                                     | ok | ok | ok | PCI  |        |            | S3\nS3VIRGX2.ROM                                    | ok | ok | ok | PCI  |        |            | S3\nSapphire.9600NP.256.unknown.031028.rom          | ok | xx | ok |      |  256MB |            |\nSapphire.9600PRO.128.Samsung28.030829.rom       | ok | xx | ok |      |  128MB |            |\nTNT2M64.ROM                                     | ok | ok | ok |      |        |            |\nTSVGA 9020-12 ET4000 ISA VGA.bin                | ok | ok | ok | ISA  |        |            |\nTseng ET3000AX ISA VGA-VGA ULTRA.bin            | ok | ok | ok | ISA  |        |            |\nV7MERC.ROM                                      | ok | ok | ok |      |        |            |\nV7_Vega                                         | ok | ok | ok |      |        |            | uses 3dfx font set, different fonts than V7MERC\nvideo_seven_vega_vga_62L1989V5_435-0016-47.bin  | ok | ok | ok |      |        |            |\nVANTA.ROM                                       | ok | ok | ?? |      |        |            | 8x16 not complete in ROM\nVANTAGE.ROM                                     | xx | ok | ok |      |        |            | has no 8x8 font\nVDOO3PCI.ROM                                    | ok | ok | ok |      |        |            | 3dfx Elpin\nWIN1KXHR.ROM                                    | ok | ok | ok |      |        |            | ESLA\nWONDER16.ROM                                    | ok | ok | ok |      |        |            |\nXGA.ROM                                         | ok | ok | ok |      |        |            | Phoenix\net4000_stb.vbi                                  | ok | xx | ok |      |        |            |\net4000w32isa.BIN                                | ok | ok | ok |      |        |            |\net4000_weirdlowerL.bin                          | ok | ok | ok | ISA  |512k/1M |            | Has a weird lower L in 8x14 and 8x16 charsets. Typical TSENG change to a PC font.\nOakTechnolgy-unknown-1.bin                      | ok | ok | ok |      |        |            |\nOakTechnolgyVGA-KO77.bin                        | ok | ok | ok |      |        |            |\nQuadtelS3_86C801_86C805EnhancedVGABIOS2.13.01   | ok | ok | ok |      |        |            |\nQuadtelVGABIOSVersion1.21.00.bin                | ok | ok | ok |      |        |            |\nSVGA141.ROM                                     | ok | ok | ok |      |        |            |\ns3_764.bin                                      | ok | ok | ok |      |        |            |\nTridentTVGA8900C_S27C256.bin                    | ?? | ?? | ?? |      |        |            |\ntgui9400cxi.vbi                                 | ok | ok | ok |      |        |            |\ntvga-c4.3.rom                                   | ok | ok | ok |      |        |            |\ntvga-d3.0.rom                                   | ok | ok | ok |      |        |            |\ntvga9000i-d4.01e                                | ?? | ?? | ?? |      |        |            |\ntvga9000i-v2.vbi                                | ok | ok | ok |      |        |            |\ntvga9000a_d211.bin                              | ok | ok | ok |      |        |            |\ntvga9000a_d301.bin                              | ok | ok | ok |      |        |            |\ntvga8800cs                                      | ok | ok | ok |      |        |            |\ntvga8800cs_2                                    | ok | ok | ok |      |        |            |\nBLADEXP.vbi                                     | ok | ok | ok |      |        |            |\nBLADE3D_AGP.vbi                                 | ok | ok | ok |      |        |            |\nBLADE3D_AGP_HIS.vbi                             | ok | ok | ok |      |        |            |\nBLADE3D_PCI.vbi                                 | ok | ok | ok |      |        |            |\nvgaedge.bin                                     | ok | ok | ok |      |        |            |\nTsengLabsVGA-4000BIOSV1.1.bin                   | ok | ok | ok |      |        |            |\n------------------------------------------------+----+----+----+------+--------+------------+------------------------------------------------------------------------------------------------\nATIEgaWonder800p.bin                            | ok | ok | ok |      |        |            |\nami-ega.rom                                     | ok | ok | xx |      |        |            | VERY SPECIAL FONTS, 2 different 8x8 (1 is mirrored) and one 8x14\ngenoa-ega-2.41.rom                              | ok | ok | xx |      |        |            |\nibm-ega.rom                                     | ok | ok | xx |      |        |            |\nNSILogic-SmartEGAPlus-04-086-01Rev1.45-U21.bin  | ok | ok | xx |      |        |            |\nwd-pega.rom                                     | ok | ok | xx |      |        |            |\n------------------------------------------------+----+----+----+------+--------+------------+------------------------------------------------------------------------------------------------\nIBM VGA                                         | ok | ok | ok |      |        |            | has a full 8x8 charset in 8x8, 8x14 and 8x16\nIBM_PC_BIOS_1981-04-24_HALF_8x8.bin             | LO | XX | XX | ---  | ------ |            | IBM PC BIOS, only lower 128 characters, no \"graphical\" chars.\n------------------------------------------------+----+----+----+------+--------+------------+------------------------------------------------------------------------------------------------\n=\u003e IN THIS SECTION: LOCALIZED VIDEO ROMS (greek, ...)\nCGA_PRAVETZ.ROM                                 | ok | xx | xx |      |        |            | 4 different kyrillic fonts\nacer500-II_cga_rom.bin                          | ok | xx | ?? |      |        |            | 2 different greek 8x8, somewhat strange 8x16 TBD\nati_small_wonder_rev1_GR-ROM.bin                | ok | xx | ?? |      |        |            | 4 different greek 8x8\nclone2_cga_rom.bin                              | xx | ?? | ?? |      |        |            |\nclone_cga_rom.bin                               | xx | ?? | ?? |      |        |            |\nhyundai_mono-graphics-board_e40080004           | xx | ?? | ?? |      |        |            |\nibm5155_cga_rom_memotek_greek                   | ok | xx | xx |      |        |            | 10 different greek fonts?\ntvga9000a_japan.vbi                             | ok | ok | ok |      |        |            |\n------------------------------------------------+----+----+----+------+--------+------------+------------------------------------------------------------------------------------------------\nmda.rom                                         | ?? | ?? | ?? |      |        |            | 8k ROM only font data, what is this? not extracted yet, some problems\n50146chareuro.rom                               | ok | xx | ok |      |        |            | Tandy 1000, 8x8 and 8x14 in both a 8x16 array with padding zero bytes\n------------------------------------------------+----+----+----+------+--------+------------+------------------------------------------------------------------------------------------------\n=\u003e IN THIS SECTION: SYSTEM BIOS\nali1429g.amw (AMI WINBIOS)                      | LO | xx | xx |      |        |            |\namic206.bin                                     | xx | xx | xx |      |        |            | NO FONT at all\nami386.bin                                      | LO | xx | xx |      |        |            |\namxtv132.rom                                    | LO | xx | xx |      |        |            |\naward-2.05.rom                                  | LO | xx | xx |      |        |            |\nDTK.PII-151B-BIOS.version.1.06B.bin             | xx | xx | xx |      |        |            | NO FONT at all\ndtk_erso_2.42_2764.bin                          | LO | xx | xx |      |        |            |\ngenxt.bin                                       | LO | xx | xx |      |        |            |\nJukoD16X-BIOSversion1.2.bin                     | xx | xx | xx |      |        |            | NO FONT at all\nLongshineLCS-6821N-BIOSversion1.04.bin          | xx | xx | xx |      |        |            | NO FONT at all\nolivetti-m24-1.21.rom                           | LO | xx | xx |      |        |            |\nopt495sx.ami                                    | LO | xx | xx |      |        |            |\nphoenix-2.51.rom                                | LO | xx | xx |      |        |            |\nToshibaT1000-BIOSROM-V4.10.bin                  | ?? | xx | xx |      |        |            | lo and hi in different places\ntoshibaT5200cbiosv3.bin                         | ok | xx | ok |      |        |            | VERY SPECIAL contains each 2 different fonts, 8x8 and 8x16\nVTech-LaserTurboXT-BIOS-V1.11-27C64D.bin        | LO | xx | xx |      |        |            | VERY SPECIAL\nVTech-LaserXT3-BIOS-V1.26-27C64.bin             | LO | xx | xx |      |        |            | VERY SPECIAL\nwang3050_bios_rom                               | ok | ok | ok |      |        |            |\n------------------------------------------------+----+----+----+------+--------+------------+------------------------------------------------------------------------------------------------\nibmjap.rom                                      | ok | ok | ok |      |        |            | Japanese PS/2 BIOS\n------------------------------------------------+----+----+----+------+--------+------------+------------------------------------------------------------------------------------------------\n=\u003e IN THIS SECTION: FONTS THAT ARE AVAILABLE IN SOURCE\nseabios                                         | ok | ok | ok | ---  | ------ |            | from official source\nbochs                                           | LO | XX | XX | ---  | ------ |            | from official source\n3dfx                                            | ok | ok | ok |      |        |            | from leaked source\nIBM PC BIOS V1                                  | LO | XX | XX |      |        |   1981     | from IBM's source\nIBM PC BIOS V2,V3                               | LO | XX | XX |      |        |   1981     | from IBM's source\nIBM AT BIOS V1,V2,V3                            | LO | XX | XX |      |        |   1981     | from IBM's source\nIBM XT BIOS V1,V2,V3                            | LO | XX | XX |      |        |   1981     | from IBM's source\nIBM XT286 BIOS V1                               | LO | XX | XX |      |        |   1981     | from IBM's source\n------------------------------------------------+----+----+----+------+--------+------------+------------------------------------------------------------------------------------------------\n```\n\n# OTHER SOURCES\n\nThe folder 'other_sources' contains subfolders, which each holds a set of files for a ROM-font.\nThey were not extracted from ROMs, they are already available as source. These\nsources were adapted and simple bin-generators were added to create the binary\nfont files. \nThese are available:\n```\nibm_pc             -  original IBM PC, V1/V2/V3\nibm_xt             -  IBM XT, V1/V2/V3\nibm_xt286          -  IBM XT 286, only one BIOS available\nibm_at             -  IBM AT, V1/V2/V3\nseabios            -  qemu seabios, 8x8, 8x14, 8x16\n3dfx_leadked_bios  -  original source code, 8x8, 8x14, 8x16, 9x14, 9x16\nbochs_bios         -  bochs bios, 8x8, only lower half of charset implemented\n```\nNot all are yet converted to C (most of them in ASM) and bins are generated.\nThe original sources are provided already. \n \n# comparing fonts / observations:\n* IBM has used a font for the very first PC BIOS, that has changed in second\n  version of BIOS. After this release the font remained the same on these machines:\n  - IBM PC v2, v3\n  - IBM XT v1, v2, v3\n  - IBM XT v1\n  - IBM AT v1, v2, v3 \n  The only change from first to second version is 1 single bit, that makes a huge\n  difference when looking at it (ASCII 0x04, bottom line 0x00 changes to 0x08).\n  This font only has the lower 128 characters.\n* IBM uses exactly same 8x8,8x14,8x16 on VGA and XGA. (full 256 item charset)\n* qemu seabios 8x8 and 8x14 are exact matches to IBM's VGA and XGA fonts.\n  These files are in fntcol16.zip from simtel. VGA-ROM.F08 and VGA-ROM.F14.\n  qemu source comment claims this is public domain. I doubt IBM would release\n  a font to public domain. Does this mean, qemu relied on claims by package\n  creator and now they use a illegal copy?\n* bochs bios 8x8 only brings lower 128 chars that are exactly matching IBM's second font.\n  Same as with seabios 8x8 font (licensing).\n* 3dfx uses 8x8+8x14 IBM font, but looks like they use NVidia 8x16 font.\n* The Voodoo3 8x8,8x14,8x16 match exactly the leaked ones from 3dfx.\n* The AVGA2 has totally unique fonts - TODO - bit by bit compare - what are the differences?\n\nHave a look at `MD5SUMs` file, it is sorted by sum. This means, you will se which\ncards share same font.\nIf you want to compare you may use a image viewer and view the zoomed images\nof the desired fonts.\n\nThe folder `lowercharset` holds the lower 128 characters of all 8x8 fonts to\nsee, which one uses the original IBM PC's or the second version of this font.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspacerace%2Fromfont","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fspacerace%2Fromfont","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fspacerace%2Fromfont/lists"}