Mercurial > hg > Members > kono > nitros9-code
view defs/vdgdefs @ 1914:395e22e5c0bd
Added more defs for porting back to level 1 someday
author | boisy |
---|---|
date | Sun, 20 Nov 2005 17:11:16 +0000 |
parents | 6e5fa42c2fb1 |
children | e396d4f24b27 |
line wrap: on
line source
IFNE VDGDEFS-1 VDGDEFS set 1 ******************************************************************** * VDGDefs - VDG Interface Definititions * * $Id$ * * Edt/Rev YYYY/MM/DD Modified by * Comment * ------------------------------------------------------------------ * 1991/05/07 Alan DeKok * Wrote original from VDGInt source. nam VDGDefs ttl VDG Interface Definitions pag * Notes: * * All offsets from 'U' (address of device memory area) * (see p. 6-9, technical reference: U=start of driver data memory * 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. org $1E VD.Start rmb 1 start of VD.XXXX data: number of VDG screens in use VD.Strt1 rmb 2 (2) and another start VD.Caps rmb 2 caps lock info: $00=lower $FF=upper VD.DFlag rmb 1 0=current screen is valid, $01-$FF = update video * $24-$2B unused rmb 8 VD.NGChr rmb 1 number of additional characters to get VD.RTAdd rmb 2 (2) return address after getting characters VD.EPlt1 rmb 2 (2) pointer to where to put next character VD.EPlt2 rmb 2 (2) as above. * $33-$34 unused rmb 2 VD.CFlag rmb 1 true lowercase flag $10=true, $00=false VD.CFlg1 rmb 1 VDG display code values VD.DGBuf rmb 1 number of currently displayed buffer VD.ScrnA rmb 2 (2) screen start address in system memory VD.ScrnE rmb 2 (2) address of end of screen VD.CrsrA rmb 1 (2) cursor address VD.CrsAL rmb 1 cursor address low VD.CChar rmb 1 value of character under cursor VD.Mode rmb 1 mode: 0=256x192 x2, 1=128x192 x4 VD.Chr1 rmb 1 same as under cursor character VD.CColr rmb 1 cursor color VD.Col rmb 1 number of columns for this screen VD.Row rmb 1 number of rows VD.TFlg1 rmb 1 see WRITE ($0E) VD.Alpha rmb 1 0 when in alpha mode VD.Rdy rmb 1 device ready (see SS.DStat 0=not ready) VD.SBAdd rmb 2 (2) address of block screen is in VD.Blk rmb 1 Block number of screen VD.GBuff rmb 1 allocation for graphics buffers (block#) VD.AGBuf rmb 2 (2) additional graphics buffer VD.HiRes rmb 1 hi-res screen table (block value) VD.NBlk rmb 1 number of blocks in this screen VD.SType rmb 1 screen type 0-4 VD.HR2 rmb 3 (3) for screen number 2 VD.HR3 rmb 3 (3) for screen 3 (same 3 bytes as above) VD.FFMem rmb 2 (2) bottom of stack for flood fill VD.FFSPt rmb 2 (2) flood fill stack pointer VD.FFSTp rmb 2 (2) flood fill stack top pointer VD.FF6 rmb 1 flood fill flag VD.MTabl rmb 2 (2) address of mask table for pixels in byte VD.PixBt rmb 1 bit mask for modes (0=$07, 1=$03 )#pixels/byte VD.GCrsX rmb 1 graphics cursor X value VD.GCrsY rmb 1 graphics cursor Y VD.Msk1 rmb 1 mask byte 1 VD.Msk2 rmb 1 mask byte 2 (00,55,AA,FF) VD.MCol rmb 1 color? (C003,8001) VD.MCol2 rmb 1 color VD.PMask rmb 1 pixel mask for colors (i.e. $55, $CC etc) VD.FF1 rmb 1 data for flood fill VD.FF2 rmb 1 data for flood fill VD.FFMsk rmb 1 flood fill mask VD.FFFlg rmb 1 flood fill flag VD.Palet rmb 16 (16) current palette values VD.PlFlg rmb 1 initialized to $08 by L00DB, and then unused! VD.NChar rmb 1 character to process VD.NChr2 rmb 1 and the next one * and RMB until we get 256 bytes reserved ENDC