Home of the original IBM PC emulator for browsers.
To aid the development of PCjs VGA support, selected VGA “Black Book” Tests from Michael Abrash’s Graphics Programming Black Book have been added to the project, which you can run in the VGA “Black Book” Test Machine below.
Abrash’s book is available on many sites, but I’m partial to the Markdown version that James Gregory has made available on GitHub, because (a) it’s a brilliant way to render and share the text, and (b) it apparently has Abrash’s blessing, so I feel more comfortable forking it, using it, and resharing it.
The main reasons for my fork are to make the book’s images display properly on GitHub, and to extract and add assorted source code listings as I need them. Since that project’s /src folder contains just the book’s text, I’ve added a /code folder for the source code listings. The name of each source code file matches the name displayed in the text (eg, L23-1.ASM is Listing 23.1 from Chapter 23).
I assume something similar was done on the CD-ROM that accompanied the Black Book, but since I don’t have the original book or its CD-ROM, I’ve extracted the source code directly from the Markdown text and then “tabified” it with 8-column tab stops.
Development of PCjs VGA support began June 2015, and not everything here runs properly inside PCjs yet. For example:
The Compaq DeskPro 386 machine below loads the VGA “Black Book” Binaries diskette from the PCjs Disk Library into Drive B. Click the Run button to start the machine.
[PCjs Machine "deskpro386"]
Waiting for machine "deskpro386" to load....
The following disk image contains the source code for selected VGA “Black Book” Tests. It was built using DiskDump and the –normalize option, which automatically converts linefeeds in known text files (including ASM files) into DOS-compatible CR/LF sequences.
Volume in drive A is VGASRC
Directory of A:\
L23-1 ASM 14690 4-03-20 11:52a
L24-1 ASM 7243 4-03-20 11:52a
L25-1 ASM 4872 4-03-20 11:52a
L25-2 ASM 1606 4-03-20 11:52a
L25-3 ASM 2347 4-03-20 11:52a
L25-4 ASM 2437 4-03-20 11:52a
L26-1 ASM 6949 4-03-20 11:52a
L26-2 ASM 7170 4-03-20 11:52a
L27-1 ASM 5766 4-03-20 11:52a
L27-2 ASM 6055 4-03-20 11:52a
L27-3 ASM 3928 4-03-20 11:52a
L28-1 ASM 5809 4-03-20 11:52a
L28-2 ASM 4436 4-03-20 11:52a
L28-3 ASM 2285 4-03-20 11:52a
L29-1 ASM 3262 4-03-20 11:52a
L29-2 ASM 2919 4-03-20 11:52a
L29-3 ASM 5940 4-03-20 11:52a
L29-4 ASM 1614 4-03-20 11:52a
L30-1 ASM 10178 4-03-20 11:52a
L30-2 ASM 12499 4-03-20 11:52a
L31-1 ASM 8073 4-03-20 11:52a
L31-2 ASM 6703 4-03-20 11:52a
L32-1 ASM 5493 4-03-20 11:52a
L32-2 C 6000 4-03-20 11:52a
L33-1 ASM 4788 4-03-20 11:52a
L34-1 ASM 9662 4-03-20 11:52a
L35-1 C 6037 4-03-20 11:52a
L35-2 C 2371 4-03-20 11:52a
L35-3 ASM 9258 4-03-20 11:52a
L42-1 C 5353 4-03-20 11:52a
L42-2 C 5294 4-03-20 11:52a
L42-3 C 715 4-03-20 11:52a
L42-4 C 2288 4-03-20 11:52a
L42-5 C 1263 4-03-20 11:52a
L42-6 ASM 10098 4-03-20 11:52a
L47-1 ASM 2793 4-03-20 11:52a
L47-2 ASM 1564 4-03-20 11:52a
L47-3 ASM 1453 4-03-20 11:52a
L47-4 ASM 3192 4-03-20 11:52a
L47-5 ASM 4329 4-03-20 11:52a
L47-6 ASM 3980 4-03-20 11:52a
L47-7 C 680 4-03-20 11:52a
L48-1 C 1886 4-03-20 11:52a
L48-2 ASM 6563 4-03-20 11:52a
L48-3 ASM 6612 4-03-20 11:52a
L48-4 ASM 4515 4-03-20 11:52a
MAKEFILE 1011 4-03-20 11:52a
REGS H 662 4-03-20 11:52a
48 file(s) 234641 bytes
64512 bytes free
The following disk image contains executables built from selected VGA “Black Book” Tests.
Volume in drive A is VGABIN
Directory of A:\
L23-1 EXE 2176 7-05-15 1:12p
L24-1 EXE 1482 6-27-15 11:56a
L25-1 EXE 1253 6-26-15 2:06p
L25-2 EXE 1097 6-26-15 2:06p
L25-3 EXE 1131 6-27-15 11:56a
L25-4 EXE 1131 7-07-15 12:45p
L26-1 EXE 1322 6-27-15 11:56a
L26-2 EXE 1334 6-27-15 11:56a
L27-1 EXE 1327 6-27-15 6:26p
L27-2 EXE 1541 6-27-15 6:26p
L27-3 EXE 13604 6-27-15 6:26p
L28-1 EXE 2279 6-29-15 10:29a
L28-2 EXE 1173 6-29-15 10:29a
L28-3 EXE 1109 6-29-15 10:29a
L29-1 EXE 1400 7-05-15 7:59a
L29-2 EXE 1290 7-05-15 7:59a
L29-3 EXE 1687 7-05-15 7:59a
L29-4 EXE 1242 7-05-15 7:59a
L30-1 EXE 1391 7-05-15 7:59a
L30-2 EXE 1351 7-05-15 7:59a
L31-1 EXE 1385 7-06-15 2:11p
L31-2 EXE 1245 7-05-15 7:59a
L33-1 EXE 1430 7-05-15 11:26a
L34-1 EXE 664 7-05-15 1:12p
L35-1 EXE 9185 7-07-15 12:49p
L35-3 EXE 8801 7-06-15 3:32p
L47-4 EXE 3643 7-06-15 3:33p
L47-5 EXE 3707 7-07-15 12:42p
L47-6 EXE 3683 7-07-15 12:42p
L48-2 EXE 3923 7-07-15 1:34p
30 file(s) 77986 bytes
73728 bytes free
The VGA “Black Book” tests taken from Michael Abrash’s Graphics Programming Black Book to create the PCjs VGA “Black Book” Binaries are listed below.