Subversion Repositories pentevo

Rev

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

  1.  
  2. ;LAST UPDATE: 28.04.2015 savelij
  3.  
  4. ;[0x18B7 УСТАНОВКА АДРЕСА ЗАПУСКА]
  5. ADR_START_COM   LD (TRD_5CC6),HL
  6.                 LD DE,(TRD_5CEB)                ;ТРЕК И СЕКТОР МЕСТОПОЛОЖЕНИЯ ФАЙЛА
  7.                 RET
  8.  
  9. ;[0x1CFE УДАЛЕНИЕ БУФЕРА]
  10. DELETE_BUFFER   CALL DELETE_BUF
  11.                 JP CLRBUF_EDITOR
  12.  
  13. ;[0x1D5E ЗАПУСКА ФАЙЛА]
  14. RUN_FILE        JP Z,WORK4AUTORUN               ; ОБРАБОТКА СТРОКИ АВТОЗАПУСКА БЕЙСИКА
  15.                 CP "C"
  16.                 JP NZ,SINTAX_ERROR
  17. RUNCODE         LD HL,RUN_CODE
  18.                 LD (TRD_5D1A),HL
  19.                 JP END_COMAND
  20.  
  21. ;[0x36E8 ЗАПУСКАЛКА КОДОВОГО БЛОКА]
  22. RUN_CODE        CALL RESTORE_SP
  23.                 LD BC,(TRD_5CC6)                ;АДРЕС ЗАГРУЗКИ ИЗ КОМАНДНОЙ СТРОКИLD BC,(TRD_5CD9)
  24.                 PUSH BC
  25.                 RET
  26.  
  27. ;[0x214A ПЕЧАТЬ ИМЕНИ ПРИВОДА/РАЗДЕЛА]
  28. ;ЕСЛИ КОМАНДА РАСШИРЕННАЯ ТО ПЕЧАТЬ ИМЕНИ FAT УСТРОЙСТВА
  29. ;ИНАЧЕ ПЕЧАТЬ ИМЕНИ TR-DOS ДИСКОВОДА
  30.         IF EMU
  31. GET_COMMAND2    LD A,(TRD_5CEF)
  32.                 AND A
  33.                 CALL NZ,NOMER_DRV               ;ПЕЧАТЬ ИМЕНИ FAT УСТРОЙСТВА ЕСЛИ КОМАНДА НАЧИНАЕТСЯ С "."
  34.                 RET C                           ;ВЫХОД ЕСЛИ УЖЕ НАПЕЧАТАНА БУКВА FAT УСТРОЙСТВА
  35.                 LD A,(TRD_5D19)
  36.                 ADD A,"A"
  37.                 RST 0X10
  38.                 RET
  39.         ENDIF
  40.  
  41. ;[ПЕЧАТЬ ТЕКУЩЕГО ФОРМАТИРУЕМОГО ТРЕКА И СТОРОНЫ]
  42. PRINT_NUM_TRK   PUSH DE
  43.                 PUSH AF
  44.                 PUSH DE
  45.                 LD A,0X16
  46.                 RST 0X10
  47.                 LD A,(0X5C6B)
  48.                 DEC A
  49.                 RST 0X10
  50.                 LD A,0
  51.                 RST 0X10
  52.                 LD HL,TXT_FORMAT_TRK
  53.                 RST 0X18
  54.                 POP DE
  55.                 LD C,E
  56.                 LD B,0
  57.                 CALL PRINT_CHISLO
  58.                 LD HL,TXT_FSIDE
  59.                 RST 0X18
  60.                 POP AF
  61.                 LD A,"0"
  62.                 ADC A,0
  63.                 RST 0X10
  64.                 POP DE
  65.                 RET
  66.                
  67. TXT_FORMAT_TRK  DC "FORMAT TRACK: "
  68. TXT_FSIDE       DC "  SIDE: "
  69.  
  70. ;[0x3057 ПРОВЕРКА НА "." ДЛЯ РАСШИРЕННОЙ КОМАНДЫ]
  71. CMP_SPECSYM     LD HL,(TRD_5CD9)
  72.                 LD A,(HL)
  73.                 CP "."
  74.                 JP NZ,FIND_KEYWORD
  75.                 POP HL
  76.                 RET
  77.  
  78. ;[0x0325 ENDCOMAND]
  79. ENDCOMAND       LD A,D
  80.                 CP "."
  81.                 JP NZ,END_COMAND
  82.                 cp __RETURN
  83.                 call nz,CREATE_BUF              ; СОЗДАНИЕ БУФЕРА
  84.                 ld a,9
  85.                 ld (TRD_5D06),a                 ; КОЛИЧЕСТВО СИМВОЛОВ ИМЕНИ ФАЙЛА ПРИ ПОИСКЕ
  86.                 xor a
  87.                 ld (TRD_5D0F),a                 ; НОМЕР ОШИБКИ TR-DOS
  88.                 ld (TRD_5CD6),a                 ; #FF-КОМАНДА ПРИНЯТА СИНТАКСИЧЕСКИМ АНАЛИЗАТОРОМ
  89.                 ld (TRD_5D10),a                 ; СТАРШИЙ БАЙТ ОШИБКИ
  90.                 ld hl,FLAGS
  91.                 res 7,(hl)
  92.                 LD HL,COM_DOT
  93.                 JP LOC_353
  94.  
  95. ;[0x3EBF BUGFIX_3EBF]
  96. BUGFIX_3EBF     PUSH AF
  97.                 PUSH HL
  98.                 CALL GET_TIME_HEAD
  99.                 LD B,A
  100.                 POP HL
  101.                 POP AF
  102.                 JP HEAD_POSITION
  103.  
  104. ;[0x211E ОЧИСТКА БУФЕРА ВЫПОЛНЕННОЙ КОМАНДЫ]
  105. CLRBUF_EDITOR2  POP HL
  106.                 RES 7,(IY+1)
  107.                 RST 0X20
  108.                 DW 0X19FB
  109.                 XOR A
  110.                 LD (SUBPPC),A
  111.                 DEC A
  112.                 LD (ERR_NR),A
  113.                 LD HL,(E_LINE)
  114.                 LD (CH_ADD),HL
  115.                 RST 0X20
  116.                 DW 0X19FB
  117.                 RST 0X20
  118.                 DW 0X18
  119.                 RST 0X20
  120.                 DW 0X16B0
  121.                 RET
  122.  
  123. ;[ПЕЧАТЬ НОМЕРА ФОРМАТИРУЕМОЙ ДОРОЖКИ И СТОРОНЫ]
  124. loc_20D1        AND A
  125.                 CALL PRINT_NUM_TRK
  126.                 CALL FORMAT_TREK
  127.                 CALL COM_17
  128.                 SCF
  129.                 JP PRINT_NUM_TRK
  130.