view defs/cciodefs @ 1781:862c164cff21

Removed references to Sourceforge.
author tlindner
date Mon, 04 Apr 2005 17:12:54 +0000
parents b9ee6f3048d8
children ce1ed7b7746f
line wrap: on
line source

         IFNE  CCIODEFS-1

CCIODEFS  set   1

********************************************************************
* CCIODefs - CoCo 1/2 I/O Definitions
*
* $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
*
         nam    CCIODefs
         ttl    CoCo 1/2 I/O Definitions

********************
* CCIO 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 CO80-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	CO80 X position
V.C80Y   rmb   1	CO80 Y position
V.Invers rmb   1
* end of CO80-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.GRFOE  rmb   2  GRFO entry point
V.CO32E  rmb   2  CO32 entry point
V.CO80E  rmb   2  CO80 entry point
V.CO51E	 rmb   2  CO51 entry point
;Co51 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

; I'm not sure what these do (yet).

V.5126    rmb   1
V.5130    rmb   1
V.5131    rmb   1
V.5132    rmb   1
V.5133    rmb   1
V.5134    rmb   1
V.5135    rmb   1
V.5136    rmb   1
; End of c051 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.
; 

ModCo32	equ	%00000010	; Co32, normal VDG 32x16.
ModCo80	equ	%00000100	; Co80, wordpak rs, 80x25
ModCo51 equ	%00001000	; Co51, pmode 4 51x25 text

         ENDC