0x136: unsigned char *GetCharacterGlyph(short character);
Returns a pointer to the character bitmap (glyph) for
the provided character. (simple 8x8 glyph)
The high byte of character defines the table, where the glyph will be
fetched from.
0x00: table entry returned by syscall 0x01b7 (returned glyph depends on low
byte of character)
0x7F: table entry returned by syscall 0x01bc (returned glyph depends on low
byte of character)
0xE5: table entry returned by syscall 0x01bb (returned glyph depends on low
byte of character)
0xE6: table entry returned by syscall 0x01ba (returned glyph depends on low
byte of character)
0xE7: table entry returned by syscall 0x01b8 (returns one empty glyph,
independent of low byte of character)
0xF7: table entry returned by syscall 0x01bd (returns one empty glyph,
independent of low byte of character)
0xF9: table entry returned by syscall 0x01b9 (returns one empty glyph,
independent of low byte of character)
0x137: unsigned char *GetCharacterMiniGlyph(short character, short*width);
Returns a pointer to the character bitmap data for the
provided character. Stores the width of the character in width.
- If width is <=4, the character data consists of 5 nibbles (3 bytes),
each corresponding to a row.
- If width > 4, the 'encoding' is like with bigger characters, but
only 5 rows in height.
E.g.: A call to 0x137 gives you width=6 and points you to these (5)
bytes (binary view, '_' means 0):
_1_1____
11111___
_1_1____
11111___
_1_1____ Which simply is the bitmap data for
'#' ('#' was the provided character).
Another call to 0x137 might give width=3 and points you to these (3)
bytes (binary):
11__1___
1___1___
11______
If you then split the nibbles in the byte on each separate line:
11__
1___
1___
1___
11__
____ You get a glyph for '['.
0x01B7: unsigned char*Get8x8BitmapPtr1( int bitmapno );
bitmapno can be 0..255.
returns a selected pointer to a 8x8 bitmap out of the font-/symbol-table 1
0x01B8: unsigned char*Get8x8BitmapPtr01( void );
returns a pointer to a 8x8 bitmap which is actually
empty (clear)
0x01B9: unsigned char*Get8x8BitmapPtr02( void );
returns a pointer to a 8x8 bitmap which is actually
empty (clear)
0x01BA: unsigned char*Get8x8BitmapPtr2( int bitmapno );
bitmapno can be 0..255.
returns a selected pointer to a 8x8 bitmap out of the font-/symbol-table 2
0x01BB: unsigned char*Get8x8BitmapPtr3( int bitmapno );
bitmapno can be 0..255.
returns a selected pointer to a 8x8 bitmap out of the font-/symbol-table 3
0x01BC: unsigned char*Get8x8BitmapPtr4( int bitmapno );
bitmapno can be 0..255.
returns a selected pointer to a 8x8 bitmap out of the font-/symbol-table 4
0x01BD: unsigned char*Get8x8BitmapPtr03( void );
returns a pointer to a 8x8 bitmap which is actually
empty (clear)
0x0486: int*GetDisplayRessourcesPtr( int mode, unsigned char*buffer );
With buffer=0 and mode=0 the function
returns the address of sycall-table-entry 0x0175.
With buffer=0 and mode!=0 the function returns the address
of sycall-table-entry 0x03EA.
With buffer!=0 the function returns some info concerning non-English
language data. Details will be figured out later.
The system-table 0x0175 defines the English messages.
Offset 0x0C defines count-1 of messages (short).
At offset 0x0D an according list of short offsets is positioned. These
short-offsets point to the actual messages, relative from after the end of
this short-offset-list.
The system-table 0x03EA defines the function-key icon bitmaps.
Offset 0x0C defines count-1 of bitmaps (short).
At offset 0x0D an according list of short offsets is positioned. These
short-offsets point to the actual bitmaps, relative from after the end of this
short-offset-list.
Some of these bitmaps might be appropriate to use in self-written programs.
SysCall-table entry 0x03EA contains the address of a datatable. Starting with
offset 0x0822 (OS 1.03) inside this table the F-key-display-bitmaps are stored.
Those bitmaps consist of 24 bytes. The first 21 bits of three adjacent bytes
define a horizontal line.
(19.03.2011 12:14:54)