view defs/vtiodefs @ 1971:136a4e706aa6

Fixed step rate issues on recalibrate on original Dragon 5.25" drives
author afra
date Sun, 08 Jan 2006 21:39:17 +0000
parents 1e312b144f4d
children e396d4f24b27
line wrap: on
line source

	IFNE	VTIODEFS-1
VTIODEFS set   1         
                         
********************************************************************
* VTIODefs - Video Terminal I/O Definitions for CoCo 1/2
*
* $Id$
*
* Edt/Rev  YYYY/MM/DD  Modified by
* Comment
* ------------------------------------------------------------------
*
*          2004/11/29  P.Harvey-Smith.
* Added symbolic defines for bits in V.CoLoad.
*
*          2004/12/02  P.Harvey-Smith.
* Moved over all variables from co51.asm
*
*          2005/04/09  P.Harvey-Smith.
* Decoded rest of the CoHR memory locations.
*
*	   2005/04/24  P.Harvey-Smith.
* Added variables for cursor flash, currently only implemented in co51
*

         nam   VTIODefs  
         ttl   Video Terminal I/O Definitions for CoCo 1/2
                         
********************
* VTIO Static Memory
*
         org   V.SCF     
V.ScrnA  rmb   2          (2) screen start address in system memory
V.ScrnE  rmb   2          (2) address of end of screen
V.CrsrA  rmb   1          (2) cursor address
V.CrsAL  rmb   1          cursor address low
V.CChar  rmb   1          value of character under cursor
V.Mode   rmb   1          mode: 0=256x192 x2, 1=128x192 x4
V.NGChr  rmb   1          number of additional characters to get
V.RTAdd  rmb   2          (2) return address after getting characters
V.NChar  rmb   1          character to process
V.NChr2  rmb   1          and the next one
         rmb   1         
V.Chr1   rmb   1          same as under cursor character
V.CColr  rmb   1          cursor color
V.Col    rmb   1          number of columns for this screen
V.Row    rmb   1          number of rows
V.Alpha  rmb   1          0 when in alpha mode
V.PIA1   rmb   1          PIA1Base value
V.Rdy    rmb   1          device ready (see SS.DStat 0=not ready)
V.CFlg1  rmb   1          VDG display code values
V.SBAdd  rmb   2          (2) address of block screen is in
V.GBuff  rmb   2          allocation for graphics buffers (block#)
V.AGBuf  rmb   4          (2) additional graphics buffer
V.FFMem  rmb   2          Flood fill alloc'ed mem
V.FFSPt  rmb   2          Flood fill current stack pointer
V.FFSTp  rmb   1          Flood fill stack top
V.FF6    rmb   1          flood fill flag
V.FFFlag rmb   1          ??
V.MTabl  rmb   2          (2) address of mask table for pixels in byte
V.PixBt  rmb   1          bit mask for modes (0=$07, 1=$03 )#pixels/byte
V.GCrsX  rmb   1          graphics cursor X value
V.GCrsY  rmb   1          graphics cursor Y
V.Msk1   rmb   1          mask byte 1
V.Msk2   rmb   1          mask byte 2 (00,55,AA,FF)
V.MCol   rmb   1          color? (C003,8001)
V.4A     rmb   1         
V.PMask  rmb   1          pixel mask for colors (i.e. $55, $CC etc)
V.4C     rmb   1         
V.4D     rmb   1         
V.4E     rmb   1         
V.4F     rmb   1         
V.Caps   rmb   1          caps lock info: $00=lower $FF=upper
V.ClkCnt rmb   1          clock count ??
V.WrChr  rmb   1          character to write
V.CurCo  rmb   1          current CO-module in use
* start of CoWP-specific static memory
V.Co80X  rmb   1          V.54
V.Co80Y  rmb   1          V.55
V.ColPtr rmb   1          V.56
V.RowPtr rmb   1          V.57
V.C80X   rmb   1          CoWP X position
V.C80Y   rmb   1          CoWP Y position
V.Invers rmb   1         
* end of CoWP-specific static memory
V.DspVct rmb   2          vector to display screen
V.CnvVct rmb   2          vector to X/Y to address conversion
V.LKeyCd rmb   1          last key code
V.2Key1  rmb   1          2nd Key 1
V.2Key2  rmb   1          2nd Key 2
V.2Key3  rmb   1          2nd Key 3
V.Key1   rmb   1          Key 1
V.Key2   rmb   1          Key 2
V.Key3   rmb   1          Key 3
V.ShftDn rmb   1          SHIFT/CTRL state
V.CtrlDn rmb   1          CTRL key down
V.KeyFlg rmb   1          key flag
V.AltDwn rmb   1          ALT key down
V.KySns  rmb   1          key sense flags
V.KySame rmb   1          key same as last flag
V.KySnsF rmb   1          key sense flag
V.Spcl   rmb   1         
V.KTblLC rmb   1          key table entry #
V.6F     rmb   1          ???
V.COLoad rmb   1          CO-module loaded flags
V.CFlag  rmb   1          true lowercase flag $10=true, $00=false
V.GrfDrvE  rmb 2          GrfDrv entry point
V.CoVDGE rmb   2          CoVDG entry point
V.CoWPE  rmb   2          CoWP entry point
V.CoHRE  rmb   2          CoHR entry point

V.Flash			rmb	2	Cursor flash routine address.
v.FlashCount		rmb	1	Cursor flash count
V.NoFlash		rmb	1	When this is noz-zero do not flash cursor

* CoHR vars

V.51ScrnA 		rmb	2	* Screen address.
V.51XPos 		rmb	1	* X co-ordinate
V.51YPos 		rmb	1	* Y co-ordinate
V.51EscSeq 		rmb	1	* In escape sequence
V.51ReverseFlag 	rmb	1	* Reverse video flag
V.51UnderlineFlag 	rmb	1	* Underline flag
V.51CtrlDispatch 	rmb	2	* Ctrl char dispatch address, currently processing
V.51BytePixOffset 	rmb	1	* byte offset in screen line, of character X position        
V.51OldCursorPosX 	rmb	1	* Position of old cursor before update        
V.51OldCursorPosY 	rmb	1         
V.51CursorChanged 	rmb	1	* Has cursor position changed ? 1=yes,0=no
V.51CursorOn 		rmb	1	* Is cursor on ? 1=yes 0=no		         
V.51XORFlag 		rmb	1	* and data to screen (0) or Xor (1)  		       
V.51ScreenMask1 	rmb	1	* screen masks for drawing characters on screen         
V.51ScreenMask2 	rmb	1         
* End of CoHR vars
**** Note these have to come at the end of the defs, or the keyboard ****
**** code can clobber variables defined after these !                ****
V.IBufH  rmb   1          input buffer head
V.IBufT  rmb   1          input buffer tail
V.InBuf  rmb   1          input buffer tail
V.51End  rmb   1         
         rmb   250-.     
V.Last   equ   .         
                         
                         
* Unknown for now
*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.MCol2 rmb   1  color
*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!
                         
*
* Defs for V.COLoad flags.
* 
                         
ModCoVDG equ   %00000010  CoVDG, Built-in VDG 32x16.
ModCoWP  equ   %00000100  CoWP, WordPak, 80x25
ModCoHR  equ   %00001000  CoHR, PMODE 4 51x25 text

*
* Defs for cursor flash counter
*

CFlash50hz	equ	25	* 50Hz flash counter
CFlash60Hz	equ	30	* 60Hz flash counter

	ENDC