]> cloudbase.mooo.com Git - z180-stamp-cpm3.git/blobdiff - cbios/config.inc
include --> maclib
[z180-stamp-cpm3.git] / cbios / config.inc
index 4421478fec378303972501fa13e56ec1b3c10299..a2cbc6eca134f9cac5a6b752cc18a021df959788 100644 (file)
@@ -1,10 +1,9 @@
+       .xlist\r
 \r
 FALSE  equ     0\r
 TRUE   equ     NOT FALSE\r
 \r
 \r
-DEBUG  equ     true\r
-\r
 banked equ     true\r
 \r
 ;-----------------------------------------------------\r
@@ -159,6 +158,8 @@ AVRINT5             equ     4Fh
 AVRINT6                equ     5Fh\r
 ;PMSG          equ     80h\r
 \r
+IDEBASE                equ     60h\r
+\r
 ;-----------------------------------------------------\r
 ; Definition of (logical) top 2 memory pages\r
 \r
@@ -179,7 +180,7 @@ o.mask              equ     -3
 o.in_idx       equ     -2\r
 o.out_idx      equ     -1\r
 \r
-       .lall\r
+       ;.lall\r
 \r
 mkbuf  macro   id,name,size\r
   if ((size AND (size-1)) NE 0) OR (size GT 256)\r
@@ -218,3 +219,51 @@ b0call     macro   address
        call    _b0call\r
        dw      address\r
        endm\r
+\r
+;-----------------------------------------------------\r
+; shift accu right logical n bits\r
+\r
+srlan  macro   n\r
+       if n > 7 or n < 0\r
+        xor a\r
+        exitm\r
+       endif\r
+\r
+       if n > 4\r
+        rept 8-n\r
+         rlca\r
+        endm\r
+        and (1 << (8-n)) - 1\r
+        exitm\r
+       endif\r
+\r
+       if n > 2\r
+        rept n\r
+         rrca\r
+        endm\r
+        and (1 << (8-n)) - 1\r
+        exitm\r
+       endif\r
+\r
+       rept n\r
+        srl a\r
+       endm\r
+       endm\r
+\r
+;-----------------------------------------------------\r
+; convert bit mask to bit number\r
+\r
+m2b    macro   name,mask\r
+       local   n\r
+       n defl  mask\r
+       name defl 0\r
+       rept 8\r
+         n defl n/2\r
+         if n = 0\r
+           exitm\r
+         endif\r
+         name defl name+1\r
+       endm\r
+       endm\r
+\r
+       .list\r