Subversion Repositories pentevo

Rev

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

  1.  
  2. ;GET_1F DI
  3. ;       LD IX,0X2FC1    ;OUT(1F),D0
  4. ;       CALL DOSIX
  5. ;       LD A,8
  6. ;       LD C,0X1F
  7. ;       LD IX,0X2A53    ;OUT(C),A
  8. ;       CALL DOSIX
  9. ;       LD B,0
  10. ;       LD A,0XFF
  11. ;       LD (0X5CD8),A
  12. ;       CALL READ_1F
  13. ;       PUSH AF
  14. ;       LD A,0XC9
  15. ;       LD (0X5CC2),A
  16. ;       XOR A
  17. ;       LD IX,0X1FF3    ;OUT(FF),A
  18. ;       CALL DOSIX
  19. ;       LD IX,0X1FEB    ;OUT(FF),(5D16)|3C
  20. ;       CALL DOSIX
  21. ;       LD IX,0X2FC1    ;OUT(1F),D0
  22. ;       CALL DOSIX
  23. ;       POP AF
  24. ;       EI
  25. ;       RET
  26.  
  27. ;READ_1F        LD (RD1F_SP+1),SP
  28. ;       LD A,0XC3
  29. ;       LD (0X5CC2),A
  30. ;       LD HL,RD1F_SP
  31. ;       LD (0X5CC3),HL
  32. ;       LD IX,0X2076
  33. ;       JP DOSIX
  34.  
  35. ;RD1F_SP        LD SP,0
  36. ;       XOR A
  37. ;       RET
  38.  
  39. ;G1FKNOW        LD A,(yIKNOW)
  40. ;       AND A
  41. ;       RET Z
  42. ;       PUSH IX
  43. ;       CALL GET_1F
  44. ;       POP IX
  45. ;       LD HL,OLD_1F
  46. ;       CP (HL)
  47. ;       RET Z
  48. ;       POP HL
  49. ;_IKNOW CALL GLUDIN
  50. ;       LD A,0XC3
  51. ;       LD (0X5CC2),A
  52. ;       LD HL,ONERR
  53. ;       LD (0X5CC3),HL
  54. ;       CALL S_FACE
  55. ;       LD IX,mIKNOW
  56. ;       CALL DRAWWIN
  57. ;       CALL NAMEROM
  58. ;       CALL PRINTTIME
  59. ;       LD C,0X3F
  60. ;       XOR A
  61. ;       LD IX,0X2A53
  62. ;       CALL DOSIX
  63. ;       LD A,0X5F
  64. ;       CALL DOSIX
  65. ;       LD C,0X1F
  66. ;       LD A,0X0C
  67. ;       CALL DOSIX
  68. ;       LD IX,0X3EF5
  69. ;       CALL DOSIX
  70. GLUBOOT         LD HL,FLAGS
  71.                 RES 3,(HL)                      ;ЗАПУСК С ДИСКЕТЫ
  72.                 LD HL,ADR_CAT
  73.                 LD DE,8
  74.                 LD BC,0X0105
  75.                 CALL TO_DOS4BAS                 ;ЗАГРУЗИЛИ 9 СЕКТОР
  76.                 LD A,(ADR_CAT+0XE7)
  77.                 CP 0X10                         ;ПРОВЕРКА НА ПРИЗНАК TR_DOS
  78.                 JP NZ,CMP_VIRTUAL;PRT_NONETRDOS         ;ОШИБКА, ДИСК НЕ TR-DOS
  79.                 LD HL,ADR_CAT
  80.                 LD DE,0
  81.                 LD BC,0X0905
  82.                 CALL TO_DOS4BAS                 ;ЗАГРУЗКА TR-DOS ДИРЫ
  83.                 LD A,(ADR_CAT+0X8E7)
  84.                 CP 0X10                         ;ПРОВЕРКА НА ПРИЗНАК TR_DOS
  85.                 JP NZ,_STUPID
  86. ;               CALL GET_1F                     ;ЧТЕНИЕ ПОРТА TR-DOS
  87. ;               LD (OLD_1F),A
  88.                 LD IX,ADR_CAT
  89.                 LD DE,0X10
  90.                 LD A,(ADR_CAT+0X8E4)
  91.                 AND A
  92.                 JP Z,NO_BAS
  93.                 LD B,A                          ;СКОЛЬКО ФАЙЛОВ НАДО ПРОСМОТРЕТЬ
  94.                 LD C,0                          ;ОБНУЛЕНИЕ СЧЕТЧИКА НАЙДЕННОГО
  95.                 EXX
  96.                 PUSH IX
  97.                 POP DE
  98.                 EXX
  99. FIND_BASIC      LD A,(IX+8)
  100.                 CP "B"                          ;ИЩЕМ ТОЛЬКО БАСИК ФАЙЛЫ
  101.                 JR NZ,FINDBAS1
  102.                 LD A,(IX+0)
  103.                 DEC A                           ;ПРОВЕРКА НА УДАЛЕННЫЙ ФАЙЛ
  104.                 JR Z,FINDBAS1
  105.                 EXX
  106.                 PUSH IX
  107.                 POP HL                          ;ОТКУДА ПЕРЕНОСИТЬ ОПИСАТЕЛЬ
  108.                 REPT 16
  109.                 LDI
  110.                 ENDM
  111.                 EXX
  112.                 INC C
  113. FINDBAS1        ADD IX,DE
  114.                 DJNZ FIND_BASIC
  115.                 LD IX,WIN_FILES                 ;ОКНО ДЛЯ ВЫВОДА БАСИК ФАЙЛОВ
  116. OUT_HOB         LD (IX+7),0
  117.                 LD (IX+8),C
  118.                 LD (IX+9),B                     ;ПОЛНОЕ КОЛИЧЕСТВО НАЙДЕННОГО
  119.                 LD (IX+0X0A),0
  120.                 LD (IX+0X0B),0                  ;ОБНУЛЯЕМ ПОЗИЦИЮ ФАЙЛОВ И КУРСОРА
  121. REOUT_HOB       LD A,B
  122.                 OR C                            ;ПРОВЕРКА КОЛИЧЕСТВА НАЙДЕННОГО
  123.                 JP Z,NO_BAS                     ;ЕСЛИ 0, ТО НЕТ БАСИКОВ
  124.                 RES 2,(IY+55)                   ;ПРЕДПОЛОЖИТЕЛЬНО ФАЙЛОВ МЕНЕЕ ВЫСОТЫ ОКНА
  125.                 LD A,B
  126.                 AND A
  127.                 LD A,C
  128.                 JR NZ,FINDBAS2
  129.                 CP H_FILE-1
  130.                 JR C,FINDBAS2
  131.                 SET 2,(IY+55)                   ;ФАЙЛОВ БОЛЬШЕ ВЫСОТЫ ОКНА
  132.                 LD A,H_FILE-2
  133. FINDBAS2        LD (KOL4OUT),A                  ;УСТАНОВКА КОЛИЧЕСТВА ОПИСАТЕЛЕЙ В ОКНО
  134.                 ADD A,2
  135.                 LD (IX+2),A                     ;УСТАНОВКА ВЫЧИСЛЕННОЙ ВЫСОТЫ ОКНА
  136.                 LD (IX+3),V_FILE                ;УСТАНОВКА ШИРИНЫ ОКНА
  137. FINDBAS6        LD HL,FLAGS
  138.                 BIT 3,(HL)
  139.                 JR Z,FINDBAS5                   ;ЕСЛИ РАБОТА С TR-DOS, ТО ПЕРЕХОДИМ НА ВЫВОД ОКНА
  140.                 INC (IX+3)
  141.                 LD A,(IX+2)                     ;ЕСЛИ РАБОТА С FAT, ТО ОКНО НАДА ВЫВОДИТЬ В ПОЛНЫЙ РОСТ
  142.                 PUSH AF                         ;СОХРАНИЛИ ВЫЧИСЛЕНУЮ ВЫСОТУ И ШИРИНУ ОКНА
  143.                 LD (IX+2),H_FILE
  144.                 CALL WINW                       ;ВЫВЕЛИ ОКНО В ПОЛНЫЙ РОСТ
  145.                 POP AF
  146.                 LD (IX+2),A
  147.                 JR FINDBAS7
  148.  
  149. FINDBAS5        CALL WINW                       ;ВЫВОДИМ ОКНО
  150. FINDBAS7
  151. ;               LD B,(IX+2)
  152. ;               DEC B
  153. ;               DEC B
  154. ;               LD C,"A"
  155. ;               LD DE,HOT_KEY
  156. ;FINDBAS5       PUSH BC
  157. ;               LD A,C
  158. ;               LD (DE),A
  159. ;               LD HL,HOT_KEYS
  160. ;               CALL NEXT
  161. ;               POP BC
  162. ;               INC C
  163. ;               DJNZ FINDBAS5
  164.                 CALL OUT_TEK_DIR                ;ВЫВОДИМ КУСОЧЕК ДИРЕКТОРИИ
  165. ;               BIT 2,(IY+55)
  166. ;               JP Z,_RULILKA
  167. ;               CALL RIGHT_SIDE                 ;ЕСЛИ НАЙДЕНО БОЛЬШЕ ВЫСОТЫ ОКНА -2, ТО РИСУЕМ БОКОВУШКУ
  168.                 JP _RULILKA
  169.  
  170. ;ВЫВОД ЧАСТИ ДИРЕКТОРИИ С УКАЗАННОЙ ПОЗИЦИИ
  171. OUT_TEK_DIR     LD L,(IX+0X0A)                  ;ВЫВОД ДИРЫ TR-DOS ДИСКА
  172.                 LD H,(IX+0X0B)                  ;ПОЛУЧИЛИ НОМЕР ТЕКУЩЕЙ ПОЗИЦИИ
  173.                 LD E,(IX+7)                     ;ПОЛУЧИЛИ ПОЗИЦИЮ КУРСОРА В ОКНЕ
  174.                 XOR A
  175.                 LD D,A
  176.                 SBC HL,DE                       ;ВЫЧИСЛИЛИ ПОЗИЦИЮ ФАЙЛА С КОТОРОГО БУДЕМ ВЫВОДИТЬ
  177.                 LD DE,ADR_CAT
  178.                 ADD HL,HL
  179.                 LD A,(FLAGS)
  180.                 AND 8
  181.                 JR NZ,OUT_TEK_FAT               ;ПЕРЕХОД ЕСЛИ ДЛЯ FAT
  182.                 ADD HL,HL
  183.                 ADD HL,HL
  184.                 ADD HL,HL                       ;УМНОЖИЛИ НА РАЗМЕР ОПИСАТЕЛЯ
  185.                 ADD HL,DE                       ;ВЫЧИСЛИЛИ АДРЕС ОПИСАТЕЛЯ С КОТОРОГО БУДЕМ ВЫВОДИТЬ
  186.                 LD C,(IX+2)
  187.                 DEC C
  188.                 DEC C                           ;ВЫЧИСЛИЛИ СКОЛЬКО ВЫВОДИТЬ
  189.                 LD D,(IX+0)
  190.                 LD E,(IX+1)
  191.                 INC D
  192.                 INC D
  193.                 INC E                           ;ВЫЧИСЛИЛИ ПОЗИЦИЮ ВЫВОДА НА ЭКРАН
  194. FINDBAS3        LD B,8                          ;ПЕЧАТАЕМ ТОЛЬКО ИМЯ
  195.                 PUSH DE
  196. FINDBAS4        LD A,(HL)
  197.                 INC HL
  198.                 CALL PRT_SYM
  199.                 DJNZ FINDBAS4
  200.                 LD DE,8                         ;8 СИМВОЛОВ НАПЕЧАТИЛИ, ОСТАЛЬНЫЕ 8 ПРОПУСКАЕМ
  201.                 ADD HL,DE
  202.                 POP DE
  203.                 INC E
  204.                 DEC C
  205.                 JR NZ,FINDBAS3                  ;ЕСЛИ НЕ КОНЧИЛИСЬ ПЕРЕХОДИМ НА ПЕЧАТЬ СЛЕДУЮЩЕГО ИМЕНИ
  206.                 RET
  207.  
  208. ;ВЫВОД ДИРЫ НА FAT
  209. OUT_TEK_FAT     ADD HL,DE
  210.                 LD D,(IX+0)
  211.                 LD E,(IX+1)
  212.                 INC D
  213.                 INC D
  214.                 INC E                           ;ВЫЧИСЛИЛИ ПОЗИЦИЮ ВЫВОДА НА ЭКРАН
  215.                 LD C,0
  216. KOL4OUT         EQU $-1
  217. OTF2            PUSH BC
  218.                 LD C,(HL)
  219.                 INC HL
  220.                 LD B,(HL)
  221.                 INC HL
  222.                 PUSH HL
  223.                 PUSH DE
  224.                 LD A,6
  225.                 CALL COM_FAT
  226.                 DB Positf
  227.                 CALL COM_FAT
  228.                 DB Getfzap
  229.                 POP DE
  230.                 PUSH DE
  231.                 LD BC,0X0B
  232.                 ADD HL,BC
  233.                 LD A,(HL)
  234.                 SBC HL,BC
  235.                 AND 0X10
  236.                 LD A,0
  237.                 JR NZ,OTF4
  238.                 LD A,1
  239. OTF4            CALL PRTSYMALT
  240.                 LD B,8
  241. OTF1            LD A,(HL)
  242.                 INC HL
  243.                 CALL PRT_SYM
  244.                 DJNZ OTF1
  245.                 POP DE
  246.                 POP HL
  247.                 POP BC
  248.                 INC E
  249.                 DEC C
  250.                 JR NZ,OTF2
  251.                 RET
  252.  
  253. NO_BAS          LD IX,NOBASIC
  254.                 CALL WINW
  255.                 JP _RULILKA
  256.  
  257. RUNFILE         DI
  258.                 CALL SHUT2AY                    ;БУМКАЛКА В AY
  259.                 LD L,(IX+0X0A)
  260.                 LD H,(IX+0X0B)                  ;НОМЕР ВЫБРАННОГО ФАЙЛА
  261.                 LD DE,ADR_CAT
  262.                 ADD HL,HL
  263.                 ADD HL,HL
  264.                 ADD HL,HL
  265.                 ADD HL,HL
  266.                 ADD HL,DE                       ;ОТКУДА ИМЯ ФАЙЛА ВЗЯТЬ
  267.                 LD DE,RUNNAM
  268.                 LD BC,8
  269.                 LDIR
  270.                 LD HL,0X3E08+0XA7
  271.                 LD DE,0XFFFF
  272.                 LD C,0XA8                       ;21 символ UDG
  273.                 LDDR
  274.                 LD HL,RUN_BASIC
  275.                 LD DE,0X5D3B
  276.                 LD BC,ERUN_BASIC-RUN_BASIC
  277.                 LDIR                            ;ПЕРЕНОС БЕЙСИК ПРОГИ ДЛЯ ЗАПУСКА
  278.                 CALL MEMSET                     ;ВЫСТАВИЛИ РЕЖИМ КОМПА
  279.                 CALL FOR_RUN
  280.                 EI
  281.                 JP 0X1B7D                       ;ЗАПУСК ПЕРЕНЕСЕННОЙ БЕЙСИК ПРОГИ
  282.  
  283. ;               LD BC,0XFE8F
  284. ;               CALL 0X1EB7
  285. ;               LD HL,0X1303
  286. ;               PUSH HL
  287. ;               LD (0X5C3D),SP
  288. ;               LD HL,(0X5C4F)
  289. ;               LD DE,0X0F
  290. ;               ADD HL,DE
  291. ;               LD DE,0X15BE
  292. ;               EX DE,HL
  293. ;               LD BC,4
  294. ;               LDIR
  295. ;               RES 4,(IY+1)
  296. ;               SET 7,(IY+1)
  297. ;               LD HL,0X1B7D
  298. ;               PUSH HL
  299. ;               LD HL,LOC_5BEA
  300. ;               PUSH HL
  301. ;               LD HL,0X2970
  302. ;               PUSH HL
  303. ;               LD HL,0X2920
  304. ;               PUSH HL
  305. ;               LD HL,0X294A
  306. ;               PUSH HL
  307. ;               JP 0X3D2F
  308.  
  309. ;LOC_5BEA       LD HL,(0X5C61)
  310. ;               LD A,(HL)
  311. ;               DEC HL
  312. ;               LD L,(HL)
  313. ;               LD H,A
  314. ;               LD (0X5C42),HL
  315. ;               XOR A
  316. ;               LD (0X5C44),A
  317. ;               RET
  318.  
  319. E_LINE          EQU 0X5C59
  320. K_CUR           EQU 0X5C5B
  321. WORKSP          EQU 0X5C61
  322. STKBOT          EQU 0X5C63
  323. STKEND          EQU 0X5C65
  324. TRD_5D0E        EQU 0X5D0E
  325.  
  326. FOR_RUN
  327. ;               LD HL,BAS4TAPE
  328. ;               LD DE,0X5C3A
  329. ;               LD BC,EBAS4TAPE-BAS4TAPE
  330. ;               LDIR                    ;ПЕРЕМЕННЫЕ БАСИКА СДЕЛАЛИ FOR ONLY TAPE
  331. ;               LD HL,0X3D21
  332. ;               CALL TODOS4RUN
  333. ;               LD A,0XFE
  334. ;               LD (TRD_5D0E),A
  335. ;               LD HL,(E_LINE)
  336. ;               LD (HL),0XF7
  337. ;               INC HL
  338. ;               LD (HL),0X22
  339. ;               INC HL
  340. ;               LD DE,RUNNAM
  341. ;               LD BC,8
  342. ;               EX DE,HL
  343. ;               LDIR
  344. ;               EX DE,HL
  345. ;               LD (HL),0X22
  346. ;               INC HL
  347. ;               LD (K_CUR),HL
  348. ;               LD (HL),0X0D
  349. ;               INC HL
  350. ;               LD (HL),0X80
  351. ;               INC HL
  352. ;               LD (WORKSP),HL
  353. ;               LD (STKBOT),HL
  354. ;               LD (STKEND),HL
  355.                 SET 3,(IY+1)
  356.                 LD IY,0X5C3A
  357.                 LD (IY),0XFF
  358.                 SET 7,(IY+1)
  359.                 RES 4,(IY+1)
  360.                 LD HL,0X2758
  361.                 EXX
  362.                 LD A,0XC9
  363.                 LD (0X5CC2),A
  364.                 LD HL,0
  365.                 LD (0X5C42),HL
  366.                 XOR A
  367.                 LD (0X5C44),A
  368.                 RET
  369.                 LD HL,0X2EF
  370.                 EI
  371. TODOS4RUN       PUSH HL
  372.                 JP 0X3D2F
  373.  
  374. ;               LD BC,0X5FFF
  375. ;               CALL 0X1EB7                     ;УСТАНОВКА СТЕКА СРЕДСТВАМИ БЕЙСИКА
  376. ;               LD (0X5C3D),SP
  377. ;               RET
  378.  
  379. ;КРУГОВОЙ ПЕРЕБОР ИМЕНИ ДИСКОВОДА 1-4 (A-D)
  380. NEXTDRIVE       LD A,(TXT_DRIVE)                ;ВЗЯЛИ БУКВУ ТЕКУЩЕГО ДИСКОВОДА
  381.                 INC A                           ;+1, ТО ЕСТЬ ВЫБРАЛИ СЛЕДУЮЩИЙ ПО ПОРЯДКУ
  382.                 SUB 0X10                        ;ПРЕВРАТИЛИ В НОМЕР
  383.                 CP "5"                          ;ЕСЛИ ПРЕВЫСИЛИ 4
  384.                 JR C,SELDRV1
  385.                 SUB 4                           ;ТО ИЗМЕНИЛИ НА НОМЕР ПЕРВЫЙ
  386.                 JR SELDRV1
  387.  
  388. NEXTVIRT        LD HL,MAINLOP
  389.                 PUSH HL
  390.                 LD A,(FLAGS)
  391.                 AND 4
  392.                 RET Z
  393.                 LD H,0X0F
  394.                 CALL READCMOS
  395.                 INC A
  396.                 CP 4
  397.                 JR C,NEXTVIRT1
  398.                 XOR A
  399. NEXTVIRT1       LD L,A
  400.                 ADD A,"A"
  401.                 LD (VIRT_DRIVE),A
  402.                 CALL WRITECMOS
  403.                 CALL REST2X2
  404.                 CALL PRT_VIRTDRV
  405.                 LD A,(FLAGS)
  406.                 AND 2
  407.                 RET Z
  408.                 JP DRAW_MOUSE
  409.  
  410. ;ИЗМЕНЕНИЕ НОМЕРА ДИСКОВОДА И СОХРАНЕНИЕ В КМОСЕ ЕСЛИ ТАКОВОЙ ОБНАРУЖЕН
  411. SELDRV          LD A,(0X5C08)                   ;ВЗЯЛИ НОМЕР ДИСКОВОДА
  412. SELDRV1         SUB "1"                         ;ОБРАТИЛИ В БИНАРНЫЙ ВИД ДЛЯ ЗАПИСИ В ПЕРЕМЕННУЮ
  413.                 LD HL,MAINLOP                   ;АДРЕС КУДА ВЕРНУТЬСЯ ПОСЛЕ ЗАПИСИ
  414.                 PUSH HL
  415. SELDRVPP        LD (DRV_SYM),A
  416.                 LD L,A
  417.                 LD A,(FLAGS)
  418.                 AND 4
  419.                 RET Z                           ;ЕСЛИ КМОС НЕ НФЙДЕН, ВЫХОДИМ
  420.                 LD H,0X10
  421.                 CALL WRITECMOS                  ;СОХРАНЯЕМ ВЫБРАННЫЙ ДИСКОВОД В КМОСЕ
  422.                 CALL SET_DRIVE                  ;УСТАНОВКА ИЗМЕНЕНИЯ
  423.                 CALL REST2X2                    ;ВОССТАНОВИЛИ ПОД КУРСОРОМ МЫШИ
  424.                 CALL PRT_DRV_SYM                ;ПЕРЕПЕЧАТАЛИ СТРОКУ О ДИСКОВОДАХ
  425.                 LD A,(FLAGS)
  426.                 AND 2
  427.                 RET Z
  428.                 JP DRAW_MOUSE                   ;НАРИСОВАЛИ МЫШЬ НА СТАРОМ МЕСТЕ
  429.  
  430. ;FIX mouse key if no mouse
  431. ONERNCLS        LD A,(FLAGS)
  432.                 AND 2
  433.                 JR Z,ONERNC1
  434.                 LD A,0XFA
  435.                 IN A,(0XDF)
  436.                 RRA
  437.                 JP NC,_STUPID
  438. ONERNC1         POP AF
  439.                 EX (SP),HL
  440.                 RET
  441.  
  442. ;ПЕРЕХВАТ ДИСКОВОЙ ОШИБКИ ДЛЯ ОБРАБОТКИ
  443. ONERR           EX (SP),HL
  444.                 PUSH AF
  445.                 LD A,H
  446.                 CP HIGH (0X0D6B)
  447.                 JR NZ,ONERNCLS
  448.                 LD A,L
  449.                 CP LOW (0X0D6B)
  450.                 JR NZ,ONERNCLS
  451.                 POP HL
  452.                 POP HL
  453.                 POP HL
  454.                 POP HL
  455.                 POP HL
  456.                 EI
  457.                 CALL GLUDIN
  458.                 LD HL,0X5CF4
  459.                 LD A,(HL)                       ;ВЗЯЛИ НОМЕР СЕКТОРА
  460.                 INC A
  461.                 CALL DIV10
  462.                 LD (NUM_SEC_TXT+1),A
  463.                 LD A,D
  464.                 LD (NUM_SEC_TXT),A
  465.                 INC HL
  466.                 LD A,(HL)                       ;ВЗЯЛИ НОМЕР ТРЕКА
  467.                 SRL A
  468.                 LD E,A
  469.                 ADC A,"0"
  470.                 SUB E
  471.                 LD (SIDE_DISK),A                ;СТОРОНА ДИСКА
  472.                 LD A,E
  473.                 CALL DIV10
  474.                 LD (NUM_TRK_TXT+1),A
  475.                 LD A,D
  476.                 LD (NUM_TRK_TXT),A
  477.                 LD IX,DSK_ERR                   ;ОКНО ВЫВОДИМ ПОЛНОСТЬЮ
  478.                 CALL WINW
  479.                 JP _RULILKA
  480.  
  481. RESET_VG       
  482. ;               LD C,0XFF
  483. ;               XOR A
  484. ;               LD IX,0X2A53                    ;OUT(C),A
  485. ;               CALL DOSIX
  486. ;               LD A,(DRV_SYM)
  487. ;               OR 0X3C
  488. ;               CALL DOSIX
  489. ;               LD A,0X68                       ;шаг назад
  490. ;               LD C,0X1F
  491. ;               CALL DOSIX
  492.                 LD HL,DSTUPID
  493.                 LD (0X5C3D),HL
  494.                 LD A,0XC3
  495.                 LD (0X5CC2),A
  496.                 LD HL,ONERR
  497.                 LD (0X5CC3),HL
  498.                 RET
  499.  
  500. DOSIX           PUSH IX
  501.                 JP TO_DOS
  502.  
  503. ;ПРОВЕРКА НАЛИЧИЯ МАРКЕРА РАМДИСКА, ПРИ ОТСУСТВИИ СОЗДАНИЕ ДИСКА НА 640КБ
  504. DISK_NONE       LD A,1
  505.                 OUT (PEVO_CONF),A
  506.                 LD A,PAGE_RAMDISK
  507.                 LD BC,WIN_P1
  508.                 OUT (C),A
  509.                 LD HL,0X7FFF
  510.                 LD A,(HL)
  511.                 DEC H
  512.                 CP "R"
  513.                 JR NZ,DISK_NONE1
  514.                 LD A,(HL)
  515.                 CP "D"
  516. DISK_NONE1      EX AF,AF'
  517.                 LD A,0XFA
  518.                 OUT (C),A
  519.                 XOR A
  520.                 OUT (PEVO_CONF),A
  521.                 EX AF,AF'
  522.                 JP NZ,CREATE_TRDRAM             ;МАРКЕР НЕ ОБНАРУЖЕН, СОЗДАТЬ
  523.                 RET
  524.  
  525. ;FormTR SRL A
  526. ;       LD (_phystr),A
  527. ;       RLA
  528. ;       LD C,2                  ;позиционир-е на лог.tr A
  529. ;       CALL TO_DOS4BAS
  530. ;       LD A,0XFF
  531. ;       LD (0X5CD8),A
  532. ;       LD HL,SeCS
  533. ;       LD (0X5CE6),HL
  534. ;       LD E,0
  535. ;_phystr        EQU $-1
  536. ;       LD IX,0X1FFD            ;format track
  537. ;       JR DOSIX
  538.  
  539. DIV10   LD D,0X30-1
  540.         INC D
  541.         SUB 0X0A
  542.         JR NC,$-3
  543.         ADD A,0X0A+0X30
  544.         RET
  545.  
  546. _RETRY  LD A,"R"
  547.         JR $+4
  548.  
  549. _IGNORE LD A,"I"
  550.         LD HL,0X3F7E
  551.         EX (SP),HL
  552.         DI
  553.         JP TO_DOS
  554.