Subversion Repositories pentevo

Rev

Rev 639 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed | ?url?

  1.  
  2. ;LAST UPDATE: 28.03.2014 savelij
  3.  
  4. ;ПРОВЕРКА РАСШИРЕНИЯ ИЗ ЗАГРУЖЕННОГО HEADER
  5. CMP_FILEEXT     LD HL,zmbuff
  6. CMPFILEEXT1     LD A,(HL)
  7.                 INC HL
  8.                 AND A
  9.                 JR NZ,CMPFILEEXT1
  10.                 LD DE,-4
  11.                 ADD HL,DE
  12.                 LD DE,FILE_EXT
  13.                 CALL CP_EXT
  14.                 RET Z                           ;ВЫХОД ЕСЛИ РАСШИРЕНИЕ НЕ ПОДДЕРЖИВАЕТСЯ
  15.                 LD (NUM4EXT),A
  16.                 CALL CONV_SIZE
  17.                 LD A,(NUM4EXT)
  18.                 DEC A
  19.                 LD L,A
  20.                 LD H,0
  21.                 LD DE,FUNC4EXT
  22.                 ADD HL,HL
  23.                 ADD HL,DE
  24.                 LD E,(HL)
  25.                 INC HL
  26.                 LD D,(HL)
  27.                 EX DE,HL
  28.                 JP (HL)
  29.  
  30. CONV_SIZE       LD BC,0X1400
  31.                 LD DE,TXT_NAME
  32.                 LD HL,zmbuff
  33. CONVSIZE3       LD A,(HL)
  34.                 CP "."
  35.                 JR Z,CONVSIZE2
  36.                 LDI
  37.                 DJNZ CONVSIZE3
  38.                 LD A,">"
  39.                 LD (DE),A
  40.                 INC DE
  41. CONVSIZE1       LD A,(HL)
  42.                 INC HL
  43.                 CP "."
  44.                 JR NZ,CONVSIZE1
  45.                 DEC HL
  46. CONVSIZE2       LDI
  47.                 LDI
  48.                 LDI
  49.                 LDI
  50. CONVSIZE4       LD A,(HL)
  51.                 INC HL
  52.                 CP " "
  53.                 JR NZ,CONVSIZE4
  54.                 DEC HL
  55.                 DEC HL
  56.                 LD DE,TXT_FULLSIZE_
  57. CONVSIZE5       LD A,(HL)
  58.                 AND A
  59.                 JR Z,CONVSIZE6
  60.                 LDD
  61.                 JR CONVSIZE5
  62.  
  63. CONVSIZE6       LD BC,0
  64.                 LD DE,0
  65.                 LD HL,TXT_SIZERECV
  66.                 CALL HEX4DEC
  67.                 LD HL,TXT_FILENAME
  68.                 CALL PRINT_MSG
  69.                 LD HL,TXT_FILESIZE
  70.                 JP PRINT_MSG
  71.  
  72. UPDATE_CHISLO   LD BC,(rxbytes+2)
  73.                 LD DE,(rxbytes)
  74.                 LD HL,TXT_SIZERECV
  75.                 CALL HEX4DEC
  76.                 LD HL,TXT_SIZE
  77.                 JP PRINT_MSG
  78.  
  79. ;ИНИТ И ВКЛЮЧЕНИЕ НАЧАЛЬНОЙ СТРАНИЦЫ ДЛЯ ЗАГРУЗКИ TAP ФАЙЛА
  80. EXT_TAP        
  81.                 LD A,PAGE4TAP
  82.                 JP INIT_PAGE
  83.  
  84. ;ИНИТ И ВКЛЮЧЕНИЕ НАЧАЛЬНОЙ СТРАНИЦЫ ДЛЯ ЗАГРУЗКИ TRD ФАЙЛА
  85. EXT_TRD        
  86.                 IF MEMTYPE=PROFI
  87.                 LD A,0X3F
  88.                 ELSEIF MEMTYPE=PENT22
  89.                 XOR A
  90.                 ELSE
  91.                 LD A,PAGE_DATARAMD
  92.                 ENDIF
  93.                 JP INIT_PAGE
  94.  
  95. CP_EXT          LD C,0
  96. CPETR2          LD A,(DE)
  97.                 AND A
  98.                 JR Z,CPETR1+1
  99.                 INC C
  100.                 PUSH DE
  101.                 PUSH HL
  102.                 CALL COMPARF
  103.                 POP HL
  104.                 POP DE
  105.                 JR Z,CPETR1
  106.                 INC DE
  107.                 INC DE
  108.                 INC DE
  109.                 JR CPETR2
  110.  
  111. CPETR1          LD A,C
  112.                 AND A
  113.                 RET
  114.  
  115. COMPARF         LD A,(DE)
  116.                 CP (HL)
  117.                 RET NZ
  118.                 INC HL
  119.                 INC DE
  120.                 LD A,(DE)
  121.                 CP (HL)
  122.                 RET NZ
  123.                 INC HL
  124.                 INC DE
  125.                 LD A,(DE)
  126.                 CP (HL)
  127.                 RET
  128.  
  129. NUM4EXT         DB 0                    ;НОМЕР ЗАГРУЖАЕМОГО РАСШИРЕНИЯ
  130. FILE_EXT        IF PROFI=1
  131.                 DZ "TRDtrd"
  132.                 ELSE
  133.                 DZ "TAPtapTRDtrd"       ;СПИСОК ПРИНИМАЕМЫХ РАСШИРЕНИЙ
  134.                 ENDIF
  135.  
  136. FUNC4EXT        IF PROFI=1
  137.                 DW EXT_TRD
  138.                 DW EXT_TRD
  139.                 ELSE
  140.                 DW EXT_TAP
  141.                 DW EXT_TAP
  142.                 DW EXT_TRD
  143.                 DW EXT_TRD
  144.                 ENDIF
  145.