]> cloudbase.mooo.com Git - z180-stamp.git/blobdiff - z180/config.inc
change common base from C000 to F000. loadcpm3 bugfixes
[z180-stamp.git] / z180 / config.inc
index b5a53192f9adc47e44ddfb47d43a05e5750c7e8d..d10b113161986eca7a87f5837d8770ccc23a30de 100644 (file)
@@ -46,24 +46,36 @@ PRT_PRE             equ     20              ;PRT prescaler
 ;-----------------------------------------------------\r
 ; MMU\r
 \r
-COMMON_SIZE    equ     16*1024         ;Common Area size in bytes\r
+COMMON_SIZE    equ     4*1024          ;Common Area size in bytes\r
                                        ;must be multiple of 4K\r
-\r
 if (COMMON_SIZE mod 1000h)\r
        .printx COMMON_SIZE not multiple of 4K!\r
        end     ;stop assembly\r
 endif\r
+CMN_SIZE       equ     COMMON_SIZE/1000h               ;4K units\r
+BNK_SIZE       equ     64/4 - CMN_SIZE                 ;bank size (4K units)\r
+BANKS          equ     (512/4 - CMN_SIZE)/BNK_SIZE     ;max nr. of banks\r
+\r
+; Logical address space, CBAR values\r
 \r
-CSK    equ     COMMON_SIZE/1000h       ;\r
-CA     equ     10h - CSK               ;common area start\r
-BA     equ     0                       ;banked area start\r
+CA             equ     10h - CMN_SIZE          ;common area start (64K - common size)\r
+BA             equ     0                       ;banked area start\r
+\r
+   if 0\r
 \r
 SYS$CBR                equ     0\r
 SYS$CBAR       equ     CA*16 + CA      ;CBAR in system mode\r
 USR$CBAR       equ     CA*16 + BA      ;CBAR in user mode (CP/M)\r
 \r
+   endif\r
+   if 1\r
+\r
+SYS$CBR                equ     BNK_SIZE\r
+SYS$CBAR       equ     CA*16 + CA      ;CBAR in system mode\r
+USR$CBAR       equ     CA*16 + BA      ;CBAR in user mode (CP/M)\r
+\r
+   endif\r
 \r
-BANKS          equ     18              ;max nr. of banks\r
 \r
 ;-----------------------------------------------------\r
 \r
@@ -170,7 +182,8 @@ mkbuf       macro   id,name,size
     name&.mask equ ;wrong size error\r
   else\r
     db id\r
-    ds 3\r
+    db size-1\r
+    ds 2\r
     name:: ds size\r
     name&.mask equ low (size-1)\r
     if size ne 0\r