Hey, I don't much like these keys.
So change them. see the readme section on BINDKEY
What is GlkDOS?
GlkDOS is an implementation of Andrew Plotkin's Glk library for the MS-DOS
operating system. It supports Blorb sound, high-resolution timers, color,
style hints, and run-time configuration. It is available in both text and graphical versions.
I've got a GlkDOS program. How do I use the damned thing?
type program -help for a list of library options. While the program is running, press alt-f1 to bring up the configuration menu.
How does it look?
Here's some screen captures...
- Multiwin demo program, using the allegro version of GlkDOS (showing off the computer font from font.dat)
- Nitfol, playing jigsaw in glkDOS's default settings
- Grpad, drawing some stuff.
- Nitfol, playing jigsaw under curses (the capture doesn't do it justice)
- Nitfol, playing Varicella in full color, using the typewriter font.
What else do I need to build GlkDOS programs
Most versions of GlkDOS requires the DJGPP compiler, and a Curses library. For sound support, you also need the Allegro game programming library and the JGMOD MOD player library. To use the configuration file capability, you also need GNU flex. The allegro-output version of GlkDOS does not require curses. Support for Jpeg graphics is provided by the Independant Jpeg Group's software. Support for PNG is provided by libpng, which requires zlib.
Where do I get it?
Or here, if you're less brave. (precompiled libraries)
Allegro International Keyboard Support add-ons
View the readme for GlkDOS 0.19.1
What's this about fonts?
Allegro GlkDOS comes with a file containing the data for several fonts. A glk-app can use any of them to make its output prettier. New fonts can be added to the data file at any time without the need to recompile the program.
Get the latest version of font.dat (updated 3.20.00)
What stuff's been built with GlkDOS?
- Nitfol: a Glk Z-machine interpreter with debugging, automatic mapping, ultra-strict checking, arbitrary-length undo/redo and partial v6 support by Evin Roberts.
- Glulxe: The standard glulx interpreter by Andrew Plotkin (and Allegro version)
- Grpad: a Glk graphics toy by me. Its primary purpose is to test the functionality of graphics windows in Glk. source
Hey, is any of this useful for something that's not glk?
GlkDOS uses several very small "libraries" which I wrote. They're included in the main GlkDOS source distribution, but they might be useful for other purposes.
- CSCR is a text manipulation library based on Curses. GlkDOS uses CSCR for all screen-output. The original purpose of CSCR was to wrap the curses funtions needed by GlkDOS so that curses itself can be replaced with an alternate text-manipulation library. It has since grown slightly; it provides a screen-capture facility, suspend/resume functionality, and less-encumbered 4-bit color support. CSCR currently has modules which implement text manipulation under pdcurses, allegro, unix ncurses, and DJGPP's BIOS interface.
- flist is a library for use with CSCR, which provides a file list box. It has several features (such as the suppression of directory and filter changing, and a check for file existance) which GlkDOS does not take advantage of.
- Allegro loaders are provided for loading AIFF, Jpeg, and PNG graphics. alaiff converts an AIFF file in memory into an allegro SAMPLE structure. alpng and aljpeg convert stdio FILE * structures into Allegro BITMAPs. alpng and aljpeg are based on the works of other authors, but have been modified to work with this version of Allegro, to use the image constraints required in Glk, and to read data in a format which the blorb layer can produce. I know of no other Allegro AIFF loader.
By L. Ross Raszewski.
Last update: 8/9/2005