X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/8d0fad4c149a3283eb2a6840f6eeeb7158aad9ca..c3ce66a888beadf2a6d524101dd009d5acd452ae:/z180/config.inc diff --git a/z180/config.inc b/z180/config.inc index b5a5319..bea6e05 100644 --- a/z180/config.inc +++ b/z180/config.inc @@ -3,8 +3,6 @@ FALSE equ 0 TRUE equ NOT FALSE -DEBUG equ true - banked equ true ;----------------------------------------------------- @@ -46,24 +44,36 @@ PRT_PRE equ 20 ;PRT prescaler ;----------------------------------------------------- ; MMU -COMMON_SIZE equ 16*1024 ;Common Area size in bytes +COMMON_SIZE equ 4*1024 ;Common Area size in bytes ;must be multiple of 4K - if (COMMON_SIZE mod 1000h) .printx COMMON_SIZE not multiple of 4K! end ;stop assembly endif +CMN_SIZE equ COMMON_SIZE/1000h ;4K units +BNK_SIZE equ 64/4 - CMN_SIZE ;bank size (4K units) +BANKS equ (512/4 - CMN_SIZE)/BNK_SIZE ;max nr. of banks + +; Logical address space, CBAR values -CSK equ COMMON_SIZE/1000h ; -CA equ 10h - CSK ;common area start -BA equ 0 ;banked area start +CA equ 10h - CMN_SIZE ;common area start (64K - common size) +BA equ 0 ;banked area start + + if 0 SYS$CBR equ 0 SYS$CBAR equ CA*16 + CA ;CBAR in system mode USR$CBAR equ CA*16 + BA ;CBAR in user mode (CP/M) + endif + if 1 + +SYS$CBR equ BNK_SIZE +SYS$CBAR equ CA*16 + CA ;CBAR in system mode +USR$CBAR equ CA*16 + BA ;CBAR in user mode (CP/M) + + endif -BANKS equ 18 ;max nr. of banks ;----------------------------------------------------- @@ -128,20 +138,27 @@ mtx.fifo_id equ 0 ; This *must* have #0 mrx.fifo_len equ 64 mrx.fifo_id equ 1 -ci.fifo_len equ 32 ;AVRCON Character I/O via AVR +ci.fifo_len equ 32 ;AVRCON (USB0) Character I/O via AVR ci.fifo_id equ 2 co.fifo_len equ 32 co.fifo_id equ 3 +s0.rx_len equ 128 ;Serial 0 (ASCI0) buffers +s0.rx_id equ 4 ; +s0.tx_len equ 128 ; +s0.tx_id equ 5 ; + s1.rx_len equ 128 ;Serial 1 (ASCI1) buffers -s1.rx_id equ 4 ; +s1.rx_id equ 6 ; s1.tx_len equ 128 ; -s1.tx_id equ 5 ; +s1.tx_id equ 7 ; AVRINT5 equ 4Fh AVRINT6 equ 5Fh ;PMSG equ 80h +IDEBASE equ 60h + ;----------------------------------------------------- ; Definition of (logical) top 2 memory pages @@ -170,7 +187,8 @@ mkbuf macro id,name,size name&.mask equ ;wrong size error else db id - ds 3 + db size-1 + ds 2 name:: ds size name&.mask equ low (size-1) if size ne 0