diff --git a/blog/2015/06/01/README.md b/blog/2015/06/01/README.md index 695f921fb..e0908c355 100644 --- a/blog/2015/06/01/README.md +++ b/blog/2015/06/01/README.md @@ -143,5 +143,8 @@ graphics modes >= 0x0D are misdetected as BIOSMODE 0x12. All these issues are under investigation. +In addition, I've created a [VGA Tests](/tests/pc/vga/) directory to hold VGA test and sample code that I want PCjs +to run successfully. See that directory for more details. + *[@jeffpar](http://twitter.com/jeffpar)* -*June 1, 2015* +*June 1, 2015 (Updated June 10, 2015)* diff --git a/devices/pc/machine/compaq/deskpro386/vga/2048kb/machine.xml b/devices/pc/machine/compaq/deskpro386/vga/2048kb/machine.xml index 27af7e1f9..66418fb7e 100644 --- a/devices/pc/machine/compaq/deskpro386/vga/2048kb/machine.xml +++ b/devices/pc/machine/compaq/deskpro386/vga/2048kb/machine.xml @@ -12,7 +12,7 @@ - + diff --git a/disks/pc/library.xml b/disks/pc/library.xml index 7a17dd6f4..52f6052cd 100644 --- a/disks/pc/library.xml +++ b/disks/pc/library.xml @@ -50,6 +50,7 @@ + VGA Tests (Black Book) Load diff --git a/modules/diskdump/lib/diskdump.js b/modules/diskdump/lib/diskdump.js index 070192aa1..1eb18fb52 100644 --- a/modules/diskdump/lib/diskdump.js +++ b/modules/diskdump/lib/diskdump.js @@ -1162,7 +1162,7 @@ DiskDump.prototype.addManifestInfo = function(fileInfo) this.aManifestInfo.push(fileInfo); }; -DiskDump.asTextFileExts = [".MD", ".ME", ".BAS", ".TXT", ".XML"]; +DiskDump.asTextFileExts = [".MD", ".ME", ".ASM", ".BAS", ".TXT", ".XML"]; /** * isTextFile(sFileName) diff --git a/tests/pc/vga/README.md b/tests/pc/vga/README.md new file mode 100644 index 000000000..f41366a3b --- /dev/null +++ b/tests/pc/vga/README.md @@ -0,0 +1,54 @@ +VGA Tests +--- + +To aid in the development of PCjs VGA support, I've started adding some VGA tests to the project. For now, the +only "tests" are samples taken directly from [Michael Abrash's Graphics Programming Black Book](https://github.com/jeffpar/abrash-black-book). + +Abrash's book is available on many sites, but I'm partial to the Markdown version that [James Gregory](https://github.com/jagregory) +has made available on GitHub, because (a) it's a brilliant way to 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](https://github.com/jeffpar/abrash-black-book): 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](https://github.com/jeffpar/abrash-black-book/tree/master/src) folder contains just the book's text, +I've added a [/code](https://github.com/jeffpar/abrash-black-book/tree/master/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](L23-1.ASM) is Listing 23.1 +from [Chapter 23](https://github.com/jeffpar/abrash-black-book/blob/master/src/chapter-23.md)). + +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'm extracting the source code directly from the Markdown text, and then "tabifying" it with 8-column +tab stops. + +Development of PCjs VGA support has just begun (June 2015), so don't expect *anything* here to to run properly yet. + +--- + +List of VGA Samples from [Michael Abrash's Graphics Programming Black Book](https://github.com/jeffpar/abrash-black-book): + + * [Chapter 23](https://github.com/jeffpar/abrash-black-book/blob/master/src/chapter-23.md) + * [L23-1.ASM](https://github.com/jeffpar/abrash-black-book/blob/master/code/L23-1.ASM) + +--- + +Also, I've updated the PCjs [Library](/disks/pc/library.xml) disk collection to include the following disk image: + + VGA Tests (Black Book) + +But wait, you say, that *path* refers to a directory, not a disk image. And that's true; normally the *path* for a disk +entry will refer to either an IMG file *or* a JSON-encoded IMG file. However, if the *path* ends with a slash, then it's +assumed to be a directory, and so PCjs will ask the server to enumerate the contents of that directory and send back a +JSON-encoded disk image containing all the files in that directory (including any subdirectories). + +Since the contents of this directory will probably be in flux for a while, I've opted for this approach. Once +things settle down, I'll generate a JSON-encoded disk image containing a snapshot of this directory. + +I've updated a [Compaq DeskPro 386 Machine](/devices/pc/machine/compaq/deskpro386/vga/2048kb/) to use the +[Library](/disks/pc/library.xml) disk collection and automatically load the above disk: + +