FOSC equ 9216 ;Oscillator frequency [KHz] PHI equ FOSC*2 ;CPU frequency ;----------------------------------------------------- ; Programmable Reload Timer (PRT) PRT_PRE equ 20 ;PRT prescaler ; Reload value for 10 ms Int. (0.1KHz): ; tc10ms = phi/prescale/0.1KHz = phi / (prescale/10) PRT_TC10MS equ PHI / (PRT_PRE/10) ;----------------------------------------------------- ; MMU SYS$CBAR equ 0C8h USR$CBAR equ 0F0h BANKS equ 18 ;max nr. of banks ;----------------------------------------------------- CREFSH equ 0 ;Refresh rate register (disable refresh) CWAITIO equ 3 shl IWI0 ;Max I/O Wait States, 0 Memory Wait States ROMSYS equ 0 if ROMSYS c$rom equ 0a5h ROM_EN equ 0C0h ROM_DIS equ ROMEN+1 CWAITROM equ 2 shl MWI0 endif DRSTNUM equ 30h ;DDTZ Restart vector (breakpoints) msg_rx_fifo_len equ 256 msg_tx_fifo_len equ 256 s1.rx_len equ 256 ;Serial 1 (ASCI1) buffers s1.tx_len equ 256 ; AVRINT5 equ 40h AVRINT6 equ 50h ;PMSG equ 80h ;----------------------------------------------------- ; Definition of (locical) top 2 memory pages sysram_start equ 0FE00h stacksize equ 80 isvsw_loc equ 0FEE0h ivtab equ 0ffc0h ;int vector table iv2tab equ ivtab + 2*9 ;----------------------------------------------------- o.mask equ -3 o.in_idx equ -2 o.out_idx equ -1 .lall mkbuf macro name,size if ((size & (size-1)) ne 0) or (size gt 256) .printx Error: buffer ^size must be power of 2 and in range 0..256! name&.mask equ ;wrong size error else ds 3 name:: ds size name&.mask equ low (size-1) if size ne 0 name&.end equ $-1 name&.len equ size endif endif endm ;----------------------------------------------------- inidat macro cseg ??ps.a defl $ endm inidate macro ??ps.len defl $ - ??ps.a dseg ds ??ps.len endm