view CoCoOS9/defs/l52.defs @ 31:bd2b07db8917 cocoos9lv2v3

CoCoOS9 version
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 14 Jul 2018 15:16:13 +0900
parents
children
line wrap: on
line source


* miscellaneous definitions
HResMaxX equ   639        high resolution X limit
HResMaxY equ   191        high resolution Y limit
MousData equ   $0008      arbitrary choice for mouse data area ($0008-$000F)
PcktSize equ   5          number of bytes in mouse data packet
SyncData equ   %10000000  initial mouse data byte pattern
SyncMask equ   %11111000  mask for initial mouse data byte pattern

* 65C52 register definitions
         org   0
ISReg    rmb   1          IRQ Status (read only)
IEReg    equ   ISReg      IRQ Enable (write only)
CSReg    rmb   1          Control Status (read only)
CFReg    equ   CSReg      Control/Format (write only)
CDReg    rmb   1          Compare Data (write only, unused in this driver)
TBReg    equ   CDReg      Transmit Break (write only)
DataReg  rmb   1          receive/transmit Data (read Rx / write Tx)

* IRQ Status/Enable bit definitions
ISE.IRQ  equ   %10000000  IRQ occurred/enable
ISE.TxE  equ   %01000000  Tx data register Empty
ISE.CTS  equ   %00100000  CTS transition
ISE.DCD  equ   %00010000  DCD transition
ISE.DSR  equ   %00001000  DSR transition
ISE.FOB  equ   %00000100  receive data Framing or Overrun error, or Break
ISE.Par  equ   %00000010  Parity error in Rx data
ISE.RxF  equ   %00000001  Rx data register Full

ISE.Errs equ   ISE.FOB!ISE.Par IRQ Status error bits
ISE.Flip equ   $00        all ISR bits active when set
ISE.Mask equ   ISE.FOB!ISE.Par!ISE.RxF active IRQs

* Control Status bit definitions
CS.Frame equ   %10000000  framing error (set=error)
CS.TxE   equ   %01000000  Tx data empty (set=empty)
CS.CTS   equ   %00100000  CTS input (set=disabled)
CS.DCD   equ   %00010000  DCD input (set=disabled)
CS.DSR   equ   %00001000  DSR input (set=disabled)
CS.Break equ   %00000100  Rx line break (set=received break)
CS.DTR   equ   %00000010  DTR output (set=disabled)
CS.RTS   equ   %00000001  RTS output (set=disabled)

* Control bit definitions
C.TBRCDR equ   %01000000  Tx Break/Compare Data register access (set=Tx Break)
C.StpBit equ   %00100000  stop bits (set=two, clear=one)
C.Echo   equ   %00010000  local echo (set=activated)
C.Baud   equ   %00001111  see baud rate table below

* baud rate table
         org   0
BR.00050 rmb   1          50 baud
BR.00110 rmb   1          109.2 baud
BR.00135 rmb   1          134.58 baud
BR.00150 rmb   1          150 baud
BR.00300 rmb   1          300 baud
BR.00600 rmb   1          600 baud
BR.01200 rmb   1          1200 baud
BR.01800 rmb   1          1800 baud
BR.02400 rmb   1          2400 baud
BR.03600 rmb   1          3600 baud
BR.04800 rmb   1          4800 baud
BR.07200 rmb   1          7200 baud
BR.09600 rmb   1          9600 baud
BR.19200 rmb   1          19200 baud
BR.38400 rmb   1          38400 baud
BR.ExClk rmb   1          external Rx and Tx clocks

* Format bit definitions
F.Slct   equ   %10000000  register select (set=Format, clear=Control)
F.DatBit equ   %01100000  see data bit table below
F.Par    equ   %00011100  see parity table below
F.DTR    equ   %00000010  DTR output (set=disabled)
F.RTS    equ   %00000001  RTS output (set=disabled)

* data bit table
DB.5     equ   %00000000  five data bits per character
DB.6     equ   %00100000  six data bits per character
DB.7     equ   %01000000  seven data bits per character
DB.8     equ   %01100000  eight data bits per character

* parity table
Par.None equ   %00000000
Par.Odd  equ   %00000100
Par.Even equ   %00001100
Par.Mark equ   %00010100
Par.Spac equ   %00011100

* Transmit Break bit definitions
TB.Brk   equ   %00000010  Tx break control (set=transmit continuous line Break)
TB.Par   equ   %00000001  parity check (set=parity bit to ISE.Par, clear=normal)

* Btn.Cntr bit definitions
BC.Butn1 equ   %00100000  button #1 (left, 1 = pressed)
BC.Butn2 equ   %00010000  button #2 (middle, 1 = pressed)
BC.Butn3 equ   %00001000  button #3 (right, 1 = pressed)
BC.RxCnt equ   %00000111  Rx data counter

BC.Butns equ   BC.Butn1!BC.Butn2!BC.Butn3 mask for all buttons


* mouse static data area definitions
         org   0
Btn.Cntr rmb   1          mouse button status and Rx data counter
Buffer   rmb   3          Rx buffer for 1st 3 bytes of XY mouse data (must start at 1,u)
CrntXPos rmb   2          mouse X position (0 to HResMaxX)
CrntYPos rmb   2          mouse Y position (0 to HResMaxY*2)