view defs/m52.defs @ 1933:1e312b144f4d

Major changes: CCIO,CC3IO are now VTIO GrfInt is now CoGrf WindInt is now CoWin VDGInt (L2), CO32 (L1) is now CoVDG CO51 (L1) is now CoHR CO80 (L1) is now CoWP All files referencing these have been changed
author boisy
date Sat, 26 Nov 2005 21:31:29 +0000
parents f7384b5a59c8
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-$000E)
PcktSize equ 3 number of bytes in mouse data packet
SyncData equ %01000000 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)

* Buffer (0,u only) bit definitions
B.Butn1 equ %00100000 button #1 (left, 1 = pressed)
B.Butn2 equ %00010000 button #2 (right, 1 = pressed)

B.Butns equ B.Butn1!B.Butn2 mask for all buttons


* mouse static data area definitions
 org 0
Buffer rmb 2 Rx buffer for mouse data (must start at 0,u)
Counter rmb 1 Rx data counter
CrntXPos rmb 2 mouse X position (0 to HResMaxX)
CrntYPos rmb 2 mouse Y position (0 to HResMaxY*2)