[Coco] DMAPPS decoded part 2
Willard Goosey
goosey at virgo.sdc.org
Wed Dec 23 03:59:00 EST 2009
Deskmate 3 Decoded
Willard Goosey
goosey at sdc.org
There are several interesting data files that are a part of Color
Deskmate 3. Here is what I've found out about them. This file is
also included in http://www.sdc.org/~goosey/os9/dmapps.lzh
DMAPPS:
DMAPPS contains the icons displayed on the screen, as well as the
name of the program associated with the icons, the non-technical name
of the program (TEXT, as opposed to DMTEXT, for example), the filename
extention that data files must have in order to be recognized. The
file format is:
dmapps is: 6 X
char prognam[13] executable filename
char appnam[13] menu name of program
char ext[3] filename extension of data file
char space[3] unused
char programicon[240] 20x24 icon
char extra[3] unused
char dataicon[96] 12x16 icon
Both icons are 16 color bitmaps (4 bits / pixel). Strings are
terminated by having their 8th bit set, and are 00 padded.
The order the structures are stored in are:
dmcaln
dmcards
dmterm
dmledger
dmtext
dmpaint
CONFIG.DESK
Config.desk has not been fully decoded, as far as I know. The
known offsets are:
0x1C: Letters per printed line
0x1D: number of lines of text to print per page
0x1E: total lines/page on printer
0x1F: left margin on printer
0x20: top margin on printer
0x21: continous/single sheet flag (cont=0x00, single=0x01)
0x22: printer width
0x24: mouse/keyboard only flag (mouse=0x01, keyboard=0x00)
0x26: default executable directory
0x4F: 1: data directory
0x78: 2: data directory
0xA1: 3: program directory
0xCA: 4: program directory
0xF3: Palette data. 16 bytes
0x103: Printer baud rate 0x02=600 baud
0x03=1200 baud
0x04=2400 baud
0x05=4800 baud
0x06=9600 baud
0x104: Printer device name
The print margin specifications are not tested for consistancy
before being stored in CONFIG.DESK. It is possible to create
non-sensical settings. Presumably these are checked when a program
actually tries to use them...
DMALT
This command is the configuration command. It is run when the
strange-looking eye/circle/wheel is clicked.
Only one patchable offset for dmalt: 05DE is the absolute path to
its help file (DMALT.HLP). The other applications within Deskmate can
depend on the regular Deskmate paths (1:, 2:, 3:, 4:) to be set up
properly. DMALT, however, needs to be able to access its help file
even if the configuration file is damaged, hence the hard-coded path.
Willard
--
Willard Goosey goosey at sdc.org
Socorro, New Mexico, USA
I search my heart and find Cimmeria, land of Darkness and the Night.
-- R.E. Howard
More information about the Coco
mailing list