annotate 3rdparty/utils/winfo/winfo.doc @ 396:00b1c751fad7

Added WInfo
author boisy
date Mon, 26 Aug 2002 13:25:25 +0000
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
396
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
1 WInfo - v2.0 by Alan DeKok
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
2 Minor modifications to make WInfo use the I$Attach system call
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
3 to find the device table entry of the window in question.
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
4 The old WInfo rooted through system memory by hand, and used
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
5 a FIXED device table size which broke under NitrOS-9 v1.22
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
6
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
7 This corrected version will work properly under ANY version
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
8 of OS-9 or NitrOS-9, past, present, or future.
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
9
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
10 NitrOS-9 Level III patches by request of Erik Tromp, thanks!
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
11
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
12 WInfo - v1.0 copyright December,1987 by Ron Lammardo
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
13 Placed in the Public Domain December,1987
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
14 This subroutine may not be sold or used in any commercial package
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
15 without the permission of the author.
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
16
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
17 WInfo is an OS9 Level II subroutine to return window information on any
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
18 window in use. Although WInfo is written in ASM, it is set up to be callable
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
19 from an ASM, Basic09, and (hopefully) C main programs. This subroutine directly
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
20 accesses system window tables, screen tables, and device memory. As such, if a
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
21 new level/version of OS9 were to be released, the subroutine module would
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
22 possibly need to be re-written. However, by putting all the 'cheating' code
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
23 into this subroutine, any applications program calling it would not need
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
24 modification or re-assembling. To further ensure upward compatability between
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
25 editions of WInfo, a sizable amount of space is allocated in the return buffer
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
26 to allow additional fields to be added without impacting the position of
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
27 existing fields.
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
28
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
29 WInfo requires two parameters : a string containing the requested device
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
30 name, and a return buffer (described below) to place the information into. To
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
31 maintain compatability with basic09, the sizes of these two parameters along
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
32 with the parameter count (always 2) must be passed if the calling program is
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
33 ASM. WInfo also requires 512 bytes for its own use...ASM calling programs
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
34 should allow at least that much buffer space just below the stack address at
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
35 the time of call.
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
36
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
37 If WInfo encounters a system-type error, it will return with the carry bit
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
38 set and the b register containing the appropriate error code. If a WInfo error
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
39 condition is encountered, the first byte of the return buffer (WI$Stat) will
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
40 contain the error number and the error message will be returned at the end of
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
41 the buffer (WI$ErMsg). If the length of the buffer passed to WInfo is too
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
42 small, the error status returned (WI$Stat) will be $FF with no error message,
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
43 as the error message is normally placed at the end of the return buffer.
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
44
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
45 WInfo also returns its edition # (the byte after the module name) as part of
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
46 the return packet (WI$Edtn). This edition # can be checked to determine if the
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
47 correct minimum level of WInfo is being accessed by the main program. For
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
48 example, if WInfo edition #4 is the first edition to return the # of users
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
49 accessing a window, the main program could check the edition # to insure it
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
50 was accessing WInfo edition #4 or higher, as any earlier edition would not
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
51 return the needed information.
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
52
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
53 Most of the return packet fields are self-explanitory, but a few might need
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
54 further clarification.
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
55
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
56 WI$BPR - bytes per row. This is the number of bytes making up a line of
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
57 charactrers, not the number of bytes in 1 dot row. To get the number
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
58 of bytes per dot row,divide by 8.
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
59
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
60 WI$Lset- Logic set # - see OS9 Level II manual page 3-21 in the winows section.
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
61
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
62 WI$VDG - VDG type screen indicator. The following values are possible:
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
63 0 = Non-vdg type screen
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
64 1 = VDG text type screen
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
65 2 = VDG medium-res (coco2) graphics screen - WI$Sty contains the screen
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
66 mode in the first 4 bits and the foreground color in the last 4 bits.
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
67 The modes and colors are fully described in the OS9 Level-II manual
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
68 pages B-5 & B-6 of the command reference.
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
69 3 = VDG hi-res (coco3) graphics screen - WI$Sty contains the screen type as
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
70 defined in the SS.AScrn Set Status call. This is the only VDG code
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
71 which will return valid palette information (WI$PRegs).
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
72
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
73 The following fields are never valid for VDG type screens:
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
74
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
75 WI$CBsw - character binary switch bits
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
76 WI$BDPRN - Border palette register number
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
77 WI$FGPRN - Foreground palette register number
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
78 WI$BGPRN - Background palette register number
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
79 WI$Lset - Logic set number
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
80 WI$FntGr - Active font group number
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
81 WI$FntBf - Active font buffer number
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
82 WI$PstGr - Pattern set group number
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
83 WI$PstBf - Pattern set buffer number
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
84 WI$GcrGr - Gfx cursor group number
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
85 WI$GcrBf - Gfx cursor buffer number
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
86 WI$DrCrx - Draw cursor x position
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
87 WI$DrCry - Draw cursor y position
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
88
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
89
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
90 -------------------------------------------------------------------------------
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
91
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
92 This subroutine is available for use by any and all for whatever application.
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
93 Comments and suggestions for improvements/enhancements are greatly appreciated.
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
94 However,due to the nature of the subroutine I would appreciate retaining
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
95 control of any update issuances so that the edition numbers etc. stay
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
96 controlled.
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
97
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
98 Ron Lammardo
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
99 75706,336
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
100
00b1c751fad7 Added WInfo
boisy
parents:
diff changeset
101