Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1.  
  2. ; LAST UPDATE: 07.01.2022 savelij
  3.  
  4.                 TITLE "patch.a80"
  5.  
  6. ; 0x18B7 установка адреса запуска
  7. ADR_START_COM   LD (TRD_5CC6),HL
  8.                 LD DE,(TRD_5CEB)                ; трек и сектор местоположения файла
  9.                 RET
  10.  
  11. ; 0x1CFE удаление буфера
  12. DELETE_BUFFER   CALL DELETE_BUF
  13.                 JP CLRBUF_EDITOR
  14.  
  15. ; 0x1D5E запуска файла
  16. RUN_FILE        JP Z,WORK4AUTORUN               ; обработка строки автозапуска бейсика
  17.                 CP "C"
  18.                 JP NZ,SINTAX_ERROR
  19. RUNCODE         LD HL,RUN_CODE
  20.                 LD (TRD_5D1A),HL
  21.                 JP END_COMAND
  22.  
  23. ; 0x36E8 запускалка кодового блока
  24. RUN_CODE        CALL RESTORE_SP
  25.                 LD BC,(TRD_5CC6)                ; адрес загрузки из командной строки
  26.                 PUSH BC
  27.                 RET
  28.  
  29. ; печать текущего форматируемого трека и стороны
  30. PRINT_NUM_TRK   PUSH DE
  31.                 PUSH AF
  32.                 PUSH DE
  33.                 LD A,0X16
  34.                 RST 0X10
  35.                 LD A,(0X5C6B)
  36.                 DEC A
  37.                 RST 0X10
  38.                 LD A,0
  39.                 RST 0X10
  40.                 LD HL,TXT_FORMAT_TRK
  41.                 RST 0X18
  42.                 POP DE
  43.                 LD C,E
  44.                 LD B,0
  45.                 CALL PRINT_CHISLO
  46.                 LD HL,TXT_FSIDE
  47.                 RST 0X18
  48.                 POP AF
  49.                 LD A,"0"
  50.                 ADC A,0
  51.                 RST 0X10
  52.                 POP DE
  53.                 RET
  54.                
  55. TXT_FORMAT_TRK  DC "FORMAT TRACK: "
  56. TXT_FSIDE       DC "  SIDE: "
  57.  
  58. ; 0x3057 проверка на "." для расширенной команды
  59. CMP_SPECSYM     LD HL,(TRD_5CD9)
  60.                 LD A,(HL)
  61.                 CP "."
  62.                 JP NZ,FIND_KEYWORD
  63.                 POP HL
  64.                 RET
  65.  
  66. ; 0x0325 ENDCOMAND
  67. ENDCOMAND       LD A,D
  68.                 CP "."
  69.                 JP NZ,END_COMAND
  70.                 cp __RETURN
  71.                 call nz,CREATE_BUF              ; создание буфера
  72.                 ld a,9
  73.                 ld (TRD_5D06),a                 ; количество символов имени файла при поиске
  74.                 xor a
  75.                 ld (TRD_5D0F),a                 ; номер ошибки TR-DOS
  76.                 ld (TRD_5CD6),a                 ; 0xFF - команда принята синтаксическим анализатором
  77.                 ld (TRD_5D10),a                 ; старший байт ошибки
  78.                 ld hl,FLAGS
  79.                 res 7,(hl)
  80.                 LD HL,COM_DOT
  81.                 JP LOC_353
  82.  
  83. ; 0x3EBF BUGFIX_3EBF
  84. BUGFIX_3EBF     PUSH AF
  85.                 PUSH HL
  86.                 CALL GET_TIME_HEAD
  87.                 LD B,A
  88.                 POP HL
  89.                 POP AF
  90.                 JP HEAD_POSITION
  91.  
  92. ; 0x211E очистка буфера выполненной команды
  93. CLRBUF_EDITOR2  POP HL
  94.                 RES 7,(IY+1)
  95.                 RST 0X20
  96.                 DW 0X19FB
  97.                 XOR A
  98.                 LD (SUBPPC),A
  99.                 DEC A
  100.                 LD (ERR_NR),A
  101.                 LD HL,(E_LINE)
  102.                 LD (CH_ADD),HL
  103.                 RST 0X20
  104.                 DW 0X19FB
  105.                 RST 0X20
  106.                 DW 0X18
  107.                 RST 0X20
  108.                 DW 0X16B0
  109.                 RET
  110.  
  111. ; печать номера форматируемой дорожки и стороны
  112. loc_20D1        AND A
  113.                 CALL PRINT_NUM_TRK
  114.                 CALL FORMAT_TREK
  115.                 CALL COM_17
  116.                 SCF
  117.                 JP PRINT_NUM_TRK
  118.