Subversion Repositories ngs

Rev

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

  1.  
  2. ;LAST UPDATE 17.06.2013 savelij
  3.  
  4. ;SD & MP3 ФУНКЦИИ ПО НОМЕРАМ
  5. Sd_init         EQU 0                   ;ИНИТ SD КАРТЫ
  6. Sd__off         EQU 1                   ;СНЯТИЕ ВЫБОРА
  7. Rdsingl         EQU 2                   ;ЧИТАТЬ 1 СЕКТОР
  8. Rdmulti         EQU 3                   ;ЧИТАТЬ "A" СЕКТОР
  9. Wrsingl         EQU 4                   ;ЗАПИСАТЬ 1 СЕКТОР-НЕТУ
  10. Wrmulti         EQU 5                   ;ЗАПИСАТЬ "A" СЕКТОРОВ-НЕТУ
  11. Avtodet         EQU 6                   ;АВТОДЕТЕКТ GS/NeoGS
  12. Freqnc          EQU 7                   ;УСТАНОВКА ЧАСТОТЫ
  13. Hardmp3         EQU 8                   ;ПОЛНЫЙ ИНИТ MP3 ЧИПА
  14. Ldi_mp3         EQU 9                   ;ПЕРЕДАЧА СЕКТОРА С SD>MP3
  15. Com_mp3         EQU 0X0A                ;RD/WR MP3 ЧИПА
  16. Softmp3         EQU 0X0B                ;SOFT ИНИТ MP3 ЧИПА
  17. Dat2mp3         EQU 0X0C                ;ПЕРЕДАЧА СЕК. GSDAT>MP3
  18. Zer2mp3         EQU 0X0D                ;ПЕРЕДАЧА 2048 НУЛЕЙ>MP3
  19.  
  20. ;ДРАЙВЕР SD-CARD ДЛЯ NGS
  21. ;+ДРАЙВЕР ДЛЯ MP3-ДЕКОДЕРА
  22.  
  23. ;Входные параметры общие:
  24. ;HL-адрес загрузки в память
  25. ;BCDE-32-х битный номер сектора
  26. ;A-количество блоков (блок=512 байт)
  27. ;только для многоблочной записи/чтении
  28.  
  29. ;Ошибки выдаваемые на выходе:
  30. ;A=0-инициализация прошла успешно
  31. ;A=1-карта не найдена или не ответила
  32. ;A=2-карта защищена от записи
  33. ;A=3-попытка записи в сектор 0 карты
  34. ;A=0X80-карта перестала отвечать
  35.  
  36. ;ОБЩАЯ ТОЧКА ВХОДА ДЛЯ РАБОТЫ С SD КАРТОЙ
  37.                 CALL CMP_INT
  38.                 DI
  39.                 EXX
  40.                 PUSH HL                 ;СОХРАНИЛИ HL'
  41.                 PUSH DE                 ;СОХРАНИЛИ DE'
  42.                 LD HL,OK_SD
  43.                 PUSH HL                 ;ВОЗВРАТ НА ВСЕ OK
  44.                 LD HL,0
  45.                 ADD HL,SP               ;СОХРАНИЛИ СТЕК
  46.                 EX DE,HL
  47.                 LD HL,ERR_SD            ;АДРЕС ПЕРЕХОДА ПРИ ОШИБКЕ
  48.                 EXX
  49.                 PUSH HL
  50.                 PUSH DE
  51.                 ADD A,A
  52.                 LD L,A
  53.                 LD H,0
  54.                 LD DE,TABL_SD
  55.                 ADD HL,DE
  56.                 EX AF,AF'
  57.                 LD E,(HL)
  58.                 INC HL
  59.                 LD D,(HL)
  60.                 EX DE,HL
  61.                 POP DE
  62.                 EX (SP),HL
  63.                 RET
  64.  
  65. OK_SD           EXX
  66. ERR_SD          EX DE,HL
  67.                 LD SP,HL
  68.                 POP DE
  69.                 POP DE
  70.                 POP HL
  71.                 EXX
  72.                 PUSH AF
  73.                 LD A,(INT_MODE)
  74.                 AND A
  75.                 JR Z,ERR_SD1
  76.                 EI
  77. ERR_SD1         POP AF
  78.                 RET
  79.  
  80. TABL_SD         DW SD_INIT              ;0 параметров не требует, на выходе A смотри выше первые 2 значения
  81.                 DW SD__OFF              ;1 просто снятие выбора SD карты
  82.                 DW RDSINGL              ;2 ЧИТАТЬ 1 СЕКТОР
  83.                 DW RDMULTI              ;3 ЧИТАТЬ "A" СЕКТОРОВ
  84.                 DW EMPTY                ;4 ПИСАТЬ 1 СЕКТОР
  85.                 DW EMPTY                ;5 ПИСАТЬ "A" СЕКТОРОВ
  86.                 DW AVTODET              ;6-АВТОДЕТЕКТ
  87.                 DW FREQNC               ;7-ЗАДАЧА ЧАСТОТЫ
  88.                 DW HARDMP3              ;8 INIT MP3-ДЕКОДЕРА
  89.                 DW LDI_MP3              ;9 ГОН С SD НА MP3
  90.                 DW COM_MP3              ;0XA RD&WR В MP3-ДЕКОД
  91.                 DW SOFTMP3              ;0XB SOFT RESET MP3CHIP
  92.                 DW DAT2MP3              ;0XC ГОН С GSDAT2MP3
  93.                 DW ZER2MP3              ;0XD 2048 НУЛЕЙ НА MP3
  94.  
  95. EMPTY           RET
  96.  
  97. ZAW003          CALL SD__OFF
  98.                 LD A,1
  99.                 RET
  100.  
  101. SD_INIT         CALL CS_HIGH
  102.                 LD BC,SD_SEND
  103.                 LD DE,0X20FF
  104.                 OUT (C),E
  105.                 DEC D
  106.                 JR NZ,$-3
  107.                 LD BC,SD_RSTR
  108.                 XOR A
  109.                 EX AF,AF'
  110. ZAW001          LD HL,CMD00
  111.                 CALL OUTCOM
  112.                 CALL IN_OOUT
  113.                 EX AF,AF'
  114.                 DEC A
  115.                 JR Z,ZAW003
  116.                 EX AF,AF'
  117.                 DEC A
  118.                 JR NZ,ZAW001
  119.                 LD HL,CMD08
  120.                 CALL OUTCOM
  121.                 CALL IN_OOUT
  122.                 IN H,(C)
  123.                 NOP
  124.                 IN H,(C)
  125.                 NOP
  126.                 IN H,(C)
  127.                 NOP
  128.                 IN H,(C)
  129.                 LD HL,0
  130.                 BIT 2,A
  131.                 JR NZ,ZAW006
  132.                 LD H,0X40
  133. ZAW006          LD A,CMD_55
  134.                 CALL OUT_COM
  135.                 CALL IN_OOUT
  136.                 LD BC,SD_SEND
  137.                 LD A,ACMD_41
  138.                 OUT (C),A
  139.                 NOP
  140.                 OUT (C),H
  141.                 NOP
  142.                 OUT (C),L
  143.                 NOP
  144.                 OUT (C),L
  145.                 NOP
  146.                 OUT (C),L
  147.                 LD A,0XFF
  148.                 OUT (C),A
  149.                 CALL IN_OOUT
  150.                 AND A
  151.                 JR NZ,ZAW006
  152. ZAW004          LD A,CMD_59
  153.                 CALL OUT_COM
  154.                 CALL IN_OOUT
  155.                 AND A
  156.                 JR NZ,ZAW004
  157. ZAW005          LD HL,CMD16
  158.                 CALL OUTCOM
  159.                 CALL IN_OOUT
  160.                 AND A
  161.                 JR NZ,ZAW005
  162.  
  163. SD__OFF
  164. CS_HIGH         PUSH AF
  165.                 LD A,M_SDNCS+M_SNCLR            ;0X81
  166.                 OUT (SCTRL),A
  167.                 POP AF
  168.                 RET
  169.  
  170. CS__LOW         PUSH AF
  171.                 LD A,M_SDNCS                    ;1
  172.                 OUT (SCTRL),A
  173.                 POP AF
  174.                 RET
  175.  
  176. OUTCOM          CALL CS__LOW
  177.                 PUSH BC
  178.                 LD BC,0X0600+SD_SEND
  179.                 OTIR
  180.                 POP BC
  181.                 RET
  182.  
  183. OUT_COM         PUSH BC
  184.                 CALL CS__LOW
  185.                 LD BC,SD_SEND
  186.                 OUT (C),A
  187.                 XOR A
  188.                 OUT (C),A
  189.                 NOP
  190.                 OUT (C),A
  191.                 NOP
  192.                 OUT (C),A
  193.                 NOP
  194.                 OUT (C),A
  195.                 DEC A
  196.                 OUT (C),A
  197.                 POP BC
  198.                 RET
  199.  
  200. SECM200         PUSH HL
  201.                 PUSH DE
  202.                 PUSH BC
  203.                 PUSH AF
  204.                 PUSH BC
  205.                 LD A,CMD_58
  206.                 LD BC,SD_RSTR
  207.                 CALL OUT_COM
  208.                 CALL IN_OOUT
  209.                 INC A
  210.                 JR NZ,SCM200
  211.                 EXX
  212.                 LD A,0X80
  213.                 JP (HL)
  214.  
  215. SCM200          IN A,(C)
  216.                 NOP
  217.                 IN H,(C)
  218.                 NOP
  219.                 IN H,(C)
  220.                 NOP
  221.                 IN H,(C)
  222.                 BIT 6,A
  223.                 POP HL
  224.                 JR NZ,SECN200
  225.                 EX DE,HL
  226.                 ADD HL,HL
  227.                 EX DE,HL
  228.                 ADC HL,HL
  229.                 LD H,L
  230.                 LD L,D
  231.                 LD D,E
  232.                 LD E,0
  233. SECN200         POP AF
  234.                 LD BC,SD_SEND
  235.                 OUT (C),A
  236.                 NOP
  237.                 OUT (C),H
  238.                 NOP
  239.                 OUT (C),L
  240.                 NOP
  241.                 OUT (C),D
  242.                 NOP
  243.                 OUT (C),E
  244.                 LD A,0XFF
  245.                 OUT (C),A
  246.                 POP BC
  247.                 POP DE
  248.                 POP HL
  249.                 RET
  250.  
  251. IN_OOUT         PUSH DE
  252.                 LD DE,0X20FF
  253. IN_WAIT         IN A,(SD_RSTR)
  254.                 CP E
  255.                 JR NZ,IN_EXIT
  256.                 DEC D
  257.                 JR NZ,IN_WAIT
  258. IN_EXIT         POP DE
  259.                 RET
  260.  
  261. CMD00           DB 0X40,0X00,0X00,0X00,0X00,0X95        ;GO_IDLE_STATE
  262. CMD08           DB 0X48,0X00,0X00,0X01,0XAA,0X87        ;SEND_IF_COND
  263. CMD16           DB 0X50,0X00,0X00,0X02,0X00,0XFF        ;SET_BLOCKEN
  264.  
  265. ;ЧТЕНИЕ ОДНОГО СЕКТОРА В ПАМЯТЬ
  266. RD_SECT         PUSH BC
  267.                 PUSH DE
  268.                 LD BC,SD_RSTR
  269.                 INIR
  270.                 INIR
  271.                 JR RDSECT3
  272.  
  273. ;ЧТЕНИЕ ОДНОГО СЕКТОРА С ПОБАЙТОВОЙ ПЕРЕДАЧЕЙ В MP3 ЧИП
  274. RON_MP3         PUSH BC
  275.                 PUSH DE
  276.                 LD BC,SD_RSTR
  277.                 LD D,0X10
  278. RDSECT2         IN A,(SSTAT)
  279.                 RRA
  280.                 JR NC,$-3
  281.                 LD E,0X20
  282. RDSECT1         IN A,(C)
  283.                 NOP
  284.                 OUT (MD_SEND),A
  285.                 DEC E
  286.                 JR NZ,RDSECT1
  287.                 DEC D
  288.                 JR NZ,RDSECT2
  289. RDSECT3         IN A,(C)                        ;СНЯТИЕ CRC16
  290.                 NOP
  291.                 IN A,(C)
  292.                 POP DE
  293.                 POP BC
  294.                 RET
  295.  
  296. ;ПЕРЕДАЧА СЕКТОРА В MP3 ЧИП
  297. LDI_MP3         LD A,CMD_17
  298.                 CALL SECM200
  299.                 CALL IN_OOUT
  300.                 CP 0XFE
  301.                 JR NZ,$-5
  302.                 CALL RON_MP3
  303.                 CALL IN_OOUT
  304.                 INC A
  305.                 JR NZ,$-4
  306.                 JP CS_HIGH
  307.  
  308. ;ЗАГРУЗКА ОДНОГО СЕКТОРА В ПАМЯТЬ
  309. RDSINGL         LD A,CMD_17
  310.                 CALL SECM200
  311.                 CALL IN_OOUT
  312.                 CP 0XFE
  313.                 JR NZ,$-5
  314.                 CALL RD_SECT
  315.                 CALL IN_OOUT
  316.                 INC A
  317.                 JR NZ,$-4
  318.                 JP CS_HIGH
  319.  
  320. RDMULTI         EX AF,AF'
  321.                 LD A,CMD_18
  322.                 CALL SECM200
  323.                 EX AF,AF'
  324. RDMULT1         EX AF,AF'
  325.                 CALL IN_OOUT
  326.                 CP 0XFE
  327.                 JR NZ,$-5
  328.                 CALL RD_SECT
  329.                 EX AF,AF'
  330.                 DEC A
  331.                 JR NZ,RDMULT1
  332.                 LD A,CMD_12
  333.                 CALL OUT_COM
  334.                 CALL IN_OOUT
  335.                 INC A
  336.                 JR NZ,$-4
  337.                 JP CS_HIGH
  338.  
  339. ;ОЖИДАНИЕ ГОТОВНОСТИ SPI MP3 ЧИПА
  340. NOPER           REPT 18
  341.                 NOP
  342.                 ENDM
  343.                 RET
  344.  
  345. ;               PUSH AF
  346. ;NOPER1         IN A,(SSTAT)
  347. ;               AND M_MCRDY
  348. ;               JR Z,NOPER1
  349. ;               POP AF
  350. ;               RET
  351.  
  352. AVTODET         IN A,(GSCFG0)
  353.                 AND 0XCF
  354.                 OUT (GSCFG0),A
  355.                 LD D,A
  356.                 CALL NOPER
  357.                 IN A,(GSCFG0)
  358.                 CP D
  359.                 LD A,0
  360.                 RET Z
  361. NO_MP3          LD A,0XFF
  362.                 RET
  363.  
  364. FREQNC          LD A,E
  365.                 LD D,C_10MHZ                    ;0X30
  366.                 AND 3
  367.                 JR Z,FREQNCS
  368.                 LD D,C_12MHZ                    ;0X10
  369.                 DEC A
  370.                 JR Z,FREQNCS
  371.                 LD D,C_20MHZ                    ;0X20
  372.                 DEC A
  373.                 JR Z,FREQNCS
  374.                 LD D,C_24MHZ                    ;0
  375. FREQNCS         IN A,(GSCFG0)
  376.                 AND %11001111
  377.                 OR D
  378.                 OUT (GSCFG0),A
  379.                 RET
  380.  
  381. ;ЗАПИСЫВАЕМ 2048 НУЛЕЙ КАК ЗАВЕРШЕНИЕ ПЕСЕНКИ
  382. ZER2MP3         LD D,0X40
  383. ZR2MP31         IN A,(SSTAT)
  384.                 RRA
  385.                 JR NC,$-3
  386.                 LD E,0X20
  387.                 XOR A
  388.                 OUT (MD_SEND),A
  389.                 DEC E
  390.                 JR NZ,$-4
  391.                 DEC D
  392.                 JR NZ,ZR2MP31
  393.                 RET
  394.  
  395. ;ПОЛНЫЙ СБРОС
  396. HARDMP3         XOR A
  397.                 CALL VOL_MOD                    ;ЗАГЛУШИЛИ ГРОМКОСТЬ ПОРТОВ GS
  398.                 LD BC,MC_SEND
  399.                 LD A,%10011100                  ;0X9C
  400.                 OUT (SCTRL),A
  401.                 LD E,0
  402.                 CALL FREQNC                     ;ВЫСТАВИЛИ ЧАСТОТУ НА NGS 10 МГц
  403.                 LD HL,0X0301
  404.                 CALL COM_MP3
  405.                 LD A,E
  406.                 AND %01110000
  407.                 PUSH AF
  408.                 LD A,M_MPXRS
  409.                 OUT (SCTRL),A
  410.                 CALL NOPER
  411.                 LD A,M_MPXRS+M_SNCLR            ;0X84
  412.                 OUT (SCTRL),A                   ;ВЫДАЛИ СБРОС НА ДЕКОДЕР
  413.                 IN A,(SSTAT)
  414.                 RRA
  415.                 JR NC,$-3                       ;ДОЖДАЛИСЬ ГОТОВНОСТИ ДЕКОДЕРА
  416.                 LD HL,0X0203
  417.                 LD DE,0X9B58
  418.                 CALL COM_MP3                    ;ВЫСТАВИЛИ НА ДЕКОДЕРЕ ЧАСТОТУ 14 МГц
  419.                 POP AF                          ;ЗДЕСЬ ПОШЛА ИНИЦИАЛИЗАЦИЯ ДЛЯ VS1001
  420.                 LD HL,0X0202
  421.                 LD DE,0X8008
  422.                 CALL Z,COM_MP3                  ;ЗАПИСЬ НЕДОКУМЕНТИРОВАННОГО ПИНКА В
  423.                                                 ;НЕДОКУМЕНТИРОВАННЫЙ РЕГИСТР, ЕСЛИ
  424.                                                 ;БИТЫ 6-4 РЕГИСТРА СТАТУСА В НУЛЕ
  425.                 LD E,1
  426.                 JP FREQNC                       ;ВЫСТАВИЛИ ЧАСТОТУ НА NGS 12 МГц
  427.  
  428. ;ПРОГРАММНЫЙ СБРОС MP3 ДЕКОДЕРА, РЕКОМЕНДУЕТСЯ ВЫЗЫВАТЬ ПЕРЕД КАЖДЫМ НОВЫМ ФАЙЛОМ, СБРАСЫВАЕТ СЧЕТЧИК СЕКУНД
  429. ;ПОСЛЕ ПРОГРАММНОГО СБРОСА ВСЕ УСТАНОВЛЕННЫЕ РЕЖИМЫ ДЕКОДЕРА НЕ ИЗМЕНЯЮТСЯ
  430. SOFTMP3         LD BC,MC_SEND
  431.                 LD HL,0X030B
  432.                 CALL COM_MP3                    ;СНИМАЕМ ТЕКУЩЕЕ ЗНАЧЕНИЕ ГРОМКОСТИ
  433.                 PUSH DE
  434.                 LD DE,0XFEFE                    ;И СОХРАНЯЕМ ЕГО ДО ЛУЧШИХ ВРЕМЕН
  435.                 LD HL,0X020B
  436.                 CALL COM_MP3                    ;УМЕНЬШАЕМ ГРОМКОСТЬ ДО МИНИМУМА
  437.                 LD HL,0X0301
  438.                 CALL COM_MP3
  439.                 LD A,E
  440.                 AND %01110000
  441.                 PUSH AF
  442.                 LD HL,0X0300
  443.                 CALL COM_MP3                    ;ЧИТАЕМ СОСТОЯНИЕ MODE
  444.                 LD A,4
  445.                 XOR E
  446.                 LD E,A
  447.                 LD HL,0X0200
  448.                 CALL COM_MP3
  449.                 LD A,4
  450.                 XOR E
  451.                 LD E,A
  452.                 LD HL,0X0200
  453.                 CALL COM_MP3                    ;ДАЕМ КОМАНДУ СОФТ-СБРОСА
  454.                 IN A,(SSTAT)
  455.                 RRA
  456.                 JR NC,$-3                       ;ЖДЕМ ОСВОБОЖДЕНИЯ ДЕКОДЕРА
  457.                 LD HL,0X0203
  458.                 LD DE,0X9B58
  459.                 CALL COM_MP3                    ;ВЫСТАВЛЯЕМ ЧАСТОТУ ПОСЛЕ ИНИЦИАЛИЗАЦИИ MP3 ДЕКОДЕРА
  460.                 POP AF
  461.                 LD HL,0X0202
  462.                 LD DE,0X8008
  463.                 CALL Z,COM_MP3                  ;НЕДОКУМЕНТИРОВАННЫЙ ПИНОК MP3 ДЕКОДЕРА
  464.                 POP DE
  465.                 LD HL,0X020B
  466.                 JR COM_MP3                      ;ВОССТАНАВЛИВАЕМ ГРОМКОСТЬ ДО СБРОСА
  467.  
  468. ;ГЛУШИМ ГРОМКОСТЬ MOD ПОРТОВ
  469. VOL_MOD         OUT (VOL1),A
  470.                 OUT (VOL2),A
  471.                 OUT (VOL3),A
  472.                 OUT (VOL4),A
  473.                 OUT (VOL5),A
  474.                 OUT (VOL6),A
  475.                 OUT (VOL7),A
  476.                 OUT (VOL8),A
  477.                 RET
  478.  
  479. ;ПРОЦЕДУРА ЧТЕНИЯ/ЗАПИСИ АДРЕСОВ MP3 ДЕКОДЕРА
  480. ;H-КОМАНДА ДЕКОДЕРУ 3-READ ИЛИ 2-WRITE
  481. ;L-АДРЕС В ДЕКОДЕРЕ
  482. ;D-СТАРШИЙ БАЙТ
  483. ;E-МЛАДШИЙ БАЙТ
  484. ;DE ПО ЗАПИСИ ПОДАТЬ НА ВХОД
  485. ;   ПО ЧТЕНИЮ ПОЛУЧИТЬ НА ВЫХОДЕ
  486. COM_MP3         IN A,(SSTAT)
  487.                 RRA
  488.                 JR NC,$-3                       ;ДЕКОДЕР СВОБОДЕН
  489.                 LD A,M_MCNCS
  490.                 OUT (SCTRL),A                   ;ВЫБИРАЕМ ДЕКОДЕР И ОБЪЯСНЯЕМ ЕМУ, ЧТО ОТ НЕГО ТРЕБУЕТСЯ
  491.                 CALL NOPER
  492.                 LD BC,MC_SEND
  493.                 LD A,H
  494.                 OUT (C),H
  495.                 CALL NOPER
  496.                 OUT (C),L
  497.                 CALL NOPER
  498.                 CP 3
  499.                 JR Z,MP3READ                    ;ПЕРЕХОДИМ НА ЧТЕНИЕ (СМОТРИ ВЫШЕ)
  500.                 OUT (C),D
  501.                 CALL NOPER
  502.                 OUT (C),E                       ;ЗАПИСАЛИ В АДРЕС ДЕКОДЕРА
  503. MP3_END         CALL NOPER
  504.                 LD A,M_MCNCS+M_SNCLR            ;0X82 СНИМАЕМ ВЫБОР ДЕКОДЕРА
  505.                 OUT (SCTRL),A
  506.                 RET
  507.  
  508. ;ЧИТАЕМ ЧТО ЗАТРЕБОВАЛИ
  509. MP3READ         LD BC,MC_READ
  510.                 LD A,0XFF
  511.                 OUT (MC_SEND),A
  512.                 CALL NOPER
  513.                 IN D,(C)
  514.                 CALL NOPER
  515.                 OUT (MC_SEND),A
  516.                 CALL NOPER
  517.                 IN E,(C)
  518.                 JR MP3_END
  519.  
  520. ;ПРОЦЕДУРА ПЕРЕСЫЛКИ БАЙТОВ СО СПЕКА ЧЕРЕЗ ПОРТЫ ГС НА MP3 ДЕКОДЕР
  521. ;ПЕРЕСЫЛАЕТСЯ 512 БАЙТ
  522. DAT2MP3         LD D,0X10               ;ПЕРЕГНАТЬ НА ДЕКОДЕР 16 ПОРЦИЙ
  523. DAT2M03         IN A,(SSTAT)
  524.                 RRA
  525.                 JR NC,$-3               ;ДЕКОДЕР СВОБОДЕН?
  526.                 LD B,0X20               ;ОДНА ПОРЦИЯ 32 БАЙТА
  527. DAT2M13         IN A,(ZXSTAT)
  528.                 RLA
  529.                 JR NC,$-3               ;ДОЖДАЛИСЬ ПОДАЧИ ОТ СПЕКА
  530.                 IN A,(ZXDATRD)          ;ЗАБРАЛИ БАЙТ
  531.                 OUT (MD_SEND),A         ;ОТДАЛИ ДЕКОДЕРУ
  532.                 NOP                     ;ВЫДЕРЖАЛИ ПАУЗУ ПО ТАКТАМ
  533.                 DJNZ DAT2M13            ;ПОРЦИЯ КОНЧИЛАСЬ
  534.                 DEC D
  535.                 JR NZ,DAT2M03
  536.                 RET                     ;512 БАЙТ ПЕРЕДАНО!!!
  537.