?login_element?

Subversion Repositories NedoOS

Rev

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

  1.         device zxspectrum128
  2.         include "../../_sdk/sys_h.asm"
  3.  
  4. INTSTACK=0x4000
  5.  
  6. ROM_START       equ     0
  7.  
  8. SCREEN          equ     #4000
  9. SCR_ATTRS       equ     #5800
  10.  
  11. bas_LAST_K      equ     #5C08
  12. bas_5C3A        equ     #5C3A
  13.  
  14. bas_FLAGS       equ     #5C3B
  15. off_FLAGS       equ     bas_FLAGS-bas_5C3A
  16.  
  17. bas_ERRSP       equ     #5C3D
  18. bas_5C78        equ     #5C78   ;increments every 50 Hz by basic interrupt handler
  19. word_5CC3       equ     #5CC3
  20.  
  21. bit_NEW_KEY     equ     5
  22. bit_CAPS_LOCK   equ     3
  23.  
  24. EGA=0
  25.  
  26.                 MACRO   EOS
  27.                 org     $-1
  28.                 db      {b $}|#80
  29.                 ENDM
  30.  
  31.         org PROGSTART
  32. begin
  33.         OS_HIDEFROMPARENT
  34.  
  35.         ld e,3+0x80 ;6912+keep
  36.         ;ld e,0+0x80 ;EGA+keep
  37.         OS_SETGFX ;e=0:EGA, e=2:MC, e=3:6912, e=6:text ;+SET FOCUS ;e=-1: disable gfx (out: e=old gfxmode)
  38.         ;call setgfx
  39.  
  40.         ld e,0 ;color byte
  41.         OS_CLS
  42.  
  43.         OS_GETMAINPAGES
  44. ;dehl=pages in 0000,4000,8000,c000
  45.         ld a,e
  46.         ;ld (pgmain4000),a
  47.         ld a,h
  48.         ;ld (pgmain8000),a
  49.         ld a,l
  50.         ;ld (pgspr),a  
  51.  
  52.         ld a,(user_scr0_high) ;ok
  53.         SETPG4000
  54.        
  55.         ld hl,scr
  56.         ld de,0x4000
  57.         ld bc,0x1b00
  58.         ldir
  59.        
  60.         YIELDGETKEYLOOP
  61.        
  62.         ld de,pal
  63.         OS_SETPAL
  64.  
  65.         YIELD
  66.  
  67.  
  68.         call swapimer
  69.        
  70.         ld sp,0x8000
  71.         ld iy,23610
  72.         jp START_POINT
  73.  
  74. pal
  75. ;DDp palette: %grbG11RB(low),%grbG11RB(high), inverted
  76.         ;dw 0xffff,0xfefe,0xfdfd,0xfcfc,0xefef,0xeeee,0xeded,0xecec
  77.         ;dw 0xffff,0xdede,0xbdbd,0x9c9c,0x6f6f,0x4e4e,0x2d2d,0x0c0c
  78.         dw 0xffff,0xfefe,0xfdfd,0xfcfc,0xefef,0xeeee,0x6d6d,0xecec
  79.         dw 0xffff,0xdede,0xbdbd,0x9c9c,0x6f6f,0x4e4e,0x2d2d,0x0c0c
  80.  
  81. keymatrix
  82.         ds 8,0xff
  83.  
  84.         include "int.asm"
  85.         include "rst38.asm"
  86. rst10
  87.         push af
  88.         push bc
  89.         push de
  90.         push hl
  91.  
  92. rst10_phase=$+1
  93.         ld b,0 ;0=code, 1=X, 2=Y
  94.         djnz rst10_noATY
  95.         ld (rst10_y),a
  96.         ld a,2
  97.         ld (rst10_phase),a
  98.         jr rst10_q
  99. rst10_noATY
  100.         djnz rst10_noATX
  101.         ld (rst10_x),a
  102.         xor a
  103.         ld (rst10_phase),a
  104.         call rst10_countscr
  105.         jr rst10_q
  106. rst10_noATX
  107.  
  108.         cp 22 ;AT
  109.         jr z,rst10_AT
  110.              
  111. rst10_scr=$+1
  112.         ld de,0x4000
  113.              
  114.         ld l,a
  115.         ld h,0
  116.         add hl,hl
  117.         add hl,hl
  118.         add hl,hl
  119.         ld bc,font-256
  120.         add hl,bc
  121.         ld b,0
  122. prchar0
  123.         ld a,(hl)
  124.         ld (de),a
  125.         inc hl
  126.         inc d
  127.         djnz prchar0
  128.  
  129.         ld hl,rst10_scr
  130.         inc (hl)
  131.         ld hl,rst10_x
  132.         inc (hl)
  133.         ld a,(hl)
  134.         cp 32
  135.         jr nz,rst10_q
  136.         ld (hl),0
  137.         ld hl,rst10_y
  138.         inc (hl)
  139.         ld a,(hl)
  140.         cp 24
  141.         jr nz,$+4
  142.         ld (hl),0
  143.         call rst10_countscr
  144. rst10_q
  145.         pop hl
  146.         pop de
  147.         pop bc
  148.         pop af
  149.         ret
  150.        
  151. rst10_AT
  152.         ld a,1
  153.         ld (rst10_phase),a
  154.         jr rst10_q
  155.        
  156. rst10_countscr
  157. rst10_x=$+1
  158. rst10_y=$+2
  159.         ld bc,0
  160.         ld a,b ;a = Y = 0b000TTYYY
  161.         LD L,A
  162.         and 0b00011000
  163.         add a,0x40;screen/256
  164.         LD H,A
  165.         ld a,l
  166.         rrca
  167.         rrca
  168.         rrca
  169.         and 0b11100000
  170.         add a,c ;x
  171.         LD L,A
  172.         ld (rst10_scr),hl
  173.         ret
  174.  
  175. font
  176.         incbin "font.bin"
  177.  
  178. scr
  179.         incbin "CyrusII.scr"
  180.  
  181.                 ds 0x637c-$
  182.                
  183. unk_637C:       ds 1                    ; DATA XREF: sub_A262+4
  184. txt_buf_6:      ds 6                    ; DATA XREF: sub_9FB2+33
  185.                 ds 3
  186. buf_10bytes:    ds 10                   ; DATA XREF: sub_8977   sub_8977+17 ...
  187.                 ds 1
  188. CLK_1:          ds 8                    ; DATA XREF: sub_9018+15
  189.                                         ; INIT_PRINT_CLOCKS+3   ...
  190. CLK_2:          ds 8                    ; DATA XREF: sub_9018+1D
  191.                                         ; INIT_PRINT_CLOCKS+E   ...
  192. TAPE_header:    ds 17                   ; DATA XREF: sub_8EA7+7 sub_8EFB ...
  193.                 ds 3
  194. byte_63B5:      ds 1                    ; DATA XREF: sub_8C20+19F9
  195. byte_63B6:      ds 9                    ; DATA XREF: sub_8C20+1A09
  196.                                         ; sub_8C20+1A14 ...
  197. unk_63BF:       ds 65                   ; DATA XREF: sub_8C20+1A0F
  198.  
  199.  
  200.  
  201.                 ds 0x6400-$
  202. SCR_BUF_6400:   ds      #1b00           ; up to 7EFF
  203.  
  204.                 ; 7F00..7FFF free
  205.  
  206.  
  207.  
  208.  
  209.  
  210.                 ds 0x8000-$
  211. START_POINT:
  212.  
  213. ; FUNCTION CHUNK AT 8067 SIZE 00000033 BYTES
  214.  
  215.                 jr      loc_8032
  216.  
  217. ; ---------------------------------------------------------------------------
  218. aCopyright1986I:db      'COPYRIGHT (1986) INTELLIGENT CHESS SOFTWARE LTD.'
  219. ; ---------------------------------------------------------------------------
  220.  
  221. loc_8032:
  222.                 di
  223.                 ld      (save_SP), sp
  224.                 exx
  225.                 ld      (save_HLtick), hl
  226.  
  227.                 ld      hl, (bas_ERRSP)
  228.                 ld      (save_ERRSP), hl
  229.                 ld      hl, INT_VEC
  230.                 ld      (hl), INT_PROC&255
  231.                 inc     hl
  232.                 ld      (hl), INT_PROC/256
  233.                 ld      a, INT_VEC/256
  234.                 ds 2 ;ld        i, a
  235.                 ds 2 ;im        2
  236.                 jp      loc_8067
  237.  
  238.  
  239. ; =============== S U B R O U T I N E =======================================
  240.  
  241.  
  242. INT_PROC:                               ; DATA XREF: RAM:8044   RAM:8047
  243.                 push    af
  244.                 push    hl
  245.                 push    iy
  246.                 ld      hl, DECREMENT_50HZ
  247.                 dec     (hl)
  248.                 ld      iy, bas_5C3A
  249.                 call    L0038;ROM_START+#38
  250.  
  251.                 pop     iy
  252.                 pop     hl
  253.                 pop     af
  254.                 ei
  255.                 ret
  256.  
  257. ; End of function INT_PROC
  258.  
  259. ; ---------------------------------------------------------------------------
  260. ; START OF FUNCTION CHUNK FOR START_POINT
  261.  
  262. loc_8067:                               ; CODE XREF: RAM:804F
  263.                 ld      sp, RAM_END_D800
  264.                 di
  265.                 ld      hl, BRD_88_0
  266.                 ld      b, 0
  267.                 ld      a, RAM_END_D800/256
  268.  
  269.  
  270. loc_8072:                               ; CODE XREF: START_POINT+75
  271.                 ld      (hl), b
  272.                 inc     hl
  273.                 cp      h
  274.                 jp      nz, loc_8072
  275.  
  276.                 res     bit_NEW_KEY, (iy+off_FLAGS)     ; clear keypressed bit
  277.                 res     bit_CAPS_LOCK, (iy+#30) ; CAPS LOCK off
  278.                 xor     a
  279.                 ld      (SEL_SCRorBUF), a
  280.                 call    CLR_SCR_OR_BUF
  281.  
  282.                 call    CLR_BOARD
  283.  
  284.                 call    PRT_DETECT
  285.  
  286.                 ld      a, 1
  287.                 ld      (byte_D0B1), a
  288.                 ld      a, #FF
  289.                 ld      (stk_1bvalue), a
  290.                 ld      (byte_D0F0), a
  291.  
  292. ; END OF FUNCTION CHUNK FOR START_POINT
  293. ; START OF FUNCTION CHUNK FOR sub_92D7
  294.  
  295. loc_809A:                               ; CODE XREF: sub_92D7+35
  296.                 xor     a
  297.                 ld      (byte_D0B4), a
  298.                 call    sub_9EE6
  299.  
  300. ; END OF FUNCTION CHUNK FOR sub_92D7
  301. ; START OF FUNCTION CHUNK FOR sub_8C20
  302.  
  303. NEW_GAME:                               ; CODE XREF: sub_8C20-3
  304.                 call    sub_96A6
  305.  
  306.                 call    CLR_BOARD
  307.  
  308.                 call    INIT_PRINT_CLOCKS
  309.  
  310.                 call    BEEP_start
  311.  
  312.                 ei
  313.                 ld      a, (byte_D20C)
  314.                 dec     a
  315.                 jr      z, loc_80B9
  316.  
  317.                 ld      a, #FF
  318.                 ld      (stk_1bvalue), a
  319.  
  320.  
  321. loc_80B9:                               ; CODE XREF: sub_8C20-B6E
  322.                 xor     a
  323.                 ld      (byte_D0B3), a ;d3=swap board
  324.                 inc     a
  325.                 ld      (byte_D049), a
  326.                 scf
  327.                 call    sub_A915
  328.  
  329.                 ld      hl, 0
  330.                 ld      (word_D09F), hl
  331.  
  332.  
  333. loc_80CB:                               ; CODE XREF: sub_8C20-1DA
  334.                 call    sub_875B
  335.  
  336.  
  337. loc_80CE:                               ; CODE XREF: sub_8C20-511
  338.                                         ; sub_8C20-186
  339.                 call    sub_A262
  340.  
  341.                 ld      a, (CFG_BITS)
  342.                 and     #30
  343.                 jr      z, loc_80F5
  344.  
  345.                 call    sub_A43C
  346.  
  347.                 ld      b,#1E
  348.  
  349.  
  350. loc_80DD:                               ; CODE XREF: sub_8C20-B3C
  351.                 push    bc
  352.                 ld      a,#3D
  353.                 call    loc_A476
  354.  
  355.                 pop     bc
  356.                 djnz    loc_80DD
  357.  
  358.                 call    sub_A43C
  359.  
  360.                 ld      a, (byte_D049)
  361.                 dec     a
  362.                 jr      z, loc_80F5
  363.  
  364.                 call    sub_939F
  365.  
  366.                 call    sub_94C4
  367.  
  368.  
  369. loc_80F5:                               ; CODE XREF: sub_8C20-B4A
  370.                                         ; sub_8C20-B33
  371.                 ld      hl, #F7F7
  372.                 ld      (word_D240), hl
  373.                 xor     a
  374.                 ld      (byte_D04D), a
  375.                 ld      l, a
  376.                 ld      h, a
  377.                 ld      (word_D0F7), hl
  378.  
  379.  
  380. loc_8104:                               ; CODE XREF: sub_8C20-507
  381.                                         ; sub_8C20-BD
  382.                 ld      hl, 0
  383.                 ld      (word_D25A), hl
  384.  
  385.  
  386. loc_810A:                               ; CODE XREF: sub_8C20:loc_82E8
  387.                                         ; sub_8C20-852 ...
  388.                 ld      hl,  word_D240+1
  389.                 call    sub_B976
  390.  
  391.                 jr      c, loc_811C
  392.  
  393.                 bit     3, (hl)
  394.                 jp      nz, loc_8B9B
  395.  
  396.                 ld      hl,  word_D240+1
  397.                 set     3, (hl)
  398.  
  399.  
  400. loc_811C:                               ; CODE XREF: sub_8C20-B10
  401.                 ld      hl, (word_D09F)
  402.                 ld      a, l
  403.                 or      h
  404.                 jp      nz, loc_8AE8
  405.  
  406.                 ld      hl, CFG_BITS
  407.                 res     5, (hl)
  408.                 call    sub_A08D
  409.  
  410.                 call    sub_9571
  411.  
  412.                 call    sub_954C
  413.  
  414.                 ld      hl, byte_D0B4
  415.                 bit     5, (hl)
  416.                 jr      nz, loc_8142
  417.  
  418.                 ld      sp, RAM_END_D800
  419.                 call    sub_8C2D
  420.  
  421.                 call    sub_93A4
  422.  
  423.  
  424. loc_8142:                               ; CODE XREF: sub_8C20-AE9
  425.                 ld      a, (byte_D00A)
  426.                 cp      100
  427.                 jp      nc, loc_8B9B
  428.  
  429.                 ld      a, (byte_D02D)
  430.                 or      #80 ; 'А'
  431.                 ld      (byte_D0BF), a
  432.                 rra
  433.                 ld      a, (byte_D0B2)
  434.                 jr      nc, loc_815E
  435.  
  436.                 or      a
  437.                 jr      z, loc_8162
  438.  
  439.                 jp      loc_82EB
  440.  
  441. ; ---------------------------------------------------------------------------
  442.  
  443. loc_815E:                               ; CODE XREF: sub_8C20-ACA
  444.                 or      a
  445.                 jp      z, loc_82EB
  446.  
  447.  
  448. loc_8162:                               ; CODE XREF: sub_8C20-AC7
  449.                 ld      a, #BE  ; '╛'
  450.                 ld      (byte_D0E3), a
  451.                 ld      (byte_D0F3), a
  452.                 ld      hl, 0
  453.                 ld      (INC_SECONDS), hl
  454.                 ld      (word_D02B), hl
  455.                 xor     a
  456.                 ld      (bas_5C78), a
  457.                 ld      (byte_D0DF), a
  458.                 ld      hl, byte_D0B4
  459.                 bit     0, (hl)
  460.                 jp      nz, loc_8CE9 ;move?
  461.  
  462.                 ld      a, (hl)
  463.                 or      #40 ; '@'
  464.                 and     #6F ; 'o'
  465.                 ld      (hl), a
  466.                 bit     5, a
  467.                 jr      z, loc_818F
  468.  
  469.                 call    sub_955D
  470.  
  471.  
  472. loc_818F:                               ; CODE XREF: sub_8C20-A96
  473.                 call    sub_9F0D
  474.  
  475.                 ld      ix, word_D059
  476.                 call    sub_A903
  477.  
  478.                 call    sub_A90F
  479.  
  480.                 jr      nz, loc_81A1
  481.  
  482.                 scf
  483.                 jr      loc_81B7
  484.  
  485. ; ---------------------------------------------------------------------------
  486.  
  487. loc_81A1:                               ; CODE XREF: sub_8C20-A84
  488.                 ld      hl, byte_D0B6
  489.                 res     2, (hl)
  490.                 call    sub_A900
  491.  
  492.                 push    af
  493.  
  494.  
  495. loc_81AA:                               ; CODE XREF: sub_8C20-A6C
  496.                 ld      hl, byte_D0DF
  497.                 bit     0, (hl)
  498.                 jr      z, loc_81B6
  499.  
  500.                 call    sub_8F4D
  501.  
  502.                 jr      loc_81AA
  503.  
  504. ; ---------------------------------------------------------------------------
  505.  
  506. loc_81B6:                               ; CODE XREF: sub_8C20-A71
  507.                 pop     af
  508.  
  509.  
  510. loc_81B7:                               ; CODE XREF: sub_8C20-A81
  511.                 ex      af, af'
  512.                 ld      hl, 0
  513.                 ld      (word_D09F), hl
  514.                 ld      hl, byte_D0B4
  515.                 ld      a, (hl)
  516.                 ld      b, a
  517.                 and     #9F ; 'Я'
  518.                 ld      (hl), a
  519.                 bit     5, b
  520.                 jp      nz, loc_8520
  521.  
  522.                 ex      af, af'
  523.                 jp      c, loc_8B8D
  524.  
  525.                 call    BEEP_move
  526.  
  527.                 ld      a, (byte_D09E)
  528.                 or      a
  529.                 jr      z, loc_81E0
  530.  
  531.                 ld      a, (byte_D0B6)
  532.                 bit     2, a
  533.                 call    nz, sub_A684
  534.  
  535.  
  536. loc_81E0:                               ; CODE XREF: sub_8C20-A4A
  537.                                         ; sub_8C20-8BE
  538.                 ld      h, (ix+0)
  539.                 res     7, h
  540.                 ld      l, (ix+1)
  541.                 res     7, l
  542.                 push    hl
  543.                 ld      ix, word_D059
  544.                 call    sub_A903
  545.  
  546.                 ld      ix, RAM_END_D800
  547.                 ld      bc, 3
  548.                 pop     hl
  549.  
  550.  
  551. loc_81FA:                               ; CODE XREF: sub_8C20-A20
  552.                                         ; sub_8C20-A1A
  553.                 add     ix, bc
  554.                 ld      a, (ix+0)
  555.                 cp      h
  556.                 jr      nz, loc_81FA
  557.  
  558.                 ld      a, (ix+1)
  559.                 cp      l
  560.                 jr      nz, loc_81FA
  561.  
  562.                 ld      a, (ix+0)
  563.                 ld      (byte_D0C4), a
  564.                 call    sub_9FF5
  565.  
  566.                 ld      (byte_D0C2), a
  567.                 ld      a, (ix+1)
  568.                 ld      (byte_D0C5), a
  569.                 call    sub_9FF5
  570.  
  571.                 ld      (byte_D0C3), a
  572.                 call    sub_A906
  573.  
  574.                 call    sub_BC00
  575.  
  576.  
  577. loc_8226:                               ; CODE XREF: sub_8C20-703
  578.                 call    sub_939F
  579.  
  580.                 push    ix
  581.                 pop     hl
  582.                 ld      bc, RAM_END_D800
  583.                 xor     a
  584.                 ld      e, a
  585.                 sbc     hl, bc
  586.                 ld      bc, 3
  587.  
  588.  
  589. loc_8236:                               ; CODE XREF: sub_8C20-9E7
  590.                 inc     e
  591.                 sbc     hl, bc
  592.                 jr      nz, loc_8236
  593.  
  594.                 dec     e
  595.                 ld      hl, (word_D0F7)
  596.                 inc     hl
  597.                 ld      (word_D0F7), hl
  598.                 ld      a, (ix+2)
  599.                 and     #80 ; 'А'
  600.                 or      e
  601.                 ld      hl, (ptr_stk_1bvalue)
  602.                 ld      (hl), a
  603.                 inc     hl
  604.                 ld      (ptr_stk_1bvalue), hl
  605.                 ld      (hl), #FF
  606.  
  607.  
  608. loc_8253:                               ; CODE XREF: sub_8C20-E5
  609.                 ld      hl, byte_D00A
  610.                 ld      a, (hl)
  611.                 ld      (byte_D029), a
  612.                 inc     (hl)
  613.                 pop     af
  614.                 push    af
  615.                 jp      po, loc_8279
  616.  
  617.                 push    hl
  618.                 ld      l, (ix+1)
  619.                 ld      h, #D0  ; '╨'
  620.                 ld      l, (hl)
  621.                 res     2, l
  622.                 inc     l
  623.                 inc     h
  624.                 ld      e, (hl)
  625.                 ld      hl, (ptr_stk_1bvalue)
  626.                 ld      (hl), e
  627.                 inc     hl
  628.                 ld      (ptr_stk_1bvalue), hl
  629.                 ld      (hl), #FF
  630.                 pop     hl
  631.                 jr      loc_8281
  632.  
  633. ; ---------------------------------------------------------------------------
  634.  
  635. loc_8279:                               ; CODE XREF: sub_8C20-9C3
  636.                 jp      p, loc_8281
  637.  
  638.                 and     #F
  639.                 dec     a
  640.                 jr      nz, loc_8283
  641.  
  642.  
  643. loc_8281:                               ; CODE XREF: sub_8C20-9A9
  644.                                         ; sub_8C20:loc_8279
  645.                 xor     a
  646.                 ld      (hl), a
  647.  
  648.  
  649. loc_8283:                               ; CODE XREF: sub_8C20-9A1
  650.                                         ; sub_8C20-CB
  651.                 call    sub_8977
  652.  
  653.                 call    sub_8B66
  654.  
  655.                 ld      hl, (word_D09F)
  656.                 ld      a, h
  657.                 or      l
  658.                 jr      nz, loc_82B2
  659.  
  660.                 ld      hl, byte_D0B4
  661.                 bit     5, (hl)
  662.                 jr      nz, loc_82B2
  663.  
  664.                 call    sub_8D9E
  665.  
  666.  
  667. loc_829A:                               ; CODE XREF: sub_8C20-97E
  668.                 call    sub_8F4D
  669.  
  670.                 ld      hl, byte_D0DF
  671.                 bit     0, (hl)
  672.                 jr      nz, loc_829A
  673.  
  674.                 call    sub_937B
  675.  
  676.                 ld      hl, BOARD2
  677.                 ld      de, BOARD
  678.                 ld      bc,#40  ; '@'
  679.                 ldir
  680.  
  681.  
  682. loc_82B2:                               ; CODE XREF: sub_8C20-992
  683.                                         ; sub_8C20-98B
  684.                 ld      hl, (word_D09F)
  685.                 ld      de, (word_D0F7)
  686.                 sbc     hl, de
  687.                 jr      c, loc_82CD
  688.  
  689.                 ld      a, (CFG_BITS)
  690.                 bit     5, a
  691.                 jr      nz, loc_82CD
  692.  
  693.                 ld      a, h
  694.                 or      a
  695.                 jr      nz, loc_82D7
  696.  
  697.                 ld      a, l
  698.                 cp      9
  699.                 jr      nc, loc_82D7
  700.  
  701.  
  702. loc_82CD:                               ; CODE XREF: sub_8C20-965
  703.                                         ; sub_8C20-95E
  704.                 ld      hl, byte_D0B4
  705.                 bit     5, (hl)
  706.                 jr      nz, loc_82D7
  707.  
  708.                 call    sub_9FB2
  709.  
  710.  
  711. loc_82D7:                               ; CODE XREF: sub_8C20-95A
  712.                                         ; sub_8C20-955 ...
  713.                 ld      hl, byte_D02D
  714.                 ld      a, (hl)
  715.                 xor     1
  716.                 ld      (hl), a
  717.                 ld      (byte_D0BF), a
  718.                 rra
  719.                 jr      nc, loc_82E8
  720.  
  721.                 ld      hl, byte_D049
  722.                 inc     (hl)
  723.  
  724.  
  725. loc_82E8:                               ; CODE XREF: sub_8C20-93E
  726.                 jp      loc_810A
  727.  
  728. ; ---------------------------------------------------------------------------
  729.  
  730. loc_82EB:                               ; CODE XREF: sub_8C20-AC5
  731.                                         ; sub_8C20-AC1 ...
  732.                 ld      hl, byte_D0B4
  733.                 ld      a, (hl)
  734.                 bit     1, a
  735.                 jr      z, loc_82F9
  736.  
  737.                 call    sub_A6E4
  738.  
  739.                 jp      loc_8CE9 ;move?
  740.  
  741. ; ---------------------------------------------------------------------------
  742.  
  743. loc_82F9:                               ; CODE XREF: sub_8C20-92F
  744.                 and     #9F ; 'Я'
  745.                 ld      (hl), a
  746.                 ld      ix, word_D059
  747.                 call    sub_A903
  748.  
  749.                 call    sub_A90F
  750.  
  751.                 jp      z, loc_8B8D
  752.  
  753.                 call    sub_8446
  754.  
  755.                 xor     a
  756.                 ld      hl, 0
  757.                 ld      (INC_SECONDS), hl
  758.                 ld      a, (byte_D09E)
  759.                 or      a
  760.                 jr      z, loc_8365
  761.  
  762.                 ld      a, (byte_D0B4)
  763.                 rra
  764.                 jr      c, loc_8365
  765.  
  766.                 ld      hl, (word_D25A)
  767.                 res     7, l
  768.                 ld      d, l
  769.                 res     7, h
  770.                 ld      e, h
  771.                 ld      hl, RAM_END_D800
  772.                 call    sub_A90C
  773.  
  774.                 jr      c, loc_8365
  775.  
  776.                 push    hl
  777.                 pop     ix
  778.                 call    sub_A906
  779.  
  780.                 call    sub_939F
  781.  
  782.                 ld      hl, byte_D0B4
  783.                 set     5, (hl)
  784.                 ld      a, (byte_D02D)
  785.                 ld      hl, byte_D0B3 ;d3=swap board
  786.                 res     1, (hl)
  787.                 rra
  788.                 jr      z, loc_834B
  789.  
  790.                 set     1, (hl)
  791.  
  792.  
  793. loc_834B:                               ; CODE XREF: sub_8C20-8D9
  794.                 ld      h, (ix+0)
  795.                 ld      l, (ix+1)
  796.                 ld      (word_D0DA), hl
  797.                 pop     af
  798.                 push    af
  799.                 ld      a, 1
  800.                 jp      po, loc_835C
  801.  
  802.                 dec     a
  803.  
  804.  
  805. loc_835C:                               ; CODE XREF: sub_8C20-8C8
  806.                 ld      (byte_D0DC), a
  807.                 call    sub_A909
  808.  
  809.                 jp      loc_81E0
  810.  
  811. ; ---------------------------------------------------------------------------
  812.  
  813. loc_8365:                               ; CODE XREF: sub_8C20-909
  814.                                         ; sub_8C20-903 ...
  815.                 ld      hl, (tbl_D803)
  816.                 ld      (word_D25A), hl
  817.                 ld      hl, (word_D059)
  818.                 ld      (word_D05C), hl
  819.                 ld      ix, word_D059
  820.                 call    sub_A903
  821.  
  822.  
  823. loc_8378:                               ; CODE XREF: sub_8C20-216
  824.                 call    sub_9F0D
  825.  
  826.                 ld      b, 0
  827.                 ld      a, (byte_D02D)
  828.                 rra
  829.                 jr      nc, loc_8385
  830.  
  831.                 ld      b,#70 ; 'p'
  832.  
  833.  
  834. loc_8385:                               ; CODE XREF: sub_8C20-89F
  835.                 ld      a, b
  836.                 ld      (word_D0BB+1), a
  837.                 ld      a, #FF
  838.                 ld      (word_D0BB), a
  839.                 ld      (byte_D0CD), a
  840.                 call    sub_955D
  841.  
  842.  
  843. loc_8394:                               ; CODE XREF: sub_8C20-83A
  844.                                         ; sub_8C20-82D ...
  845.                 ld      hl, byte_D0DF
  846.                 ld      a, 2
  847.                 ld      (hl), a
  848.                 xor     a
  849.                 ld      (byte_D0B8), a
  850.  
  851.  
  852. loc_839E:                               ; CODE XREF: sub_8C20-87A
  853.                                         ; sub_8C20-86E
  854.                 call    sub_8F4D
  855.  
  856.  
  857. loc_83A1:                               ; CODE XREF: sub_8C20-68E
  858.                 ld      hl, byte_D0DF
  859.                 bit     0, (hl)
  860.                 jr      nz, loc_839E
  861.  
  862.                 bit     4, (hl)
  863.                 jp      nz, loc_845D
  864.  
  865.                 ld      hl, byte_D0B8
  866.                 ld      a, (hl)
  867.                 or      a
  868.                 jr      z, loc_839E
  869.  
  870.                 ld      (hl), 0
  871.                 cp      #43 ; 'C'
  872.                 jp      z, loc_A4F4
  873.  
  874.                 cp      #50 ; 'P'
  875.                 jp      z, loc_A29F
  876.  
  877.                 cp      #49 ; 'I'
  878.                 jr      nz, loc_83D1
  879.  
  880.                 call    sub_9571
  881.  
  882.                 ld      hl, byte_D0B3
  883.                 ld      a, (hl)
  884.                 xor     8
  885.                 ld      (hl), a ;d3=swap board
  886.                 jp      loc_810A
  887.  
  888. ; ---------------------------------------------------------------------------
  889.  
  890. loc_83D1:                               ; CODE XREF: sub_8C20-85E
  891.                 call    sub_8D1B
  892.  
  893.                 jr      nc, loc_83E8
  894.  
  895.                 cp      #48 ; 'H'
  896.                 jr      nz, loc_83F6
  897.  
  898.                 call    sub_9571
  899.  
  900.                 ld      hl, (word_D25A)
  901.                 call    sub_8C6B
  902.  
  903.                 call    sub_955D
  904.  
  905.                 jr      loc_8394
  906.  
  907. ; ---------------------------------------------------------------------------
  908.  
  909. loc_83E8:                               ; CODE XREF: sub_8C20-84C
  910.                 call    BEEP_start
  911.  
  912.                 ld      a, (byte_D02D)
  913.                 or      #80 ; 'А'
  914.                 ld      (byte_D0BF), a
  915.                 jp      loc_8394
  916.  
  917. ; ---------------------------------------------------------------------------
  918.  
  919. loc_83F6:                               ; CODE XREF: sub_8C20-848
  920.                 push    af
  921.                 call    sub_A6E4
  922.  
  923.                 pop     af
  924.                 cp      #41 ; 'A' - analysis
  925.                 jp      z, loc_841F
  926.  
  927.                 cp      #4D ; 'M' - move
  928.                 jp      z, loc_8CDA
  929.  
  930.                 cp      #44 ; 'D' - demo
  931.                 jp      z, loc_8CD5
  932.  
  933.                 cp      #42 ; 'B' - back
  934.                 jp      z, loc_8443
  935.  
  936.                 cp      #46 ; 'F' - forward
  937.                 jp      z, loc_8A9D
  938.  
  939.                 cp      #53 ; 'S' - set position
  940.                 jp      z, loc_8595
  941.  
  942.  
  943. loc_8419:                               ; CODE XREF: sub_8C20-7AF
  944.                 call    BEEP_3
  945.  
  946.                 jp      loc_8394
  947.  
  948. ; ---------------------------------------------------------------------------
  949.  
  950. loc_841F:                               ; CODE XREF: sub_8C20-823
  951. ;'A' - analysis
  952.                 ld      hl, loc_8394
  953.                 push    hl
  954.                 ld      hl, byte_D0B6
  955.                 ld      a, (hl)
  956.                 xor     1
  957.                 and     1
  958.                 ld      (hl), a
  959.  
  960. ; END OF FUNCTION CHUNK FOR sub_8C20
  961.  
  962. ; =============== S U B R O U T I N E =======================================
  963.  
  964.  
  965. sub_842C:                               ; CODE XREF: sub_9F0D
  966.                 ld      hl, byte_D0B6
  967.                 ld      a, (hl)
  968.                 or      a
  969.                 ld      hl, #D00
  970.                 ld      (scr_XY), hl
  971.                 ld      hl, a_8spaces   ; "       "
  972.                 jr      z, loc_843F
  973.  
  974.                 ld      hl, aAnalysis   ; "ANALYSI"
  975.  
  976.  
  977. loc_843F:                               ; CODE XREF: sub_842C+E
  978.                 call    PRINT_STR_FF
  979.  
  980.                 ret
  981.  
  982. ; End of function sub_842C
  983.  
  984. ; ---------------------------------------------------------------------------
  985. ; START OF FUNCTION CHUNK FOR sub_8C20
  986.  
  987. loc_8443:                               ; CODE XREF: sub_8C20-814
  988. ;'B' - back
  989.                 jp      loc_8A0D
  990.  
  991. ; END OF FUNCTION CHUNK FOR sub_8C20
  992.  
  993. ; =============== S U B R O U T I N E =======================================
  994.  
  995.  
  996. sub_8446:                               ; CODE XREF: sub_8C20-917
  997.                 ld      hl, tbl_D803
  998.                 ld      de, unk_F000
  999.  
  1000.  
  1001. loc_844C:                               ; CODE XREF: sub_8446+13
  1002.                 ld      a, (hl)
  1003.                 cp      #FF
  1004.                 jr      z, loc_845B
  1005.  
  1006.                 ld      b, 3
  1007.  
  1008.  
  1009. loc_8453:                               ; CODE XREF: sub_8446+11
  1010.                 ld      a, (hl)
  1011.                 ld      (de), a
  1012.                 inc     hl
  1013.                 inc     de
  1014.                 djnz    loc_8453
  1015.  
  1016.                 jr      loc_844C
  1017.  
  1018. ; ---------------------------------------------------------------------------
  1019.  
  1020. loc_845B:                               ; CODE XREF: sub_8446+9
  1021.                 ld      (de), a
  1022.                 ret
  1023.  
  1024. ; End of function sub_8446
  1025.  
  1026. ; ---------------------------------------------------------------------------
  1027. ; START OF FUNCTION CHUNK FOR sub_8C20
  1028.  
  1029. loc_845D:                               ; CODE XREF: sub_8C20-876
  1030.                 call    sub_8C2D
  1031.  
  1032.                 ld      a, (word_D0BB)
  1033.                 ld      b, a
  1034.                 ld      a, (word_D0BB+1)
  1035.                 ld      c, a
  1036.                 ld      hl, RAM_END_D800
  1037.  
  1038.  
  1039. loc_846B:                               ; CODE XREF: sub_8C20-7AB
  1040.                                         ; sub_8C20-7A5
  1041.                 inc     hl
  1042.                 inc     hl
  1043.                 inc     hl
  1044.                 ld      a, (hl)
  1045.                 cp      #FF
  1046.                 jp      z, loc_8419
  1047.  
  1048.                 cp      b
  1049.                 jr      nz, loc_846B
  1050.  
  1051.                 inc     hl
  1052.                 ld      a, (hl)
  1053.                 dec     hl
  1054.                 cp      c
  1055.                 jr      nz, loc_846B
  1056.  
  1057.                 push    hl
  1058.                 call    sub_A6E4
  1059.  
  1060.                 call    sub_9571
  1061.  
  1062.                 call    BEEP_move
  1063.  
  1064.                 pop     ix
  1065.                 ld      a, (ix+0)
  1066.                 ld      (byte_D0C4), a
  1067.                 call    sub_9FF5
  1068.  
  1069.                 ld      (byte_D0C2), a
  1070.                 ld      a, (ix+1)
  1071.                 ld      (byte_D0C5), a
  1072.                 call    sub_9FF5
  1073.  
  1074.                 ld      (byte_D0C3), a
  1075.                 call    sub_A906
  1076.  
  1077.                 call    sub_BC00
  1078.  
  1079.                 pop     af
  1080.                 push    af
  1081.                 jp      po, loc_8515
  1082.  
  1083.                 ld      hl, byte_D0DF
  1084.                 bit     7, (hl)
  1085.                 res     7, (hl)
  1086.                 ld      a, (byte_D0DC)
  1087.                 jp      nz, loc_84DF
  1088.  
  1089.                 ld      (hl), 8
  1090.                 xor     a
  1091.                 ld      (byte_D0B8), a
  1092.  
  1093.  
  1094. loc_84BF:                               ; CODE XREF: sub_8C20-743
  1095.                 call    sub_93A4
  1096.  
  1097.                 ld      a,#14
  1098.                 call    halt_A_frames
  1099.  
  1100.                 call    sub_8F4D
  1101.  
  1102.                 jr      nz, loc_84DF
  1103.  
  1104.                 call    sub_A909
  1105.  
  1106.                 call    sub_93A4
  1107.  
  1108.                 call    sub_A906
  1109.  
  1110.                 ld      a,#14
  1111.                 call    halt_A_frames
  1112.  
  1113.                 call    sub_8F4D
  1114.  
  1115.                 jr      z, loc_84BF
  1116.  
  1117.  
  1118. loc_84DF:                               ; CODE XREF: sub_8C20-76A
  1119.                                         ; sub_8C20-756
  1120.                 ld      (byte_D0DC), a
  1121.                 call    sub_A909
  1122.  
  1123.                 call    sub_93A4
  1124.  
  1125.                 call    sub_A906
  1126.  
  1127.                 ld      a, (byte_D0DC)
  1128.                 ld      b, 5
  1129.                 cp      #52 ; 'R'
  1130.                 jr      z, loc_8500
  1131.  
  1132.                 ld      b, 3
  1133.                 cp      #4E ; 'N'
  1134.                 jr      z, loc_8500
  1135.  
  1136.                 ld      b,#83 ; 'Г'
  1137.                 cp      #42 ; 'B'
  1138.                 jr      nz, loc_8512
  1139.  
  1140.  
  1141. loc_8500:                               ; CODE XREF: sub_8C20-72E
  1142.                                         ; sub_8C20-728
  1143.                 ld      l, (ix+1)
  1144.                 ld      h, BRD_88_0/256
  1145.                 ld      l, (hl)
  1146.                 res     2, l
  1147.                 inc     l
  1148.                 inc     h               ; h=word_D100/256
  1149.                 ld      (hl), b
  1150.                 res     7, (ix+2)
  1151.                 call    sub_BC00
  1152.  
  1153.  
  1154. loc_8512:                               ; CODE XREF: sub_8C20-722
  1155.                 call    BEEP_move
  1156.  
  1157.  
  1158. loc_8515:                               ; CODE XREF: sub_8C20-777
  1159.                 ld      a, (byte_D0B1)
  1160.                 cp      #A
  1161.                 call    z, sub_8D6A
  1162.  
  1163.                 jp      loc_8226
  1164.  
  1165. ; ---------------------------------------------------------------------------
  1166.  
  1167. loc_8520:                               ; CODE XREF: sub_8C20-A58
  1168.                                         ; sub_8C20-7D
  1169.                 ld      hl, byte_D0DF
  1170.                 res     5, (hl)
  1171.                 pop     af
  1172.                 push    af
  1173.                 jp      po, loc_8533
  1174.  
  1175.                 ld      hl, (ptr_stk_1bvalue)
  1176.                 dec     hl
  1177.                 ld      (ptr_stk_1bvalue), hl
  1178.                 ld      (hl), #FF
  1179.  
  1180.  
  1181. loc_8533:                               ; CODE XREF: sub_8C20-6F9
  1182.                 ld      hl, (word_D0F7)
  1183.                 dec     hl
  1184.                 ld      (word_D0F7), hl
  1185.                 ld      hl, (ptr_stk_1bvalue)
  1186.                 dec     hl
  1187.                 ld      (ptr_stk_1bvalue), hl
  1188.                 ld      (hl), #FF
  1189.                 call    sub_A909
  1190.  
  1191.                 ld      hl, (word_D059)
  1192.                 ld      (word_D25A), hl
  1193.                 ld      hl, (word_D05C)
  1194.                 ld      a, (byte_D05E)
  1195.                 ld      (word_D059), hl
  1196.                 ld      (byte_D05B), a
  1197.                 ld      a, (byte_D029)
  1198.                 ld      (byte_D00A), a
  1199.                 ld      hl, word_D240-1
  1200.                 ld      de,  word_D240+1
  1201.                 ld      bc,#17
  1202.                 lddr
  1203.                 ld      hl, byte_D02D
  1204.                 ld      a, (hl)
  1205.                 xor     1
  1206.                 ld      (hl), a
  1207.                 or      #80 ; 'А'
  1208.                 ld      (byte_D0BF), a
  1209.                 rra
  1210.                 jr      c, loc_857C
  1211.  
  1212.                 ld      hl, byte_D049
  1213.                 dec     (hl)
  1214.  
  1215.  
  1216. loc_857C:                               ; CODE XREF: sub_8C20-6AA
  1217.                 ld      hl, (word_D059)
  1218.                 ld      (word_D05C), hl
  1219.                 ld      ix, word_D059
  1220.                 call    sub_A903
  1221.  
  1222.                 ld      hl, byte_D0D9
  1223.                 ld      a, (hl)
  1224.                 ld      (hl), 0
  1225.                 ld      (byte_D0B8), a
  1226.                 jp      loc_83A1
  1227.  
  1228. ; ---------------------------------------------------------------------------
  1229.  
  1230. loc_8595:                               ; CODE XREF: sub_8C20-80A
  1231.                                         ; sub_8C20-24
  1232. ;'S' - set position
  1233.                 xor     a
  1234.                 ld      (byte_D0B7), a
  1235.                 call    sub_9571
  1236.  
  1237.                 ld      a, #FF
  1238.                 ld      (word_D0BB), a
  1239.                 call    sub_955D
  1240.  
  1241.                 call    restore_6_spaces
  1242.  
  1243.                 call    sub_890F
  1244.  
  1245.                 call    sub_A150
  1246.  
  1247.                 ld      hl,#1200
  1248.                 jr      nc, loc_85B4
  1249.  
  1250.                 ld      h, #A
  1251.  
  1252.  
  1253. loc_85B4:                               ; CODE XREF: sub_8C20-670
  1254.                 ld      (scr_XY), hl
  1255.                 ld      hl, aSIXbuf     ; "     "
  1256.                 call    loc_9E65
  1257.  
  1258.                 ld      a,#40 ; '@'
  1259.                 ld      (byte_D08E), a
  1260.                 ld      a, (byte_D02D)
  1261.                 rra
  1262.                 ld      a, 6
  1263.                 rra
  1264.                 ld      (byte_D08D), a
  1265.                 ld      hl, byte_D04D
  1266.                 set     0, (hl)
  1267.                 ld      hl, byte_D0B4
  1268.                 set     0, (hl)
  1269.                 set     3, (hl)
  1270.  
  1271.  
  1272. loc_85D8:                               ; CODE XREF: sub_8C20-608
  1273.                                         ; sub_8C20-5E4 ...
  1274.                 call    BEEP_move
  1275.  
  1276.                 jr      loc_85E0
  1277.  
  1278. ; ---------------------------------------------------------------------------
  1279.  
  1280. loc_85DD:                               ; CODE XREF: sub_8C20-4D5
  1281.                 call    BEEP_3
  1282.  
  1283.  
  1284. loc_85E0:                               ; CODE XREF: sub_8C20-645
  1285.                 call    sub_9F0D
  1286.  
  1287.                 ld      hl, #1601
  1288.                 ld      (scr_XY), hl
  1289.                 ld      hl, aWhite      ; "WHIT"
  1290.                 ld      a, (byte_D08D)
  1291.                 rlca
  1292.                 jr      c, loc_85F5
  1293.  
  1294.                 ld      hl, aBlack      ; "BLAC"
  1295.  
  1296.  
  1297. loc_85F5:                               ; CODE XREF: sub_8C20-630
  1298.                 call    loc_9E65
  1299.  
  1300.                 ld      hl, byte_D0DF
  1301.                 ld      (hl), 4
  1302.  
  1303.  
  1304. loc_85FD:                               ; CODE XREF: sub_8C20+A
  1305.                 call    sub_955D
  1306.  
  1307.  
  1308. loc_8600:                               ; CODE XREF: sub_8C20-618
  1309.                 call    sub_8F4D
  1310.  
  1311.                 ld      hl, byte_D0B8
  1312.                 ld      a, (hl)
  1313.                 or      a
  1314.                 jr      z, loc_8600
  1315.  
  1316.                 ld      (hl), 0
  1317.                 push    af
  1318.                 call    sub_8C2D
  1319.  
  1320.                 pop     af
  1321.                 cp      #5A ; 'Z'
  1322.                 jr      nz, loc_863F
  1323.  
  1324.                 call    INIT_PRINT_CLOCKS
  1325.  
  1326.                 jr      loc_85D8
  1327.  
  1328. ; ---------------------------------------------------------------------------
  1329.  
  1330. loc_861A:                               ; CODE XREF: sub_8C20-4C8
  1331.                 ld      a, (byte_D08D)
  1332.                 add     a, b
  1333.  
  1334.  
  1335. loc_861E:                               ; CODE XREF: sub_8C20-4DE
  1336.                 ld      c, (hl)
  1337.                 ld      (hl), a
  1338.                 bit     0, c
  1339.                 jr      nz, loc_862E
  1340.  
  1341.                 bit     2, c
  1342.                 jr      z, loc_862E
  1343.  
  1344.                 res     2, c
  1345.                 ld      l, c
  1346.                 inc     h
  1347.                 set     7, (hl)
  1348.  
  1349.  
  1350. loc_862E:                               ; CODE XREF: sub_8C20-5FE
  1351.                                         ; sub_8C20-5FA ...
  1352.                 ld      sp, RAM_END_D800
  1353.                 ld      a, 3
  1354.                 ld      (byte_D04D), a
  1355.                 call    sub_93A4
  1356.  
  1357.                 call    sub_96A6
  1358.  
  1359.                 jp      loc_85D8
  1360.  
  1361. ; ---------------------------------------------------------------------------
  1362.  
  1363. loc_863F:                               ; CODE XREF: sub_8C20-60D
  1364.                 call    sub_8D1B
  1365.  
  1366.                 jp      nc, loc_85D8
  1367.  
  1368.                 cp      #43 ; 'C'
  1369.                 jr      nz, loc_864E
  1370.  
  1371.                 call    sub_87CD
  1372.  
  1373.                 jr      loc_862E
  1374.  
  1375. ; ---------------------------------------------------------------------------
  1376.  
  1377. loc_864E:                               ; CODE XREF: sub_8C20-5D9
  1378.                 cp      #4D ; 'M'
  1379.                 jr      z, loc_865C
  1380.  
  1381.                 cp      #53 ; 'S'
  1382.                 jp      nz, loc_871C
  1383.  
  1384.                 ld      hl, byte_D0B4
  1385.                 res     0, (hl)
  1386.  
  1387.  
  1388. loc_865C:                               ; CODE XREF: sub_8C20-5D0
  1389.                 ld      hl, #1600
  1390.                 ld      (scr_XY), hl
  1391.                 ld      hl, a_8spaces   ; "       "
  1392.                 call    loc_9E65
  1393.  
  1394.                 call    restore_6_spaces
  1395.  
  1396.                 ld      hl, byte_D0DF
  1397.                 res     2, (hl)
  1398.                 ld      a, (byte_D08D)
  1399.                 ld      hl, byte_D02D
  1400.                 ld      b, (hl)
  1401.                 res     0, b
  1402.                 sub     3
  1403.                 ld      (byte_D0B2), a
  1404.                 jr      z, loc_8682
  1405.  
  1406.                 set     0, b
  1407.  
  1408.  
  1409. loc_8682:                               ; CODE XREF: sub_8C20-5A2
  1410.                 ld      a, b
  1411.                 cp      (hl)
  1412.                 jr      z, loc_868C
  1413.  
  1414.                 ld      (hl), b
  1415.                 ld      a, 3
  1416.                 ld      (byte_D04D), a
  1417.  
  1418.  
  1419. loc_868C:                               ; CODE XREF: sub_8C20-59C
  1420.                 ld      a, (byte_D04D)
  1421.                 and     2
  1422.                 jr      z, loc_8712
  1423.  
  1424.                 call    sub_881D
  1425.  
  1426.                 ld      a, #A
  1427.                 ld      (byte_D049), a
  1428.                 call    sub_A915
  1429.  
  1430.                 xor     a
  1431.                 ld      (byte_D00A), a
  1432.                 ld      hl, word_D059
  1433.                 ld      b, 6
  1434.  
  1435.  
  1436. loc_86A7:                               ; CODE XREF: sub_8C20-577
  1437.                 ld      (hl), a
  1438.                 inc     l
  1439.                 djnz    loc_86A7
  1440.  
  1441.                 xor     a
  1442.                 ld      (word_D00D), a
  1443.                 ld      ix, word_D059
  1444.                 ld      hl, byte_D02D
  1445.                 inc     (hl)
  1446.                 push    hl
  1447.                 call    sub_BC00
  1448.  
  1449.                 pop     hl
  1450.                 dec     (hl)
  1451.                 or      a
  1452.                 call    z, sub_8C20
  1453.  
  1454.                 ld      a, #FF
  1455.                 ld      (stk_1bvalue), a
  1456.                 ld      hl, #F7F7
  1457.                 ld      (word_D240), hl
  1458.                 ld      hl, byte_D02D
  1459.                 ld      a, (hl)
  1460.                 and     1
  1461.                 ld      b, a
  1462.                 ld      a, (ix+2)
  1463.                 and     #FE ; '■'
  1464.                 or      b
  1465.                 ld      (byte_D301), a
  1466.                 ld      a, (ix+1)
  1467.                 ld      (byte_D300), a
  1468.                 ld      a, (byte_D00A)
  1469.                 ld      (byte_D302), a
  1470.                 ld      a, (byte_D049)
  1471.                 ld      (byte_D20C), a
  1472.                 ld      hl, word_D100
  1473.                 ld      de, array_64bytes
  1474.                 ld      b, #20 ; ' '
  1475.  
  1476.  
  1477. loc_86F6:                               ; CODE XREF: sub_8C20-51F
  1478.                 ld      a, (hl)
  1479.                 ld      (de), a
  1480.                 inc     hl
  1481.                 inc     de
  1482.                 ld      a, (hl)
  1483.                 ld      (de), a
  1484.                 inc     de
  1485.                 ld      a, l
  1486.                 add     a, 7
  1487.                 ld      l, a
  1488.                 djnz    loc_86F6
  1489.  
  1490.                 ld      hl, stk_1bvalue
  1491.                 ld      (ptr_stk_1bvalue), hl
  1492.                 call    BEEP_move
  1493.  
  1494.                 call    sub_96A6
  1495.  
  1496.                 jp      loc_80CE
  1497.  
  1498. ; ---------------------------------------------------------------------------
  1499.  
  1500. loc_8712:                               ; CODE XREF: sub_8C20-58F
  1501.                 xor     a
  1502.                 ld      (byte_D04D), a
  1503.                 call    BEEP_move
  1504.  
  1505.                 jp      loc_8104
  1506.  
  1507. ; ---------------------------------------------------------------------------
  1508.  
  1509. loc_871C:                               ; CODE XREF: sub_8C20-5CC
  1510.                 cp      #58 ; 'X'
  1511.                 jr      nz, loc_8737
  1512.  
  1513.                 call    restore_6_spaces
  1514.  
  1515.                 ld      hl, byte_D08D
  1516.                 ld      a, (hl)
  1517.                 xor     #80 ; 'А'
  1518.                 ld      (hl), a
  1519.                 ld      hl, byte_D0BF
  1520.                 ld      a, (hl)
  1521.                 xor     1
  1522.                 ld      (hl), a
  1523.                 call    sub_8939
  1524.  
  1525.                 jp      loc_85D8
  1526.  
  1527. ; ---------------------------------------------------------------------------
  1528.  
  1529. loc_8737:                               ; CODE XREF: sub_8C20-502
  1530.                 cp      #45 ; 'E'
  1531.                 jr      nz, loc_8745
  1532.  
  1533.                 ld      h, #D0  ; '╨'
  1534.                 ld      a, (word_D0BB+1)
  1535.                 ld      l, a
  1536.                 xor     a
  1537.                 jp      loc_861E
  1538.  
  1539. ; ---------------------------------------------------------------------------
  1540.  
  1541. loc_8745:                               ; CODE XREF: sub_8C20-4E7
  1542.                 ld      hl, KING
  1543.                 call    sub_8CF7
  1544.  
  1545.                 jp      c, loc_85DD
  1546.  
  1547.                 inc     hl
  1548.                 inc     hl
  1549.                 ld      a, (hl)
  1550.                 ld      b, a
  1551.                 ld      a, (word_D0BB+1)
  1552.                 ld      l, a
  1553.                 ld      h, BRD_88_0/256
  1554.                 jp      loc_861A
  1555.  
  1556. ; END OF FUNCTION CHUNK FOR sub_8C20
  1557.  
  1558. ; =============== S U B R O U T I N E =======================================
  1559.  
  1560.  
  1561. sub_875B:                               ; CODE XREF: sub_8C20:loc_80CB
  1562.                 xor     a
  1563.                 ld      (byte_D0FF), a
  1564.                 ld      hl, array_D200
  1565.                 ld      b, #A
  1566.  
  1567.  
  1568. loc_8764:                               ; CODE XREF: sub_875B+B
  1569.                 ld      (hl), a
  1570.                 inc     l
  1571.                 djnz    loc_8764
  1572.  
  1573.                 ld      (hl), #FF
  1574.                 ld      c, a
  1575.                 ld      b, a
  1576.                 ld      hl, array_D200
  1577.  
  1578.  
  1579. loc_876F:                               ; CODE XREF: sub_875B+16
  1580.                 dec     hl
  1581.                 ld      (hl), a
  1582.                 djnz    loc_876F
  1583.  
  1584.                 ld      hl, unk_D080
  1585.                 ld      b, #80 ; 'А'
  1586.  
  1587.  
  1588. loc_8778:                               ; CODE XREF: sub_875B+1F
  1589.                 dec     hl
  1590.                 ld      (hl), a
  1591.                 djnz    loc_8778
  1592.  
  1593.                 call    sub_87BC
  1594.  
  1595.                 ld      de, word_D100
  1596.                 ld      c, #41 ; 'A'
  1597.                 call    sub_87BF
  1598.  
  1599.                 ld      l, #60 ; '`'
  1600.                 ld      c, #C1  ; '┴'
  1601.                 call    sub_87BF
  1602.  
  1603.                 ld      c, #81 ; 'Б'
  1604.                 call    sub_87BC
  1605.  
  1606.                 xor     a
  1607.                 ld      (byte_D09E), a
  1608.                 inc     a
  1609.                 ld      (byte_D0B2), a
  1610.                 ld      (byte_D02D), a
  1611.                 ld      (byte_D0BF), a
  1612.                 ld      (byte_D049), a
  1613.                 ld      (byte_D097), a
  1614.                 ld      (byte_D20C), a
  1615.                 ld      hl, stk_1bvalue
  1616.                 ld      (ptr_stk_1bvalue), hl
  1617.                 ld      hl, RAM_END_D800
  1618.                 ld      (word_D099), hl
  1619.                 call    sub_87DE
  1620.  
  1621.                 jp      loc_8828
  1622.  
  1623. ; End of function sub_875B
  1624.  
  1625.  
  1626. ; =============== S U B R O U T I N E =======================================
  1627.  
  1628.  
  1629. sub_87BC:                               ; CODE XREF: sub_875B+21 sub_875B+35
  1630.                 ld      de, byte_8901
  1631.  
  1632. ; End of function sub_87BC
  1633.  
  1634.  
  1635. ; =============== S U B R O U T I N E =======================================
  1636.  
  1637.  
  1638. sub_87BF:                               ; CODE XREF: sub_875B+29 sub_875B+30
  1639.                 ld      b, 8
  1640.  
  1641.  
  1642. loc_87C1:                               ; CODE XREF: sub_87BF+7
  1643.                 ld      a, (de)
  1644.                 or      c
  1645.                 ld      (hl), a
  1646.                 inc     l
  1647.                 inc     de
  1648.                 djnz    loc_87C1
  1649.  
  1650.                 ld      a, 8
  1651.                 add     a, l
  1652.                 ld      l, a
  1653.                 ret
  1654.  
  1655. ; End of function sub_87BF
  1656.  
  1657.  
  1658. ; =============== S U B R O U T I N E =======================================
  1659.  
  1660.  
  1661. sub_87CD:                               ; CODE XREF: sub_8C20-5D7
  1662.                                         ; sub_8C20-1D7
  1663.                 call    sub_A262
  1664.  
  1665.                 xor     a
  1666.                 ld      hl, BRD_88_0
  1667.  
  1668.  
  1669. loc_87D4:                               ; CODE XREF: sub_87CD+B
  1670.                 ld      (hl), a
  1671.  
  1672.  
  1673. loc_87D5:                               ; CODE XREF: sub_87CD+F
  1674.                 inc     l
  1675.                 bit     3, l
  1676.                 jr      z, loc_87D4
  1677.  
  1678.                 bit     7, l
  1679.                 jr      z, loc_87D5
  1680.  
  1681. ; End of function sub_87CD
  1682.  
  1683.  
  1684. ; =============== S U B R O U T I N E =======================================
  1685.  
  1686.  
  1687. sub_87DE:                               ; CODE XREF: sub_875B+5B
  1688.                 ld      hl, word_D100
  1689.                 xor     a
  1690.  
  1691.  
  1692. loc_87E2:                               ; CODE XREF: sub_87DE+9
  1693.                 set     7, (hl)
  1694.                 add     a, 8
  1695.                 ld      l, a
  1696.                 jr      nc, loc_87E2
  1697.  
  1698.                 ret
  1699.  
  1700. ; End of function sub_87DE
  1701.  
  1702.  
  1703. ; =============== S U B R O U T I N E =======================================
  1704.  
  1705.  
  1706. sub_87EA:                               ; CODE XREF: sub_87EA+30 sub_881D+3     ...
  1707.                 ld      d, (hl)
  1708.                 bit     7, d
  1709.                 jr      nz, loc_8814
  1710.  
  1711.                 inc     l
  1712.                 ld      b, (hl)
  1713.                 dec     l
  1714.                 ld      a, b
  1715.                 and     #F
  1716.                 dec     a
  1717.                 jr      z, loc_8814
  1718.  
  1719.                 set     7, (hl)
  1720.                 ld      a, l
  1721.                 and     #80 ; 'А'
  1722.                 or      3
  1723.                 ld      e, a
  1724.                 ld      a, b
  1725.                 and     #8F ; 'П'
  1726.                 push    hl
  1727.                 ld      hl, KING-1
  1728.                 call    sub_8CF7
  1729.  
  1730.                 inc     hl
  1731.                 inc     hl
  1732.                 inc     hl
  1733.                 ld      a, (hl)
  1734.                 or      e
  1735.                 ld      h, #D0  ; '╨'
  1736.                 ld      l, d
  1737.                 ld      (hl), a
  1738.                 pop     hl
  1739.  
  1740.  
  1741. loc_8814:                               ; CODE XREF: sub_87EA+3 sub_87EA+C
  1742.                 ld      a, l
  1743.                 add     a, 8
  1744.                 ld      l, a
  1745.                 bit     6, a
  1746.                 jr      nz, sub_87EA
  1747.  
  1748.                 ret
  1749.  
  1750. ; End of function sub_87EA
  1751.  
  1752.  
  1753. ; =============== S U B R O U T I N E =======================================
  1754.  
  1755.  
  1756. sub_881D:                               ; CODE XREF: sub_8C20-58D
  1757.                 ld      hl, unk_D140
  1758.                 call    sub_87EA
  1759.  
  1760.                 ld      l, #C0  ; '└'   ; word_D1C0&255
  1761.                 call    sub_87EA
  1762.  
  1763.  
  1764. loc_8828:                               ; CODE XREF: sub_875B+5E
  1765.                 ld      de, BRD_88_0
  1766.                 ld      h, #D1  ; '╤'   ; word_D100/256
  1767.  
  1768.  
  1769. loc_882D:                               ; CODE XREF: sub_881D+1A sub_881D+22
  1770.                 ld      a, (de)         ; bytes from D000 are pointers into D100 table
  1771.                 bit     0, a
  1772.                 call    nz, sub_8853
  1773.  
  1774.                 ld      a, #10
  1775.                 add     a, e
  1776.                 ld      e, a
  1777.                 jp      p, loc_882D
  1778.  
  1779.                 res     7, e
  1780.                 inc     e
  1781.                 bit     3, a
  1782.                 jr      z, loc_882D
  1783.  
  1784.                 ld      l, 0            ; word_D100&255
  1785.                 call    sub_884D
  1786.  
  1787.                 ld      l, #80 ; 'А'    ; word_D180&255
  1788.                 ld      a, b
  1789.                 or      (hl)
  1790.                 jp      m, sub_8C20     ; illegal setup
  1791.  
  1792. ; End of function sub_881D
  1793.  
  1794.  
  1795. ; =============== S U B R O U T I N E =======================================
  1796.  
  1797.  
  1798. sub_884D:                               ; CODE XREF: sub_881D+26
  1799.  
  1800. ; FUNCTION CHUNK AT A912 SIZE 00000003 BYTES
  1801.  
  1802.                 ld      b, (hl)
  1803.                 inc     l
  1804.                 ld      a, (hl)
  1805.                 jp      loc_A912
  1806.  
  1807. ; End of function sub_884D
  1808.  
  1809.  
  1810. ; =============== S U B R O U T I N E =======================================
  1811.  
  1812.  
  1813. sub_8853:                               ; CODE XREF: sub_881D+13
  1814.                 ld      l, a
  1815.                 dec     l
  1816.                 bit     6, l
  1817.                 jr      z, loc_8879
  1818.  
  1819.                 ld      a, #70 ; 'p'
  1820.                 and     e
  1821.                 jr      z, loc_88D7
  1822.  
  1823.                 cp      #70 ; 'p'
  1824.                 jr      z, loc_88D7
  1825.  
  1826.                 ld      b, 1
  1827.                 ld      a, #80 ; 'А'
  1828.                 and     l
  1829.                 xor     #80 ; 'А'
  1830.                 scf
  1831.                 rra
  1832.                 ld      c, a
  1833.                 ld      a, e
  1834.                 and     7
  1835.                 cp      3
  1836.                 jr      z, loc_88DB
  1837.  
  1838.                 cp      4
  1839.                 jr      z, loc_88DB
  1840.  
  1841.                 jr      loc_88BB
  1842.  
  1843. ; ---------------------------------------------------------------------------
  1844.  
  1845. loc_8879:                               ; CODE XREF: sub_8853+4
  1846.                 ld      a, #78 ; 'x'
  1847.                 and     l
  1848.                 jr      nz, loc_888D
  1849.  
  1850.                 ld      c, 1
  1851.                 ld      b, 0
  1852.                 bit     1, l
  1853.                 jr      z, loc_8888
  1854.  
  1855.                 ld      b, #30 ; '0'
  1856.  
  1857.  
  1858. loc_8888:                               ; CODE XREF: sub_8853+31
  1859.                 call    sub_88E9
  1860.  
  1861.                 jr      loc_88D7
  1862.  
  1863. ; ---------------------------------------------------------------------------
  1864.  
  1865. loc_888D:                               ; CODE XREF: sub_8853+29
  1866.                 cp      #10
  1867.                 ld      c, #E
  1868.                 ld      b, 9
  1869.                 jr      c, loc_88B2
  1870.  
  1871.                 jr      nz, loc_88A3
  1872.  
  1873.                 ld      c, 8
  1874.                 ld      b, 5
  1875.                 bit     1, l
  1876.                 jr      z, loc_88AF
  1877.  
  1878.                 ld      b, #15
  1879.                 jr      loc_88AF
  1880.  
  1881. ; ---------------------------------------------------------------------------
  1882.  
  1883. loc_88A3:                               ; CODE XREF: sub_8853+42
  1884.                 ld      b, 3
  1885.                 ld      c, 0
  1886.                 cp      #20 ; ' '
  1887.                 jr      nz, loc_88AF
  1888.  
  1889.                 ld      b, #83 ; 'Г'
  1890.                 ld      c, 4
  1891.  
  1892.  
  1893. loc_88AF:                               ; CODE XREF: sub_8853+4A sub_8853+4E ...
  1894.                 call    sub_88E9
  1895.  
  1896.  
  1897. loc_88B2:                               ; CODE XREF: sub_8853+40
  1898.                 call    sub_88E9
  1899.  
  1900.  
  1901. loc_88B5:                               ; CODE XREF: sub_8853+94
  1902.                 ld      a, #82 ; 'В'
  1903.                 and     l
  1904.                 set     6, a
  1905.                 ld      l, a
  1906.  
  1907.  
  1908. loc_88BB:                               ; CODE XREF: sub_8853+24 sub_8853+77
  1909.                 call    sub_88E9
  1910.  
  1911.                 call    sub_88E9
  1912.  
  1913.                 call    sub_88E9
  1914.  
  1915.                 ld      a, l
  1916.                 add     a, #10
  1917.                 ld      l, a
  1918.                 bit     6, a
  1919.                 jr      nz, loc_88BB
  1920.  
  1921.                 xor     #80 ; 'А'
  1922.                 or      #58 ; 'X'
  1923.                 ld      l, a
  1924.                 call    sub_88E9
  1925.  
  1926.                 call    sub_88E9
  1927.  
  1928.  
  1929. loc_88D7:                               ; CODE XREF: sub_8853+9 sub_8853+D ...
  1930.                 pop     hl
  1931.                 jp      sub_8C20
  1932.  
  1933. ; ---------------------------------------------------------------------------
  1934.  
  1935. loc_88DB:                               ; CODE XREF: sub_8853+1E sub_8853+22
  1936.                 ld      a, l
  1937.                 and     #82 ; 'В'
  1938.                 or      #58 ; 'X'
  1939.                 ld      l, a
  1940.                 call    sub_88E9
  1941.  
  1942.                 call    sub_88E9
  1943.  
  1944.                 jr      loc_88B5
  1945.  
  1946. ; End of function sub_8853
  1947.  
  1948.  
  1949. ; =============== S U B R O U T I N E =======================================
  1950.  
  1951.  
  1952. sub_88E9:                               ; CODE XREF: sub_8853:loc_8888
  1953.                                         ; sub_8853:loc_88AF ...
  1954.                 res     1, l
  1955.                 ld      a, (hl)
  1956.                 rla
  1957.                 jr      c, loc_88F4
  1958.  
  1959.                 ld      a, 8
  1960.                 add     a, l
  1961.                 ld      l, a
  1962.                 ret
  1963.  
  1964. ; ---------------------------------------------------------------------------
  1965.  
  1966. loc_88F4:                               ; CODE XREF: sub_88E9+4
  1967.                 ld      (hl), e         ; D000 (hl) and D100 (de) point to each other here
  1968.                 ld      a, l
  1969.                 set     2, a
  1970.                 ld      (de), a
  1971.                 inc     l
  1972.                 ld      (hl), b
  1973.                 set     2, l
  1974.                 inc     l
  1975.                 ld      (hl), c
  1976.                 pop     bc
  1977.                 ret
  1978.  
  1979. ; End of function sub_88E9
  1980.  
  1981. ; ---------------------------------------------------------------------------
  1982. byte_8901:      db      #11,#31,#21,#09,#01,#21,#31,#11
  1983.  
  1984. aSIXbuf:        db      '      '
  1985.                 EOS
  1986.  
  1987. ; =============== S U B R O U T I N E =======================================
  1988.  
  1989.  
  1990. sub_890F:                               ; CODE XREF: sub_8C20-679
  1991.                                         ; restore_6_spaces+D ...
  1992.                 ld      hl, #61A
  1993.                 ld      (scr_XY), hl
  1994.                 ld      hl, aSIXbuf     ; "     "
  1995.                 call    PRINT_STR_FF
  1996.  
  1997.                 ld      hl, #1700
  1998.                 ld      (scr_XY), hl
  1999.                 ld      hl, aSIXbuf     ; "     "
  2000.                 call    loc_9E65
  2001.  
  2002.                 ret
  2003.  
  2004. ; End of function sub_890F
  2005.  
  2006.  
  2007. ; =============== S U B R O U T I N E =======================================
  2008.  
  2009.  
  2010. restore_6_spaces:                       ; CODE XREF: sub_8C20-67C
  2011.                                         ; sub_8C20-5B8 ...
  2012.                 ld      hl, aSIXbuf     ; "     "
  2013.                 ld      b, 5
  2014.                 ld      a, #20 ; ' '
  2015.  
  2016.  
  2017. loc_892F:                               ; CODE XREF: restore_6_spaces+9
  2018.                 ld      (hl), a
  2019.                 inc     hl
  2020.                 djnz    loc_892F
  2021.  
  2022.                 ld      (hl),' '|#80
  2023.                 call    sub_890F
  2024.  
  2025.                 ret
  2026.  
  2027. ; End of function restore_6_spaces
  2028.  
  2029.  
  2030. ; =============== S U B R O U T I N E =======================================
  2031.  
  2032.  
  2033. sub_8939:                               ; CODE XREF: sub_8C20-4EF
  2034.                                         ; sub_9128+37   ...
  2035.                 call    restore_6_spaces
  2036.  
  2037.                 ld      hl, aSIXbuf     ; "     "
  2038.                 ld      a, (word_D0BB)
  2039.                 cp      #FF
  2040.                 jr      nz, loc_8949
  2041.  
  2042.                 ld      a, (word_D0BB+1)
  2043.  
  2044.  
  2045. loc_8949:                               ; CODE XREF: sub_8939+B
  2046.                 call    sub_8960
  2047.  
  2048.                 ld      a, (word_D0BB)
  2049.                 cp      #FF
  2050.                 jr      z, loc_895C
  2051.  
  2052.                 ld      (hl),'-'
  2053.                 inc     hl
  2054.                 ld      a, (word_D0BB+1)
  2055.                 call    sub_8960
  2056.  
  2057.  
  2058. loc_895C:                               ; CODE XREF: sub_8939+18
  2059.                 call    sub_890F
  2060.  
  2061.                 ret
  2062.  
  2063. ; End of function sub_8939
  2064.  
  2065.  
  2066. ; =============== S U B R O U T I N E =======================================
  2067.  
  2068.  
  2069. sub_8960:                               ; CODE XREF: sub_8939:loc_8949
  2070.                                         ; sub_8939+20   ...
  2071.                 ld      b, a
  2072.                 and     #F
  2073.                 add     a,'a'
  2074.                 ld      (hl), a
  2075.                 inc     hl
  2076.                 ld      a, b
  2077.                 and     #F0
  2078.                 rlca
  2079.                 rlca
  2080.                 rlca
  2081.                 rlca
  2082.                 neg
  2083.                 add     a, 7
  2084.                 add     a,'1'
  2085.                 ld      (hl), a
  2086.                 inc     hl
  2087.                 ret
  2088.  
  2089. ; End of function sub_8960
  2090.  
  2091.  
  2092. ; =============== S U B R O U T I N E =======================================
  2093.  
  2094.  
  2095. sub_8977:                               ; CODE XREF: sub_8C20:loc_8283
  2096.                 ld      hl, buf_10bytes
  2097.                 ld      b, #A
  2098.  
  2099.  
  2100. loc_897C:                               ; CODE XREF: sub_8977+8
  2101.                 ld      (hl), #20 ; ' '
  2102.                 inc     hl
  2103.                 djnz    loc_897C
  2104.  
  2105.                 xor     a
  2106.                 ld      (byte_D0DC), a
  2107.                 bit     4, (ix+2)
  2108.                 jr      z, loc_89A4
  2109.  
  2110.                 ld      hl, aOOO        ; "O-O-O"
  2111.                 ld      de, buf_10bytes+1
  2112.                 ld      c, 5
  2113.                 bit     2, (ix+1)
  2114.                 jr      z, loc_899E
  2115.  
  2116.                 inc     hl
  2117.                 inc     hl
  2118.                 inc     de
  2119.                 ld      c, 3
  2120.  
  2121.  
  2122. loc_899E:                               ; CODE XREF: sub_8977+20
  2123.                 ldir
  2124.                 ex      de, hl
  2125.                 dec     hl
  2126.                 jr      loc_89FB
  2127.  
  2128. ; ---------------------------------------------------------------------------
  2129.  
  2130. loc_89A4:                               ; CODE XREF: sub_8977+12
  2131.                 ld      hl, buf_10bytes
  2132.                 ld      a, (byte_D0C2)
  2133.                 ld      (hl), a
  2134.                 inc     hl
  2135.                 ld      a, (ix+0)
  2136.                 call    sub_8960
  2137.  
  2138.                 ld      (hl),'-'
  2139.                 bit     3, (ix+2)
  2140.                 jr      z, loc_89BC
  2141.  
  2142.                 ld      (hl),'x'
  2143.  
  2144.  
  2145. loc_89BC:                               ; CODE XREF: sub_8977+41
  2146.                 inc     hl
  2147.                 ld      a, (ix+1)
  2148.                 call    sub_8960
  2149.  
  2150.                 dec     hl
  2151.                 pop     de
  2152.                 pop     af
  2153.                 push    af
  2154.                 push    de
  2155.                 jp      po, loc_89F3
  2156.  
  2157.                 inc     hl
  2158.                 ld      (hl), #2F ; '/'
  2159.                 inc     hl
  2160.                 push    hl
  2161.                 ld      hl, (ptr_stk_1bvalue)
  2162.                 dec     hl
  2163.                 ld      a, (hl)
  2164.                 and     #8F ; 'П'
  2165.                 pop     hl
  2166.                 ld      b, #51 ; 'Q'
  2167.                 cp      9
  2168.                 jr      z, loc_89EC
  2169.  
  2170.                 ld      b, #52 ; 'R'
  2171.                 cp      5
  2172.                 jr      z, loc_89EC
  2173.  
  2174.                 ld      b, #42 ; 'B'
  2175.                 cp      #83 ; 'Г'
  2176.                 jr      z, loc_89EC
  2177.  
  2178.                 ld      b, #4E ; 'N'
  2179.  
  2180.  
  2181. loc_89EC:                               ; CODE XREF: sub_8977+65 sub_8977+6B ...
  2182.                 ld      a, b
  2183.                 ld      (hl), a
  2184.                 ld      (byte_D0DC), a
  2185.                 jr      loc_89FB
  2186.  
  2187. ; ---------------------------------------------------------------------------
  2188.  
  2189. loc_89F3:                               ; CODE XREF: sub_8977+51
  2190.                 jr      nc, loc_89FB
  2191.  
  2192.                 inc     hl
  2193.                 ld      (hl), #65 ; 'e'
  2194.                 inc     hl
  2195.                 ld      (hl), #70 ; 'p'
  2196.  
  2197.  
  2198. loc_89FB:                               ; CODE XREF: sub_8977+2B sub_8977+7A ...
  2199.                 bit     7, (ix+2)
  2200.                 jr      z, loc_8A04
  2201.  
  2202.                 inc     hl
  2203.                 ld      (hl), #2B ; '+'
  2204.  
  2205.  
  2206. loc_8A04:                               ; CODE XREF: sub_8977+88
  2207.                 set     7, (hl)
  2208.                 ret
  2209.  
  2210. ; End of function sub_8977
  2211.  
  2212. ; ---------------------------------------------------------------------------
  2213. ; START OF FUNCTION CHUNK FOR sub_8C20
  2214.  
  2215. loc_8A07:                               ; CODE XREF: sub_8C20-204
  2216.                                         ; sub_8C20-167
  2217.                 call    BEEP_3
  2218.  
  2219.                 jp      loc_8378
  2220.  
  2221. ; ---------------------------------------------------------------------------
  2222.  
  2223. loc_8A0D:                               ; CODE XREF: sub_8C20:loc_8443
  2224. ;'B' - back
  2225.                 call    sub_9571
  2226.  
  2227.                 ld      a, (word_D0BB)
  2228.                 or      a
  2229.                 call    p, sub_9595
  2230.  
  2231.                 ld      hl, (word_D0F7)
  2232.                 ld      a, l
  2233.                 or      h
  2234.                 jp      z, loc_8A07
  2235.  
  2236.                 ld      a, (byte_D0F4)
  2237.                 ld      c, a
  2238.                 ld      b, 0
  2239.                 ld      hl, (word_D088)
  2240.                 sbc     hl, bc
  2241.                 jr      nc, loc_8A2F
  2242.  
  2243.                 ld      hl, 0
  2244.  
  2245.  
  2246. loc_8A2F:                               ; CODE XREF: sub_8C20-1F6
  2247.                 ld      (word_D088), hl
  2248.  
  2249.  
  2250. loc_8A32:                               ; CODE XREF: sub_8C20-11
  2251.                                         ; sub_8C20+172A ...
  2252.                 call    BEEP_move
  2253.  
  2254.                 call    sub_96A6
  2255.  
  2256.                 ld      hl, (word_D0F7)
  2257.                 dec     hl
  2258.                 ld      (word_D09F), hl
  2259.                 ld      a, (byte_D20C)
  2260.                 ld      (byte_D049), a
  2261.                 dec     a
  2262.                 jp      z, loc_80CB
  2263.  
  2264.                 call    sub_87CD
  2265.  
  2266.                 ld      de, array_64bytes
  2267.                 ld      a, (byte_D300)
  2268.                 ld      (word_D059+1), a
  2269.                 ld      a, (byte_D301)
  2270.                 ld      (byte_D05B), a
  2271.                 ld      (byte_D02D), a
  2272.                 and     1
  2273.                 ld      (byte_D0B2), a
  2274.                 ld      (byte_D0BF), a
  2275.                 ld      a, (byte_D302)
  2276.                 ld      (byte_D00A), a
  2277.                 ld      hl, word_D100
  2278.                 ld      b, #20 ; ' '
  2279.  
  2280.  
  2281. loc_8A71:                               ; CODE XREF: sub_8C20-1A4
  2282.                 ld      a, (de)
  2283.                 ld      (hl), a
  2284.                 inc     hl
  2285.                 inc     de
  2286.                 ld      a, (de)
  2287.                 ld      (hl), a
  2288.                 inc     de
  2289.                 ld      a, l
  2290.                 add     a, 7
  2291.                 ld      l, a
  2292.                 djnz    loc_8A71
  2293.  
  2294.                 ld      hl, word_D100
  2295.                 ld      de, BRD_88_0
  2296.  
  2297.  
  2298. loc_8A84:                               ; CODE XREF: sub_8C20-18E
  2299.                 ld      a, (hl)
  2300.                 or      a
  2301.                 jp      m, loc_8A8E
  2302.  
  2303.                 ld      e, a
  2304.                 ld      a, l
  2305.                 or      4
  2306.                 ld      (de), a
  2307.  
  2308.  
  2309. loc_8A8E:                               ; CODE XREF: sub_8C20-19A
  2310.                 ld      a, l
  2311.                 add     a, 8
  2312.                 ld      l, a
  2313.                 jr      nc, loc_8A84
  2314.  
  2315.                 ld      hl, stk_1bvalue
  2316.                 ld      (ptr_stk_1bvalue), hl
  2317.                 jp      loc_80CE
  2318.  
  2319. ; ---------------------------------------------------------------------------
  2320.  
  2321. loc_8A9D:                               ; CODE XREF: sub_8C20-80F
  2322. ;'F' - forward
  2323.                 call    sub_9571
  2324.  
  2325.                 ld      a, (word_D0BB)
  2326.                 or      a
  2327.                 call    p, sub_9595
  2328.  
  2329.                 ld      a, (byte_D0F4)
  2330.                 ld      c, a
  2331.                 ld      b, 0
  2332.                 ld      hl, (word_D088)
  2333.                 add     hl, bc
  2334.                 ld      (word_D088), hl ; add byte D0F4 to word D088
  2335.                 ld      hl, (ptr_stk_1bvalue)
  2336.                 ld      a, (hl)
  2337.                 inc     a
  2338.                 jp      z, loc_8A07     ; check gor end mark on stack
  2339.  
  2340.                 ld      hl, (word_D0F7)
  2341.                 inc     hl
  2342.                 ld      (word_D09F), hl
  2343.                 call    BEEP_move
  2344.  
  2345.                 jp      loc_810A
  2346.  
  2347. ; ---------------------------------------------------------------------------
  2348.  
  2349. loc_8AC9:                               ; CODE XREF: sub_8C20-119
  2350.                 ld      hl, 0
  2351.                 ld      (word_D09F), hl
  2352.                 ld      a, (byte_D02D)
  2353.                 and     1
  2354.                 ld      (byte_D0B2), a
  2355.                 ld      hl, (ptr_stk_1bvalue)
  2356.                 dec     hl
  2357.                 ld      (ptr_stk_1bvalue), hl
  2358.                 ld      hl, (word_D0F7)
  2359.                 dec     hl
  2360.                 ld      (word_D0F7), hl
  2361.                 jp      loc_82EB
  2362.  
  2363. ; ---------------------------------------------------------------------------
  2364.  
  2365. loc_8AE8:                               ; CODE XREF: sub_8C20-AFF
  2366.                 ld      sp, RAM_END_D800
  2367.                 ld      de, (word_D0F7)
  2368.                 or      a
  2369.                 sbc     hl, de
  2370.                 jp      z, loc_8B58
  2371.  
  2372.                 inc     de
  2373.                 ld      (word_D0F7), de
  2374.                 ld      hl, (ptr_stk_1bvalue)
  2375.                 ld      c, (hl)
  2376.                 ld      b, 0
  2377.                 inc     hl
  2378.                 ld      (ptr_stk_1bvalue), hl
  2379.                 ld      a, c
  2380.                 cp      #FF
  2381.                 jr      z, loc_8AC9     ; if end mark
  2382.  
  2383.                 res     7, c
  2384.                 ld      hl, tbl_D803    ; index into 3byte structs array
  2385.                 add     hl, bc
  2386.                 add     hl, bc
  2387.                 add     hl, bc
  2388.                 push    af
  2389.                 push    hl
  2390.                 ld      ix, word_D059
  2391.                 call    sub_A903
  2392.  
  2393.                 pop     ix
  2394.                 pop     af
  2395.                 rla
  2396.                 jr      nc, loc_8B24
  2397.  
  2398.                 set     7, (ix+2)
  2399.  
  2400.  
  2401. loc_8B24:                               ; CODE XREF: sub_8C20-102
  2402.                 ld      a, (ix+0)
  2403.                 call    sub_9FF5
  2404.  
  2405.                 ld      (byte_D0C2), a
  2406.                 ld      a, (ix+1)
  2407.                 call    sub_9FF5
  2408.  
  2409.                 ld      (byte_D0C3), a
  2410.                 call    sub_A906
  2411.  
  2412.                 pop     af
  2413.                 push    af
  2414.                 jp      po, loc_8253
  2415.  
  2416.                 ld      hl, (ptr_stk_1bvalue)
  2417.                 ld      b, (hl)
  2418.                 inc     hl
  2419.                 ld      (ptr_stk_1bvalue), hl
  2420.                 ld      l, (ix+1)
  2421.                 ld      h, BRD_88_0/256
  2422.                 ld      l, (hl)
  2423.                 res     2, l
  2424.                 inc     l
  2425.                 inc     h               ; word_D100/256
  2426.                 ld      (hl), b
  2427.                 xor     a
  2428.                 ld      (byte_D00A), a
  2429.                 jp      loc_8283
  2430.  
  2431. ; ---------------------------------------------------------------------------
  2432.  
  2433. loc_8B58:                               ; CODE XREF: sub_8C20-12E
  2434.                 ld      (word_D09F), hl
  2435.                 ld      a, (byte_D02D)
  2436.                 and     1
  2437.                 ld      (byte_D0B2), a
  2438.                 jp      loc_8104
  2439.  
  2440. ; END OF FUNCTION CHUNK FOR sub_8C20
  2441.  
  2442. ; =============== S U B R O U T I N E =======================================
  2443.  
  2444.  
  2445. sub_8B66:                               ; CODE XREF: sub_8C20-99A
  2446.                 ld      hl, (word_D059)
  2447.                 ld      (word_D05C), hl
  2448.                 ld      a, (byte_D05B)
  2449.                 ld      (byte_D05E), a
  2450.                 ld      l, (ix+0)
  2451.                 ld      h, (ix+1)
  2452.                 ld      a, (ix+2)
  2453.                 ld      (word_D059), hl
  2454.                 ld      (byte_D05B), a
  2455.                 ld      hl, unk_D22B
  2456.                 ld      de, unk_D229
  2457.                 ld      bc, #19         ; 25
  2458.                 ldir
  2459.                 ret
  2460.  
  2461. ; End of function sub_8B66
  2462.  
  2463. ; ---------------------------------------------------------------------------
  2464. ; START OF FUNCTION CHUNK FOR sub_8C20
  2465.  
  2466. loc_8B8D:                               ; CODE XREF: sub_8C20-A54
  2467.                                         ; sub_8C20-91A
  2468.                 ld      hl, aCheckmate  ; "CHECKMAT"
  2469.                 ld      a, (byte_D05B)
  2470.                 rla
  2471.                 jr      c, loc_8B9E
  2472.  
  2473.                 ld      hl, aStalemate  ; "STALEMAT"
  2474.                 jr      loc_8B9E
  2475.  
  2476. ; ---------------------------------------------------------------------------
  2477.  
  2478. loc_8B9B:                               ; CODE XREF: sub_8C20-B0C
  2479.                                         ; sub_8C20-AD9
  2480.                 ld      hl, aDraw       ; "DRA"
  2481.  
  2482.  
  2483. loc_8B9E:                               ; CODE XREF: sub_8C20-8C sub_8C20-87
  2484.                 ld      a, (byte_D0B4)
  2485.                 bit     5, a
  2486.                 jp      nz, loc_8520
  2487.  
  2488.                 xor     a
  2489.                 ld      (byte_D0BF), a
  2490.                 push    hl
  2491.                 call    sub_A43C
  2492.  
  2493.                 call    sub_A45A
  2494.  
  2495.                 call    sub_A43C
  2496.  
  2497.                 pop     hl
  2498.                 call    sub_9E68
  2499.  
  2500.                 ld      hl, aBBackSSetPosn_ ; "B - Back          S - Set posn. G - new"...
  2501.                 ld      de, #1000
  2502.                 call    sub_9F42
  2503.  
  2504.                 call    sub_9939
  2505.  
  2506.                 ld      a, (byte_D02D)
  2507.                 ld      hl, word_D100
  2508.                 rra
  2509.                 jr      nc, loc_8BCF
  2510.  
  2511.                 ld      l, #80 ; 'А'
  2512.  
  2513.  
  2514. loc_8BCF:                               ; CODE XREF: sub_8C20-55
  2515.                 ld      b, #30 ; '0'
  2516.                 ld      d, 0
  2517.                 ld      l, (hl)
  2518.                 dec     h               ; BRD_88_0/256
  2519.                 ld      e, (hl)
  2520.                 ld      c, e
  2521.                 or      a
  2522.  
  2523.  
  2524. loc_8BD8:                               ; CODE XREF: sub_8C20-8 sub_8C20-5
  2525.                 ld      a, e
  2526.                 ld      e, d
  2527.                 ld      d, a
  2528.                 ld      (hl), e
  2529.                 push    bc
  2530.                 push    hl
  2531.                 push    de
  2532.                 call    c, BEEP_move
  2533.  
  2534.                 call    sub_93A4
  2535.  
  2536.                 ld      hl, byte_D0DF
  2537.                 ld      (hl), 8
  2538.                 ld      a, #A
  2539.                 call    sub_8C34
  2540.  
  2541.                 pop     de
  2542.                 pop     hl
  2543.                 pop     bc
  2544.                 ld      (hl), c
  2545.                 jr      z, loc_8C13
  2546.  
  2547.                 cp      #53 ; 'S'
  2548.                 jr      nz, loc_8BFF
  2549.  
  2550.                 call    sub_93A4
  2551.  
  2552.                 jp      loc_8595
  2553.  
  2554. ; ---------------------------------------------------------------------------
  2555.  
  2556. loc_8BFF:                               ; CODE XREF: sub_8C20-29
  2557.                 cp      #42 ; 'B'
  2558.                 jr      nz, loc_8C12
  2559.  
  2560.                 push    hl
  2561.                 ld      hl, byte_D0B4
  2562.                 res     1, (hl)
  2563.                 ld      hl, (word_D0F7)
  2564.                 ld      a, l
  2565.                 or      h
  2566.                 pop     hl
  2567.                 jp      nz, loc_8A32
  2568.  
  2569.  
  2570. loc_8C12:                               ; CODE XREF: sub_8C20-1F
  2571.                 scf
  2572.  
  2573.  
  2574. loc_8C13:                               ; CODE XREF: sub_8C20-2D
  2575.                 ld      a, (byte_D0B4)
  2576.                 bit     1, a
  2577.                 jp      z, loc_8BD8
  2578.  
  2579.                 djnz    loc_8BD8
  2580.  
  2581.                 jp      NEW_GAME
  2582.  
  2583. ; END OF FUNCTION CHUNK FOR sub_8C20
  2584.  
  2585. ; =============== S U B R O U T I N E =======================================
  2586.  
  2587.  
  2588. sub_8C20:                               ; CODE XREF: sub_8C20-562
  2589.                                         ; sub_881D+2D   ...
  2590.  
  2591. ; FUNCTION CHUNK AT 80A1 SIZE 0000038B BYTES
  2592. ; FUNCTION CHUNK AT 8443 SIZE 00000003 BYTES
  2593. ; FUNCTION CHUNK AT 845D SIZE 000002FE BYTES
  2594. ; FUNCTION CHUNK AT 8A07 SIZE 0000015F BYTES
  2595. ; FUNCTION CHUNK AT 8B8D SIZE 00000093 BYTES
  2596. ; FUNCTION CHUNK AT 8CD5 SIZE 00000022 BYTES
  2597. ; FUNCTION CHUNK AT A29F SIZE 00000112 BYTES
  2598. ; FUNCTION CHUNK AT A4F4 SIZE 00000035 BYTES
  2599. ; FUNCTION CHUNK AT A596 SIZE 000000EE BYTES
  2600.  
  2601.                 pop     hl
  2602.                 ld      hl, aIllegalSetup ; "ILLEGAL SETU"
  2603.                 call    sub_9E68
  2604.  
  2605.                 call    BEEP_3
  2606.  
  2607.                 jp      loc_85FD
  2608.  
  2609. ; End of function sub_8C20
  2610.  
  2611.  
  2612. ; =============== S U B R O U T I N E =======================================
  2613.  
  2614.  
  2615. sub_8C2D:                               ; CODE XREF: sub_8C20-AE4
  2616.                                         ; sub_8C20:loc_845D ...
  2617.                 ld      hl, a_32spaces  ; "                        "
  2618.                 call    sub_9E68
  2619.  
  2620.                 ret
  2621.  
  2622. ; End of function sub_8C2D
  2623.  
  2624.  
  2625. ; =============== S U B R O U T I N E =======================================
  2626.  
  2627.  
  2628. sub_8C34:                               ; CODE XREF: sub_8C20-34 sub_8C6B+3D ...
  2629.                 xor     a
  2630.                 ld      (byte_D0B8), a
  2631.  
  2632. loc_8C38:
  2633.                 ld      a, #A
  2634.  
  2635.  
  2636. loc_8C3A:                               ; CODE XREF: sub_8C34+8
  2637.                 halt
  2638.                 dec     a
  2639.                 jr      nz, loc_8C3A
  2640.  
  2641.                 call    sub_8F4D
  2642.  
  2643.                 ld      a, (byte_D0B8)
  2644.                 push    af
  2645.                 xor     a
  2646.                 ld      (byte_D0B8), a
  2647.                 pop     af
  2648.                 or      a
  2649.                 ret
  2650.  
  2651. ; End of function sub_8C34
  2652.  
  2653. ; ---------------------------------------------------------------------------
  2654.                 ld      c, #A
  2655.  
  2656.  
  2657. loc_8C4E:                               ; CODE XREF: RAM:8C56
  2658.                 ld      a, #25 ; '%'
  2659.  
  2660.  
  2661. loc_8C50:                               ; CODE XREF: RAM:loc_8C50 RAM:8C53
  2662.                 djnz    $
  2663.  
  2664.                 dec     a
  2665.                 jr      nz, loc_8C50
  2666.  
  2667.                 dec     c
  2668.                 jr      nz, loc_8C4E
  2669.  
  2670.                 ret
  2671.  
  2672. ; ---------------------------------------------------------------------------
  2673.                 ld      a, (byte_D0B3) ;d3=swap board
  2674.                 bit     4, a
  2675.                 ret     z
  2676.                 bit     6, a
  2677.                 ret     nz
  2678.                 ld      hl, byte_D0B4
  2679.                 bit     5, (hl)
  2680.                 ret     nz
  2681.                 ld      hl, (tbl_D803)
  2682.  
  2683.  
  2684. ; =============== S U B R O U T I N E =======================================
  2685.  
  2686.  
  2687. sub_8C6B:                               ; CODE XREF: sub_8C20-840
  2688.                                         ; sub_8FC1+37
  2689.                 ld      a, l
  2690.                 or      h
  2691.                 ret     z
  2692.                 ld      a, l
  2693.                 call    sub_8CC1
  2694.  
  2695.                 ld      c, a
  2696.                 ld      a, h
  2697.                 call    sub_8CC1
  2698.  
  2699.                 ld      b, 0
  2700.                 ld      hl, BOARD
  2701.                 add     hl, bc
  2702.                 ld      e, (hl)
  2703.                 ld      b, a
  2704.                 ld      hl, BOARD
  2705.                 add     a, l
  2706.                 ld      l, a
  2707.                 ld      a, 0
  2708.                 adc     a, h
  2709.                 ld      h, a
  2710.                 ld      d, (hl)
  2711.                 ld      hl, byte_D0B3 ;d3=swap board
  2712.                 bit     3, (hl)
  2713.                 jr      z, loc_8C98
  2714.  
  2715.                 ld      a, b
  2716.                 xor     #3F ; '?'
  2717.                 ld      b, a
  2718.                 ld      a, c
  2719.                 xor     #3F ; '?'
  2720.                 ld      c, a
  2721.  
  2722.  
  2723. loc_8C98:                               ; CODE XREF: sub_8C6B+23
  2724.                 push    de
  2725.                 push    bc
  2726.                 ld      c, e
  2727.                 ld      a, b
  2728.                 call    SHOW_FIG_POS
  2729.  
  2730.                 pop     bc
  2731.                 push    bc
  2732.                 ld      a, c
  2733.                 call    SH_EMPT_POS
  2734.  
  2735.                 call    BEEP_move
  2736.  
  2737.                 call    sub_8C34
  2738.  
  2739.                 call    sub_8C34
  2740.  
  2741.                 pop     bc
  2742.                 pop     de
  2743.                 push    de
  2744.                 push    bc
  2745.                 ld      a, c
  2746.                 ld      c, e
  2747.                 call    SHOW_FIG_POS
  2748.  
  2749.                 pop     bc
  2750.                 pop     de
  2751.                 ld      a, b
  2752.                 ld      c, d
  2753.                 call    SHOW_FIG_POS
  2754.  
  2755.                 or      1
  2756.                 ret
  2757.  
  2758. ; End of function sub_8C6B
  2759.  
  2760.  
  2761. ; =============== S U B R O U T I N E =======================================
  2762.  
  2763.  
  2764. sub_8CC1:                               ; CODE XREF: sub_8C6B+4 sub_8C6B+9
  2765.                 push    af
  2766.                 and     7
  2767.                 ld      b, a
  2768.                 pop     af
  2769.                 rra
  2770.                 and     #38 ; '8'
  2771.                 add     a, b
  2772.                 push    hl
  2773.                 ld      hl, byte_D0B3 ;d3=swap board
  2774.                 bit     3, (hl)
  2775.                 pop     hl
  2776.                 ret     z
  2777.                 xor     #3F ; '?'
  2778.                 ret
  2779.  
  2780. ; End of function sub_8CC1
  2781.  
  2782. ; ---------------------------------------------------------------------------
  2783. ; START OF FUNCTION CHUNK FOR sub_8C20
  2784.  
  2785. loc_8CD5:                               ; CODE XREF: sub_8C20-819
  2786. ;'D' - demo
  2787.                 ld      hl, byte_D0B4
  2788.                 set     1, (hl)
  2789.  
  2790.  
  2791. loc_8CDA:                               ; CODE XREF: sub_8C20-81E
  2792. ;'M' - move
  2793.                 call    BEEP_move
  2794.  
  2795.                 ld      a, (word_D0BB)
  2796.                 or      a
  2797.                 call    p, sub_9595
  2798.  
  2799.                 ld      hl, byte_D0B4
  2800.                 res     0, (hl)
  2801.  
  2802.  
  2803. loc_8CE9:                               ; CODE XREF: sub_8C20-AA1
  2804.                                         ; sub_8C20-92A
  2805.                 ld      hl, byte_D0B2
  2806.                 ld      a, (hl)
  2807.                 or      a
  2808.                 ld      a, #16
  2809.                 jr      z, loc_8CF3
  2810.  
  2811.                 xor     a
  2812.  
  2813.  
  2814. loc_8CF3:                               ; CODE XREF: sub_8C20+D0
  2815.                 ld      (hl), a
  2816.                 jp      loc_810A
  2817.  
  2818. ; END OF FUNCTION CHUNK FOR sub_8C20
  2819.  
  2820. ; =============== S U B R O U T I N E =======================================
  2821.  
  2822.  
  2823. sub_8CF7:                               ; CODE XREF: sub_8C20-4D8
  2824.                                         ; sub_87EA+1D   ...
  2825.                 ld      b, 6
  2826.  
  2827.  
  2828. loc_8CF9:                               ; CODE XREF: sub_8CF7+8
  2829.                 cp      (hl)
  2830.                 ret     z
  2831.                 inc     hl
  2832.                 inc     hl
  2833.                 inc     hl
  2834.                 inc     hl
  2835.                 djnz    loc_8CF9
  2836.  
  2837.                 scf
  2838.                 ret
  2839.  
  2840. ; End of function sub_8CF7
  2841.  
  2842. ; ---------------------------------------------------------------------------
  2843.                 db    0                 ; DATA XREF: sub_87EA+1A sub_9FF5+20
  2844. KING:           db  #4B ; K             ; DATA XREF: sub_8C20:loc_8745
  2845.                 db    6                 ; DATA XREF: sub_94C9:loc_94FF
  2846.                 db    0
  2847.                 db    9
  2848.                 db  #51 ; Q
  2849.                 db    5
  2850.                 db    8
  2851.                 db    5
  2852.                 db  #52 ; R
  2853.                 db    4
  2854.                 db  #10
  2855.                 db  #83 ; Г
  2856.                 db  #42 ; B
  2857.                 db    3
  2858.                 db  #20
  2859.                 db    3
  2860.                 db  #4E ; N
  2861.                 db    2
  2862.                 db  #30 ; 0
  2863.                 db    1
  2864.                 db  #50 ; P
  2865.                 db    1
  2866.                 db  #40 ; @
  2867.  
  2868. ; =============== S U B R O U T I N E =======================================
  2869.  
  2870.  
  2871. sub_8D1B:                               ; CODE XREF: sub_8C20:loc_83D1
  2872.                                         ; sub_8C20:loc_863F
  2873.                 cp      #4C ; 'L'
  2874.                 scf
  2875.                 ret     nz
  2876.                 ld      a, (byte_D0B1)
  2877.  
  2878.  
  2879. loc_8D22:                               ; CODE XREF: sub_8D1B+8 sub_8D1B+C
  2880.                 inc     a
  2881.                 jr      z, loc_8D22
  2882.  
  2883.                 cp      #D
  2884.                 jr      nc, loc_8D22
  2885.  
  2886.                 ld      (byte_D0B1), a
  2887.  
  2888. ; End of function sub_8D1B
  2889.  
  2890.  
  2891. ; =============== S U B R O U T I N E =======================================
  2892.  
  2893.  
  2894. sub_8D2C:                               ; CODE XREF: sub_9EE6+23
  2895.                 ld      a, (byte_D0B1)
  2896.                 push    af
  2897.                 or      a
  2898.                 call    sub_A915
  2899.  
  2900.                 ld      a, #FF
  2901.                 ld      (NEED_SCR2BUF), a
  2902.                 pop     af
  2903.                 ld      de, #41B
  2904.                 ld      (scr_XY), de
  2905.                 cp      #A
  2906.                 jr      nc, loc_8D56
  2907.  
  2908.                 push    af
  2909.                 ld      a, #20 ; ' '
  2910.                 call    PRINT_LETTER
  2911.  
  2912.                 pop     af
  2913.                 add     a, #30 ; '0'
  2914.                 call    PRINT_LETTER
  2915.  
  2916.                 ld      hl,  a_8spaces+5
  2917.                 jr      loc_8D65
  2918.  
  2919. ; ---------------------------------------------------------------------------
  2920.  
  2921. loc_8D56:                               ; CODE XREF: sub_8D2C+17
  2922.                 ld      hl, a_ADAP      ; "ADA"
  2923.                 jr      z, loc_8D65
  2924.  
  2925.                 ld      hl, a_INF       ; "INF"
  2926.                 cp      #B
  2927.                 jr      z, loc_8D65
  2928.  
  2929.                 ld      hl, aProb       ; "PRO"
  2930.  
  2931.  
  2932. loc_8D65:                               ; CODE XREF: sub_8D2C+28 sub_8D2C+2D ...
  2933.                 call    PRINT_STR_FF
  2934.  
  2935.                 xor     a
  2936.                 ret
  2937.  
  2938. ; End of function sub_8D2C
  2939.  
  2940.  
  2941. ; =============== S U B R O U T I N E =======================================
  2942.  
  2943.  
  2944. sub_8D6A:                               ; CODE XREF: sub_8C20-706
  2945.                                         ; sub_8DE9+68
  2946.                 ld      a, (byte_D0F4)
  2947.                 ld      c, a
  2948.                 ld      b, 0
  2949.                 ld      h, b
  2950.                 ld      l, c
  2951.                 add     hl, hl
  2952.                 add     hl, hl
  2953.                 add     hl, bc
  2954.                 add     hl, bc
  2955.                 add     hl, bc
  2956.                 ld      bc, (INC_SECONDS)
  2957.                 dec     bc
  2958.                 dec     bc
  2959.                 bit     7, b
  2960.                 jr      z, loc_8D84
  2961.  
  2962.                 ld      bc, 0
  2963.  
  2964.  
  2965. loc_8D84:                               ; CODE XREF: sub_8D6A+15
  2966.                 add     hl, bc
  2967.                 ld      b, 3
  2968.  
  2969.  
  2970. loc_8D87:                               ; CODE XREF: sub_8D6A+21
  2971.                 srl     h
  2972.                 rr      l
  2973.                 djnz    loc_8D87
  2974.  
  2975.                 ld      a, h
  2976.                 or      a
  2977.                 jr      z, loc_8D93
  2978.  
  2979.                 ld      l, #FE  ; '■'
  2980.  
  2981.  
  2982. loc_8D93:                               ; CODE XREF: sub_8D6A+25
  2983.                 ld      a, l
  2984.                 cp      2
  2985.                 jr      nc, loc_8D9A
  2986.  
  2987.                 ld      a, 2
  2988.  
  2989.  
  2990. loc_8D9A:                               ; CODE XREF: sub_8D6A+2C
  2991.                 ld      (byte_D0F4), a
  2992.                 ret
  2993.  
  2994. ; End of function sub_8D6A
  2995.  
  2996.  
  2997. ; =============== S U B R O U T I N E =======================================
  2998.  
  2999.  
  3000. sub_8D9E:                               ; CODE XREF: sub_8C20-989
  3001.                                         ; sub_9128+10E ...
  3002.                 push    ix
  3003.                 push    hl
  3004.                 push    de
  3005.                 push    bc
  3006.                 ld      hl, byte_D0B4
  3007.                 bit     5, (hl)
  3008.                 jr      z, loc_8DB0
  3009.  
  3010.                 call    BEEP_move
  3011.  
  3012.                 call    sub_8C2D
  3013.  
  3014.  
  3015. loc_8DB0:                               ; CODE XREF: sub_8D9E+A
  3016.                 ld      a, (SEL_SCRorBUF)
  3017.                 or      a
  3018.                 jr      z, loc_8DBC
  3019.  
  3020.                 call    sub_937B
  3021.  
  3022.                 jp      loc_8E2C
  3023.  
  3024. ; ---------------------------------------------------------------------------
  3025.  
  3026. loc_8DBC:                               ; CODE XREF: sub_8D9E+16
  3027.                 ld      a, (byte_D0C4) ;a=0b0YYY0XXX
  3028.                 call    sub_96F7 ;count scr_XY, scr_pix_addr, scr_attr_addr with swap board
  3029.  
  3030.                 ld      hl, (scr_XY)
  3031.                 ld      (word_D0C6), hl
  3032.                 ld      a, (byte_D0C5) ;a=0b0YYY0XXX
  3033.                 call    sub_96F7 ;count scr_XY, scr_pix_addr, scr_attr_addr with swap board
  3034.  
  3035.                 ld      hl, (scr_XY)
  3036.                 ld      (word_D0C8), hl
  3037.                 ld      bc, (word_D0C6)
  3038.                 call    sub_8EFB ;write bc=scr_XY, scr_pix_addr, scr_attr_addr to TAPE_header+...
  3039.  
  3040.                 call    sub_8E81
  3041.  
  3042.                 ld      hl, byte_D0DF
  3043.                 set     0, (hl)
  3044.                 xor     a
  3045.                 ld      (DECREMENT_50HZ), a
  3046.                 jr      loc_8DF3
  3047.  
  3048. ; End of function sub_8D9E
  3049.  
  3050.  
  3051. ; =============== S U B R O U T I N E =======================================
  3052.  
  3053.  
  3054. sub_8DE9:                               ; CODE XREF: sub_8F4D:loc_8FBC
  3055.                 ld      a, (DECREMENT_50HZ)
  3056.                 or      a
  3057.                 ret     p
  3058.                 push    ix
  3059.                 push    hl
  3060.                 push    de
  3061.                 push    bc
  3062.  
  3063.  
  3064. loc_8DF3:                               ; CODE XREF: sub_8D9E+49
  3065.                 call    sub_8EA7
  3066.  
  3067.                 ld      hl, (word_D0C6)
  3068.                 ld      de, (word_D0C8)
  3069.                 ld      a, h
  3070.                 cp      d
  3071.                 jr      z, loc_8E06
  3072.  
  3073.                 inc     h
  3074.                 jr      c, loc_8E06
  3075.  
  3076.                 dec     h
  3077.                 dec     h
  3078.  
  3079.  
  3080. loc_8E06:                               ; CODE XREF: sub_8DE9+16 sub_8DE9+19
  3081.                 ld      a, l
  3082.                 cp      e
  3083.                 jr      z, loc_8E0F
  3084.  
  3085.                 inc     l
  3086.                 jr      c, loc_8E0F
  3087.  
  3088.                 dec     l
  3089.                 dec     l
  3090.  
  3091.  
  3092. loc_8E0F:                               ; CODE XREF: sub_8DE9+1F sub_8DE9+22
  3093.                 ld      (word_D0C6), hl
  3094.                 or      a
  3095.                 sbc     hl, de
  3096.                 push    af
  3097.                 ld      bc, (word_D0C6)
  3098.                 call    sub_8EFB ;write bc=scr_XY, scr_pix_addr, scr_attr_addr to TAPE_header+...
  3099.  
  3100.                 call    sub_8EA3
  3101.  
  3102.                 pop     af
  3103.                 jr      z, loc_8E2C
  3104.  
  3105.                 ld      hl, DECREMENT_50HZ
  3106.                 ld      a, (hl)
  3107.                 add     a, 8            ; figure move speed
  3108.                 ld      (hl), a
  3109.                 jr      loc_8E7B
  3110.  
  3111. ; ---------------------------------------------------------------------------
  3112.  
  3113. loc_8E2C:                               ; CODE XREF: sub_8D9E+1B sub_8DE9+38
  3114.                 ld      hl, byte_D0B4
  3115.                 bit     5, (hl)
  3116.                 jr      z, loc_8E73
  3117.  
  3118.                 call    sub_A6E4
  3119.  
  3120.                 call    sub_9FB2
  3121.  
  3122.                 ld      a, (byte_D0B6)
  3123.                 bit     2, a
  3124.                 call    nz, sub_A684
  3125.  
  3126.                 ld      hl, BOARD2
  3127.                 ld      de, BOARD
  3128.                 ld      bc, #40 ; '@'
  3129.                 ldir
  3130.                 ld      a, (byte_D0B1)
  3131.                 cp      #A
  3132.                 call    z, sub_8D6A
  3133.  
  3134.                 ld      hl, (INC_SECONDS)
  3135.                 ld      (word_D02B), hl
  3136.                 ld      hl, 0
  3137.                 ld      (INC_SECONDS), hl
  3138.                 call    sub_9380
  3139.  
  3140.                 ld      hl, byte_D0B3 ;d3=swap board
  3141.                 bit     5, (hl)
  3142.                 ld      hl, byte_D0B4
  3143.                 jr      z, loc_8E71
  3144.  
  3145.                 set     7, (hl)
  3146.                 res     1, (hl)
  3147.  
  3148.  
  3149. loc_8E71:                               ; CODE XREF: sub_8DE9+82
  3150.                 res     5, (hl)
  3151.  
  3152.  
  3153. loc_8E73:                               ; CODE XREF: sub_8DE9+48
  3154.                 ld      hl, byte_D0DF
  3155.                 res     0, (hl)
  3156.                 call    sub_9F0D
  3157.  
  3158.  
  3159. loc_8E7B:                               ; CODE XREF: sub_8DE9+41
  3160.                 pop     bc
  3161.                 pop     de
  3162.                 pop     hl
  3163.                 pop     ix
  3164.                 ret
  3165.  
  3166. ; End of function sub_8DE9
  3167.  
  3168.  
  3169. ; =============== S U B R O U T I N E =======================================
  3170.  
  3171.  
  3172. sub_8E81:                               ; CODE XREF: sub_8D9E+3D
  3173.                 ld      c, 3
  3174.                 ld      hl,  TAPE_header+2
  3175.  
  3176.  
  3177. loc_8E86:                               ; CODE XREF: sub_8E81+1A
  3178.                 ld      b, #18
  3179.                 xor     a
  3180.  
  3181.  
  3182. loc_8E89:                               ; CODE XREF: sub_8E81+A
  3183.                 ld      (hl), a
  3184.                 inc     hl
  3185.                 djnz    loc_8E89
  3186.  
  3187.                 ld      e, (hl)
  3188.                 inc     hl
  3189.                 ld      d, (hl)
  3190.                 inc     hl
  3191.                 ld      b, 3
  3192.                 ld      a, (de)
  3193.  
  3194.  
  3195. loc_8E94:                               ; CODE XREF: sub_8E81+15
  3196.                 ld      (hl), a
  3197.                 inc     hl
  3198.                 djnz    loc_8E94
  3199.  
  3200.                 inc     hl
  3201.                 inc     hl
  3202.                 dec     c
  3203.                 jr      nz, loc_8E86
  3204.  
  3205.                 and     7
  3206.                 ld      (byte_D0CB), a
  3207.                 ret
  3208.  
  3209. ; End of function sub_8E81
  3210.  
  3211.  
  3212. ; =============== S U B R O U T I N E =======================================
  3213.  
  3214.  
  3215. sub_8EA3:                               ; CODE XREF: sub_8DE9+34
  3216.                 ld      a, 1
  3217.                 jr      loc_8EA8
  3218.  
  3219. ; End of function sub_8EA3
  3220.  
  3221.  
  3222. ; =============== S U B R O U T I N E =======================================
  3223.  
  3224.  
  3225. sub_8EA7:                               ; CODE XREF: sub_8DE9:loc_8DF3
  3226.                 xor     a
  3227.  
  3228.  
  3229. loc_8EA8:                               ; CODE XREF: sub_8EA3+2
  3230.                 ld      (byte_D0CC), a
  3231.                 ld      b, 3
  3232.                 exx
  3233.                 ld      hl, TAPE_header
  3234.  
  3235.  
  3236. loc_8EB1:                               ; CODE XREF: sub_8EA7+3B sub_8EA7+51
  3237.                 ld      e, (hl)
  3238.                 inc     hl
  3239.                 ld      d, (hl)
  3240.                 inc     hl
  3241.                 ld      c, 8
  3242.  
  3243.  
  3244. loc_8EB7:                               ; CODE XREF: sub_8EA7+20
  3245.                 push    de
  3246.                 ld      b, 3
  3247.  
  3248.  
  3249. loc_8EBA:                               ; CODE XREF: sub_8EA7+1B
  3250.                 ld      a, (de)
  3251.                 ex      af, af'
  3252.                 ld      a, (hl)
  3253.                 ld      (de), a
  3254.                 ex      af, af'
  3255.                 ld      (hl), a
  3256.                 inc     de
  3257.                 inc     hl
  3258.                 djnz    loc_8EBA
  3259.  
  3260.                 pop     de
  3261.                 inc     d
  3262.                 dec     c
  3263.                 jr      nz, loc_8EB7
  3264.  
  3265.                 ld      e, (hl)
  3266.                 inc     hl
  3267.                 ld      d, (hl)
  3268.                 inc     hl
  3269.                 ld      a, (byte_D0CC)
  3270.                 or      a
  3271.                 jr      nz, loc_8EE5
  3272.  
  3273.                 ld      b, 3
  3274.  
  3275.  
  3276. loc_8ED5:                               ; CODE XREF: sub_8EA7+36
  3277.                 ld      a, (de)
  3278.                 ex      af, af'
  3279.                 ld      a, (hl)
  3280.                 ld      (de), a
  3281.                 ex      af, af'
  3282.                 ld      (hl), a
  3283.                 inc     hl
  3284.                 inc     de
  3285.                 djnz    loc_8ED5
  3286.  
  3287.                 exx
  3288.                 dec     b
  3289.                 exx
  3290.                 jr      nz, loc_8EB1
  3291.  
  3292.                 ret
  3293.  
  3294. ; ---------------------------------------------------------------------------
  3295.  
  3296. loc_8EE5:                               ; CODE XREF: sub_8EA7+2A
  3297.                 ld      a, (byte_D0CB)
  3298.                 ld      c, a
  3299.                 ld      b, 3
  3300.  
  3301.  
  3302. loc_8EEB:                               ; CODE XREF: sub_8EA7+4C
  3303.                 ld      a, (de)
  3304.                 ld      (hl), a
  3305.                 and     #F8 ; '°'
  3306.                 or      c
  3307.                 ld      (de), a
  3308.                 inc     hl
  3309.                 inc     de
  3310.                 djnz    loc_8EEB
  3311.  
  3312.                 exx
  3313.                 dec     b
  3314.                 exx
  3315.                 jr      nz, loc_8EB1
  3316.  
  3317.                 ret
  3318.  
  3319. ; End of function sub_8EA7
  3320.  
  3321.  
  3322. ; =============== S U B R O U T I N E =======================================
  3323. ;write bc=scr_XY, scr_pix_addr, scr_attr_addr to TAPE_header+...
  3324.  
  3325. sub_8EFB:                               ; CODE XREF: sub_8D9E+3A sub_8DE9+31
  3326.                 ld      ix, TAPE_header
  3327.                 ld      (scr_XY), bc
  3328.                 call    CALC_SCR_ADDRS ;scr_XY to scr_pix_addr, scr_attr_addr
  3329.  
  3330.                 ld      hl, (scr_pix_addr)
  3331.                 ld      (ix+0), l
  3332.                 ld      (ix+1), h
  3333.                 ld      hl, (scr_attr_addr)
  3334.                 ld      (ix+#1A), l
  3335.                 ld      (ix+#1B), h
  3336.                 inc     b
  3337.                 ld      (scr_XY), bc
  3338.                 call    CALC_SCR_ADDRS ;scr_XY to scr_pix_addr, scr_attr_addr
  3339.  
  3340.                 ld      hl, (scr_pix_addr)
  3341.                 ld      (ix+#1F), l
  3342.                 ld      (ix+#20), h
  3343.                 ld      hl, (scr_attr_addr)
  3344.                 ld      (ix+#39), l
  3345.                 ld      (ix+#3A), h
  3346.                 inc     b
  3347.                 ld      (scr_XY), bc
  3348.                 call    CALC_SCR_ADDRS ;scr_XY to scr_pix_addr, scr_attr_addr
  3349.  
  3350.                 ld      hl, (scr_pix_addr)
  3351.                 ld      (ix+#3E), l
  3352.                 ld      (ix+#3F), h
  3353.                 ld      hl, (scr_attr_addr)
  3354.                 ld      (ix+#58), l
  3355.                 ld      (ix+#59), h
  3356.                 ret
  3357.  
  3358. ; End of function sub_8EFB
  3359.  
  3360.  
  3361. ; =============== S U B R O U T I N E =======================================
  3362.  
  3363.  
  3364. sub_8F4D:                               ; CODE XREF: sub_8C20-A6F
  3365.                                         ; sub_8C20:loc_829A ...
  3366.                 push    ix
  3367.                 push    iy
  3368.                 ld      hl, bas_5C78
  3369.                 ld      a, (hl)
  3370.                 cp      50
  3371.                 jr      c, loc_8F9B
  3372.                 sub     50
  3373.                 ld      (hl), a
  3374.  
  3375.                 ;1 second passed
  3376.                 ld      hl, (INC_SECONDS)
  3377.                 inc     hl
  3378.                 ld      (INC_SECONDS), hl
  3379.  
  3380.                 ld      a, (byte_D0B4)
  3381.                 bit     5, a
  3382.                 jr      nz, loc_8F94
  3383.  
  3384.                 bit     6, a
  3385.                 jr      z, loc_8F94
  3386.  
  3387.                 ld      a, (byte_D0F4)
  3388.                 inc     a
  3389.                 jr      z, loc_8F94
  3390.  
  3391.                 push    bc
  3392.                 ld      a, (byte_D0F3)
  3393.                 ld      b, 0
  3394.                 add     a, a
  3395.                 rl      b
  3396.                 cp      l
  3397.                 jr      nz, loc_8F93
  3398.  
  3399.                 ld      a, b
  3400.                 cp      h
  3401.                 jr      nz, loc_8F93
  3402.  
  3403.                 ld      hl, byte_D0B4
  3404.                 set     7, (hl)
  3405.                 ld      hl, byte_D0F1
  3406.                 dec     (hl)
  3407.                 ld      a, (hl)
  3408.                 and     #F0
  3409.                 jr      nz, loc_8F93
  3410.  
  3411.                 inc     (hl)
  3412.  
  3413.  
  3414. loc_8F93:                               ; CODE XREF: sub_8F4D+31 sub_8F4D+35 ...
  3415.                 pop     bc
  3416.  
  3417.  
  3418. loc_8F94:                               ; CODE XREF: sub_8F4D+1B sub_8F4D+1F ...
  3419.                 ld      a, (byte_D0DF)
  3420.                 rra
  3421.                 call    nc, sub_9018
  3422.  
  3423.  
  3424. loc_8F9B:                               ; CODE XREF: sub_8F4D+A
  3425.                 ld      a, (byte_D0DF)
  3426.                 rra
  3427.                 jr      c, loc_8FBC
  3428.  
  3429.                 call    KEY_SCAN
  3430.  
  3431.                 push    af
  3432.                 ld      hl, byte_D0DF
  3433.                 bit     5, (hl)
  3434.                 jr      z, loc_8FB2
  3435.  
  3436.                 pop     af
  3437.                 call    sub_924C
  3438.  
  3439.                 jr      loc_8FB6
  3440.  
  3441. ; ---------------------------------------------------------------------------
  3442.  
  3443. loc_8FB2:                               ; CODE XREF: sub_8F4D+5D
  3444.                 pop     af
  3445.                 call    c, sub_8FC1
  3446.  
  3447.  
  3448. loc_8FB6:                               ; CODE XREF: sub_8F4D+63 sub_8F4D+72
  3449.                 pop     iy
  3450.                 pop     ix
  3451.                 or      a
  3452.                 ret
  3453.  
  3454. ; ---------------------------------------------------------------------------
  3455.  
  3456. loc_8FBC:                               ; CODE XREF: sub_8F4D+52
  3457.                 call    sub_8DE9
  3458.  
  3459.                 jr      loc_8FB6
  3460.  
  3461. ; End of function sub_8F4D
  3462.  
  3463.  
  3464. ; =============== S U B R O U T I N E =======================================
  3465.  
  3466.  
  3467. sub_8FC1:                               ; CODE XREF: sub_8F4D+66
  3468.  
  3469. ; FUNCTION CHUNK AT 90E1 SIZE 00000007 BYTES
  3470.  
  3471.                 ld      hl, byte_D0B8
  3472.                 ld      a, (hl)
  3473.                 ld      (hl), 0
  3474.                 cp      #20 ; ' '
  3475.                 jp      z, sub_95C5
  3476.  
  3477.                 cp      #47 ; 'G'
  3478.                 call    z, sub_92D7
  3479.  
  3480.                 ld      (hl), a
  3481.                 ld      hl, byte_D0B4
  3482.                 bit     6, (hl)
  3483.                 jr      z, loc_8FFC
  3484.  
  3485.                 ld      a, (byte_D0B8)
  3486.                 cp      #4D ; 'M'
  3487.                 ld      hl, byte_D0B4
  3488.                 jr      nz, loc_8FE7
  3489.  
  3490.                 set     7, (hl)
  3491.                 res     1, (hl)
  3492.  
  3493.  
  3494. loc_8FE7:                               ; CODE XREF: sub_8FC1+20
  3495.                 bit     5, (hl)
  3496.                 jp      nz, loc_90E1
  3497.  
  3498.                 ld      hl, byte_D0B8
  3499.                 ld      a, (hl)
  3500.                 ld      (hl), 0
  3501.                 cp      #48 ; 'H'
  3502.                 ret     nz
  3503.                 ld      hl, (tbl_D803)
  3504.                 call    sub_8C6B
  3505.  
  3506.                 ret
  3507.  
  3508. ; ---------------------------------------------------------------------------
  3509.  
  3510. loc_8FFC:                               ; CODE XREF: sub_8FC1+16
  3511.                 ld      hl, byte_D0B8
  3512.                 ld      a, (hl)
  3513.                 ld      hl, byte_D0DF
  3514.                 bit     3, (hl)
  3515.                 jr      z, loc_9008
  3516.  
  3517.                 ret
  3518.  
  3519. ; ---------------------------------------------------------------------------
  3520.  
  3521. loc_9008:                               ; CODE XREF: sub_8FC1+44
  3522.                 or      a
  3523.                 ret     nz
  3524.                 call    sub_9128
  3525.  
  3526.                 ret
  3527.  
  3528. ; End of function sub_8FC1
  3529.  
  3530. ; ---------------------------------------------------------------------------
  3531. ; START OF FUNCTION CHUNK FOR sub_90E8
  3532.  
  3533. loc_900E:                               ; CODE XREF: sub_90E8+A sub_90E8+F ...
  3534.                 ld      (byte_D0D9), a
  3535.                 ld      hl, byte_D0B4
  3536.                 set     7, (hl)
  3537.                 pop     af
  3538.                 ret
  3539.  
  3540. ; END OF FUNCTION CHUNK FOR sub_90E8
  3541.  
  3542. ; =============== S U B R O U T I N E =======================================
  3543.  
  3544.  
  3545. sub_9018:                               ; CODE XREF: sub_8F4D+4B
  3546.                 ld      a, (byte_D04D)
  3547.                 rra
  3548.                 ret     c
  3549.                 ld      a, (byte_D0BF)
  3550.                 or      a
  3551.                 ret     p
  3552.                 push    iy
  3553.                 push    bc
  3554.                 push    de
  3555.                 ld      hl, (scr_XY)
  3556.                 push    hl
  3557.                 call    sub_A164
  3558.  
  3559.                 ld      de, CLK_1
  3560.                 ld      hl, #405
  3561.                 jr      c, loc_903A
  3562.  
  3563.                 ld      de, CLK_2
  3564.                 ld      l, #F
  3565.  
  3566.  
  3567. loc_903A:                               ; CODE XREF: sub_9018+1B
  3568.                 ld      (scr_XY), hl
  3569.                 push    de
  3570.                 ex      de, hl
  3571.                 ld      de, 7
  3572.                 add     hl, de
  3573.                 push    hl
  3574.                 res     7, (hl)
  3575.  
  3576.  
  3577. loc_9046:                               ; CODE XREF: sub_9018+41
  3578.                 inc     (hl)
  3579.                 ld      a, (hl)
  3580.                 cp      #3A ; ':'
  3581.                 jr      c, loc_905B
  3582.  
  3583.                 ld      (hl), #30 ; '0'
  3584.                 dec     hl
  3585.                 inc     (hl)
  3586.                 ld      a, (hl)
  3587.                 cp      #36 ; '6'
  3588.                 jr      c, loc_905B
  3589.  
  3590.                 ld      (hl), #30 ; '0'
  3591.                 dec     hl
  3592.                 dec     hl
  3593.                 jr      loc_9046
  3594.  
  3595. ; ---------------------------------------------------------------------------
  3596.  
  3597. loc_905B:                               ; CODE XREF: sub_9018+32 sub_9018+3B
  3598.                 pop     hl
  3599.                 set     7, (hl)
  3600.                 pop     hl
  3601.                 push    hl
  3602.                 call    PRINT_STR_FF
  3603.  
  3604.                 call    sub_A150
  3605.  
  3606.                 ld      hl, #1100
  3607.                 jr      c, loc_906D
  3608.  
  3609.                 ld      h, 9
  3610.  
  3611.  
  3612. loc_906D:                               ; CODE XREF: sub_9018+51
  3613.                 ld      (scr_XY), hl
  3614.                 pop     hl
  3615.                 inc     hl
  3616.                 call    loc_9E65
  3617.  
  3618.                 pop     hl
  3619.                 ld      (scr_XY), hl
  3620.                 pop     de
  3621.                 pop     bc
  3622.                 pop     iy
  3623.                 ret
  3624.  
  3625. ; End of function sub_9018
  3626.  
  3627.  
  3628. ; =============== S U B R O U T I N E =======================================
  3629.  
  3630.  
  3631. sub_907E:                               ; CODE XREF: sub_8C20:loc_A2DA
  3632.                                         ; sub_8C20+175A ...
  3633.                 push    hl
  3634.                 ld      hl, bas_FLAGS
  3635.  
  3636.  
  3637. loc_9082:                               ; CODE XREF: sub_907E+E sub_907E+1F
  3638.                 ld      a, #7F ; ''
  3639.                 in      a, (#FE)
  3640.                 rra
  3641.                 ccf
  3642.                 jr      c, space_pressed
  3643.  
  3644.                 bit     bit_NEW_KEY, (hl)               ; keypressed bit
  3645.                 jr      z, loc_9082
  3646.  
  3647.                 res     bit_NEW_KEY, (hl)
  3648.                 ld      a, (bas_LAST_K)
  3649.                 cp      #C
  3650.                 jr      z, space_pressed
  3651.  
  3652.                 cp      #D
  3653.                 jr      z, space_pressed
  3654.  
  3655.                 cp      #21 ; '!'
  3656.                 jr      c, loc_9082
  3657.  
  3658.                 or      a
  3659.  
  3660.  
  3661. space_pressed:                          ; CODE XREF: sub_907E+A sub_907E+17     ...
  3662.                 push    af
  3663.                 call    BEEP_4
  3664.  
  3665.                 pop     af
  3666.                 pop     hl
  3667.                 ret
  3668.  
  3669. ; End of function sub_907E
  3670.  
  3671.  
  3672.  
  3673.  
  3674. KEY_SCAN:
  3675.                 xor     a                       ;CY=0
  3676.                 ld      hl, bas_FLAGS
  3677.                 bit     bit_NEW_KEY, (hl)
  3678.                 ret     z                       ;return with CY=0 if nothing pressed
  3679.                 res     bit_NEW_KEY, (hl)
  3680.                 ld      (byte_D0BD), a
  3681.                 ld      (byte_D0B8), a
  3682.                 ld      a, (bas_LAST_K)
  3683.                 cp      'I'
  3684.                 jr      nc, loc_90D6    ; >='I'
  3685.                 cp      'A'
  3686.                 jr      nc, loc_90D1    ; >='A'
  3687.                 cp      '9'
  3688.                 jr      nc, loc_90D6    ; >='9'
  3689.                 cp      '1'
  3690.                 jr      nc, loc_90D1    ; >='1'
  3691.                 cp      8
  3692.                 ccf
  3693.                 ret     nc      ;report scancodes 0..7 as non-keypresses
  3694.                 cp      #E
  3695.                 jr      nc, loc_90D6    ; >=#0E
  3696. loc_90D1:
  3697.                 ; when scancode copied here:
  3698.                 ;  'A'<=SCANCODE<='H'
  3699.                 ;  '1'<=SCANCODE<='8'
  3700.                 ;  8<=SCANCODE<#0E
  3701.                 ; 8-LEFT,9-RIGHT,10-DOWN,11-UP
  3702.                 ld      (byte_D0BD), a
  3703.                 scf                     ;CY=1 was keypress
  3704.                 ret
  3705. loc_90D6:
  3706.                 cp      'A'
  3707.                 jr      c, loc_90DC     ; <'A'
  3708.                 and     #5F             ;uppercase letters
  3709. loc_90DC:
  3710.                 ; when scancode copied here:
  3711.                 ;  SCANCODE>='I', 'a'..'z' are uppercased
  3712.                 ;  '9'<=SCANCODE<'A'
  3713.                 ;  #0E<=SCANCODE<'1'
  3714.                 ld      (byte_D0B8), a
  3715.                 scf                     ;CY=1 was keypress
  3716.                 ret
  3717.  
  3718. ; End of function KEY_SCAN
  3719.  
  3720. ; ---------------------------------------------------------------------------
  3721. ; START OF FUNCTION CHUNK FOR sub_8FC1
  3722.  
  3723. loc_90E1:                               ; CODE XREF: sub_8FC1+28
  3724.                 call    sub_90E8
  3725.  
  3726.                 call    sub_9128
  3727.  
  3728.                 ret
  3729.  
  3730. ; END OF FUNCTION CHUNK FOR sub_8FC1
  3731.  
  3732. ; =============== S U B R O U T I N E =======================================
  3733.  
  3734.  
  3735. sub_90E8:                               ; CODE XREF: sub_8FC1:loc_90E1
  3736.  
  3737. ; FUNCTION CHUNK AT 900E SIZE 0000000A BYTES
  3738. ; FUNCTION CHUNK AT 92CB SIZE 0000000C BYTES
  3739. ; FUNCTION CHUNK AT 9326 SIZE 00000032 BYTES
  3740. ; FUNCTION CHUNK AT 935D SIZE 00000003 BYTES
  3741.  
  3742.                 ld      hl, byte_D0B8
  3743.                 ld      a, (hl)
  3744.                 or      a
  3745.                 ret     z
  3746.                 ld      (hl), 0
  3747.                 cp      #4D ; 'M'
  3748.                 jp      z, loc_900E
  3749.  
  3750.                 cp      #42 ; 'B'
  3751.                 jp      z, loc_900E
  3752.  
  3753.                 cp      #46 ; 'F'
  3754.                 jp      z, loc_92CB
  3755.  
  3756.                 cp      #48 ; 'H'
  3757.                 jp      z, loc_9340
  3758.  
  3759.                 cp      #49 ; 'I'
  3760.                 jp      z, loc_9326
  3761.  
  3762.                 cp      #44 ; 'D'
  3763.                 jp      z, loc_900E
  3764.  
  3765.                 cp      #41 ; 'A'
  3766.                 jp      z, loc_900E
  3767.  
  3768.                 cp      #53 ; 'S'
  3769.                 jp      z, loc_900E
  3770.  
  3771.                 cp      #4C ; 'L'
  3772.                 jp      z, loc_935D
  3773.  
  3774.                 cp      #43 ; 'C'
  3775.                 jp      z, loc_900E
  3776.  
  3777.                 cp      #50 ; 'P'
  3778.                 jp      z, loc_900E
  3779.  
  3780.                 ret
  3781.  
  3782. ; End of function sub_90E8
  3783.  
  3784.  
  3785. ; =============== S U B R O U T I N E =======================================
  3786.  
  3787.  
  3788. sub_9128:                               ; CODE XREF: sub_8FC1+49
  3789.                                         ; sub_8FC1+123
  3790.  
  3791. ; FUNCTION CHUNK AT 9290 SIZE 00000010 BYTES
  3792.  
  3793.                 ld      hl, byte_D0BD
  3794.                 ld      a, (hl)
  3795.                 or      a
  3796.                 ret     z
  3797.                 ld      (hl), 0
  3798.                 ld      bc, (word_D0BB)
  3799.                 cp      #D
  3800.                 jp      z, loc_91CE
  3801.  
  3802.                 cp      #C
  3803.                 jp      z, loc_9290
  3804.  
  3805.                 jp      loc_9163
  3806.  
  3807. ; ---------------------------------------------------------------------------
  3808.  
  3809. loc_9141:                               ; CODE XREF: sub_9128+50 sub_9128+70 ...
  3810.                 push    bc
  3811.                 ld      a, b
  3812.                 cp      #FF
  3813.                 call    nz, sub_9595
  3814.  
  3815.                 pop     bc
  3816.                 ld      a, c
  3817.                 cp      #FF
  3818.                 call    nz, sub_9595
  3819.  
  3820.                 ld      a, (word_D0BB+1)
  3821.                 cp      #FF
  3822.                 call    nz, sub_9585
  3823.  
  3824.                 ld      a, (word_D0BB)
  3825.                 cp      #FF
  3826.                 call    nz, sub_95A8
  3827.  
  3828.                 call    sub_8939
  3829.  
  3830.                 ret
  3831.  
  3832. ; ---------------------------------------------------------------------------
  3833.  
  3834. loc_9163:                               ; CODE XREF: sub_9128+16
  3835.                 cp      #41 ; 'A'
  3836.                 jr      c, loc_917B
  3837.  
  3838.                 cp      #49 ; 'I'
  3839.                 jr      nc, loc_917B
  3840.  
  3841.                 push    bc
  3842.                 sub     #41 ; 'A'
  3843.                 ld      b, a
  3844.                 ld      hl,  word_D0BB+1
  3845.                 ld      a, (hl)
  3846.                 and     #F0 ; 'Ё'
  3847.                 or      b
  3848.                 ld      (hl), a
  3849.                 pop     bc
  3850.                 jp      loc_9141
  3851.  
  3852. ; ---------------------------------------------------------------------------
  3853.  
  3854. loc_917B:                               ; CODE XREF: sub_9128+3D sub_9128+41
  3855.                 cp      #31 ; '1'
  3856.                 jr      c, loc_919B
  3857.  
  3858.                 cp      #39 ; '9'
  3859.                 jr      nc, loc_919B
  3860.  
  3861.                 push    bc
  3862.                 sub     #31
  3863.                 neg
  3864.                 add     a, 7
  3865.                 rlca
  3866.                 rlca
  3867.                 rlca
  3868.                 rlca
  3869.                 ld      b, a
  3870.                 ld      hl,  word_D0BB+1
  3871.                 ld      a, (hl)
  3872.                 and     #F
  3873.                 or      b
  3874.                 ld      (hl), a
  3875.                 pop     bc
  3876.                 jp      loc_9141
  3877.  
  3878. ; ---------------------------------------------------------------------------
  3879.  
  3880. loc_919B:                               ; CODE XREF: sub_9128+55 sub_9128+59
  3881.                 push    bc
  3882.                 ld      hl, byte_D0B3 ;d3=swap board
  3883.                 bit     3, (hl)
  3884.                 jr      z, loc_91A5
  3885.                 xor     1
  3886. loc_91A5:                               ; CODE XREF: sub_9128+79
  3887.                 ld      b, a
  3888.                 xor     a
  3889.                 bit     1, b
  3890.                 jr      nz, loc_91B5
  3891.  
  3892.                 bit     0, b
  3893.                 jr      z, loc_91B2
  3894.  
  3895.                 inc     a
  3896.                 jr      loc_91BF
  3897.  
  3898. ; ---------------------------------------------------------------------------
  3899.  
  3900. loc_91B2:                               ; CODE XREF: sub_9128+85
  3901.                 dec     a
  3902.                 jr      loc_91BF
  3903.  
  3904. ; ---------------------------------------------------------------------------
  3905.  
  3906. loc_91B5:                               ; CODE XREF: sub_9128+81
  3907.                 bit     0, b
  3908.                 jr      nz, loc_91BD
  3909.  
  3910.                 add     a, #10
  3911.                 jr      loc_91BF
  3912.  
  3913. ; ---------------------------------------------------------------------------
  3914.  
  3915. loc_91BD:                               ; CODE XREF: sub_9128+8F
  3916.                 sub     #10
  3917.  
  3918.  
  3919. loc_91BF:                               ; CODE XREF: sub_9128+88 sub_9128+8B ...
  3920.                 ld      hl,  word_D0BB+1
  3921.                 add     a, (hl)
  3922.                 ld      b, a
  3923.                 and     #77 ; 'w'
  3924.                 cp      b
  3925.                 jr      nz, loc_91CA
  3926.  
  3927.                 ld      (hl), a
  3928.  
  3929.  
  3930. loc_91CA:                               ; CODE XREF: sub_9128+9F
  3931.                 pop     bc
  3932.                 jp      loc_9141
  3933.  
  3934. ; ---------------------------------------------------------------------------
  3935.  
  3936. loc_91CE:                               ; CODE XREF: sub_9128+E
  3937.                 ld      a, (byte_D0DF)
  3938.                 bit     2, a
  3939.                 ret     nz
  3940.                 ld      a, c
  3941.                 cp      b
  3942.                 jr      nz, loc_91E0
  3943.  
  3944.                 ld      a, #FF
  3945.                 ld      (word_D0BB), a
  3946.                 jp      loc_9141
  3947.  
  3948. ; ---------------------------------------------------------------------------
  3949.  
  3950. loc_91E0:                               ; CODE XREF: sub_9128+AE
  3951.                 inc     a
  3952.                 jr      nz, loc_91F0
  3953.  
  3954.                 call    sub_92A0
  3955.  
  3956.                 jp      nz, loc_9141
  3957.  
  3958.                 ld      a, b
  3959.                 ld      (word_D0BB), a
  3960.                 jp      loc_9141
  3961.  
  3962. ; ---------------------------------------------------------------------------
  3963.  
  3964. loc_91F0:                               ; CODE XREF: sub_9128+B9
  3965.                 call    sub_92B6
  3966.  
  3967.                 jp      nz, loc_9141
  3968.  
  3969.                 push    bc
  3970.                 push    hl
  3971.                 ld      a, (word_D0BB)
  3972.                 ld      (byte_D0C4), a
  3973.                 ld      a, (word_D0BB+1)
  3974.                 ld      (byte_D0C5), a
  3975.                 call    sub_9571
  3976.  
  3977.                 pop     ix
  3978.                 ld      hl, byte_D0B4
  3979.                 bit     5, (hl)
  3980.                 jr      z, loc_922A
  3981.  
  3982.                 ld      d, (ix+0)
  3983.                 ld      e, (ix+1)
  3984.                 ld      hl, (word_D0DA)
  3985.                 or      a
  3986.                 sbc     hl, de
  3987.                 jr      z, loc_9231
  3988.  
  3989.                 pop     bc
  3990.  
  3991.  
  3992. loc_921F:                               ; CODE XREF: sub_924C+22
  3993.                 ld      hl, byte_D0B4
  3994.                 set     7, (hl)
  3995.                 ld      hl, byte_D0DF
  3996.                 set     4, (hl)
  3997.                 ret
  3998.  
  3999. ; ---------------------------------------------------------------------------
  4000.  
  4001. loc_922A:                               ; CODE XREF: sub_9128+E6
  4002.                 ld      hl, byte_D0DF
  4003.                 set     4, (hl)
  4004.                 pop     bc
  4005.                 ret
  4006.  
  4007. ; ---------------------------------------------------------------------------
  4008.  
  4009. loc_9231:                               ; CODE XREF: sub_9128+F4
  4010.                 pop     bc
  4011.                 ld      a, (byte_D0DC)
  4012.                 or      a
  4013.                 jp      z, sub_8D9E
  4014.  
  4015.                 ld      hl, byte_D0DF
  4016.                 ld      a, (hl)
  4017.                 or      #E0 ; 'р'
  4018.                 ld      (hl), a
  4019.                 call    sub_9571
  4020.  
  4021.                 call    sub_937B
  4022.  
  4023.                 ld      a, #14
  4024.                 ld      (DECREMENT_50HZ), a
  4025.                 ret
  4026.  
  4027. ; End of function sub_9128
  4028.  
  4029.  
  4030. ; =============== S U B R O U T I N E =======================================
  4031.  
  4032.  
  4033. sub_924C:                               ; CODE XREF: sub_8F4D+60
  4034.                 ld      hl, byte_D0B8
  4035.                 ld      a, (hl)
  4036.                 or      a
  4037.                 jr      z, loc_9279
  4038.  
  4039.                 ld      (hl), 0
  4040.                 cp      #20 ; ' '
  4041.                 jp      z, sub_95C5
  4042.  
  4043.                 ld      (byte_D0DC), a
  4044.                 ld      hl, byte_D0DF
  4045.                 bit     6, (hl)
  4046.                 res     6, (hl)
  4047.                 res     5, (hl)
  4048.                 call    nz, sub_9380
  4049.  
  4050.                 ld      a, (byte_D0DC)
  4051.                 cp      #51 ; 'Q'
  4052.                 jp      nz, loc_921F
  4053.  
  4054.                 ld      hl, byte_D0DF
  4055.                 res     7, (hl)
  4056.                 jp      sub_8D9E
  4057.  
  4058. ; ---------------------------------------------------------------------------
  4059.  
  4060. loc_9279:                               ; CODE XREF: sub_924C+5
  4061.                 ld      hl, DECREMENT_50HZ
  4062.                 ld      a, (hl)
  4063.                 or      a
  4064.                 ret     p
  4065.                 ld      (hl), #14
  4066.                 ld      hl, byte_D0DF
  4067.                 ld      a, (hl)
  4068.                 xor     #40 ; '@'
  4069.                 ld      (hl), a
  4070.                 and     #40 ; '@'
  4071.                 jp      nz, sub_937B
  4072.  
  4073.                 jp      sub_9380
  4074.  
  4075. ; End of function sub_924C
  4076.  
  4077. ; ---------------------------------------------------------------------------
  4078. ; START OF FUNCTION CHUNK FOR sub_9128
  4079.  
  4080. loc_9290:                               ; CODE XREF: sub_9128+13
  4081.                 ld      a, #FF
  4082.                 cp      c
  4083.                 ret     z
  4084.                 ld      a, #FF
  4085.                 ld      (word_D0BB), a
  4086.                 ld      a, c
  4087.                 ld      (word_D0BB+1), a
  4088.                 jp      loc_9141
  4089.  
  4090. ; END OF FUNCTION CHUNK FOR sub_9128
  4091.  
  4092. ; =============== S U B R O U T I N E =======================================
  4093.  
  4094.  
  4095. sub_92A0:                               ; CODE XREF: sub_9128+BB
  4096.                 ld      hl, unk_F000
  4097.  
  4098.  
  4099. loc_92A3:                               ; CODE XREF: sub_92A0+D
  4100.                 ld      a, (hl)
  4101.                 cp      #FF
  4102.                 jr      z, loc_92AF
  4103.  
  4104.                 cp      b
  4105.                 ret     z
  4106.                 inc     hl
  4107.                 inc     hl
  4108.                 inc     hl
  4109.                 jr      loc_92A3
  4110.  
  4111. ; ---------------------------------------------------------------------------
  4112.  
  4113. loc_92AF:                               ; CODE XREF: sub_92A0+6 sub_92B6+6
  4114.                 push    af
  4115.                 call    BEEP_3
  4116.  
  4117.                 pop     af
  4118.                 or      a
  4119.                 ret
  4120.  
  4121. ; End of function sub_92A0
  4122.  
  4123.  
  4124. ; =============== S U B R O U T I N E =======================================
  4125.  
  4126.  
  4127. sub_92B6:                               ; CODE XREF: sub_9128:loc_91F0
  4128.                 ld      hl, unk_F000
  4129.  
  4130.  
  4131. loc_92B9:                               ; CODE XREF: sub_92B6+13
  4132.                 ld      a, (hl)
  4133.                 cp      #FF
  4134.                 jr      z, loc_92AF
  4135.  
  4136.                 cp      c
  4137.                 jr      nz, loc_92C6
  4138.  
  4139.                 inc     hl
  4140.                 ld      a, (hl)
  4141.                 dec     hl
  4142.                 cp      b
  4143.                 ret     z
  4144.  
  4145.  
  4146. loc_92C6:                               ; CODE XREF: sub_92B6+9
  4147.                 inc     hl
  4148.                 inc     hl
  4149.                 inc     hl
  4150.                 jr      loc_92B9
  4151.  
  4152. ; End of function sub_92B6
  4153.  
  4154. ; ---------------------------------------------------------------------------
  4155. ; START OF FUNCTION CHUNK FOR sub_90E8
  4156.  
  4157. loc_92CB:                               ; CODE XREF: sub_90E8+14
  4158.                 ld      hl, (ptr_stk_1bvalue)
  4159.                 ld      l, (hl)
  4160.                 inc     l
  4161.                 jp      nz, loc_900E    ; if not #FF
  4162.  
  4163.                 call    BEEP_3
  4164.  
  4165.                 ret
  4166.  
  4167. ; END OF FUNCTION CHUNK FOR sub_90E8
  4168.  
  4169. ; =============== S U B R O U T I N E =======================================
  4170.  
  4171.  
  4172. sub_92D7:                               ; CODE XREF: sub_8FC1+D
  4173.  
  4174. ; FUNCTION CHUNK AT 809A SIZE 00000007 BYTES
  4175.  
  4176.                 push    af
  4177.                 push    bc
  4178.                 push    de
  4179.                 push    hl
  4180.                 call    sub_9933
  4181.  
  4182.                 ld      hl, #1500
  4183.                 ld      (scr_XY), hl
  4184.                 ld      hl, aNew        ; " NEW "
  4185.                 call    loc_9E65
  4186.  
  4187.                 ld      de, #C00
  4188.                 ld      (scr_XY), de
  4189.                 ld      hl, aNewGameYN  ; "NEW GAME (Y/N)?"
  4190.                 call    PRINT_STR_FF
  4191.  
  4192.  
  4193. loc_92F7:
  4194.                 call    KEY_SCAN
  4195.                 jr      nc, loc_92F7
  4196.  
  4197.                 push    af
  4198.                 ld      hl, #1500
  4199.                 ld      (scr_XY), hl
  4200.                 ld      hl, a_8spaces   ; "       "
  4201.                 call    loc_9E65
  4202.  
  4203.                 pop     af
  4204.                 cp      #59 ; 'Y'
  4205.                 jp      z, loc_809A
  4206.  
  4207.                 call    BEEP_move
  4208.  
  4209.                 ld      hl,  a_32spaces+#C
  4210.                 ld      de, #C00
  4211.                 ld      (scr_XY), de
  4212.                 call    PRINT_STR_FF
  4213.  
  4214.                 pop     hl
  4215.                 ld      (hl), 0
  4216.                 pop     de
  4217.                 pop     bc
  4218.                 pop     af
  4219.                 ret
  4220.  
  4221. ; End of function sub_92D7
  4222.  
  4223. ; ---------------------------------------------------------------------------
  4224. ; START OF FUNCTION CHUNK FOR sub_90E8
  4225.  
  4226. loc_9326:                               ; CODE XREF: sub_90E8+1E
  4227.                 call    sub_9571
  4228.  
  4229.                 ld      hl, byte_D0B3
  4230.                 ld      a, (hl)
  4231.                 xor     8
  4232.                 ld      (hl), a ;d3=swap board
  4233.                 call    sub_9360
  4234.  
  4235.                 call    sub_9380
  4236.  
  4237.                 call    sub_9369
  4238.  
  4239.                 call    sub_955D
  4240.  
  4241.                 call    sub_A177
  4242.  
  4243.                 ret
  4244.  
  4245. ; ---------------------------------------------------------------------------
  4246.  
  4247. loc_9340:                               ; CODE XREF: sub_90E8+19
  4248.                 ld      hl, (word_D25A)
  4249.                 call    sub_9571
  4250.  
  4251.                 call    sub_937B
  4252.  
  4253.                 call    BEEP_move
  4254.  
  4255.                 ld      a, #14
  4256.                 call    halt_A_frames
  4257.  
  4258.                 call    sub_9380
  4259.  
  4260.                 call    sub_955D
  4261.  
  4262.                 ret
  4263.  
  4264. ; END OF FUNCTION CHUNK FOR sub_90E8
  4265.  
  4266.  
  4267.  
  4268. halt_A_frames:
  4269.  
  4270.                 halt
  4271.                 dec     a
  4272.                 ret     z
  4273.                 jr      halt_A_frames
  4274.  
  4275.  
  4276. ; ---------------------------------------------------------------------------
  4277. ; START OF FUNCTION CHUNK FOR sub_90E8
  4278.  
  4279. loc_935D:                               ; CODE XREF: sub_90E8+32
  4280.                 jp      loc_900E
  4281.  
  4282. ; END OF FUNCTION CHUNK FOR sub_90E8
  4283.  
  4284. ; =============== S U B R O U T I N E =======================================
  4285.  
  4286.  
  4287. sub_9360:                               ; CODE XREF: sub_90E8+248
  4288.                 ld      hl, BOARD
  4289.                 ld      de,  BOARD+#3F
  4290.                 jp      loc_936F
  4291.  
  4292. ; End of function sub_9360
  4293.  
  4294.  
  4295. ; =============== S U B R O U T I N E =======================================
  4296.  
  4297.  
  4298. sub_9369:                               ; CODE XREF: sub_90E8+24E
  4299.                 ld      hl, BOARD2
  4300.                 ld      de, BOARD2+63
  4301.  
  4302.  
  4303. loc_936F:                               ; CODE XREF: sub_9360+6
  4304.                 ld      b, #20 ; ' '
  4305.  
  4306.  
  4307. loc_9371:                               ; CODE XREF: sub_9369+F
  4308.                 ld      c, (hl)
  4309.                 ld      a, (de)
  4310.                 ld      (hl), a
  4311.                 ld      a, c
  4312.                 ld      (de), a
  4313.                 inc     hl
  4314.                 dec     de
  4315.                 djnz    loc_9371
  4316.  
  4317.                 ret
  4318.  
  4319. ; End of function sub_9369
  4320.  
  4321.  
  4322. ; =============== S U B R O U T I N E =======================================
  4323.  
  4324.  
  4325. sub_937B:                               ; CODE XREF: sub_8C20-97C
  4326.                                         ; sub_8D9E+18   ...
  4327.                 ld      hl,  BOARD2+#3F
  4328.                 jr      loc_9383
  4329.  
  4330. ; End of function sub_937B
  4331.  
  4332.  
  4333. ; =============== S U B R O U T I N E =======================================
  4334.  
  4335.  
  4336. sub_9380:                               ; CODE XREF: sub_8DE9+77 sub_924C+1A ...
  4337.                 ld      hl,  BOARD+#3F
  4338.  
  4339.  
  4340. loc_9383:                               ; CODE XREF: sub_937B+3
  4341.                 ld      b, #40 ; '@'
  4342.  
  4343.  
  4344. loc_9385:                               ; CODE XREF: sub_9380+1C
  4345.                 ld      a, (hl)
  4346.                 push    bc
  4347.                 push    de
  4348.                 push    hl
  4349.                 ld      c, a
  4350.                 ld      a, b
  4351.                 dec     a
  4352.                 ld      hl, byte_D0B3 ;d3=swap board
  4353.                 bit     3, (hl)
  4354.                 jr      z, loc_9395
  4355.                 xor     #3F ; '?'
  4356. loc_9395:                               ; CODE XREF: sub_9380+11
  4357.                 call    SHOW_FIG_POS
  4358.  
  4359.                 pop     hl
  4360.                 pop     de
  4361.                 pop     bc
  4362.                 dec     hl
  4363.                 djnz    loc_9385
  4364.  
  4365.                 ret
  4366.  
  4367. ; End of function sub_9380
  4368.  
  4369.  
  4370. ; =============== S U B R O U T I N E =======================================
  4371.  
  4372.  
  4373. sub_939F:                               ; CODE XREF: sub_8C20-B31
  4374.                                         ; sub_8C20:loc_8226 ...
  4375.                 ld      hl, BOARD2
  4376.                 jr      loc_93A7
  4377.  
  4378. ; End of function sub_939F
  4379.  
  4380.  
  4381. ; =============== S U B R O U T I N E =======================================
  4382.  
  4383.  
  4384. sub_93A4:                               ; CODE XREF: sub_8C20-AE1
  4385.                                         ; sub_8C20:loc_84BF ...
  4386.                 ld      hl, BOARD
  4387.  
  4388.  
  4389. loc_93A7:                               ; CODE XREF: sub_939F+3
  4390.                 ld      (TMP_BOARD_PTR), hl
  4391.                 ld      b, 0
  4392.                 ld      hl, BRD_88_0
  4393.  
  4394.  
  4395. loc_93AF:                               ; CODE XREF: sub_93A4+78 sub_93A4+81
  4396.                 push    hl
  4397.                 ld      a, (hl)
  4398.                 and     #43 ; 'C'
  4399.                 cp      #43 ; 'C'
  4400.                 ld      a, (hl)
  4401.                 jr      nz, loc_93C3
  4402.  
  4403.                 ld      c, 1
  4404.                 bit     7, (hl)
  4405.                 jr      nz, loc_93C0
  4406.  
  4407.                 set     3, c
  4408.  
  4409.  
  4410. loc_93C0:                               ; CODE XREF: sub_93A4+18
  4411.                 jp      loc_93F2
  4412.  
  4413. ; ---------------------------------------------------------------------------
  4414.  
  4415. loc_93C3:                               ; CODE XREF: sub_93A4+12
  4416.                 ld      c, 0
  4417.                 or      a
  4418.                 jr      z, loc_93F2
  4419.  
  4420.                 and     #F8 ; '°'
  4421.                 inc     a
  4422.                 ld      l, a
  4423.                 inc     h
  4424.                 ld      c, 6
  4425.                 ld      a, #F
  4426.                 and     (hl)
  4427.                 jr      z, loc_93EC
  4428.  
  4429.                 ld      c, 1
  4430.                 cp      1
  4431.                 jr      z, loc_93EC
  4432.  
  4433.                 ld      c, 4
  4434.                 cp      5
  4435.                 jr      z, loc_93EC
  4436.  
  4437.                 ld      c, 5
  4438.                 jr      nc, loc_93EC
  4439.  
  4440.                 ld      c, 2
  4441.                 bit     7, (hl)
  4442.                 jr      z, loc_93EC
  4443.  
  4444.                 ld      c, 3
  4445.  
  4446.  
  4447. loc_93EC:                               ; CODE XREF: sub_93A4+2E sub_93A4+34 ...
  4448.                 bit     7, l
  4449.                 jr      nz, loc_93F2
  4450.  
  4451.                 set     3, c
  4452.  
  4453.  
  4454. loc_93F2:                               ; CODE XREF: sub_93A4:loc_93C0
  4455.                                         ; sub_93A4+22   ...
  4456.                 ld      a, b
  4457.                 ld      hl, byte_D0B3
  4458.                 bit     3, (hl) ;d3=swap board
  4459.                 jr      z, loc_93FC
  4460.  
  4461.                 xor     #3F ; '?'
  4462.  
  4463.  
  4464. loc_93FC:                               ; CODE XREF: sub_93A4+54
  4465.                 ld      hl, (TMP_BOARD_PTR)
  4466.                 ld      e, a
  4467.                 ld      d, 0
  4468.                 add     hl, de
  4469.                 ld      a, c
  4470.                 cp      (hl)
  4471.                 jr      z, loc_9417
  4472.  
  4473.                 ld      (hl), a
  4474.                 push    bc
  4475.                 ld      hl, (TMP_BOARD_PTR)
  4476.                 ld      de, BOARD2
  4477.                 or      a
  4478.                 sbc     hl, de
  4479.                 ld      a, b
  4480.                 call    nz, SHOW_FIG_POS
  4481.  
  4482.                 pop     bc
  4483.  
  4484.  
  4485. loc_9417:                               ; CODE XREF: sub_93A4+61
  4486.                 pop     hl
  4487.                 inc     hl
  4488.                 inc     b
  4489.                 bit     3, l
  4490.                 jp      z, loc_93AF
  4491.  
  4492.                 ld      de, 8
  4493.                 add     hl, de
  4494.                 bit     7, l
  4495.                 jp      z, loc_93AF
  4496.  
  4497.                 ret
  4498.  
  4499. ; End of function sub_93A4
  4500.  
  4501.  
  4502. ; =============== S U B R O U T I N E =======================================
  4503.  
  4504.  
  4505. CLR_BOARD:                              ; CODE XREF: START_POINT+87
  4506.                                         ; sub_8C20-B7C
  4507.                 di
  4508.                 ld      hl, BOARD
  4509.                 ld      b, #40 ; '@'
  4510.                 xor     a
  4511.  
  4512.  
  4513. loc_9430:                               ; CODE XREF: CLR_BOARD+9
  4514.                 ld      (hl), a
  4515.                 inc     hl
  4516.                 djnz    loc_9430
  4517.  
  4518.                 xor     a
  4519.                 ld      c, a
  4520.  
  4521.  
  4522. loc_9436:                               ; CODE XREF: CLR_BOARD+15
  4523.                 push    af
  4524.                 call    SH_EMPT_POS
  4525.  
  4526.                 pop     af
  4527.                 inc     a
  4528.                 cp      #40 ; '@'
  4529.                 jr      nz, loc_9436
  4530.  
  4531.                 ei
  4532.                 ret
  4533.  
  4534. ; End of function CLR_BOARD
  4535.  
  4536.  
  4537. ; =============== S U B R O U T I N E =======================================
  4538.  
  4539.  
  4540. SH_EMPT_POS:                            ; CODE XREF: sub_8C6B+37 CLR_BOARD+E
  4541.                 ld      c, 0
  4542.  
  4543. ; End of function SH_EMPT_POS
  4544.  
  4545.  
  4546. ; =============== S U B R O U T I N E =======================================
  4547.  
  4548. ; A - position (0..63)
  4549. ; C - figure:
  4550. ; 0..6: empty,pawn,knight,bishop,rook,queen,king ; 0..6 white, 8..E black
  4551.  
  4552. SHOW_FIG_POS:                           ; CODE XREF: sub_8C6B+31 sub_8C6B+49 ...
  4553.                 ld      b, a           
  4554.                 ld      d, #34 ; '4' ;attr: paper=6, ink=4
  4555.                 and     9
  4556.                 jr      z, loc_9451
  4557.                 cp      9
  4558.                 jr      z, loc_9451
  4559.                 ld      d, #26 ; '&' ;attr: paper=4, ink=6
  4560. loc_9451:                               ; CODE XREF: SHOW_FIG_POS+5
  4561.                                         ; SHOW_FIG_POS+9
  4562.                 dec     c
  4563.                 inc     c
  4564.                 jr      z, loc_9463 ;empty figure - use default attr
  4565.  
  4566.                 ld      a, d
  4567.                 and     #F8
  4568.                 ld      d, a ;attr=paper
  4569.                 ld      a, 0
  4570.                 bit     3, c
  4571.                 jr      nz, loc_9461 ;nz=black
  4572.                 ld      a, 7 ;white
  4573. loc_9461:                               ; CODE XREF: SHOW_FIG_POS+19
  4574.                 or      d
  4575.                 ld      d, a ;attr
  4576.  
  4577. loc_9463:                               ; CODE XREF: SHOW_FIG_POS+F
  4578.                 push    bc
  4579.                 push    de
  4580.                 ld      a, b ;position (0..63)
  4581.                 call    sub_95FA ;out: a=0b0YYY0XXX
  4582.  
  4583.                 call    sub_9703 ;calc scr_XY, scr_pix_addr, scr_attr_addr
  4584.  
  4585.                 call    CALC_SCR_ADDRS ;scr_XY to scr_pix_addr, scr_attr_addr
  4586.  
  4587.                 call    sub_9609 ;recount scr_pix_addr, scr_attr_addr to scrbuf if needed
  4588.  
  4589.                 ld      hl, (scr_attr_addr)
  4590.                 pop     de
  4591.                 ld      b, 3
  4592. loc_9478:                               ; CODE XREF: SHOW_FIG_POS:loc_9484
  4593.                 ld      (hl), d ;attr
  4594.                 inc     hl
  4595.                 ld      (hl), d ;attr
  4596.                 inc     hl
  4597.                 ld      (hl), d ;attr
  4598.                 ld      a, #1E
  4599.                 add     a, l
  4600.                 ld      l, a
  4601.                 jr      nc, loc_9484
  4602.                 inc     h
  4603. loc_9484:                               ; CODE XREF: SHOW_FIG_POS+3D
  4604.                 djnz    loc_9478 ;set attr for figure
  4605.  
  4606.                 pop     bc
  4607.                 ld      hl, (scr_pix_addr)
  4608.                 push    hl
  4609.                 ld      a, c
  4610.                 and     7
  4611.                 ld      b, a
  4612.                 add     a, a
  4613.                 add     a, a
  4614.                 add     a, a
  4615.                 add     a, b
  4616.                 ld      l, a
  4617.                 ld      h, 0
  4618.                 add     hl, hl
  4619.                 add     hl, hl
  4620.                 add     hl, hl
  4621.                 ld      de, FIG_sprites
  4622.                 add     hl, de
  4623.                 ex      de, hl
  4624.                 pop     hl
  4625.                 ld      a, 3
  4626.                 ex      af, af' ;'
  4627. loc_94A2:                               ; CODE XREF: SHOW_FIG_POS+78
  4628.                                         ; SHOW_FIG_POS+7E
  4629.                 push    hl
  4630.                 ld      c, 3
  4631. loc_94A5:                               ; CODE XREF: SHOW_FIG_POS+6D
  4632.                 push    hl
  4633.                 ld      b, 8
  4634. loc_94A8:                               ; CODE XREF: SHOW_FIG_POS+68
  4635.                 ld      a, (de)
  4636.                 ld      (hl), a
  4637.                 inc     de
  4638.                 inc     h
  4639.                 djnz    loc_94A8
  4640.  
  4641.                 pop     hl
  4642.                 inc     hl
  4643.                 dec     c
  4644.                 jr      nz, loc_94A5
  4645.  
  4646.                 pop     hl
  4647.                 ex      af, af' ;'
  4648.                 dec     a
  4649.                 ret     z
  4650.                 ex      af, af' ;'
  4651.                 ld      a, #20 ; ' '
  4652.                 add     a, l
  4653.                 ld      l, a
  4654.                 jr      nc, loc_94A2
  4655.  
  4656.                 ld      a, h
  4657.                 add     a, 8
  4658.                 ld      h, a
  4659.                 jr      loc_94A2
  4660.  
  4661. ; End of function SHOW_FIG_POS
  4662.  
  4663.  
  4664. ; =============== S U B R O U T I N E =======================================
  4665.  
  4666.  
  4667. sub_94C4:                               ; CODE XREF: sub_8C20-B2E
  4668.                 ld      hl, BOARD2
  4669.                 jr      loc_94CC
  4670.  
  4671. ; End of function sub_94C4
  4672.  
  4673.  
  4674. ; =============== S U B R O U T I N E =======================================
  4675.  
  4676.  
  4677. sub_94C9:                               ; CODE XREF: sub_8C20+16ED
  4678.                 ld      hl, BOARD
  4679.  
  4680.  
  4681. loc_94CC:                               ; CODE XREF: sub_94C4+3
  4682.                 push    hl
  4683.                 call    sub_A43C
  4684.  
  4685.                 call    sub_A43C
  4686.  
  4687.                 pop     hl
  4688.                 ld      b, 8
  4689.                 ld      d, #FF
  4690.                 ld      e, #39 ; '9'
  4691.                 ld      a, (byte_D0B3) ;d3=swap board
  4692.                 bit     3, a
  4693.                 jr      z, loc_94E5
  4694.  
  4695.                 ld      d, 1
  4696.                 ld      e, #30 ; '0'
  4697.  
  4698.  
  4699. loc_94E5:                               ; CODE XREF: sub_94C9+16 sub_94C9+59
  4700.                 ld      c, 8
  4701.                 ld      a, e
  4702.                 add     a, d
  4703.                 ld      e, a
  4704.                 call    loc_A476
  4705.  
  4706.                 ld      a, #20 ; ' '
  4707.                 call    loc_A476
  4708.  
  4709.  
  4710. loc_94F2:                               ; CODE XREF: sub_94C9+51
  4711.                 ld      a, (hl)
  4712.                 push    hl
  4713.                 push    de
  4714.                 push    bc
  4715.                 ld      c, a
  4716.                 and     7
  4717.                 jr      nz, loc_94FF
  4718.  
  4719.                 ld      a, #2E ; '.'
  4720.                 jr      loc_950D
  4721.  
  4722. ; ---------------------------------------------------------------------------
  4723.  
  4724. loc_94FF:                               ; CODE XREF: sub_94C9+30
  4725.                 ld      hl, KING+1
  4726.                 call    sub_8CF7
  4727.  
  4728.                 dec     hl
  4729.                 ld      a, (hl)
  4730.                 bit     3, c
  4731.                 jr      z, loc_950D
  4732.  
  4733.                 or      #20 ; ' '
  4734.  
  4735.  
  4736. loc_950D:                               ; CODE XREF: sub_94C9+34 sub_94C9+40
  4737.                 call    loc_A476
  4738.  
  4739.                 ld      a, #20 ; ' '
  4740.                 call    loc_A476
  4741.  
  4742.                 pop     bc
  4743.                 pop     de
  4744.                 pop     hl
  4745.                 inc     hl
  4746.                 dec     c
  4747.                 jr      nz, loc_94F2
  4748.  
  4749.                 call    sub_A43C
  4750.  
  4751.                 call    sub_A43C
  4752.  
  4753.                 djnz    loc_94E5
  4754.  
  4755.                 ld      a, d
  4756.                 neg
  4757.                 ld      d, a
  4758.                 ld      a, e
  4759.                 add     a, #30 ; '0'
  4760.                 ld      e, a
  4761.                 ld      b, 2
  4762.  
  4763.  
  4764. loc_952E:                               ; CODE XREF: sub_94C9+6A
  4765.                 ld      a, #20 ; ' '
  4766.                 call    loc_A476
  4767.  
  4768.                 djnz    loc_952E
  4769.  
  4770.                 ld      b, 8
  4771.  
  4772.  
  4773. loc_9537:                               ; CODE XREF: sub_94C9+7A
  4774.                 ld      a, e
  4775.                 call    loc_A476
  4776.  
  4777.                 ld      a, #20 ; ' '
  4778.                 call    loc_A476
  4779.  
  4780.                 ld      a, e
  4781.                 add     a, d
  4782.                 ld      e, a
  4783.                 djnz    loc_9537
  4784.  
  4785.                 call    sub_A43C
  4786.  
  4787.                 call    sub_A43C
  4788.  
  4789.                 ret
  4790.  
  4791. ; End of function sub_94C9
  4792.  
  4793.  
  4794. ; =============== S U B R O U T I N E =======================================
  4795.  
  4796.  
  4797. sub_954C:                               ; CODE XREF: sub_8C20-AF1
  4798.                 call    sub_A164
  4799.  
  4800.                 ld      a, #70 ; 'p'
  4801.                 jr      c, loc_9554
  4802.  
  4803.                 xor     a
  4804.  
  4805.  
  4806. loc_9554:                               ; CODE XREF: sub_954C+5
  4807.                 ld      (word_D0BB+1), a
  4808.                 ld      a, #FF
  4809.                 ld      (word_D0BB), a
  4810.                 ret
  4811.  
  4812. ; End of function sub_954C
  4813.  
  4814.  
  4815. ; =============== S U B R O U T I N E =======================================
  4816.  
  4817.  
  4818. sub_955D:                               ; CODE XREF: sub_8C20-A94
  4819.                                         ; sub_8C20-88F ...
  4820.                 ld      a, (word_D0BB+1)
  4821.                 cp      #FF
  4822.                 call    nz, sub_9585
  4823.  
  4824.                 ld      a, (word_D0BB)
  4825.                 cp      #FF
  4826.                 call    nz, sub_95A8
  4827.  
  4828.                 call    sub_8939
  4829.  
  4830.                 ret
  4831.  
  4832. ; End of function sub_955D
  4833.  
  4834.  
  4835. ; =============== S U B R O U T I N E =======================================
  4836.  
  4837.  
  4838. sub_9571:                               ; CODE XREF: sub_8C20-AF4
  4839.                                         ; sub_8C20-85C ...
  4840.                 ld      a, (word_D0BB+1)
  4841.                 cp      #FF
  4842.                 call    nz, sub_9595
  4843.  
  4844.                 ld      a, (word_D0BB)
  4845.                 cp      #FF
  4846.                 call    nz, sub_9595
  4847.  
  4848.                 call    restore_6_spaces
  4849.  
  4850.                 ret
  4851.  
  4852. ; End of function sub_9571
  4853.  
  4854.  
  4855. ; =============== S U B R O U T I N E =======================================
  4856.  
  4857.  
  4858. sub_9585:                               ; CODE XREF: sub_9128+2C sub_955D+5
  4859.                 push    af
  4860.                 ld      a, (byte_D04D)
  4861.                 or      a
  4862.                 ld      d, 0
  4863.                 ld      e, #A9  ; 'й'
  4864.                 jr      z, loc_9592
  4865.  
  4866.                 ld      e, #AA  ; 'к'
  4867.  
  4868.  
  4869. loc_9592:                               ; CODE XREF: sub_9585+9
  4870.                 pop     af
  4871.                 jr      loc_959B
  4872.  
  4873. ; End of function sub_9585
  4874.  
  4875.  
  4876. ; =============== S U B R O U T I N E =======================================
  4877.  
  4878.  
  4879. sub_9595:                               ; CODE XREF: sub_8C20-20C
  4880.                                         ; sub_8C20-17C ...
  4881.                 ld      d, #FF
  4882.                 ld      e, 0
  4883.                 jr      loc_959B
  4884.  
  4885. ; ---------------------------------------------------------------------------
  4886.  
  4887. loc_959B:                               ; CODE XREF: sub_9585+E sub_9595+4 ...
  4888.                 push    hl
  4889.                 push    af
  4890.                 push    de
  4891.                 call    sub_95AE
  4892.  
  4893.                 pop     de
  4894.                 and     d
  4895.                 or      e
  4896.                 ld      (hl), a
  4897.                 pop     af
  4898.                 pop     hl
  4899.                 ret
  4900.  
  4901. ; End of function sub_9595
  4902.  
  4903.  
  4904. ; =============== S U B R O U T I N E =======================================
  4905.  
  4906.  
  4907. sub_95A8:                               ; CODE XREF: sub_9128+34 sub_955D+D
  4908.                 ld      d, 0
  4909.                 ld      e, #29 ; ')'
  4910.                 jr      loc_959B
  4911.  
  4912. ; End of function sub_95A8
  4913.  
  4914.  
  4915. ; =============== S U B R O U T I N E =======================================
  4916.  
  4917.  
  4918. sub_95AE:                               ; CODE XREF: sub_9595+9
  4919.                 and     #77 ; 'w'
  4920.                 ld      hl, byte_D0B3 ;d3=swap board
  4921.                 bit     3, (hl)
  4922.                 jr      z, loc_95B9
  4923.  
  4924.                 xor     #77 ; 'w'
  4925.  
  4926.  
  4927. loc_95B9:                               ; CODE XREF: sub_95AE+7
  4928.                 call    sub_9703 ;calc scr_XY, scr_pix_addr, scr_attr_addr
  4929.  
  4930.                 ld      hl, (scr_attr_addr)
  4931.                 ld      a, (hl)
  4932.                 ld      de, #21 ; '!'
  4933.                 add     hl, de
  4934.                 ret
  4935.  
  4936. ; End of function sub_95AE
  4937.  
  4938.  
  4939. ; =============== S U B R O U T I N E =======================================
  4940.  
  4941.  
  4942. sub_95C5:                               ; CODE XREF: sub_8FC1+8 sub_924C+B ...
  4943.                 ld      hl, SEL_SCRorBUF
  4944.                 ld      a, (hl)
  4945.                 cpl
  4946.                 ld      (hl), a
  4947.                 call    SET_BRD_COLOR
  4948.  
  4949.                 ld      hl, SCREEN
  4950.                 ld      de, SCR_BUF_6400
  4951.                 ld      c, #1B
  4952.                 ld      b, 0
  4953.  
  4954.  
  4955. loc_95D8:                               ; CODE XREF: sub_95C5+1B sub_95C5+1E
  4956.                 ld      a, (hl)
  4957.                 ex      af, af'
  4958.                 ld      a, (de)
  4959.                 ld      (hl), a
  4960.                 ex      af, af'
  4961.                 ld      (de), a
  4962.                 inc     hl
  4963.                 inc     de
  4964.                 djnz    loc_95D8
  4965.  
  4966.                 dec     c
  4967.                 jr      nz, loc_95D8
  4968.  
  4969.                 ret
  4970.  
  4971. ; End of function sub_95C5
  4972.  
  4973.                 ;unused data???
  4974.                 db      #47,#1F,#E6,#38,#4F,#78,#E6,#07,#81
  4975.  
  4976. ; =============== S U B R O U T I N E =======================================
  4977.  
  4978.  
  4979. sub_95EF:                               ; CODE XREF: sub_95FA+1
  4980.                 push    hl
  4981.                 ld      hl, byte_D0B3 ;d3=swap board
  4982.                 bit     3, (hl) ;swap board?
  4983.                 pop     hl
  4984.                 ret     z
  4985.                 xor     #3F ; '?'
  4986.                 ret
  4987.  
  4988. ; End of function sub_95EF
  4989.  
  4990.  
  4991. ; =============== S U B R O U T I N E =======================================
  4992.  
  4993.  
  4994. sub_95FA:                               ; CODE XREF: SHOW_FIG_POS+22
  4995. ;a=position (0..63)
  4996.                 push    bc
  4997.                 call    sub_95EF ;swap board if needed
  4998.                 ld      b, a
  4999.                 and     #38 ; '8'
  5000.                 rlca
  5001.                 ld      c, a ;c=0b0YYY0000
  5002.                 ld      a, b
  5003.                 and     7
  5004.                 or      c    ;a=0b0YYY0XXX
  5005.                 pop     bc
  5006.                 ret
  5007.  
  5008. ; End of function sub_95FA
  5009.  
  5010.  
  5011. ; =============== S U B R O U T I N E =======================================
  5012. ;recount scr_pix_addr, scr_attr_addr to scrbuf if needed
  5013.  
  5014. sub_9609:                               ; CODE XREF: SHOW_FIG_POS+2B
  5015.                 ld      a, (SEL_SCRorBUF)
  5016.                 or      a
  5017.                 ret     z
  5018.                 jr      loc_9615
  5019.  
  5020. ; ---------------------------------------------------------------------------
  5021.                 ld      a, (SEL_SCRorBUF)
  5022.                 or      a
  5023.                 ret     nz
  5024.  
  5025.  
  5026. loc_9615:                               ; CODE XREF: sub_9609+5
  5027.                 push    de
  5028.                 push    hl
  5029.                 ld      de, #2400
  5030.                 ld      hl, (scr_pix_addr)
  5031.                 add     hl, de
  5032.                 ld      (scr_pix_addr), hl
  5033.                 ld      hl, (scr_attr_addr)
  5034.                 add     hl, de
  5035.                 ld      (scr_attr_addr), hl
  5036.                 pop     hl
  5037.                 pop     de
  5038.                 ret
  5039.  
  5040. ; End of function sub_9609
  5041.  
  5042.  
  5043. ; =============== S U B R O U T I N E =======================================
  5044.  
  5045.  
  5046. CLR_SCR_OR_BUF:                         ; CODE XREF: START_POINT+84
  5047.                 di
  5048.                 ld      hl, SCREEN
  5049.                 ld      a, (SEL_SCRorBUF)
  5050.                 or      a
  5051.                 jr      z, loc_9638
  5052.  
  5053.                 ld      hl, SCR_BUF_6400
  5054.  
  5055.  
  5056. loc_9638:                               ; CODE XREF: CLR_SCR_OR_BUF+8
  5057.                 ld      a, h
  5058.                 add     a, #18
  5059.                 ld      b, 0
  5060.  
  5061.  
  5062. loc_963D:                               ; CODE XREF: CLR_SCR_OR_BUF+15
  5063.                 ld      (hl), b
  5064.                 inc     hl
  5065.                 cp      h
  5066.                 jr      nz, loc_963D
  5067.  
  5068.                 ld      b, #28 ; '('    ; ink=0, paper=5
  5069.                 add     a, 3
  5070.  
  5071.  
  5072. loc_9646:                               ; CODE XREF: CLR_SCR_OR_BUF+1E
  5073.                 ld      (hl), b
  5074.                 inc     hl
  5075.                 cp      h
  5076.                 jr      nz, loc_9646
  5077.  
  5078. ; End of function CLR_SCR_OR_BUF
  5079.  
  5080.  
  5081. ; =============== S U B R O U T I N E =======================================
  5082.  
  5083.  
  5084. SET_BRD_COLOR:                          ; CODE XREF: sub_95C5+6 sub_965C+30     ...
  5085.                 ld      a, (SEL_SCRorBUF)
  5086.                 or      a
  5087.                 ld      a, 5
  5088.                 jr      nz, loc_9655
  5089.  
  5090.                 ld      a, 5
  5091.  
  5092.  
  5093. loc_9655:                               ; CODE XREF: SET_BRD_COLOR+6
  5094.                 ld      (BRD_COLOR), a
  5095.                 out     (#FE),  a
  5096.                 ei
  5097.                 ret
  5098.  
  5099. ; End of function SET_BRD_COLOR
  5100.  
  5101.  
  5102. ; =============== S U B R O U T I N E =======================================
  5103.  
  5104.  
  5105. sub_965C:                               ; CODE XREF: sub_9EE6
  5106.                 di
  5107.                 ld      hl, 0
  5108.                 ld      (word_D0D5), hl
  5109.                 ld      hl, SCR_BUF_6400
  5110.                 ld      a, (SEL_SCRorBUF)
  5111.                 or      a
  5112.                 jr      z, loc_966F
  5113.  
  5114.                 ld      hl, SCREEN
  5115.  
  5116.  
  5117. loc_966F:                               ; CODE XREF: sub_965C+E
  5118.                 ld      a, h
  5119.                 add     a, #18
  5120.                 ld      b, 0
  5121.  
  5122.  
  5123. loc_9674:                               ; CODE XREF: sub_965C+1B
  5124.                 ld      (hl), b
  5125.                 inc     hl
  5126.                 cp      h
  5127.                 jr      nz, loc_9674
  5128.  
  5129.                 ld      c, #18
  5130.                 ld      de, fill_attrs
  5131.  
  5132.  
  5133. loc_967E:                               ; CODE XREF: sub_965C+2D
  5134.                 ld      b, #20 ; ' '
  5135.                 ld      a, (de)
  5136.  
  5137.  
  5138. loc_9681:                               ; CODE XREF: sub_965C+27
  5139.                 ld      (hl), a
  5140.                 inc     hl
  5141.                 djnz    loc_9681
  5142.  
  5143.                 dec     c
  5144.                 jr      z, loc_968B
  5145.  
  5146.                 inc     de
  5147.                 jr      loc_967E
  5148.  
  5149. ; ---------------------------------------------------------------------------
  5150.  
  5151. loc_968B:                               ; CODE XREF: sub_965C+2A
  5152.                 ei
  5153.                 jr      SET_BRD_COLOR
  5154.  
  5155. ; End of function sub_965C
  5156.  
  5157. ; ---------------------------------------------------------------------------
  5158. fill_attrs:     db  #3A,#3A,#29,#29,#29,#29,#29,#29
  5159.                 db  #29,#29,#29,#29,#29,#29,#29,#29
  5160.                 db  #32,#32,#32,#32,#32,#32,#32,#32
  5161.  
  5162. ; =============== S U B R O U T I N E =======================================
  5163.  
  5164.  
  5165. sub_96A6:                               ; CODE XREF: sub_8C20:NEW_GAME
  5166.                                         ; sub_8C20-5E7 ...
  5167.                 ld      hl, #600
  5168.                 ld      (scr_XY), hl
  5169.  
  5170.  
  5171. loc_96AC:                               ; CODE XREF: sub_96A6+11
  5172.                 ld      hl, a_32spaces  ; "                        "
  5173.                 call    PRINT_STR_FF
  5174.  
  5175.                 ld      a, (scr_XY+1)
  5176.                 cp      #D
  5177.                 jr      nz, loc_96AC
  5178.  
  5179.                 xor     a
  5180.                 ld      (byte_D0C0), a
  5181.                 ret
  5182.  
  5183. ; End of function sub_96A6
  5184.  
  5185.  
  5186. ; =============== S U B R O U T I N E =======================================
  5187.  
  5188.  
  5189. CALC_SCR_ADDRS:                         ; CODE XREF: sub_8EFB+8 sub_8EFB+22     ...
  5190.                 push    bc
  5191.                 push    de
  5192.                 push    hl
  5193.                 ld      bc, (scr_XY)
  5194.                 ld      a, b
  5195.                 ld      hl, SCREEN
  5196.                 ld      de, #800
  5197. loc_96CC:                               ; CODE XREF: CALC_SCR_ADDRS+15
  5198.                 cp      8
  5199.                 jr      c, loc_96D5
  5200.                 sub     8
  5201.                 add     hl, de
  5202.                 jr      loc_96CC
  5203. loc_96D5:                               ; CODE XREF: CALC_SCR_ADDRS+10
  5204.                 rrca
  5205.                 rrca
  5206.                 rrca
  5207.                 add     a, c
  5208.                 ld      e, a
  5209.                 ld      d, 0
  5210.                 add     hl, de
  5211.                 ld      (scr_pix_addr), hl
  5212.                 ld      l, b
  5213.                 ld      h, 0
  5214.                 add     hl, hl
  5215.                 add     hl, hl
  5216.                 add     hl, hl
  5217.                 add     hl, hl
  5218.                 add     hl, hl
  5219.                 ld      de, SCR_ATTRS
  5220.                 add     hl, de
  5221.                 ld      e, c
  5222.                 ld      d, 0
  5223.                 add     hl, de
  5224.                 ld      (scr_attr_addr), hl
  5225.                 pop     hl
  5226.                 pop     de
  5227.                 pop     bc
  5228.                 ret
  5229.  
  5230. ; End of function CALC_SCR_ADDRS
  5231.  
  5232.  
  5233. ; =============== S U B R O U T I N E =======================================
  5234.  
  5235.  
  5236. sub_96F7:                               ; CODE XREF: sub_8D9E+21 sub_8D9E+2D
  5237. ;a=0b0YYY0XXX
  5238.                 push    hl
  5239.                 ld      hl, byte_D0B3 ;d3=swap board
  5240.                 bit     3, (hl)
  5241.                 jr      z, loc_9704
  5242.  
  5243.                 xor     #77 ;swap board
  5244.                 jr      loc_9704
  5245.  
  5246. ; End of function sub_96F7
  5247.  
  5248.  
  5249. ; =============== S U B R O U T I N E =======================================
  5250. ;count scr_XY, scr_pix_addr, scr_attr_addr
  5251.  
  5252. sub_9703:                               ; CODE XREF: SHOW_FIG_POS+25
  5253.                                         ; sub_95AE:loc_95B9
  5254. ;a=0b0YYY0XXX
  5255.                 push    hl
  5256.  
  5257.  
  5258. loc_9704:                               ; CODE XREF: sub_96F7+6 sub_96F7+A
  5259. ;a=0b0YYY0XXX
  5260.                 push    de
  5261.                 push    bc
  5262.                 ld      c, a
  5263.                 and     #F0 ; 'Ё'
  5264.                 rlca
  5265.                 rlca
  5266.                 rlca
  5267.                 rlca
  5268.                 ld      b, a
  5269.                 add     a, a
  5270.                 add     a, b
  5271.                 ld      h, a
  5272.                 ld      a, c
  5273.                 and     #F
  5274.                 ld      b, a
  5275.                 add     a, a
  5276.                 add     a, b
  5277.                 add     a, 8
  5278.                 ld      l, a
  5279.                 ld      (scr_XY), hl
  5280.                 call    CALC_SCR_ADDRS ;scr_XY to scr_pix_addr, scr_attr_addr
  5281.  
  5282.                 ld      a, (SEL_SCRorBUF)
  5283.                 or      a
  5284.                 jr      z, loc_9737
  5285.  
  5286.                 ld      de, #2400
  5287.                 ld      hl, (scr_pix_addr)
  5288.                 add     hl, de
  5289.                 ld      (scr_pix_addr), hl
  5290.                 ld      hl, (scr_attr_addr)
  5291.                 add     hl, de
  5292.                 ld      (scr_attr_addr), hl
  5293.  
  5294. loc_9737:                               ; CODE XREF: sub_9703+21
  5295.                 pop     bc
  5296.                 pop     de
  5297.                 pop     hl
  5298.                 ret
  5299.  
  5300. ; End of function sub_9703
  5301.  
  5302. ; ---------------------------------------------------------------------------
  5303.  
  5304.  
  5305.         ;following table could be placed anywhere without alignment
  5306.  
  5307.                 ;--empty--
  5308. FIG_sprites:    db  #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00 ; 72 bytes (24x24 pix) each,
  5309.                 db  #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00 ; empty, pawn, knight, bishop,
  5310.                 db  #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00 ; rook, queen, king.
  5311.                 ;pawn
  5312.                 db  #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #00, #3C, #7E, #FF, #FF, #FF, #00, #00, #00, #00, #00, #00, #00, #00
  5313.                 db  #00, #00, #01, #00, #00, #00, #00, #00, #FF, #7E, #FF, #7E, #3C, #3C, #3C, #7E, #00, #00, #80, #00, #00, #00, #00, #00
  5314.                 db  #00, #00, #00, #03, #07, #07, #03, #00, #7E, #7E, #FF, #81, #FF, #FF, #FF, #00, #00, #00, #00, #C0, #E0, #E0, #C0, #00
  5315.                 ;knight
  5316.                 db  #00, #00, #00, #00, #01, #07, #1F, #1F, #00, #03, #1F, #7F, #BF, #FF, #FF, #FF, #00, #80, #80, #00, #00, #80, #80, #80
  5317.                 db  #07, #0F, #00, #00, #01, #03, #07, #07, #FF, #BF, #7F, #FF, #FF, #FF, #FF, #FF, #C0, #C0, #C0, #E0, #E0, #E0, #E0, #E0
  5318.                 db  #03, #00, #01, #03, #0F, #0F, #07, #00, #FF, #FF, #FF, #00, #FF, #FF, #FF, #00, #C0, #00, #80, #C0, #F0, #F0, #E0, #00
  5319.                 ;bishop
  5320.                 db  #00, #00, #00, #00, #00, #00, #01, #03, #00, #18, #3C, #3C, #26, #9F, #CF, #E7, #00, #00, #00, #00, #00, #00, #80, #C0
  5321.                 db  #03, #07, #07, #07, #07, #03, #01, #00, #F7, #FF, #FF, #FF, #FF, #FF, #FF, #FF, #C0, #E0, #E0, #E0, #E0, #C0, #80, #00
  5322.                 db  #00, #01, #03, #07, #0F, #0F, #07, #00, #FF, #FF, #FF, #00, #FF, #FF, #FF, #00, #00, #80, #C0, #E0, #F0, #F0, #E0, #00
  5323.                 ;rook
  5324.                 db  #00, #00, #00, #0F, #0F, #0F, #0F, #0F, #00, #00, #00, #3C, #3C, #3C, #FF, #FF, #00, #00, #00, #F0, #F0, #F0, #F0, #F0
  5325.                 db  #07, #02, #03, #03, #03, #03, #03, #03, #FF, #00, #FF, #FF, #FF, #FF, #FF, #FF, #E0, #40, #C0, #C0, #C0, #C0, #C0, #C0
  5326.                 db  #03, #03, #07, #0E, #1F, #1F, #0F, #00, #FF, #FF, #FF, #00, #FF, #FF, #FF, #00, #C0, #C0, #E0, #70, #F8, #F8, #F0, #00
  5327.                 ;queen
  5328.                 db  #00, #00, #00, #00, #00, #01, #47, #5E, #00, #18, #3C, #3C, #66, #FF, #7E, #3C, #00, #00, #00, #00, #00, #80, #E2, #7A
  5329.                 db  #4C, #61, #3F, #1F, #0F, #07, #03, #02, #99, #C3, #FF, #FF, #FF, #FF, #FF, #FF, #32, #86, #FC, #F8, #F0, #E0, #C0, #40
  5330.                 db  #0F, #0B, #1F, #18, #3F, #3F, #1F, #00, #FF, #66, #FF, #00, #FF, #FF, #FF, #00, #F0, #D0, #F8, #18, #FC, #FC, #F8, #00
  5331.                 ;king
  5332.                 db  #00, #00, #00, #00, #1E, #33, #61, #4C, #00, #7E, #66, #5A, #5A, #66, #FF, #66, #00, #00, #00, #00, #78, #CC, #86, #32
  5333.                 db  #5F, #5F, #4F, #67, #37, #13, #1B, #08, #66, #3C, #99, #DB, #DB, #DB, #DB, #00, #FA, #FA, #F2, #E6, #EC, #C8, #D8, #10
  5334.                 db  #0F, #0B, #1F, #18, #3F, #3F, #1F, #00, #FF, #66, #FF, #00, #FF, #FF, #FF, #00, #F0, #D0, #F8, #18, #FC, #FC, #F8, #00
  5335.  
  5336. ; =============== S U B R O U T I N E =======================================
  5337.  
  5338.  
  5339. sub_9933:                               ; CODE XREF: sub_92D7+4
  5340.                 call    BEEP_move
  5341.  
  5342.                 jp      BEEP_start
  5343.  
  5344. ; End of function sub_9933
  5345.  
  5346.  
  5347. ; =============== S U B R O U T I N E =======================================
  5348.  
  5349.  
  5350. sub_9939:                               ; CODE XREF: sub_8C20-5F
  5351.                 call    BEEP_start
  5352.  
  5353.                 call    BEEP_move
  5354.  
  5355. ; End of function sub_9939
  5356.  
  5357.  
  5358. ; =============== S U B R O U T I N E =======================================
  5359.  
  5360.  
  5361. BEEP_start:                             ; CODE XREF: sub_8C20-B76
  5362.                                         ; sub_8C20:loc_83E8 ...
  5363.                 push    hl
  5364.                 push    de
  5365.                 ld      hl, #511
  5366.                 ld      de, #A5 ; 'е'
  5367.                 jr      BEEP_common
  5368.  
  5369. ; End of function BEEP_start
  5370.  
  5371.  
  5372. ; =============== S U B R O U T I N E =======================================
  5373.  
  5374.  
  5375. BEEP_move:                              ; CODE XREF: sub_8C20-A51
  5376.                                         ; sub_8C20-79C ...
  5377.                 push    hl
  5378.                 push    de
  5379.                 ld      hl, #43E
  5380.                 ld      de, #C4 ; '─'
  5381.                 jr      BEEP_common
  5382.  
  5383. ; End of function BEEP_move
  5384.  
  5385.  
  5386. ; =============== S U B R O U T I N E =======================================
  5387.  
  5388.  
  5389. BEEP_3:                                 ; CODE XREF: sub_8C20:loc_8419
  5390.                                         ; sub_8C20:loc_85DD ...
  5391.                 push    hl
  5392.                 push    de
  5393.                 ld      hl, #66A
  5394.                 ld      de, #83 ; 'Г'
  5395.                 jr      BEEP_common
  5396.  
  5397. ; End of function BEEP_3
  5398.  
  5399.  
  5400. ; =============== S U B R O U T I N E =======================================
  5401.  
  5402.  
  5403. BEEP_4:                                 ; CODE XREF: sub_907E+23
  5404.                 push    hl
  5405.                 push    de
  5406.                 ld      hl, #326
  5407.                 ld      de, #34 ; '4'
  5408.                 jr      BEEP_common
  5409.  
  5410. ; ---------------------------------------------------------------------------
  5411.                 push    hl
  5412.                 push    de
  5413.                 ld      hl, #326
  5414.                 ld      de, #105
  5415.  
  5416.  
  5417. BEEP_common:                            ; CODE XREF: BEEP_start+8
  5418.                                         ; BEEP_move+8   ...
  5419.                 di
  5420.                 call    BEEP_routine
  5421.  
  5422.                 ei
  5423.                 pop     de
  5424.                 pop     hl
  5425.                 ret
  5426.  
  5427. ; End of function BEEP_4
  5428.  
  5429.  
  5430. ; =============== S U B R O U T I N E =======================================
  5431.  
  5432.  
  5433. BEEP_routine:                           ; CODE XREF: BEEP_4+13
  5434.                 di
  5435.                 push    ix
  5436.                 push    bc
  5437.                 ld      a, l
  5438.                 srl     l
  5439.                 srl     l
  5440.                 cpl
  5441.                 and     3
  5442.                 ld      c, a
  5443.                 ld      b, 0
  5444.                 ld      ix, BEEP_loop
  5445.                 add     ix, bc
  5446.                 ld      a, (BRD_COLOR)
  5447.                 or      8
  5448.  
  5449.  
  5450. BEEP_loop:                              ; DATA XREF: BEEP_routine+F
  5451.                 nop
  5452.                 nop
  5453.                 nop
  5454.                 inc     b
  5455.                 inc     c
  5456.  
  5457.  
  5458. BEEP_wait:                              ; CODE XREF: BEEP_routine+20
  5459.                                         ; BEEP_routine+25
  5460.                 dec     c
  5461.                 jr      nz, BEEP_wait
  5462.  
  5463.                 ld      c, #3F ; '?'
  5464.                 dec     b
  5465.                 jp      nz, BEEP_wait
  5466.  
  5467.                 xor     #10
  5468.                 out     (#FE),  a
  5469.                 ld      b, h
  5470.                 ld      c, a
  5471.                 bit     4, a
  5472.                 jr      nz, BEEP_smth
  5473.  
  5474.                 ld      a, d
  5475.                 or      e
  5476.                 jr      z, BEEP_exit
  5477.  
  5478.                 ld      a, c
  5479.                 ld      c, l
  5480.                 dec     de
  5481.                 jp      (ix)
  5482.  
  5483. ; ---------------------------------------------------------------------------
  5484.  
  5485. BEEP_smth:                              ; CODE XREF: BEEP_routine+30
  5486.                 ld      c, l
  5487.                 inc     c
  5488.                 jp      (ix)
  5489.  
  5490. ; ---------------------------------------------------------------------------
  5491.  
  5492. BEEP_exit:                              ; CODE XREF: BEEP_routine+34
  5493.                 pop     bc
  5494.                 pop     ix
  5495.                 ei
  5496.                 ret
  5497.  
  5498. ; End of function BEEP_routine
  5499.  
  5500. ; ---------------------------------------------------------------------------
  5501. aCyrusIi:       db 'CYRUS II     ',#7F
  5502.                 db ' 1986',#0D
  5503.                 db ' INTELLIGENT CHESS SOFTWARE LTD'
  5504.                 EOS
  5505.  
  5506.                 db '  LEVEL' ; unused string?
  5507.                 EOS
  5508.  
  5509.                 ; unused string?
  5510.                 db      'Press <SPACE> to see board'
  5511.                 EOS
  5512.  
  5513. aPress:         db ' PRESS',#0D
  5514.                 db '<SPACE>',#0D
  5515.                 db '  for',#0D
  5516.                 db ' MENU'
  5517.                 EOS
  5518.  
  5519.  
  5520. aOOO:           db 'O-O-O'          ; DATA XREF: sub_8977+14
  5521.  
  5522.  
  5523. aNewGameYN:     db 'NEW GAME (Y/N)? ' ; DATA XREF: sub_92D7+1A
  5524.                 EOS
  5525.  
  5526. aNew:           db ' NEW ?'          ; DATA XREF: sub_92D7+D
  5527.                 EOS
  5528.  
  5529. aCyrus:         db 'CYRUS '          ; DATA XREF: sub_9F73 sub_A177+86 ...
  5530.                 EOS
  5531.  
  5532. a_PLAYER:       db 'PLAYER'          ; DATA XREF: sub_9F73+5 sub_A177+8D ...
  5533.                 EOS
  5534.  
  5535. a_ADAP:         db 'ADAP'            ; DATA XREF: sub_8D2C:loc_8D56
  5536.                 EOS
  5537.  
  5538. a_INF:          db 'INF '            ; DATA XREF: sub_8D2C+2F
  5539.                 EOS
  5540.  
  5541. aProb:          db 'PROB'            ; DATA XREF: sub_8D2C+36
  5542.                 EOS
  5543.  
  5544. aAnalysis:      db 'ANALYSIS'        ; DATA XREF: sub_842C+10
  5545.                 EOS
  5546.  
  5547. aPrinter:       db 'PRINTER'
  5548.                 EOS
  5549.  
  5550. aNoMateIn:      db 'NO MATE IN '     ; DATA XREF: sub_A6F7:loc_A725
  5551.                 EOS
  5552.  
  5553. aIllegalSetup:  db 'ILLEGAL SETUP'   ; DATA XREF: sub_8C20+1
  5554.                 EOS
  5555.  
  5556. aStalemate:     db 'STALEMATE'       ; DATA XREF: sub_8C20-8A
  5557.                 EOS
  5558.  
  5559. aCheckmate:     db 'CHECKMATE'       ; DATA XREF: sub_8C20:loc_8B8D
  5560.                 EOS
  5561.                
  5562. aDraw:          db 'DRAW'            ; DATA XREF: sub_8C20:loc_8B9B
  5563.                 EOS
  5564.  
  5565. aBlack:         db 'BLACK'           ; DATA XREF: sub_8C20-62E
  5566.                                         ; sub_9F0D+61
  5567.                 EOS
  5568.  
  5569. aWhite:         db 'WHITE'           ; DATA XREF: sub_8C20-637
  5570.                                         ; sub_9F0D+58
  5571.                 EOS
  5572.  
  5573. aInitClk:       db '00:00:00'        ; DATA XREF: INIT_PRINT_CLOCKS
  5574.                                         ; INIT_PRINT_CLOCKS+B   ...
  5575.                 EOS
  5576.  
  5577.  
  5578. a_32spaces:     db '                        '
  5579. a_8spaces:      db '        '
  5580.                 EOS
  5581.  
  5582. aSetUpPosition: db 'SET UP POSITION',#0D ; DATA XREF: sub_9F0D+6
  5583.                 db 'C - Clear board M - Multi-move  E - Empty squ.  S - exit Setup  '
  5584.                 db 'G - new Game    X - swap colour L - Level       Z - Zero clocks '
  5585.                 db  #0D
  5586.                 db '   P,N,B,R,Q,K - piece to add'
  5587.                 EOS
  5588.  
  5589. aThinking:      db 'THINKING',#0D       ; DATA XREF: sub_9F0D+32
  5590.                 db  #0D
  5591.                 db 'M - Move now      H - Hint',#0D
  5592.                 db 'G - new Game'
  5593.                 EOS
  5594.  
  5595. aYourMove:      db 'YOUR MOVE',#0D
  5596.                 db 'A - Analysis      B - Back',#0D
  5597.                 db 'C - Cassette      D - Demo',#0D
  5598.                 db 'F - Forward       G - new Game',#0D
  5599.                 db 'H - Hint          I - Invert',#0D
  5600.                 db 'L - Level         M - Move',#0D
  5601.                 db      'P - Printer       S - Set posn.'
  5602.                 EOS
  5603.  
  5604. aBBackSSetPosn_:db 'B - Back          S - Set posn. G - new Game'
  5605.                 EOS
  5606.  
  5607. aSSaveRecordLLo:db 'S- Save record   L- Load record',#0D
  5608.                 db  #0D
  5609.                 db '  PRESS ANY OTHER KEY TO ABORT'
  5610.                 EOS
  5611.  
  5612. aNotAGameRecord:db 'NOT A '
  5613. aGameRecord:    db 'GAME RECORD : ' ; DATA XREF: sub_8C20+1A03
  5614.                 EOS
  5615.  
  5616. aLoadAGameRecor:db '      LOAD A GAME RECORD',#0D
  5617.                 db 'ENTER FILENAME; <BREAK> TO ABORT'
  5618.                 EOS
  5619.  
  5620. aSaveTheGameRec:db '      SAVE THE GAME RECORD',#0D
  5621.                 db 'ENTER FILENAME; <BREAK> TO ABORT'
  5622.                 EOS
  5623.  
  5624. aStartTapeAndPr:db '  START TAPE AND PRESS ANY KEY'
  5625.                 EOS
  5626.  
  5627. aZZxPrinterPSer:db ' Z-ZX PRINTER    P-SERIAL',#0D
  5628.                 db ' G-GAME RECORD   B-BOARD',#0D
  5629.                 db ' C-CONTINUOUS    O-OPTIONS',#0D
  5630.                 db  #0D
  5631.                 db '  PRESS ANY OTHER KEY TO ABORT'
  5632.                 EOS
  5633.  
  5634. aSelectBaudRate:db 'SELECT BAUD RATE:-',#0D
  5635.                 db '1=50  2=110  3=300  4=600 5=12006=2400  7=4800  8=9600  9=19200 ',#0D
  5636.                 db '            C=CR+LF',#0D
  5637.                 db  #0D
  5638.                 db '  PRESS ANY OTHER KEY TO ABORT'
  5639.                 EOS
  5640. ; ---------------------------------------------------------------------------
  5641.  
  5642. loc_9E65:                               ; CODE XREF: sub_8C20-666
  5643.                                         ; sub_8C20:loc_85F5 ...
  5644.                 xor     a
  5645.                 jr      PRINT_STR_A
  5646.  
  5647.  
  5648. ; =============== S U B R O U T I N E =======================================
  5649.  
  5650.  
  5651. sub_9E68:                               ; CODE XREF: sub_8C20-6B sub_8C20+4     ...
  5652.                 ld      de, #F00
  5653.                 ld      (scr_XY), de
  5654.                 call    PRINT_STR_FF
  5655.  
  5656.                 ret
  5657.  
  5658. ; End of function sub_9E68
  5659.  
  5660.  
  5661. ; =============== S U B R O U T I N E =======================================
  5662.  
  5663.  
  5664. PRINT_STR_FF:                           ; CODE XREF: sub_842C:loc_843F
  5665.                                         ; sub_890F+9 ...
  5666.                 ld      a, #FF
  5667.  
  5668.  
  5669. PRINT_STR_A:                            ; CODE XREF: RAM:9E66
  5670.                 ld      (NEED_SCR2BUF), a
  5671.  
  5672.  
  5673. loc_9E78:                               ; CODE XREF: PRINT_STR_FF+14
  5674.                                         ; PRINT_STR_FF+1F
  5675.                 ld      a, (hl)
  5676.                 inc     hl
  5677.                 cp      #D
  5678.                 jr      nz, loc_9E89
  5679.  
  5680.                 push    hl
  5681.                 ld      hl, scr_XY
  5682.                 ld      (hl), 0
  5683.                 inc     hl
  5684.                 inc     (hl)
  5685.                 pop     hl
  5686.                 jr      loc_9E78
  5687.  
  5688. ; ---------------------------------------------------------------------------
  5689.  
  5690. loc_9E89:                               ; CODE XREF: PRINT_STR_FF+9
  5691.                 push    af
  5692.                 and     #7F ; ''
  5693.                 call    PRINT_LETTER
  5694.  
  5695.                 pop     af
  5696.                 bit     7, a
  5697.                 jr      z, loc_9E78
  5698.  
  5699.                 ret
  5700.  
  5701. ; End of function PRINT_STR_FF
  5702.  
  5703.  
  5704. ; =============== S U B R O U T I N E =======================================
  5705.  
  5706.  
  5707. PRINT_LETTER:                           ; CODE XREF: sub_8D2C+1C sub_8D2C+22 ...
  5708.                 push    hl
  5709.                 push    de
  5710.                 push    bc
  5711.                 push    af
  5712.                 call    CALC_SCR_ADDRS
  5713.  
  5714.                 ld      hl, (scr_pix_addr)
  5715.                 call    ADDR_SCR2BUF
  5716.  
  5717.                 add     hl, de
  5718.                 pop     af
  5719.                 cp      #30
  5720.                 jr      nz, loc_9EAA
  5721.  
  5722.                 ld      a, #4F ; 'O'
  5723.  
  5724.  
  5725. loc_9EAA:                               ; CODE XREF: PRINT_LETTER+11
  5726.                 push    hl
  5727.                 ld      de,font-256 ;#3C00      ; ROM FONT
  5728.                 ld      l, a
  5729.                 ld      h, 0
  5730.                 add     hl, hl
  5731.                 add     hl, hl
  5732.                 add     hl, hl
  5733.                 add     hl, de
  5734.                 ex      de, hl
  5735.                 pop     hl
  5736.                 ld      b, 8
  5737.  
  5738.  
  5739. loc_9EB9:                               ; CODE XREF: PRINT_LETTER+28
  5740.                 ld      a, (de)
  5741.                 ld      (hl), a
  5742.                 inc     de
  5743.                 inc     h
  5744.                 djnz    loc_9EB9
  5745.  
  5746.                 ld      hl, (scr_XY)
  5747.                 ld      a, l
  5748.                 inc     a
  5749.                 cp      #20 ; ' '
  5750.                 jr      nz, loc_9ECA
  5751.  
  5752.                 xor     a
  5753.                 inc     h
  5754.  
  5755.  
  5756. loc_9ECA:                               ; CODE XREF: PRINT_LETTER+31
  5757.                 ld      l, a
  5758.                 ld      (scr_XY), hl
  5759.                 pop     bc
  5760.                 pop     de
  5761.                 pop     hl
  5762.                 ret
  5763.  
  5764. ; End of function PRINT_LETTER
  5765.  
  5766.  
  5767. ; =============== S U B R O U T I N E =======================================
  5768.  
  5769.  
  5770. ADDR_SCR2BUF:                           ; CODE XREF: PRINT_LETTER+A
  5771.                 push    af
  5772.                 push    hl
  5773.                 ld      a, (SEL_SCRorBUF)
  5774.                 ld      hl, NEED_SCR2BUF
  5775.                 cp      (hl)
  5776.                 ld      de, #2400       ; addition to move to SCR_BUF=#6400
  5777.                 jr      nz, loc_9EE3
  5778.  
  5779.                 ld      de, 0
  5780.  
  5781.  
  5782. loc_9EE3:                               ; CODE XREF: ADDR_SCR2BUF+C
  5783.                 pop     hl
  5784.                 pop     af
  5785.                 ret
  5786.  
  5787. ; End of function ADDR_SCR2BUF
  5788.  
  5789.  
  5790. ; =============== S U B R O U T I N E =======================================
  5791.  
  5792.  
  5793. sub_9EE6:                               ; CODE XREF: sub_92D7-1239
  5794.                                         ; sub_8C20+1A5B
  5795.                 call    sub_965C
  5796.  
  5797.                 ld      hl, #C
  5798.                 ld      (scr_XY), hl
  5799.                 ld      hl, aCyrusIi    ; "CYRUS II     "
  5800.                 call    PRINT_STR_FF
  5801.  
  5802.                 ld      de, #318
  5803.                 ld      (scr_XY), de
  5804.                 call    PRINT_STR_FF
  5805.  
  5806.                 ld      de, #1703
  5807.                 ld      (scr_XY), de
  5808.                 call    PRINT_STR_FF
  5809.  
  5810.                 call    sub_8D2C
  5811.  
  5812.                 ret
  5813.  
  5814. ; End of function sub_9EE6
  5815.  
  5816.  
  5817. ; =============== S U B R O U T I N E =======================================
  5818.  
  5819.  
  5820. sub_9F0D:                               ; CODE XREF: sub_8C20:loc_818F
  5821.                                         ; sub_8C20:loc_8378 ...
  5822.  
  5823. ; FUNCTION CHUNK AT 9F5B SIZE 00000018 BYTES
  5824.  
  5825.                 call    sub_842C
  5826.  
  5827.                 ld      de, #1000
  5828.                 ld      hl, aSetUpPosition ; "SET UP POSITION"
  5829.                 ld      a, (byte_D04D)
  5830.                 rra
  5831.                 jr      c, loc_9F5B
  5832.  
  5833.                 push    de
  5834.                 ld      de, #306
  5835.                 call    sub_9F8B
  5836.  
  5837.                 bit     1, b
  5838.                 call    sub_9F73
  5839.  
  5840.                 bit     0, b
  5841.                 call    sub_9F73
  5842.  
  5843.                 call    sub_A177
  5844.  
  5845.                 pop     de
  5846.                 ld      hl, aYourMove   ; "YOUR MOVE"
  5847.                 ld      a, (byte_D0B4)
  5848.                 bit     5, a
  5849.                 jr      nz, sub_9F42
  5850.  
  5851.                 bit     6, a
  5852.                 jr      z, sub_9F42
  5853.  
  5854.                 ld      hl, aThinking   ; "THINKING"
  5855.  
  5856. ; End of function sub_9F0D
  5857.  
  5858.  
  5859. ; =============== S U B R O U T I N E =======================================
  5860.  
  5861.  
  5862. sub_9F42:                               ; CODE XREF: sub_8C20-62 sub_9F0D+2C ...
  5863.                 ld      bc, (word_D0D5)
  5864.                 ld      (word_D0D5), hl
  5865.                 or      a
  5866.                 sbc     hl, bc
  5867.                 ret     z
  5868.                 call    sub_9F9E
  5869.  
  5870.                 ld      hl, (word_D0D5)
  5871.  
  5872.  
  5873. loc_9F53:                               ; CODE XREF: sub_9F0D+5F sub_9F0D+64
  5874.                 ld      (scr_XY), de
  5875.                 call    PRINT_STR_FF
  5876.  
  5877.                 ret
  5878.  
  5879. ; End of function sub_9F42
  5880.  
  5881. ; ---------------------------------------------------------------------------
  5882. ; START OF FUNCTION CHUNK FOR sub_9F0D
  5883.  
  5884. loc_9F5B:                               ; CODE XREF: sub_9F0D+D
  5885.                 ld      (scr_XY), de
  5886.                 call    sub_9F42
  5887.  
  5888.                 ld      de, #1019
  5889.                 ld      hl, aWhite      ; "WHIT"
  5890.                 ld      a, (byte_D08D)
  5891.                 rla
  5892.                 jr      c, loc_9F53
  5893.  
  5894.                 ld      hl, aBlack      ; "BLAC"
  5895.                 jr      loc_9F53
  5896.  
  5897. ; END OF FUNCTION CHUNK FOR sub_9F0D
  5898.  
  5899. ; =============== S U B R O U T I N E =======================================
  5900.  
  5901.  
  5902. sub_9F73:                               ; CODE XREF: sub_9F0D+18 sub_9F0D+1D
  5903.                 ld      hl, aCyrus      ; "CYRUS"
  5904.                 jr      nz, loc_9F7B
  5905.  
  5906.                 ld      hl, a_PLAYER    ; "PLAYE"
  5907.  
  5908.  
  5909. loc_9F7B:                               ; CODE XREF: sub_9F73+3
  5910.                 ld      (scr_XY), de
  5911.                 call    PRINT_STR_FF
  5912.  
  5913.                 ld      de, (scr_XY)
  5914.                 inc     de
  5915.                 inc     de
  5916.                 inc     de
  5917.                 inc     de
  5918.                 ret
  5919.  
  5920. ; End of function sub_9F73
  5921.  
  5922.  
  5923. ; =============== S U B R O U T I N E =======================================
  5924.  
  5925.  
  5926. sub_9F8B:                               ; CODE XREF: sub_9F0D+13 sub_A177+83
  5927.                 ld      a, (byte_D0B4)
  5928.                 ld      b, 0
  5929.                 rra
  5930.                 ret     c
  5931.                 ld      b, 3
  5932.                 rra
  5933.                 ret     c
  5934.                 dec     b
  5935.                 ld      a, (byte_D0B2)
  5936.                 or      a
  5937.                 ret     z
  5938.                 dec     b
  5939.                 ret
  5940.  
  5941. ; End of function sub_9F8B
  5942.  
  5943.  
  5944. ; =============== S U B R O U T I N E =======================================
  5945.  
  5946.  
  5947. sub_9F9E:                               ; CODE XREF: sub_9F42+B
  5948.                 ld      hl, #1000
  5949.                 ld      (scr_XY), hl
  5950.  
  5951.  
  5952. loc_9FA4:                               ; CODE XREF: sub_9F9E+12
  5953.                 ld      hl, a_32spaces  ; "                        "
  5954.                 call    PRINT_STR_FF
  5955.  
  5956.                 ld      a, (scr_XY+1)
  5957.                 cp      #17
  5958.                 ret     z
  5959.                 jr      loc_9FA4
  5960.  
  5961. ; End of function sub_9F9E
  5962.  
  5963.  
  5964. ; =============== S U B R O U T I N E =======================================
  5965.  
  5966.  
  5967. sub_9FB2:                               ; CODE XREF: sub_8C20-94C
  5968.                                         ; sub_8DE9+4D
  5969.                 ld      a, #FF
  5970.                 ld      (NEED_SCR2BUF), a
  5971.                 call    sub_A08D
  5972.  
  5973.                 ld      l, 6
  5974.                 call    sub_A164
  5975.  
  5976.                 ld      a, (byte_D0C0)
  5977.                 jr      c, loc_9FCB
  5978.  
  5979.                 ld      l, #10
  5980.                 inc     a
  5981.                 ld      (byte_D0C0), a
  5982.                 dec     a
  5983.  
  5984.  
  5985. loc_9FCB:                               ; CODE XREF: sub_9FB2+10
  5986.                 add     a, 6
  5987.                 ld      h, a
  5988.                 push    hl
  5989.                 ld      (scr_XY), hl
  5990.                 ld      hl, buf_10bytes
  5991.                 call    PRINT_STR_FF
  5992.  
  5993.                 pop     hl
  5994.                 ld      de, #B10
  5995.                 or      a
  5996.                 sbc     hl, de
  5997.                 call    z, SCROLL_UP
  5998.  
  5999.                 ld      hl, buf_10bytes
  6000.                 ld      de, txt_buf_6
  6001.                 ld      bc, 6
  6002.                 ldir
  6003.                 ex      de, hl
  6004.                 dec     hl
  6005.                 set     7, (hl)
  6006.                 call    sub_A3D0
  6007.  
  6008.                 ret
  6009.  
  6010. ; End of function sub_9FB2
  6011.  
  6012.  
  6013. ; =============== S U B R O U T I N E =======================================
  6014.  
  6015.  
  6016. sub_9FF5:                               ; CODE XREF: sub_8C20-A12
  6017.                                         ; sub_8C20-A06 ...
  6018.                 push    hl
  6019.                 push    bc
  6020.                 ld      b, #20 ; ' '
  6021.                 ld      l, a
  6022.                 ld      h, BRD_88_0/256
  6023.                 ld      a, (hl)
  6024.                 or      a
  6025.                 jr      z, loc_A01D
  6026.  
  6027.                 ld      l, a
  6028.                 res     2, l
  6029.                 inc     l
  6030.                 inc     h               ; word_D100
  6031.                 ld      a, (hl)
  6032.                 and     #F
  6033.                 ld      b, #4B ; 'K'
  6034.                 jr      z, loc_A01D
  6035.  
  6036.                 ld      b, #20 ; ' '
  6037.                 cp      1
  6038.                 jr      z, loc_A01D
  6039.  
  6040.                 ld      a, (hl)
  6041.                 and     #8F ; 'П'
  6042.                 ld      hl, KING-1
  6043.                 call    sub_8CF7
  6044.  
  6045.                 inc     hl
  6046.                 ld      b, (hl)
  6047.  
  6048.  
  6049. loc_A01D:                               ; CODE XREF: sub_9FF5+9 sub_9FF5+15     ...
  6050.                 ld      a, b
  6051.                 pop     bc
  6052.                 pop     hl
  6053.                 ret
  6054.  
  6055. ; End of function sub_9FF5
  6056.  
  6057.  
  6058. ; =============== S U B R O U T I N E =======================================
  6059.  
  6060.  
  6061. sub_A021:                               ; CODE XREF: sub_A684+36 sub_A684+42
  6062.                 ld      b, a
  6063.                 and     7
  6064.                 add     a, #61 ; 'a'
  6065.                 call    PRINT_LETTER
  6066.  
  6067.                 ld      a, #70 ; 'p'
  6068.                 and     b
  6069.                 rra
  6070.                 rra
  6071.                 rra
  6072.                 rra
  6073.                 neg
  6074.                 add     a, #38 ; '8'
  6075.                 call    PRINT_LETTER
  6076.  
  6077.                 ret
  6078.  
  6079. ; End of function sub_A021
  6080.  
  6081.  
  6082. ; =============== S U B R O U T I N E =======================================
  6083.  
  6084.  
  6085. INIT_PRINT_CLOCKS:                      ; CODE XREF: sub_8C20-B79
  6086.                                         ; sub_8C20-60B ...
  6087.                 ld      hl, aInitClk    ; "00:00:0"
  6088.                 ld      de, CLK_1
  6089.                 ld      bc, 8
  6090.                 ldir
  6091.                 ld      hl, aInitClk    ; "00:00:0"
  6092.                 ld      de, CLK_2
  6093.                 ld      bc, 8
  6094.                 ldir
  6095.                 ld      hl, #405
  6096.                 ld      (scr_XY), hl
  6097.                 ld      hl, aInitClk    ; "00:00:0"
  6098.                 call    PRINT_STR_FF
  6099.  
  6100.                 ld      hl, #40F
  6101.                 ld      (scr_XY), hl
  6102.                 ld      hl, aInitClk    ; "00:00:0"
  6103.                 call    PRINT_STR_FF
  6104.  
  6105.                 call    sub_A228
  6106.  
  6107.                 ret
  6108.  
  6109. ; End of function INIT_PRINT_CLOCKS
  6110.  
  6111.  
  6112. ; =============== S U B R O U T I N E =======================================
  6113.  
  6114.  
  6115. PRINT_CLOCKS_SWAP:                      ; CODE XREF: sub_8C20+1A5E
  6116.                 ld      hl, #405
  6117.                 ld      (scr_XY), hl
  6118.                 ld      hl, CLK_2
  6119.                 ld      de, CLK_1
  6120.                 ld      a, (byte_D0B3) ;d3=swap board
  6121.                 and     8
  6122.                 jr      z, loc_A07E
  6123.  
  6124.                 ex      de, hl
  6125.  
  6126.  
  6127. loc_A07E:                               ; CODE XREF: PRINT_CLOCKS_SWAP+11
  6128.                 push    de
  6129.                 call    PRINT_STR_FF
  6130.  
  6131.                 ld      hl,#40F
  6132.                 ld      (scr_XY), hl
  6133.                 pop     hl
  6134.                 call    PRINT_STR_FF
  6135.  
  6136.                 ret
  6137.  
  6138. ; End of function PRINT_CLOCKS_SWAP
  6139.  
  6140.  
  6141. ; =============== S U B R O U T I N E =======================================
  6142.  
  6143.  
  6144. sub_A08D:                               ; CODE XREF: sub_8C20-AF7 sub_9FB2+5
  6145.                 ld      a, #FF          ; print byte in decimal???
  6146.                 ld      (NEED_SCR2BUF), a
  6147.                 ld      a, (byte_D0C0)
  6148.                 add     a, 6
  6149.                 ld      h, a
  6150.                 ld      l, 0
  6151.                 ld      (scr_XY), hl
  6152.                 ld      a, (byte_D049)
  6153.                 ld      b, a
  6154.                 ld      a, (byte_D0B4)
  6155.                 bit     5, a
  6156.                 jr      z, loc_A0AF
  6157.  
  6158.                 ld      a, (byte_D0BF)
  6159.                 rra
  6160.                 jr      nc, loc_A0AF
  6161.  
  6162.                 dec     b
  6163.  
  6164.  
  6165. loc_A0AF:                               ; CODE XREF: sub_A08D+19 sub_A08D+1F
  6166.                 ld      a, (byte_D0B7)
  6167.                 cp      b
  6168.                 ret     z
  6169.                 ld      a, b
  6170.                 ld      (byte_D0B7), a
  6171.                 ld      bc, #3000
  6172.  
  6173.  
  6174. loc_A0BB:                               ; CODE XREF: sub_A08D+36
  6175.                 cp      #64 ; 'd'
  6176.                 jr      c, loc_A0C5
  6177.  
  6178.                 inc     b
  6179.                 inc     c
  6180.                 sub     #64 ; 'd'
  6181.                 jr      loc_A0BB
  6182.  
  6183. ; ---------------------------------------------------------------------------
  6184.  
  6185. loc_A0C5:                               ; CODE XREF: sub_A08D+30
  6186.                 ex      af, af'
  6187.                 ld      a, b
  6188.                 cp      #30 ; '0'
  6189.                 jr      nz, loc_A0D3
  6190.  
  6191.                 ld      a, c
  6192.                 or      a
  6193.                 ld      a, #30 ; '0'
  6194.                 jr      nz, loc_A0D3
  6195.  
  6196.                 ld      a, #20 ; ' '
  6197.  
  6198.  
  6199. loc_A0D3:                               ; CODE XREF: sub_A08D+3C sub_A08D+42
  6200.                 call    sub_A0F7
  6201.  
  6202.                 ex      af, af'
  6203.                 ld      b, #30 ; '0'
  6204.  
  6205.  
  6206. loc_A0D9:                               ; CODE XREF: sub_A08D+54
  6207.                 cp      #A
  6208.                 jr      c, loc_A0E3
  6209.  
  6210.                 inc     b
  6211.                 inc     c
  6212.                 sub     #A
  6213.                 jr      loc_A0D9
  6214.  
  6215. ; ---------------------------------------------------------------------------
  6216.  
  6217. loc_A0E3:                               ; CODE XREF: sub_A08D+4E
  6218.                 ex      af, af'
  6219.                 ld      a, b
  6220.                 cp      #30 ; '0'
  6221.                 jr      nz, loc_A0F1
  6222.  
  6223.                 ld      a, c
  6224.                 or      a
  6225.                 ld      a, #30 ; '0'
  6226.                 jr      nz, loc_A0F1
  6227.  
  6228.                 ld      a, #20 ; ' '
  6229.  
  6230.  
  6231. loc_A0F1:                               ; CODE XREF: sub_A08D+5A sub_A08D+60
  6232.                 call    sub_A0F7
  6233.  
  6234.                 ex      af, af'
  6235.                 add     a, #30 ; '0'
  6236.  
  6237. ; End of function sub_A08D
  6238.  
  6239.  
  6240. ; =============== S U B R O U T I N E =======================================
  6241.  
  6242.  
  6243. sub_A0F7:                               ; CODE XREF: sub_A08D:loc_A0D3
  6244.                                         ; sub_A08D:loc_A0F1
  6245.                 push    af
  6246.                 call    PRINT_LETTER
  6247.  
  6248.                 ld      a, (byte_D0E1)
  6249.                 cp      3
  6250.                 jr      nc, loc_A102
  6251.  
  6252.  
  6253. loc_A102:                               ; CODE XREF: sub_A0F7+9
  6254.                 pop     af
  6255.                 ret
  6256.  
  6257. ; End of function sub_A0F7
  6258.  
  6259.  
  6260. ; =============== S U B R O U T I N E =======================================
  6261.  
  6262.  
  6263. SCROLL_UP:                              ; CODE XREF: sub_9FB2+2D
  6264.                 di
  6265.                 ld      hl,  SCR_BUF_6400+#C0
  6266.                 ld      a, (SEL_SCRorBUF)
  6267.                 or      a
  6268.                 jr      z, loc_A111
  6269.  
  6270.                 ld      hl,  SCREEN+#C0
  6271.  
  6272.  
  6273. loc_A111:                               ; CODE XREF: SCROLL_UP+8
  6274.                 ld      a, 5
  6275.                 ex      af, af' ;'
  6276.  
  6277.  
  6278. loc_A114:                               ; CODE XREF: SCROLL_UP+34
  6279.                 ld      a, #20 ; ' '
  6280.                 add     a, l
  6281.                 ld      e, a
  6282.                 ld      a, h
  6283.                 jr      nc, loc_A11D
  6284.  
  6285.                 add     a, 8
  6286.  
  6287.  
  6288. loc_A11D:                               ; CODE XREF: SCROLL_UP+15
  6289.                 ld      d, a            ; DE is 1 char lower than HL
  6290.                 push    de
  6291.                 ld      c, 8
  6292.  
  6293.  
  6294. loc_A121:                               ; CODE XREF: SCROLL_UP+2C
  6295.                 push    hl
  6296.                 push    de
  6297.                 ld      b, #20 ; ' '
  6298.  
  6299.  
  6300. loc_A125:                               ; CODE XREF: SCROLL_UP+25
  6301.                 ld      a, (de)
  6302.                 ld      (hl), a
  6303.                 inc     hl
  6304.                 inc     de
  6305.                 djnz    loc_A125
  6306.  
  6307.                 pop     de
  6308.                 pop     hl
  6309.                 inc     h
  6310.                 inc     d
  6311.                 dec     c
  6312.                 jr      nz, loc_A121
  6313.  
  6314.                 pop     hl
  6315.                 ex      af, af' ;'
  6316.                 dec     a
  6317.                 jr      z, loc_A13A
  6318.  
  6319.                 ex      af, af' ;'
  6320.                 jr      loc_A114
  6321.  
  6322. ; ---------------------------------------------------------------------------
  6323.  
  6324. loc_A13A:                               ; CODE XREF: SCROLL_UP+31
  6325.                 ld      c, 8
  6326.  
  6327.  
  6328. loc_A13C:                               ; CODE XREF: SCROLL_UP+43
  6329.                 push    hl
  6330.                 ld      b, #20 ; ' '
  6331.                 xor     a
  6332.  
  6333.  
  6334. loc_A140:                               ; CODE XREF: SCROLL_UP+3E
  6335.                 ld      (hl), a
  6336.                 inc     hl
  6337.                 djnz    loc_A140
  6338.  
  6339.                 pop     hl
  6340.                 inc     h
  6341.                 dec     c
  6342.                 jr      nz, loc_A13C
  6343.  
  6344.                 ld      a, 5
  6345.                 ld      (byte_D0C0), a
  6346.                 ei
  6347.                 ret
  6348.  
  6349. ; End of function SCROLL_UP
  6350.  
  6351.  
  6352. ; =============== S U B R O U T I N E =======================================
  6353.  
  6354.  
  6355. sub_A150:                               ; CODE XREF: sub_8C20-676
  6356.                                         ; sub_9018+4B
  6357.                 call    sub_A164
  6358.  
  6359.                 ld      a, (byte_D0B3) ;d3=swap board
  6360.                 jr      c, loc_A15E
  6361.  
  6362.                 and     8
  6363.                 jr      nz, loc_A162
  6364.  
  6365.  
  6366. loc_A15C:                               ; CODE XREF: sub_A150+10
  6367.                 or      a
  6368.                 ret
  6369.  
  6370. ; ---------------------------------------------------------------------------
  6371.  
  6372. loc_A15E:                               ; CODE XREF: sub_A150+6
  6373.                 and     8
  6374.                 jr      nz, loc_A15C
  6375.  
  6376.  
  6377. loc_A162:                               ; CODE XREF: sub_A150+A
  6378.                 scf
  6379.                 ret
  6380.  
  6381. ; End of function sub_A150
  6382.  
  6383.  
  6384. ; =============== S U B R O U T I N E =======================================
  6385.  
  6386.  
  6387. sub_A164:                               ; CODE XREF: sub_9018+12 sub_954C ...
  6388.                 ld      a, (byte_D0BF)
  6389.                 rra
  6390.                 ld      a, (byte_D0B4)
  6391.                 bit     5, a
  6392.                 jr      c, loc_A173
  6393.  
  6394.                 jr      nz, loc_A175
  6395.  
  6396.  
  6397. loc_A171:                               ; CODE XREF: sub_A164:loc_A173
  6398.                 or      a
  6399.                 ret
  6400.  
  6401. ; ---------------------------------------------------------------------------
  6402.  
  6403. loc_A173:                               ; CODE XREF: sub_A164+9
  6404.                 jr      nz, loc_A171
  6405.  
  6406.  
  6407. loc_A175:                               ; CODE XREF: sub_A164+B
  6408.                 scf
  6409.                 ret
  6410.  
  6411. ; End of function sub_A164
  6412.  
  6413.  
  6414. ; =============== S U B R O U T I N E =======================================
  6415.  
  6416.  
  6417. sub_A177:                               ; CODE XREF: sub_90E8+254
  6418.                                         ; sub_9F0D+20
  6419.  
  6420. ; FUNCTION CHUNK AT A1F1 SIZE 00000037 BYTES
  6421.  
  6422.                 call    SHOW_LOGO
  6423.  
  6424.                 ld      hl, #B00
  6425.                 ld      (scr_XY), hl
  6426.                 ld      hl, aPress      ; " PRESS"
  6427.                 call    loc_9E65
  6428.  
  6429.                 ld      hl, SCR_ATTRS
  6430.                 ld      a, (SEL_SCRorBUF)
  6431.                 or      a
  6432.                 jr      z, loc_A193
  6433.  
  6434.                 ld      de, #2400
  6435.                 add     hl, de
  6436.  
  6437.  
  6438. loc_A193:                               ; CODE XREF: sub_A177+16
  6439.                 ld      e, 1
  6440.                 call    sub_A24B
  6441.  
  6442.                 ld      hl,  SCR_ATTRS+#100
  6443.                 ld      a, (SEL_SCRorBUF)
  6444.                 or      a
  6445.                 jr      z, loc_A1A5
  6446.  
  6447.                 ld      de, #2400
  6448.                 add     hl, de
  6449.  
  6450.  
  6451. loc_A1A5:                               ; CODE XREF: sub_A177+28
  6452.                 ld      a, (byte_D0B3) ;d3=swap board
  6453.                 ld      e, 0
  6454.                 and     8
  6455.                 jr      z, loc_A1B0
  6456.  
  6457.                 ld      e, 7
  6458.  
  6459.  
  6460. loc_A1B0:                               ; CODE XREF: sub_A177+35
  6461.                 call    sub_A24B
  6462.  
  6463.                 ld      hl,  SCR_ATTRS+#200
  6464.                 ld      a, (SEL_SCRorBUF)
  6465.                 or      a
  6466.                 jr      z, loc_A1C0
  6467.  
  6468.                 ld      de, #2400
  6469.                 add     hl, de
  6470.  
  6471.  
  6472. loc_A1C0:                               ; CODE XREF: sub_A177+43
  6473.                 ld      a, (byte_D0B3) ;d3=swap board
  6474.                 ld      e, 7
  6475.                 and     8
  6476.                 jr      z, loc_A1CB
  6477.  
  6478.                 ld      e, 0
  6479.  
  6480.  
  6481. loc_A1CB:                               ; CODE XREF: sub_A177+50
  6482.                 call    sub_A24B
  6483.  
  6484.                 ld      hl, #800
  6485.                 ld      b, 3
  6486.                 call    sub_A1E0
  6487.  
  6488.                 ld      hl, #1000
  6489.                 ld      b, 3
  6490.                 call    sub_A1E0
  6491.  
  6492.                 jr      loc_A1F1
  6493.  
  6494. ; End of function sub_A177
  6495.  
  6496.  
  6497. ; =============== S U B R O U T I N E =======================================
  6498.  
  6499.  
  6500. sub_A1E0:                               ; CODE XREF: sub_A177+5C sub_A177+64 ...
  6501.                 push    bc
  6502.                 push    hl
  6503.                 ld      (scr_XY), hl
  6504.                 ld      hl, a_8spaces   ; "       "
  6505.                 call    loc_9E65
  6506.  
  6507.                 pop     hl
  6508.                 inc     h
  6509.                 pop     bc
  6510.                 djnz    sub_A1E0
  6511.  
  6512.                 ret
  6513.  
  6514. ; End of function sub_A1E0
  6515.  
  6516. ; ---------------------------------------------------------------------------
  6517. ; START OF FUNCTION CHUNK FOR sub_A177
  6518.  
  6519. loc_A1F1:                               ; CODE XREF: sub_A177+67
  6520.                 call    sub_A228
  6521.  
  6522.                 ld      hl, #801
  6523.                 ld      (scr_XY), hl
  6524.                 call    sub_9F8B
  6525.  
  6526.                 ld      hl, aCyrus      ; "CYRUS"
  6527.                 bit     1, b
  6528.                 jr      nz, loc_A207
  6529.  
  6530.                 ld      hl, a_PLAYER    ; "PLAYE"
  6531.  
  6532.  
  6533. loc_A207:                               ; CODE XREF: sub_A177+8B
  6534.                 ld      de, aCyrus      ; "CYRUS"
  6535.                 bit     0, b
  6536.                 jr      nz, loc_A211
  6537.  
  6538.                 ld      de, a_PLAYER    ; "PLAYE"
  6539.  
  6540.  
  6541. loc_A211:                               ; CODE XREF: sub_A177+95
  6542.                 ld      a, (byte_D0B3) ;d3=swap board
  6543.                 and     8
  6544.                 jr      nz, loc_A219
  6545.  
  6546.                 ex      de, hl
  6547.  
  6548.  
  6549. loc_A219:                               ; CODE XREF: sub_A177+9F
  6550.                 push    de
  6551.                 call    loc_9E65
  6552.  
  6553.                 ld      hl, #1001
  6554.                 ld      (scr_XY), hl
  6555.                 pop     hl
  6556.                 call    loc_9E65
  6557.  
  6558.                 ret
  6559.  
  6560. ; END OF FUNCTION CHUNK FOR sub_A177
  6561.  
  6562. ; =============== S U B R O U T I N E =======================================
  6563.  
  6564.  
  6565. sub_A228:                               ; CODE XREF: INIT_PRINT_CLOCKS+2E
  6566.                                         ; sub_A177:loc_A1F1
  6567.                 ld      hl, #900
  6568.                 ld      (scr_XY), hl
  6569.                 ld      hl,  CLK_2+1
  6570.                 ld      de,  CLK_1+1
  6571.                 ld      a, (byte_D0B3) ;d3=swap board
  6572.                 and     8
  6573.                 jr      z, loc_A23C
  6574.  
  6575.                 ex      de, hl
  6576.  
  6577.  
  6578. loc_A23C:                               ; CODE XREF: sub_A228+11
  6579.                 push    de
  6580.                 call    loc_9E65
  6581.  
  6582.                 ld      hl, #1100
  6583.                 ld      (scr_XY), hl
  6584.                 pop     hl
  6585.                 call    loc_9E65
  6586.  
  6587.                 ret
  6588.  
  6589. ; End of function sub_A228
  6590.  
  6591.  
  6592. ; =============== S U B R O U T I N E =======================================
  6593.  
  6594.  
  6595. sub_A24B:                               ; CODE XREF: sub_A177+1E
  6596.                                         ; sub_A177:loc_A1B0 ...
  6597.                 ld      b, 3
  6598.  
  6599.  
  6600. loc_A24D:                               ; CODE XREF: sub_A24B:loc_A25F
  6601.                 ld      c, 8
  6602.  
  6603.  
  6604. loc_A24F:                               ; CODE XREF: sub_A24B+B
  6605.                 ld      a, (hl)
  6606.                 and     #F8 ; '°'
  6607.                 or      e
  6608.                 ld      (hl), a
  6609.                 inc     hl
  6610.                 dec     c
  6611.                 jr      nz, loc_A24F
  6612.  
  6613.                 ld      a, #18
  6614.                 add     a, l
  6615.                 ld      l, a
  6616.                 jr      nc, loc_A25F
  6617.  
  6618.                 inc     h
  6619.  
  6620.  
  6621. loc_A25F:                               ; CODE XREF: sub_A24B+11
  6622.                 djnz    loc_A24D
  6623.  
  6624.                 ret
  6625.  
  6626. ; End of function sub_A24B
  6627.  
  6628.  
  6629. ; =============== S U B R O U T I N E =======================================
  6630.  
  6631.  
  6632. sub_A262:                               ; CODE XREF: sub_8C20:loc_80CE
  6633.                                         ; sub_87CD
  6634.                 ld      a, #20 ; ' '
  6635.                 ld      b, 8
  6636.                 ld      hl, unk_637C
  6637.  
  6638.  
  6639. loc_A269:                               ; CODE XREF: sub_A262+9
  6640.                 inc     hl
  6641.                 ld      (hl), a
  6642.                 djnz    loc_A269
  6643.  
  6644.                 set     7, (hl)
  6645.                 ret
  6646.  
  6647. ; End of function sub_A262
  6648.  
  6649.  
  6650. ; =============== S U B R O U T I N E =======================================
  6651.  
  6652.  
  6653. PRT_DETECT:                             ; CODE XREF: START_POINT+8A
  6654.                 xor     a
  6655.                 ld      (byte_D0E1), a
  6656.                 ld      hl, PRTD_no_serial
  6657.                 push    hl
  6658.                 ld      (bas_ERRSP), sp
  6659.  
  6660.                 ;rst    8               ; somehow jumps to pushed address (loc_A28E)
  6661.                 ;db     #31
  6662.                  call PRTD_no_serial
  6663.  
  6664.                 ld      hl, #C
  6665.                 ld      (word_5CC3), hl
  6666.                 ld      a, #39 ; '9'
  6667.                 ld      (baudrate_NUM), a
  6668.                 pop     af
  6669.                 ld      a, 4            ; serial printer bit
  6670.                  ret ;jr        loc_A28F
  6671.  
  6672. ; ---------------------------------------------------------------------------
  6673.  
  6674. PRTD_no_serial:                         ; DATA XREF: PRT_DETECT+4
  6675.                 xor     a
  6676.  
  6677. loc_A28F:                               ; CODE XREF: PRT_DETECT+1C
  6678.                 ld      hl, CFG_BITS
  6679.                 ld      (hl), a
  6680.                 ld      b, 0
  6681.  
  6682. PRTD_detect_zxprt:                      ; CODE XREF: PRT_DETECT+2A
  6683.                 ld a,0xff;in    a, (#FB)
  6684.                 and     #40 ; '@'       ; D6=0 -- zx printer is present
  6685.                 ret     nz
  6686.                 djnz    PRTD_detect_zxprt
  6687.  
  6688.                 set     3, (hl)         ; zx printer bit
  6689.                 ret
  6690.  
  6691. ; End of function PRT_DETECT
  6692.  
  6693. ; ---------------------------------------------------------------------------
  6694. ; START OF FUNCTION CHUNK FOR sub_8C20
  6695.  
  6696. loc_A29F:                               ; CODE XREF: sub_8C20-863
  6697.                                         ; sub_8C20+16FA ...
  6698.                 call    sub_9571
  6699.  
  6700.                 ld      a, #FF
  6701.                 ld      (NEED_SCR2BUF), a
  6702.                 ld      a, (SEL_SCRorBUF)
  6703.                 or      a
  6704.                 call    z, sub_95C5
  6705.  
  6706.                 ld      a, (CFG_BITS)
  6707.                 and     #C
  6708.                 jp      z, loc_82EB
  6709.  
  6710.                 ld      de, #1000
  6711.                 ld      hl, aZZxPrinterPSer ; " Z-ZX PRINTER    P-SERIAL"
  6712.                 call    sub_9F42
  6713.  
  6714.                 ld      a, (CFG_BITS)
  6715.                 ld      c, a
  6716.                 ld      hl, #1000
  6717.                 bit     0, c
  6718.                 call    sub_A3C3
  6719.  
  6720.                 ld      l, #10
  6721.                 bit     1, c
  6722.                 call    sub_A3C3
  6723.  
  6724.                 ld      hl, #1200
  6725.                 bit     4, c
  6726.                 call    sub_A3C3
  6727.  
  6728.  
  6729. loc_A2DA:                               ; CODE XREF: sub_8C20+16E9
  6730.                                         ; sub_8C20+16F5 ...
  6731.                 call    sub_907E
  6732.  
  6733.                 jp      c, loc_82EB
  6734.  
  6735.                 res     5, a
  6736.                 ld      hl, CFG_BITS
  6737.                 cp      #5A ; 'Z'
  6738.                 jp      z, loc_A318
  6739.  
  6740.                 cp      #50 ; 'P'
  6741.                 jp      z, loc_A325
  6742.  
  6743.                 cp      #4F ; 'O'
  6744.                 jp      z, loc_A35A
  6745.  
  6746.                 cp      #47 ; 'G'
  6747.                 jp      z, loc_A33C
  6748.  
  6749.                 cp      #42 ; 'B'
  6750.                 jp      z, loc_A306
  6751.  
  6752.                 cp      #43 ; 'C'
  6753.                 jp      z, loc_A34D
  6754.  
  6755.                 jp      loc_82EB
  6756.  
  6757. ; ---------------------------------------------------------------------------
  6758.  
  6759. loc_A306:                               ; CODE XREF: sub_8C20+16DB
  6760.                 ld      a, (hl)
  6761.                 and     3
  6762.                 jr      z, loc_A2DA
  6763.  
  6764.                 set     5, (hl)
  6765.                 call    sub_94C9
  6766.  
  6767.                 ld      hl, CFG_BITS
  6768.                 res     5, (hl)
  6769.                 jp      loc_A2DA
  6770.  
  6771. ; ---------------------------------------------------------------------------
  6772.  
  6773. loc_A318:                               ; CODE XREF: sub_8C20+16C7
  6774.                 bit     3, (hl)
  6775.                 jp      z, loc_A29F
  6776.  
  6777.                 ld      a, (hl)
  6778.                 and     #FD ; '¤'
  6779.                 xor     1
  6780.                 ld      (hl), a
  6781.                 jr      loc_A330
  6782.  
  6783. ; ---------------------------------------------------------------------------
  6784.  
  6785. loc_A325:                               ; CODE XREF: sub_8C20+16CC
  6786.                 bit     2, (hl)
  6787.                 jp      z, loc_A29F
  6788.  
  6789.                 ld      a, (hl)
  6790.                 and     #FE ; '■'
  6791.                 xor     2
  6792.                 ld      (hl), a
  6793.  
  6794.  
  6795. loc_A330:                               ; CODE XREF: sub_8C20+1703
  6796.                 and     3
  6797.                 jp      nz, loc_A29F
  6798.  
  6799.                 ld      a, (hl)
  6800.                 and     #CF ; '╧'
  6801.                 ld      (hl), a
  6802.                 jp      loc_A29F
  6803.  
  6804. ; ---------------------------------------------------------------------------
  6805.  
  6806. loc_A33C:                               ; CODE XREF: sub_8C20+16D6
  6807.                 ld      a, (hl)
  6808.                 and     3
  6809.                 jr      z, loc_A2DA
  6810.  
  6811.                 set     5, (hl)
  6812.                 ld      hl, (word_D0F7)
  6813.                 inc     hl
  6814.                 ld      (word_D0F7), hl
  6815.                 jp      loc_8A32
  6816.  
  6817. ; ---------------------------------------------------------------------------
  6818.  
  6819. loc_A34D:                               ; CODE XREF: sub_8C20+16E0
  6820.                 ld      a, (hl)
  6821.                 and     3
  6822.                 jp      z, loc_A29F
  6823.  
  6824.                 ld      a, (hl)
  6825.                 xor     #10
  6826.                 ld      (hl), a
  6827.                 jp      loc_A29F
  6828.  
  6829. ; ---------------------------------------------------------------------------
  6830.  
  6831. loc_A35A:                               ; CODE XREF: sub_8C20+16D1
  6832.                                         ; sub_8C20+1777 ...
  6833.                 ld      hl, aSelectBaudRate ; "SELECT BAUD RATE:-"
  6834.                 ld      de, #1000
  6835.                 call    sub_9F42
  6836.  
  6837.                 ld      a, (CFG_BITS)
  6838.                 ld      hl,#140B
  6839.                 and     #40 ; '@'
  6840.                 call    sub_A3C3
  6841.  
  6842.                 ld      hl, #1014
  6843.                 ld      (scr_XY), hl
  6844.                 ld      a, (baudrate_NUM)
  6845.                 call    PRINT_LETTER
  6846.  
  6847.                 call    sub_907E
  6848.  
  6849.                 jp      c, loc_A29F
  6850.  
  6851.                 cp      #31 ; '1'
  6852.                 jp      c, loc_A29F
  6853.  
  6854.                 cp      #3A ; ':'
  6855.                 jr      c, loc_A399
  6856.  
  6857.                 res     5, a
  6858.                 cp      #43 ; 'C'
  6859.                 jp      nz, loc_A29F
  6860.  
  6861.                 ld      hl, CFG_BITS
  6862.                 ld      a, (hl)
  6863.                 xor     #40 ; '@'
  6864.                 ld      (hl), a
  6865.                 jr      loc_A35A
  6866.  
  6867. ; ---------------------------------------------------------------------------
  6868.  
  6869. loc_A399:                               ; CODE XREF: sub_8C20+1767
  6870.                 ld      (baudrate_NUM), a
  6871.                 sub     #31 ; '1'
  6872.                 add     a, a
  6873.                 ld      hl, baud_rates
  6874.                 add     a, l
  6875.                 ld      l, a
  6876.                 jr      nc, loc_A3A7
  6877.  
  6878.                 inc     h
  6879.  
  6880.  
  6881. loc_A3A7:                               ; CODE XREF: sub_8C20+1784
  6882.                 ld      e, (hl)
  6883.                 inc     hl
  6884.                 ld      d, (hl)
  6885.                 ld      (word_5CC3), de
  6886.                 jp      loc_A35A
  6887.  
  6888. ; END OF FUNCTION CHUNK FOR sub_8C20
  6889. ; ---------------------------------------------------------------------------
  6890. baud_rates:     dw #A82         ; DATA XREF: sub_8C20+177F
  6891.                 dw #4C5
  6892.                 dw #1BE
  6893.                 dw #DE
  6894.                 dw #6E
  6895.                 dw #36
  6896.                 dw #1A
  6897.                 dw #C
  6898.                 dw 5
  6899.  
  6900. ; =============== S U B R O U T I N E =======================================
  6901.  
  6902.  
  6903. sub_A3C3:                               ; CODE XREF: sub_8C20+16A8
  6904.                                         ; sub_8C20+16AF ...
  6905.                 ld      (scr_XY), hl
  6906.                 ld      a, #20 ; ' '
  6907.                 jr      z, loc_A3CC
  6908.  
  6909.                 ld      a, #2A ; '*'
  6910.  
  6911.  
  6912. loc_A3CC:                               ; CODE XREF: sub_A3C3+5
  6913.                 call    PRINT_LETTER
  6914.  
  6915.                 ret
  6916.  
  6917. ; End of function sub_A3C3
  6918.  
  6919.  
  6920. ; =============== S U B R O U T I N E =======================================
  6921.  
  6922.  
  6923. sub_A3D0:                               ; CODE XREF: sub_9FB2+3F
  6924.                 call    sub_A4C2
  6925.  
  6926.                 ret     nc
  6927.                 ld      c, 6
  6928.                 call    sub_A164
  6929.  
  6930.                 jr      c, loc_A3E0
  6931.  
  6932.                 ld      c, #10
  6933.                 jp      loc_A437
  6934.  
  6935. ; ---------------------------------------------------------------------------
  6936.  
  6937. loc_A3E0:                               ; CODE XREF: sub_A3D0+9
  6938.                 ld      a, (byte_D049)
  6939.                 ld      b, a
  6940.                 ld      a, (byte_D0B4)
  6941.                 bit     5, a
  6942.                 jr      z, loc_A3F2
  6943.  
  6944.                 ld      a, (byte_D0BF)
  6945.                 rra
  6946.                 jr      nc, loc_A3F2
  6947.  
  6948.                 dec     b
  6949.  
  6950.  
  6951. loc_A3F2:                               ; CODE XREF: sub_A3D0+19 sub_A3D0+1F
  6952.                 push    bc
  6953.                 ld      a, b
  6954.                 ld      bc, #3000
  6955.  
  6956.  
  6957. loc_A3F7:                               ; CODE XREF: sub_A3D0+2F
  6958.                 cp      #64 ; 'd'
  6959.                 jr      c, loc_A401
  6960.  
  6961.                 inc     b
  6962.                 inc     c
  6963.                 sub     #64 ; 'd'
  6964.                 jr      loc_A3F7
  6965.  
  6966. ; ---------------------------------------------------------------------------
  6967.  
  6968. loc_A401:                               ; CODE XREF: sub_A3D0+29
  6969.                 ex      af, af' ;'
  6970.                 ld      a, b
  6971.                 cp      #30 ; '0'
  6972.                 jr      nz, loc_A40F
  6973.  
  6974.                 ld      a, c
  6975.                 or      a
  6976.                 ld      a, #30 ; '0'
  6977.                 jr      nz, loc_A40F
  6978.  
  6979.                 ld      a, #20 ; ' '
  6980.  
  6981.  
  6982. loc_A40F:                               ; CODE XREF: sub_A3D0+35 sub_A3D0+3B
  6983.                 call    loc_A476
  6984.  
  6985.                 ex      af, af' ;'
  6986.                 ld      b, #30 ; '0'
  6987.  
  6988.  
  6989. loc_A415:                               ; CODE XREF: sub_A3D0+4D
  6990.                 cp      #A
  6991.                 jr      c, loc_A41F
  6992.  
  6993.                 inc     b
  6994.                 inc     c
  6995.                 sub     #A
  6996.                 jr      loc_A415
  6997.  
  6998. ; ---------------------------------------------------------------------------
  6999.  
  7000. loc_A41F:                               ; CODE XREF: sub_A3D0+47
  7001.                 ex      af, af' ;'
  7002.                 ld      a, b
  7003.                 cp      #30 ; '0'
  7004.                 jr      nz, loc_A42D
  7005.  
  7006.                 ld      a, c
  7007.                 or      a
  7008.                 ld      a, #30 ; '0'
  7009.                 jr      nz, loc_A42D
  7010.  
  7011.                 ld      a, #20 ; ' '
  7012.  
  7013.  
  7014. loc_A42D:                               ; CODE XREF: sub_A3D0+53 sub_A3D0+59
  7015.                 call    loc_A476
  7016.  
  7017.                 ex      af, af' ;'
  7018.                 add     a, #30 ; '0'
  7019.                 call    loc_A476
  7020.  
  7021.                 pop     bc
  7022.  
  7023.  
  7024. loc_A437:                               ; CODE XREF: sub_A3D0+D
  7025.                 call    sub_A454
  7026.  
  7027.                 jr      sub_A43C
  7028.  
  7029. ; End of function sub_A3D0
  7030.  
  7031.  
  7032. ; =============== S U B R O U T I N E =======================================
  7033.  
  7034.  
  7035. sub_A43C:                               ; CODE XREF: sub_8C20-B48
  7036.                                         ; sub_8C20-B3A ...
  7037.                 ld      a, #D
  7038.                 call    loc_A476
  7039.  
  7040.                 xor     a
  7041.                 ld      (byte_D0E1), a
  7042.                 ld      a, (CFG_BITS)
  7043.                 bit     6, a
  7044.                 ret     z
  7045.                 bit     0, a
  7046.                 ld      a, #A
  7047.                 ret     nz
  7048.                 call    loc_A476
  7049.  
  7050.                 ret
  7051.  
  7052. ; End of function sub_A43C
  7053.  
  7054.  
  7055. ; =============== S U B R O U T I N E =======================================
  7056.  
  7057.  
  7058. sub_A454:                               ; CODE XREF: sub_A3D0:loc_A437
  7059.                 call    sub_A466
  7060.  
  7061.                 ld      hl, buf_10bytes
  7062.  
  7063. ; End of function sub_A454
  7064.  
  7065.  
  7066. ; =============== S U B R O U T I N E =======================================
  7067.  
  7068.  
  7069. sub_A45A:                               ; CODE XREF: sub_8C20-72 sub_A45A+9
  7070.                 ld      a, (hl)
  7071.                 and     #7F ; ''
  7072.                 call    loc_A476
  7073.  
  7074.                 bit     7, (hl)
  7075.                 inc     hl
  7076.                 jr      z, sub_A45A
  7077.  
  7078.                 ret
  7079.  
  7080. ; End of function sub_A45A
  7081.  
  7082.  
  7083. ; =============== S U B R O U T I N E =======================================
  7084.  
  7085.  
  7086. sub_A466:                               ; CODE XREF: sub_A454
  7087.                 call    sub_A4C2
  7088.  
  7089.                 ret     nc
  7090.  
  7091.  
  7092. loc_A46A:                               ; CODE XREF: sub_A466+E
  7093.                 ld      a, (byte_D0E1)
  7094.                 cp      c
  7095.                 ret     z
  7096.                 ld      a, #20 ; ' '
  7097.                 call    loc_A476
  7098.  
  7099.                 jr      loc_A46A
  7100.  
  7101. ; End of function sub_A466
  7102.  
  7103. ; ---------------------------------------------------------------------------
  7104.  
  7105. loc_A476:                               ; CODE XREF: sub_8C20-B40
  7106.                                         ; sub_94C9+21   ...
  7107.                 call    sub_A4C2
  7108.  
  7109.                 ret     nc
  7110.                 push    bc
  7111.                 push    de
  7112.                 push    hl
  7113.                 ld      hl, byte_D0E1
  7114.                 inc     (hl)
  7115.                 exx
  7116.                 push    bc
  7117.                 push    de
  7118.                 push    hl
  7119.                 push    ix
  7120.                 push    iy
  7121.                 ex      af, af' ;'
  7122.                 push    af
  7123.                 ex      af, af' ;'
  7124.                 ld      hl, loc_A4A7
  7125.                 push    hl
  7126.                 ld      (bas_ERRSP), sp
  7127.                 ld      iy, #5C3A
  7128.                 ld      hl, CFG_BITS
  7129.                 bit     0, (hl)
  7130.                 ;jr     nz, loc_A4A3
  7131.  
  7132.                 ;rst    8 ;to printer?
  7133.                 ;db     #1E,#18,#01
  7134.                 ds 4
  7135.  
  7136. loc_A4A3:                               ; CODE XREF: RAM:A49D
  7137.                 call rst10 ;rst #10 ;to screen
  7138.  
  7139.                 pop     hl
  7140.                 jr      loc_A4B1
  7141.  
  7142. ; ---------------------------------------------------------------------------
  7143.  
  7144. loc_A4A7:                               ; DATA XREF: RAM:A48C
  7145.                 ld      a, (CFG_BITS)
  7146.                 res     4, a
  7147.                 res     5, a
  7148.                 ld      (CFG_BITS), a
  7149.  
  7150.  
  7151. loc_A4B1:                               ; CODE XREF: RAM:A4A5
  7152.                 call    SET_BRD_COLOR
  7153.  
  7154.                 pop     af
  7155.                 ex      af, af' ;'
  7156.                 pop     iy
  7157.                 pop     ix
  7158.                 pop     hl
  7159.                 pop     de
  7160.                 pop     bc
  7161.                 exx
  7162.                 pop     hl
  7163.                 pop     de
  7164.                 pop     bc
  7165.                 ret
  7166.  
  7167.  
  7168. ; =============== S U B R O U T I N E =======================================
  7169.  
  7170.  
  7171. sub_A4C2:                               ; CODE XREF: sub_A3D0   sub_A466 ...
  7172.                 push    af
  7173.                 push    de
  7174.                 push    hl
  7175.                 ld      a, (CFG_BITS)
  7176.                 and     #30 ; '0'
  7177.                 jr      z, loc_A4EA
  7178.  
  7179.                 ld      a, (byte_D0B4)
  7180.                 bit     5, a
  7181.                 jr      nz, loc_A4EF
  7182.  
  7183.                 ld      hl, (word_D09F)
  7184.                 ld      a, h
  7185.                 or      l
  7186.                 jr      z, loc_A4EF
  7187.  
  7188.                 ld      de, (word_D0F7)
  7189.                 or      a
  7190.                 sbc     hl, de
  7191.                 jr      z, loc_A4EF
  7192.  
  7193.                 ld      a, (CFG_BITS)
  7194.                 bit     5, a
  7195.                 jr      nz, loc_A4EF
  7196.  
  7197.  
  7198. loc_A4EA:                               ; CODE XREF: sub_A4C2+8
  7199.                 pop     hl
  7200.                 pop     de
  7201.                 pop     af
  7202.                 or      a
  7203.                 ret
  7204.  
  7205. ; ---------------------------------------------------------------------------
  7206.  
  7207. loc_A4EF:                               ; CODE XREF: sub_A4C2+F sub_A4C2+16     ...
  7208.                 pop     hl
  7209.                 pop     de
  7210.                 pop     af
  7211.                 scf
  7212.                 ret
  7213.  
  7214. ; End of function sub_A4C2
  7215.  
  7216. ; ---------------------------------------------------------------------------
  7217. ; START OF FUNCTION CHUNK FOR sub_8C20
  7218.  
  7219. loc_A4F4:                               ; CODE XREF: sub_8C20-868
  7220.                 call    sub_9571
  7221.  
  7222.                 ld      a, #FF
  7223.                 ld      (NEED_SCR2BUF), a
  7224.                 ld      a, (SEL_SCRorBUF)
  7225.                 or      a
  7226.                 call    z, sub_95C5
  7227.  
  7228.                 ld      de, #1000
  7229.                 ld      hl, aSSaveRecordLLo ; "S- Save record   L- Load record"
  7230.                 call    sub_9F42
  7231.  
  7232.                 ld      hl, loc_A671
  7233.                 push    hl
  7234.                 ld      (bas_ERRSP), sp
  7235.                 call    sub_907E
  7236.  
  7237.                 jr      c, loc_A525
  7238.  
  7239.                 and     #5F ; '_'
  7240.                 cp      #4C ; 'L'
  7241.                 jp      z, loc_A5D9
  7242.  
  7243.                 cp      #53 ; 'S'
  7244.                 jp      z, loc_A596
  7245.  
  7246.  
  7247. loc_A525:                               ; CODE XREF: sub_8C20+18F7
  7248.                 pop     hl
  7249.                 jp      loc_82EB
  7250.  
  7251. ; END OF FUNCTION CHUNK FOR sub_8C20
  7252.  
  7253. ; =============== S U B R O U T I N E =======================================
  7254.  
  7255.  
  7256. SAVE_RECORD:                            ; CODE XREF: sub_8C20+197F
  7257.                                         ; sub_8C20:fool_name
  7258.                 ld      a, #FF
  7259.                 ld      (SEL_SCRorBUF), a
  7260.                 ld      hl, #1305
  7261.                 ld      (scr_XY), hl
  7262.                 ld      hl,  TAPE_header+#10
  7263.                 ld      b, #10
  7264.  
  7265.  
  7266. loc_A539:                               ; CODE XREF: SAVE_RECORD+13
  7267.                 ld      (hl), #20 ; ' '
  7268.                 dec     hl
  7269.                 djnz    loc_A539
  7270.  
  7271.                 ld      (hl), 9
  7272.  
  7273.  
  7274. loc_A540:                               ; CODE XREF: SAVE_RECORD+28
  7275.                                         ; SAVE_RECORD+42 ...
  7276.                 call    sub_907E
  7277.  
  7278.                 ret     c
  7279.                 cp      #D
  7280.                 jr      z, loc_A56E
  7281.  
  7282.                 cp      #C
  7283.                 jr      nz, loc_A57B
  7284.  
  7285.                 ld      a, (scr_XY)
  7286.                 sub     5
  7287.                 jr      z, loc_A540
  7288.  
  7289.                 ld      hl,  TAPE_header+1
  7290.                 add     a, l
  7291.                 ld      l, a
  7292.                 jr      nc, loc_A55B
  7293.  
  7294.                 inc     h
  7295.  
  7296.  
  7297. loc_A55B:                               ; CODE XREF: SAVE_RECORD+2F
  7298.                 dec     hl
  7299.                 ld      (hl), #20 ; ' '
  7300.                 ld      hl, scr_XY
  7301.                 dec     (hl)
  7302.                 ld      a, #20 ; ' '
  7303.                 call    PRINT_LETTER
  7304.  
  7305.                 ld      hl, scr_XY
  7306.                 dec     (hl)
  7307.                 jp      loc_A540
  7308.  
  7309. ; ---------------------------------------------------------------------------
  7310.  
  7311. loc_A56E:                               ; CODE XREF: SAVE_RECORD+1D
  7312.                 ld      a, (scr_XY)
  7313.                 cp      5
  7314.                 ret     nz
  7315.                 ld      hl,  TAPE_header+1
  7316.                 ld      (hl), #FF
  7317.                 or      a
  7318.                 ret
  7319.  
  7320. ; ---------------------------------------------------------------------------
  7321.  
  7322. loc_A57B:                               ; CODE XREF: SAVE_RECORD+21
  7323.                 ld      e, a
  7324.                 ld      a, (scr_XY)
  7325.                 cp      #F
  7326.                 jp      nc, loc_A540
  7327.  
  7328.                 ld      hl,  TAPE_header+1
  7329.                 sub     5
  7330.                 add     a, l
  7331.                 ld      l, a
  7332.                 jr      nc, loc_A58E
  7333.  
  7334.                 inc     h
  7335.  
  7336.  
  7337. loc_A58E:                               ; CODE XREF: SAVE_RECORD+62
  7338.                 ld      (hl), e
  7339.                 ld      a, e
  7340.                 call    PRINT_LETTER
  7341.  
  7342.                 jp      loc_A540
  7343.  
  7344. ; End of function SAVE_RECORD
  7345.  
  7346. ; ---------------------------------------------------------------------------
  7347. ; START OF FUNCTION CHUNK FOR sub_8C20
  7348.  
  7349. loc_A596:                               ; CODE XREF: sub_8C20+1902
  7350.                 ld      de, #1000
  7351.                 ld      hl, aSaveTheGameRec ; "      SAVE THE GAME RECORD"
  7352.                 call    sub_9F42
  7353.  
  7354.                 call    SAVE_RECORD
  7355.  
  7356.                 jr      c, loc_A5D2
  7357.  
  7358.                 ld      hl, #1500
  7359.                 ld      (scr_XY), hl
  7360.                 ld      hl, aStartTapeAndPr ; "  START TAPE AND PRESS ANY KE"
  7361.                 call    PRINT_STR_FF
  7362.  
  7363.                 call    sub_907E
  7364.  
  7365.                 jr      c, loc_A5D2
  7366.  
  7367.                 ld      ix, TAPE_header
  7368.                 ld      de, #11
  7369.                 xor     a
  7370.                 call    ROM_START+#4C2
  7371.  
  7372.                 ld      a, #32 ; '2'
  7373.  
  7374.  
  7375. loc_A5C2:                               ; CODE XREF: sub_8C20+19A4
  7376.                 halt
  7377.                 dec     a
  7378.                 jr      nz, loc_A5C2
  7379.  
  7380.                 ld      ix, BRD_88_0
  7381.                 ld      de, #3FF
  7382.                 ld      a, #FF
  7383.                 call    ROM_START+#4C2
  7384.  
  7385.  
  7386. loc_A5D2:                               ; CODE XREF: sub_8C20+1982
  7387.                                         ; sub_8C20+1993 ...
  7388.                 pop     hl
  7389.                 call    SET_BRD_COLOR
  7390.  
  7391.                 jp      loc_82EB
  7392.  
  7393. ; ---------------------------------------------------------------------------
  7394.  
  7395. loc_A5D9:                               ; CODE XREF: sub_8C20+18FD
  7396.                 ld      de, #1000
  7397.                 ld      hl, aLoadAGameRecor ; "      LOAD A GAME RECORD"
  7398.                 call    sub_9F42
  7399.  
  7400.  
  7401. fool_name:
  7402.                 call    SAVE_RECORD
  7403.  
  7404.                 jr      c, loc_A5D2
  7405.  
  7406.                 ld      hl, #1500
  7407.                 ld      (scr_XY), hl
  7408.                 ld      hl, #9D53
  7409.                 call    PRINT_STR_FF
  7410.  
  7411.                 call    sub_907E
  7412.  
  7413.                 jr      c, loc_A5D2
  7414.  
  7415.  
  7416. loc_A5F8:                               ; CODE XREF: sub_8C20+19E4
  7417.                                         ; sub_8C20+1A2C
  7418.                 ld      ix, #63B5
  7419.                 ld      de, #11
  7420.                 xor     a
  7421.                 scf
  7422.                 call    ROM_START+#556
  7423.  
  7424.                 jp      nc, loc_A5F8
  7425.  
  7426.                 ld      hl, #1300
  7427.                 ld      (scr_XY), hl
  7428.                 ld      hl, a_32spaces  ; "                        "
  7429.                 call    PRINT_STR_FF
  7430.  
  7431.                 ld      hl, #1300
  7432.                 ld      (scr_XY), hl
  7433.                 ld      a, (byte_63B5)
  7434.                 ld      hl,  aGameRecord
  7435.                 cp      9
  7436.                 jr      z, loc_A626
  7437.  
  7438.                 ld      hl, aNotAGameRecord ; "NOT A GAME RECORD :"
  7439.  
  7440.  
  7441. loc_A626:                               ; CODE XREF: sub_8C20+1A01
  7442.                 call    PRINT_STR_FF
  7443.  
  7444.                 ld      a, (byte_63B6)
  7445.                 inc     a
  7446.                 jr      z, loc_A640
  7447.  
  7448.                 ld      hl, unk_63BF
  7449.                 set     7, (hl)
  7450.                 ld      hl, byte_63B6
  7451.                 call    PRINT_STR_FF
  7452.  
  7453.                 ld      a, (TAPE_header+1)
  7454.                 inc     a
  7455.                 jr      z, loc_A652
  7456.  
  7457.  
  7458. loc_A640:                               ; CODE XREF: sub_8C20+1A0D
  7459.                 ld      de,  TAPE_header+1
  7460.                 ld      hl, byte_63B6
  7461.                 ld      b, #A
  7462.  
  7463.  
  7464. loc_A648:                               ; CODE XREF: sub_8C20+1A30
  7465.                 ld      a, (de)
  7466.                 res     7, (hl)
  7467.                 cp      (hl)
  7468.                 jr      nz, loc_A5F8
  7469.  
  7470.                 inc     hl
  7471.                 inc     de
  7472.                 djnz    loc_A648
  7473.  
  7474.  
  7475. loc_A652:                               ; CODE XREF: sub_8C20+1A1E
  7476.                 ld      ix, RAM_END_D800
  7477.                 ld      de, #3FF
  7478.                 ld      a, #FF
  7479.                 scf
  7480.                 call    ROM_START+#556
  7481.  
  7482.                 jp      nc, loc_A670
  7483.  
  7484.                 ld      hl, RAM_END_D800
  7485.                 ld      de, BRD_88_0
  7486.                 ld      bc, #3FF
  7487.                 ldir
  7488.                 call    INIT_PRINT_CLOCKS
  7489.  
  7490.  
  7491. loc_A670:                               ; CODE XREF: sub_8C20+1A3F
  7492.                 pop     hl
  7493.  
  7494.  
  7495. loc_A671:                               ; DATA XREF: sub_8C20+18EC
  7496.                 ld      hl, (word_D0F7)
  7497.                 inc     hl
  7498.                 ld      (word_D0F7), hl
  7499.                 call    SET_BRD_COLOR
  7500.  
  7501.                 call    sub_9EE6
  7502.  
  7503.                 call    PRINT_CLOCKS_SWAP
  7504.  
  7505.                 jp      loc_8A32
  7506.  
  7507. ; END OF FUNCTION CHUNK FOR sub_8C20
  7508.  
  7509. ; =============== S U B R O U T I N E =======================================
  7510.  
  7511.  
  7512. sub_A684:                               ; CODE XREF: sub_8C20-A43
  7513.                                         ; sub_8DE9+55   ...
  7514.                 ld      a, (byte_D0B4)
  7515.                 bit     5, a
  7516.                 ret     nz
  7517.                 ld      a, (byte_D0DF)
  7518.                 rra
  7519.                 ret     c
  7520.                 push    bc
  7521.                 push    de
  7522.                 push    hl
  7523.                 push    ix
  7524.                 push    iy
  7525.                 exx
  7526.                 push    bc
  7527.                 push    de
  7528.                 push    hl
  7529.                 ld      a, #FF
  7530.                 ld      (NEED_SCR2BUF), a
  7531.                 ld      hl, #D08
  7532.                 ld      (scr_XY), hl
  7533.                 ld      b, 7
  7534.                 ld      hl, byte_D258
  7535.  
  7536.  
  7537. loc_A6AA:                               ; CODE XREF: sub_A684+48
  7538.                 ld      a, (hl)
  7539.                 cp      #FF
  7540.                 jr      z, loc_A6D0
  7541.  
  7542.                 push    bc
  7543.                 push    hl
  7544.                 ld      hl,  a_8spaces+5
  7545.                 call    PRINT_STR_FF
  7546.  
  7547.                 pop     hl
  7548.                 push    hl
  7549.                 ld      a, (hl)
  7550.                 call    sub_A021
  7551.  
  7552.                 ld      a, #2D ; '-'
  7553.                 call    PRINT_LETTER
  7554.  
  7555.                 pop     hl
  7556.                 inc     hl
  7557.                 push    hl
  7558.                 ld      a, (hl)
  7559.                 call    sub_A021
  7560.  
  7561.                 pop     hl
  7562.                 inc     hl
  7563.                 pop     bc
  7564.                 djnz    loc_A6AA
  7565.  
  7566.                 jr      loc_A6D8
  7567.  
  7568. ; ---------------------------------------------------------------------------
  7569.  
  7570. loc_A6D0:                               ; CODE XREF: sub_A684+29 sub_A684+52
  7571.                 ld      hl, a_8spaces   ; "       "
  7572.                 call    PRINT_STR_FF
  7573.  
  7574.                 djnz    loc_A6D0
  7575.  
  7576.  
  7577. loc_A6D8:                               ; CODE XREF: sub_A684+4A sub_A6F7+3E
  7578.                 pop     hl
  7579.                 pop     de
  7580.                 pop     bc
  7581.                 exx
  7582.                 pop     iy
  7583.                 pop     ix
  7584.                 pop     hl
  7585.                 pop     de
  7586.                 pop     bc
  7587.                 ret
  7588.  
  7589. ; End of function sub_A684
  7590.  
  7591.  
  7592. ; =============== S U B R O U T I N E =======================================
  7593.  
  7594.  
  7595. sub_A6E4:                               ; CODE XREF: sub_8C20-92D
  7596.                                         ; sub_8C20-829 ...
  7597.                 ld      hl, #D08
  7598.                 ld      (scr_XY), hl
  7599.                 ld      hl,  a_32spaces+8
  7600.                 call    PRINT_STR_FF
  7601.  
  7602.                 ld      hl, a_32spaces  ; "                        "
  7603.                 call    PRINT_STR_FF
  7604.  
  7605.                 ret
  7606.  
  7607. ; End of function sub_A6E4
  7608.  
  7609.  
  7610. ; =============== S U B R O U T I N E =======================================
  7611.  
  7612.  
  7613. sub_A6F7:                               ; CODE XREF: sub_AFC5+C7
  7614.                 ld      a, (byte_D0B4)
  7615.                 bit     5, a
  7616.                 ret     nz
  7617.                 push    bc
  7618.                 push    de
  7619.                 push    hl
  7620.                 push    ix
  7621.                 push    iy
  7622.                 exx
  7623.                 push    bc
  7624.                 push    de
  7625.                 push    hl
  7626.                 exx
  7627.                 ld      de, #F00
  7628.                 ld      (scr_XY), de
  7629.                 ld      a, #FF
  7630.                 ld      (NEED_SCR2BUF), a
  7631.                 ld      a, (hl)
  7632.                 cp      #FE ; '■'
  7633.                 jr      c, loc_A725
  7634.  
  7635.                 ld      hl,  a_8spaces+5
  7636.                 call    PRINT_STR_FF
  7637.  
  7638.                 ld      hl,  aNoMateIn+3
  7639.                 jr      loc_A728
  7640.  
  7641. ; ---------------------------------------------------------------------------
  7642.  
  7643. loc_A725:                               ; CODE XREF: sub_A6F7+21
  7644.                 ld      hl, aNoMateIn   ; "NO MATE IN"
  7645.  
  7646.  
  7647. loc_A728:                               ; CODE XREF: sub_A6F7+2C
  7648.                 call    PRINT_STR_FF
  7649.  
  7650.                 ld      a, (byte_D098)
  7651.                 srl     a
  7652.                 add     a, #31 ; '1'
  7653.                 call    PRINT_LETTER
  7654.  
  7655.                 jp      loc_A6D8
  7656.  
  7657. ; End of function sub_A6F7
  7658.  
  7659. ; ---------------------------------------------------------------------------
  7660.  
  7661.  
  7662.         ;cyrus logo, 128 bytes.
  7663.         ;no alignment
  7664.  
  7665. CYRUS_LOGO_spr: db  #00,#00,#00,#00,#00,#00,#00,#00
  7666.                 db  #00,#00,#00,#00,#00,#00,#00,#00
  7667.                 db  #3E,#7D,#F7,#E3,#DE,#3C,#1F,#FC
  7668.                 db  #7F,#7D,#F7,#F3,#DE,#7E,#1F,#FC
  7669.                 db  #F7,#B8,#E3,#39,#8C,#E7,#06,#30
  7670.                 db  #E3,#9D,#C3,#39,#8C,#E7,#06,#30
  7671.                 db  #C0,#0D,#83,#39,#8C,#E0,#06,#30
  7672.                 db  #C0,#0F,#83,#F1,#8C,#FE,#06,#30
  7673.                 db  #C0,#07,#03,#E1,#8C,#7F,#06,#30
  7674.                 db  #C0,#07,#03,#71,#8C,#07,#06,#30
  7675.                 db  #E3,#87,#03,#39,#8C,#E7,#06,#30
  7676.                 db  #F7,#87,#03,#19,#DC,#E7,#06,#30
  7677.                 db  #7F,#0F,#87,#BC,#F8,#7E,#1F,#FC
  7678.                 db  #3E,#0F,#87,#BC,#70,#3C,#1F,#FC
  7679.                 db  #00,#00,#00,#00,#00,#00,#00,#00
  7680.                 db  #00,#00,#00,#00,#00,#00,#00,#00
  7681.  
  7682.  
  7683.  
  7684. ; =============== S U B R O U T I N E =======================================
  7685.  
  7686. ; show CYRUS II logo in upper left part of screen or scrbuf
  7687.  
  7688. SHOW_LOGO:                              ; CODE XREF: sub_A177
  7689.                 push    hl
  7690.                 push    de
  7691.                 push    bc
  7692.                 ld      hl, SCREEN
  7693.                 ld      a, (SEL_SCRorBUF)
  7694.                 or      a
  7695.                 jr      z, loc_A7C8
  7696.  
  7697.                 ld      de, #2400
  7698.                 add     hl, de          ; step to SCR_BUF_6400
  7699.  
  7700.  
  7701. loc_A7C8:                               ; CODE XREF: SHOW_LOGO+A
  7702.                 push    hl
  7703.                 ld      de, CYRUS_LOGO_spr
  7704.                 ld      b, 8
  7705.  
  7706.  
  7707. loc_A7CE:                               ; CODE XREF: SHOW_LOGO+22
  7708.                 ld      c, 8
  7709.                 push    hl
  7710.  
  7711.  
  7712. loc_A7D1:                               ; CODE XREF: SHOW_LOGO+1E
  7713.                 ld      a, (de)
  7714.                 ld      (hl), a
  7715.                 inc     hl
  7716.                 inc     de
  7717.                 dec     c
  7718.                 jr      nz, loc_A7D1
  7719.  
  7720.                 pop     hl
  7721.                 inc     h
  7722.                 djnz    loc_A7CE
  7723.  
  7724.                 pop     hl
  7725.                 ld      a, #20 ; ' '
  7726.                 add     a, l
  7727.                 ld      l, a
  7728.                 ld      b, 8
  7729.  
  7730.  
  7731. loc_A7E3:                               ; CODE XREF: SHOW_LOGO+37
  7732.                 ld      c, 8
  7733.                 push    hl
  7734.  
  7735.  
  7736. loc_A7E6:                               ; CODE XREF: SHOW_LOGO+33
  7737.                 ld      a, (de)
  7738.                 ld      (hl), a
  7739.                 inc     hl
  7740.                 inc     de
  7741.                 dec     c
  7742.                 jr      nz, loc_A7E6
  7743.  
  7744.                 pop     hl
  7745.                 inc     h
  7746.                 djnz    loc_A7E3
  7747.  
  7748.                 pop     bc
  7749.                 pop     de
  7750.                 pop     hl
  7751.                 ret
  7752.  
  7753. ; End of function SHOW_LOGO
  7754.  
  7755. ; ---------------------------------------------------------------------------
  7756.  
  7757.         ;unneeded space???
  7758.                 ds      267
  7759.  
  7760.  
  7761.  
  7762.  
  7763.  
  7764.  
  7765.  
  7766.  
  7767.  
  7768.         ;following jump table is unneeded???
  7769.  
  7770. sub_A900:
  7771.                 jp      sub_AFC5
  7772. sub_A903:
  7773.                 jp      loc_A961
  7774. sub_A906:
  7775.                 jp      sub_AD40
  7776. sub_A909:
  7777.                 jp      sub_AF81
  7778. sub_A90C:
  7779.                 jp      sub_AC59
  7780. sub_A90F:
  7781.                 jp      sub_AB4C
  7782. loc_A912:
  7783.                 jp      loc_AF68
  7784. sub_A915:
  7785.                 jp      sub_B8B2
  7786.  
  7787.  
  7788.  
  7789.  
  7790.  
  7791. ; ---------------------------------------------------------------------------
  7792.  
  7793.                 ;must be inside 256b page
  7794. byte_A918:      db #0E,#12,#1F,#21,#F2,#EE,#E1,#DF
  7795.  
  7796.  
  7797.  
  7798. byte_A920:      db #0F                  ; DATA XREF: sub_A94F+42
  7799.                                         ; sub_AAF8:loc_AAFA ...
  7800.                 db #11
  7801.                 db #EF
  7802.                 db #F1
  7803. byte_A924:      db #01                  ; DATA XREF: sub_AAC9:loc_AACB
  7804.                 db #FF
  7805.                 db #10
  7806. byte_A927:      db #F0                  ; DATA XREF: sub_AFC5:loc_B00D
  7807.                 db #80
  7808.                 db #00
  7809.                 db #34
  7810.                 db #02
  7811.                 db #28
  7812.                 db #06
  7813.                 db #19
  7814.                 db #0E
  7815.                 db #00
  7816.                 db #1E
  7817.  
  7818. ; =============== S U B R O U T I N E =======================================
  7819.  
  7820.  
  7821. sub_A932:                               ; CODE XREF: sub_AFC5+30 sub_AFC5+36
  7822.                 ld      c, 0
  7823.                 ld      b, #F
  7824.  
  7825.  
  7826. loc_A936:                               ; CODE XREF: sub_A932+1A
  7827.                 bit     7, (hl)
  7828.                 jr      nz, loc_A948
  7829.  
  7830.                 inc     l
  7831.                 ld      a, (hl)
  7832.                 and     #F
  7833.                 cp      1
  7834.                 jr      nz, loc_A945
  7835.  
  7836.                 ld      (byte_D04C), a
  7837.  
  7838.  
  7839. loc_A945:                               ; CODE XREF: sub_A932+E
  7840.                 add     a, c
  7841.                 ld      c, a
  7842.                 dec     l
  7843.  
  7844.  
  7845. loc_A948:                               ; CODE XREF: sub_A932+6
  7846.                 ld      a, 8
  7847.                 add     a, l
  7848.                 ld      l, a
  7849.                 djnz    loc_A936
  7850.  
  7851.                 ret
  7852.  
  7853. ; End of function sub_A932
  7854.  
  7855.  
  7856. ; =============== S U B R O U T I N E =======================================
  7857.  
  7858.  
  7859. sub_A94F:                               ; CODE XREF: sub_AFC5+4 sub_B47F-77
  7860.                 call    sub_8F4D
  7861.  
  7862.                 ld      a, (ix+2)
  7863.                 and     #C9 ; '╔'
  7864.                 jr      z, loc_A961
  7865.  
  7866.                 ld      hl,  word_D00D+1
  7867.                 jp      p, loc_A960
  7868.  
  7869.                 inc     (hl)
  7870.  
  7871.  
  7872. loc_A960:                               ; CODE XREF: sub_A94F+D
  7873.                 inc     (hl)
  7874.  
  7875.  
  7876. loc_A961:                               ; CODE XREF: sub_A903   sub_A94F+8
  7877.                 ld      hl, byte_D097
  7878.                 ld      a, (hl)
  7879.                 add     a, a
  7880.                 add     a, l
  7881.                 ld      l, a
  7882.                 ld      e, (hl)
  7883.                 inc     l
  7884.                 ld      d, (hl)
  7885.                 inc     l
  7886.                 inc     de
  7887.                 push    de
  7888.                 inc     de
  7889.                 inc     de
  7890.                 push    hl
  7891.                 ld      h, BRD_88_0/256
  7892.                 ld      iy, word_D100
  7893.                 ld      a, (byte_D02D)
  7894.                 exx
  7895.                 rrca
  7896.                 ld      c, a
  7897.                 exx
  7898.                 jr      nc, loc_A984
  7899.  
  7900.                 ld      iy, word_D180
  7901.  
  7902.  
  7903. loc_A984:                               ; CODE XREF: sub_A94F+2F
  7904.                 ld      b, (iy+0)
  7905.                 bit     4, (iy+1)
  7906.                 call    z, sub_AB0A
  7907.  
  7908.                 ld      c, #88 ; 'И'
  7909.                 exx
  7910.                 ld      de, byte_A920
  7911.                 call    sub_AAA7
  7912.  
  7913.                 ld      a, (iy+8)
  7914.                 or      a
  7915.                 call    p, sub_AB00
  7916.  
  7917.                 ld      a, (iy+#10)
  7918.                 or      a
  7919.                 call    p, sub_AAC9
  7920.  
  7921.                 ld      a, (iy+#18)
  7922.                 or      a
  7923.                 call    p, sub_AAC9
  7924.  
  7925.                 ld      a, (iy+#20)
  7926.                 or      a
  7927.                 call    p, sub_AAF8
  7928.  
  7929.                 ld      a, (iy+#28)
  7930.                 or      a
  7931.                 call    p, sub_AAF8
  7932.  
  7933.                 ld      a, (iy+#30)
  7934.                 ld      c, #88 ; 'И'
  7935.                 or      a
  7936.                 call    p, sub_AAA2
  7937.  
  7938.                 ld      a, (iy+#38)
  7939.                 or      a
  7940.                 call    p, sub_AAA2
  7941.  
  7942.                 ld      c, #11
  7943.                 exx
  7944.                 ld      hl, unk_D140
  7945.                 bit     7, c
  7946.                 jr      z, loc_A9DA
  7947.  
  7948.                 ld      l, #C0  ; '└'   ; word_D1C0&255
  7949.                 exx
  7950.                 ld      c, #F1  ; 'ё'
  7951.                 exx
  7952.  
  7953.  
  7954. loc_A9DA:                               ; CODE XREF: sub_A94F+83 sub_A94F+F2
  7955.                 ld      a, (hl)
  7956.                 rla
  7957.                 jr      c, loc_AA3B
  7958.  
  7959.                 inc     l
  7960.                 ld      a, (hl)
  7961.                 dec     l
  7962.                 and     #E
  7963.                 ld      a, (hl)
  7964.                 exx
  7965.                 ld      b, a
  7966.                 jr      nz, loc_AA54
  7967.  
  7968.                 add     a, c
  7969.                 ld      l, a
  7970.                 xor     a
  7971.                 or      (hl)
  7972.                 jp      z, loc_A9F6
  7973.  
  7974.                 exx
  7975.                 xor     c
  7976.                 exx
  7977.                 call    m, sub_AB41
  7978.  
  7979.                 xor     a
  7980.  
  7981.  
  7982. loc_A9F6:                               ; CODE XREF: sub_A94F+9D
  7983.                 dec     l
  7984.                 dec     l
  7985.                 or      (hl)
  7986.                 jp      z, loc_AA03
  7987.  
  7988.                 exx
  7989.                 xor     c
  7990.                 exx
  7991.                 call    m, sub_AB41
  7992.  
  7993.                 xor     a
  7994.  
  7995.  
  7996. loc_AA03:                               ; CODE XREF: sub_A94F+AA
  7997.                 inc     l
  7998.                 or      (hl)
  7999.                 jr      nz, loc_AA33
  8000.  
  8001.                 ex      de, hl
  8002.                 ld      (hl), b
  8003.                 inc     hl
  8004.                 ld      (hl), e
  8005.                 inc     hl
  8006.                 ld      (hl), a
  8007.                 inc     hl
  8008.                 ex      de, hl
  8009.                 ld      a, b
  8010.                 add     a, #20 ; ' '
  8011.                 bit     6, a
  8012.                 jr      nz, loc_AA33
  8013.  
  8014.                 ld      a, c
  8015.                 dec     a
  8016.                 add     a, l
  8017.                 jp      m, loc_AA3A
  8018.  
  8019.                 ld      l, a
  8020.                 xor     a
  8021.                 or      (hl)
  8022.                 jr      nz, loc_AA3A
  8023.  
  8024.                 call    sub_AB43
  8025.  
  8026.                 dec     l
  8027.                 or      (hl)
  8028.                 call    nz, sub_AA8B
  8029.  
  8030.                 inc     l
  8031.                 inc     l
  8032.                 ld      a, (hl)
  8033.                 or      a
  8034.                 call    nz, sub_AA8B
  8035.  
  8036.                 jp      loc_AA3A
  8037.  
  8038. ; ---------------------------------------------------------------------------
  8039.  
  8040. loc_AA33:                               ; CODE XREF: sub_A94F+B6 sub_A94F+C5
  8041.                 bit     5, (ix+2)
  8042.                 call    nz, sub_AA71
  8043.  
  8044.  
  8045. loc_AA3A:                               ; CODE XREF: sub_A94F+CA sub_A94F+D0 ...
  8046.                 exx
  8047.  
  8048.  
  8049. loc_AA3B:                               ; CODE XREF: sub_A94F+8D
  8050.                 ld      a, 8
  8051.                 add     a, l
  8052.                 ld      l, a
  8053.                 bit     6, a
  8054.                 jp      nz, loc_A9DA
  8055.  
  8056.                 exx
  8057.                 ld      a, #FF
  8058.                 ld      (de), a
  8059.                 pop     hl
  8060.                 ld      (hl), e
  8061.                 inc     l
  8062.                 ld      (hl), d
  8063.                 pop     hl
  8064.                 ld      (hl), a
  8065.                 inc     hl
  8066.                 ld      a, (ix+2)
  8067.                 ld      (hl), a
  8068.                 ret
  8069.  
  8070. ; ---------------------------------------------------------------------------
  8071.  
  8072. loc_AA54:                               ; CODE XREF: sub_A94F+97
  8073.                 push    bc
  8074.                 ld      c, #88 ; 'И'
  8075.                 exx
  8076.                 inc     l
  8077.                 ld      a, (hl)
  8078.                 dec     l
  8079.                 ld      de, byte_AA6D
  8080.                 push    de
  8081.                 or      a
  8082.                 jp      m, loc_AAFA
  8083.  
  8084.                 rra
  8085.                 rra
  8086.                 jr      c, loc_AAA4
  8087.  
  8088.                 rra
  8089.                 jr      c, loc_AACB
  8090.  
  8091.                 jp      loc_AB02
  8092.  
  8093. ; End of function sub_A94F
  8094.  
  8095. ; ---------------------------------------------------------------------------
  8096. byte_AA6D:      db  #C1,#D9,#18,#CA ; DATA      XREF: sub_A94F+10C
  8097.  
  8098. ; =============== S U B R O U T I N E =======================================
  8099.  
  8100.  
  8101. sub_AA71:                               ; CODE XREF: sub_A94F+E8
  8102.                 bit     3, (ix+2)
  8103.                 ret     nz
  8104.                 ld      a, (ix+1)
  8105.                 and     #7F ; ''
  8106.                 inc     a
  8107.                 cp      b
  8108.                 jr      z, loc_AA85
  8109.  
  8110.                 dec     a
  8111.                 dec     a
  8112.                 cp      b
  8113.                 ret     nz
  8114.                 inc     l
  8115.                 inc     l
  8116.  
  8117.  
  8118. loc_AA85:                               ; CODE XREF: sub_AA71+C
  8119.                 dec     l
  8120.                 ld      a, #28 ; '('
  8121.                 jp      sub_AB43
  8122.  
  8123. ; End of function sub_AA71
  8124.  
  8125.  
  8126. ; =============== S U B R O U T I N E =======================================
  8127.  
  8128.  
  8129. sub_AA8B:                               ; CODE XREF: sub_A94F+D7 sub_A94F+DE
  8130.                 exx
  8131.                 xor     c
  8132.                 exx
  8133.                 ret     p
  8134.                 ld      a, (hl)
  8135.                 exx
  8136.                 ld      b, l
  8137.                 sub     3
  8138.                 ld      l, a
  8139.                 ld      a, (hl)
  8140.                 ld      l, b
  8141.                 exx
  8142.                 and     #F
  8143.                 dec     a
  8144.                 ret     nz
  8145.                 ld      a, #20 ; ' '
  8146.                 dec     de
  8147.                 ld      (de), a
  8148.                 inc     de
  8149.                 ret
  8150.  
  8151. ; End of function sub_AA8B
  8152.  
  8153.  
  8154. ; =============== S U B R O U T I N E =======================================
  8155.  
  8156.  
  8157. sub_AAA2:                               ; CODE XREF: sub_A94F+71 sub_A94F+78
  8158.                 ld      b, a
  8159.                 exx
  8160.  
  8161.  
  8162. loc_AAA4:                               ; CODE XREF: sub_A94F+116
  8163.                 ld      de, byte_A918
  8164.  
  8165. ; End of function sub_AAA2
  8166.  
  8167.  
  8168. ; =============== S U B R O U T I N E =======================================
  8169.  
  8170.  
  8171. sub_AAA7:                               ; CODE XREF: sub_A94F+45
  8172.                 ld      b, 8
  8173.  
  8174.  
  8175. loc_AAA9:                               ; CODE XREF: sub_AAA7:loc_AAC5
  8176.                 ld      a, (de)
  8177.                 inc     e
  8178.                 exx
  8179.                 add     a, b
  8180.                 ld      l, a
  8181.                 and     c
  8182.                 jr      nz, loc_AAC4
  8183.  
  8184.                 or      (hl)
  8185.                 jr      z, loc_AABC
  8186.  
  8187.                 exx
  8188.                 xor     c
  8189.                 jp      p, loc_AAC5
  8190.  
  8191.                 exx
  8192.                 ld      a, 8
  8193.  
  8194.  
  8195. loc_AABC:                               ; CODE XREF: sub_AAA7+B
  8196.                 ex      de, hl
  8197.                 ld      (hl), b
  8198.                 inc     hl
  8199.                 ld      (hl), e
  8200.                 inc     hl
  8201.                 ld      (hl), a
  8202.                 inc     hl
  8203.                 ex      de, hl
  8204.  
  8205.  
  8206. loc_AAC4:                               ; CODE XREF: sub_AAA7+8
  8207.                 exx
  8208.  
  8209.  
  8210. loc_AAC5:                               ; CODE XREF: sub_AAA7+F
  8211.                 djnz    loc_AAA9
  8212.  
  8213.                 exx
  8214.                 ret
  8215.  
  8216. ; End of function sub_AAA7
  8217.  
  8218.  
  8219. ; =============== S U B R O U T I N E =======================================
  8220.  
  8221.  
  8222. sub_AAC9:                               ; CODE XREF: sub_A94F+53 sub_A94F+5A
  8223.                 ld      b, a
  8224.                 exx
  8225.  
  8226.  
  8227. loc_AACB:                               ; CODE XREF: sub_A94F+119
  8228.                 ld      de, byte_A924
  8229.  
  8230.  
  8231. loc_AACE:                               ; CODE XREF: sub_AAF8+5
  8232.                 ld      b, 4
  8233.  
  8234.  
  8235. loc_AAD0:                               ; CODE XREF: sub_AAC9:loc_AAF4
  8236.                                         ; sub_AB00+7
  8237.                 ld      a, (de)
  8238.                 inc     e
  8239.                 exx
  8240.                 ld      c, a
  8241.                 ld      l, b
  8242.  
  8243.  
  8244. loc_AAD5:                               ; CODE XREF: sub_AAC9+1E
  8245.                 ld      a, l
  8246.                 add     a, c
  8247.                 ld      l, a
  8248.                 and     #88 ; 'И'
  8249.                 jr      nz, loc_AAF3
  8250.  
  8251.                 or      (hl)
  8252.                 jr      nz, loc_AAEA
  8253.  
  8254.                 ex      de, hl
  8255.                 ld      (hl), b
  8256.                 inc     hl
  8257.                 ld      (hl), e
  8258.                 inc     hl
  8259.                 ld      (hl), a
  8260.                 inc     hl
  8261.                 ex      de, hl
  8262.                 jp      loc_AAD5
  8263.  
  8264. ; ---------------------------------------------------------------------------
  8265.  
  8266. loc_AAEA:                               ; CODE XREF: sub_AAC9+14
  8267.                 exx
  8268.                 xor     c
  8269.                 jp      p, loc_AAF4
  8270.  
  8271.                 exx
  8272.                 call    sub_AB41
  8273.  
  8274.  
  8275. loc_AAF3:                               ; CODE XREF: sub_AAC9+11
  8276.                 exx
  8277.  
  8278.  
  8279. loc_AAF4:                               ; CODE XREF: sub_AAC9+23
  8280.                 djnz    loc_AAD0
  8281.  
  8282.                 exx
  8283.                 ret
  8284.  
  8285. ; End of function sub_AAC9
  8286.  
  8287.  
  8288. ; =============== S U B R O U T I N E =======================================
  8289.  
  8290.  
  8291. sub_AAF8:                               ; CODE XREF: sub_A94F+61 sub_A94F+68
  8292.                 ld      b, a
  8293.                 exx
  8294.  
  8295.  
  8296. loc_AAFA:                               ; CODE XREF: sub_A94F+111
  8297.                 ld      de, byte_A920
  8298.                 jp      loc_AACE
  8299.  
  8300. ; End of function sub_AAF8
  8301.  
  8302.  
  8303. ; =============== S U B R O U T I N E =======================================
  8304.  
  8305.  
  8306. sub_AB00:                               ; CODE XREF: sub_A94F+4C
  8307.                 ld      b, a
  8308.                 exx
  8309.  
  8310.  
  8311. loc_AB02:                               ; CODE XREF: sub_A94F+11B
  8312.                 ld      de, byte_A920
  8313.                 ld      b, 8
  8314.                 jp      loc_AAD0
  8315.  
  8316. ; End of function sub_AB00
  8317.  
  8318.  
  8319. ; =============== S U B R O U T I N E =======================================
  8320.  
  8321.  
  8322. sub_AB0A:                               ; CODE XREF: sub_A94F+3C
  8323.                 bit     7, (ix+2)
  8324.                 ret     nz
  8325.                 bit     4, (iy+#19)
  8326.                 jr      nz, loc_AB26
  8327.  
  8328.                 bit     7, (iy+#18)
  8329.                 jr      nz, loc_AB26
  8330.  
  8331.                 xor     a
  8332.                 ld      l, b
  8333.                 inc     l
  8334.                 or      (hl)
  8335.                 jr      nz, loc_AB26
  8336.  
  8337.                 inc     l
  8338.                 or      (hl)
  8339.                 call    z, sub_AB3C
  8340.  
  8341.  
  8342. loc_AB26:                               ; CODE XREF: sub_AB0A+9 sub_AB0A+F ...
  8343.                 bit     4, (iy+#11)
  8344.                 ret     nz
  8345.                 bit     7, (iy+#10)
  8346.                 ret     nz
  8347.                 ld      l, b
  8348.                 xor     a
  8349.                 dec     l
  8350.                 or      (hl)
  8351.                 ret     nz
  8352.                 dec     l
  8353.                 or      (hl)
  8354.                 ret     nz
  8355.                 dec     l
  8356.                 or      (hl)
  8357.                 ret     nz
  8358.                 inc     l
  8359.  
  8360. ; End of function sub_AB0A
  8361.  
  8362.  
  8363. ; =============== S U B R O U T I N E =======================================
  8364.  
  8365.  
  8366. sub_AB3C:                               ; CODE XREF: sub_AB0A+19
  8367.                 ld      a, #10
  8368.                 jp      sub_AB43
  8369.  
  8370. ; End of function sub_AB3C
  8371.  
  8372.  
  8373. ; =============== S U B R O U T I N E =======================================
  8374.  
  8375.  
  8376. sub_AB41:                               ; CODE XREF: sub_A94F+A3 sub_A94F+B0 ...
  8377.                 ld      a, 8
  8378.  
  8379. ; End of function sub_AB41
  8380.  
  8381.  
  8382. ; =============== S U B R O U T I N E =======================================
  8383.  
  8384.  
  8385. sub_AB43:                               ; CODE XREF: sub_A94F+D2 sub_AA71+17 ...
  8386.                 ex      de, hl
  8387.                 ld      (hl), b
  8388.                 inc     hl
  8389.                 ld      (hl), e
  8390.                 inc     hl
  8391.                 ld      (hl), a
  8392.                 inc     hl
  8393.                 ex      de, hl
  8394.                 ret
  8395.  
  8396. ; End of function sub_AB43
  8397.  
  8398.  
  8399. ; =============== S U B R O U T I N E =======================================
  8400.  
  8401.  
  8402. sub_AB4C:                               ; CODE XREF: sub_A90F   sub_AFC5+66
  8403.                 ld      de, XOR_A
  8404. ; End of function sub_AB4C
  8405.  
  8406.                 ld      (JP_ADDR), de
  8407.  
  8408.  
  8409. ; =============== S U B R O U T I N E =======================================
  8410.  
  8411.  
  8412. sub_AB53:                               ; CODE XREF: sub_B47F-4C
  8413.                 ld      a, (hl)
  8414.                 ld      (byte_D01D), a
  8415.                 inc     hl
  8416.                 push    hl
  8417.                 pop     ix
  8418.                 ld      (word_D04A), hl
  8419.                 ld      (word_D069), hl
  8420.                 xor     a
  8421.                 ld      hl, unk_D0E6
  8422.                 ld      b, #A
  8423.  
  8424.  
  8425. loc_AB67:                               ; CODE XREF: sub_AB53+16
  8426.                 ld      (hl), a
  8427.                 inc     hl
  8428.                 djnz    loc_AB67
  8429.  
  8430.                 ld      (byte_D04E), a
  8431.                 jp      loc_ABC6
  8432.  
  8433. ; ---------------------------------------------------------------------------
  8434.  
  8435. loc_AB71:                               ; CODE XREF: sub_AB53+77
  8436.                 inc     a
  8437.                 jr      z, loc_AB81
  8438.  
  8439.                 ld      a, (ix+1)
  8440.                 inc     a
  8441.                 jr      z, loc_ABC1
  8442.  
  8443.                 ld      a, 1
  8444.                 ld      (byte_D04E), a
  8445.                 jr      loc_ABC1
  8446.  
  8447. ; ---------------------------------------------------------------------------
  8448.  
  8449. loc_AB81:                               ; CODE XREF: sub_AB53+1F
  8450.                 xor     a
  8451.                 ld      (word_D04A+1), a
  8452.                 ld      a, (byte_D0EF)
  8453.                 ld      hl, (word_D069)
  8454.                 or      a
  8455.                 jr      nz, loc_ABA6
  8456.  
  8457.                 ld      a, (byte_D04E)
  8458.                 or      a
  8459.                 jr      z, loc_ABA6
  8460.  
  8461.                 cp      1
  8462.                 jr      z, loc_ABA6
  8463.  
  8464.                 ld      de, (word_D086)
  8465.                 ld      b, 3
  8466.  
  8467.  
  8468. loc_AB9E:                               ; CODE XREF: sub_AB53+4F
  8469.                 ld      a, (de)
  8470.                 ld      (hl), a
  8471.                 inc     de
  8472.                 inc     hl
  8473.                 djnz    loc_AB9E
  8474.  
  8475.                 ld      a, 6
  8476.  
  8477.  
  8478. loc_ABA6:                               ; CODE XREF: sub_AB53+39 sub_AB53+3F ...
  8479.                 ld      (hl), #FF
  8480.                 or      a
  8481.                 ret
  8482.  
  8483. ; ---------------------------------------------------------------------------
  8484.  
  8485. loc_ABAA:                               ; CODE XREF: sub_AB53+89
  8486.                 ld      a, 0
  8487.                 ld      (word_D04A+1), a
  8488.                 ret
  8489.  
  8490. ; ---------------------------------------------------------------------------
  8491.  
  8492. loc_ABB0:                               ; CODE XREF: sub_AB53+8B
  8493.                 ld      a, (byte_D04E)
  8494.                 cp      c
  8495.                 jr      nc, loc_ABC1
  8496.  
  8497.                 dec     a
  8498.                 jr      z, loc_ABC1
  8499.  
  8500.                 ld      a, c
  8501.                 ld      (byte_D04E), a
  8502.                 ld      (word_D086), ix
  8503.  
  8504.  
  8505. loc_ABC1:                               ; CODE XREF: sub_AB53+25 sub_AB53+2C ...
  8506.                 ld      de, 3
  8507.                 add     ix, de
  8508.  
  8509.  
  8510. loc_ABC6:                               ; CODE XREF: sub_AB53+1B
  8511.                 ld      a, (ix+0)
  8512.                 rlca
  8513.                 jr      c, loc_AB71
  8514.  
  8515.                 call    sub_AD40
  8516.  
  8517.                 call    sub_BC00
  8518.  
  8519.                 call    sub_AF81
  8520.  
  8521.                 ld      a, c
  8522.                 or      a
  8523.                 jr      z, loc_ABC1
  8524.  
  8525.                 call    sub_B79D
  8526.  
  8527.                 jr      c, loc_ABAA
  8528.  
  8529.                 jr      nz, loc_ABB0
  8530.  
  8531.                 ld      a, (ix+2)
  8532.                 and     #88 ; 'И'
  8533.                 ld      a, c
  8534.                 jr      z, loc_ABEF
  8535.  
  8536.                 add     a, 4
  8537.                 jr      nc, loc_ABEE
  8538.  
  8539.                 ld      a, #FF
  8540.  
  8541.  
  8542. loc_ABEE:                               ; CODE XREF: sub_AB53+97
  8543.                 ld      c, a
  8544.  
  8545.  
  8546. loc_ABEF:                               ; CODE XREF: sub_AB53+93
  8547.                 ld      hl, unk_D0E6
  8548.                 cp      (hl)
  8549.                 jr      nc, loc_AC0F
  8550.  
  8551.                 ld      hl, (word_D069)
  8552.                 ld      a, (ix+0)
  8553.                 ld      (hl), a
  8554.                 inc     hl
  8555.                 ld      a, (ix+1)
  8556.                 ld      (hl), a
  8557.                 inc     hl
  8558.                 ld      a, (ix+2)
  8559.                 res     6, a
  8560.                 ld      (hl), a
  8561.                 inc     hl
  8562.                 ld      (word_D069), hl
  8563.                 jp      loc_ABC1
  8564.  
  8565. ; ---------------------------------------------------------------------------
  8566.  
  8567. loc_AC0F:                               ; CODE XREF: sub_AB53+A0
  8568.                 ld      b, 9
  8569.                 ld      d, h
  8570.                 ld      e, l
  8571.                 jp      loc_AC19
  8572.  
  8573. ; ---------------------------------------------------------------------------
  8574.  
  8575. loc_AC16:                               ; CODE XREF: sub_AB53+C9
  8576.                 ld      (de), a
  8577.                 inc     e
  8578.                 dec     b
  8579.  
  8580.  
  8581. loc_AC19:                               ; CODE XREF: sub_AB53+C0
  8582.                 inc     l
  8583.                 ld      a, (hl)
  8584.                 cp      c
  8585.                 jr      c, loc_AC16
  8586.  
  8587.                 ld      a, c
  8588.                 ld      (de), a
  8589.                 ld      de, (word_D04A)
  8590.                 ld      hl, (word_D069)
  8591.                 ld      a, b
  8592.                 add     a, a
  8593.                 add     a, b
  8594.                 sbc     hl, de
  8595.                 ld      c, a
  8596.                 ld      b, 0
  8597.                 sbc     hl, bc
  8598.                 ld      b, h
  8599.                 ld      c, l
  8600.                 ld      a, (ix+0)
  8601.                 ld      d, (ix+1)
  8602.                 ld      e, (ix+2)
  8603.                 push    de
  8604.                 ld      hl, (word_D069)
  8605.                 ld      d, h
  8606.                 ld      e, l
  8607.                 dec     hl
  8608.                 inc     de
  8609.                 inc     de
  8610.                 inc     de
  8611.                 ld      (word_D069), de
  8612.                 dec     de
  8613.                 jr      z, loc_AC4F
  8614.  
  8615.                 lddr
  8616.  
  8617.  
  8618. loc_AC4F:                               ; CODE XREF: sub_AB53+F8
  8619.                 inc     hl
  8620.                 ld      (hl), a
  8621.                 pop     de
  8622.                 inc     hl
  8623.                 ld      (hl), d
  8624.                 inc     hl
  8625.                 ld      (hl), e
  8626.                 jp      loc_ABC1
  8627.  
  8628. ; End of function sub_AB53
  8629.  
  8630.  
  8631. ; =============== S U B R O U T I N E =======================================
  8632.  
  8633.  
  8634. sub_AC59:                               ; CODE XREF: sub_A90C
  8635.                 ld      bc, 3
  8636.  
  8637.  
  8638. loc_AC5C:                               ; CODE XREF: sub_AC5D+5 sub_AC5D+F
  8639.                 add     hl, bc
  8640.  
  8641. ; End of function sub_AC59
  8642.  
  8643.  
  8644. ; =============== S U B R O U T I N E =======================================
  8645.  
  8646.  
  8647. sub_AC5D:                               ; CODE XREF: sub_B36B+48 sub_B36B+52
  8648.                 ld      a, (hl)
  8649.                 cp      d
  8650.                 jr      z, loc_AC67
  8651.  
  8652.                 inc     a
  8653.                 jp      nz, loc_AC5C
  8654.  
  8655.                 scf
  8656.                 ret
  8657.  
  8658. ; ---------------------------------------------------------------------------
  8659.  
  8660. loc_AC67:                               ; CODE XREF: sub_AC5D+2
  8661.                 inc     hl
  8662.                 ld      a, (hl)
  8663.                 dec     hl
  8664.                 cp      e
  8665.                 ret     z
  8666.                 jp      loc_AC5C
  8667.  
  8668. ; End of function sub_AC5D
  8669.  
  8670. ; ---------------------------------------------------------------------------
  8671. ; START OF FUNCTION CHUNK FOR sub_AC74
  8672.  
  8673. loc_AC6F:                               ; CODE XREF: sub_AC74+37
  8674.                 ld      a, #FF
  8675.                 ld      (byte_D09E), a
  8676.  
  8677. ; END OF FUNCTION CHUNK FOR sub_AC74
  8678.  
  8679. ; =============== S U B R O U T I N E =======================================
  8680.  
  8681.  
  8682. sub_AC74:                               ; CODE XREF: sub_AFC5+B
  8683.  
  8684. ; FUNCTION CHUNK AT AC6F SIZE 00000005 BYTES
  8685.  
  8686.                 ld      a, (byte_D09E)
  8687.                 or      a
  8688.                 ret     nz
  8689.                 ld      a, (byte_D20C)
  8690.                 dec     a
  8691.                 ret     nz
  8692.                 call    GEN_RANDBYTE
  8693.  
  8694.                 ld      hl, #FFFF
  8695.  
  8696.  
  8697. loc_AC84:                               ; CODE XREF: sub_AC74+33
  8698.                 inc     hl
  8699.                 ld      a, (word_D0F7)
  8700.                 ld      c, a
  8701.                 ld      a, (byte_D09E)
  8702.                 inc     a
  8703.                 ld      (byte_D09E), a
  8704.                 dec     a
  8705.                 cp      c
  8706.                 jr      z, loc_ACB2
  8707.  
  8708.                 ld      bc, stk_1bvalue
  8709.                 add     a, c
  8710.                 ld      c, a
  8711.                 jr      nc, loc_AC9C
  8712.  
  8713.                 inc     b
  8714.  
  8715.  
  8716. loc_AC9C:                               ; CODE XREF: sub_AC74+25
  8717.                 ld      a, (bc)
  8718.                 and     #7F ; ''
  8719.                 ld      c, a
  8720.                 call    sub_AD01
  8721.  
  8722.  
  8723. loc_ACA3:                               ; CODE XREF: sub_AC74+3C
  8724.                 ld      b, a
  8725.                 res     6, a
  8726.                 cp      c
  8727.                 jr      z, loc_AC84
  8728.  
  8729.                 bit     6, b
  8730.                 jr      z, loc_AC6F
  8731.  
  8732.                 call    sub_ACF6
  8733.  
  8734.                 jr      loc_ACA3
  8735.  
  8736. ; ---------------------------------------------------------------------------
  8737.  
  8738. loc_ACB2:                               ; CODE XREF: sub_AC74+1E
  8739.                 call    GEN_RANDBYTE
  8740.  
  8741.                 call    sub_AD01
  8742.  
  8743.                 ld      c, a
  8744.                 bit     6, a
  8745.                 jr      z, loc_ACDD
  8746.  
  8747.                 ld      a, 1
  8748.                 rla
  8749.                 and     b
  8750.                 jr      nz, loc_ACDD
  8751.  
  8752.  
  8753. loc_ACC3:                               ; CODE XREF: sub_AC74+60
  8754.                 push    hl
  8755.                 call    GEN_RANDBYTE
  8756.  
  8757.                 call    sub_ACF6
  8758.  
  8759.                 jr      c, loc_ACD8
  8760.  
  8761.                 pop     de
  8762.                 ld      c, a
  8763.                 bit     6, a
  8764.                 jr      z, loc_ACDD
  8765.  
  8766.                 rr      b
  8767.                 jr      c, loc_ACC3
  8768.  
  8769.                 jr      loc_ACDD
  8770.  
  8771. ; ---------------------------------------------------------------------------
  8772.  
  8773. loc_ACD8:                               ; CODE XREF: sub_AC74+56
  8774.                 pop     hl
  8775.                 call    sub_AD01
  8776.  
  8777.                 ld      c, a
  8778.  
  8779.  
  8780. loc_ACDD:                               ; CODE XREF: sub_AC74+47 sub_AC74+4D ...
  8781.                 ld      a, c
  8782.                 and     #3F ; '?'
  8783.                 ld      d, a
  8784.                 rla
  8785.                 add     a, d
  8786.                 ld      e, a
  8787.                 ld      d, 0
  8788.                 ld      ix, tbl_D803
  8789.                 add     ix, de
  8790.                 xor     a
  8791.                 bit     7, c
  8792.                 jr      nz, loc_ACF4
  8793.  
  8794.                 ld      (byte_D09E), a
  8795.  
  8796.  
  8797. loc_ACF4:                               ; CODE XREF: sub_AC74+7B
  8798.                 xor     a
  8799.                 ret
  8800.  
  8801. ; End of function sub_AC74
  8802.  
  8803.  
  8804. ; =============== S U B R O U T I N E =======================================
  8805.  
  8806.  
  8807. sub_ACF6:                               ; CODE XREF: sub_AC74+39 sub_AC74+53
  8808.                 ld      de, #FFFF
  8809.  
  8810.  
  8811. loc_ACF9:                               ; CODE XREF: sub_ACF6+9
  8812.                 call    sub_AD01
  8813.  
  8814.                 inc     hl
  8815.                 bit     7, d
  8816.                 jr      z, loc_ACF9
  8817.  
  8818. ; End of function sub_ACF6
  8819.  
  8820.  
  8821. ; =============== S U B R O U T I N E =======================================
  8822.  
  8823.  
  8824. sub_AD01:                               ; CODE XREF: sub_AC74+2C sub_AC74+41 ...
  8825.                 call    OPENING_SEARCH
  8826.  
  8827.                 bit     7, a
  8828.                 jr      z, loc_AD09
  8829.  
  8830.                 dec     de
  8831.  
  8832.  
  8833. loc_AD09:                               ; CODE XREF: sub_AD01+5
  8834.                 bit     6, a
  8835.                 ret     z
  8836.                 inc     de
  8837.                 ret
  8838.  
  8839. ; End of function sub_AD01
  8840.  
  8841.  
  8842. ; =============== S U B R O U T I N E =======================================
  8843.  
  8844.  
  8845. OPENING_SEARCH:
  8846.                 push    bc              ; get any 8 bits from 9-byte chunks? HL=index into them, 0..63 into first chunk, 64..127 into next, etc.
  8847.                 push    hl
  8848.                 ld      a, l
  8849.                 srl     h
  8850.                 rra
  8851.                 srl     h
  8852.                 rra
  8853.                 srl     h
  8854.                 rra
  8855.                 ld      b, h
  8856.                 ld      c, a            ; BC=HL/8
  8857.                 pop     hl
  8858.                 push    hl
  8859.                 ld      a, 7
  8860.                 and     l
  8861.                 add     hl, bc          ; HL=HL*1.125
  8862.                 ld      bc, Openings
  8863.                 add     hl, bc
  8864.                 ld      b, a
  8865.                 inc     b
  8866.                 ld      a, (hl)
  8867.                 inc     hl
  8868.                 ld      c, (hl)
  8869.  
  8870.  
  8871. loc_AD2B:
  8872.                 rl      c
  8873.                 rla
  8874.                 djnz    loc_AD2B
  8875.  
  8876.                 pop     hl
  8877.                 pop     bc              ; output is A, 8 bit from a word
  8878.                 ret
  8879.  
  8880. ; End of function OPENING_SEARCH
  8881.  
  8882.  
  8883. ; =============== S U B R O U T I N E =======================================
  8884.  
  8885.  
  8886. GEN_RANDBYTE:                           ; CODE XREF: sub_AC74+A
  8887.                                         ; sub_AC74:loc_ACB2 ...
  8888.                 ld      a, r
  8889.                 ld      b, a
  8890.                 ld      a, (RAND_SEED)
  8891.                 xor     b
  8892.                 rra
  8893.                 ld      (RAND_SEED), a
  8894.                 ld      b, a
  8895.                 ret
  8896.  
  8897. ; End of function GEN_RANDBYTE
  8898.  
  8899.  
  8900. ; =============== S U B R O U T I N E =======================================
  8901.  
  8902.  
  8903. sub_AD40:                               ; CODE XREF: sub_A906   sub_AB53+79 ...
  8904.                 pop     hl
  8905.                 exx
  8906.                 ld      hl, (word_D00D)
  8907.                 push    hl
  8908.                 ld      hl, byte_D03B
  8909.                 res     7, (hl)
  8910.                 ld      hl,  word_D240+1
  8911.                 ld      a, (byte_D097)
  8912.                 add     a, a
  8913.                 add     a, l
  8914.                 ld      l, a
  8915.                 ld      c, (ix+1)
  8916.                 res     7, c
  8917.                 ld      (hl), c
  8918.                 ld      (word_D03D), hl
  8919.                 dec     l
  8920.                 ld      b, (ix+0)
  8921.                 res     7, b
  8922.                 ld      (hl), b
  8923.                 dec     l
  8924.                 bit     7, (hl)
  8925.                 jr      nz, loc_ADA9
  8926.  
  8927.                 dec     l
  8928.                 dec     l
  8929.                 ld      a, (hl)
  8930.                 and     #F7 ; 'ў'
  8931.                 cp      b
  8932.                 jr      nz, loc_ADA9
  8933.  
  8934.                 dec     l
  8935.                 ld      a, (hl)
  8936.                 and     #77 ; 'w'
  8937.                 cp      c
  8938.                 jr      nz, loc_ADA9
  8939.  
  8940.                 dec     l
  8941.                 ld      a, (hl)
  8942.                 and     #F7 ; 'ў'
  8943.                 jp      m, loc_ADA2
  8944.  
  8945.                 push    bc
  8946.                 ld      b, a
  8947.                 dec     l
  8948.                 ld      a, (hl)
  8949.                 and     #77 ; 'w'
  8950.                 ld      c, a
  8951.                 inc     l
  8952.                 inc     l
  8953.                 inc     l
  8954.                 inc     l
  8955.                 ld      a, (hl)
  8956.                 and     #77 ; 'w'
  8957.                 cp      b
  8958.                 jr      nz, loc_ADA1
  8959.  
  8960.                 inc     l
  8961.                 ld      a, (hl)
  8962.                 and     #77 ; 'w'
  8963.                 cp      c
  8964.                 jr      nz, loc_ADA1
  8965.  
  8966.                 ld      hl, byte_D03B
  8967.                 set     7, (hl)
  8968.                 set     6, (hl)
  8969.                 pop     bc
  8970.                 jr      loc_ADA9
  8971.  
  8972. ; ---------------------------------------------------------------------------
  8973.  
  8974. loc_ADA1:                               ; CODE XREF: sub_AD40+4E sub_AD40+55
  8975.                 pop     bc
  8976.  
  8977.  
  8978. loc_ADA2:                               ; CODE XREF: sub_AD40+3C
  8979.                 ld      hl, byte_D03B
  8980.                 set     7, (hl)
  8981.                 res     6, (hl)
  8982.  
  8983.  
  8984. loc_ADA9:                               ; CODE XREF: sub_AD40+27 sub_AD40+2F ...
  8985.                 ld      h, BRD_88_0/256
  8986.                 ld      l, b
  8987.                 ld      e, (hl)
  8988.                 ld      d, l
  8989.                 push    de
  8990.                 ld      (hl), 0
  8991.                 ld      l, c
  8992.                 ld      c, (hl)
  8993.                 ld      (hl), e
  8994.                 ld      b, l
  8995.                 inc     h               ; word_D100
  8996.                 res     2, e
  8997.                 ld      l, e
  8998.                 ld      (hl), b
  8999.                 inc     l
  9000.                 ld      e, d
  9001.                 ld      d, (hl)
  9002.                 ld      a, #F
  9003.                 and     d
  9004.                 jp      z, loc_AF1F
  9005.  
  9006.                 dec     a
  9007.                 jr      z, loc_ADF5
  9008.  
  9009.                 set     4, (hl)
  9010.                 dec     c
  9011.                 inc     c
  9012.                 jr      nz, loc_ADD1
  9013.  
  9014.  
  9015. loc_ADCC:                               ; CODE XREF: sub_AD40+1E7
  9016.                 ld      e, #80 ; 'А'
  9017.                 push    de
  9018.                 exx
  9019.                 jp      (hl)
  9020.  
  9021. ; ---------------------------------------------------------------------------
  9022.  
  9023. loc_ADD1:                               ; CODE XREF: sub_AD40+8A
  9024.                                         ; sub_AD40+1BD ...
  9025.                 ld      e, 0
  9026.  
  9027.  
  9028. loc_ADD3:                               ; CODE XREF: sub_AD40+1AE
  9029.                                         ; sub_AD40+1D2
  9030.                 push    bc
  9031.                 res     2, c
  9032.                 ld      l, c
  9033.                 set     7, (hl)
  9034.                 inc     l
  9035.                 ld      a, #F
  9036.                 and     (hl)
  9037.                 bit     7, l
  9038.                 jr      z, loc_ADE3
  9039.  
  9040.                 neg
  9041.  
  9042.  
  9043. loc_ADE3:                               ; CODE XREF: sub_AD40+9F
  9044.                 ld      hl, word_D00D
  9045.                 add     a, (hl)
  9046.                 ld      (hl), a
  9047.                 ld      hl, byte_D03B
  9048.                 res     7, (hl)
  9049.                 ld      hl, (word_D03D)
  9050.                 set     7, (hl)
  9051.                 push    de
  9052.                 exx
  9053.                 jp      (hl)
  9054.  
  9055. ; ---------------------------------------------------------------------------
  9056.  
  9057. loc_ADF5:                               ; CODE XREF: sub_AD40+84
  9058.                 ld      a, b
  9059.                 cp      e
  9060.                 jr      c, loc_AE66
  9061.  
  9062.                 rla
  9063.                 rla
  9064.                 jr      nc, loc_AE45
  9065.  
  9066.                 rl      a
  9067.                 jr      c, loc_AE4D
  9068.  
  9069.                 jp      m, loc_AE2D
  9070.  
  9071.                 ld      (hl), #21 ; '!'
  9072.                 ld      e, l
  9073.                 dec     h
  9074.                 ld      a, b
  9075.                 add     a, #10
  9076.                 ld      l, a
  9077.                 ld      a, (hl)
  9078.                 cp      #C0 ; '└'
  9079.                 jr      nc, loc_AE59
  9080.  
  9081.                 ld      a, l
  9082.                 add     a, #F
  9083.                 ld      l, a
  9084.                 ld      a, (hl)
  9085.                 cp      #C0 ; '└'
  9086.                 jr      nc, loc_AE59
  9087.  
  9088.                 inc     l
  9089.                 ld      a, (hl)
  9090.                 cp      #C0 ; '└'
  9091.                 jr      nc, loc_AE59
  9092.  
  9093.                 inc     l
  9094.                 ld      a, (hl)
  9095.                 cp      #C0 ; '└'
  9096.                 jr      nc, loc_AE59
  9097.  
  9098.                 ld      l, e
  9099.                 inc     h
  9100.                 ld      (hl), #51 ; 'Q'
  9101.                 jp      loc_AEF3
  9102.  
  9103. ; ---------------------------------------------------------------------------
  9104.  
  9105. loc_AE2D:                               ; CODE XREF: sub_AD40+C1
  9106.                 ld      (hl), #41 ; 'A'
  9107.                 ld      e, l
  9108.                 dec     h
  9109.                 ld      a, b
  9110.                 add     a, #10
  9111.                 ld      l, a
  9112.                 ld      a, (hl)
  9113.                 cp      #C0 ; '└'
  9114.                 jr      nc, loc_AE59
  9115.  
  9116.                 ld      l, e
  9117.                 inc     h
  9118.                 ld      (hl), #71 ; 'q'
  9119.                 set     0, (ix+2)
  9120.                 jp      loc_AEF3
  9121.  
  9122. ; ---------------------------------------------------------------------------
  9123.  
  9124. loc_AE45:                               ; CODE XREF: sub_AD40+BB
  9125.                 cp      #C0 ; '└'
  9126.                 jp      nc, loc_AEF1
  9127.  
  9128.                 jp      loc_AEF3
  9129.  
  9130. ; ---------------------------------------------------------------------------
  9131.  
  9132. loc_AE4D:                               ; CODE XREF: sub_AD40+BF
  9133.                 jp      m, loc_AECF
  9134.  
  9135.                 ld      (hl), #A1 ; 'б'
  9136.                 set     0, (ix+2)
  9137.                 jp      loc_AEF3
  9138.  
  9139. ; ---------------------------------------------------------------------------
  9140.  
  9141. loc_AE59:                               ; CODE XREF: sub_AD40+CF sub_AD40+D8 ...
  9142.                 ld      a, (ix+2)
  9143.                 bit     3, a
  9144.                 jp      z, loc_AF15
  9145.  
  9146.                 ld      l, e
  9147.                 inc     h
  9148.                 jp      loc_AEFB
  9149.  
  9150. ; ---------------------------------------------------------------------------
  9151.  
  9152. loc_AE66:                               ; CODE XREF: sub_AD40+B7
  9153.                 rla
  9154.                 rla
  9155.                 jr      c, loc_AEBC
  9156.  
  9157.                 rl      a
  9158.                 jr      nc, loc_AEC3
  9159.  
  9160.                 jp      p, loc_AEA2
  9161.  
  9162.                 ld      (hl), #21 ; '!'
  9163.                 ld      e, l
  9164.                 dec     h
  9165.                 ld      a, b
  9166.                 sub     #10
  9167.                 ld      l, a
  9168.                 ld      a, (hl)
  9169.                 and     #C0 ; '└'
  9170.                 cp      #40 ; '@'
  9171.                 jr      nc, loc_AE59
  9172.  
  9173.                 ld      a, l
  9174.                 sub     #11
  9175.                 ld      l, a
  9176.                 ld      a, (hl)
  9177.                 and     #C0 ; '└'
  9178.                 cp      #40 ; '@'
  9179.                 jr      z, loc_AE59
  9180.  
  9181.                 inc     l
  9182.                 ld      a, (hl)
  9183.                 and     #C0 ; '└'
  9184.                 cp      #40 ; '@'
  9185.                 jr      z, loc_AE59
  9186.  
  9187.                 inc     l
  9188.                 ld      a, (hl)
  9189.                 and     #C0 ; '└'
  9190.                 cp      #40 ; '@'
  9191.                 jr      z, loc_AE59
  9192.  
  9193.                 ld      l, e
  9194.                 inc     h
  9195.                 ld      (hl), #51 ; 'Q'
  9196.                 jp      loc_AEF3
  9197.  
  9198. ; ---------------------------------------------------------------------------
  9199.  
  9200. loc_AEA2:                               ; CODE XREF: sub_AD40+12E
  9201.                 ld      (hl), #41 ; 'A'
  9202.                 ld      e, l
  9203.                 dec     h
  9204.                 ld      a, b
  9205.                 sub     #10
  9206.                 ld      l, a
  9207.                 ld      a, (hl)
  9208.                 and     #C0 ; '└'
  9209.                 cp      #40 ; '@'
  9210.                 jr      z, loc_AE59
  9211.  
  9212.                 ld      l, e
  9213.                 inc     h
  9214.                 ld      (hl), #71 ; 'q'
  9215.                 set     0, (ix+2)
  9216.                 jp      loc_AEF3
  9217.  
  9218. ; ---------------------------------------------------------------------------
  9219.  
  9220. loc_AEBC:                               ; CODE XREF: sub_AD40+128
  9221.                 and     #C0 ; '└'
  9222.                 jr      z, loc_AEF1
  9223.  
  9224.                 jp      loc_AEF3
  9225.  
  9226. ; ---------------------------------------------------------------------------
  9227.  
  9228. loc_AEC3:                               ; CODE XREF: sub_AD40+12C
  9229.                 jp      p, loc_AECF
  9230.  
  9231.                 ld      (hl), #A1 ; 'б'
  9232.                 set     0, (ix+2)
  9233.                 jp      loc_AEF3
  9234.  
  9235. ; ---------------------------------------------------------------------------
  9236.  
  9237. loc_AECF:                               ; CODE XREF: sub_AD40:loc_AE4D
  9238.                                         ; sub_AD40:loc_AEC3
  9239.                 set     6, (ix+2)
  9240.                 ld      (hl), #19
  9241.                 ld      a, (word_D00D)
  9242.                 bit     7, l
  9243.                 jr      z, loc_AEDE
  9244.  
  9245.                 add     a, #10
  9246.  
  9247.  
  9248. loc_AEDE:                               ; CODE XREF: sub_AD40+19A
  9249.                 sub     8
  9250.                 ld      (word_D00D), a
  9251.                 ld      e, #84 ; 'Д'
  9252.                 bit     3, (ix+2)
  9253.                 jp      z, loc_AF17
  9254.  
  9255.                 ld      e, 4
  9256.                 jp      loc_ADD3
  9257.  
  9258. ; ---------------------------------------------------------------------------
  9259.  
  9260. loc_AEF1:                               ; CODE XREF: sub_AD40+107
  9261.                                         ; sub_AD40+17E
  9262.                 ld      (hl), #11
  9263.  
  9264.  
  9265. loc_AEF3:                               ; CODE XREF: sub_AD40+EA
  9266.                                         ; sub_AD40+102 ...
  9267.                 ld      a, (ix+2)
  9268.                 bit     3, a
  9269.                 jp      z, loc_AF15
  9270.  
  9271.  
  9272. loc_AEFB:                               ; CODE XREF: sub_AD40+123
  9273.                 bit     5, a
  9274.                 jp      z, loc_ADD1
  9275.  
  9276.                 ld      a, b
  9277.                 bit     7, l
  9278.                 jr      z, loc_AF07
  9279.  
  9280.                 add     a, #20 ; ' '
  9281.  
  9282.  
  9283. loc_AF07:                               ; CODE XREF: sub_AD40+1C3
  9284.                 sub     #10
  9285.                 dec     h
  9286.                 ld      l, a
  9287.                 ld      c, (hl)
  9288.                 ld      (hl), 0
  9289.                 inc     h
  9290.                 ld      b, l
  9291.                 ld      e, 1
  9292.                 jp      loc_ADD3
  9293.  
  9294. ; ---------------------------------------------------------------------------
  9295.  
  9296. loc_AF15:                               ; CODE XREF: sub_AD40+11E
  9297.                                         ; sub_AD40+1B8
  9298.                 ld      e, #80 ; 'А'
  9299.  
  9300.  
  9301. loc_AF17:                               ; CODE XREF: sub_AD40+1A9
  9302.                 push    de
  9303.                 ld      hl, (word_D03D)
  9304.                 set     7, (hl)
  9305.                 exx
  9306.                 jp      (hl)
  9307.  
  9308. ; ---------------------------------------------------------------------------
  9309.  
  9310. loc_AF1F:                               ; CODE XREF: sub_AD40+80
  9311.                 call    sub_AF65
  9312.  
  9313.                 ld      a, (ix+2)
  9314.                 and     #18
  9315.                 jp      z, loc_ADCC
  9316.  
  9317.                 and     8
  9318.                 jp      nz, loc_ADD1
  9319.  
  9320.                 set     5, (hl)
  9321.                 dec     h
  9322.                 bit     2, b
  9323.                 jr      z, loc_AF40
  9324.  
  9325.                 inc     b
  9326.                 ld      l, b
  9327.                 ld      c, (hl)
  9328.                 ld      (hl), 0
  9329.                 dec     l
  9330.                 dec     l
  9331.                 jp      loc_AF49
  9332.  
  9333. ; ---------------------------------------------------------------------------
  9334.  
  9335. loc_AF40:                               ; CODE XREF: sub_AD40+1F4
  9336.                 dec     b
  9337.                 dec     b
  9338.                 ld      l, b
  9339.                 ld      c, (hl)
  9340.                 ld      (hl), 0
  9341.                 inc     l
  9342.                 inc     l
  9343.                 inc     l
  9344.  
  9345.  
  9346. loc_AF49:                               ; CODE XREF: sub_AD40+1FD
  9347.                 ld      (hl), c
  9348.                 ld      a, (word_D04A+1)
  9349.                 or      a
  9350.                 jr      z, loc_AF54
  9351.  
  9352.                 ld      a, #84 ; 'Д'
  9353.                 and     c
  9354.                 ld      (hl), a
  9355.  
  9356.  
  9357. loc_AF54:                               ; CODE XREF: sub_AD40+20E
  9358.                 push    bc
  9359.                 res     2, c
  9360.                 ld      b, #D1  ; '╤'
  9361.                 ld      a, l
  9362.                 ld      (bc), a
  9363.                 ld      e, #40 ; '@'
  9364.                 ld      hl, (word_D03D)
  9365.                 set     7, (hl)
  9366.                 push    de
  9367.                 exx
  9368.                 jp      (hl)
  9369.  
  9370. ; End of function sub_AD40
  9371.  
  9372.  
  9373. ; =============== S U B R O U T I N E =======================================
  9374.  
  9375.  
  9376. sub_AF65:                               ; CODE XREF: sub_AD40:loc_AF1F
  9377.                 ld      a, d
  9378.                 or      #10
  9379.  
  9380.  
  9381. loc_AF68:                               ; CODE XREF: sub_884D:loc_A912
  9382.                 and     #3F ; '?'
  9383.                 ld      e, #11
  9384.  
  9385.  
  9386. loc_AF6C:                               ; CODE XREF: sub_AF65+19
  9387.                 ld      (hl), a
  9388.                 ld      a, b
  9389.                 add     a, e
  9390.                 and     #88 ; 'И'
  9391.                 ret     nz
  9392.                 ld      a, b
  9393.                 sub     e
  9394.                 and     #88 ; 'И'
  9395.                 ret     nz
  9396.                 ld      a, #11
  9397.                 add     a, e
  9398.                 ld      e, a
  9399.                 ld      a, #40 ; '@'
  9400.                 add     a, (hl)
  9401.                 jp      loc_AF6C
  9402.  
  9403. ; End of function sub_AF65
  9404.  
  9405.  
  9406. ; =============== S U B R O U T I N E =======================================
  9407.  
  9408.  
  9409. sub_AF81:                               ; CODE XREF: sub_A909   sub_AB53+7F ...
  9410.                 pop     hl
  9411.                 exx
  9412.                 pop     af
  9413.                 pop     hl
  9414.                 ld      c, a
  9415.                 ld      a, 0
  9416.                 ld      d, BRD_88_0/256
  9417.                 jp      m, loc_AF9A
  9418.  
  9419.                 jr      z, loc_AFB6
  9420.  
  9421.                 jr      c, loc_AFAF
  9422.  
  9423.                 ld      b, l
  9424.  
  9425.  
  9426. loc_AF92:                               ; CODE XREF: sub_AF81+32
  9427.                 res     2, l
  9428.                 ld      h, word_D100/256
  9429.                 res     7, (hl)
  9430.                 ld      a, b
  9431.  
  9432.  
  9433. loc_AF99:                               ; CODE XREF: sub_AF81+41
  9434.                 pop     hl
  9435.  
  9436.  
  9437. loc_AF9A:                               ; CODE XREF: sub_AF81+9
  9438.                 ld      e, h
  9439.                 ex      de, hl
  9440.                 ld      (hl), e
  9441.                 ex      de, hl
  9442.                 res     2, l
  9443.                 ld      h, word_D100/256
  9444.                 ld      b, (hl)
  9445.                 ld      (hl), e
  9446.                 inc     l
  9447.                 ld      (hl), c
  9448.                 ld      l, b
  9449.                 dec     h               ; BRD_88_0/256
  9450.                 ld      (hl), a
  9451.                 pop     hl
  9452.                 ld      (word_D00D), hl
  9453.                 exx
  9454.                 jp      (hl)
  9455.  
  9456. ; ---------------------------------------------------------------------------
  9457.  
  9458. loc_AFAF:                               ; CODE XREF: sub_AF81+E
  9459.                 ld      e, h
  9460.                 ld      b, a
  9461.                 ld      a, l
  9462.                 ld      (de), a
  9463.                 jp      loc_AF92
  9464.  
  9465. ; ---------------------------------------------------------------------------
  9466.  
  9467. loc_AFB6:                               ; CODE XREF: sub_AF81+C
  9468.                 ld      e, h
  9469.                 ld      a, l
  9470.                 ld      (de), a
  9471.                 res     2, l
  9472.                 ld      h, word_D100/256
  9473.                 ld      b, (hl)
  9474.                 ld      (hl), e
  9475.                 xor     a
  9476.                 ld      e, b
  9477.                 ld      (de), a
  9478.                 jp      loc_AF99
  9479.  
  9480. ; End of function sub_AF81
  9481.  
  9482.  
  9483. ; =============== S U B R O U T I N E =======================================
  9484.  
  9485.  
  9486. sub_AFC5:                               ; CODE XREF: sub_A900
  9487.                 ld      ix, word_D059
  9488.                 call    sub_A94F
  9489.  
  9490.                 dec     hl
  9491.                 dec     hl
  9492.                 ld      (hl), #FF
  9493.                 call    sub_AC74
  9494.  
  9495.                 jp      z, loc_B0B7
  9496.  
  9497.                 ld      a, (byte_D0B4)
  9498.                 bit     5, a
  9499.                 jr      z, loc_AFE0
  9500.  
  9501.                 call    nz, sub_B2E2
  9502.  
  9503.  
  9504. loc_AFE0:                               ; CODE XREF: sub_AFC5+16
  9505.                 call    sub_B2D1
  9506.  
  9507.                 call    sub_B2F1
  9508.  
  9509.                 call    sub_B1EB
  9510.  
  9511.                 ld      hl, byte_D0B3 ;d3=swap board
  9512.                 res     5, (hl)
  9513.                 ld      hl, byte_D108
  9514.                 xor     a
  9515.                 ld      (byte_D04C), a
  9516.                 call    sub_A932
  9517.  
  9518.                 ld      e, c
  9519.                 ld      l, #88 ; 'И'
  9520.                 call    sub_A932
  9521.  
  9522.                 ld      a, c
  9523.                 sub     e
  9524.                 ld      (byte_D02E), a
  9525.                 ld      a, (byte_D049)
  9526.                 cp      8
  9527.                 cpl
  9528.                 jr      c, loc_B00D
  9529.  
  9530.                 ld      a, c
  9531.                 add     a, e
  9532.  
  9533.  
  9534. loc_B00D:                               ; CODE XREF: sub_AFC5+44
  9535.                 ld      hl, byte_A927
  9536.  
  9537.  
  9538. loc_B010:                               ; CODE XREF: sub_AFC5+4E
  9539.                 inc     hl
  9540.                 cp      (hl)
  9541.                 inc     hl
  9542.                 jr      c, loc_B010
  9543.  
  9544.                 ld      b, (hl)
  9545.                 ld      hl, byte_D02D
  9546.                 ld      a, (hl)
  9547.                 and     1
  9548.                 or      b
  9549.                 ld      (hl), a
  9550.                 xor     a
  9551.                 ld      (word_D00D), a
  9552.                 ld      a, #FE  ; '■'
  9553.                 ld      (byte_D098), a
  9554.                 call    sub_B2B9
  9555.  
  9556.                 push    hl
  9557.                 call    sub_AB4C
  9558.  
  9559.                 pop     ix
  9560.                 scf
  9561.                 ret     z
  9562.                 ld      a, (byte_D0EF)
  9563.                 ld      (byte_D08B), a
  9564.                 inc     ix
  9565.                 xor     a
  9566.                 ld      (word_D00D+1), a
  9567.                 inc     a
  9568.                 ld      (byte_D03B), a
  9569.                 ld      a, (byte_D0B1)
  9570.                 cp      #B
  9571.                 call    nc, sub_B8B2
  9572.  
  9573.                 ld      a, (byte_D0F1)
  9574.                 ld      (byte_D0F2), a
  9575.  
  9576.  
  9577. loc_B050:                               ; CODE XREF: sub_AFC5+EF
  9578.                 call    sub_8F4D
  9579.  
  9580.                 call    loc_B819
  9581.  
  9582.                 jr      c, loc_B0B7
  9583.  
  9584.                 push    ix
  9585.                 call    sub_B19C
  9586.  
  9587.  
  9588. loc_B05D:                               ; CODE XREF: sub_AFC5:loc_B182
  9589.                 ld      a, (byte_D0B1)
  9590.                 cp      #C
  9591.                 jr      nz, loc_B07A
  9592.  
  9593.                 xor     a
  9594.                 ld      (byte_D08A), a
  9595.                 ld      (byte_D08C), a
  9596.                 ld      (byte_D00B), a
  9597.                 ld      (byte_D01C), a
  9598.                 inc     a
  9599.                 ld      (byte_D08B), a
  9600.                 ld      a, #80 ; 'А'
  9601.                 ld      (byte_D019), a
  9602.  
  9603.  
  9604. loc_B07A:                               ; CODE XREF: sub_AFC5+9D
  9605.                 call    sub_B47F
  9606.  
  9607.                 call    sub_B2D1
  9608.  
  9609.                 ld      hl, byte_D08B
  9610.                 pop     ix
  9611.                 ld      a, (byte_D0B1)
  9612.                 cp      #C
  9613.                 jr      nz, loc_B091
  9614.  
  9615.                 call    sub_A6F7
  9616.  
  9617.                 jr      loc_B097
  9618.  
  9619. ; ---------------------------------------------------------------------------
  9620.  
  9621. loc_B091:                               ; CODE XREF: sub_AFC5+C5
  9622.                 ld      a, (ix+3)
  9623.                 inc     a
  9624.                 jr      z, loc_B09C
  9625.  
  9626.  
  9627. loc_B097:                               ; CODE XREF: sub_AFC5+CA
  9628.                 ld      a, (hl)
  9629.                 cp      #FE ; '■'
  9630.                 jr      c, loc_B0A3
  9631.  
  9632.  
  9633. loc_B09C:                               ; CODE XREF: sub_AFC5+D0
  9634.                 ld      a, (byte_D0B4)
  9635.                 bit     5, a
  9636.                 jr      z, loc_B0B7
  9637.  
  9638.  
  9639. loc_B0A3:                               ; CODE XREF: sub_AFC5+D5
  9640.                 ld      a, (byte_D0B4)
  9641.                 rla
  9642.                 jr      c, loc_B0B7
  9643.  
  9644.                 push    ix
  9645.                 ld      a, (byte_D00B)
  9646.                 cp      (hl)
  9647.                 jp      z, loc_B175
  9648.  
  9649.                 pop     ix
  9650.                 jp      loc_B050
  9651.  
  9652. ; ---------------------------------------------------------------------------
  9653.  
  9654. loc_B0B7:                               ; CODE XREF: sub_AFC5+E sub_AFC5+91     ...
  9655.                 ld      a, (byte_D0B4)
  9656.                 bit     5, a
  9657.                 jp      nz, loc_B164
  9658.  
  9659.                 ld      bc, (INC_SECONDS)
  9660.                 ld      hl, (word_D088)
  9661.                 add     hl, bc
  9662.                 ld      (word_D088), hl
  9663.                 ld      a, (byte_D049)
  9664.                 cp      9
  9665.                 jp      c, loc_B164
  9666.  
  9667.                 ld      h, b
  9668.                 ld      l, c
  9669.                 ld      a, (byte_D03C)
  9670.                 cp      4
  9671.                 jr      nc, loc_B0E9
  9672.  
  9673.                 push    af
  9674.                 ld      a, (byte_D0B3) ;d3=swap board
  9675.                 bit     5, a
  9676.                 jr      nz, loc_B0E8
  9677.  
  9678.                 ld      bc, (word_D02B)
  9679.                 add     hl, bc
  9680.  
  9681.  
  9682. loc_B0E8:                               ; CODE XREF: sub_AFC5+11C
  9683.                 pop     af
  9684.  
  9685.  
  9686. loc_B0E9:                               ; CODE XREF: sub_AFC5+114
  9687.                 cp      6
  9688.                 ld      a, (byte_D02A)
  9689.                 ld      c, a
  9690.                 ld      b, 0
  9691.                 jr      c, loc_B0FE
  9692.  
  9693.                 ld      a, c
  9694.                 rra
  9695.                 rra
  9696.                 and     #3F ; '?'
  9697.                 add     a, c
  9698.                 ld      c, a
  9699.                 ld      a, 0
  9700.                 adc     a, b
  9701.                 ld      b, a
  9702.  
  9703.  
  9704. loc_B0FE:                               ; CODE XREF: sub_AFC5+12C
  9705.                 ld      a, 4
  9706.  
  9707.  
  9708. loc_B100:                               ; CODE XREF: sub_AFC5+140
  9709.                 dec     a
  9710.                 jr      z, loc_B107
  9711.  
  9712.                 sbc     hl, bc
  9713.                 jr      nc, loc_B100
  9714.  
  9715.  
  9716. loc_B107:                               ; CODE XREF: sub_AFC5+13C
  9717.                 sub     2
  9718.                 jr      z, loc_B120
  9719.  
  9720.                 jr      c, loc_B11D
  9721.  
  9722.                 ld      a, (byte_D03C)
  9723.                 cp      3
  9724.                 jr      nc, loc_B11B
  9725.  
  9726.                 ld      a, (byte_D0B3) ;d3=swap board
  9727.                 bit     5, a
  9728.                 jr      nz, loc_B120
  9729.  
  9730.  
  9731. loc_B11B:                               ; CODE XREF: sub_AFC5+14D
  9732.                 ld      a, 1
  9733.  
  9734.  
  9735. loc_B11D:                               ; CODE XREF: sub_AFC5+146
  9736.                 call    sub_B185
  9737.  
  9738.  
  9739. loc_B120:                               ; CODE XREF: sub_AFC5+144
  9740.                                         ; sub_AFC5+154
  9741.                 ld      a, (byte_D0B1)
  9742.                 cp      #A
  9743.                 jr      z, loc_B14F
  9744.  
  9745.                 ld      a, (byte_D02D)
  9746.                 bit     2, a
  9747.                 jr      nz, loc_B14F
  9748.  
  9749.                 ld      a, (byte_D0F4)
  9750.                 cp      #9B ; 'Ы'
  9751.                 jr      c, loc_B164
  9752.  
  9753.                 ld      a, (byte_D0B1)
  9754.                 add     a, a
  9755.                 ld      hl, tbl_B8DD-2
  9756.                 add     a, l
  9757.                 ld      l, a
  9758.                 ld      a, 0
  9759.                 adc     a, h
  9760.                 ld      h, a
  9761.                 ld      a, (byte_D0F1)
  9762.                 sub     3
  9763.                 sub     (hl)
  9764.                 neg
  9765.                 call    m, sub_B185
  9766.  
  9767.                 jr      loc_B164
  9768.  
  9769. ; ---------------------------------------------------------------------------
  9770.  
  9771. loc_B14F:                               ; CODE XREF: sub_AFC5+160
  9772.                                         ; sub_AFC5+167
  9773.                 ld      a, (byte_D0F1)
  9774.                 add     a, 4
  9775.                 ld      hl, byte_D0F2
  9776.                 cp      (hl)
  9777.                 ld      a, 2
  9778.                 jr      nc, loc_B164
  9779.  
  9780.                 ld      hl, byte_D0B3 ;d3=swap board
  9781.                 bit     5, (hl)
  9782.                 call    z, sub_B185
  9783.  
  9784.  
  9785. loc_B164:                               ; CODE XREF: sub_AFC5+F7
  9786.                                         ; sub_AFC5+10A ...
  9787.                 xor     a
  9788.                 ret
  9789.  
  9790. ; ---------------------------------------------------------------------------
  9791.  
  9792. loc_B166:                               ; CODE XREF: sub_B47F+CA
  9793.                 xor     a
  9794.                 ld      (byte_D08A), a
  9795.                 ld      (byte_D08C), a
  9796.                 ld      a, (byte_D00B)
  9797.                 ld      (byte_D08B), a
  9798.                 jr      loc_B182
  9799.  
  9800. ; ---------------------------------------------------------------------------
  9801.  
  9802. loc_B175:                               ; CODE XREF: sub_AFC5+EA
  9803.                 ld      a, (byte_D08A)
  9804.                 ld      (byte_D08C), a
  9805.                 xor     a
  9806.                 ld      (byte_D00B), a
  9807.                 ld      (byte_D08B), a
  9808.  
  9809.  
  9810. loc_B182:                               ; CODE XREF: sub_AFC5+1AE
  9811.                 jp      loc_B05D
  9812.  
  9813. ; End of function sub_AFC5
  9814.  
  9815.  
  9816. ; =============== S U B R O U T I N E =======================================
  9817.  
  9818.  
  9819. sub_B185:                               ; CODE XREF: sub_AFC5:loc_B11D
  9820.                                         ; sub_AFC5+185 ...
  9821.                 ld      d, a
  9822.                 ld      a, (byte_D0F1)
  9823.                 add     a, d
  9824.                 ld      d, a
  9825.                 and     #F0 ; 'Ё'
  9826.                 jr      nz, loc_B191
  9827.  
  9828.                 ld      d, #10
  9829.  
  9830.  
  9831. loc_B191:                               ; CODE XREF: sub_B185+8
  9832.                 cp      #50 ; 'P'
  9833.                 jr      c, loc_B197
  9834.  
  9835.                 ld      d, #4F ; 'O'
  9836.  
  9837.  
  9838. loc_B197:                               ; CODE XREF: sub_B185+E
  9839.                 ld      a, d
  9840.                 ld      (byte_D0F1), a
  9841.                 ret
  9842.  
  9843. ; End of function sub_B185
  9844.  
  9845.  
  9846. ; =============== S U B R O U T I N E =======================================
  9847.  
  9848.  
  9849. sub_B19C:                               ; CODE XREF: sub_AFC5+95
  9850.                 ld      a, (byte_D08B)
  9851.                 ld      c, a
  9852.                 add     a, #84 ; 'Д'
  9853.                 sra     a
  9854.                 sra     a
  9855.                 sra     a
  9856.                 ld      b, a
  9857.                 ld      a, (byte_D0B2)
  9858.                 or      a
  9859.                 ld      a, b
  9860.                 jr      nz, loc_B1B2
  9861.  
  9862.                 neg
  9863.  
  9864.  
  9865. loc_B1B2:                               ; CODE XREF: sub_B19C+12
  9866.                 ld      hl, word_D00D
  9867.                 add     a, (hl)
  9868.                 ld      (hl), a
  9869.                 neg
  9870.                 ld      hl, byte_D02E
  9871.                 add     a, (hl)
  9872.                 cp      #F
  9873.                 jr      c, loc_B1CC
  9874.  
  9875.                 cp      #F2 ; 'Є'
  9876.                 jr      nc, loc_B1CC
  9877.  
  9878.                 rla
  9879.                 ld      a, #E
  9880.                 jr      nc, loc_B1CC
  9881.  
  9882.                 ld      a, #F2  ; 'Є'
  9883.  
  9884.  
  9885. loc_B1CC:                               ; CODE XREF: sub_B19C+23 sub_B19C+27 ...
  9886.                 add     a, a
  9887.                 add     a, a
  9888.                 add     a, a
  9889.                 ld      (byte_D01E), a
  9890.                 ld      a, b
  9891.                 add     a, a
  9892.                 add     a, a
  9893.                 add     a, a
  9894.                 neg
  9895.                 add     a, c
  9896.                 sub     8
  9897.                 ld      (byte_D00B), a
  9898.                 ld      (byte_D08B), a
  9899.                 ld      (byte_D08A), a
  9900.                 ld      (byte_D08C), a
  9901.                 ret
  9902.  
  9903. ; End of function sub_B19C
  9904.  
  9905. ; ---------------------------------------------------------------------------
  9906. ; START OF FUNCTION CHUNK FOR sub_B1EB
  9907.  
  9908. loc_B1E8:                               ; CODE XREF: sub_B1EB+46
  9909.                 call    sub_B8B2
  9910.  
  9911. ; END OF FUNCTION CHUNK FOR sub_B1EB
  9912.  
  9913. ; =============== S U B R O U T I N E =======================================
  9914.  
  9915.  
  9916. sub_B1EB:                               ; CODE XREF: sub_AFC5+21
  9917.  
  9918. ; FUNCTION CHUNK AT B1E8 SIZE 00000003 BYTES
  9919.  
  9920.                 ld      a, (byte_D0B1)
  9921.                 cp      #A
  9922.                 ld      a, (byte_D0F4)
  9923.                 jr      nz, loc_B205
  9924.  
  9925.                 or      a
  9926.                 ld      (byte_D0F3), a
  9927.                 rr      a
  9928.                 inc     a
  9929.                 ld      (byte_D02A), a
  9930.                 ld      a, #A
  9931.                 ld      (byte_D03C), a
  9932.                 ret
  9933.  
  9934. ; ---------------------------------------------------------------------------
  9935.  
  9936. loc_B205:                               ; CODE XREF: sub_B1EB+8
  9937.                 ld      e, a
  9938.                 xor     a
  9939.                 ld      d, a
  9940.                 ld      b, #A
  9941.                 ld      hl, 0
  9942.  
  9943.  
  9944. loc_B20D:                               ; CODE XREF: sub_B1EB+24
  9945.                 adc     hl, de          ; mul E by 10, why ADC???
  9946.                 djnz    loc_B20D
  9947.  
  9948.                 ld      a, (byte_D049)
  9949.                 dec     a
  9950.                 ld      b, 0
  9951.                 ld      c, #A
  9952.  
  9953.  
  9954. loc_B219:                               ; CODE XREF: sub_B1EB+30
  9955.                 inc     b
  9956.                 sub     c
  9957.                 jr      nc, loc_B219
  9958.  
  9959.                 neg
  9960.                 ld      d, h
  9961.                 ld      e, l
  9962.                 or      a
  9963.                 jr      loc_B226
  9964.  
  9965. ; ---------------------------------------------------------------------------
  9966.  
  9967. loc_B224:                               ; CODE XREF: sub_B1EB:loc_B226
  9968.                 adc     hl, de          ; E*10*floor(byte_D049/10)
  9969.  
  9970.  
  9971. loc_B226:                               ; CODE XREF: sub_B1EB+37
  9972.                 djnz    loc_B224
  9973.  
  9974.                 ld      de, (word_D088)
  9975.                 or      a
  9976.                 sbc     hl, de
  9977.                 bit     7, h
  9978.                 jr      nz, loc_B1E8
  9979.  
  9980.                 ld      c, a
  9981.                 push    hl
  9982.                 ld      a, (byte_D0F4)
  9983.                 ld      d, 0
  9984.                 ld      e, a
  9985.                 xor     a
  9986.                 ld      (byte_D03C), a
  9987.                 dec     a
  9988.  
  9989.  
  9990. loc_B240:                               ; CODE XREF: sub_B1EB+58
  9991.                 inc     a
  9992.                 sbc     hl, de
  9993.                 jr      nc, loc_B240
  9994.  
  9995.                 sub     c
  9996.                 jr      c, loc_B24B
  9997.  
  9998.                 ld      (byte_D03C), a
  9999.  
  10000.  
  10001. loc_B24B:                               ; CODE XREF: sub_B1EB+5B
  10002.                 pop     hl
  10003.                 ld      a, #FE  ; '■'
  10004.                 ld      (byte_D0F3), a
  10005.                 ld      (byte_D02A), a
  10006.                 ld      a, h
  10007.                 srl     a
  10008.                 jr      nz, loc_B26A
  10009.  
  10010.                 ld      a, l
  10011.                 rra
  10012.                 dec     c
  10013.                 jr      z, loc_B260
  10014.  
  10015.                 srl     a
  10016.  
  10017.  
  10018. loc_B260:                               ; CODE XREF: sub_B1EB+71
  10019.                 inc     c
  10020.                 sub     2
  10021.                 jr      nc, loc_B266
  10022.  
  10023.                 xor     a
  10024.  
  10025.  
  10026. loc_B266:                               ; CODE XREF: sub_B1EB+78
  10027.                 inc     a
  10028.                 ld      (byte_D0F3), a
  10029.  
  10030.  
  10031. loc_B26A:                               ; CODE XREF: sub_B1EB+6C
  10032.                 xor     a               ; HL=HL/C ?
  10033.                 ld      b, #11
  10034.  
  10035.  
  10036. loc_B26D:                               ; CODE XREF: sub_B1EB+8C
  10037.                 rl      l               ; ADC HL,HL?
  10038.                 rl      h
  10039.                 rla
  10040.                 cp      c
  10041.                 jr      c, loc_B276
  10042.  
  10043.                 sub     c
  10044.  
  10045.  
  10046. loc_B276:                               ; CODE XREF: sub_B1EB+88
  10047.                 ccf
  10048.                 djnz    loc_B26D
  10049.  
  10050.                 ld      a, h
  10051.                 srl     a
  10052.                 jr      nz, loc_B29C
  10053.  
  10054.                 ld      a, l
  10055.                 rra
  10056.                 or      a
  10057.                 jr      nz, loc_B284
  10058.  
  10059.                 inc     a
  10060.  
  10061.  
  10062. loc_B284:                               ; CODE XREF: sub_B1EB+96
  10063.                 ld      (byte_D02A), a
  10064.                 rla
  10065.                 jr      c, loc_B29C
  10066.  
  10067.                 ld      a, (byte_D0F4)
  10068.                 cp      l
  10069.                 jr      c, loc_B29F
  10070.  
  10071.                 ld      a, (byte_D0B4)
  10072.                 bit     5, a
  10073.                 jr      nz, loc_B29C
  10074.  
  10075.                 ld      a, #FF
  10076.                 call    sub_B185
  10077.  
  10078.  
  10079. loc_B29C:                               ; CODE XREF: sub_B1EB+91 sub_B1EB+9D ...
  10080.                 ld      a, (byte_D0F4)
  10081.  
  10082.  
  10083. loc_B29F:                               ; CODE XREF: sub_B1EB+A3
  10084.                 ld      hl, byte_D02A
  10085.                 cp      (hl)
  10086.                 jr      nc, loc_B2A6
  10087.  
  10088.                 ld      (hl), a
  10089.  
  10090.  
  10091. loc_B2A6:                               ; CODE XREF: sub_B1EB+B8
  10092.                 ld      a, (byte_D02A)
  10093.                 ld      b, a
  10094.                 add     a, a
  10095.                 ret     c
  10096.                 add     a, b
  10097.                 ret     c
  10098.                 ld      b, a
  10099.                 ld      a, (byte_D0F3)
  10100.                 cp      b
  10101.                 ret     c
  10102.                 ld      a, b
  10103.                 ld      (byte_D0F3), a
  10104.                 ret
  10105.  
  10106. ; End of function sub_B1EB
  10107.  
  10108.  
  10109. ; =============== S U B R O U T I N E =======================================
  10110.  
  10111.  
  10112. sub_B2B9:                               ; CODE XREF: sub_AFC5+62 sub_B47F-50 ...
  10113.                 ld      hl, byte_D097
  10114.                 ld      a, (hl)
  10115.                 add     a, a
  10116.                 add     a, l
  10117.                 ld      l, a
  10118.                 ld      e, (hl)
  10119.                 inc     l
  10120.                 ld      d, (hl)
  10121.                 ex      de, hl
  10122.                 inc     hl
  10123.                 inc     hl
  10124.                 ret
  10125.  
  10126. ; End of function sub_B2B9
  10127.  
  10128. ; ---------------------------------------------------------------------------
  10129.  
  10130.                 ; no alignment
  10131.  
  10132.                 ; low parts of addresses in D2xx region
  10133. tbl_B2C7:       db #58
  10134.                 db #66
  10135.                 db #72
  10136.                 db #7C
  10137.                 db #84
  10138.                 db #8A
  10139.                 db #8E
  10140.                 db #90
  10141.                 db #90
  10142.                 db #8E
  10143.  
  10144. ; =============== S U B R O U T I N E =======================================
  10145.  
  10146.  
  10147. sub_B2D1:                               ; CODE XREF: sub_AFC5:loc_AFE0
  10148.                                         ; sub_AFC5+B8
  10149.                 ld      hl, byte_D258
  10150.                 ld      de, byte_D20D
  10151.                 ld      b, #E
  10152.  
  10153.  
  10154. loc_B2D9:                               ; CODE XREF: sub_B2D1+E
  10155.                 ld      a, (hl)
  10156.                 and     #77 ; 'w'
  10157.                 ld      (de), a
  10158.                 inc     e
  10159.                 inc     l
  10160.                 djnz    loc_B2D9
  10161.  
  10162.                 ret
  10163.  
  10164. ; End of function sub_B2D1
  10165.  
  10166.  
  10167. ; =============== S U B R O U T I N E =======================================
  10168.  
  10169.  
  10170. sub_B2E2:                               ; CODE XREF: sub_AFC5+18
  10171.                 ld      hl, byte_D25C
  10172.                 ld      de, byte_D258
  10173.                 ld      b, #A
  10174.  
  10175.  
  10176. loc_B2EA:                               ; CODE XREF: sub_B2E2+C
  10177.                 ld      a, (hl)
  10178.                 ld      (de), a
  10179.                 inc     e
  10180.                 inc     l
  10181.                 djnz    loc_B2EA
  10182.  
  10183.                 ret
  10184.  
  10185. ; End of function sub_B2E2
  10186.  
  10187.  
  10188. ; =============== S U B R O U T I N E =======================================
  10189.  
  10190.  
  10191. sub_B2F1:                               ; CODE XREF: sub_AFC5+1E
  10192.                                         ; sub_B47F:loc_B405 ...
  10193.                 ld      a, (byte_D097)
  10194.                 cp      7
  10195.                 ret     nc              ; only 0..6
  10196.                 ld      e, a
  10197.                 ld      hl, tbl_B2C7
  10198.                 ld      d, 0
  10199.                 add     hl, de
  10200.                 ld      e, (hl)
  10201.                 inc     hl
  10202.                 ld      l, (hl)
  10203.                 ld      h, array_D200/256
  10204.                 ld      d, h
  10205.                 ld      a, #FF
  10206.                 ld      (hl), a
  10207.                 ld      (de), a
  10208.                 ret
  10209.  
  10210. ; End of function sub_B2F1
  10211.  
  10212.  
  10213. ; =============== S U B R O U T I N E =======================================
  10214.  
  10215.  
  10216. sub_B309:                               ; CODE XREF: sub_B47F+9D
  10217.                                         ; sub_B47F+228 ...
  10218.                 ld      a, (byte_D097)
  10219.                 ld      e, a
  10220.                 sub     8
  10221.                 jr      nc, sub_B34B
  10222.  
  10223.                 cpl
  10224.                 ld      b, a
  10225.                 ld      hl, tbl_B2C7-1
  10226.                 ld      d, 0
  10227.                 add     hl, de
  10228.                 ld      e, (hl)
  10229.                 inc     hl
  10230.                 ld      l, (hl)
  10231.                 ld      h, array_D200/256
  10232.                 ld      d, h
  10233.                 ld      a, (ix+0)
  10234.                 ld      (de), a
  10235.                 inc     e
  10236.                 ld      a, (ix+1)
  10237.                 ld      (de), a
  10238.                 dec     b
  10239.                 jp      m, loc_B337
  10240.  
  10241.                 inc     b
  10242.  
  10243.  
  10244. loc_B32D:                               ; CODE XREF: sub_B309+2C
  10245.                 inc     e
  10246.                 ld      a, (hl)
  10247.                 ld      (de), a
  10248.                 inc     l
  10249.                 inc     e
  10250.                 ld      a, (hl)
  10251.                 ld      (de), a
  10252.                 inc     l
  10253.                 djnz    loc_B32D
  10254.  
  10255.  
  10256. loc_B337:                               ; CODE XREF: sub_B309+20
  10257.                 ld      hl, byte_D0B6
  10258.                 bit     0, (hl)
  10259.                 jr      z, sub_B34B
  10260.  
  10261.                 ld      a, (byte_D097)
  10262.                 dec     a
  10263.                 jr      nz, loc_B346
  10264.  
  10265.                 set     2, (hl)
  10266.  
  10267.  
  10268. loc_B346:                               ; CODE XREF: sub_B309+39
  10269.                 bit     2, (hl)
  10270.                 call    nz, sub_A684
  10271.  
  10272. ; End of function sub_B309
  10273.  
  10274.  
  10275. ; =============== S U B R O U T I N E =======================================
  10276.  
  10277.  
  10278. sub_B34B:                               ; CODE XREF: sub_B309+6 sub_B309+33     ...
  10279.                 ld      c, (ix+1)
  10280.                 bit     7, c
  10281.                 ret     nz
  10282.                 ld      hl, unk_D20B    ; D20D-2 ?
  10283.                 ld      a, (byte_D097)
  10284.                 add     a, a
  10285.                 add     a, l
  10286.                 ld      l, a
  10287.                 ld      a, (ix+0)
  10288.                 and     #77 ; 'w'
  10289.                 ld      (hl), a
  10290.                 inc     l
  10291.                 ld      (hl), c
  10292.                 bit     3, (ix+2)
  10293.                 ret     z
  10294.                 dec     l
  10295.                 set     7, (hl)
  10296.                 ret
  10297.  
  10298. ; End of function sub_B34B
  10299.  
  10300.  
  10301. ; =============== S U B R O U T I N E =======================================
  10302.  
  10303.  
  10304. sub_B36B:                               ; CODE XREF: sub_B47F-71
  10305.                 inc     hl
  10306.                 inc     hl
  10307.                 inc     hl
  10308.                 push    hl
  10309.                 ld      a, (ix+2)
  10310.                 and     6
  10311.                 jp      z, loc_B39E
  10312.  
  10313.                 ld      b, (ix+1)
  10314.                 and     4
  10315.                 jr      nz, loc_B385
  10316.  
  10317.                 ld      a, (byte_D07A)
  10318.                 ld      b, a
  10319.                 rla
  10320.                 jr      c, loc_B39E
  10321.  
  10322.  
  10323. loc_B385:                               ; CODE XREF: sub_B36B+11
  10324.                 ex      de, hl
  10325.                 inc     hl
  10326.                 ld      de, #FFFD       ; -3
  10327.                 res     7, b
  10328.  
  10329.  
  10330. loc_B38C:                               ; CODE XREF: sub_B36B+27
  10331.                 add     hl, de
  10332.                 ld      a, (hl)
  10333.                 cp      b
  10334.                 jr      z, loc_B397
  10335.  
  10336.                 inc     a
  10337.                 jp      nz, loc_B38C
  10338.  
  10339.                 jr      loc_B39E
  10340.  
  10341. ; ---------------------------------------------------------------------------
  10342.  
  10343. loc_B397:                               ; CODE XREF: sub_B36B+24
  10344.                 pop     de
  10345.                 dec     hl
  10346.                 call    sub_B3CA
  10347.  
  10348.                 inc     de
  10349.                 push    de
  10350.  
  10351.  
  10352. loc_B39E:                               ; CODE XREF: sub_B36B+9 sub_B36B+18     ...
  10353.                 ld      hl, unk_D20B    ; D20D-2 ?
  10354.                 ld      a, (byte_D097)
  10355.                 add     a, a
  10356.                 add     a, l
  10357.                 ld      l, a
  10358.                 ld      d, (hl)
  10359.                 inc     l
  10360.                 ld      e, (hl)
  10361.                 ld      bc, 3
  10362.                 pop     hl
  10363.                 push    hl
  10364.                 bit     7, d
  10365.                 jr      nz, loc_B3BB
  10366.  
  10367.                 call    sub_AC5D
  10368.  
  10369.  
  10370. loc_B3B6:                               ; CODE XREF: sub_B36B+5B
  10371.                 pop     de
  10372.                 call    nc, sub_B3CA
  10373.  
  10374.                 ret
  10375.  
  10376. ; ---------------------------------------------------------------------------
  10377.  
  10378. loc_B3BB:                               ; CODE XREF: sub_B36B+46
  10379.                 res     7, d
  10380.                 call    sub_AC5D
  10381.  
  10382.                 inc     hl
  10383.                 inc     hl
  10384.                 bit     3, (hl)
  10385.                 dec     hl
  10386.                 dec     hl
  10387.                 jr      nz, loc_B3B6
  10388.  
  10389.                 pop     de
  10390.                 ret
  10391.  
  10392. ; End of function sub_B36B
  10393.  
  10394.  
  10395. ; =============== S U B R O U T I N E =======================================
  10396.  
  10397.  
  10398. sub_B3CA:                               ; CODE XREF: sub_B36B+2E sub_B36B+4C
  10399.                 ld      c, (hl)
  10400.                 ld      a, (de)
  10401.                 ld      (hl), a
  10402.                 ld      a, c
  10403.                 or      #80 ; 'А'
  10404.                 ld      (de), a
  10405.                 inc     de
  10406.                 inc     hl
  10407.                 ld      c, (hl)
  10408.                 ld      a, (de)
  10409.                 ld      (hl), a
  10410.                 ld      a, c
  10411.                 or      #80 ; 'А'
  10412.                 ld      (de), a
  10413.                 inc     de
  10414.                 inc     hl
  10415.                 ld      c, (hl)
  10416.                 ld      a, (de)
  10417.                 ld      (hl), a
  10418.                 ld      a, c
  10419.                 ld      (de), a
  10420.                 ret
  10421.  
  10422. ; End of function sub_B3CA
  10423.  
  10424.  
  10425. ; =============== S U B R O U T I N E =======================================
  10426.  
  10427.  
  10428. sub_B3E2:                               ; CODE XREF: sub_B47F+A7 sub_B47F+C2
  10429.                 push    ix
  10430.                 pop     hl
  10431.                 ld      a, (hl)
  10432.                 ld      d, h
  10433.                 ld      e, l
  10434.                 inc     hl
  10435.                 ld      b, (hl)
  10436.                 inc     hl
  10437.                 ld      c, (hl)
  10438.                 ex      af, af'
  10439.  
  10440.  
  10441. loc_B3ED:                               ; CODE XREF: sub_B3E2+18
  10442.                 dec     de
  10443.                 ld      a, (de)
  10444.                 ld      (hl), a
  10445.                 dec     de
  10446.                 dec     hl
  10447.                 ld      a, (de)
  10448.                 ld      (hl), a
  10449.                 dec     de
  10450.                 dec     hl
  10451.                 ld      a, (de)
  10452.                 ld      (hl), a
  10453.                 dec     hl
  10454.                 inc     a
  10455.                 jp      nz, loc_B3ED
  10456.  
  10457.                 inc     hl
  10458.                 ex      af, af'
  10459.                 ld      (hl), a
  10460.                 inc     hl
  10461.                 ld      (hl), b
  10462.                 inc     hl
  10463.                 ld      (hl), c
  10464.                 ret
  10465.  
  10466. ; End of function sub_B3E2
  10467.  
  10468. ; ---------------------------------------------------------------------------
  10469. ; START OF FUNCTION CHUNK FOR sub_B47F
  10470.  
  10471. loc_B405:                               ; CODE XREF: sub_B47F+3D
  10472.                 call    sub_B2F1
  10473.  
  10474.                 call    sub_A94F
  10475.  
  10476.                 dec     hl
  10477.                 dec     hl
  10478.                 push    hl
  10479.                 call    sub_B36B
  10480.  
  10481.                 pop     ix
  10482.  
  10483.  
  10484. loc_B413:                               ; CODE XREF: sub_B47F+96 sub_B47F+99 ...
  10485.                 ld      a, (byte_D098)
  10486.                 inc     a
  10487.                 ld      d, a
  10488.                 ld      a, (byte_D097)
  10489.                 cp      d
  10490.                 jp      nc, loc_B5A3
  10491.  
  10492.                 bit     7, (ix+0)
  10493.                 jp      z, loc_B47A
  10494.  
  10495.                 call    sub_B75A
  10496.  
  10497.  
  10498. loc_B429:                               ; CODE XREF: sub_B47F-12 sub_B47F-7
  10499.                 bit     7, (ix+3)
  10500.                 jr      nz, loc_B442
  10501.  
  10502.                 call    sub_B2B9
  10503.  
  10504.                 push    hl
  10505.                 call    sub_AB53
  10506.  
  10507.                 jp      c, loc_B531
  10508.  
  10509.                 pop     ix
  10510.                 jp      z, loc_B571
  10511.  
  10512.                 inc     ix
  10513.                 jr      sub_B47F
  10514.  
  10515. ; ---------------------------------------------------------------------------
  10516.  
  10517. loc_B442:                               ; CODE XREF: sub_B47F-52
  10518.                 ld      de, 3
  10519.                 add     ix, de
  10520.                 ld      a, (ix+0)
  10521.                 inc     a
  10522.                 jp      z, loc_B4E7
  10523.  
  10524.                 call    sub_B2B9
  10525.  
  10526.                 ld      a, (hl)
  10527.                 ld      (byte_D01D), a
  10528.                 push    ix
  10529.                 call    sub_AD40
  10530.  
  10531.                 call    sub_BC00
  10532.  
  10533.                 or      a
  10534.                 jr      z, loc_B46F
  10535.  
  10536.                 call    sub_B79D
  10537.  
  10538.                 jp      c, loc_B535
  10539.  
  10540.                 jr      z, loc_B4A6
  10541.  
  10542.                 call    sub_AF81
  10543.  
  10544.                 pop     ix
  10545.                 jr      loc_B429
  10546.  
  10547. ; ---------------------------------------------------------------------------
  10548.  
  10549. loc_B46F:                               ; CODE XREF: sub_B47F-21
  10550.                 ld      (ix+1), #FF
  10551.                 call    sub_AF81
  10552.  
  10553.                 pop     ix
  10554.                 jr      loc_B429
  10555.  
  10556. ; ---------------------------------------------------------------------------
  10557.  
  10558. loc_B47A:                               ; CODE XREF: sub_B47F-5C
  10559.                 ld      de, 3
  10560.                 add     ix, de
  10561.  
  10562. ; END OF FUNCTION CHUNK FOR sub_B47F
  10563.  
  10564. ; =============== S U B R O U T I N E =======================================
  10565.  
  10566.  
  10567. sub_B47F:                               ; CODE XREF: sub_AFC5:loc_B07A
  10568.                                         ; sub_B47F-3F
  10569.  
  10570. ; FUNCTION CHUNK AT B405 SIZE 0000007A BYTES
  10571. ; FUNCTION CHUNK AT B5D1 SIZE 00000189 BYTES
  10572.  
  10573.                 ld      a, #FF
  10574.                 ld      (byte_D07A), a
  10575.                 ld      a, (ix+0)
  10576.                 inc     a
  10577.                 jr      z, loc_B4E7
  10578.  
  10579.                 push    ix
  10580.                 call    sub_AD40
  10581.  
  10582.                 call    sub_B96D
  10583.  
  10584.                 jp      c, loc_B4A6
  10585.  
  10586.                 ld      b, 0
  10587.                 ld      hl, byte_D097
  10588.                 inc     (hl)
  10589.                 ld      a, (byte_D02D)
  10590.                 xor     1
  10591.                 ld      (byte_D02D), a
  10592.                 jp      loc_B576
  10593.  
  10594. ; ---------------------------------------------------------------------------
  10595.  
  10596. loc_B4A6:                               ; CODE XREF: sub_B47F-19 sub_B47F+13 ...
  10597.                 ld      a, (byte_D02D)
  10598.                 xor     1
  10599.                 ld      (byte_D02D), a
  10600.                 ld      hl, byte_D097
  10601.                 ld      a, (hl)
  10602.                 inc     (hl)
  10603.                 ld      hl,  word_D088+1
  10604.                 add     a, l
  10605.                 ld      l, a
  10606.                 ld      a, (hl)
  10607.                 inc     l
  10608.                 inc     l
  10609.                 ld      (hl), a
  10610.                 jp      loc_B405
  10611.  
  10612. ; ---------------------------------------------------------------------------
  10613.  
  10614. loc_B4BF:                               ; CODE XREF: sub_B47F+54
  10615.                 ld      hl, byte_D097
  10616.                 dec     (hl)
  10617.                 ld      a, (byte_D02D)
  10618.                 xor     1
  10619.                 ld      (byte_D02D), a
  10620.                 jp      loc_B535
  10621.  
  10622. ; ---------------------------------------------------------------------------
  10623.  
  10624. loc_B4CE:                               ; CODE XREF: sub_B47F+261
  10625.                 rra
  10626.                 jp      c, loc_B4D5
  10627.  
  10628.                 rra
  10629.                 jr      nc, loc_B4BF
  10630.  
  10631.  
  10632. loc_B4D5:                               ; CODE XREF: sub_B47F+50
  10633.                                         ; sub_B47F+15B ...
  10634.                 ld      de, #FFFD       ; -3
  10635.  
  10636.  
  10637. loc_B4D8:                               ; CODE XREF: sub_B47F+66
  10638.                 add     ix, de
  10639.                 ld      a, (ix+0)
  10640.                 inc     a
  10641.                 jp      z, loc_B563
  10642.  
  10643.                 ld      a, (ix+1)
  10644.                 inc     a
  10645.                 jr      z, loc_B4D8
  10646.  
  10647.  
  10648. loc_B4E7:                               ; CODE XREF: sub_B47F-34 sub_B47F+9     ...
  10649.                 ld      a, (byte_D097)
  10650.                 dec     a
  10651.                 ret     z
  10652.                 ld      (byte_D097), a
  10653.                 call    sub_AF81
  10654.  
  10655.                 pop     ix
  10656.  
  10657.  
  10658. loc_B4F4:                               ; CODE XREF: sub_B47F+111
  10659.                 ld      a, (byte_D02D)
  10660.                 xor     1
  10661.                 ld      (byte_D02D), a
  10662.                 ld      a, (byte_D0B4)
  10663.                 and     #90 ; 'Р'
  10664.                 jr      nz, loc_B4E7
  10665.  
  10666.                 ld      a, (byte_D097)
  10667.                 ld      hl, byte_D08B
  10668.                 add     a, l
  10669.                 ld      l, a
  10670.                 ld      a, (hl)
  10671.                 dec     a
  10672.                 dec     l
  10673.                 dec     l
  10674.                 cp      (hl)
  10675.                 jr      c, loc_B53A
  10676.  
  10677.                 cpl
  10678.                 inc     l
  10679.                 cp      (hl)
  10680.                 jp      c, loc_B413
  10681.  
  10682.                 jp      z, loc_B413
  10683.  
  10684.                 ld      (hl), a
  10685.                 call    sub_B309
  10686.  
  10687.                 ld      a, (byte_D097)
  10688.                 dec     a
  10689.                 jp      nz, loc_B413
  10690.  
  10691.                 call    sub_B3E2
  10692.  
  10693.                 ld      a, (byte_D08B)
  10694.                 inc     a
  10695.                 ret     z
  10696.                 jp      loc_B413
  10697.  
  10698. ; ---------------------------------------------------------------------------
  10699.  
  10700. loc_B531:                               ; CODE XREF: sub_B47F-49
  10701.                 pop     hl
  10702.                 jp      loc_B53A
  10703.  
  10704. ; ---------------------------------------------------------------------------
  10705.  
  10706. loc_B535:                               ; CODE XREF: sub_B47F-1C sub_B47F+4C ...
  10707.                 call    sub_AF81
  10708.  
  10709.                 pop     ix
  10710.  
  10711.  
  10712. loc_B53A:                               ; CODE XREF: sub_B47F+91 sub_B47F+B3
  10713.                 ld      a, (byte_D097)
  10714.                 dec     a
  10715.                 jp      nz, loc_B54C
  10716.  
  10717.                 call    sub_B3E2
  10718.  
  10719.                 pop     hl
  10720.                 pop     ix
  10721.                 push    ix
  10722.                 jp      loc_B166
  10723.  
  10724. ; ---------------------------------------------------------------------------
  10725.  
  10726. loc_B54C:                               ; CODE XREF: sub_B47F+BF
  10727.                 call    sub_B34B
  10728.  
  10729.                 call    sub_AF81
  10730.  
  10731.                 pop     ix
  10732.                 ld      hl, byte_D097
  10733.                 dec     (hl)
  10734.                 ld      a, (byte_D02D)
  10735.                 xor     1
  10736.                 ld      (byte_D02D), a
  10737.                 jp      loc_B413
  10738.  
  10739. ; ---------------------------------------------------------------------------
  10740.  
  10741. loc_B563:                               ; CODE XREF: sub_B47F+5F
  10742.                 ld      b, (ix+2)
  10743.                 ld      a, (byte_D0B1)
  10744.                 cp      #C
  10745.                 jr      z, loc_B574
  10746.  
  10747.                 ld      c, 2
  10748.                 jr      loc_B576
  10749.  
  10750. ; ---------------------------------------------------------------------------
  10751.  
  10752. loc_B571:                               ; CODE XREF: sub_B47F-44
  10753.                 ld      b, (ix+0)
  10754.  
  10755.  
  10756. loc_B574:                               ; CODE XREF: sub_B47F+EC
  10757.                 ld      c, 1
  10758.  
  10759.  
  10760. loc_B576:                               ; CODE XREF: sub_B47F+24 sub_B47F+F0
  10761.                 ld      hl, byte_D08A
  10762.                 ld      a, (byte_D097)
  10763.                 add     a, l
  10764.                 ld      l, a
  10765.                 bit     7, b
  10766.                 jr      z, loc_B593
  10767.  
  10768.                 ld      (hl), c
  10769.                 ld      hl, byte_D097
  10770.                 dec     (hl)
  10771.                 call    sub_AF81
  10772.  
  10773.                 pop     ix
  10774.                 ld      (ix+3), #FF
  10775.                 jp      loc_B4F4
  10776.  
  10777. ; ---------------------------------------------------------------------------
  10778.  
  10779. loc_B593:                               ; CODE XREF: sub_B47F+101
  10780.                 ld      a, (byte_D02D)
  10781.                 rra
  10782.                 ld      a, (byte_D01E)
  10783.                 jr      nc, loc_B59D
  10784.  
  10785.                 cpl
  10786.  
  10787.  
  10788. loc_B59D:                               ; CODE XREF: sub_B47F+11B
  10789.                 add     a, #84 ; 'Д'
  10790.                 ld      (hl), a
  10791.                 jp      loc_B4E7
  10792.  
  10793. ; ---------------------------------------------------------------------------
  10794.  
  10795. loc_B5A3:                               ; CODE XREF: sub_B47F-63
  10796.                 call    sub_B2B9
  10797.  
  10798.                 ld      a, (hl)
  10799.                 ld      (byte_D01D), a
  10800.                 ld      a, (byte_D097)
  10801.                 ld      e, a
  10802.                 ld      hl,  word_D088+1
  10803.                 add     a, l
  10804.                 ld      l, a
  10805.                 ld      (word_D06D), hl
  10806.                 ld      a, (byte_D098)
  10807.                 add     a, 2
  10808.                 sub     e
  10809.                 jp      m, loc_B72D
  10810.  
  10811.                 jp      z, loc_B6D4
  10812.  
  10813.                 ld      (byte_D03B), a
  10814.                 jp      loc_B5D1
  10815.  
  10816. ; ---------------------------------------------------------------------------
  10817.  
  10818. loc_B5C8:                               ; CODE XREF: sub_B47F+167
  10819.                 ld      (ix+1), #FF
  10820.  
  10821.  
  10822. loc_B5CC:                               ; CODE XREF: sub_B47F+1DF
  10823.                                         ; sub_B47F+1F2 ...
  10824.                 call    sub_AF81
  10825.  
  10826.                 pop     ix
  10827.  
  10828. ; End of function sub_B47F
  10829.  
  10830. ; START OF FUNCTION CHUNK FOR sub_B47F
  10831.  
  10832. loc_B5D1:                               ; CODE XREF: sub_B47F+146
  10833.                 ld      de, 3
  10834.                 add     ix, de
  10835.                 ld      a, (ix+0)
  10836.                 inc     a
  10837.                 jp      z, loc_B4D5
  10838.  
  10839.                 push    ix
  10840.                 call    sub_AD40
  10841.  
  10842.                 call    sub_BC00
  10843.  
  10844.                 or      a
  10845.                 jr      z, loc_B5C8
  10846.  
  10847.                 cpl
  10848.                 ld      hl, (word_D06D)
  10849.                 cp      (hl)
  10850.                 jp      nc, loc_B645
  10851.  
  10852.                 ld      a, (byte_D01D)
  10853.                 and     #CD ; '═'
  10854.                 jp      z, loc_B535
  10855.  
  10856.                 cp      8
  10857.                 jr      z, loc_B620
  10858.  
  10859.                 ld      a, (byte_D097)
  10860.                 ld      d, a
  10861.                 ld      a, (word_D00D+1)
  10862.                 add     a, a
  10863.                 cp      d
  10864.                 jr      c, loc_B620
  10865.  
  10866.                 ld      a, (byte_D019)
  10867.                 and     #7F ; ''
  10868.                 jp      z, loc_B535
  10869.  
  10870.                 bit     3, a
  10871.                 jp      nz, loc_B4A6
  10872.  
  10873.                 bit     2, a
  10874.                 jr      z, loc_B623
  10875.  
  10876.                 ld      hl, byte_D03B
  10877.                 ld      (hl), 0
  10878.                 jp      loc_B4A6
  10879.  
  10880. ; ---------------------------------------------------------------------------
  10881.  
  10882. loc_B620:                               ; CODE XREF: sub_B47F+17B
  10883.                                         ; sub_B47F+186
  10884.                 ld      a, (byte_D019)
  10885.  
  10886.  
  10887. loc_B623:                               ; CODE XREF: sub_B47F+197
  10888.                 and     3
  10889.                 jp      z, loc_B535
  10890.  
  10891.                 ld      d, 6
  10892.                 rra
  10893.                 jp      c, loc_B630
  10894.  
  10895.                 ld      d, #C
  10896.  
  10897.  
  10898. loc_B630:                               ; CODE XREF: sub_B47F+1AC
  10899.                 ld      a, (byte_D01D)
  10900.                 and     #8D ; 'Н'
  10901.                 jp      z, loc_B535
  10902.  
  10903.                 rla
  10904.                 jr      c, loc_B63D
  10905.  
  10906.                 sra     d
  10907.  
  10908.  
  10909. loc_B63D:                               ; CODE XREF: sub_B47F+1BA
  10910.                 ld      a, d
  10911.                 sub     c
  10912.                 jr      nc, loc_B645
  10913.  
  10914.                 cp      (hl)
  10915.                 jp      c, loc_B535
  10916.  
  10917.  
  10918. loc_B645:                               ; CODE XREF: sub_B47F+16E
  10919.                                         ; sub_B47F+1C0
  10920.                 inc     l
  10921.                 ld      a, (ix+2)
  10922.                 ld      d, a
  10923.                 rla
  10924.                 jp      nc, loc_B65B
  10925.  
  10926.                 bit     2, d
  10927.                 jp      z, loc_B4A6
  10928.  
  10929.                 ld      a, (byte_D0B1)
  10930.                 cp      #C
  10931.                 jp      z, loc_B4A6
  10932.  
  10933.  
  10934. loc_B65B:                               ; CODE XREF: sub_B47F+1CC
  10935.                 ld      a, b
  10936.                 dec     b
  10937.                 cp      (hl)
  10938.                 jp      c, loc_B5CC
  10939.  
  10940.                 ld      a, (byte_D01C)
  10941.                 or      a
  10942.                 jr      z, loc_B69B
  10943.  
  10944.                 jp      m, loc_B4A6
  10945.  
  10946.                 bit     2, a
  10947.                 jr      nz, loc_B6AD
  10948.  
  10949.                 ld      e, a
  10950.                 ld      a, c
  10951.                 cp      (hl)
  10952.                 jp      c, loc_B5CC
  10953.  
  10954.                 jp      z, loc_B5CC
  10955.  
  10956.                 bit     6, e
  10957.                 jp      nz, loc_B4A6
  10958.  
  10959.                 ld      a, d
  10960.                 and     #CB ; '╦'
  10961.                 jr      nz, loc_B688
  10962.  
  10963.                 ld      a, (byte_D01D)
  10964.                 and     #C9 ; '╔'
  10965.                 jr      z, loc_B6A3
  10966.  
  10967.  
  10968. loc_B688:                               ; CODE XREF: sub_B47F+200
  10969.                 bit     1, e
  10970.                 jp      nz, loc_B4A6
  10971.  
  10972.                 ld      a, (byte_D097)
  10973.                 ld      d, a
  10974.                 ld      a, (word_D00D+1)
  10975.                 add     a, a
  10976.                 cp      d
  10977.                 jr      c, loc_B6A3
  10978.  
  10979.                 jp      loc_B4A6
  10980.  
  10981. ; ---------------------------------------------------------------------------
  10982.  
  10983. loc_B69B:                               ; CODE XREF: sub_B47F+1E6
  10984.                 ld      a, c
  10985.                 cp      (hl)
  10986.                 jp      c, loc_B5CC
  10987.  
  10988.                 jp      z, loc_B5CC
  10989.  
  10990.  
  10991. loc_B6A3:                               ; CODE XREF: sub_B47F+207
  10992.                                         ; sub_B47F+217
  10993.                 ld      (hl), c
  10994.                 call    sub_B2F1
  10995.  
  10996.                 call    sub_B309
  10997.  
  10998.                 jp      loc_B5CC
  10999.  
  11000. ; ---------------------------------------------------------------------------
  11001.  
  11002. loc_B6AD:                               ; CODE XREF: sub_B47F+1ED
  11003.                 ld      a, c
  11004.                 cp      (hl)
  11005.                 jr      c, loc_B6B4
  11006.  
  11007.                 jp      nz, loc_B4A6
  11008.  
  11009.  
  11010. loc_B6B4:                               ; CODE XREF: sub_B47F+230
  11011.                 ld      a, (byte_D097)
  11012.                 ld      d, a
  11013.                 ld      a, (word_D00D+1)
  11014.                 add     a, a
  11015.                 cp      d
  11016.                 jp      nc, loc_B4A6
  11017.  
  11018.                 jp      loc_B5CC
  11019.  
  11020. ; ---------------------------------------------------------------------------
  11021.  
  11022. loc_B6C3:                               ; CODE XREF: sub_B47F+265
  11023.                 bit     3, (ix+2)
  11024.                 jr      z, loc_B6D4
  11025.  
  11026.                 jr      loc_B6E6
  11027.  
  11028. ; ---------------------------------------------------------------------------
  11029.  
  11030. loc_B6CB:                               ; CODE XREF: sub_B47F+270
  11031.                 ld      (ix+1), #FF
  11032.  
  11033.  
  11034. loc_B6CF:                               ; CODE XREF: sub_B47F+29B
  11035.                 call    sub_AF81
  11036.  
  11037.                 pop     ix
  11038.  
  11039.  
  11040. loc_B6D4:                               ; CODE XREF: sub_B47F+140
  11041.                                         ; sub_B47F+248
  11042.                 ld      de, 3
  11043.                 add     ix, de
  11044.                 ld      a, (ix+0)
  11045.                 inc     a
  11046.                 ld      a, (byte_D03B)
  11047.                 jp      z, loc_B4CE
  11048.  
  11049.                 rra
  11050.                 jr      nc, loc_B6C3
  11051.  
  11052.  
  11053. loc_B6E6:                               ; CODE XREF: sub_B47F+24A
  11054.                 push    ix
  11055.                 call    sub_AD40
  11056.  
  11057.                 call    sub_BC00
  11058.  
  11059.                 or      a
  11060.                 jr      z, loc_B6CB
  11061.  
  11062.                 ld      a, (byte_D019)
  11063.                 and     #83 ; 'Г'
  11064.                 jp      m, loc_B535
  11065.  
  11066.                 sub     c
  11067.                 ld      hl, (word_D06D)
  11068.                 cp      (hl)
  11069.                 jp      c, loc_B535
  11070.  
  11071.                 ld      a, (ix+2)
  11072.                 ld      d, a
  11073.                 and     #C0 ; '└'
  11074.                 jr      z, loc_B711
  11075.  
  11076.                 bit     3, d
  11077.                 jr      nz, loc_B71C
  11078.  
  11079.                 bit     2, d
  11080.                 jr      z, loc_B71C
  11081.  
  11082.  
  11083. loc_B711:                               ; CODE XREF: sub_B47F+288
  11084.                 inc     l
  11085.                 ld      a, (byte_D01A)
  11086.                 add     a, a
  11087.                 add     a, b
  11088.                 jr      c, loc_B71C
  11089.  
  11090.                 cp      (hl)
  11091.                 jr      c, loc_B6CF
  11092.  
  11093.  
  11094. loc_B71C:                               ; CODE XREF: sub_B47F+28C
  11095.                                         ; sub_B47F+290 ...
  11096.                 ld      hl, byte_D03B
  11097.                 set     1, (hl)
  11098.                 jp      loc_B4A6
  11099.  
  11100. ; ---------------------------------------------------------------------------
  11101.  
  11102. loc_B724:                               ; CODE XREF: sub_B47F+2C3
  11103.                 ld      (ix+1), #FF
  11104.  
  11105.  
  11106. loc_B728:                               ; CODE XREF: sub_B47F+2D0
  11107.                                         ; sub_B47F+2D2 ...
  11108.                 call    sub_AF81
  11109.  
  11110.                 pop     ix
  11111.  
  11112.  
  11113. loc_B72D:                               ; CODE XREF: sub_B47F+13D
  11114.                 ld      de, 3
  11115.                 add     ix, de
  11116.                 ld      a, (ix+0)
  11117.                 inc     a
  11118.                 jp      z, loc_B4D5
  11119.  
  11120.                 push    ix
  11121.                 call    sub_AD40
  11122.  
  11123.                 call    sub_BC00
  11124.  
  11125.                 or      a
  11126.                 jr      z, loc_B724
  11127.  
  11128.                 cpl
  11129.                 ld      hl, (word_D06D)
  11130.                 cp      (hl)
  11131.                 jp      c, loc_B535
  11132.  
  11133.                 inc     l
  11134.                 ld      a, c
  11135.                 cp      (hl)
  11136.                 jr      c, loc_B728
  11137.  
  11138.                 jr      z, loc_B728
  11139.  
  11140.                 ld      (hl), a
  11141.                 call    sub_B309
  11142.  
  11143.                 jp      loc_B728
  11144.  
  11145. ; END OF FUNCTION CHUNK FOR sub_B47F
  11146.  
  11147. ; =============== S U B R O U T I N E =======================================
  11148.  
  11149.  
  11150. sub_B75A:                               ; CODE XREF: sub_B47F-59
  11151.                 ld      a, (byte_D097)
  11152.                 ld      e, a
  11153.                 ld      hl,  word_D088+1
  11154.                 add     a, l
  11155.                 ld      l, a
  11156.                 ld      (word_D06D), hl
  11157.                 ld      a, (byte_D0B1)
  11158.                 cp      #C
  11159.                 jr      z, loc_B796
  11160.  
  11161.                 ld      a, e
  11162.                 inc     a
  11163.                 ld      hl, byte_D098
  11164.                 sub     (hl)
  11165.                 jr      c, loc_B78B
  11166.  
  11167.                 ld      hl, byte_D01A
  11168.                 ld      a, (word_D00D+1)
  11169.                 add     a, (hl)
  11170.                 bit     0, e
  11171.                 jr      nz, loc_B781
  11172.  
  11173.                 add     a, (hl)
  11174.  
  11175.  
  11176. loc_B781:                               ; CODE XREF: sub_B75A+24
  11177.                 ld      (byte_D009), a
  11178.                 ld      hl, loc_B7A1
  11179.                 ld      (JP_ADDR), hl
  11180.                 ret
  11181.  
  11182. ; ---------------------------------------------------------------------------
  11183.  
  11184. loc_B78B:                               ; CODE XREF: sub_B75A+19
  11185.                 ld      hl, loc_B7CA
  11186.                 add     a, 2
  11187.                 jr      nc, loc_B796
  11188.  
  11189.                 ld      (JP_ADDR), hl
  11190.                 ret
  11191.  
  11192. ; ---------------------------------------------------------------------------
  11193.  
  11194. loc_B796:                               ; CODE XREF: sub_B75A+11 sub_B75A+36
  11195.                 ld      hl, XOR_A
  11196.                 ld      (JP_ADDR), hl
  11197.                 ret
  11198.  
  11199. ; End of function sub_B75A
  11200.  
  11201.  
  11202. ; =============== S U B R O U T I N E =======================================
  11203.  
  11204.  
  11205. sub_B79D:                               ; CODE XREF: sub_AB53+86 sub_B47F-1F
  11206.                 ld      hl, (JP_ADDR)
  11207.                 jp      (hl)
  11208.  
  11209. ; End of function sub_B79D
  11210.  
  11211. ; ---------------------------------------------------------------------------
  11212.  
  11213. loc_B7A1:                               ; DATA XREF: sub_B75A+2A
  11214.                 ld      a, (byte_D097)
  11215.                 rra
  11216.                 ld      hl, (word_D06D)
  11217.                 jr      c, loc_B7F1
  11218.  
  11219.                 ld      a, (byte_D009)
  11220.                 sub     c
  11221.                 jr      nc, loc_B7F1
  11222.  
  11223.                 cp      (hl)
  11224.                 jr      nc, loc_B7F1
  11225.  
  11226.                 ld      a, (byte_D01D)
  11227.                 ld      d, a
  11228.                 ld      a, (byte_D01B)
  11229.                 and     d
  11230.                 scf
  11231.                 ret     z
  11232.                 and     #C
  11233.                 cp      #C
  11234.                 jr      z, loc_B7F1
  11235.  
  11236.                 bit     2, a
  11237.                 scf
  11238.                 ret     nz
  11239.                 jp      loc_B7F1
  11240.  
  11241. ; ---------------------------------------------------------------------------
  11242.  
  11243. loc_B7CA:                               ; DATA XREF: sub_B75A:loc_B78B
  11244.                 ld      hl, (word_D06D)
  11245.                 ld      a, (byte_D03B)
  11246.                 rla
  11247.                 call    c, sub_B80F ;ьюцхЄ т√їюфшЄ№ юЄё■фр
  11248.  
  11249.                 bit     2, (ix+2)
  11250.                 jr      z, loc_B7E5
  11251.  
  11252.                 ld      a, #17
  11253.  
  11254.  
  11255. loc_B7DC:                               ; CODE XREF: RAM:B805
  11256.                 add     a, c
  11257.  
  11258.  
  11259. loc_B7DD:                               ; CODE XREF: RAM:B80C
  11260.                 jr      c, loc_B7E5
  11261.  
  11262.                 inc     l
  11263.                 cp      (hl)
  11264.                 jr      c, loc_B7E7
  11265.  
  11266.                 jr      z, loc_B7E7
  11267.  
  11268.  
  11269. loc_B7E5:                               ; CODE XREF: RAM:B7D8   RAM:loc_B7DD ...
  11270.                 xor     a
  11271.                 ret
  11272.  
  11273. ; ---------------------------------------------------------------------------
  11274.  
  11275. loc_B7E7:                               ; CODE XREF: RAM:B7E1   RAM:B7E3
  11276.                 ld      a, (ix+2)
  11277.                 and     #C9 ; '╔'
  11278.                 jr      nz, loc_B7E5
  11279.  
  11280.                 ld      a, c
  11281.                 or      a
  11282.                 ret
  11283.  
  11284. ; ---------------------------------------------------------------------------
  11285.  
  11286. loc_B7F1:                               ; CODE XREF: RAM:B7A8   RAM:B7AE ...
  11287.                 ld      a, (byte_D03B)
  11288.                 rla
  11289.                 call    c, sub_B80F ;ьюцхЄ т√їюфшЄ№ юЄё■фр
  11290.  
  11291.                 ld      a, (byte_D009)
  11292.                 bit     2, (ix+2)
  11293.                 jr      z, loc_B809
  11294.  
  11295.                 bit     3, (ix+2)
  11296.                 jr      z, loc_B7DC
  11297.  
  11298.                 xor     a
  11299.                 ret
  11300.  
  11301. ; ---------------------------------------------------------------------------
  11302.  
  11303. loc_B809:                               ; CODE XREF: RAM:B7FF
  11304.                 add     a, #F
  11305.                 add     a, c
  11306.                 jp      loc_B7DD
  11307.  
  11308.  
  11309. ; =============== S U B R O U T I N E =======================================
  11310.  
  11311.  
  11312. sub_B80F:                               ; CODE XREF: RAM:B7D1   RAM:B7F5
  11313.                 inc     l
  11314.                 ld      a, c
  11315.                 cp      (hl)
  11316.                 dec     l
  11317.                 ret     nc
  11318.                 pop     hl
  11319.                 or      a
  11320.                 ret
  11321.  
  11322. ; End of function sub_B80F
  11323.  
  11324. ; ---------------------------------------------------------------------------
  11325.  
  11326. XOR_A:                                  ; DATA XREF: sub_AB4C
  11327.                                         ; sub_B75A:loc_B796
  11328.                 xor     a
  11329.                 ret
  11330.  
  11331. ; ---------------------------------------------------------------------------
  11332.  
  11333. loc_B819:                               ; CODE XREF: sub_AFC5+8E
  11334.                 ld      a, (byte_D098)
  11335.                 ld      c, a
  11336.                 or      a
  11337.                 jp      p, loc_B841
  11338.  
  11339.                 ld      b, 2
  11340.                 ld      a, (byte_D0B1)
  11341.                 cp      #C
  11342.                 jp      z, loc_B8A0
  11343.  
  11344.                 ld      b, #C
  11345.                 dec     a
  11346.                 jr      z, loc_B8A0
  11347.  
  11348.                 ld      a, (byte_D0F2)
  11349.                 and     #F
  11350.                 cp      9
  11351.                 ld      b, a
  11352.                 jr      nc, loc_B8A0
  11353.  
  11354.                 ld      hl, byte_D098
  11355.                 inc     (hl)
  11356.                 inc     (hl)
  11357.                 jr      loc_B8A0
  11358.  
  11359. ; ---------------------------------------------------------------------------
  11360.  
  11361. loc_B841:                               ; CODE XREF: RAM:B81E
  11362.                 ld      a, (byte_D0B1)
  11363.                 dec     a
  11364.                 jr      z, loc_B877
  11365.  
  11366.                 ld      a, (byte_D0F1)
  11367.                 rra
  11368.                 rra
  11369.                 rra
  11370.                 and     #1E
  11371.                 jr      z, loc_B877
  11372.  
  11373.                 inc     c
  11374.                 cp      c
  11375.                 ld      a, (byte_D0F2)
  11376.                 ld      b, a
  11377.                 jr      nc, loc_B8A0
  11378.  
  11379.                 ld      hl, (INC_SECONDS)
  11380.                 ld      de, (word_D02B)
  11381.                 add     hl, de
  11382.                 ld      a, h
  11383.                 or      a
  11384.                 jr      nz, loc_B877
  11385.  
  11386.                 ld      a, (byte_D02A)
  11387.                 srl     a
  11388.                 srl     a
  11389.                 cp      l
  11390.                 jr      c, loc_B877
  11391.  
  11392.                 ld      a, (byte_D02A)
  11393.                 ld      (byte_D0F3), a
  11394.                 jr      loc_B88A
  11395.  
  11396. ; ---------------------------------------------------------------------------
  11397.  
  11398. loc_B877:                               ; CODE XREF: RAM:B845   RAM:B84F ...
  11399.                 ld      a, (byte_D0B1)
  11400.                 cp      #B
  11401.                 jr      z, loc_B88A
  11402.  
  11403.                 ld      a, (byte_D0B4)
  11404.                 bit     5, a
  11405.                 scf
  11406.                 ret     z
  11407.                 ld      hl, byte_D0B3 ;d3=swap board
  11408.                 set     5, (hl)
  11409.  
  11410.  
  11411. loc_B88A:                               ; CODE XREF: RAM:B875   RAM:B87C
  11412.                 ld      a, (byte_D0F2)
  11413.                 push    af
  11414.                 and     #F0 ; 'Ё'
  11415.                 ld      b, a
  11416.                 pop     af
  11417.                 add     a, 7
  11418.                 ld      (byte_D0F2), a
  11419.                 and     #F0 ; 'Ё'
  11420.                 cp      b
  11421.                 jr      z, loc_B8AD
  11422.  
  11423.                 ld      (byte_D0F2), a
  11424.                 ld      b, a
  11425.  
  11426.  
  11427. loc_B8A0:                               ; CODE XREF: RAM:B828   RAM:B82E ...
  11428.                 ld      hl, byte_D098
  11429.                 ld      a, (hl)
  11430.                 cp      8
  11431.                 ld      a, #F
  11432.                 jr      z, loc_B8AD
  11433.  
  11434.                 inc     (hl)
  11435.                 inc     (hl)
  11436.                 ld      a, b
  11437.  
  11438.  
  11439. loc_B8AD:                               ; CODE XREF: RAM:B89A   RAM:B8A8
  11440.                 call    sub_B943 ;схЁ╕Є [a] шч ЄрсышЎ√ яю 3 срщЄр ш Ёрёъырф√трхЄ т byte_D019..C
  11441.  
  11442.                 or      a
  11443.                 ret
  11444.  
  11445.  
  11446. ; =============== S U B R O U T I N E =======================================
  11447.  
  11448.  
  11449. sub_B8B2:                               ; CODE XREF: sub_A915   sub_AFC5+82 ...
  11450.                 ld      a, (byte_D0B1)
  11451.                 add     a, a
  11452.                 ld      hl, tbl_B8DD-2
  11453.                 add     a, l
  11454.                 ld      l, a
  11455.                 jr      nc, loc_B8BE
  11456.  
  11457.                 inc     h
  11458.  
  11459.  
  11460. loc_B8BE:                               ; CODE XREF: sub_B8B2+9
  11461.                 ld      a, (hl)
  11462.                 ld      (byte_D0F1), a
  11463.                 inc     hl
  11464.                 ld      a, (hl)
  11465.                 ld      (byte_D0F4), a
  11466.                 ld      e, a
  11467.                 ld      d, 0
  11468.                 ld      hl, 0
  11469.                 ld      a, (byte_D049)
  11470.                 dec     a
  11471.                 jr      z, loc_B8D9
  11472.  
  11473.                 ld      b, a
  11474.                 sbc     hl, de
  11475.  
  11476.  
  11477. loc_B8D6:                               ; CODE XREF: sub_B8B2+25
  11478.                 add     hl, de
  11479.                 djnz    loc_B8D6
  11480.  
  11481. ; End of function sub_B8B2
  11482.  
  11483.  
  11484. loc_B8D9:                               ; CODE XREF: sub_B8B2+1F
  11485.                 ld      (word_D088), hl
  11486.                 ret
  11487.  
  11488. ; ---------------------------------------------------------------------------
  11489.  
  11490.                 ; no alignment
  11491. tbl_B8DD:       db  #0C, #02
  11492.                 db  #11, #06
  11493.                 db  #16, #0F
  11494.                 db  #1A, #1E
  11495.                 db  #1F, #2D
  11496.                 db  #20, #3C
  11497.                 db  #24, #6E
  11498.                 db  #28, #AA
  11499.                 db  #2C, #D2
  11500.                 db  #16, #0F
  11501.                 db  #4F, #FF
  11502.                 db  #42, #FF
  11503.                 db  #34, #F6
  11504.                 db  #07, #97
  11505.                 db  #27, #96
  11506.                 db  #76, #86
  11507.                 db  #47, #94
  11508.                 db  #E6, #47
  11509.                 db  #56, #C6
  11510.                 db  #C6, #96
  11511.                 db  #76, #56
  11512.                 db  #E6, #47
  11513.                 db  #35, #F6
  11514.                 db  #66, #47
  11515.                 db  #77, #16
  11516.                 db  #27, #56
  11517.                 db  #83, #33
  11518.  
  11519.  
  11520.                 ; no alignment
  11521. tbl_B913:       db  #00, #85, #00
  11522.                 db  #02, #85, #00
  11523.                 db  #41, #85, #03
  11524.                 db  #42, #85, #03
  11525.                 db  #42, #8D, #03
  11526.                 db  #42, #85, #01
  11527.                 db  #43, #8D, #01
  11528.                 db  #84, #89, #01
  11529.                 db  #83, #8D, #40
  11530.                 db  #83, #89, #40
  11531.                 db  #94, #89, #40
  11532.                 db  #93, #89, #07
  11533.                 db  #94, #C9, #07
  11534.                 db  #A5, #C9, #07
  11535.                 db  #A5, #C9, #80
  11536.                 db  #A6, #C9, #80
  11537.  
  11538. ; =============== S U B R O U T I N E =======================================
  11539.  
  11540.  
  11541. sub_B943:                               ; CODE XREF: RAM:loc_B8AD
  11542. ;a=?
  11543.                 and     #F
  11544.                 ld      hl, tbl_B913
  11545.                 ld      c, a
  11546.                 add     a, a ;*2
  11547.                 add     a, c ;*3
  11548.                 add     a, l
  11549.                 ld      l, a
  11550.                 jr      nc, loc_B950
  11551.                 inc     h
  11552. loc_B950:                               ; CODE XREF: sub_B943+A
  11553.                 ld      a, (hl)
  11554.                 ld      c, a
  11555.                 and     #F
  11556.                 ld      (byte_D01A), a
  11557.                 ld      a, c
  11558.                 rra
  11559.                 rra
  11560.                 rra
  11561.                 rra
  11562.                 and     #F
  11563.                 ld      (byte_D019), a
  11564.                 inc     hl
  11565.                 ld      a, (hl)
  11566.                 ld      (byte_D01B), a
  11567.                 inc     hl
  11568.                 ld      a, (hl)
  11569.                 ld      (byte_D01C), a
  11570.                 or      a
  11571.                 ret
  11572.  
  11573. ; End of function sub_B943
  11574.  
  11575.  
  11576. ; =============== S U B R O U T I N E =======================================
  11577.  
  11578.  
  11579. sub_B96D:                               ; CODE XREF: sub_B47F+10
  11580.                 ld      a, (byte_D097)
  11581.                 add     a, a
  11582.                 ld      hl,  word_D240+1
  11583.                 add     a, l
  11584.                 ld      l, a
  11585.  
  11586. ; End of function sub_B96D
  11587.  
  11588.  
  11589. ; =============== S U B R O U T I N E =======================================
  11590.  
  11591.  
  11592. sub_B976:                               ; CODE XREF: sub_8C20-B13
  11593.                 ld      e, l
  11594.                 ld      b, #B
  11595.  
  11596.  
  11597. loc_B979:                               ; CODE XREF: sub_B976+1B
  11598.                 bit     7, (hl)
  11599.                 jr      nz, loc_B994
  11600.  
  11601.                 dec     l
  11602.                 ld      a, (hl)
  11603.                 and     #77 ; 'w'
  11604.                 or      #80 ; 'А'
  11605.                 ld      (hl), a
  11606.                 dec     l
  11607.                 dec     b
  11608.                 bit     7, (hl)
  11609.                 jr      nz, loc_B994
  11610.  
  11611.                 dec     l
  11612.                 ld      a, (hl)
  11613.                 and     #77 ; 'w'
  11614.                 ld      (hl), a
  11615.                 dec     l
  11616.                 dec     b
  11617.                 jp      p, loc_B979
  11618.  
  11619.  
  11620. loc_B994:                               ; CODE XREF: sub_B976+5 sub_B976+12
  11621.                 ld      a, #C
  11622.                 sub     b
  11623.                 cp      5
  11624.                 ret     c
  11625.                 ld      d, a
  11626.  
  11627.  
  11628. loc_B99B:                               ; CODE XREF: sub_B976+58 sub_B976+74 ...
  11629.                 ld      l, e
  11630.                 scf
  11631.  
  11632.  
  11633. loc_B99D:                               ; CODE XREF: sub_B976+33
  11634.                 ld      b, d
  11635.                 dec     d
  11636.                 ret     z
  11637.                 ld      c, (hl)
  11638.                 dec     l
  11639.                 ld      a, (hl)
  11640.                 dec     l
  11641.                 bit     3, a
  11642.                 jr      z, loc_B9AD
  11643.  
  11644.                 rla
  11645.                 jp      c, loc_B99D
  11646.  
  11647.                 ret
  11648.  
  11649. ; ---------------------------------------------------------------------------
  11650.  
  11651. loc_B9AD:                               ; CODE XREF: sub_B976+30
  11652.                 ld      e, l
  11653.                 sra     b
  11654.                 push    de
  11655.                 and     #77 ; 'w'
  11656.                 ld      e, a
  11657.                 ld      a, c
  11658.                 and     #77 ; 'w'
  11659.                 ld      c, a
  11660.                 ld      d, 0
  11661.  
  11662.  
  11663. loc_B9BA:                               ; CODE XREF: sub_B976+52 sub_B976+71
  11664.                 dec     l
  11665.                 set     7, (hl)
  11666.                 dec     l
  11667.                 ld      a, (hl)
  11668.                 dec     l
  11669.                 and     #77 ; 'w'
  11670.                 cp      e
  11671.                 jr      z, loc_B9D1
  11672.  
  11673.                 set     7, (hl)
  11674.  
  11675.  
  11676. loc_B9C7:                               ; CODE XREF: sub_B976+66
  11677.                 dec     l
  11678.                 djnz    loc_B9BA
  11679.  
  11680.                 scf
  11681.                 dec     d
  11682.                 pop     de
  11683.                 ret     m
  11684.                 jp      loc_B99B
  11685.  
  11686. ; ---------------------------------------------------------------------------
  11687.  
  11688. loc_B9D1:                               ; CODE XREF: sub_B976+4D
  11689.                 set     3, (hl)
  11690.                 ld      a, (hl)
  11691.                 and     #77 ; 'w'
  11692.                 cp      c
  11693.                 jr      z, loc_B9F7
  11694.  
  11695.                 set     7, (hl)
  11696.                 ld      e, a
  11697.                 jp      loc_B9C7
  11698.  
  11699. ; ---------------------------------------------------------------------------
  11700.  
  11701. loc_B9DF:                               ; CODE XREF: sub_B976+7F
  11702.                 ld      a, (hl)
  11703.                 or      #88 ; 'И'
  11704.                 ld      (hl), a
  11705.                 and     #77 ; 'w'
  11706.                 ld      e, a
  11707.                 dec     l
  11708.                 djnz    loc_B9BA
  11709.  
  11710.                 pop     de
  11711.                 jp      loc_B99B
  11712.  
  11713. ; ---------------------------------------------------------------------------
  11714.  
  11715. loc_B9ED:                               ; CODE XREF: sub_B976+82
  11716.                 inc     d
  11717.                 dec     l
  11718.                 dec     l
  11719.                 ld      a, (hl)
  11720.                 and     #77 ; 'w'
  11721.                 dec     l
  11722.                 cp      c
  11723.                 jr      z, loc_B9DF
  11724.  
  11725.  
  11726. loc_B9F7:                               ; CODE XREF: sub_B976+61
  11727.                 dec     l
  11728.                 djnz    loc_B9ED
  11729.  
  11730.                 pop     de
  11731.                 jp      loc_B99B
  11732.  
  11733. ; End of function sub_B976
  11734.  
  11735. ; ---------------------------------------------------------------------------
  11736.                 db    0 ;unused?
  11737.                 db    0 ;unused?
  11738.  
  11739.  
  11740.         align 256
  11741.                 ;must be 256-aligned ;ъръшх-Єю ъюэёЄрэЄ√ фы  юЎхэъш яючшЎшш?
  11742. tbl_BA00:       db    0,   1,   1,  #D,   3,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1
  11743.                 db    5,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1
  11744.                 db    5,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1
  11745.                 db    5,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1
  11746.                 db    9,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1
  11747.                 db    5,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1
  11748.                 db    5,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1
  11749.                 db    5,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1
  11750.                 db    9,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1
  11751.                 db    5,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1
  11752.                 db    5,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1
  11753.                 db    5,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1
  11754.                 db    9,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1
  11755.                 db    5,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1
  11756.                 db    5,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1
  11757.                 db    5,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1,   3,   1,   1,   1
  11758.                 ;must be after tbl_BA00
  11759. tbl_BB00:       db    0,   0,   1,   0,   0,   4,   5,   6,   4,   8,   9,  #A,   8,  #C,  #D,  #E
  11760.                 db    0, #10, #11, #12, #10, #14, #15, #16, #14, #18, #19, #1A, #18, #1C, #1D, #1E
  11761.                 db  #10, #20, #21, #22, #20, #24, #25, #26, #24, #28, #29, #2A, #28, #2C, #2D, #2E
  11762.                 db  #20, #30, #31, #32, #30, #34, #35, #36, #34, #38, #39, #3A, #38, #3C, #3D, #3E
  11763.                 db    0, #40, #41, #42, #40, #44, #45, #46, #44, #48, #49, #4A, #48, #4C, #4D, #4E
  11764.                 db  #40, #50, #51, #52, #50, #54, #55, #56, #54, #58, #59, #5A, #58, #5C, #5D, #5E
  11765.                 db  #50, #60, #61, #62, #60, #64, #65, #66, #64, #68, #69, #6A, #68, #6C, #6D, #6E
  11766.                 db  #60, #70, #71, #72, #70, #74, #75, #76, #74, #78, #79, #7A, #78, #7C, #7D, #7E
  11767.                 db  #40, #80, #81, #82, #80, #84, #85, #86, #84, #88, #89, #8A, #88, #8C, #8D, #8E
  11768.                 db  #80, #90, #91, #92, #90, #94, #95, #96, #94, #98, #99, #9A, #98, #9C, #9D, #9E
  11769.                 db  #90, #A0, #A1, #A2, #A0, #A4, #A5, #A6, #A4, #A8, #A9, #AA, #A8, #AC, #AD, #AE
  11770.                 db  #A0, #B0, #B1, #B2, #B0, #B4, #B5, #B6, #B4, #B8, #B9, #BA, #B8, #BC, #BD, #BE
  11771.                 db  #80, #C0, #C1, #C2, #C0, #C4, #C5, #C6, #C4, #C8, #C9, #CA, #C8, #CC, #CD, #CE
  11772.                 db  #C0, #D0, #D1, #D2, #D0, #D4, #D5, #D6, #D4, #D8, #D9, #DA, #D8, #DC, #DD, #DE
  11773.                 db  #D0, #E0, #E1, #E2, #E0, #E4, #E5, #E6, #E4, #E8, #E9, #EA, #E8, #EC, #ED, #EE
  11774.                 db  #E0, #F0, #F1, #F2, #F0, #F4, #F5, #F6, #F4, #F8, #F9, #FA, #F8, #FC, #FD, #FE
  11775.  
  11776. ; =============== S U B R O U T I N E =======================================
  11777.  
  11778.  
  11779. sub_BC00:                               ; CODE XREF: sub_8C20-9FD
  11780.                                         ; sub_8C20-77C ...
  11781.  
  11782. ; FUNCTION CHUNK AT C0A0 SIZE 000000AA BYTES
  11783.  
  11784.                 call    sub_8F4D
  11785.  
  11786.                 ld      (word_D03D), sp
  11787.                 xor     a
  11788.                 ld      e, a
  11789.                 ex      af, af'
  11790.                 ld      h, BRD_88_0/256
  11791.                 exx
  11792.                 ld      h, word_D100/256
  11793.                 ld      a, (byte_D02D)
  11794.                 rrca
  11795.                 ld      iy, loc_C313
  11796.                 bit     1, a
  11797.                 jr      z, loc_BC27
  11798.  
  11799.                 ld      iy, loc_C303
  11800.                 bit     2, a
  11801.                 jr      z, loc_BC27
  11802.  
  11803.                 ld      iy, loc_C2A6
  11804.  
  11805.  
  11806. loc_BC27:                               ; CODE XREF: sub_BC00+19 sub_BC00+21
  11807.                 add     a, #80 ; 'А'
  11808.                 ld      b, a
  11809.                 exx
  11810.                 jp      c, loc_C0AE
  11811.  
  11812.  
  11813. loc_BC2E:                               ; CODE XREF: sub_BC00+547
  11814.                 ld      d, #88 ; 'И'
  11815.                 ld      a, (byte_D188)
  11816.                 or      a
  11817.                 call    p, sub_C48D
  11818.  
  11819.                 ld      a, (byte_D190)
  11820.                 or      a
  11821.                 call    p, sub_C498
  11822.  
  11823.                 ld      a, (byte_D198)
  11824.                 or      a
  11825.                 call    p, sub_C498
  11826.  
  11827.                 ld      a, (byte_D1A0)
  11828.                 or      a
  11829.                 call    p, sub_C5CF
  11830.  
  11831.                 ld      a, (byte_D1A8)
  11832.                 or      a
  11833.                 call    p, sub_C5CF
  11834.  
  11835.                 ld      a, (byte_D1B0)
  11836.                 or      a
  11837.                 call    p, sub_C505
  11838.  
  11839.                 ld      a, (byte_D1B8)
  11840.                 or      a
  11841.                 call    p, sub_C505
  11842.  
  11843.                 ld      d, #F1  ; 'ё'
  11844.                 ld      b, array_D200/256
  11845.                 ld      hl, (word_D1C0)
  11846.                 bit     7, l
  11847.                 call    z, sub_C2F2
  11848.  
  11849.                 ld      hl, (word_D1C8)
  11850.                 bit     7, l
  11851.                 call    z, sub_C2F2
  11852.  
  11853.                 ld      hl, (word_D1D0)
  11854.                 bit     7, l
  11855.                 call    z, sub_C2F2
  11856.  
  11857.                 ld      hl, (word_D1D8)
  11858.                 bit     7, l
  11859.                 call    z, sub_C2EA
  11860.  
  11861.                 ld      hl, (word_D1E0)
  11862.                 bit     7, l
  11863.                 call    z, sub_C2EA
  11864.  
  11865.                 ld      hl, (word_D1E8)
  11866.                 bit     7, l
  11867.                 call    z, sub_C2F2
  11868.  
  11869.                 ld      hl, (word_D1F0)
  11870.                 bit     7, l
  11871.                 call    z, sub_C2F2
  11872.  
  11873.                 ld      hl, (word_D1F8)
  11874.                 bit     7, l
  11875.                 call    z, sub_C2F2
  11876.  
  11877.                 call    sub_C06D
  11878.  
  11879.                 exx
  11880.                 bit     4, b
  11881.                 jp      z, loc_C0A0
  11882.  
  11883.  
  11884. loc_BCAE:                               ; CODE XREF: sub_BC00+541
  11885.                 bit     6, b
  11886.                 jr      nz, loc_BCC1
  11887.  
  11888.                 ld      l, (ix+1)
  11889.                 res     7, l
  11890.                 dec     h
  11891.                 ld      l, (hl)
  11892.                 inc     h
  11893.                 bit     2, l
  11894.                 jr      z, loc_BCC1
  11895.  
  11896.                 inc     l
  11897.                 set     1, (hl)
  11898.  
  11899.  
  11900. loc_BCC1:                               ; CODE XREF: sub_BC00+B0 sub_BC00+BC
  11901.                 bit     3, b
  11902.                 jp      z, loc_BCD2
  11903.  
  11904.                 exx
  11905.                 ld      a, (byte_D04C)
  11906.                 or      a
  11907.                 jr      nz, loc_BCCF
  11908.  
  11909.                 sra     e
  11910.  
  11911.  
  11912. loc_BCCF:                               ; CODE XREF: sub_BC00+CB
  11913.                 sra     e
  11914.                 exx
  11915.  
  11916.  
  11917. loc_BCD2:                               ; CODE XREF: sub_BC00+C3
  11918.                 bit     5, b
  11919.                 exx
  11920.                 call    nz, sub_C6C4
  11921.  
  11922.                 ex      af, af'
  11923.                 sra     a
  11924.                 sra     a
  11925.                 add     a, e
  11926.                 ld      e, a
  11927.                 ld      hl, 0
  11928.                 ld      (word_D039), hl
  11929.                 ld      hl, (word_D18A)
  11930.                 ld      a, h
  11931.                 or      l
  11932.                 jr      z, loc_BCF8
  11933.  
  11934.                 ld      bc, (word_D18C)
  11935.                 ld      a, 9
  11936.                 call    sub_C3A3
  11937.  
  11938.                 ld      (word_D18A), hl
  11939.  
  11940.  
  11941. loc_BCF8:                               ; CODE XREF: sub_BC00+EA
  11942.                 ld      (word_D18C), hl
  11943.                 ld      hl, (word_D192)
  11944.                 ld      a, h
  11945.                 or      l
  11946.                 jr      z, loc_BD0E
  11947.  
  11948.                 ld      bc, (word_D194)
  11949.                 ld      a, 5
  11950.                 call    sub_C3A3
  11951.  
  11952.                 ld      (word_D192), hl
  11953.  
  11954.  
  11955. loc_BD0E:                               ; CODE XREF: sub_BC00+100
  11956.                 ld      (word_D194), hl
  11957.                 ld      hl, (word_D19A)
  11958.                 ld      a, h
  11959.                 or      l
  11960.                 jr      z, loc_BD24
  11961.  
  11962.                 ld      bc, (word_D19C)
  11963.                 ld      a, 5
  11964.                 call    sub_C3A3
  11965.  
  11966.                 ld      (word_D19A), hl
  11967.  
  11968.  
  11969. loc_BD24:                               ; CODE XREF: sub_BC00+116
  11970.                 ld      (word_D19C), hl
  11971.                 ld      hl, (word_D1A2)
  11972.                 ld      a, h
  11973.                 or      l
  11974.                 jr      z, loc_BD3A
  11975.  
  11976.                 ld      bc, (word_D1A4)
  11977.                 ld      a, 3
  11978.                 call    sub_C3A3
  11979.  
  11980.                 ld      (word_D1A2), hl
  11981.  
  11982.  
  11983. loc_BD3A:                               ; CODE XREF: sub_BC00+12C
  11984.                 ld      (word_D1A4), hl
  11985.                 ld      hl, (word_D1AA)
  11986.                 ld      a, h
  11987.                 or      l
  11988.                 jr      z, loc_BD50
  11989.  
  11990.                 ld      bc, (word_D1AC)
  11991.                 ld      a, 3
  11992.                 call    sub_C3A3
  11993.  
  11994.                 ld      (word_D1AA), hl
  11995.  
  11996.  
  11997. loc_BD50:                               ; CODE XREF: sub_BC00+142
  11998.                 ld      (word_D1AC), hl
  11999.                 ld      hl, (word_D1B2)
  12000.                 ld      a, h
  12001.                 or      l
  12002.                 jr      z, loc_BD66
  12003.  
  12004.                 ld      bc, (word_D1B4)
  12005.                 ld      a, 3
  12006.                 call    sub_C3A3
  12007.  
  12008.                 ld      (word_D1B2), hl
  12009.  
  12010.  
  12011. loc_BD66:                               ; CODE XREF: sub_BC00+158
  12012.                 ld      (word_D1B4), hl
  12013.                 ld      hl, (word_D1BA)
  12014.                 ld      a, h
  12015.                 or      l
  12016.                 jr      z, loc_BD7C
  12017.  
  12018.                 ld      bc, (word_D1BC)
  12019.                 ld      a, 3
  12020.                 call    sub_C3A3
  12021.  
  12022.                 ld      (word_D1BA), hl
  12023.  
  12024.  
  12025. loc_BD7C:                               ; CODE XREF: sub_BC00+16E
  12026.                 ld      (word_D1BC), hl
  12027.                 ld      hl, (word_D1C2)
  12028.                 ld      a, h
  12029.                 or      l
  12030.                 jr      z, loc_BD93
  12031.  
  12032.                 ld      bc, (word_D1C4)
  12033.                 ld      a, (word_D1C0+1)
  12034.                 call    sub_C3A1
  12035.  
  12036.                 ld      (word_D1C2), hl
  12037.  
  12038.  
  12039. loc_BD93:                               ; CODE XREF: sub_BC00+184
  12040.                 ld      (word_D1C4), hl
  12041.                 ld      hl, (word_D1CA)
  12042.                 ld      a, h
  12043.                 or      l
  12044.                 jr      z, loc_BDAA
  12045.  
  12046.                 ld      bc, (word_D1CC)
  12047.                 ld      a, (word_D1C8+1)
  12048.                 call    sub_C3A1
  12049.  
  12050.                 ld      (word_D1CA), hl
  12051.  
  12052.  
  12053. loc_BDAA:                               ; CODE XREF: sub_BC00+19B
  12054.                 ld      (word_D1CC), hl
  12055.                 ld      hl, (word_D1D2)
  12056.                 ld      a, h
  12057.                 or      l
  12058.                 jr      z, loc_BDC1
  12059.  
  12060.                 ld      bc, (word_D1D4)
  12061.                 ld      a, (word_D1D0+1)
  12062.                 call    sub_C3A1
  12063.  
  12064.                 ld      (word_D1D2), hl
  12065.  
  12066.  
  12067. loc_BDC1:                               ; CODE XREF: sub_BC00+1B2
  12068.                 ld      (word_D1D4), hl
  12069.                 ld      hl, (word_D1DA)
  12070.                 ld      a, h
  12071.                 or      l
  12072.                 jr      z, loc_BDD8
  12073.  
  12074.                 ld      bc, (word_D1DC)
  12075.                 ld      a, (word_D1D8+1)
  12076.                 call    sub_C3A1
  12077.  
  12078.                 ld      (word_D1DA), hl
  12079.  
  12080.  
  12081. loc_BDD8:                               ; CODE XREF: sub_BC00+1C9
  12082.                 ld      (word_D1DC), hl
  12083.                 ld      hl, (word_D1E2)
  12084.                 ld      a, h
  12085.                 or      l
  12086.                 jr      z, loc_BDEF
  12087.  
  12088.                 ld      bc, (word_D1E4)
  12089.                 ld      a, (word_D1E0+1)
  12090.                 call    sub_C3A1
  12091.  
  12092.                 ld      (word_D1E2), hl
  12093.  
  12094.  
  12095. loc_BDEF:                               ; CODE XREF: sub_BC00+1E0
  12096.                 ld      (word_D1E4), hl
  12097.                 ld      hl, (word_D1EA)
  12098.                 ld      a, h
  12099.                 or      l
  12100.                 jr      z, loc_BE06
  12101.  
  12102.                 ld      bc, (word_D1EC)
  12103.                 ld      a, (word_D1E8+1)
  12104.                 call    sub_C3A1
  12105.  
  12106.                 ld      (word_D1EA), hl
  12107.  
  12108.  
  12109. loc_BE06:                               ; CODE XREF: sub_BC00+1F7
  12110.                 ld      (word_D1EC), hl
  12111.                 ld      hl, (word_D1F2)
  12112.                 ld      a, h
  12113.                 or      l
  12114.                 jr      z, loc_BE1D
  12115.  
  12116.                 ld      bc, (word_D1F4)
  12117.                 ld      a, (word_D1F0+1)
  12118.                 call    sub_C3A1
  12119.  
  12120.                 ld      (word_D1F2), hl
  12121.  
  12122.  
  12123. loc_BE1D:                               ; CODE XREF: sub_BC00+20E
  12124.                 ld      (word_D1F4), hl
  12125.                 ld      hl, (word_D1FA)
  12126.                 ld      a, h
  12127.                 or      l
  12128.                 jr      z, loc_BE34
  12129.  
  12130.                 ld      bc, (word_D1FC)
  12131.                 ld      a, (word_D1F8+1)
  12132.                 call    sub_C3A1
  12133.  
  12134.                 ld      (word_D1FA), hl
  12135.  
  12136.  
  12137. loc_BE34:                               ; CODE XREF: sub_BC00+225
  12138.                 ld      (word_D1FC), hl
  12139.                 xor     a
  12140.                 sub     e
  12141.                 ld      e, a
  12142.                 ld      hl, (word_D039)
  12143.                 push    hl
  12144.                 ld      hl, 0
  12145.                 ld      (word_D039), hl
  12146.                 ld      hl, (word_D10A)
  12147.                 ld      a, h
  12148.                 or      l
  12149.                 jr      z, loc_BE57
  12150.  
  12151.                 ld      bc, (word_D10C)
  12152.                 ld      a, 9
  12153.                 call    sub_C3A3
  12154.  
  12155.                 ld      (word_D10A), hl
  12156.  
  12157.  
  12158. loc_BE57:                               ; CODE XREF: sub_BC00+249
  12159.                 ld      (word_D10C), hl
  12160.                 ld      hl, (word_D112)
  12161.                 ld      a, h
  12162.                 or      l
  12163.                 jr      z, loc_BE6D
  12164.  
  12165.                 ld      bc, (word_D114)
  12166.                 ld      a, 5
  12167.                 call    sub_C3A3
  12168.  
  12169.                 ld      (word_D112), hl
  12170.  
  12171.  
  12172. loc_BE6D:                               ; CODE XREF: sub_BC00+25F
  12173.                 ld      (word_D114), hl
  12174.                 ld      hl, (word_D11A)
  12175.                 ld      a, h
  12176.                 or      l
  12177.                 jr      z, loc_BE83
  12178.  
  12179.                 ld      bc, (word_D11C)
  12180.                 ld      a, 5
  12181.                 call    sub_C3A3
  12182.  
  12183.                 ld      (word_D11A), hl
  12184.  
  12185.  
  12186. loc_BE83:                               ; CODE XREF: sub_BC00+275
  12187.                 ld      (word_D11C), hl
  12188.                 ld      hl, (word_D122)
  12189.                 ld      a, h
  12190.                 or      l
  12191.                 jr      z, loc_BE99
  12192.  
  12193.                 ld      bc, (word_D124)
  12194.                 ld      a, 3
  12195.                 call    sub_C3A3
  12196.  
  12197.                 ld      (word_D122), hl
  12198.  
  12199.  
  12200. loc_BE99:                               ; CODE XREF: sub_BC00+28B
  12201.                 ld      (word_D124), hl
  12202.                 ld      hl, (word_D12A)
  12203.                 ld      a, h
  12204.                 or      l
  12205.                 jr      z, loc_BEAF
  12206.  
  12207.                 ld      bc, (word_D12C)
  12208.                 ld      a, 3
  12209.                 call    sub_C3A3
  12210.  
  12211.                 ld      (word_D12A), hl
  12212.  
  12213.  
  12214. loc_BEAF:                               ; CODE XREF: sub_BC00+2A1
  12215.                 ld      (word_D12C), hl
  12216.                 ld      hl, (word_D132)
  12217.                 ld      a, h
  12218.                 or      l
  12219.                 jr      z, loc_BEC5
  12220.  
  12221.                 ld      bc, (word_D134)
  12222.                 ld      a, 3
  12223.                 call    sub_C3A3
  12224.  
  12225.                 ld      (word_D132), hl
  12226.  
  12227.  
  12228. loc_BEC5:                               ; CODE XREF: sub_BC00+2B7
  12229.                 ld      (word_D134), hl
  12230.                 ld      hl, (word_D13A)
  12231.                 ld      a, h
  12232.                 or      l
  12233.                 jr      z, loc_BEDB
  12234.  
  12235.                 ld      bc, (word_D13C)
  12236.                 ld      a, 3
  12237.                 call    sub_C3A3
  12238.  
  12239.                 ld      (word_D13A), hl
  12240.  
  12241.  
  12242. loc_BEDB:                               ; CODE XREF: sub_BC00+2CD
  12243.                 ld      (word_D13C), hl
  12244.                 ld      hl, (word_D142)
  12245.                 ld      a, h
  12246.                 or      l
  12247.                 jr      z, loc_BEF2
  12248.  
  12249.                 ld      bc, (word_D144)
  12250.                 ld      a, (byte_D141)
  12251.                 call    sub_C3A1
  12252.  
  12253.                 ld      (word_D142), hl
  12254.  
  12255.  
  12256. loc_BEF2:                               ; CODE XREF: sub_BC00+2E3
  12257.                 ld      (word_D144), hl
  12258.                 ld      hl, (word_D14A)
  12259.                 ld      a, h
  12260.                 or      l
  12261.                 jr      z, loc_BF09
  12262.  
  12263.                 ld      bc, (word_D14C)
  12264.                 ld      a, (byte_D149)
  12265.                 call    sub_C3A1
  12266.  
  12267.                 ld      (word_D14A), hl
  12268.  
  12269.  
  12270. loc_BF09:                               ; CODE XREF: sub_BC00+2FA
  12271.                 ld      (word_D14C), hl
  12272.                 ld      hl, (word_D152)
  12273.                 ld      a, h
  12274.                 or      l
  12275.                 jr      z, loc_BF20
  12276.  
  12277.                 ld      bc, (word_D154)
  12278.                 ld      a, (byte_D151)
  12279.                 call    sub_C3A1
  12280.  
  12281.                 ld      (word_D152), hl
  12282.  
  12283.  
  12284. loc_BF20:                               ; CODE XREF: sub_BC00+311
  12285.                 ld      (word_D154), hl
  12286.                 ld      hl, (word_D15A)
  12287.                 ld      a, h
  12288.                 or      l
  12289.                 jr      z, loc_BF37
  12290.  
  12291.                 ld      bc, (word_D15C)
  12292.                 ld      a, (byte_D159)
  12293.                 call    sub_C3A1
  12294.  
  12295.                 ld      (word_D15A), hl
  12296.  
  12297.  
  12298. loc_BF37:                               ; CODE XREF: sub_BC00+328
  12299.                 ld      (word_D15C), hl
  12300.                 ld      hl, (word_D162)
  12301.                 ld      a, h
  12302.                 or      l
  12303.                 jr      z, loc_BF4E
  12304.  
  12305.                 ld      bc, (word_D164)
  12306.                 ld      a, (byte_D161)
  12307.                 call    sub_C3A1
  12308.  
  12309.                 ld      (word_D162), hl
  12310.  
  12311.  
  12312. loc_BF4E:                               ; CODE XREF: sub_BC00+33F
  12313.                 ld      (word_D164), hl
  12314.                 ld      hl, (word_D16A)
  12315.                 ld      a, h
  12316.                 or      l
  12317.                 jr      z, loc_BF65
  12318.  
  12319.                 ld      bc, (word_D16C)
  12320.                 ld      a, (byte_D169)
  12321.                 call    sub_C3A1
  12322.  
  12323.                 ld      (word_D16A), hl
  12324.  
  12325.  
  12326. loc_BF65:                               ; CODE XREF: sub_BC00+356
  12327.                 ld      (word_D16C), hl
  12328.                 ld      hl, (word_D172)
  12329.                 ld      a, h
  12330.                 or      l
  12331.                 jr      z, loc_BF7C
  12332.  
  12333.                 ld      bc, (word_D174)
  12334.                 ld      a, (byte_D171)
  12335.                 call    sub_C3A1
  12336.  
  12337.                 ld      (word_D172), hl
  12338.  
  12339.  
  12340. loc_BF7C:                               ; CODE XREF: sub_BC00+36D
  12341.                 ld      (word_D174), hl
  12342.                 ld      hl, (word_D17A)
  12343.                 ld      a, h
  12344.                 or      l
  12345.                 jr      z, loc_BF93
  12346.  
  12347.                 ld      bc, (word_D17C)
  12348.                 ld      a, (byte_D179)
  12349.                 call    sub_C3A1
  12350.  
  12351.                 ld      (word_D17A), hl
  12352.  
  12353.  
  12354. loc_BF93:                               ; CODE XREF: sub_BC00+384
  12355.                 ld      (word_D17C), hl
  12356.                 ld      b, e
  12357.                 pop     de
  12358.                 ld      hl, (word_D039)
  12359.                 ld      a, (byte_D02D)
  12360.                 rra
  12361.                 jr      nc, loc_BFAB
  12362.  
  12363.                 xor     a
  12364.                 sub     b
  12365.                 ld      b, a
  12366.                 ex      de, hl
  12367.                 ld      a, (word_D00D)
  12368.                 jp      loc_BFB0
  12369.  
  12370. ; ---------------------------------------------------------------------------
  12371.  
  12372. loc_BFAB:                               ; CODE XREF: sub_BC00+39F
  12373.                 ld      a, (word_D00D)
  12374.                 neg
  12375.  
  12376.  
  12377. loc_BFB0:                               ; CODE XREF: sub_BC00+3A8
  12378.                 sub     l
  12379.                 add     a, a
  12380.                 dec     l
  12381.                 jp      m, loc_BFD4
  12382.  
  12383.                 set     1, (ix+2)
  12384.                 ex      af, af'
  12385.                 ld      a, l
  12386.                 inc     a
  12387.                 sub     e
  12388.                 jp      m, loc_BFCC
  12389.  
  12390.                 ld      a, (byte_D07A)
  12391.                 sub     2
  12392.                 push    hl
  12393.                 ld      l, a
  12394.                 ld      h, word_D100/256
  12395.                 ld      a, (hl)
  12396.                 pop     hl
  12397.  
  12398.  
  12399. loc_BFCC:                               ; CODE XREF: sub_BC00+3BE
  12400.                 ld      (byte_D07A), a
  12401.                 ex      af, af'
  12402.                 jr      z, loc_BFD3
  12403.  
  12404.                 dec     a
  12405.  
  12406.  
  12407. loc_BFD3:                               ; CODE XREF: sub_BC00+3D0
  12408.                 sub     h
  12409.  
  12410.  
  12411. loc_BFD4:                               ; CODE XREF: sub_BC00+3B3
  12412.                 inc     l
  12413.                 dec     e
  12414.                 jp      m, loc_C002
  12415.  
  12416.                 ex      af, af'
  12417.                 ld      a, (byte_D01D)
  12418.                 bit     1, a
  12419.                 jr      nz, loc_BFE5
  12420.  
  12421.                 set     6, (ix+2)
  12422.  
  12423.  
  12424. loc_BFE5:                               ; CODE XREF: sub_BC00+3DF
  12425.                 bit     2, (ix+2)
  12426.                 jr      nz, loc_C001
  12427.  
  12428.                 inc     b
  12429.                 inc     b
  12430.                 dec     d
  12431.                 jp      m, loc_C001
  12432.  
  12433.                 and     #C9 ; ''
  12434.                 jr      z, loc_BFF9
  12435.  
  12436.                 set     6, (ix+2)
  12437.  
  12438.  
  12439. loc_BFF9:                               ; CODE XREF: sub_BC00+3F3
  12440.                 inc     b
  12441.                 inc     b
  12442.                 dec     d
  12443.                 jp      m, loc_C001
  12444.  
  12445.                 inc     b
  12446.                 inc     b
  12447.  
  12448.  
  12449. loc_C001:                               ; CODE XREF: sub_BC00+3E9
  12450.                                         ; sub_BC00+3EE ...
  12451.                 ex      af, af'
  12452.  
  12453.  
  12454. loc_C002:                               ; CODE XREF: sub_BC00+3D6
  12455.                 cp      #18
  12456.                 jr      c, loc_C016
  12457.  
  12458.                 cp      #E9 ; 'щ'
  12459.                 jp      nc, loc_C016
  12460.  
  12461.                 rla
  12462.                 ld      a, 3
  12463.                 ld      b, a
  12464.                 ld      c, a
  12465.                 ret     c
  12466.                 ld      a, #FC  ; '№'
  12467.                 ld      b, a
  12468.                 ld      c, a
  12469.                 ret
  12470.  
  12471. ; ---------------------------------------------------------------------------
  12472.  
  12473. loc_C016:                               ; CODE XREF: sub_BC00+404
  12474.                                         ; sub_BC00+408
  12475.                 add     a, a
  12476.                 add     a, a
  12477.                 ld      c, a
  12478.                 ld      a, b
  12479.                 sra     a
  12480.                 cp      #22 ; '"'
  12481.                 jr      c, loc_C02B
  12482.  
  12483.                 cp      #DF ; '▀'
  12484.                 jr      nc, loc_C02B
  12485.  
  12486.                 rla
  12487.                 ld      a, #21 ; '!'
  12488.                 jr      nc, loc_C02B
  12489.  
  12490.                 ld      a, #DF  ; '▀'
  12491.  
  12492.  
  12493. loc_C02B:                               ; CODE XREF: sub_BC00+41E
  12494.                                         ; sub_BC00+422 ...
  12495.                 add     a, c
  12496.                 add     a, #80 ; 'А'
  12497.                 ld      c, a
  12498.                 ld      b, a
  12499.                 ld      a, (byte_D03B)
  12500.                 rla
  12501.                 jr      c, loc_C049
  12502.  
  12503.  
  12504. loc_C036:                               ; CODE XREF: sub_BC00+459
  12505.                 ld      a, c
  12506.                 bit     6, (ix+2)
  12507.                 ret     z
  12508.                 inc     e
  12509.                 ret     z
  12510.                 rlc     e
  12511.                 rl      e
  12512.                 add     a, e
  12513.                 ld      b, a
  12514.                 ld      a, c
  12515.                 ret     nc
  12516.                 ld      b, #FE  ; '■'
  12517.                 ret
  12518.  
  12519. ; ---------------------------------------------------------------------------
  12520.  
  12521. loc_C049:                               ; CODE XREF: sub_BC00+434
  12522.                 rla
  12523.                 ld      a, (byte_D02D)
  12524.                 jr      c, loc_C062
  12525.  
  12526.                 rra
  12527.                 ld      a, (byte_D01E)
  12528.                 jr      nc, loc_C056
  12529.  
  12530.                 cpl
  12531.  
  12532.  
  12533. loc_C056:                               ; CODE XREF: sub_BC00+453
  12534.                 adc     a, #80 ; 'А'
  12535.                 cp      c
  12536.                 jr      nc, loc_C036
  12537.  
  12538.  
  12539. loc_C05B:                               ; CODE XREF: sub_BC00+46B
  12540.                 ld      c, a
  12541.                 ld      b, a
  12542.                 res     6, (ix+2)
  12543.                 ret
  12544.  
  12545. ; ---------------------------------------------------------------------------
  12546.  
  12547. loc_C062:                               ; CODE XREF: sub_BC00+44D
  12548.                 rra
  12549.                 ld      a, (byte_D01E)
  12550.                 jr      nc, loc_C069
  12551.  
  12552.                 cpl
  12553.  
  12554.  
  12555. loc_C069:                               ; CODE XREF: sub_BC00+466
  12556.                 adc     a, #80 ; 'А'
  12557.                 jr      loc_C05B
  12558.  
  12559. ; End of function sub_BC00
  12560.  
  12561.  
  12562. ; =============== S U B R O U T I N E =======================================
  12563.  
  12564.  
  12565. sub_C06D:                               ; CODE XREF: sub_BC00+A5
  12566.                                         ; sub_BC00+525
  12567.                 ld      hl, array_D200
  12568.                 xor     a
  12569.                 ld      c, a
  12570.  
  12571.  
  12572. loc_C072:                               ; CODE XREF: sub_C06D+7 sub_C06D+27     ...
  12573.                 inc     l
  12574.                 or      (hl)
  12575.                 jr      z, loc_C072
  12576.  
  12577.                 ret     m
  12578.                 ld      (hl), c
  12579.  
  12580.  
  12581. loc_C078:                               ; CODE XREF: sub_C06D+12
  12582.                 dec     a
  12583.                 jp      z, loc_C082
  12584.  
  12585.                 dec     e
  12586.                 dec     e
  12587.                 dec     e
  12588.                 jp      loc_C078
  12589.  
  12590. ; ---------------------------------------------------------------------------
  12591.  
  12592. loc_C082:                               ; CODE XREF: sub_C06D+C
  12593.                 inc     l
  12594.                 or      (hl)
  12595.                 jr      z, loc_C09A
  12596.  
  12597.                 ret     m
  12598.  
  12599.  
  12600. loc_C087:                               ; CODE XREF: sub_C06D+29
  12601.                 ld      (hl), c
  12602.  
  12603.  
  12604. loc_C088:                               ; CODE XREF: sub_C06D+22
  12605.                 dec     a
  12606.                 jp      z, loc_C092
  12607.  
  12608.                 dec     e
  12609.                 dec     e
  12610.                 dec     e
  12611.                 jp      loc_C088
  12612.  
  12613. ; ---------------------------------------------------------------------------
  12614.  
  12615. loc_C092:                               ; CODE XREF: sub_C06D+1C
  12616.                 inc     l
  12617.                 or      (hl)
  12618.                 jr      z, loc_C072
  12619.  
  12620.                 jp      p, loc_C087
  12621.  
  12622.                 ret
  12623.  
  12624. ; ---------------------------------------------------------------------------
  12625.  
  12626. loc_C09A:                               ; CODE XREF: sub_C06D+17
  12627.                 dec     e
  12628.                 dec     e
  12629.                 dec     e
  12630.                 jp      loc_C072
  12631.  
  12632. ; End of function sub_C06D
  12633.  
  12634. ; ---------------------------------------------------------------------------
  12635. ; START OF FUNCTION CHUNK FOR sub_BC00
  12636.  
  12637. loc_C0A0:                               ; CODE XREF: sub_BC00+AB
  12638.                 ld      a, #90 ; 'Р'
  12639.                 add     a, b
  12640.                 ld      b, a
  12641.                 exx
  12642.                 xor     a
  12643.                 sub     e
  12644.                 ld      e, a
  12645.                 ld      h, BRD_88_0/256
  12646.                 ex      af, af'
  12647.                 neg
  12648.                 ex      af, af'
  12649.  
  12650.  
  12651. loc_C0AE:                               ; CODE XREF: sub_BC00+2B
  12652.                 ld      a, (byte_D108)
  12653.                 ld      d, #88 ; 'И'
  12654.                 or      a
  12655.                 call    p, sub_C48D
  12656.  
  12657.                 ld      a, (byte_D110)
  12658.                 or      a
  12659.                 call    p, sub_C498
  12660.  
  12661.                 ld      a, (byte_D118)
  12662.                 or      a
  12663.                 call    p, sub_C498
  12664.  
  12665.                 ld      a, (byte_D120)
  12666.                 or      a
  12667.                 call    p, sub_C5C4
  12668.  
  12669.                 ld      a, (byte_D128)
  12670.                 or      a
  12671.                 call    p, sub_C5C4
  12672.  
  12673.                 ld      a, (byte_D130)
  12674.                 or      a
  12675.                 call    p, sub_C512
  12676.  
  12677.                 ld      a, (byte_D138)
  12678.                 or      a
  12679.                 call    p, sub_C512
  12680.  
  12681.                 ld      d, #11
  12682.                 ld      b, array_D200/256
  12683.                 ld      hl, (unk_D140)
  12684.                 bit     7, l
  12685.                 call    z, sub_C2F2
  12686.  
  12687.                 ld      hl, (unk_D148)
  12688.                 bit     7, l
  12689.                 call    z, sub_C2F2
  12690.  
  12691.                 ld      hl, (unk_D150)
  12692.                 bit     7, l
  12693.                 call    z, sub_C2F2
  12694.  
  12695.                 ld      hl, (unk_D158)
  12696.                 bit     7, l
  12697.                 call    z, sub_C2EA
  12698.  
  12699.                 ld      hl, (unk_D160)
  12700.                 bit     7, l
  12701.                 call    z, sub_C2EA
  12702.  
  12703.                 ld      hl, (unk_D168)
  12704.                 bit     7, l
  12705.                 call    z, sub_C2F2
  12706.  
  12707.                 ld      hl, (unk_D170)
  12708.                 bit     7, l
  12709.                 call    z, sub_C2F2
  12710.  
  12711.                 ld      hl, (unk_D178)
  12712.                 bit     7, l
  12713.                 call    z, sub_C2F2
  12714.  
  12715.                 call    sub_C06D
  12716.  
  12717.                 ld      hl, (word_D100)
  12718.                 call    sub_C1EF
  12719.  
  12720.                 ex      af, af'
  12721.                 neg
  12722.                 ex      af, af'
  12723.                 xor     a
  12724.                 sub     e
  12725.                 ld      e, a
  12726.                 ld      hl, (word_D180)
  12727.                 exx
  12728.                 set     7, b
  12729.                 call    sub_C1F4
  12730.  
  12731.                 exx
  12732.                 bit     4, b
  12733.                 jp      nz, loc_BCAE
  12734.  
  12735.                 set     4, b
  12736.                 exx
  12737.                 jp      loc_BC2E
  12738.  
  12739. ; END OF FUNCTION CHUNK FOR sub_BC00
  12740. ; ---------------------------------------------------------------------------
  12741. ; START OF FUNCTION CHUNK FOR sub_C1F4
  12742.  
  12743. loc_C14A:                               ; CODE XREF: sub_C1F4-1B
  12744.                 or      a
  12745.                 jp      nz, loc_C1E6
  12746.  
  12747.                 ld      a, d
  12748.                 or      a
  12749.                 jr      nz, loc_C155
  12750.  
  12751.                 sub     #A
  12752.                 ld      d, a
  12753.  
  12754.  
  12755. loc_C155:                               ; CODE XREF: sub_C1F4-A4
  12756.                 ld      a, 7
  12757.                 and     l
  12758.                 inc     a
  12759.                 rra
  12760.                 cp      2
  12761.                 jr      z, loc_C169
  12762.  
  12763.                 ld      a, #70 ; 'p'
  12764.                 and     l
  12765.                 cp      #30 ; '0'
  12766.                 jr      z, loc_C169
  12767.  
  12768.                 cp      #40 ; '@'
  12769.                 jr      nz, loc_C16F
  12770.  
  12771.  
  12772. loc_C169:                               ; CODE XREF: sub_C1F4-98 sub_C1F4-91
  12773.                 ex      af, af'
  12774.                 add     a, #10
  12775.                 jp      loc_C1E7
  12776.  
  12777. ; ---------------------------------------------------------------------------
  12778.  
  12779. loc_C16F:                               ; CODE XREF: sub_C1F4-8D
  12780.                 ld      a, 7
  12781.                 and     l
  12782.                 cp      2
  12783.                 jr      z, loc_C185
  12784.  
  12785.                 cp      5
  12786.                 jr      z, loc_C185
  12787.  
  12788.                 ld      a, #70 ; 'p'
  12789.                 and     l
  12790.                 cp      #20 ; ' '
  12791.                 jr      z, loc_C185
  12792.  
  12793.                 cp      #50 ; 'P'
  12794.                 jr      nz, loc_C1E6
  12795.  
  12796.  
  12797. loc_C185:                               ; CODE XREF: sub_C1F4-80 sub_C1F4-7C ...
  12798.                 ex      af, af'
  12799.                 add     a, 8
  12800.                 jp      loc_C1E7
  12801.  
  12802. ; END OF FUNCTION CHUNK FOR sub_C1F4
  12803. ; ---------------------------------------------------------------------------
  12804. ; START OF FUNCTION CHUNK FOR sub_C1EF
  12805.  
  12806. loc_C18B:                               ; CODE XREF: sub_C1EF+3
  12807.                 ld      a, (byte_D049)
  12808.                 cpl
  12809.                 add     a, #B
  12810.                 exx
  12811.                 ld      c, a
  12812.                 ld      a, (byte_D189)
  12813.                 bit     4, a
  12814.                 jr      z, loc_C1A4
  12815.  
  12816.                 ld      a, (byte_D188)
  12817.                 or      a
  12818.                 jp      m, loc_C1A4
  12819.  
  12820.                 ld      a, e
  12821.                 add     a, c
  12822.                 ld      e, a
  12823.  
  12824.  
  12825. loc_C1A4:                               ; CODE XREF: sub_C1EF-57 sub_C1EF-51
  12826.                 ld      a, (byte_D109)
  12827.                 bit     4, a
  12828.                 jr      z, loc_C1B5
  12829.  
  12830.                 ld      a, (byte_D108)
  12831.                 or      a
  12832.                 jp      m, loc_C1B5
  12833.  
  12834.                 ld      a, e
  12835.                 sub     c
  12836.                 ld      e, a
  12837.  
  12838.  
  12839. loc_C1B5:                               ; CODE XREF: sub_C1EF-46 sub_C1EF-40
  12840.                 exx
  12841.                 jp      sub_C1F4
  12842.  
  12843. ; END OF FUNCTION CHUNK FOR sub_C1EF
  12844. ; ---------------------------------------------------------------------------
  12845. ; START OF FUNCTION CHUNK FOR sub_C1F4
  12846.  
  12847. loc_C1B9:                               ; CODE XREF: sub_C1F4+4
  12848.                 bit     3, a
  12849.                 jr      nz, loc_C1C5
  12850.  
  12851.                 ld      h, BRD_88_0/256
  12852.                 ld      b, l
  12853.                 ld      c, 8
  12854.                 jp      loc_C21E
  12855.  
  12856. ; ---------------------------------------------------------------------------
  12857.  
  12858. loc_C1C5:                               ; CODE XREF: sub_C1F4-39
  12859.                 ld      b, a
  12860.                 ld      c, 4
  12861.                 ld      a, #C0  ; '└'
  12862.                 and     h
  12863.                 rra
  12864.                 rra
  12865.                 rra
  12866.                 ld      d, a
  12867.                 ld      a, (byte_D01E)
  12868.                 or      a
  12869.                 jr      z, loc_C1DC
  12870.  
  12871.                 xor     b
  12872.                 ld      a, (byte_D04C)
  12873.                 jp      p, loc_C14A
  12874.  
  12875.  
  12876. loc_C1DC:                               ; CODE XREF: sub_C1F4-21
  12877.                 rr      d
  12878.                 or      a
  12879.                 jr      nz, loc_C1E6
  12880.  
  12881.                 ld      a, #C0  ; '└'
  12882.                 and     h
  12883.                 jr      nz, loc_C185
  12884.  
  12885.  
  12886. loc_C1E6:                               ; CODE XREF: sub_C1F4-A9 sub_C1F4-71 ...
  12887.                 ex      af, af'
  12888.  
  12889.  
  12890. loc_C1E7:                               ; CODE XREF: sub_C1F4-88 sub_C1F4-6C
  12891.                 add     a, d
  12892.                 ex      af, af'
  12893.                 ld      h, BRD_88_0/256
  12894.                 ld      b, l
  12895.                 jp      loc_C21E
  12896.  
  12897. ; END OF FUNCTION CHUNK FOR sub_C1F4
  12898.  
  12899. ; =============== S U B R O U T I N E =======================================
  12900.  
  12901.  
  12902. sub_C1EF:                               ; CODE XREF: sub_BC00+52B
  12903.  
  12904. ; FUNCTION CHUNK AT C18B SIZE 0000002E BYTES
  12905.  
  12906.                 exx
  12907.                 bit     0, b
  12908.                 jr      z, loc_C18B
  12909.  
  12910. ; End of function sub_C1EF
  12911.  
  12912.  
  12913. ; =============== S U B R O U T I N E =======================================
  12914.  
  12915.  
  12916. sub_C1F4:                               ; CODE XREF: sub_BC00+53B
  12917.                                         ; sub_C1EF-39
  12918.  
  12919. ; FUNCTION CHUNK AT C14A SIZE 00000041 BYTES
  12920. ; FUNCTION CHUNK AT C1B9 SIZE 00000036 BYTES
  12921. ; FUNCTION CHUNK AT C26D SIZE 0000001F BYTES
  12922. ; FUNCTION CHUNK AT C28F SIZE 00000006 BYTES
  12923. ; FUNCTION CHUNK AT C298 SIZE 0000000E BYTES
  12924.  
  12925.                 ld      a, b
  12926.                 exx
  12927.                 bit     2, a
  12928.                 jr      nz, loc_C1B9
  12929.  
  12930.                 bit     5, h
  12931.                 jp      z, loc_C27F
  12932.  
  12933.                 ld      a, #C0  ; '└'
  12934.                 and     h
  12935.                 jr      nz, loc_C26D
  12936.  
  12937.                 ld      c, #C
  12938.                 ld      b, l
  12939.                 ld      h, BRD_88_0/256
  12940.                 ld      a, #1F
  12941.                 add     a, b
  12942.                 jp      p, loc_C211
  12943.  
  12944.                 sub     #40 ; '@'
  12945.  
  12946.  
  12947. loc_C211:                               ; CODE XREF: sub_C1F4+18
  12948.                 ld      l, a
  12949.                 ld      a, (hl)
  12950.                 inc     l
  12951.                 or      (hl)
  12952.                 inc     l
  12953.                 or      (hl)
  12954.                 bit     6, a
  12955.                 jr      nz, loc_C21D
  12956.  
  12957.                 dec     e
  12958.                 dec     e
  12959.  
  12960.  
  12961. loc_C21D:                               ; CODE XREF: sub_C1F4+25
  12962.                 ld      l, b
  12963.  
  12964.  
  12965. loc_C21E:                               ; CODE XREF: sub_C1F4-32 sub_C1F4-8     ...
  12966.                 dec     l
  12967.                 xor     a
  12968.                 or      (hl)
  12969.                 call    nz, sub_C254
  12970.  
  12971.                 inc     l
  12972.                 inc     l
  12973.                 or      (hl)
  12974.                 call    nz, sub_C254
  12975.  
  12976.                 ld      a, #10
  12977.                 add     a, b
  12978.                 jp      m, loc_C241
  12979.  
  12980.                 ld      l, a
  12981.                 xor     a
  12982.                 or      (hl)
  12983.                 call    nz, sub_C254
  12984.  
  12985.                 inc     l
  12986.                 or      (hl)
  12987.                 call    nz, sub_C254
  12988.  
  12989.                 dec     l
  12990.                 dec     l
  12991.                 or      (hl)
  12992.                 call    nz, sub_C254
  12993.  
  12994.  
  12995. loc_C241:                               ; CODE XREF: sub_C1F4+39
  12996.                 ld      a, #F0  ; 'Ё'
  12997.                 add     a, b
  12998.                 ret     m
  12999.                 ld      l, a
  13000.                 xor     a
  13001.                 or      (hl)
  13002.                 call    nz, sub_C254
  13003.  
  13004.                 inc     l
  13005.                 or      (hl)
  13006.                 call    nz, sub_C254
  13007.  
  13008.                 dec     l
  13009.                 dec     l
  13010.                 or      (hl)
  13011.                 ret     z
  13012.  
  13013. ; End of function sub_C1F4
  13014.  
  13015.  
  13016. ; =============== S U B R O U T I N E =======================================
  13017.  
  13018.  
  13019. sub_C254:                               ; CODE XREF: sub_C1F4+2D sub_C1F4+33 ...
  13020.  
  13021. ; FUNCTION CHUNK AT C471 SIZE 0000001C BYTES
  13022.  
  13023.                 exx
  13024.                 ld      l, a
  13025.                 inc     l
  13026.                 xor     b
  13027.                 jp      p, loc_C263
  13028.  
  13029.                 ld      a, #78 ; 'x'
  13030.                 and     l
  13031.                 jp      z, loc_C471
  13032.  
  13033.                 dec     l
  13034.                 dec     l
  13035.  
  13036.  
  13037. loc_C263:                               ; CODE XREF: sub_C254+4
  13038.                 inc     (hl)
  13039.                 xor     a
  13040.                 bit     6, l
  13041.                 exx
  13042.                 ret     z
  13043.                 ex      af, af'
  13044.                 add     a, c
  13045.                 ex      af, af'
  13046.                 ret
  13047.  
  13048. ; End of function sub_C254
  13049.  
  13050. ; ---------------------------------------------------------------------------
  13051. ; START OF FUNCTION CHUNK FOR sub_C1F4
  13052.  
  13053. loc_C26D:                               ; CODE XREF: sub_C1F4+E sub_C1F4+AA
  13054.                 ld      c, 4
  13055.                 bit     7, h
  13056.                 jp      z, loc_C276
  13057.  
  13058.                 dec     e
  13059.                 dec     e
  13060.  
  13061.  
  13062. loc_C276:                               ; CODE XREF: sub_C1F4+7D
  13063.                 dec     e
  13064.                 dec     e
  13065.                 dec     e
  13066.                 ld      b, l
  13067.                 ld      h, BRD_88_0/256
  13068.                 jp      loc_C21E
  13069.  
  13070. ; ---------------------------------------------------------------------------
  13071.  
  13072. loc_C27F:                               ; CODE XREF: sub_C1F4+8
  13073.                 bit     4, h
  13074.                 jr      nz, loc_C28F
  13075.  
  13076.                 ld      h, BRD_88_0/256
  13077.                 ld      b, l
  13078.                 ld      c, 0
  13079.                 inc     e
  13080.                 jp      loc_C21E
  13081.  
  13082. ; END OF FUNCTION CHUNK FOR sub_C1F4
  13083. ; ---------------------------------------------------------------------------
  13084.                 rra                     ; dead code???
  13085.                 jr      nc, loc_C295
  13086.  
  13087. ; START OF FUNCTION CHUNK FOR sub_C1F4
  13088.  
  13089. loc_C28F:                               ; CODE XREF: sub_C1F4+8D
  13090.                 ld      a, e
  13091.                 sub     #C
  13092.                 jp      loc_C298        ;  jr???
  13093.  
  13094. ; END OF FUNCTION CHUNK FOR sub_C1F4
  13095. ; ---------------------------------------------------------------------------
  13096.  
  13097. loc_C295:                               ; CODE XREF: RAM:C28D
  13098.                 ld      a, e
  13099.                 sub     8
  13100.  
  13101. ; START OF FUNCTION CHUNK FOR sub_C1F4
  13102.  
  13103. loc_C298:                               ; CODE XREF: sub_C1F4+9E
  13104.                 ld      e, a
  13105.                 ld      c, 8
  13106.                 ld      a, #C0  ; '└'
  13107.                 and     h
  13108.                 jr      nz, loc_C26D
  13109.  
  13110.                 ld      h, BRD_88_0/256
  13111.                 ld      b, l
  13112.                 jp      loc_C21E
  13113.  
  13114. ; END OF FUNCTION CHUNK FOR sub_C1F4
  13115. ; ---------------------------------------------------------------------------
  13116.  
  13117. loc_C2A6:                               ; DATA XREF: sub_BC00+23
  13118.                 srl     h
  13119.                 srl     h
  13120.                 ex      af, af'
  13121.                 add     a, h
  13122.                 ex      af, af'
  13123.                 bit     5, h
  13124.                 jp      z, loc_C313
  13125.  
  13126. ; START OF FUNCTION CHUNK FOR sub_C2F2
  13127.  
  13128. loc_C2B2:                               ; CODE XREF: sub_C2F2+1E
  13129.                 ld      h, BRD_88_0/256
  13130.                 dec     l
  13131.                 ld      a, (hl)
  13132.                 inc     l
  13133.                 or      a
  13134.                 jp      nz, loc_C315
  13135.  
  13136.                 set     6, (ix+2)
  13137.                 set     0, (ix+2)
  13138.                 ex      af, af' ;'
  13139.                 exx
  13140.                 bit     4, b
  13141.                 exx
  13142.                 jr      nz, loc_C2CC
  13143.  
  13144.                 add     a, #16
  13145.  
  13146.  
  13147. loc_C2CC:                               ; CODE XREF: sub_C2F2-2A
  13148.                 add     a, #E
  13149.                 ex      af, af' ;'
  13150.                 jp      loc_C315
  13151.  
  13152. ; END OF FUNCTION CHUNK FOR sub_C2F2
  13153. ; ---------------------------------------------------------------------------
  13154. ; START OF FUNCTION CHUNK FOR sub_C2EA
  13155.  
  13156. loc_C2D2:                               ; CODE XREF: sub_C2EA+5
  13157.                 ld      a, #E
  13158.                 and     h
  13159.                 jr      nz, loc_C33E
  13160.  
  13161.                 dec     e
  13162.                 ld      a, d
  13163.                 add     a, l
  13164.                 ld      l, a
  13165.                 dec     l
  13166.                 push    hl
  13167.                 ld      h, BRD_88_0/256
  13168.                 ld      a, (hl)
  13169.                 pop     hl
  13170.                 inc     l
  13171.                 or      a
  13172.                 ld      a, l
  13173.                 jr      z, loc_C2FB
  13174.  
  13175.                 dec     e
  13176.                 dec     e
  13177.                 jr      loc_C2FB
  13178.  
  13179. ; END OF FUNCTION CHUNK FOR sub_C2EA
  13180.  
  13181. ; =============== S U B R O U T I N E =======================================
  13182.  
  13183.  
  13184. sub_C2EA:                               ; CODE XREF: sub_BC00+82 sub_BC00+8A ...
  13185.  
  13186. ; FUNCTION CHUNK AT C2D2 SIZE 00000018 BYTES
  13187.  
  13188.                 ld      a, l
  13189.                 add     a, #20 ; ' '
  13190.                 bit     6, a
  13191.                 jr      z, loc_C2D2
  13192.  
  13193.                 inc     e
  13194.  
  13195. ; End of function sub_C2EA
  13196.  
  13197.  
  13198. ; =============== S U B R O U T I N E =======================================
  13199.  
  13200.  
  13201. sub_C2F2:                               ; CODE XREF: sub_BC00+6A sub_BC00+72 ...
  13202.  
  13203. ; FUNCTION CHUNK AT C2B2 SIZE 00000020 BYTES
  13204. ; FUNCTION CHUNK AT C362 SIZE 0000000C BYTES
  13205. ; FUNCTION CHUNK AT C467 SIZE 0000000A BYTES
  13206.  
  13207.                 inc     e
  13208.                 ld      a, #E
  13209.                 and     h
  13210.                 jr      nz, loc_C33E
  13211.  
  13212.                 ld      a, d
  13213.                 add     a, l
  13214.                 ld      l, a
  13215.  
  13216.  
  13217. loc_C2FB:                               ; CODE XREF: sub_C2EA-6 sub_C2EA-2
  13218.                 and     #F
  13219.                 ld      c, a
  13220.                 ld      a, (bc)
  13221.                 inc     a
  13222.                 ld      (bc), a
  13223.                 jp      (iy)
  13224.  
  13225. ; ---------------------------------------------------------------------------
  13226.  
  13227. loc_C303:                               ; DATA XREF: sub_BC00+1B
  13228.                 srl     h
  13229.                 jr      z, loc_C313
  13230.  
  13231.                 srl     h
  13232.                 srl     h
  13233.                 ex      af, af' ;'
  13234.                 add     a, h
  13235.                 ex      af, af' ;'
  13236.                 bit     4, h
  13237.                 jp      nz, loc_C2B2
  13238.  
  13239.  
  13240. loc_C313:                               ; CODE XREF: RAM:C2AF   sub_C2F2+13
  13241.                                         ; DATA XREF: ...
  13242.                 ld      h, BRD_88_0/256
  13243.  
  13244.  
  13245. loc_C315:                               ; CODE XREF: sub_C2F2-3A sub_C2F2-23
  13246.                 ld      a, (hl)
  13247.                 or      a
  13248.                 jp      z, loc_C32A
  13249.  
  13250.                 exx
  13251.                 ld      l, a
  13252.                 xor     b
  13253.                 jp      p, loc_C327
  13254.  
  13255.                 ld      a, #78 ; 'x'
  13256.                 and     l
  13257.                 jr      z, loc_C362
  13258.  
  13259.                 dec     l
  13260.                 dec     l
  13261.  
  13262.  
  13263. loc_C327:                               ; CODE XREF: sub_C2F2+2B
  13264.                 inc     (hl)
  13265.                 exx
  13266.                 xor     a
  13267.  
  13268.  
  13269. loc_C32A:                               ; CODE XREF: sub_C2F2+25
  13270.                 dec     l
  13271.                 dec     l
  13272.                 or      (hl)
  13273.                 ret     z
  13274.                 exx
  13275.                 ld      l, a
  13276.                 xor     b
  13277.                 jp      p, loc_C33B
  13278.  
  13279.                 ld      a, #78 ; 'x'
  13280.                 and     l
  13281.                 jr      z, loc_C362
  13282.  
  13283.                 dec     l
  13284.                 dec     l
  13285.  
  13286.  
  13287. loc_C33B:                               ; CODE XREF: sub_C2F2+3F
  13288.                 inc     (hl)
  13289.                 exx
  13290.                 ret
  13291.  
  13292. ; ---------------------------------------------------------------------------
  13293.  
  13294. loc_C33E:                               ; CODE XREF: sub_C2EA-15 sub_C2F2+4
  13295.                 push    bc
  13296.                 push    de
  13297.                 ld      bc, ret_C35D
  13298.                 push    bc
  13299.                 ld      c, h
  13300.                 ld      h, BRD_88_0/256
  13301.                 ld      d, #88 ; 'И'
  13302.                 ld      a, l
  13303.                 bit     3, c
  13304.                 jp      nz, sub_C48D
  13305.  
  13306.                 bit     2, c
  13307.                 jp      nz, sub_C498
  13308.  
  13309.                 bit     7, c
  13310.                 ld      b, a
  13311.                 jp      nz, loc_C5D5
  13312.  
  13313.                 jp      loc_C517
  13314.  
  13315. ; End of function sub_C2F2
  13316.  
  13317. ; ---------------------------------------------------------------------------
  13318.  
  13319. ret_C35D:                               ; DATA XREF: sub_C2F2+4E
  13320.                 ld      l, e
  13321.                 pop     de
  13322.                 ld      e, l
  13323.                 pop     bc
  13324.                 ret
  13325.  
  13326. ; ---------------------------------------------------------------------------
  13327. ; START OF FUNCTION CHUNK FOR sub_C2F2
  13328.  
  13329. loc_C362:                               ; CODE XREF: sub_C2F2+31 sub_C2F2+45
  13330.                 bit     4, b
  13331.                 jp      z, loc_C467
  13332.  
  13333.                 set     7, (ix+2)
  13334.                 exx
  13335.                 inc     e
  13336.                 ret
  13337.  
  13338. ; END OF FUNCTION CHUNK FOR sub_C2F2
  13339. ; ---------------------------------------------------------------------------
  13340. ; START OF FUNCTION CHUNK FOR sub_C3A3
  13341.  
  13342. loc_C36E:                               ; CODE XREF: sub_C3A3+A
  13343.                 ld      a, b
  13344.                 and     #FD ; '¤'
  13345.                 jr      nz, loc_C377
  13346.  
  13347.                 ex      af, af' ;'
  13348.                 jp      loc_C432
  13349.  
  13350. ; ---------------------------------------------------------------------------
  13351.  
  13352. loc_C377:                               ; CODE XREF: sub_C3A3-32
  13353.                 ld      a, b
  13354.                 ld      d, a
  13355.                 and     3
  13356.                 ld      b, a
  13357.                 ld      a, d
  13358.                 and     #FC ; '№'
  13359.                 jr      nz, loc_C3AF
  13360.  
  13361.                 dec     e
  13362.                 res     0, b
  13363.                 ld      a, 3
  13364.                 jp      loc_C3AF
  13365.  
  13366. ; ---------------------------------------------------------------------------
  13367.  
  13368. loc_C389:                               ; CODE XREF: sub_C3A3+3
  13369.                 bit     0, h
  13370.                 jr      nz, loc_C390
  13371.  
  13372.                 ld      h, 0
  13373.                 ret
  13374.  
  13375. ; ---------------------------------------------------------------------------
  13376.  
  13377. loc_C390:                               ; CODE XREF: sub_C3A3-18
  13378.                 ld      a, h
  13379.                 ld      d, h
  13380.                 and     3
  13381.                 ld      h, a
  13382.                 ld      a, d
  13383.                 and     #FC ; '№'
  13384.                 jr      nz, loc_C3A8
  13385.  
  13386.                 ld      a, 3
  13387.                 res     0, h
  13388.                 jp      loc_C3A8
  13389.  
  13390. ; END OF FUNCTION CHUNK FOR sub_C3A3
  13391.  
  13392. ; =============== S U B R O U T I N E =======================================
  13393.  
  13394.  
  13395. sub_C3A1:                               ; CODE XREF: sub_BC00+18D
  13396.                                         ; sub_BC00+1A4 ...
  13397.                 and     #F
  13398.  
  13399. ; End of function sub_C3A1
  13400.  
  13401.  
  13402. ; =============== S U B R O U T I N E =======================================
  13403. ;a=0..15 (Ёхры№эю 9,5,3)? яюярф╕Є т max?
  13404. ;l=? яюярф╕Є т шэфхъё ЄрсышЎ√ фы  т√ўшЄрэш 
  13405. ;c=? яюярф╕Є т шэфхъё ЄрсышЎ√ фы  ёыюцхэш 
  13406. ;b=?
  13407. ;h=?
  13408. ;out: hl т Єюь цх ЇюЁьрЄх, ўЄю bc
  13409.  
  13410. sub_C3A3:                               ; CODE XREF: sub_BC00+F2
  13411.                                         ; sub_BC00+108 ...
  13412.  
  13413. ; FUNCTION CHUNK AT C36E SIZE 00000033 BYTES
  13414.  
  13415.                 ex      af, af' ;'
  13416.                 ld      a, l
  13417.                 or      a
  13418.                 jr      z, loc_C389
  13419.  
  13420. loc_C3A8:                               ; CODE XREF: sub_C3A3-B sub_C3A3-5
  13421.                 exx
  13422.                 ld      b, a
  13423.                 exx
  13424.                 ld      a, c
  13425.                 or      a
  13426.                 jr      z, loc_C36E
  13427.  
  13428. loc_C3AF:                               ; CODE XREF: sub_C3A3-24 sub_C3A3-1D
  13429.                 exx
  13430.                 ld      c, a
  13431.                 ex      af, af' ;'
  13432.                 ld      d, a ;max?
  13433.                 ld      e, #FF ;min?
  13434.                 ld      h, tbl_BA00/256 ;ъръшх-Єю ъюэёЄрэЄ√ фы  юЎхэъш яючшЎшш?
  13435.  
  13436. loc_C3B7:                               ; CODE XREF: sub_C3A3+36 sub_C3A3+49 ...
  13437.                 ld      l, b
  13438.                 sub     (hl)
  13439.                 cp      e
  13440.                 jp      m, loc_C3C2 ;value<max?
  13441.                 cp      d
  13442.                 jp      p, loc_C420 ;value>min?
  13443. ;max<=value<=min???
  13444.                 ld      e, a ;new max?
  13445. loc_C3C2:                               ; CODE XREF: sub_C3A3+17
  13446.                 inc     h               ; tbl_BB00
  13447.                 ld      b, (hl)
  13448.                 inc     b
  13449.                 dec     b
  13450.                 jr      z, loc_C3FD
  13451.  
  13452. loc_C3C8:                               ; CODE XREF: sub_C3A3+6A sub_C3A3+79
  13453.                 dec     h
  13454.                 ld      l, c
  13455.                 add     a, (hl)
  13456.                 cp      d
  13457.                 jp      p, loc_C3D4 ;value>min?
  13458.                 cp      e
  13459.                 jp      m, loc_C42A ;value<max?
  13460. ;max<=value<=min???
  13461.                 ld      d, a ;new min?
  13462. loc_C3D4:                               ; CODE XREF: sub_C3A3+29
  13463.                 inc     h
  13464.                 ld      c, (hl)
  13465.                 dec     h
  13466.                 inc     c
  13467.                 dec     c
  13468.                 jp      nz, loc_C3B7
  13469.  
  13470.                 exx
  13471.                 ex      af, af' ;'
  13472.                 ld      a, b ;шчэрўры№эю яхЁхфрэю т яЁюЎхфєЁє т b
  13473.                 and     #FC ; '№'
  13474.                 jr      z, loc_C3EF
  13475.  
  13476.                 ld      d, a
  13477.                 ld      a, b
  13478.                 and     3
  13479.                 ld      b, a
  13480.                 ld      a, d
  13481.                 exx
  13482.                 ld      c, a
  13483.                 ex      af, af' ;'
  13484.                 jp      loc_C3B7
  13485.  
  13486. ; ---------------------------------------------------------------------------
  13487.  
  13488. loc_C3EF:                               ; CODE XREF: sub_C3A3+3E
  13489.                 bit     0, b
  13490.                 jr      z, loc_C41F
  13491.  
  13492.                 res     0, b
  13493.                 ld      a, 3
  13494.                 exx
  13495.                 ld      c, a
  13496.                 ex      af, af'
  13497.                 jp      loc_C3B7
  13498.  
  13499. ; ---------------------------------------------------------------------------
  13500.  
  13501. loc_C3FD:                               ; CODE XREF: sub_C3A3+23
  13502.                 exx
  13503.                 ex      af, af'
  13504.                 ld      a, h
  13505.                 and     #FC ; '№'
  13506.                 jr      z, loc_C410
  13507.  
  13508.                 ld      d, a
  13509.                 ld      a, h
  13510.                 and     3
  13511.                 ld      h, a
  13512.                 ld      a, d
  13513.                 exx
  13514.                 ld      b, a
  13515.                 ex      af, af'
  13516.                 jp      loc_C3C8
  13517.  
  13518. ; ---------------------------------------------------------------------------
  13519.  
  13520. loc_C410:                               ; CODE XREF: sub_C3A3+5F
  13521.                 bit     0, h
  13522.                 jr      z, loc_C429
  13523.  
  13524.                 res     0, h
  13525.                 ld      a, 3
  13526.                 dec     e
  13527.                 exx
  13528.                 ld      b, a
  13529.                 ex      af, af'
  13530.                 jp      loc_C3C8
  13531.  
  13532. ; ---------------------------------------------------------------------------
  13533.  
  13534. loc_C41F:                               ; CODE XREF: sub_C3A3+4E
  13535.                 exx
  13536.  
  13537.  
  13538. loc_C420:                               ; CODE XREF: sub_C3A3+1B
  13539.                 ld      a, d
  13540.                 or      a
  13541.                 exx
  13542.                 jp      p, loc_C430
  13543.  
  13544.                 jp      loc_C459
  13545.  
  13546. ; ---------------------------------------------------------------------------
  13547.  
  13548. loc_C429:                               ; CODE XREF: sub_C3A3+6F
  13549.                 exx
  13550.  
  13551.  
  13552. loc_C42A:                               ; CODE XREF: sub_C3A3+2D
  13553.                 ld      a, e
  13554.                 or      a
  13555.                 exx
  13556.                 jp      m, loc_C459
  13557.  
  13558.  
  13559. loc_C430:                               ; CODE XREF: sub_C3A3+80
  13560.                 jr      z, loc_C454
  13561.  
  13562.  
  13563. loc_C432:                               ; CODE XREF: sub_C3A3-2F
  13564.                 ld      hl, word_D039
  13565.                 cp      (hl)
  13566.                 jr      c, loc_C44F
  13567.  
  13568.                 ld      c, a
  13569.                 ld      d, (hl)
  13570.                 ld      (hl), c
  13571.                 pop     iy
  13572.                 push    iy
  13573.                 ld      a, (byte_D02D)
  13574.                 rrca
  13575.                 ld      c, (iy+1)
  13576.                 xor     c
  13577.                 jp      m, loc_C44E
  13578.  
  13579.                 ld      a, c
  13580.                 ld      (byte_D07A), a
  13581.  
  13582.  
  13583. loc_C44E:                               ; CODE XREF: sub_C3A3+A4
  13584.                 ld      a, d
  13585.  
  13586.  
  13587. loc_C44F:                               ; CODE XREF: sub_C3A3+93
  13588.                 inc     l
  13589.                 cp      (hl)
  13590.                 jr      c, loc_C454
  13591.  
  13592.                 ld      (hl), a
  13593.  
  13594.  
  13595. loc_C454:                               ; CODE XREF: sub_C3A3:loc_C430
  13596.                                         ; sub_C3A3+AE
  13597.                 dec     e
  13598.                 bit     1, b
  13599.                 jr      nz, loc_C45D
  13600.  
  13601.  
  13602. loc_C459:                               ; CODE XREF: sub_C3A3+83 sub_C3A3+8A
  13603.                 ld      hl, 0
  13604.                 ret
  13605.  
  13606. ; ---------------------------------------------------------------------------
  13607.  
  13608. loc_C45D:                               ; CODE XREF: sub_C3A3+B4
  13609.                 set     2, (ix+2)
  13610.                 ld      hl, 0
  13611.                 dec     e
  13612.                 dec     e
  13613.                 ret
  13614.  
  13615. ; End of function sub_C3A3
  13616.  
  13617. ; ---------------------------------------------------------------------------
  13618. ; START OF FUNCTION CHUNK FOR sub_C2F2
  13619.  
  13620. loc_C467:                               ; CODE XREF: sub_C2F2+72
  13621.                 xor     a
  13622.                 ld      b, 8
  13623.                 ld      hl,  array_D200+1
  13624.  
  13625.  
  13626. loc_C46D:                               ; CODE XREF: sub_C2F2+17D
  13627.                 ld      (hl), a
  13628.                 inc     l
  13629.                 djnz    loc_C46D
  13630.  
  13631. ; END OF FUNCTION CHUNK FOR sub_C2F2
  13632. ; START OF FUNCTION CHUNK FOR sub_C254
  13633.  
  13634. loc_C471:                               ; CODE XREF: sub_C254+A sub_C563+17     ...
  13635.                 xor     a
  13636.                 ld      (byte_D079), a
  13637.                 ld      b, #1F
  13638.                 ld      de, 5
  13639.                 ld      hl, word_D10A
  13640.  
  13641.  
  13642. loc_C47D:                               ; CODE XREF: sub_C254+231
  13643.                 ld      (hl), a
  13644.                 inc     l
  13645.                 ld      (hl), a
  13646.                 inc     l
  13647.                 ld      (hl), a
  13648.                 inc     l
  13649.                 ld      (hl), a
  13650.                 add     hl, de
  13651.                 djnz    loc_C47D
  13652.  
  13653.                 ld      c, a
  13654.                 ld      sp, (word_D03D)
  13655.                 ret
  13656.  
  13657. ; END OF FUNCTION CHUNK FOR sub_C254
  13658.  
  13659. ; =============== S U B R O U T I N E =======================================
  13660.  
  13661.  
  13662. sub_C48D:                               ; CODE XREF: sub_BC00+34
  13663.                                         ; sub_BC00+4B4 ...
  13664.                 ld      b, a
  13665.                 exx
  13666.                 ld      c, #40 ; '@'
  13667.                 call    sub_C49C
  13668.  
  13669.                 exx
  13670.                 jp      loc_C5D9
  13671.  
  13672. ; End of function sub_C48D
  13673.  
  13674.  
  13675. ; =============== S U B R O U T I N E =======================================
  13676.  
  13677.  
  13678. sub_C498:                               ; CODE XREF: sub_BC00+3B sub_BC00+42 ...
  13679.                 ld      b, a
  13680.                 exx
  13681.                 ld      c, #10
  13682.  
  13683. ; End of function sub_C498
  13684.  
  13685.  
  13686. ; =============== S U B R O U T I N E =======================================
  13687.  
  13688.  
  13689. sub_C49C:                               ; CODE XREF: sub_C48D+4
  13690.                 ld      e, 8
  13691.                 exx
  13692.                 ld      l, b
  13693.                 xor     a
  13694.  
  13695.  
  13696. loc_C4A1:                               ; CODE XREF: sub_C49C+B
  13697.                 inc     l
  13698.                 bit     3, l
  13699.                 jr      nz, loc_C4AF
  13700.  
  13701.                 or      (hl)
  13702.                 jr      z, loc_C4A1
  13703.  
  13704.                 ld      c, 1
  13705.                 call    sub_C4E2
  13706.  
  13707.                 xor     a
  13708.  
  13709.  
  13710. loc_C4AF:                               ; CODE XREF: sub_C49C+8
  13711.                 ld      l, b
  13712.  
  13713.  
  13714. loc_C4B0:                               ; CODE XREF: sub_C49C+1A
  13715.                 dec     l
  13716.                 bit     3, l
  13717.                 jr      nz, loc_C4BD
  13718.  
  13719.                 or      (hl)
  13720.                 jr      z, loc_C4B0
  13721.  
  13722.                 ld      c, #FF
  13723.                 call    sub_C4E2
  13724.  
  13725.  
  13726. loc_C4BD:                               ; CODE XREF: sub_C49C+17
  13727.                 ld      c, #10
  13728.                 ld      a, b
  13729.                 add     a, c
  13730.                 call    p, sub_C4CA
  13731.  
  13732.                 ld      c, #F0  ; 'Ё'
  13733.                 ld      l, b
  13734.  
  13735.  
  13736. loc_C4C7:                               ; CODE XREF: sub_C4CA+4
  13737.                 ld      a, l
  13738.                 add     a, c
  13739.                 ret     m
  13740.  
  13741. ; End of function sub_C49C
  13742.  
  13743.  
  13744. ; =============== S U B R O U T I N E =======================================
  13745.  
  13746.  
  13747. sub_C4CA:                               ; CODE XREF: sub_C49C+25
  13748.                 ld      l, a
  13749.                 inc     e
  13750.                 xor     a
  13751.                 or      (hl)
  13752.                 jr      z, loc_C4C7
  13753.  
  13754.                 exx
  13755.                 ld      l, a
  13756.                 xor     b
  13757.                 jp      m, loc_C609
  13758.  
  13759.                 ld      a, c
  13760.                 add     a, (hl)
  13761.                 ld      (hl), a
  13762.                 set     1, l
  13763.                 ld      a, (hl)
  13764.                 and     e
  13765.                 exx
  13766.                 ret     z
  13767.                 jp      loc_C648
  13768.  
  13769. ; End of function sub_C4CA
  13770.  
  13771.  
  13772. ; =============== S U B R O U T I N E =======================================
  13773.  
  13774.  
  13775. sub_C4E2:                               ; CODE XREF: sub_C49C+F sub_C49C+1E
  13776.                 exx
  13777.                 ld      l, a
  13778.                 xor     b
  13779.                 jp      m, loc_C609
  13780.  
  13781.                 ld      a, c
  13782.                 add     a, (hl)
  13783.                 ld      (hl), a
  13784.                 set     1, l
  13785.                 ld      a, (hl)
  13786.                 and     e
  13787.                 exx
  13788.                 ret     z
  13789.  
  13790.  
  13791. loc_C4F1:                               ; CODE XREF: sub_C4E2+15
  13792.                 ld      a, l
  13793.                 add     a, c
  13794.                 ld      l, a
  13795.                 and     d
  13796.                 ret     nz
  13797.                 or      (hl)
  13798.                 jr      z, loc_C4F1
  13799.  
  13800.                 exx
  13801.                 ld      l, a
  13802.                 xor     b
  13803.                 jp      m, loc_C657
  13804.  
  13805.                 inc     l
  13806.                 ld      a, c
  13807.                 add     a, (hl)
  13808.                 ld      (hl), a
  13809.                 exx
  13810.                 ret
  13811.  
  13812. ; End of function sub_C4E2
  13813.  
  13814.  
  13815. ; =============== S U B R O U T I N E =======================================
  13816.  
  13817.  
  13818. sub_C505:                               ; CODE XREF: sub_BC00+57 sub_BC00+5E
  13819.                 ld      b, a
  13820.                 or      #70 ; 'p'
  13821.                 cp      b
  13822.                 jp      nz, loc_C517
  13823.  
  13824.  
  13825. loc_C50C:                               ; CODE XREF: sub_C512+3
  13826.                 ld      a, e
  13827.                 sub     6
  13828.                 jp      loc_C51A
  13829.  
  13830. ; End of function sub_C505
  13831.  
  13832.  
  13833. ; =============== S U B R O U T I N E =======================================
  13834.  
  13835.  
  13836. sub_C512:                               ; CODE XREF: sub_BC00+4D7
  13837.                                         ; sub_BC00+4DE
  13838.                 ld      b, a
  13839.                 and     #70 ; 'p'
  13840.                 jr      z, loc_C50C
  13841.  
  13842.  
  13843. loc_C517:                               ; CODE XREF: sub_C2F2+68 sub_C505+4
  13844.                 ld      a, e
  13845.                 sub     5
  13846.  
  13847.  
  13848. loc_C51A:                               ; CODE XREF: sub_C505+A
  13849.                 ld      e, a
  13850.                 exx
  13851.                 ld      c, 4
  13852.                 exx
  13853.  
  13854.  
  13855. loc_C51F:                               ; CODE XREF: sub_C6C4+5E
  13856.                 ld      a, #E
  13857.                 add     a, b
  13858.                 jp      m, loc_C542
  13859.  
  13860.                 ld      l, a
  13861.                 and     d
  13862.                 call    z, sub_C563
  13863.  
  13864.                 ld      a, #12
  13865.                 add     a, b
  13866.                 ld      l, a
  13867.                 and     d
  13868.                 call    z, sub_C563
  13869.  
  13870.                 ld      a, #1F
  13871.                 add     a, b
  13872.                 ld      l, a
  13873.                 and     d
  13874.                 call    z, sub_C562
  13875.  
  13876.                 ld      a, #21 ; '!'
  13877.                 add     a, b
  13878.                 ld      l, a
  13879.                 and     d
  13880.                 call    z, sub_C562
  13881.  
  13882.  
  13883. loc_C542:                               ; CODE XREF: sub_C512+10
  13884.                 ld      a, #F2  ; 'Є'
  13885.                 add     a, b
  13886.                 ret     m
  13887.                 ld      l, a
  13888.                 and     d
  13889.                 call    z, sub_C563
  13890.  
  13891.                 ld      a, #EE  ; 'ю'
  13892.                 add     a, b
  13893.                 ld      l, a
  13894.                 and     d
  13895.                 call    z, sub_C563
  13896.  
  13897.                 ld      a, #E1  ; 'с'
  13898.                 add     a, b
  13899.                 ret     m
  13900.                 ld      l, a
  13901.                 and     d
  13902.                 call    z, sub_C562
  13903.  
  13904.                 ld      a, #DF  ; '▀'
  13905.                 add     a, b
  13906.                 ld      l, a
  13907.                 and     d
  13908.                 ret     nz
  13909.  
  13910. ; End of function sub_C512
  13911.  
  13912.  
  13913. ; =============== S U B R O U T I N E =======================================
  13914.  
  13915.  
  13916. sub_C562:                               ; CODE XREF: sub_C512+25 sub_C512+2D ...
  13917.                 inc     e
  13918.  
  13919. ; End of function sub_C562
  13920.  
  13921.  
  13922. ; =============== S U B R O U T I N E =======================================
  13923.  
  13924.  
  13925. sub_C563:                               ; CODE XREF: sub_C512+15 sub_C512+1D ...
  13926.                 inc     e
  13927.                 or      (hl)
  13928.                 ret     z
  13929.                 exx
  13930.                 ld      l, a
  13931.                 xor     b
  13932.                 jp      p, loc_C573
  13933.  
  13934.                 ld      a, #78 ; 'x'
  13935.                 and     l
  13936.                 jr      z, loc_C578
  13937.  
  13938.                 dec     l
  13939.                 dec     l
  13940.  
  13941.  
  13942. loc_C573:                               ; CODE XREF: sub_C563+6
  13943.                 ld      a, c
  13944.                 add     a, (hl)
  13945.                 ld      (hl), a
  13946.                 exx
  13947.                 ret
  13948.  
  13949. ; ---------------------------------------------------------------------------
  13950.  
  13951. loc_C578:                               ; CODE XREF: sub_C563+C
  13952.                 bit     4, b
  13953.                 jp      z, loc_C471
  13954.  
  13955.                 set     7, (ix+2)
  13956.                 bit     6, b
  13957.                 set     6, b
  13958.                 exx
  13959.                 jr      nz, loc_C592
  13960.  
  13961.                 ld      l, b
  13962.                 ld      l, (hl)
  13963.                 inc     l
  13964.                 inc     h
  13965.                 set     1, (hl)
  13966.                 dec     h
  13967.                 inc     e
  13968.                 inc     e
  13969.                 ret
  13970.  
  13971. ; ---------------------------------------------------------------------------
  13972.  
  13973. loc_C592:                               ; CODE XREF: sub_C563+23
  13974.                 set     6, (ix+2)
  13975.                 ex      af, af'
  13976.                 add     a, #14
  13977.                 ex      af, af'
  13978.                 ret
  13979.  
  13980. ; End of function sub_C563
  13981.  
  13982. ; ---------------------------------------------------------------------------
  13983. ; START OF FUNCTION CHUNK FOR sub_C5FF
  13984.  
  13985. loc_C59B:                               ; CODE XREF: sub_C5FF+D
  13986.                 bit     4, b
  13987.                 jp      z, loc_C471
  13988.  
  13989.                 set     7, (ix+2)
  13990.                 bit     6, b
  13991.                 set     6, b
  13992.                 exx
  13993.                 jr      nz, loc_C5B9
  13994.  
  13995.                 ld      a, l
  13996.                 ld      l, b
  13997.                 ld      l, (hl)
  13998.                 inc     l
  13999.                 inc     h
  14000.                 set     1, (hl)
  14001.                 dec     h
  14002.                 ld      l, a
  14003.                 inc     e
  14004.                 inc     e
  14005.                 jp      loc_C5FA
  14006.  
  14007. ; ---------------------------------------------------------------------------
  14008.  
  14009. loc_C5B9:                               ; CODE XREF: sub_C5FF-56
  14010.                 set     6, (ix+2)
  14011.                 ex      af, af'
  14012.                 add     a, #14
  14013.                 ex      af, af'
  14014.                 jp      loc_C5FA
  14015.  
  14016. ; END OF FUNCTION CHUNK FOR sub_C5FF
  14017.  
  14018. ; =============== S U B R O U T I N E =======================================
  14019.  
  14020.  
  14021. sub_C5C4:                               ; CODE XREF: sub_BC00+4C9
  14022.                                         ; sub_BC00+4D0
  14023.                 ld      b, a
  14024.                 and     #70 ; 'p'
  14025.                 jp      nz, loc_C5D5
  14026.  
  14027.  
  14028. loc_C5CA:                               ; CODE XREF: sub_C5CF+4
  14029.                 dec     e
  14030.                 dec     e
  14031.                 jp      loc_C5D6
  14032.  
  14033. ; End of function sub_C5C4
  14034.  
  14035.  
  14036. ; =============== S U B R O U T I N E =======================================
  14037.  
  14038.  
  14039. sub_C5CF:                               ; CODE XREF: sub_BC00+49 sub_BC00+50
  14040.                 ld      b, a
  14041.                 or      #70 ; 'p'
  14042.                 cp      b
  14043.                 jr      z, loc_C5CA
  14044.  
  14045.  
  14046. loc_C5D5:                               ; CODE XREF: sub_C2F2+65 sub_C5C4+3
  14047.                 inc     e
  14048.  
  14049.  
  14050. loc_C5D6:                               ; CODE XREF: sub_C5C4+8
  14051.                 exx
  14052.                 ld      c, 4
  14053.  
  14054.  
  14055. loc_C5D9:                               ; CODE XREF: sub_C48D+8
  14056.                 ld      e, #C4  ; '─'
  14057.                 exx
  14058.                 ld      c, #F
  14059.                 ld      a, b
  14060.                 add     a, c
  14061.                 ld      l, a
  14062.                 and     d
  14063.                 call    z, sub_C5FF
  14064.  
  14065.                 ld      c, #11
  14066.                 ld      a, b
  14067.                 add     a, c
  14068.                 ld      l, a
  14069.                 and     d
  14070.                 call    z, sub_C5FF
  14071.  
  14072.                 ld      c, #EF  ; 'я'
  14073.                 ld      a, b
  14074.                 add     a, c
  14075.                 ld      l, a
  14076.                 and     d
  14077.                 call    z, sub_C5FF
  14078.  
  14079.                 ld      c, #F1  ; 'ё'
  14080.                 ld      l, b
  14081.  
  14082.  
  14083. loc_C5FA:                               ; CODE XREF: sub_C5FF-49 sub_C5FF-3E ...
  14084.                 ld      a, l
  14085.                 add     a, c
  14086.                 ld      l, a
  14087.                 and     d
  14088.                 ret     nz
  14089.  
  14090. ; End of function sub_C5CF
  14091.  
  14092.  
  14093. ; =============== S U B R O U T I N E =======================================
  14094.  
  14095.  
  14096. sub_C5FF:                               ; CODE XREF: sub_C5CF+13 sub_C5CF+1C ...
  14097.  
  14098. ; FUNCTION CHUNK AT C59B SIZE 00000029 BYTES
  14099.  
  14100.                 inc     e
  14101.                 or      (hl)
  14102.                 jr      z, loc_C5FA
  14103.  
  14104.                 exx
  14105.                 ld      l, a
  14106.                 xor     b
  14107.                 jp      p, loc_C63C
  14108.  
  14109.  
  14110. loc_C609:                               ; CODE XREF: sub_C4CA+9 sub_C4E2+3
  14111.                 ld      a, #78 ; 'x'
  14112.                 and     l
  14113.                 jr      z, loc_C59B
  14114.  
  14115.                 dec     l
  14116.                 dec     l
  14117.                 ld      a, c
  14118.                 add     a, (hl)
  14119.                 ld      (hl), a
  14120.                 set     2, l
  14121.                 ld      a, (hl)
  14122.                 and     e
  14123.                 jr      z, loc_C669
  14124.  
  14125.                 jp      m, loc_C669
  14126.  
  14127.                 exx
  14128.  
  14129.  
  14130. loc_C61D:                               ; CODE XREF: sub_C5FF+24
  14131.                 ld      a, l
  14132.                 add     a, c
  14133.                 ld      l, a
  14134.                 and     d
  14135.                 ret     nz
  14136.                 or      (hl)
  14137.                 jr      z, loc_C61D
  14138.  
  14139.                 exx
  14140.                 ld      d, l
  14141.                 ld      l, a
  14142.                 xor     b
  14143.                 jp      p, loc_C665
  14144.  
  14145.                 dec     l
  14146.                 ld      a, c
  14147.                 add     a, (hl)
  14148.                 ld      (hl), a
  14149.                 inc     l
  14150.  
  14151.  
  14152. loc_C631:                               ; CODE XREF: sub_C5FF+77
  14153.                 inc     l
  14154.                 inc     l
  14155.                 ld      a, (hl)
  14156.                 rra
  14157.                 jr      c, loc_C67F
  14158.  
  14159.                 rra
  14160.                 jr      c, loc_C67B
  14161.  
  14162.                 exx
  14163.                 ret
  14164.  
  14165. ; ---------------------------------------------------------------------------
  14166.  
  14167. loc_C63C:                               ; CODE XREF: sub_C5FF+7
  14168.                 ld      a, c
  14169.                 add     a, (hl)
  14170.                 ld      (hl), a
  14171.  
  14172.  
  14173. loc_C63F:                               ; CODE XREF: sub_C5FF+63
  14174.                 set     1, l
  14175.                 ld      a, (hl)
  14176.                 and     e
  14177.                 exx
  14178.                 ret     z
  14179.                 jp      m, loc_C6AC
  14180.  
  14181.  
  14182. loc_C648:                               ; CODE XREF: sub_C4CA+15 sub_C5FF+50
  14183.                 ld      a, l
  14184.                 add     a, c
  14185.                 ld      l, a
  14186.                 and     d
  14187.                 ret     nz
  14188.                 inc     e
  14189.                 or      (hl)
  14190.                 jr      z, loc_C648
  14191.  
  14192.                 exx
  14193.                 ld      l, a
  14194.                 xor     b
  14195.                 jp      p, loc_C65D
  14196.  
  14197.  
  14198. loc_C657:                               ; CODE XREF: sub_C4E2+1A
  14199.                 dec     l
  14200.  
  14201.  
  14202. loc_C658:                               ; CODE XREF: sub_C5FF+67
  14203.                 ld      a, c
  14204.                 add     a, (hl)
  14205.                 ld      (hl), a
  14206.                 exx
  14207.                 ret
  14208.  
  14209. ; ---------------------------------------------------------------------------
  14210.  
  14211. loc_C65D:                               ; CODE XREF: sub_C5FF+55
  14212.                 inc     l
  14213.                 ld      a, c
  14214.                 add     a, (hl)
  14215.                 ld      (hl), a
  14216.                 dec     l
  14217.                 jp      loc_C63F
  14218.  
  14219. ; ---------------------------------------------------------------------------
  14220.  
  14221. loc_C665:                               ; CODE XREF: sub_C5FF+2A
  14222.                 inc     l
  14223.                 jp      loc_C658
  14224.  
  14225. ; ---------------------------------------------------------------------------
  14226.  
  14227. loc_C669:                               ; CODE XREF: sub_C5FF+18 sub_C5FF+1A
  14228.                 exx
  14229.  
  14230.  
  14231. loc_C66A:                               ; CODE XREF: sub_C5FF+71
  14232.                 ld      a, l
  14233.                 add     a, c
  14234.                 ld      l, a
  14235.                 and     d
  14236.                 ret     nz
  14237.                 or      (hl)
  14238.                 jr      z, loc_C66A
  14239.  
  14240.                 exx
  14241.                 ld      d, l
  14242.                 ld      l, a
  14243.                 xor     b
  14244.                 jp      m, loc_C631
  14245.  
  14246.                 exx
  14247.                 ret
  14248.  
  14249. ; ---------------------------------------------------------------------------
  14250.  
  14251. loc_C67B:                               ; CODE XREF: sub_C5FF+39
  14252.                 bit     6, c
  14253.                 jr      nz, loc_C6A8
  14254.  
  14255.  
  14256. loc_C67F:                               ; CODE XREF: sub_C5FF+36
  14257.                 res     1, d
  14258.                 res     2, d
  14259.                 ld      hl, byte_D079
  14260.  
  14261.  
  14262. loc_C686:                               ; CODE XREF: sub_C5FF+8E
  14263.                 ld      a, (hl)
  14264.                 or      a
  14265.                 jr      z, loc_C697
  14266.  
  14267.                 inc     l
  14268.                 inc     l
  14269.                 cp      d
  14270.                 jp      nz, loc_C686
  14271.  
  14272.                 dec     l
  14273.                 ld      (hl), 0
  14274.                 inc     h
  14275.                 exx
  14276.                 inc     e
  14277.                 ret
  14278.  
  14279. ; ---------------------------------------------------------------------------
  14280.  
  14281. loc_C697:                               ; CODE XREF: sub_C5FF+89
  14282.                 ld      a, l
  14283.                 cp      #84 ; 'Д'
  14284.                 jr      nc, loc_C6A7
  14285.  
  14286.                 ld      (hl), d
  14287.                 inc     l
  14288.                 exx
  14289.                 ld      a, c
  14290.                 exx
  14291.                 ld      (hl), a
  14292.                 inc     l
  14293.                 ld      (hl), 0
  14294.                 set     5, b
  14295.  
  14296.  
  14297. loc_C6A7:                               ; CODE XREF: sub_C5FF+9B
  14298.                 inc     h
  14299.  
  14300.  
  14301. loc_C6A8:                               ; CODE XREF: sub_C5FF+7E
  14302.                 exx
  14303.                 inc     e
  14304.                 inc     e
  14305.                 ret
  14306.  
  14307. ; ---------------------------------------------------------------------------
  14308.  
  14309. loc_C6AC:                               ; CODE XREF: sub_C5FF+46
  14310.                 rla
  14311.                 xor     c
  14312.                 ret     p
  14313.                 ld      a, l
  14314.                 add     a, c
  14315.                 ld      l, a
  14316.                 and     d
  14317.                 ret     nz
  14318.                 or      (hl)
  14319.                 ret     z
  14320.                 exx
  14321.                 ld      l, a
  14322.                 inc     l
  14323.                 xor     b
  14324.                 jp      p, loc_C6BF
  14325.  
  14326.                 dec     l
  14327.                 dec     l
  14328.  
  14329.  
  14330. loc_C6BF:                               ; CODE XREF: sub_C5FF+BB
  14331.                 ld      a, c
  14332.                 add     a, (hl)
  14333.                 ld      (hl), a
  14334.                 exx
  14335.                 ret
  14336.  
  14337. ; End of function sub_C5FF
  14338.  
  14339.  
  14340. ; =============== S U B R O U T I N E =======================================
  14341.  
  14342.  
  14343. sub_C6C4:                               ; CODE XREF: sub_BC00+D5
  14344.  
  14345. ; FUNCTION CHUNK AT C719 SIZE 0000000E BYTES
  14346. ; FUNCTION CHUNK AT C734 SIZE 00000010 BYTES
  14347.  
  14348.                 ld      iy, byte_D079
  14349.                 push    de
  14350.                 ld      h, BRD_88_0/256
  14351.                 exx
  14352.                 ld      l, (iy+0)
  14353.  
  14354.  
  14355. loc_C6CF:                               ; CODE XREF: RAM:C777
  14356.                 ld      bc, loc_C76B
  14357.                 push    bc
  14358.                 ld      a, l
  14359.                 and     #80 ; 'А'
  14360.                 ld      b, a
  14361.                 ld      e, (hl)
  14362.                 inc     l
  14363.                 ld      a, (hl)
  14364.                 and     #8E ; 'О'
  14365.                 jr      z, loc_C6EF
  14366.  
  14367.                 jp      m, loc_C734
  14368.  
  14369.                 cp      4
  14370.                 jr      c, loc_C719
  14371.  
  14372.                 jr      z, loc_C725
  14373.  
  14374.                 ld      c, #C0  ; '└'
  14375.                 call    sub_C727
  14376.  
  14377.                 jp      loc_C73D
  14378.  
  14379. ; ---------------------------------------------------------------------------
  14380.  
  14381. loc_C6EF:                               ; CODE XREF: sub_C6C4+18 sub_C6C4+72
  14382.                 bit     7, b
  14383.                 ld      a, e
  14384.                 exx
  14385.                 ld      b, a
  14386.                 ld      c, #F
  14387.                 jr      z, loc_C6FA
  14388.  
  14389.                 ld      c, #EF  ; 'я'
  14390.  
  14391.  
  14392. loc_C6FA:                               ; CODE XREF: sub_C6C4+32
  14393.                 call    sub_C6FF
  14394.  
  14395.                 inc     c
  14396.                 inc     c
  14397.  
  14398. ; End of function sub_C6C4
  14399.  
  14400.  
  14401. ; =============== S U B R O U T I N E =======================================
  14402.  
  14403.  
  14404. sub_C6FF:                               ; CODE XREF: sub_C6C4:loc_C6FA
  14405.                 ld      a, (iy+1)
  14406.                 cp      c
  14407.                 ret     z
  14408.                 neg
  14409.                 cp      c
  14410.                 ret     z
  14411.                 ld      a, c
  14412.                 add     a, b
  14413.                 ld      l, a
  14414.                 xor     a
  14415.                 or      (hl)
  14416.                 ret     z
  14417.                 exx
  14418.                 ld      l, a
  14419.                 xor     b
  14420.                 jp      p, loc_C716
  14421.  
  14422.                 dec     l
  14423.                 dec     l
  14424.  
  14425.  
  14426. loc_C716:                               ; CODE XREF: sub_C6FF+12
  14427.                 dec     (hl)
  14428.                 exx
  14429.                 ret
  14430.  
  14431. ; End of function sub_C6FF
  14432.  
  14433. ; ---------------------------------------------------------------------------
  14434. ; START OF FUNCTION CHUNK FOR sub_C6C4
  14435.  
  14436. loc_C719:                               ; CODE XREF: sub_C6C4+1F
  14437.                 ld      c, #FC  ; '№'
  14438.                 set     4, b
  14439.                 ld      a, e
  14440.                 exx
  14441.                 ld      d, #88 ; 'И'
  14442.                 ld      b, a
  14443.                 jp      loc_C51F
  14444.  
  14445. ; ---------------------------------------------------------------------------
  14446.  
  14447. loc_C725:                               ; CODE XREF: sub_C6C4+21
  14448.                 ld      c, #F0  ; 'Ё'
  14449.  
  14450. ; END OF FUNCTION CHUNK FOR sub_C6C4
  14451.  
  14452. ; =============== S U B R O U T I N E =======================================
  14453.  
  14454.  
  14455. sub_C727:                               ; CODE XREF: sub_C6C4+25
  14456.                 ld      a, e
  14457.                 exx
  14458.                 ld      c, 1
  14459.                 ld      b, a
  14460.                 call    sub_C744
  14461.  
  14462.                 ld      c, #10
  14463.                 jp      sub_C744
  14464.  
  14465. ; End of function sub_C727
  14466.  
  14467. ; ---------------------------------------------------------------------------
  14468. ; START OF FUNCTION CHUNK FOR sub_C6C4
  14469.  
  14470. loc_C734:                               ; CODE XREF: sub_C6C4+1A
  14471.                 and     2
  14472.                 jr      z, loc_C6EF
  14473.  
  14474.                 ld      c, #FC  ; '№'
  14475.                 ld      a, e
  14476.                 exx
  14477.                 ld      b, a
  14478.  
  14479.  
  14480. loc_C73D:                               ; CODE XREF: sub_C6C4+28
  14481.                 ld      c, #F
  14482.                 call    sub_C744
  14483.  
  14484.                 ld      c, #11
  14485.  
  14486. ; END OF FUNCTION CHUNK FOR sub_C6C4
  14487.  
  14488. ; =============== S U B R O U T I N E =======================================
  14489.  
  14490.  
  14491. sub_C744:                               ; CODE XREF: sub_C727+5 sub_C727+A ...
  14492.                 ld      a, (iy+1)
  14493.                 cp      c
  14494.                 ret     z
  14495.                 neg
  14496.                 cp      c
  14497.                 ret     z
  14498.                 ld      d, #88 ; 'И'
  14499.                 call    sub_C755
  14500.  
  14501.                 xor     a
  14502.                 sub     c
  14503.                 ld      c, a
  14504.  
  14505. ; End of function sub_C744
  14506.  
  14507.  
  14508. ; =============== S U B R O U T I N E =======================================
  14509.  
  14510.  
  14511. sub_C755:                               ; CODE XREF: sub_C744+B
  14512.                 ld      l, b
  14513.  
  14514.  
  14515. loc_C756:                               ; CODE XREF: sub_C755+7
  14516.                 ld      a, l
  14517.                 add     a, c
  14518.                 ld      l, a
  14519.                 and     d
  14520.                 ret     nz
  14521.                 or      (hl)
  14522.                 jr      z, loc_C756
  14523.  
  14524.                 exx
  14525.                 ld      l, a
  14526.                 xor     b
  14527.                 jp      p, loc_C766
  14528.  
  14529.                 dec     l
  14530.                 dec     l
  14531.  
  14532.  
  14533. loc_C766:                               ; CODE XREF: sub_C755+C
  14534.                 ld      a, c
  14535.                 add     a, (hl)
  14536.                 ld      (hl), a
  14537.                 exx
  14538.                 ret
  14539.  
  14540. ; End of function sub_C755
  14541.  
  14542. ; ---------------------------------------------------------------------------
  14543.  
  14544. loc_C76B:                               ; DATA XREF: sub_C6C4:loc_C6CF
  14545.                 ld      a, (iy+2)
  14546.                 or      a
  14547.                 jr      z, loc_C77A
  14548.  
  14549.                 inc     iy
  14550.                 inc     iy
  14551.                 exx
  14552.                 ld      l, a
  14553.                 jp      loc_C6CF
  14554.  
  14555. ; ---------------------------------------------------------------------------
  14556.  
  14557. loc_C77A:                               ; CODE XREF: RAM:C76F
  14558.                 pop     de
  14559.                 ld      (byte_D079), a
  14560.                 ret
  14561.  
  14562. ; ---------------------------------------------------------------------------
  14563.                 db    0 ;unneeded???
  14564.  
  14565.  
  14566.                 ;might be at any address
  14567. Openings:      
  14568.                 db #26,#92,#69,#C4,#CA,#B0,#4C,#2E,#0D
  14569.                 db #0A,#16,#49,#E8,#91,#32,#30,#B6,#4B
  14570.                 db #05,#94,#90,#02,#84,#01,#3D,#17,#26
  14571.                 db #05,#88,#82,#81,#00,#40,#A0,#34,#21
  14572.                 db #08,#08,#C0,#C1,#C4,#00,#50,#9A,#18
  14573.                 db #15,#A2,#89,#E9,#92,#5A,#64,#CC,#99
  14574.                 db #08,#86,#02,#41,#50,#02,#2C,#0C,#4A
  14575.                 db #40,#13,#13,#00,#50,#68,#15,#00,#44
  14576.                 db #AB,#03,#C2,#E4,#90,#A1,#4C,#9A,#1C
  14577.                 db #04,#15,#D0,#00,#A4,#01,#44,#39,#4E
  14578.                 db #45,#14,#91,#40,#04,#50,#3C,#3A,#5A
  14579.                 db #50,#86,#51,#C5,#52,#E9,#28,#3E,#8B
  14580.                 db #2D,#03,#D3,#70,#90,#E2,#04,#BE,#93
  14581.                 db #A7,#A2,#A4,#E1,#B4,#A0,#58,#BA,#59
  14582.                 db #28,#26,#83,#09,#48,#E8,#71,#13,#59
  14583.                 db #45,#56,#91,#55,#B4,#55,#71,#37,#1F
  14584.                 db #49,#94,#4B,#41,#A5,#14,#50,#2E,#5F
  14585.                 db #49,#92,#D2,#E4,#C4,#E0,#3D,#2C,#55
  14586.                 db #31,#11,#01,#A8,#F0,#58,#51,#2A,#14
  14587.                 db #02,#02,#C1,#E5,#44,#21,#88,#22,#28
  14588.                 db #08,#1A,#D2,#61,#34,#79,#A0,#00,#06
  14589.                 db #4C,#1A,#53,#05,#C4,#00,#48,#00,#68
  14590.                 db #4B,#91,#53,#00,#04,#C0,#48,#B4,#56
  14591.                 db #0D,#82,#C1,#44,#64,#94,#15,#27,#19
  14592.                 db #11,#24,#2B,#81,#30,#A2,#2A,#B2,#1B
  14593.                 db #04,#A2,#EB,#01,#40,#92,#26,#AC,#94
  14594.                 db #8B,#A2,#C0,#C4,#92,#68,#20,#3A,#0A
  14595.                 db #0B,#A1,#CB,#84,#A0,#6A,#42,#1A,#0C
  14596.                 db #08,#A0,#20,#69,#52,#89,#00,#22,#15
  14597.                 db #07,#01,#D2,#A4,#C0,#80,#00,#1A,#11
  14598.                 db #43,#83,#4A,#20,#00,#70,#28,#0C,#94
  14599.                 db #27,#00,#02,#41,#24,#69,#48,#00,#07
  14600.                 db #05,#24,#40,#20,#D0,#58,#59,#29,#55
  14601.                 db #0C,#12,#D0,#C4,#44,#E1,#04,#20,#07
  14602.                 db #40,#13,#41,#E0,#E4,#A0,#48,#0A,#19
  14603.                 db #0B,#25,#A8,#09,#8A,#08,#54,#28,#00
  14604.                 db #09,#06,#52,#54,#70,#90,#24,#2E,#06
  14605.                 db #47,#C2,#C1,#84,#84,#88,#31,#30,#4E
  14606.                 db #0B,#04,#C2,#E5,#00,#A5,#24,#3A,#14
  14607.                 db #02,#05,#44,#C1,#20,#D8,#38,#32,#05
  14608.                 db #52,#85,#89,#E9,#33,#32,#4E,#50,#8C
  14609.                 db #27,#06,#83,#40,#E2,#D2,#34,#1C,#89
  14610.                 db #09,#15,#00,#28,#F2,#7A,#3A,#44,#10
  14611.                 db #0A,#22,#A0,#E1,#30,#2A,#60,#94,#04
  14612.                 db #2E,#05,#81,#60,#40,#B2,#5C,#36,#12
  14613.                 db #09,#86,#81,#01,#50,#F2,#5C,#A6,#45
  14614.                 db #0C,#01,#82,#E1,#14,#F8,#34,#30,#06
  14615.                 db #0B,#88,#83,#29,#82,#C8,#38,#1E,#95
  14616.                 db #8B,#02,#C3,#A0,#B0,#D0,#10,#42,#91
  14617.                 db #26,#D3,#89,#64,#62,#9D,#18,#A6,#40
  14618.                 db #22,#80,#C2,#E0,#62,#C0,#4C,#00,#59
  14619.                 db #26,#22,#0A,#A9,#82,#42,#5E,#20,#98
  14620.                 db #0B,#02,#8B,#C9,#01,#02,#26,#8C,#13
  14621.                 db #4E,#40,#0A,#C9,#82,#90,#14,#AE,#8D
  14622.                 db #86,#A3,#C2,#61,#70,#A9,#5D,#22,#1F
  14623.                 db #0A,#A7,#0A,#41,#42,#E8,#2C,#3E,#1A
  14624.                 db #06,#90,#52,#61,#A4,#99,#81,#0D,#08
  14625.                 db #40,#86,#08,#C9,#48,#8A,#1C,#90,#13
  14626.                 db #09,#A4,#4A,#C5,#A0,#00,#14,#3A,#12
  14627.                 db #2A,#A4,#40,#C9,#88,#90,#11,#45,#49
  14628.                 db #02,#92,#52,#80,#00,#B8,#15,#31,#03
  14629.                 db #0B,#82,#D1,#05,#82,#99,#24,#2E,#97
  14630.                 db #8E,#86,#11,#85,#60,#D0,#39,#24,#48
  14631.                 db #09,#85,#12,#E5,#40,#60,#69,#19,#00
  14632.                 db #06,#05,#92,#44,#92,#00,#64,#22,#8E
  14633.                 db #09,#87,#41,#08,#2A,#D8,#58,#36,#21
  14634.                 db #45,#45,#C0,#C0,#D0,#BA,#64,#18,#53
  14635.                 db #20,#11,#C2,#49,#E2,#F8,#49,#1B,#11
  14636.                 db #0A,#0A,#42,#60,#34,#39,#4D,#28,#54
  14637.                 db #0E,#81,#D1,#20,#60,#F8,#59,#35,#10
  14638.                 db #0A,#05,#10,#E5,#60,#D8,#20,#AC,#1B
  14639.                 db #0F,#25,#A4,#69,#B2,#68,#48,#2A,#00
  14640.                 db #08,#82,#01,#E4,#14,#B0,#19,#2C,#48
  14641.                 db #2C,#05,#80,#00,#00,#CA,#22,#26,#13
  14642.                 db #05,#21,#2A,#20,#00,#80,#60,#0E,#01
  14643.                 db #4C,#46,#43,#41,#91,#00,#48,#00,#97
  14644.                 db #22,#92,#0B,#44,#20,#E8,#34,#00,#95
  14645.                 db #2B,#07,#43,#C2,#74,#3C,#70,#3A,#1F
  14646.                 db #13,#A3,#8B,#61,#60,#A0,#78,#18,#A5
  14647.                 db #A0,#05,#83,#20,#90,#D2,#26,#32,#07
  14648.                 db #0D,#02,#43,#A9,#40,#89,#50,#B0,#1E
  14649.                 db #09,#03,#43,#A2,#01,#09,#31,#4C,#44
  14650.                 db #45,#C2,#54,#D0,#60,#88,#08,#14,#8A
  14651.                 db #2E,#06,#48,#05,#00,#32,#78,#0C,#22
  14652.                 db #4E,#19,#83,#01,#34,#BD,#7C,#30,#24
  14653.                 db #41,#47,#82,#24,#74,#08,#65,#01,#0F
  14654.                 db #43,#15,#83,#25,#72,#10,#69,#2A,#52
  14655.                 db #0A,#01,#C3,#E9,#52,#40,#28,#06,#22
  14656.                 db #50,#01,#02,#E0,#A4,#79,#38,#10,#1F
  14657.                 db #09,#88,#13,#11,#E2,#C8,#60,#30,#14
  14658.                 db #44,#96,#04,#40,#81,#02,#74,#34,#0F
  14659.                 db #4C,#12,#02,#25,#84,#38,#1D,#16,#13
  14660.                 db #2C,#00,#C3,#21,#94,#68,#44,#2E,#19
  14661.                 db #11,#03,#83,#E9,#D2,#69,#58,#AE,#20
  14662.                 db #06,#01,#43,#82,#90,#D1,#79,#20,#63
  14663.                 db #48,#46,#D1,#F0,#C0,#60,#70,#34,#0F
  14664.                 db #40,#13,#8A,#A1,#00,#81,#58,#3C,#0C
  14665.                 db #47,#00,#40,#41,#64,#C4,#30,#02,#01
  14666.                 db #05,#05,#05,#49,#A8,#28,#30,#1E,#13
  14667.                 db #0D,#25,#8A,#A1,#62,#68,#35,#24,#51
  14668.                 db #08,#82,#C1,#C0,#40,#02,#02,#38,#0D
  14669.                 db #0C,#87,#CB,#40,#74,#00,#6C,#0E,#A1
  14670.                 db #AC,#03,#80,#61,#C0,#F8,#58,#3A,#8E
  14671.                 db #8B,#05,#C3,#E0,#12,#10,#34,#18,#11
  14672.                 db #50,#88,#82,#C1,#50,#DA,#78,#94,#4D
  14673.                 db #0D,#05,#83,#61,#42,#A0,#38,#32,#80
  14674.                 db #A1,#85,#42,#A9,#A8,#C8,#58,#28,#9C
  14675.                 db #05,#92,#02,#21,#C0,#38,#30,#3C,#11
  14676.                 db #45,#46,#81,#01,#A0,#F0,#68,#10,#13
  14677.                 db #4C,#11,#C1,#A1,#A0,#B8,#74,#AC,#24
  14678.                 db #07,#88,#10,#90,#C0,#38,#4C,#36,#83
  14679.                 db #2B,#05,#C9,#00,#B0,#21,#48,#A6,#98
  14680.                 db #2D,#01,#C2,#28,#09,#28,#48,#26,#9D
  14681.                 db #C4,#C7,#50,#31,#80,#38,#3C,#22,#54
  14682.                 db #4F,#06,#03,#C1,#74,#41,#30,#AC,#16
  14683.                 db #29,#16,#43,#21,#B2,#48,#50,#2C,#92
  14684.                 db #09,#07,#40,#89,#72,#90,#64,#24,#07
  14685.                 db #0B,#07,#51,#85,#02,#88,#58,#2E,#16
  14686.                 db #05,#21,#C2,#C1,#D0,#D8,#20,#2A,#A8
  14687.                 db #0D,#03,#82,#81,#80,#CA,#28,#A6,#4C
  14688.                 db #2F,#87,#03,#84,#E0,#C1,#41,#2E,#03
  14689.                 db #0B,#A4,#09,#E2,#02,#C0,#11,#24,#19
  14690.                 db #0D,#A5,#83,#41,#F4,#B9,#3C,#38,#1F
  14691.                 db #06,#02,#52,#A5,#B0,#58,#60,#2C,#04
  14692.                 db #48,#52,#43,#A0,#30,#50,#01,#53,#5E
  14693.                 db #0F,#00,#D0,#74,#40,#A8,#3C,#0E,#04
  14694.                 db #44,#C6,#03,#A1,#20,#88,#35,#24,#52
  14695.                 db #26,#11,#C4,#A1,#32,#92,#0E,#56,#92
  14696.                 db #25,#09,#04,#00,#E4,#60,#68,#34,#09
  14697.                 db #08,#A3,#A4,#01,#21,#08,#58,#3C,#8D
  14698.                 db #8D,#05,#42,#81,#80,#CA,#28,#BE,#19
  14699.                 db #2E,#04,#03,#20,#32,#72,#5A,#1E,#9B
  14700.                 db #2B,#86,#00,#A1,#30,#4A,#84,#88,#10
  14701.                 db #10,#05,#44,#88,#F0,#F0,#44,#32,#0F
  14702.                 db #07,#29,#A3,#C1,#B0,#70,#50,#B2,#8F
  14703.                 db #0D,#A3,#22,#A1,#60,#68,#48,#32,#1A
  14704.                 db #0B,#A7,#C9,#05,#60,#61,#4C,#28,#15
  14705.                 db #25,#05,#02,#26,#44,#D8,#41,#2E,#4D
  14706.                 db #2E,#02,#42,#49,#30,#80,#24,#36,#93
  14707.                 db #07,#96,#0A,#A1,#04,#80,#60,#26,#8C
  14708.                 db #0A,#03,#93,#25,#E0,#A1,#74,#1C,#13
  14709.                 db #47,#03,#91,#A5,#F0,#41,#38,#10,#88
  14710.                 db #0A,#86,#51,#B1,#24,#A1,#28,#18,#12
  14711.                 db #04,#A7,#2A,#80,#C0,#B8,#50,#26,#91
  14712.                 db #87,#23,#08,#45,#70,#19,#58,#1E,#57
  14713.                 db #03,#02,#C1,#A0,#04,#F4,#3C,#20,#0E
  14714.                 db #4A,#15,#01,#05,#50,#51,#84,#26,#1D
  14715.                 db #4A,#87,#82,#A8,#C0,#98,#0C,#1A,#0F
  14716.                 db #09,#24,#41,#40,#52,#9A,#2C,#20,#8B
  14717.                 db #85,#03,#C3,#48,#F2,#58,#5C,#98,#56
  14718.                 db #06,#87,#4A,#2A,#20,#80,#5C,#12,#8E
  14719.                 db #04,#01,#40,#E0,#70,#C0,#21,#14,#83
  14720.                 db #20,#85,#89,#A1,#30,#A2,#80,#1E,#1E
  14721.                 db #06,#03,#83,#49,#9A,#80,#58,#00,#13
  14722.                 db #08,#18,#82,#E9,#D2,#D0,#19,#18,#10
  14723.                 db #08,#20,#E1,#41,#60,#50,#4C,#34,#5A
  14724.                 db #04,#23,#09,#40,#81,#20,#01,#0C,#62
  14725.                 db #04,#06,#08,#09,#E0,#DA,#78,#98,#08
  14726.                 db #44,#04,#01,#01,#F0,#00,#11,#0E,#4B
  14727.                 db #25,#D4,#8A,#25,#40,#A0,#3C,#1C,#0D
  14728.                 db #07,#02,#93,#64,#C0,#68,#48,#30,#5D
  14729.                 db #0C,#88,#52,#41,#80,#58,#71,#42,#0F
  14730.                 db #06,#83,#4B,#21,#D4,#78,#60,#30,#0B
  14731.                 db #0E,#28,#49,#44,#C2,#70,#28,#20,#1D
  14732.                 db #48,#05,#02,#E0,#A0,#18,#44,#32,#91
  14733.                 db #27,#81,#C8,#60,#70,#D0,#4C,#2C,#8F
  14734.                 db #2C,#02,#02,#60,#D0,#6A,#58,#34,#9A
  14735.                 db #CA,#14,#E9,#E4,#D0,#C8,#6C,#18,#1C
  14736.                 db #00,#25,#C9,#E1,#A0,#48,#40,#2E,#00
  14737.                 db #4A,#C4,#82,#A1,#50,#D0,#08,#2C,#97
  14738.                 db #26,#05,#83,#01,#90,#A2,#4A,#AC,#17
  14739.                 db #0C,#08,#52,#31,#50,#B8,#38,#40,#21
  14740.                 db #49,#05,#29,#85,#20,#51,#1C,#3C,#00
  14741.                 db #0E,#A2,#81,#81,#E0,#A8,#89,#36,#19
  14742.                 db #0B,#86,#C2,#41,#40,#F0,#69,#1A,#14
  14743.                 db #0D,#83,#02,#C8,#92,#60,#2C,#2E,#17
  14744.                 db #04,#06,#43,#C0,#E4,#B0,#24,#16,#07
  14745.                 db #24,#95,#02,#60,#C0,#90,#65,#38,#44
  14746.                 db #07,#8A,#02,#00,#E4,#98,#6C,#1C,#1A
  14747.                 db #09,#08,#D2,#84,#60,#62,#5C,#AA,#0C
  14748.                 db #49,#96,#91,#81,#60,#62,#60,#84,#52
  14749.                 db #28,#53,#08,#C5,#82,#B1,#39,#0C,#15
  14750.                 db #23,#A3,#C0,#C9,#12,#00,#38,#30,#1D
  14751.                 db #0D,#00,#0B,#48,#D0,#78,#71,#18,#59
  14752.                 db #2A,#86,#42,#28,#E0,#70,#34,#3A,#8B
  14753.                 db #27,#05,#43,#A1,#14,#80,#6D,#30,#53
  14754.                 db #03,#84,#08,#01,#54,#91,#48,#2A,#96
  14755.                 db #07,#85,#51,#24,#A0,#F0,#38,#36,#98
  14756.                 db #20,#86,#43,#A8,#02,#92,#64,#84,#19
  14757.                 db #0B,#A3,#83,#41,#B0,#9A,#3E,#28,#18
  14758.                 db #0A,#14,#41,#48,#70,#C8,#50,#30,#1C
  14759.                 db #2E,#A3,#8C,#88,#E0,#9A,#38,#1F,#51
  14760.                 db #24,#80,#C3,#E8,#A0,#E0,#0C,#18,#0A
  14761.                 db #00,#20,#00,#C0,#70,#18,#64,#00,#0C
  14762.                 db #44,#94,#89,#84,#12,#D0,#4C,#B4,#00
  14763.                 db #07,#87,#28,#04,#E0,#F0,#40,#A6,#9A
  14764.                 db #2E,#24,#02,#89,#30,#60,#79,#10,#61
  14765.                 db #4B,#48,#13,#65,#10,#00,#2C,#B2,#22
  14766.                 db #4E,#87,#41,#89,#D3,#10,#00,#16,#5C
  14767.                 db #2D,#26,#44,#49,#92,#68,#69,#2E,#18
  14768.                 db #4A,#08,#C0,#01,#80,#C9,#35,#36,#1E
  14769.                 db #4D,#C4,#82,#61,#F0,#00,#35,#16,#11
  14770.                 db #2B,#83,#C3,#01,#00,#D8,#2C,#2A,#00
  14771.                 db #0E,#96,#50,#05,#34,#00,#09,#00,#52
  14772.                 db #04,#90,#83,#80,#54,#01,#75,#00,#0A
  14773.                 db #40,#12,#41,#22,#04,#00,#28,#1E,#0E
  14774.                 db #07,#04,#91,#34,#F4,#0C,#69,#02,#4D
  14775.                 db #0A,#94,#01,#A1,#40,#C8,#50,#B0,#1C
  14776.                 db #2E,#A3,#8C,#88,#E0,#9A,#38,#36,#1C
  14777.                 db #06,#A3,#81,#C1,#20,#78,#38,#1E,#18
  14778.                 db #43,#C4,#42,#A4,#D4,#98,#30,#26,#0C
  14779.                 db #48,#52,#41,#E0,#70,#49,#50,#26,#0C
  14780.                 db #09,#06,#53,#85,#B0,#70,#68,#24,#23
  14781.                 db #4A,#01,#01,#E2,#80,#80,#39,#27,#4C
  14782.                 db #28,#21,#89,#E8,#60,#6A,#66,#0C,#05
  14783.                 db #04,#06,#02,#61,#80,#88,#28,#24,#81
  14784.                 db #A4,#85,#09,#80,#A0,#C2,#54,#1C,#17
  14785.                 db #0A,#27,#A1,#E5,#20,#18,#68,#22,#0B
  14786.                 db #02,#05,#C0,#00,#04,#B0,#24,#06,#87
  14787.                 db #24,#93,#40,#64,#D2,#51,#24,#B0,#07
  14788.                 db #05,#07,#42,#00,#B0,#2A,#78,#2C,#07
  14789.                 db #00,#80,#02,#88,#48,#B8,#34,#22,#16
  14790.                 db #0C,#26,#82,#C5,#60,#88,#50,#08,#9B
  14791.                 db #23,#01,#00,#01,#20,#18,#01,#36,#13
  14792.                 db #46,#05,#49,#49,#C0,#B0,#45,#08,#49
  14793.                 db #23,#01,#40,#80,#50,#A0,#4C,#2C,#95
  14794.                 db #01,#81,#02,#A1,#50,#20,#10,#24,#12
  14795.                 db #02,#21,#00,#40,#30,#80,#4C,#A8,#19
  14796.                 db #07,#06,#42,#60,#B4,#70,#58,#38,#1B
  14797.                 db #0D,#05,#C2,#08,#32,#19,#2C,#1A,#54
  14798.                 db #08,#82,#C2,#A0,#E0,#60,#10,#16,#A3
  14799.                 db #28,#83,#41,#A0,#24,#4C,#4D,#0A,#42
  14800.                 db #09,#04,#80,#20,#10,#00,#00,#22,#12
  14801.                 db #04,#27,#21,#25,#24,#68,#29,#1B,#46
  14802.                 db #26,#80,#11,#60,#B0,#02,#2E,#1E,#0B
  14803.                 db #22,#02,#C2,#28,#70,#68,#2C,#1E,#87
  14804.                 db #22,#16,#0C,#26,#82,#C5,#60,#88,#50
  14805.                 db #08,#9B,#23,#01,#00,#01,#20,#18,#01
  14806.                 db #36,#13,#46,#05,#49,#49,#C0,#B0,#45
  14807.                 db #08,#49,#23,#01,#40,#80,#50,#A0,#4C
  14808.                 db #2C,#95,#01,#81,#02,#A1,#50,#20,#10
  14809.                 db #24,#12,#02,#21,#00,#40,#30
  14810.  
  14811.                 ;^^^ that table ends exactly at #CFFF !!!!
  14812. end
  14813.  
  14814.  
  14815.                 ; below is only data memory (tables and variables), zeroed at start
  14816.  
  14817.                 ds 0xD000-$
  14818.  
  14819. BRD_88_0:       ds 8            ; DATA XREF: START_POINT+6B
  14820.                                         ; sub_8C20-71D ...
  14821.                 db    0
  14822. byte_D009:      db 0                    ; DATA XREF: sub_B75A:loc_B781
  14823.                                         ; RAM:B7AA ...
  14824. byte_D00A:      db 0                    ; DATA XREF: sub_8C20:loc_8142
  14825.                                         ; sub_8C20:loc_8253 ...
  14826. byte_D00B:      db 0                    ; DATA XREF: sub_AFC5+A6 sub_AFC5+E6 ...
  14827.                 db    0
  14828. word_D00D:      dw 0                    ; DATA XREF: sub_8C20-574 sub_AD40+2 ...
  14829.                 db    0
  14830. BRD_88_1:       ds 8
  14831.                 db    0
  14832. byte_D019:      db 0                    ; DATA XREF: sub_AFC5+B2
  14833.                                         ; sub_B47F+188 ...
  14834. byte_D01A:      db 0                    ; DATA XREF: sub_B47F+293
  14835.                                         ; sub_B75A+1B   ...
  14836. byte_D01B:      db 0                    ; DATA XREF: RAM:B7B7   sub_B943+20
  14837. byte_D01C:      db 0                    ; DATA XREF: sub_AFC5+A9
  14838.                                         ; sub_B47F+1E2 ...
  14839. byte_D01D:      db 0                    ; DATA XREF: sub_AB53+1 sub_B47F-2D     ...
  14840. byte_D01E:      db 0                    ; DATA XREF: sub_B19C+33
  14841.                                         ; sub_B47F+118 ...
  14842.                 db    0
  14843. BRD_88_2:       ds 8
  14844.                 db    0
  14845. byte_D029:      db 0                    ; DATA XREF: sub_8C20-9C9
  14846.                                         ; sub_8C20-6C8
  14847. byte_D02A:      db 0                    ; DATA XREF: sub_AFC5+126
  14848.                                         ; sub_B1EB+11   ...
  14849. word_D02B:      dw 0                    ; DATA XREF: sub_8C20-AB0
  14850.                                         ; sub_8DE9+6E   ...
  14851. byte_D02D:      db 0                    ; DATA XREF: sub_8C20-AD6
  14852.                                         ; sub_8C20:loc_82D7 ...
  14853. byte_D02E:      db 0                    ; DATA XREF: sub_AFC5+3B sub_B19C+1D
  14854.                 db    0
  14855. BRD_88_3:       ds 8
  14856.                 db    0
  14857. word_D039:      dw 0                    ; DATA XREF: sub_BC00+E2
  14858.                                         ; sub_BC00+23A ...
  14859. byte_D03B:      db 0                    ; DATA XREF: sub_AD40+6 sub_AD40+57     ...
  14860. byte_D03C:      db 0                    ; DATA XREF: sub_AFC5+10F
  14861.                                         ; sub_AFC5+148 ...
  14862. word_D03D:      dw 0                    ; DATA XREF: sub_AD40+1A sub_AD40+AD ...
  14863.                 db    0
  14864. BRD_88_4:       ds 8
  14865.                 db    0
  14866. byte_D049:      db 0                    ; DATA XREF: sub_8C20-B62
  14867.                                         ; sub_8C20-B37 ...
  14868. word_D04A:      dw 0                    ; DATA XREF: sub_AB53+8 sub_AB53+CD     ...
  14869. byte_D04C:      db 0                    ; DATA XREF: sub_A932+10 sub_AFC5+2D ...
  14870. byte_D04D:      db 0                    ; DATA XREF: sub_8C20-B24
  14871.                                         ; sub_8C20-654 ...
  14872. byte_D04E:      db 0                    ; DATA XREF: sub_AB53+18 sub_AB53+29 ...
  14873.                 db    0
  14874. BRD_88_5:       ds 8
  14875.                 db    0
  14876. word_D059:      dw 0                    ; DATA XREF: sub_8C20-A8E
  14877.                                         ; sub_8C20-A35 ...
  14878. byte_D05B:      db 0                    ; DATA XREF: sub_8C20-6CB
  14879.                                         ; sub_8C20-1C8 ...
  14880. word_D05C:      dw 0                    ; DATA XREF: sub_8C20-8B2
  14881.                                         ; sub_8C20-6D4 ...
  14882. byte_D05E:      db 0                    ; DATA XREF: sub_8C20-6D1 sub_8B66+9
  14883.                 db    0
  14884. BRD_88_6:       ds 8
  14885.                 db    0
  14886. word_D069:      dw 0                    ; DATA XREF: sub_AB53+B sub_AB53+35     ...
  14887. JP_ADDR:        dw 0                    ; DATA XREF: RAM:AB4F   sub_B75A+2D ...
  14888. word_D06D:      dw 0                    ; DATA XREF: sub_B47F+134
  14889.                                         ; sub_B47F+16A ...
  14890.                 db    0
  14891. BRD_88_7:       ds 8
  14892.                 db    0
  14893. byte_D079:      db 0                    ; DATA XREF: sub_C254+21E
  14894.                                         ; sub_C5FF+84   ...
  14895. byte_D07A:      db 0                    ; DATA XREF: sub_B36B+13 sub_B47F+2     ...
  14896.                 db    0
  14897.                 db    0
  14898.                 db    0
  14899.                 db    0
  14900.                 db    0
  14901. unk_D080:       db    0                 ; DATA XREF: sub_875B+18
  14902.                 db    0
  14903.                 db    0
  14904.                 db    0
  14905.                 db    0
  14906.                 db    0
  14907. word_D086:      dw 0                    ; DATA XREF: sub_AB53+45 sub_AB53+6A
  14908. word_D088:      dw 0                    ; DATA XREF: sub_8C20-1FB
  14909.                                         ; sub_8C20:loc_8A2F ...
  14910. byte_D08A:      db 0                    ; DATA XREF: sub_AFC5+A0
  14911.                                         ; sub_AFC5+1A2 ...
  14912. byte_D08B:      db 0                    ; DATA XREF: sub_AFC5+70 sub_AFC5+AD ...
  14913. byte_D08C:      db 0                    ; DATA XREF: sub_AFC5+A3
  14914.                                         ; sub_AFC5+1A5 ...
  14915. byte_D08D:      db 0                    ; DATA XREF: sub_8C20-657
  14916.                                         ; sub_8C20-634 ...
  14917. byte_D08E:      db 0                    ; DATA XREF: sub_8C20-661
  14918.                 db    0
  14919.                 db    0
  14920.                 db    0
  14921.                 db    0
  14922. RAND_SEED:      db 0                    ; DATA XREF: GEN_RANDBYTE+3
  14923.                                         ; GEN_RANDBYTE+8
  14924.                 db    0
  14925.                 db    0
  14926.                 db    0
  14927. byte_D097:      db 0                    ; DATA XREF: sub_875B+49
  14928.                                         ; sub_A94F:loc_A961 ...
  14929. byte_D098:      db 0                    ; DATA XREF: sub_A6F7+34 sub_AFC5+5F ...
  14930. word_D099:      dw 0                    ; DATA XREF: sub_875B+58
  14931.                 db    0
  14932.                 db    0
  14933.                 db    0
  14934. byte_D09E:      db 0                    ; DATA XREF: sub_8C20-A4E
  14935.                                         ; sub_8C20-90D ...
  14936. word_D09F:      dw 0                    ; DATA XREF: sub_8C20-B58
  14937.                                         ; sub_8C20:loc_811C ...
  14938.                 db    0
  14939.                 db    0
  14940.                 db    0
  14941.                 db    0
  14942.                 db    0
  14943.                 db    0
  14944.                 db    0
  14945.                 db    0
  14946.                 db    0
  14947.                 db    0
  14948.                 db    0
  14949.                 db    0
  14950.                 db    0
  14951.                 db    0
  14952.                 db    0
  14953.                 db    0
  14954. byte_D0B1:      db 0                    ; DATA XREF: START_POINT+8F
  14955.                                         ; sub_8C20:loc_8515 ...
  14956. byte_D0B2:      db 0                    ; DATA XREF: sub_8C20-ACD
  14957.                                         ; sub_8C20-5A5 ...
  14958. byte_D0B3:      db 0                    ; DATA XREF: sub_8C20-B66
  14959.                                         ; sub_8C20-8DF ...
  14960.                                         ; bit 3 -- swap clocks ;d3=swap board
  14961. byte_D0B4:      db 0                    ; DATA XREF: sub_92D7-123C
  14962.                                         ; sub_8C20-AEE ...
  14963.                 db    0
  14964. byte_D0B6:      db 0                    ; DATA XREF: sub_8C20:loc_81A1
  14965.                                         ; sub_8C20-A48 ...
  14966. byte_D0B7:      db 0                    ; DATA XREF: sub_8C20-68A
  14967.                                         ; sub_A08D:loc_A0AF ...
  14968. byte_D0B8:      db 0                    ; DATA XREF: sub_8C20-885
  14969.                                         ; sub_8C20-873 ...
  14970.                 db    0
  14971.                 db    0
  14972. word_D0BB:      dw 0                    ; DATA XREF: sub_8C20-895
  14973.                                         ; sub_8C20-7C0 ...
  14974. byte_D0BD:      db 0                    ; DATA XREF: KEY_SCAN+9
  14975.                                         ; KEY_SCAN:loc_90D1 ...
  14976. SEL_SCRorBUF:   db 0                    ; DATA XREF: START_POINT+81
  14977.                                         ; sub_8D9E:loc_8DB0 ...
  14978. byte_D0BF:      db 0                    ; DATA XREF: sub_8C20-AD1
  14979.                                         ; sub_8C20-942 ...
  14980. byte_D0C0:      db 0                    ; DATA XREF: sub_96A6+14 sub_9FB2+D     ...
  14981.                 db    0
  14982. byte_D0C2:      db 0                    ; DATA XREF: sub_8C20-A0F
  14983.                                         ; sub_8C20-78E ...
  14984. byte_D0C3:      db 0                    ; DATA XREF: sub_8C20-A03
  14985.                                         ; sub_8C20-782 ...
  14986. byte_D0C4:      db 0                    ; DATA XREF: sub_8C20-A15
  14987.                                         ; sub_8C20-794 ...
  14988. byte_D0C5:      db 0                    ; DATA XREF: sub_8C20-A09
  14989.                                         ; sub_8C20-788 ...
  14990. word_D0C6:      dw 0                    ; DATA XREF: sub_8D9E+27 sub_8D9E+36 ...
  14991. word_D0C8:      dw 0                    ; DATA XREF: sub_8D9E+33 sub_8DE9+10
  14992. BRD_COLOR:      db 0                    ; DATA XREF: SET_BRD_COLOR:loc_9655
  14993.                                         ; BEEP_routine+15
  14994. byte_D0CB:      db 0                    ; DATA XREF: sub_8E81+1E
  14995.                                         ; sub_8EA7:loc_8EE5
  14996. byte_D0CC:      db 0                    ; DATA XREF: sub_8EA7:loc_8EA8
  14997.                                         ; sub_8EA7+26
  14998. byte_D0CD:      db 0                    ; DATA XREF: sub_8C20-892
  14999. scr_XY:         dw 0                    ; DATA XREF: sub_842C+8
  15000.                                         ; sub_8C20:loc_85B4 ...
  15001. scr_pix_addr:   dw 0                    ; DATA XREF: sub_8EFB+B sub_8EFB+25     ...
  15002. scr_attr_addr:  dw 0                    ; DATA XREF: sub_8EFB+14 sub_8EFB+2E ...
  15003. NEED_SCR2BUF:   db 0                    ; DATA XREF: sub_8D2C+A
  15004.                                         ; PRINT_STR_FF:PRINT_STR_A ...
  15005. word_D0D5:      dw 0                    ; DATA XREF: sub_965C+4 sub_9F42 ...
  15006. TMP_BOARD_PTR:  dw 0                    ; DATA XREF: sub_93A4:loc_93A7
  15007.                                         ; sub_93A4:loc_93FC ...
  15008. byte_D0D9:      db 0                    ; DATA XREF: sub_8C20-697
  15009.                                         ; sub_90E8:loc_900E
  15010. word_D0DA:      dw 0                    ; DATA XREF: sub_8C20-8CF
  15011.                                         ; sub_9128+EE
  15012. byte_D0DC:      db 0                    ; DATA XREF: sub_8C20:loc_835C
  15013.                                         ; sub_8C20-76D ...
  15014. DECREMENT_50HZ: db 0                    ; DATA XREF: INT_PROC+4 sub_8D9E+46     ...
  15015.                 db    0
  15016. byte_D0DF:      db 0                    ; DATA XREF: sub_8C20-AA9
  15017.                                         ; sub_8C20:loc_81AA ...
  15018. CFG_BITS:       db 0                    ; DATA XREF: sub_8C20-B4F
  15019.                                         ; sub_8C20-AFC ...
  15020.                                         ; bit2=1 -- there is serial printer
  15021.                                         ; bit3=1 -- there is zx printer
  15022. byte_D0E1:      db 0                    ; DATA XREF: sub_A0F7+4 PRT_DETECT+1 ...
  15023. baudrate_NUM:   db 0                    ; DATA XREF: PRT_DETECT+16
  15024.                                         ; sub_8C20+1754 ...
  15025. byte_D0E3:      db 0                    ; DATA XREF: sub_8C20-ABC
  15026. INC_SECONDS:    dw 0                    ; DATA XREF: sub_8C20-AB3
  15027.                                         ; sub_8C20-910 ...
  15028. unk_D0E6:       db    0                 ; DATA XREF: sub_AB53+F
  15029.                                         ; sub_AB53:loc_ABEF
  15030.                 db    0
  15031.                 db    0
  15032.                 db    0
  15033.                 db    0
  15034.                 db    0
  15035.                 db    0
  15036.                 db    0
  15037.                 db    0
  15038. byte_D0EF:      db 0                    ; DATA XREF: sub_AB53+32 sub_AFC5+6D
  15039. byte_D0F0:      db 0                    ; DATA XREF: START_POINT+97
  15040. byte_D0F1:      db 0                    ; DATA XREF: sub_8F4D+3C sub_AFC5+85 ...
  15041. byte_D0F2:      db 0                    ; DATA XREF: sub_AFC5+88
  15042.                                         ; sub_AFC5+18F ...
  15043. byte_D0F3:      db 0                    ; DATA XREF: sub_8C20-AB9
  15044.                                         ; sub_8F4D+28   ...
  15045. byte_D0F4:      db 0                    ; DATA XREF: sub_8C20-201
  15046.                                         ; sub_8C20-179 ...
  15047. ptr_stk_1bvalue:dw 0                    ; DATA XREF: sub_8C20-9D7
  15048.                                         ; sub_8C20-9D2 ...
  15049. word_D0F7:      dw 0                    ; DATA XREF: sub_8C20-B1F
  15050.                                         ; sub_8C20-9E4 ...
  15051.                 db    0
  15052.                 db    0
  15053.                 db    0
  15054.                 db    0
  15055.                 db    0
  15056.                 db    0
  15057. byte_D0FF:      db 0                    ; DATA XREF: sub_875B+1
  15058. word_D100:      dw 0                    ; DATA XREF: sub_8C20-532
  15059.                                         ; sub_875B+24   ...
  15060.                 db    0
  15061.                 db    0
  15062.                 db    0
  15063.                 db    0
  15064.                 db    0
  15065.                 db    0
  15066. byte_D108:      db 0                    ; DATA XREF: sub_AFC5+29
  15067.                                         ; sub_BC00:loc_C0AE ...
  15068. byte_D109:      db 0                    ; DATA XREF: sub_C1EF:loc_C1A4
  15069. word_D10A:      dw 0                    ; DATA XREF: sub_BC00+244
  15070.                                         ; sub_BC00+254 ...
  15071. word_D10C:      dw 0                    ; DATA XREF: sub_BC00+24B
  15072.                                         ; sub_BC00:loc_BE57
  15073.                 db    0
  15074.                 db    0
  15075. byte_D110:      db 0                    ; DATA XREF: sub_BC00+4B7
  15076.                 db    0
  15077. word_D112:      dw 0                    ; DATA XREF: sub_BC00+25A
  15078.                                         ; sub_BC00+26A
  15079. word_D114:      dw 0                    ; DATA XREF: sub_BC00+261
  15080.                                         ; sub_BC00:loc_BE6D
  15081.                 db    0
  15082.                 db    0
  15083. byte_D118:      db 0                    ; DATA XREF: sub_BC00+4BE
  15084.                 db    0
  15085. word_D11A:      dw 0                    ; DATA XREF: sub_BC00+270
  15086.                                         ; sub_BC00+280
  15087. word_D11C:      dw 0                    ; DATA XREF: sub_BC00+277
  15088.                                         ; sub_BC00:loc_BE83
  15089.                 db    0
  15090.                 db    0
  15091. byte_D120:      db 0                    ; DATA XREF: sub_BC00+4C5
  15092.                 db    0
  15093. word_D122:      dw 0                    ; DATA XREF: sub_BC00+286
  15094.                                         ; sub_BC00+296
  15095. word_D124:      dw 0                    ; DATA XREF: sub_BC00+28D
  15096.                                         ; sub_BC00:loc_BE99
  15097.                 db    0
  15098.                 db    0
  15099. byte_D128:      db 0                    ; DATA XREF: sub_BC00+4CC
  15100.                 db    0
  15101. word_D12A:      dw 0                    ; DATA XREF: sub_BC00+29C
  15102.                                         ; sub_BC00+2AC
  15103. word_D12C:      dw 0                    ; DATA XREF: sub_BC00+2A3
  15104.                                         ; sub_BC00:loc_BEAF
  15105.                 db    0
  15106.                 db    0
  15107. byte_D130:      db 0                    ; DATA XREF: sub_BC00+4D3
  15108.                 db    0
  15109. word_D132:      dw 0                    ; DATA XREF: sub_BC00+2B2
  15110.                                         ; sub_BC00+2C2
  15111. word_D134:      dw 0                    ; DATA XREF: sub_BC00+2B9
  15112.                                         ; sub_BC00:loc_BEC5
  15113.                 db    0
  15114.                 db    0
  15115. byte_D138:      db 0                    ; DATA XREF: sub_BC00+4DA
  15116.                 db    0
  15117. word_D13A:      dw 0                    ; DATA XREF: sub_BC00+2C8
  15118.                                         ; sub_BC00+2D8
  15119. word_D13C:      dw 0                    ; DATA XREF: sub_BC00+2CF
  15120.                                         ; sub_BC00:loc_BEDB
  15121.                 db    0
  15122.                 db    0
  15123. unk_D140:       db    0                 ; DATA XREF: sub_881D   sub_A94F+7E ...
  15124. byte_D141:      db 0                    ; DATA XREF: sub_BC00+2E9
  15125. word_D142:      dw 0                    ; DATA XREF: sub_BC00+2DE
  15126.                                         ; sub_BC00+2EF
  15127. word_D144:      dw 0                    ; DATA XREF: sub_BC00+2E5
  15128.                                         ; sub_BC00:loc_BEF2
  15129.                 db    0
  15130.                 db    0
  15131. unk_D148:       db    0                 ; DATA XREF: sub_BC00+4ED
  15132. byte_D149:      db 0                    ; DATA XREF: sub_BC00+300
  15133. word_D14A:      dw 0                    ; DATA XREF: sub_BC00+2F5
  15134.                                         ; sub_BC00+306
  15135. word_D14C:      dw 0                    ; DATA XREF: sub_BC00+2FC
  15136.                                         ; sub_BC00:loc_BF09
  15137.                 db    0
  15138.                 db    0
  15139. unk_D150:       db    0                 ; DATA XREF: sub_BC00+4F5
  15140. byte_D151:      db 0                    ; DATA XREF: sub_BC00+317
  15141. word_D152:      dw 0                    ; DATA XREF: sub_BC00+30C
  15142.                                         ; sub_BC00+31D
  15143. word_D154:      dw 0                    ; DATA XREF: sub_BC00+313
  15144.                                         ; sub_BC00:loc_BF20
  15145.                 db    0
  15146.                 db    0
  15147. unk_D158:       db    0                 ; DATA XREF: sub_BC00+4FD
  15148. byte_D159:      db 0                    ; DATA XREF: sub_BC00+32E
  15149. word_D15A:      dw 0                    ; DATA XREF: sub_BC00+323
  15150.                                         ; sub_BC00+334
  15151. word_D15C:      dw 0                    ; DATA XREF: sub_BC00+32A
  15152.                                         ; sub_BC00:loc_BF37
  15153.                 db    0
  15154.                 db    0
  15155. unk_D160:       db    0                 ; DATA XREF: sub_BC00+505
  15156. byte_D161:      db 0                    ; DATA XREF: sub_BC00+345
  15157. word_D162:      dw 0                    ; DATA XREF: sub_BC00+33A
  15158.                                         ; sub_BC00+34B
  15159. word_D164:      dw 0                    ; DATA XREF: sub_BC00+341
  15160.                                         ; sub_BC00:loc_BF4E
  15161.                 db    0
  15162.                 db    0
  15163. unk_D168:       db    0                 ; DATA XREF: sub_BC00+50D
  15164. byte_D169:      db 0                    ; DATA XREF: sub_BC00+35C
  15165. word_D16A:      dw 0                    ; DATA XREF: sub_BC00+351
  15166.                                         ; sub_BC00+362
  15167. word_D16C:      dw 0                    ; DATA XREF: sub_BC00+358
  15168.                                         ; sub_BC00:loc_BF65
  15169.                 db    0
  15170.                 db    0
  15171. unk_D170:       db    0                 ; DATA XREF: sub_BC00+515
  15172. byte_D171:      db 0                    ; DATA XREF: sub_BC00+373
  15173. word_D172:      dw 0                    ; DATA XREF: sub_BC00+368
  15174.                                         ; sub_BC00+379
  15175. word_D174:      dw 0                    ; DATA XREF: sub_BC00+36F
  15176.                                         ; sub_BC00:loc_BF7C
  15177.                 db    0
  15178.                 db    0
  15179. unk_D178:       db    0                 ; DATA XREF: sub_BC00+51D
  15180. byte_D179:      db 0                    ; DATA XREF: sub_BC00+38A
  15181. word_D17A:      dw 0                    ; DATA XREF: sub_BC00+37F
  15182.                                         ; sub_BC00+390
  15183. word_D17C:      dw 0                    ; DATA XREF: sub_BC00+386
  15184.                                         ; sub_BC00:loc_BF93
  15185.                 db    0
  15186.                 db    0
  15187. word_D180:      dw 0                    ; DATA XREF: sub_A94F+31
  15188.                                         ; sub_BC00+535
  15189.                 db    0
  15190.                 db    0
  15191.                 db    0
  15192.                 db    0
  15193.                 db    0
  15194.                 db    0
  15195. byte_D188:      db 0                    ; DATA XREF: sub_BC00+30 sub_C1EF-55
  15196. byte_D189:      db 0                    ; DATA XREF: sub_C1EF-5C
  15197. word_D18A:      dw 0                    ; DATA XREF: sub_BC00+E5 sub_BC00+F5
  15198. word_D18C:      dw 0                    ; DATA XREF: sub_BC00+EC
  15199.                                         ; sub_BC00:loc_BCF8
  15200.                 db    0
  15201.                 db    0
  15202. byte_D190:      db 0                    ; DATA XREF: sub_BC00+37
  15203.                 db    0
  15204. word_D192:      dw 0                    ; DATA XREF: sub_BC00+FB
  15205.                                         ; sub_BC00+10B
  15206. word_D194:      dw 0                    ; DATA XREF: sub_BC00+102
  15207.                                         ; sub_BC00:loc_BD0E
  15208.                 db    0
  15209.                 db    0
  15210. byte_D198:      db 0                    ; DATA XREF: sub_BC00+3E
  15211.                 db    0
  15212. word_D19A:      dw 0                    ; DATA XREF: sub_BC00+111
  15213.                                         ; sub_BC00+121
  15214. word_D19C:      dw 0                    ; DATA XREF: sub_BC00+118
  15215.                                         ; sub_BC00:loc_BD24
  15216.                 db    0
  15217.                 db    0
  15218. byte_D1A0:      db 0                    ; DATA XREF: sub_BC00+45
  15219.                 db    0
  15220. word_D1A2:      dw 0                    ; DATA XREF: sub_BC00+127
  15221.                                         ; sub_BC00+137
  15222. word_D1A4:      dw 0                    ; DATA XREF: sub_BC00+12E
  15223.                                         ; sub_BC00:loc_BD3A
  15224.                 db    0
  15225.                 db    0
  15226. byte_D1A8:      db 0                    ; DATA XREF: sub_BC00+4C
  15227.                 db    0
  15228. word_D1AA:      dw 0                    ; DATA XREF: sub_BC00+13D
  15229.                                         ; sub_BC00+14D
  15230. word_D1AC:      dw 0                    ; DATA XREF: sub_BC00+144
  15231.                                         ; sub_BC00:loc_BD50
  15232.                 db    0
  15233.                 db    0
  15234. byte_D1B0:      db 0                    ; DATA XREF: sub_BC00+53
  15235.                 db    0
  15236. word_D1B2:      dw 0                    ; DATA XREF: sub_BC00+153
  15237.                                         ; sub_BC00+163
  15238. word_D1B4:      dw 0                    ; DATA XREF: sub_BC00+15A
  15239.                                         ; sub_BC00:loc_BD66
  15240.                 db    0
  15241.                 db    0
  15242. byte_D1B8:      db 0                    ; DATA XREF: sub_BC00+5A
  15243.                 db    0
  15244. word_D1BA:      dw 0                    ; DATA XREF: sub_BC00+169
  15245.                                         ; sub_BC00+179
  15246. word_D1BC:      dw 0                    ; DATA XREF: sub_BC00+170
  15247.                                         ; sub_BC00:loc_BD7C
  15248.                 db    0
  15249.                 db    0
  15250. ;block 0
  15251. word_D1C0:      dw 0                    ; DATA XREF: sub_BC00+65
  15252.                                         ; sub_BC00+18A
  15253. word_D1C2:      dw 0                    ; DATA XREF: sub_BC00+17F
  15254.                                         ; sub_BC00+190
  15255. word_D1C4:      dw 0                    ; DATA XREF: sub_BC00+186
  15256.                                         ; sub_BC00:loc_BD93
  15257.                 db    0
  15258.                 db    0
  15259. ;block 1
  15260. word_D1C8:      dw 0                    ; DATA XREF: sub_BC00+6D
  15261.                                         ; sub_BC00+1A1
  15262. word_D1CA:      dw 0                    ; DATA XREF: sub_BC00+196
  15263.                                         ; sub_BC00+1A7
  15264. word_D1CC:      dw 0                    ; DATA XREF: sub_BC00+19D
  15265.                                         ; sub_BC00:loc_BDAA
  15266.                 db    0
  15267.                 db    0
  15268. ;block 2
  15269. word_D1D0:      dw 0                    ; DATA XREF: sub_BC00+75
  15270.                                         ; sub_BC00+1B8
  15271. word_D1D2:      dw 0                    ; DATA XREF: sub_BC00+1AD
  15272.                                         ; sub_BC00+1BE
  15273. word_D1D4:      dw 0                    ; DATA XREF: sub_BC00+1B4
  15274.                                         ; sub_BC00:loc_BDC1
  15275.                 db    0
  15276.                 db    0
  15277. ;block 3
  15278. word_D1D8:      dw 0                    ; DATA XREF: sub_BC00+7D
  15279.                                         ; sub_BC00+1CF
  15280. word_D1DA:      dw 0                    ; DATA XREF: sub_BC00+1C4
  15281.                                         ; sub_BC00+1D5
  15282. word_D1DC:      dw 0                    ; DATA XREF: sub_BC00+1CB
  15283.                                         ; sub_BC00:loc_BDD8
  15284.                 db    0
  15285.                 db    0
  15286. ;block 4
  15287. word_D1E0:      dw 0                    ; DATA XREF: sub_BC00+85
  15288.                                         ; sub_BC00+1E6
  15289. word_D1E2:      dw 0                    ; DATA XREF: sub_BC00+1DB
  15290.                                         ; sub_BC00+1EC
  15291. word_D1E4:      dw 0                    ; DATA XREF: sub_BC00+1E2
  15292.                                         ; sub_BC00:loc_BDEF
  15293.                 db    0
  15294.                 db    0
  15295. ;block 5
  15296. word_D1E8:      dw 0                    ; DATA XREF: sub_BC00+8D
  15297.                                         ; sub_BC00+1FD
  15298. word_D1EA:      dw 0                    ; DATA XREF: sub_BC00+1F2
  15299.                                         ; sub_BC00+203
  15300. word_D1EC:      dw 0                    ; DATA XREF: sub_BC00+1F9
  15301.                                         ; sub_BC00:loc_BE06
  15302.                 db    0
  15303.                 db    0
  15304. ;block 6
  15305. word_D1F0:      dw 0                    ; DATA XREF: sub_BC00+95
  15306.                                         ; sub_BC00+214
  15307. word_D1F2:      dw 0                    ; DATA XREF: sub_BC00+209
  15308.                                         ; sub_BC00+21A
  15309. word_D1F4:      dw 0                    ; DATA XREF: sub_BC00+210
  15310.                                         ; sub_BC00:loc_BE1D
  15311.                 db    0
  15312.                 db    0
  15313. ;block 7
  15314. word_D1F8:      dw 0                    ; DATA XREF: sub_BC00+9D
  15315.                                         ; sub_BC00+22B
  15316. word_D1FA:      dw 0                    ; DATA XREF: sub_BC00+220
  15317.                                         ; sub_BC00+231
  15318. word_D1FC:      dw 0                    ; DATA XREF: sub_BC00+227
  15319.                                         ; sub_BC00:loc_BE34
  15320.                 db    0
  15321.                 db    0
  15322.  
  15323. array_D200:     db    0,   0,   0,   0,   0,   0,   0,   0 ; DATA XREF: sub_875B+4
  15324.                                         ; sub_875B+11   ...
  15325.                 ds 1                    ; still
  15326.                 ds 1                    ; array
  15327.                 ds 1                    ; D200
  15328. unk_D20B:       ds 1                    ; DATA XREF: sub_B34B+6
  15329.                                         ; sub_B36B:loc_B39E
  15330. byte_D20C:      ds 1                    ; DATA XREF: sub_8C20-B72
  15331.                                         ; sub_8C20-535 ...
  15332. byte_D20D:      ds #E                   ; DATA XREF: sub_B2D1+3
  15333.                                         ; array of 14 bytes
  15334.                 ds 1
  15335.                 ds 1
  15336.                 ds 1
  15337.                 ds 1
  15338.                 ds 1
  15339.                 ds 1
  15340.                 ds 1
  15341.                 ds 1
  15342.                 ds 1
  15343.                 ds 1
  15344.                 ds 1
  15345.                 ds 1
  15346.                 ds 1
  15347.                 ds 1
  15348. unk_D229:       ds 1                    ; DATA XREF: sub_8B66+1E
  15349.                 ds 1
  15350. unk_D22B:       ds 1                    ; DATA XREF: sub_8B66+1B
  15351.                 ds 1
  15352.                 ds 1
  15353.                 ds 1
  15354.                 ds 1
  15355.                 ds 1
  15356.                 ds 1
  15357.                 ds 1
  15358.                 ds 1
  15359.                 ds 1
  15360.                 ds 1
  15361.                 ds 1
  15362.                 ds 1
  15363.                 ds 1
  15364.                 ds 1
  15365.                 ds 1
  15366.                 ds 1
  15367.                 ds 1
  15368.                 ds 1
  15369.                 ds 1
  15370.                 ds 1
  15371. word_D240:      ds 2                    ; DATA XREF: sub_8C20-B28
  15372.                                         ; sub_8C20-6C2 ...
  15373.                 ds 1
  15374.                 ds 1
  15375.                 ds 1
  15376.                 ds 1
  15377.                 ds 1
  15378.                 ds 1
  15379.                 ds 1
  15380.                 ds 1
  15381.                 ds 1
  15382.                 ds 1
  15383.                 ds 1
  15384.                 ds 1
  15385.                 ds 1
  15386.                 ds 1
  15387.                 ds 1
  15388.                 ds 1
  15389.                 ds 1
  15390.                 ds 1
  15391.                 ds 1
  15392.                 ds 1
  15393.                 ds 1
  15394.                 ds 1
  15395. byte_D258:      ds 1                    ; DATA XREF: sub_A684+23 sub_B2D1 ...
  15396.                                         ; array of 14 bytes
  15397.                 ds 1
  15398. word_D25A:      ds 2                    ; DATA XREF: sub_8C20-B19
  15399.                                         ; sub_8C20-901 ...
  15400. byte_D25C:      ds #A                   ; DATA XREF: sub_B2E2
  15401.  
  15402.  
  15403.  
  15404.  
  15405.                 ds 0xD300-$
  15406.  
  15407. byte_D300:      ds 1                    ; DATA XREF: sub_8C20-541
  15408.                                         ; sub_8C20-1D1
  15409. byte_D301:      ds 1                    ; DATA XREF: sub_8C20-547
  15410.                                         ; sub_8C20-1CB
  15411. byte_D302:      ds 1                    ; DATA XREF: sub_8C20-53B
  15412.                                         ; sub_8C20-1BA
  15413. array_64bytes:  ds #40                  ; DATA XREF: sub_8C20-52F
  15414.                                         ; sub_8C20-1D4
  15415. stk_1bvalue:    ds 1                    ; DATA XREF: START_POINT+94
  15416.                                         ; sub_8C20-B6A ...
  15417.  
  15418.  
  15419.  
  15420.  
  15421.  
  15422.                 ds 0xD800-$
  15423.                 ;stack is upwards
  15424. RAM_END_D800:                           ; DATA XREF: START_POINT:loc_8067
  15425.                                         ; START_POINT+70 ...
  15426.                    
  15427.                 ds 0xD803-$
  15428. tbl_D803:                               ; DATA XREF: sub_8C20:loc_8365
  15429.                                         ; sub_8446 ...
  15430.                                         ; some 3byte structs, #FF -- end mark
  15431.                                         ; sized kilobyte or more
  15432.  
  15433.  
  15434.  
  15435.  
  15436.                 ds 0xF000-$
  15437. unk_F000:                               ; DATA XREF: sub_8446+3 sub_92A0 ...
  15438.                        
  15439.  
  15440.  
  15441.                 ds 0xF300-$
  15442.  
  15443.                 ds 1
  15444.  
  15445. BOARD:          ds #40                  ; DATA XREF: sub_8C20-976 sub_8C6B+E ...
  15446.                
  15447.                 ds 6
  15448.  
  15449. BOARD2:         ds #40                  ; DATA XREF: sub_8C20-979
  15450.                                         ; sub_8DE9+58   ...
  15451.                 ds 6
  15452.  
  15453. save_SP:        ds 2                    ; DATA XREF: START_POINT+33
  15454. save_HLtick:    ds 2                    ; DATA XREF: START_POINT+38
  15455. save_ERRSP:     ds 2                    ; DATA XREF: RAM:803E
  15456.  
  15457.  
  15458.  
  15459.  
  15460.                 ds 0xFEFF-$
  15461. INT_VEC:        ds 2
  15462.  
  15463.  
  15464.  
  15465.  
  15466.                 ;savebin "cyrus2_compilable.bin",#8000,#5000
  15467.                 ;labelslist "cyrus2_compilable.lab"
  15468.                 ;end
  15469.  
  15470.         savebin "cyrus2.com",begin,end-begin
  15471.         LABELSLIST "../../../us/user.l"
  15472.