Subversion Repositories pentevo

Rev

Rev 736 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1.  
  2. ;LAST UPDATE: 10.11.2013 savelij
  3.  
  4. CP_VARSTRDOS_   CALL SET_RWPORT0
  5.                 LD HL,(CHANS)
  6.                 RET
  7.  
  8. SET_DRIVENAME_  CALL SET_DRIVENAME
  9.                 LD (TRD_5D16),A         ; КОПИЯ СИСТЕМНОГО РЕГИСТРА (ПОРТ #FF)
  10.                 RET
  11.  
  12. GET_TYPE_DISK_  CALL GET_TYPE_DISK
  13.                 AND 0X80
  14.                 LD A,0X28
  15.                 RET Z
  16.                 LD A,0X50
  17.                 RET
  18.  
  19. BCMP_EMU        EQU 0XF5
  20.  
  21. LOC_2A53_       IF EMU3D2F=1
  22.                 RST 0X30
  23.                 DB WOUTCA
  24.                 RET
  25.                 RET
  26.                 ELSE
  27.                 PUSH AF
  28.                 INC C
  29.                 JR Z,LOC2A53
  30.                 ENDIF
  31.                 DEC C
  32.                 POP AF
  33.                 OUT (C),A
  34.                 RET
  35.  
  36. LOC2A53         DEC C
  37.                 POP AF
  38.                 RST 0X30
  39.                 DB WOUTCA
  40.                 RET
  41.  
  42. EMU_LDIR        PUSH AF
  43.                 LD A,H
  44.                 CP 0X2A
  45.                 JR NZ,EMU_LDIR2
  46.                 LD A,L
  47.                 CP 0X54
  48.                 JR NC,EMU_LDIR2
  49.                 CP 0X50
  50.                 JR C,EMU_LDIR2
  51.                 ADD HL,BC
  52.                 PUSH HL
  53.                 LD HL,0X3FF0-3
  54.                 CP 0X53
  55.                 JR NZ,EMU_LDIR0
  56.                 LD HL,0X3FF0
  57. EMU_LDIR0       LDIR
  58.                 POP HL
  59.                 POP AF
  60.                 RET
  61.  
  62. EMU_LDIR2       PUSH BC
  63.                 PUSH HL
  64.                 LD A,(LOC_2A53_)
  65.                 CP BCMP_EMU
  66.                 LD HL,DOS_NOEMUL
  67.                 LD BC,WIN_A0+0X100
  68.                 CALL NZ,WRPORT_RET
  69.                 POP HL
  70.                 POP BC
  71.                 LDIR
  72. EMU_LDIR4       CP BCMP_EMU
  73.                 JR Z,EMU_LDIR3
  74.                 PUSH HL
  75.                 PUSH BC
  76.                 LD HL,DOS_EMUL
  77.                 LD BC,WIN_A0+0X100
  78.                 CALL WRPORT_RET
  79.                 POP BC
  80.                 POP HL
  81. EMU_LDIR3       POP AF
  82.                 RET
  83.  
  84. EMU_LDIR_RBC    CALL EMU_LDIR
  85.                 POP BC
  86.                 RET
  87.  
  88. EMU_LDIR_RHL    CALL EMU_LDIR
  89.                 POP HL
  90.                 RET
  91.  
  92. PRINT_VIRTDRV   LD H,VIRT_REAL_DRIVE
  93.                 CALL READCMOS           ;ЧТЕНИЕ НОМЕРА ВИРТУАЛЬНОГО ДИСКА
  94.                 AND 3                   ;НАМ НУЖНЫ ТОЛЬКО 2 МЛАДШИХ БИТА
  95.                 ADD A,"A"               ;ПРЕОБРАЗОВАЛИ В ТЕКСТ
  96.                 RST 0X10                ;НАПЕЧАТАЛИ БУКВУ
  97.                 RET
  98.  
  99. ;ЕСЛИ КОМАНДА РАСШИРЕННАЯ ТО ПЕЧАТЬ ИМЕНИ FAT УСТРОЙСТВА
  100. ;ИНАЧЕ ПЕЧАТЬ ИМЕНИ TR-DOS ДИСКОВОДА
  101. GET_COMMAND2    LD A,(TRD_5CEF)
  102.                 AND A
  103.                 CALL NZ,NOMER_DRV       ;ПЕЧАТЬ ИМЕНИ FAT УСТРОЙСТВА ЕСЛИ КОМАНДА НЧИНАЕТСЯ С "."
  104.                 RET C                   ;ВЫХОД ЕСЛИ УЖЕ НАПЕЧАТАНА БУКВА FAT УСТРОЙСТВА
  105.                 LD A,(TRD_5D19)
  106.                 ADD A,"A"
  107.                 RST 0X10
  108.                 RET
  109.  
  110. CMP_RAMDISK_    CALL CMP_RAMDISK
  111.                 LD HL,SET_VARS
  112.                 RET
  113.  
  114. PRINT2ZERO      LD A,(HL)
  115.                 INC HL
  116.                 AND A
  117.                 RET Z
  118.                 RST 0X10
  119.                 JR PRINT2ZERO
  120.