Subversion Repositories pentevo

Rev

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

  1.  
  2. ;LAST UPDATE: 12.04.2018 savelij
  3.  
  4. ADR_BUF_ISD     EQU 0X6000
  5.  
  6.                 PHASE 5E00H
  7. HDD_NEMO        JP      LOC_5F56
  8.  
  9.                 JP      SUB_5E3B
  10.  
  11. BYTE_5E06       DB 5
  12. BYTE_5E07       DB 11H,0,0
  13. WORD_5E0A       DW 0AAH
  14.                 DB 0D1H,3
  15. WORD_5E0E       DW 0
  16. BYTE_5E10       DB 0A0H
  17.  
  18.                 IN      A,(PN_1F7)
  19.                 CP      50H
  20.                 RET     Z
  21. SUB_5E16        LD      A,(BYTE_5E10)
  22.                 OUT     (PN_1F6),A
  23.                 LD      A,0CH
  24.                 OUT     (PN_3F6),A
  25.                 LD      B,0
  26. LOC_5E21        DJNZ    $
  27.                 LD      A,8
  28.                 OUT     (PN_3F6),A
  29. LOC_5E27        IN      A,(PN_1F7)
  30.                 RLCA
  31.                 JR      C,LOC_5E27
  32.                 LD      A,10H
  33.                 OUT     (PN_1F7),A
  34. LOC_5E30        IN      A,(PN_1F7)
  35.                 BIT     7,A
  36.                 JR      NZ,LOC_5E30
  37.                 CP      50H
  38.                 RET     Z
  39.                 JR      SUB_5E16
  40.  
  41. SUB_5E3B        CALL    SUB_5E7B
  42.                 JR      C,LOC_5E56
  43. LOC_5E40        CALL    SUB_5EC4
  44.                 PUSH    BC
  45.                 CALL    SUB_5F06
  46.                 POP     BC
  47.                 RET     C
  48.                 LD      A,B
  49.                 OR      A
  50.                 JR      Z,LOC_5E52
  51.                 CALL    SUB_5ED6
  52.                 JR      LOC_5E40
  53.  
  54. LOC_5E52        CALL    LOC_5EF7
  55.                 RET     Z
  56. LOC_5E56        LD      A,E
  57.                 INC     A
  58.                 OUT     (PN_1F3),A
  59.                 LD      A,1
  60.                 OUT     (PN_1F2),A
  61.                 LD      A,21H
  62.                 OUT     (PN_1F7),A
  63.                 CALL    SUB_5F43
  64.                 RET     C
  65.                 LD      B,0
  66. LOC_5E68        LD      C,PN_1F0
  67.                 INI
  68.                 INC     C
  69.                 INI
  70.                 JR      NZ,LOC_5E68
  71. LOC_5E71        IN      A,(PN_1F0)
  72.                 IN      A,(PN_1F7)
  73.                 BIT     3,A
  74.                 JR      NZ,LOC_5E71
  75.                 RRCA
  76.                 RET
  77.  
  78. SUB_5E7B        PUSH    DE
  79.                 EXX
  80.                 POP     DE
  81.                 LD      HL,(WORD_5E0A)
  82.                 EX      DE,HL
  83.                 XOR     A
  84.                 LD      B,A
  85.                 LD      C,A
  86. LOC_5E85        SBC     HL,DE
  87.                 INC     BC
  88.                 JR      NC,LOC_5E85
  89.                 DEC     BC
  90.                 ADD     HL,DE
  91.                 LD      A,(BYTE_5E07)
  92.                 RLCA
  93.                 LD      E,A
  94.                 XOR     A
  95.                 LD      D,A
  96. LOC_5E93        SBC     HL,DE
  97.                 INC     A
  98.                 JR      NC,LOC_5E93
  99.                 DEC     A
  100.                 ADD     HL,DE
  101.                 EX      DE,HL
  102.                 LD      D,A
  103.                 LD      HL,(WORD_5E0E)
  104.                 ADD     HL,BC
  105.                 LD      A,E
  106.                 EX      AF,AF'
  107.                 CALL    SUB_5EE3
  108.                 EX      AF,AF'
  109.                 SRL     B
  110.                 LD      E,A
  111.                 JR      Z,LOC_5EBD
  112.                 JR      C,LOC_5EB7
  113.                 RRCA
  114.                 JR      C,LOC_5EB2
  115. LOC_5EB0        LD      A,0FFH
  116. LOC_5EB2        LD      (LOC_5EF7_1),A
  117. SUB_5EB5        OR      A
  118.                 RET
  119.  
  120. LOC_5EB7        RRCA
  121.                 JR      NC,LOC_5EB2
  122.                 INC     B
  123.                 JR      LOC_5EB0
  124.  
  125. LOC_5EBD        INC     B
  126.                 RRCA
  127.                 JR      C,LOC_5EB0
  128.                 LD      E,A
  129.                 SCF
  130.                 RET
  131.  
  132. SUB_5EC4        SRL     E
  133.                 LD      A,E
  134.                 PUSH    AF
  135.                 LD      A,(BYTE_5E07)
  136.                 SUB     E
  137.                 LD      E,A
  138.                 LD      A,B
  139.                 SUB     E
  140.                 JR      NC,LOC_5ED3
  141.                 XOR     A
  142.                 LD      E,B
  143. LOC_5ED3        LD      B,A
  144.                 POP     AF
  145.                 RET
  146.  
  147. SUB_5ED6        LD      E,0
  148.                 EXX
  149.                 INC     D
  150.                 LD      A,(BYTE_5E06)
  151.                 CP      D
  152.                 JR      NZ,SUB_5EE3
  153.                 LD      D,0
  154.                 INC     HL
  155. SUB_5EE3        IN      A,(PN_1F7)
  156.                 CP      50H
  157.                 JR      NZ,SUB_5EE3
  158.                 LD      A,L
  159.                 OUT     (PN_1F4),A
  160.                 LD      A,H
  161.                 OUT     (PN_1F5),A
  162.                 LD      A,(BYTE_5E10)
  163.                 OR      D
  164.                 OUT     (PN_1F6),A
  165.                 EXX
  166.                 RET
  167.  
  168. LOC_5EF7        LD      A,0
  169. LOC_5EF7_1      EQU $-1
  170.                 CP      0FFH
  171.                 RET     Z
  172.                 IN      A,(PN_1F3)
  173.                 LD      E,A
  174.                 LD      A,(BYTE_5E07)
  175.                 CP      E
  176.                 JR      Z,SUB_5ED6
  177.                 RET
  178.  
  179. SUB_5F06        PUSH    AF
  180.                 INC     A
  181.                 OUT     (PN_1F3),A
  182.                 POP     AF
  183.                 LD      A,E
  184.                 OUT     (PN_1F2),A
  185.                 LD      A,21H
  186.                 OUT     (PN_1F7),A
  187.                 JR      NC,LOC_5F2B
  188.                 CALL    SUB_5F43
  189.                 RET     C
  190.                 LD      B,80H
  191. LOC_5F1A        IN      A,(PN_1F0)
  192.                 DJNZ    LOC_5F1A
  193. LOC_5F1E        LD      C,PN_1F0
  194.                 INI
  195.                 INC     C
  196.                 INI
  197.                 JR      NZ,LOC_5F1E
  198.                 IN      A,(PN_1F2)
  199.                 OR      A
  200.                 RET     Z
  201. LOC_5F2B        CALL    SUB_5F43
  202.                 RET     C
  203.                 LD      C,PN_1F0
  204. LOC_5F31        INI
  205.                 INC     C
  206.                 INI
  207.                 DEC     C
  208.                 IN      A,(PN_1F7)
  209.                 BIT     3,A
  210.                 JR      NZ,LOC_5F31
  211.                 IN      A,(PN_1F2)
  212.                 OR      A
  213.                 JR      NZ,LOC_5F2B
  214.                 RET
  215.  
  216. SUB_5F43        IN      A,(PN_1F7)
  217.                 BIT     7,A
  218.                 JR      NZ,SUB_5F43
  219.                 BIT     3,A
  220.                 JR      Z,SUB_5F43
  221.                 RRCA
  222.                 RET     NC
  223.                 CALL    SUB_5E16
  224.                 LD      A,7
  225.                 SCF
  226.                 RET
  227.  
  228. LOC_5F56        LD      SP,5DC0H
  229.                 CALL    SUB_5EB5
  230. LOC_5F5C        LD      A,1
  231. LOC_5F5C_1      EQU $-1
  232.                 OUT     (0FEH),A
  233.                 CALL    SUB_5F6E
  234.                 LD      HL, LOC_5F5C_1
  235.                 INC     (HL)
  236.                 LD      HL,WORD_5E0E
  237.                 INC     (HL)
  238.                 JR      NZ,LOC_5F5C
  239.                 HALT
  240.  
  241. SUB_5F6E        LD      HL,ADR_BUF_ISD
  242.                 LD      B,1
  243.                 LD      DE,0
  244.                 CALL    SUB_5E3B
  245.                 RET     C
  246.                 LD      HL,(ADR_BUF_ISD+7DH)
  247.                 LD      DE,"AK"
  248.                 LD      A,(ADR_BUF_ISD+7FH)
  249.                 XOR     'Y'
  250.                 RET     NZ
  251.                 SBC     HL,DE
  252.                 RET     NZ
  253.                 LD      HL,(ADR_BUF_ISD+61H)
  254.                 LD      A,L
  255.                 OR      H
  256.                 RET     Z
  257.                 LD      (BYTE_5E06),HL
  258.                 LD      HL,(ADR_BUF_ISD+73H)
  259.                 LD      A,L
  260.                 OR      H
  261.                 RET     Z
  262.                 LD      (WORD_5E0A),HL
  263.                 LD      DE,(ADR_BUF_ISD+91H)
  264.                 LD      A,E
  265.                 OR      D
  266.                 RET     Z
  267.                 LD      HL,(ADR_BUF_ISD+8CH)
  268.                 LD      A,L
  269.                 OR      H
  270.                 RET     Z
  271.                 LD      A,(ADR_BUF_ISD+8FH)
  272.                 OR      A
  273.                 RET     Z
  274.                 INC     A
  275.                 LD      B,A
  276.                 PUSH    HL
  277.                 CALL    SUB_5E3B
  278.                 RET     NC
  279.                 POP     HL
  280.                 RET
  281.                 DEPHASE
  282.