Mercurial > hg > Members > kono > nitros9-code
annotate defs/vdgdefs @ 3295:6b7a7b233925 default tip
makefile: Allow PORTS with level1/2 mix
https://sourceforge.net/p/nitros9/feature-requests/10/
author | Tormod Volden <debian.tormod@gmail.com> |
---|---|
date | Tue, 19 Apr 2022 18:12:17 +0200 |
parents | e396d4f24b27 |
children |
rev | line source |
---|---|
2024 | 1 IFNE VDGDEFS-1 |
1804 | 2 |
2024 | 3 VDGDEFS SET 1 |
0 | 4 |
1200 | 5 ******************************************************************** |
6 * VDGDefs - VDG Interface Definititions | |
7 * | |
8 * $Id$ | |
0 | 9 * |
1200 | 10 * Edt/Rev YYYY/MM/DD Modified by |
11 * Comment | |
12 * ------------------------------------------------------------------ | |
13 * 1991/05/07 Alan DeKok | |
1804 | 14 * Wrote original from VDGInt source. |
0 | 15 |
2024 | 16 NAM VDGDefs |
17 TTL VDG Interface Definitions | |
0 | 18 |
1200 | 19 * Notes: |
20 * | |
21 * All offsets from 'U' (address of device memory area) | |
22 * (see p. 6-9, technical reference: U=start of driver data memory | |
0 | 23 * NOTE: There is LOTS of stuff which is only used once, and some which |
24 * is not needed. Here's a list of the un-needed, and un-used (other than | |
25 * once) | |
26 * | |
1200 | 27 * It would probably be benificial to patch VDGint to fix these problems, |
0 | 28 * unless anyone else has ideas as to why VDGint is doing things this way. |
29 * | |
30 * Un-needed | |
31 * VD.EPlt1 - (2) set to VD.NChar, and then read only | |
32 * VD.EPlt2 - (2) set to same as VD.EPlt1, and then unused | |
33 * VD.Chr1 - (1) set to same as VD.CChar, and then unused | |
34 * VD.PlFlg - (1) initialized to $08, and unused | |
35 * | |
36 * Un-used | |
37 * | |
38 * $1D - (1) end of SCF memory requirements | |
39 * VD.Strt1 - (2) CLRed, and then read (LDD) - left as $0000 | |
40 * $24-$2B - (8) | |
41 * $33-$34 - (2) | |
42 * $7E-$FF - (130) | |
43 * | |
1200 | 44 * Total of 22 (150 in whole page) bytes unneeded or unused. |
0 | 45 |
2024 | 46 ORG $1E |
47 VD.Start RMB 1 start of VD.XXXX data: number of VDG screens in use | |
48 VD.Strt1 RMB 2 (2) and another start | |
49 VD.Caps RMB 2 caps lock info: $00=lower $FF=upper | |
50 VD.DFlag RMB 1 0=current screen is valid, $01-$FF = update video | |
0 | 51 * $24-$2B unused |
2024 | 52 RMB 8 |
53 VD.NGChr RMB 1 number of additional characters to get | |
54 VD.RTAdd RMB 2 (2) return address after getting characters | |
55 VD.EPlt1 RMB 2 (2) pointer to where to put next character | |
56 VD.EPlt2 RMB 2 (2) as above. | |
0 | 57 * $33-$34 unused |
2024 | 58 RMB 2 |
59 VD.CFlag RMB 1 true lowercase flag $10=true, $00=false | |
60 VD.CFlg1 RMB 1 VDG display code values | |
61 VD.DGBuf RMB 1 number of currently displayed buffer | |
62 VD.ScrnA RMB 2 (2) screen start address in system memory | |
63 VD.ScrnE RMB 2 (2) address of end of screen | |
64 VD.CrsrA RMB 1 (2) cursor address | |
65 VD.CrsAL RMB 1 cursor address low | |
66 VD.CChar RMB 1 value of character under cursor | |
67 VD.Mode RMB 1 mode: 0=256x192 x2, 1=128x192 x4 | |
68 VD.Chr1 RMB 1 same as under cursor character | |
69 VD.CColr RMB 1 cursor color | |
70 VD.Col RMB 1 number of columns for this screen | |
71 VD.Row RMB 1 number of rows | |
72 VD.TFlg1 RMB 1 see WRITE ($0E) | |
73 VD.Alpha RMB 1 0 when in alpha mode | |
74 VD.Rdy RMB 1 device ready (see SS.DStat 0=not ready) | |
75 VD.SBAdd RMB 2 (2) address of block screen is in | |
76 VD.Blk RMB 1 Block number of screen | |
77 VD.GBuff RMB 1 allocation for graphics buffers (block#) | |
78 VD.AGBuf RMB 2 (2) additional graphics buffer | |
79 VD.HiRes RMB 1 hi-res screen table (block value) | |
80 VD.NBlk RMB 1 number of blocks in this screen | |
81 VD.SType RMB 1 screen type 0-4 | |
82 VD.HR2 RMB 3 (3) for screen number 2 | |
83 VD.HR3 RMB 3 (3) for screen 3 (same 3 bytes as above) | |
84 VD.FFMem RMB 2 (2) bottom of stack for flood fill | |
85 VD.FFSPt RMB 2 (2) flood fill stack pointer | |
86 VD.FFSTp RMB 2 (2) flood fill stack top pointer | |
87 VD.FF6 RMB 1 flood fill flag | |
88 VD.MTabl RMB 2 (2) address of mask table for pixels in byte | |
89 VD.PixBt RMB 1 bit mask for modes (0=$07, 1=$03 )#pixels/byte | |
90 VD.GCrsX RMB 1 graphics cursor X value | |
91 VD.GCrsY RMB 1 graphics cursor Y | |
92 VD.Msk1 RMB 1 mask byte 1 | |
93 VD.Msk2 RMB 1 mask byte 2 (00,55,AA,FF) | |
94 VD.MCol RMB 1 color? (C003,8001) | |
95 VD.MCol2 RMB 1 color | |
96 VD.PMask RMB 1 pixel mask for colors (i.e. $55, $CC etc) | |
97 VD.FF1 RMB 1 data for flood fill | |
98 VD.FF2 RMB 1 data for flood fill | |
99 VD.FFMsk RMB 1 flood fill mask | |
100 VD.FFFlg RMB 1 flood fill flag | |
101 VD.Palet RMB 16 (16) current palette values | |
102 VD.PlFlg RMB 1 initialized to $08 by L00DB, and then unused! | |
103 VD.NChar RMB 1 character to process | |
104 VD.NChr2 RMB 1 and the next one | |
0 | 105 |
106 * and RMB until we get 256 bytes reserved | |
373
c07686556109
Added ifeq statements at top to allow for multiple use's of same def
boisy
parents:
0
diff
changeset
|
107 |
2024 | 108 ENDC |
373
c07686556109
Added ifeq statements at top to allow for multiple use's of same def
boisy
parents:
0
diff
changeset
|
109 |