[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