]> cloudbase.mooo.com Git - z180-stamp-cpm3.git/blobdiff - cbios/ascip.180
interbank move via dma. (re)enable multisector transfer
[z180-stamp-cpm3.git] / cbios / ascip.180
index 95addd1ba7eb8658f33518e61d6cec9a378a55a7..470c07e123c0ffc688217884c561cf29b8e06a8e 100644 (file)
@@ -12,7 +12,7 @@
        global  as1osta,as1out\r
 \r
 \r
        global  as1osta,as1out\r
 \r
 \r
-       extrn   f_cpu,add_hla,div32_16\r
+       extrn   f_cpu,add_hla,div32_r\r
        extrn   @ctbl\r
 \r
        include config.inc\r
        extrn   @ctbl\r
 \r
        include config.inc\r
@@ -20,8 +20,6 @@
 \r
 \r
 ;--------------------------------------------------------------\r
 \r
 \r
 ;--------------------------------------------------------------\r
-;\r
-;\r
 ; TC = (f PHI /(2*baudrate*Clock_mode)) - 2\r
 ;\r
 ; Clock_mode == 16\r
 ; TC = (f PHI /(2*baudrate*Clock_mode)) - 2\r
 ;\r
 ; Clock_mode == 16\r
 ; br150 = baudrate/150\r
 ;      TC = (f PHI / (32 * 150 * br150)) - 2\r
 ;      TC = (f PHI / (32 * 150 * br150)) - 2\r
 ; br150 = baudrate/150\r
 ;      TC = (f PHI / (32 * 150 * br150)) - 2\r
 ;      TC = (f PHI / (32 * 150 * br150)) - 2\r
-;\r
 \r
 \r
-       cseg\r
+\r
 ;\r
 ; Init Serial I/O for console input and output (ASCI1)\r
 ;\r
 \r
 ;\r
 ; Init Serial I/O for console input and output (ASCI1)\r
 ;\r
 \r
+       dseg\r
+\r
 as0init:\r
        ld      hl,initab0\r
        jr      as_init\r
 as0init:\r
        ld      hl,initab0\r
        jr      as_init\r
@@ -45,24 +44,23 @@ as1init:
 as_init:\r
        push    hl\r
 \r
 as_init:\r
        push    hl\r
 \r
-       ld      c,8             ;\r
-       mlt     bc              ;\r
-       ld      hl,@ctbl+7      ;get baudrate index\r
-       add     hl,bc           ;\r
+       ld      c,8                     ;\r
+       mlt     bc                      ;\r
+       ld      hl,@ctbl+7              ;get baudrate index\r
+       add     hl,bc                   ;\r
        ld      a,(hl)\r
        and     0fh\r
        ld      a,(hl)\r
        and     0fh\r
-       add     a,a\r
+       add     a,a                     ;get factor\r
        ld      hl,bd150_tab\r
        call    add_hla\r
        ld      c,(hl)\r
        inc     hl\r
        ld      b,(hl)\r
        ld      hl,bd150_tab\r
        call    add_hla\r
        ld      c,(hl)\r
        inc     hl\r
        ld      b,(hl)\r
-       ld      de,(f_cpu)\r
-       ld      hl,(f_cpu+2)\r
-       call    div32_16\r
+       ld      hl,(f_cpu)\r
+       ld      de,(f_cpu+2)\r
+       call    div32_r\r
        ld      bc,32*150\r
        ld      bc,32*150\r
-       call    div32_16\r
-       ex      de,hl\r
+       call    div32_r\r
        ld      de,2\r
        or      a\r
        sbc     hl,de\r
        ld      de,2\r
        or      a\r
        sbc     hl,de\r
@@ -125,6 +123,8 @@ initab1:
 \r
 ;--------------------------------------------------------------\r
 \r
 \r
 ;--------------------------------------------------------------\r
 \r
+       dseg\r
+\r
 as0ista:\r
        in0     a,(stat0)\r
        and     M_RDRF\r
 as0ista:\r
        in0     a,(stat0)\r
        and     M_RDRF\r