; display DCM debug code
        lda GBL_DCM_STATUS
        cpi 0FFh
        jz nodebug
        cpi 0FBh
        jz nodebug

        lxi h,DCM_DEBUG
        lxi d,GBL_BPL_DEBUG
        lxi b,1
        call mm_fetch
        mov a,M
        inx h
        ora M
        inx h
        ora M
        inx h
        ora M
        jz nodebug
; set it back to zero
setbak: lxi h,GBL_ZERO
        lxi d,GBL_BPL_DEBUG
        lxi b,1
        call mm_store
nodebug:
; watch for MM-clear completion
        lda cmm
        cpi 1
        jnz ncmm
        lxi d,mmmax
        lxi h,snurg
        lxi b,1
        call mm_fetch
        mov a,M
        cpi 0
        jnz ncmm
        inx h
        mov a,M
        cpi 0
        jnz ncmm
        inx h
        mov a,M
        cpi 0
        jnz ncmm
        inx h
        mov a,M
        cpi 0
        jnz ncmm
        mvi a,0
        sta cmm
        call debug_asc
        asc "MMclrd$"
ncmm:
        lda cksc1sw
        cpi 1
        jnz nck1
        lxi h,GBL_PP_MMSC1  
        lxi d,mm_addr
        lxi b,4
        call copy_bytes
        lda GBL_N1
        mov h,a
        lda GBL_N1+1
        mov l,a
        shld npvcfs
        call check_buffer
        call debug_asc
        asc "SC1 OK$"
        mvi a,0
        sta cksc1sw
nck1:   lda cksc2sw
        cpi 1
        jnz bgloop
        lxi h,GBL_PP_MMSC2  
        lxi d,mm_addr
        lxi b,4
        call copy_bytes
        lda GBL_N2
        mov h,a
        lda GBL_N2+1
        mov l,a
        shld npvcfs
        call check_buffer
        call debug_asc
        asc "SC2OK$"
        mvi a,0
        sta cksc2sw
        jmp bgloop

