Mercurial > hg > Members > kono > nitros9-code
diff defs/vdgdefs @ 0:6641a883d6b0
Initial revision
author | boisy |
---|---|
date | Thu, 04 Apr 2002 16:34:12 +0000 |
parents | |
children | c07686556109 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/defs/vdgdefs Thu Apr 04 16:34:12 2002 +0000 @@ -0,0 +1,96 @@ + ttl DEFs from VDGint + +********************** +* Defs from VDGint +* all offsets from 'U' (address of device memory area) +* (see p. 6-9, technical reference: U=start of driver data memory +* +* EDITION HISTORY: + +* Date Changes Made +* -------- ------------------------------ +* 91/05/07 Wrote original from VDGint source + + +* NOTE: There is LOTS of stuff which is only used once, and some which +* is not needed. Here's a list of the un-needed, and un-used (other than +* once) +* +* It would probably be benificial to patch VDGint to fix these problems, +* unless anyone else has ideas as to why VDGint is doing things this way. +* +* Un-needed +* VD.EPlt1 - (2) set to VD.NChar, and then read only +* VD.EPlt2 - (2) set to same as VD.EPlt1, and then unused +* VD.Chr1 - (1) set to same as VD.CChar, and then unused +* VD.PlFlg - (1) initialized to $08, and unused +* +* Un-used +* +* $1D - (1) end of SCF memory requirements +* VD.Strt1 - (2) CLRed, and then read (LDD) - left as $0000 +* $24-$2B - (8) +* $33-$34 - (2) +* $7E-$FF - (130) +* +* total of 22 (150 in whole page) bytes unneeded or unused. + + page +VD.Start equ $1E start of VD.XXXX data: number of VDG screens in use +VD.Strt1 equ $1F (2) and another start +VD.Caps equ $21 caps lock info: $00=lower $FF=upper +VD.DFlag equ $23 0=current screen is valid, $01-$FF = update video +* $24-$2B unused +VD.NGChr equ $2C number of additional characters to get +VD.RTAdd equ $2D (2) return address after getting characters +VD.EPlt1 equ $2F (2) pointer to where to put next character +VD.EPlt2 equ $31 (2) as above. +* $33-$34 unused +VD.CFlag equ $35 true lowercase flag $10=true, $00=false +VD.CFlg1 equ $36 VDG display code values +VD.DGBuf equ $37 number of currently displayed buffer +VD.ScrnA equ $38 (2) screen start address in system memory +VD.ScrnE equ $3A (2) address of end of screen +VD.CrsrA equ $3C (2) cursor address +VD.CrsAL equ $3D cursor address low +VD.CChar equ $3E value of character under cursor +VD.Mode equ $3F mode: 0=256x192 x2, 1=128x192 x4 +VD.Chr1 equ $40 same as under cursor character +VD.CColr equ $41 cursor color +VD.Col equ $42 number of columns for this screen +VD.Row equ $43 number of rows +VD.TFlg1 equ $44 see WRITE ($0E) +VD.Alpha equ $45 0 when in alpha mode +VD.Rdy equ $46 device ready (see SS.DStat 0=not ready +VD.SBAdd equ $47 (2) address of block screen is in +VD.Blk equ $49 Block number of screen +VD.GBuff equ $4A allocation for graphics buffers (block#) +VD.AGBuf equ $4B (2) additional graphics buffer +VD.HiRes equ $4D hi-res screen table (block value +VD.NBlk equ $4E number of blocks in this screen +VD.SType equ $4F screen type 0-4 +VD.HR2 equ $50 (3) for screen number 2 +VD.HR3 equ $53 (3) for screen 3 (same 3 bytes as above +VD.FF3 equ $56 (2) data for flood fill +VD.FF4 equ $58 (2) " +VD.FF5 equ $5A (2) " +VD.FF6 equ $5C flood fill flag +VD.MTabl equ $5D (2) address of mask table for pixels in byte +VD.PixBt equ $5F bit mask for modes (0=$07, 1=$03 )#pixels/byte +VD.GCrsX equ $60 graphics cursor X value +VD.GCrsY equ $61 graphics cursor Y +VD.Msk1 equ $62 mask byte 1 +VD.Msk2 equ $63 mask byte 2 (00,55,AA,FF) +VD.MCol equ $64 color? (C003,8001 +VD.MCol2 equ $65 color +VD.PMask equ $66 pixel mask for colors (i.e. $55, $CC etc +VD.FF1 equ $67 data for flood fill +VD.FF2 equ $68 data for flood fill +VD.FFMsk equ $69 flood fill mask +VD.FFFlg equ $6A flood fill flag +VD.Palet equ $6B (16) current palette values +VD.PlFlg equ $7B initialized to $08 by L00DB, and then unused! +VD.NChar equ $7C character to process +VD.NChr2 equ $7D and the next one + +* and RMB until we get 256 bytes reserved