        title   Swap color mono display
        page    ,132
; this routine swaps between the b&w display and the color display
; on the IBM personal computer.  80 character width is always selected
data	segment at 40h
	org	10h
eqflg	dw	?		;equipment flag
	org	49h
curvid	db	?		;current state
data	ends
code    segment
        assume  cs:code,ds:data
swap    proc    far
	push	ds		;save dos's data segment 
        xor     ax,ax           ;zero AX for return
        push    ax
	mov	ax,data		;establish addressing
        mov     ds,ax        
        cmp     curvid,7            ;  if it is 7, the monochrome display
        jnz      color           ;  is in use, and we swith to color.
mono:	mov	ax,eqflg	;switch to color
	and	al,0cfh
	or	al,20h		;I don't know what these bits do!!!
	mov	eqflg,ax
        jmp     exit
color:  or	eqflg,30h	;switch to mono
exit:   mov     ax,3 
        int     10H
        ret
swap    endp
code    ends
        end
