X-Git-Url: http://cloudbase.mooo.com/gitweb/z180-stamp.git/blobdiff_plain/ad9bc17c8ecab1f0bbd26f2270d4d396f4bc5e52..98aac4d093d6eafff084fbfb49bd4a6e2c62bfe8:/z180/config.inc diff --git a/z180/config.inc b/z180/config.inc index 2a8a842..d10b113 100644 --- a/z180/config.inc +++ b/z180/config.inc @@ -21,8 +21,8 @@ AVRCLK equ 18432 ;[KHz] if CPU_Z180 ;----------------------------------------------------- -FOSC equ AVRCLK/2 ;Oscillator frequency [KHz] -PHI equ FOSC*2 ;CPU frequency (clock doubler enabled) +;FOSC equ AVRCLK/2 ;Oscillator frequency [KHz] +;PHI equ FOSC*2 ;CPU frequency (clock doubler enabled) ;---------------------------------------------------------------------- ; Baudrate Generator for x16 clock mode: @@ -43,32 +43,39 @@ PHI equ FOSC*2 ;CPU frequency (clock doubler enabled) 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 -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 + +CA equ 10h - CMN_SIZE ;common area start (64K - common size) +BA equ 0 ;banked area start -CSK equ COMMON_SIZE/1000h ; -CA equ 10h - CSK ;common area start -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,9 +135,9 @@ DDTZRSTVEC equ 030h ;DDTZ Restart vector (breakpoints) INIDONE equ 03Fh ;CP/M skip hw init, if this address INIDONEVAL equ 080h ; is set to this value. -mtx.fifo_len equ 32 ;Message transfer fifos +mtx.fifo_len equ 64 ;Message transfer fifos mtx.fifo_id equ 0 ; This *must* have #0 -mrx.fifo_len equ 32 +mrx.fifo_len equ 64 mrx.fifo_id equ 1 ci.fifo_len equ 32 ;AVRCON Character I/O via AVR @@ -175,7 +182,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