comparison defs/vtiodefs @ 1933:1e312b144f4d

Major changes: CCIO,CC3IO are now VTIO GrfInt is now CoGrf WindInt is now CoWin VDGInt (L2), CO32 (L1) is now CoVDG CO51 (L1) is now CoHR CO80 (L1) is now CoWP All files referencing these have been changed
author boisy
date Sat, 26 Nov 2005 21:31:29 +0000
parents
children e396d4f24b27
comparison
equal deleted inserted replaced
1932:1c3b799ce2f5 1933:1e312b144f4d
1 IFNE VTIODEFS-1
2 VTIODEFS set 1
3
4 ********************************************************************
5 * VTIODefs - Video Terminal I/O Definitions for CoCo 1/2
6 *
7 * $Id$
8 *
9 * Edt/Rev YYYY/MM/DD Modified by
10 * Comment
11 * ------------------------------------------------------------------
12 *
13 * 2004/11/29 P.Harvey-Smith.
14 * Added symbolic defines for bits in V.CoLoad.
15 *
16 * 2004/12/02 P.Harvey-Smith.
17 * Moved over all variables from co51.asm
18 *
19 * 2005/04/09 P.Harvey-Smith.
20 * Decoded rest of the CoHR memory locations.
21 *
22 * 2005/04/24 P.Harvey-Smith.
23 * Added variables for cursor flash, currently only implemented in co51
24 *
25
26 nam VTIODefs
27 ttl Video Terminal I/O Definitions for CoCo 1/2
28
29 ********************
30 * VTIO Static Memory
31 *
32 org V.SCF
33 V.ScrnA rmb 2 (2) screen start address in system memory
34 V.ScrnE rmb 2 (2) address of end of screen
35 V.CrsrA rmb 1 (2) cursor address
36 V.CrsAL rmb 1 cursor address low
37 V.CChar rmb 1 value of character under cursor
38 V.Mode rmb 1 mode: 0=256x192 x2, 1=128x192 x4
39 V.NGChr rmb 1 number of additional characters to get
40 V.RTAdd rmb 2 (2) return address after getting characters
41 V.NChar rmb 1 character to process
42 V.NChr2 rmb 1 and the next one
43 rmb 1
44 V.Chr1 rmb 1 same as under cursor character
45 V.CColr rmb 1 cursor color
46 V.Col rmb 1 number of columns for this screen
47 V.Row rmb 1 number of rows
48 V.Alpha rmb 1 0 when in alpha mode
49 V.PIA1 rmb 1 PIA1Base value
50 V.Rdy rmb 1 device ready (see SS.DStat 0=not ready)
51 V.CFlg1 rmb 1 VDG display code values
52 V.SBAdd rmb 2 (2) address of block screen is in
53 V.GBuff rmb 2 allocation for graphics buffers (block#)
54 V.AGBuf rmb 4 (2) additional graphics buffer
55 V.FFMem rmb 2 Flood fill alloc'ed mem
56 V.FFSPt rmb 2 Flood fill current stack pointer
57 V.FFSTp rmb 1 Flood fill stack top
58 V.FF6 rmb 1 flood fill flag
59 V.FFFlag rmb 1 ??
60 V.MTabl rmb 2 (2) address of mask table for pixels in byte
61 V.PixBt rmb 1 bit mask for modes (0=$07, 1=$03 )#pixels/byte
62 V.GCrsX rmb 1 graphics cursor X value
63 V.GCrsY rmb 1 graphics cursor Y
64 V.Msk1 rmb 1 mask byte 1
65 V.Msk2 rmb 1 mask byte 2 (00,55,AA,FF)
66 V.MCol rmb 1 color? (C003,8001)
67 V.4A rmb 1
68 V.PMask rmb 1 pixel mask for colors (i.e. $55, $CC etc)
69 V.4C rmb 1
70 V.4D rmb 1
71 V.4E rmb 1
72 V.4F rmb 1
73 V.Caps rmb 1 caps lock info: $00=lower $FF=upper
74 V.ClkCnt rmb 1 clock count ??
75 V.WrChr rmb 1 character to write
76 V.CurCo rmb 1 current CO-module in use
77 * start of CoWP-specific static memory
78 V.Co80X rmb 1 V.54
79 V.Co80Y rmb 1 V.55
80 V.ColPtr rmb 1 V.56
81 V.RowPtr rmb 1 V.57
82 V.C80X rmb 1 CoWP X position
83 V.C80Y rmb 1 CoWP Y position
84 V.Invers rmb 1
85 * end of CoWP-specific static memory
86 V.DspVct rmb 2 vector to display screen
87 V.CnvVct rmb 2 vector to X/Y to address conversion
88 V.LKeyCd rmb 1 last key code
89 V.2Key1 rmb 1 2nd Key 1
90 V.2Key2 rmb 1 2nd Key 2
91 V.2Key3 rmb 1 2nd Key 3
92 V.Key1 rmb 1 Key 1
93 V.Key2 rmb 1 Key 2
94 V.Key3 rmb 1 Key 3
95 V.ShftDn rmb 1 SHIFT/CTRL state
96 V.CtrlDn rmb 1 CTRL key down
97 V.KeyFlg rmb 1 key flag
98 V.AltDwn rmb 1 ALT key down
99 V.KySns rmb 1 key sense flags
100 V.KySame rmb 1 key same as last flag
101 V.KySnsF rmb 1 key sense flag
102 V.Spcl rmb 1
103 V.KTblLC rmb 1 key table entry #
104 V.6F rmb 1 ???
105 V.COLoad rmb 1 CO-module loaded flags
106 V.CFlag rmb 1 true lowercase flag $10=true, $00=false
107 V.GrfDrvE rmb 2 GrfDrv entry point
108 V.CoVDGE rmb 2 CoVDG entry point
109 V.CoWPE rmb 2 CoWP entry point
110 V.CoHRE rmb 2 CoHR entry point
111
112 V.Flash rmb 2 Cursor flash routine address.
113 v.FlashCount rmb 1 Cursor flash count
114 V.NoFlash rmb 1 When this is noz-zero do not flash cursor
115
116 * CoHR vars
117
118 V.51ScrnA rmb 2 * Screen address.
119 V.51XPos rmb 1 * X co-ordinate
120 V.51YPos rmb 1 * Y co-ordinate
121 V.51EscSeq rmb 1 * In escape sequence
122 V.51ReverseFlag rmb 1 * Reverse video flag
123 V.51UnderlineFlag rmb 1 * Underline flag
124 V.51CtrlDispatch rmb 2 * Ctrl char dispatch address, currently processing
125 V.51BytePixOffset rmb 1 * byte offset in screen line, of character X position
126 V.51OldCursorPosX rmb 1 * Position of old cursor before update
127 V.51OldCursorPosY rmb 1
128 V.51CursorChanged rmb 1 * Has cursor position changed ? 1=yes,0=no
129 V.51CursorOn rmb 1 * Is cursor on ? 1=yes 0=no
130 V.51XORFlag rmb 1 * and data to screen (0) or Xor (1)
131 V.51ScreenMask1 rmb 1 * screen masks for drawing characters on screen
132 V.51ScreenMask2 rmb 1
133 * End of CoHR vars
134 **** Note these have to come at the end of the defs, or the keyboard ****
135 **** code can clobber variables defined after these ! ****
136 V.IBufH rmb 1 input buffer head
137 V.IBufT rmb 1 input buffer tail
138 V.InBuf rmb 1 input buffer tail
139 V.51End rmb 1
140 rmb 250-.
141 V.Last equ .
142
143
144 * Unknown for now
145 *VD.FFMem rmb 2 (2) bottom of stack for flood fill
146 *VD.FFSPt rmb 2 (2) flood fill stack pointer
147 *VD.FFSTp rmb 2 (2) flood fill stack top pointer
148 *VD.FF6 rmb 1 flood fill flag
149 *VD.MCol2 rmb 1 color
150 *VD.FF1 rmb 1 data for flood fill
151 *VD.FF2 rmb 1 data for flood fill
152 *VD.FFMsk rmb 1 flood fill mask
153 *VD.FFFlg rmb 1 flood fill flag
154 *VD.Palet rmb 16 (16) current palette values
155 *VD.PlFlg rmb 1 initialized to $08 by L00DB, and then unused!
156
157 *
158 * Defs for V.COLoad flags.
159 *
160
161 ModCoVDG equ %00000010 CoVDG, Built-in VDG 32x16.
162 ModCoWP equ %00000100 CoWP, WordPak, 80x25
163 ModCoHR equ %00001000 CoHR, PMODE 4 51x25 text
164
165 *
166 * Defs for cursor flash counter
167 *
168
169 CFlash50hz equ 25 * 50Hz flash counter
170 CFlash60Hz equ 30 * 60Hz flash counter
171
172 ENDC