Mercurial > hg > Members > kono > nitros9-code
diff defs/l52.defs @ 0:6641a883d6b0
Initial revision
author | boisy |
---|---|
date | Thu, 04 Apr 2002 16:34:12 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/defs/l52.defs Thu Apr 04 16:34:12 2002 +0000 @@ -0,0 +1,108 @@ + +* 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) +