;LAST UPDATE: 05.09.2017 savelij
 
 
 
                TITLE "raznoe.a80"
 
 
 
        IF EMU
 
CMP_VARSTRDOS
 
;               CALL SET_RWPORT0
 
                LD HL,(CHANS)
 
                RET
 
 
 
LOC_2A53_       IF EMU3D2F=1
 
                RST30 WOUTCA
 
                RET
 
                RET
 
                ELSE
 
                PUSH AF
 
                INC C
 
                JR Z,LOC2A53
 
                ENDIF
 
                DEC C
 
                POP AF
 
                OUT (C),A
 
                RET
 
 
 
LOC2A53         DEC C
 
                POP AF
 
                RST30 WOUTCA
 
                RET
 
 
 
EMU_LDIR        PUSH AF
 
                LD A,H
 
                CP 0X2A
 
                JR NZ,EMU_LDIR2
 
                LD A,L
 
                CP 0X54
 
                JR NC,EMU_LDIR2
 
                CP 0X50
 
                JR C,EMU_LDIR2
 
                ADD HL,BC
 
                PUSH HL
 
                LD HL,0X3FF0-3
 
                CP 0X53
 
                JR NZ,EMU_LDIR0
 
                LD HL,0X3FF0
 
EMU_LDIR0       LDIR
 
                POP HL
 
                POP AF
 
                RET
 
 
 
EMU_LDIR2       LD A,(NUM_ALT_PAGE)
 
                PUSH AF
 
                PUSH BC
 
                LD A,ROM_BAS48|0X80
 
                LD BC,WIN_A0
 
                CALL WR_BYTE_RET
 
                POP BC
 
                LDIR
 
                POP AF
 
                PUSH BC
 
                LD BC,WIN_A0
 
                CALL WR_BYTE_RET
 
                POP BC
 
                POP AF
 
                RET
 
 
 
EMU_LDIR_RBC    CALL EMU_LDIR
 
                POP BC
 
                RET
 
 
 
EMU_LDIR_RHL    CALL EMU_LDIR
 
                POP HL
 
                RET
 
 
 
PRINT_VIRTDRV   LD H,VIRT_REAL_DRIVE
 
                CALL READCMOS           ;ЧТЕНИЕ НОМЕРА ВИРТУАЛЬНОГО ДИСКА
 
                AND 3                   ;НАМ НУЖНЫ ТОЛЬКО 2 МЛАДШИХ БИТА
 
                ADD A,"A"               ;ПРЕОБРАЗОВАЛИ В ТЕКСТ
 
                RST 0X10                ;НАПЕЧАТАЛИ БУКВУ
 
                RET
 
 
 
CMP_RAMDISK     RST30 _CMP_RAMDISK
 
                LD HL,SET_VARS
 
                RET
 
        ENDIF
 
 
 
PRINT2ZERO      LD A,(HL)
 
                INC HL
 
                AND A
 
                RET Z
 
                RST 0X10
 
                JR PRINT2ZERO
 
 
 
        IF EMU
 
ADD_TXT_VERS    LD HL,TEXT4VIRTDRV      ;ТЕКСТ ПРО ВИРТУАЛЬНЫЙ ДИСКОВОД
 
                RST 0X18                ;ПЕЧАТЬ НА ЭКРАНЕ
 
                LD H,VIRT_REAL_DRIVE
 
                CALL READCMOS           ;ЧТЕНИЕ НОМЕРА ВИРТУАЛЬНОГО ДИСКА
 
                AND 3                   ;НАМ НУЖНЫ ТОЛЬКО 2 МЛАДШИХ БИТА
 
                ADD A,"A"               ;ПРЕОБРАЗОВАЛИ В ТЕКСТ
 
                RST 0X10                ;НАПЕЧАТАЛИ БУКВУ
 
                RET
 
        ENDIF