Advertisement
Guest User

Untitled

a guest
Nov 10th, 2018
318
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. _script_flags_set:
  3.         push    af
  4.         pop     bc
  5.         ld      a, c
  6.         ld      [byte_18A0BD], a
  7.         ret
  8. off_14AF:       dw _scr_cmd00
  9.         dw _scr_cmd01
  10.         dw _scr_cmd02
  11.         dw _scr_cmd03
  12.         dw _scr_cmd04
  13.         dw _scr_cmd05
  14.         dw _scr_cmd06
  15.         dw _scr_cmd07
  16.         dw _scr_cmd08
  17.         dw _scr_cmd09
  18.         dw _scr_cmd0A
  19.         dw _scr_cmd0B
  20.         dw _scr_cmd0C
  21.         dw _scr_cmd0D
  22.         dw _scr_cmd0E
  23.         dw _scr_cmd0F
  24.         dw _scr_cmd10
  25.         dw _scr_cmd11
  26.         dw _scr_cmd12
  27.         dw _scr_cmd13
  28.         dw _scr_cmd14
  29.         dw _scr_cmd16
  30.         dw _scr_cmd16
  31.         dw _scr_cmd17
  32.         dw _scr_cmd18
  33.         dw _scr_cmd1A
  34.         dw _scr_cmd1A
  35.         dw _scr_cmd1B
  36.         dw _scr_cmd1E
  37.         dw _scr_cmd1E
  38.         dw _scr_cmd1E
  39.         dw _scr_cmd1F
  40.         dw _scr_cmd20
  41.         dw _scr_cmd21
  42.         dw _scr_cmd22
  43.         dw _scr_cmd23
  44.         dw _scr_cmd24
  45.         dw _scr_cmd25
  46.         dw _scr_cmd26
  47.         dw _scr_cmd27
  48.         dw _scr_cmd28
  49.         dw _scr_cmd29
  50.         dw _scr_cmd2A
  51.         dw _scr_cmd2B
  52.         dw _scr_cmd2C
  53.         dw _scr_cmd2D
  54.         dw _scr_cmd2E
  55.         dw _scr_cmd2F
  56.         dw _scr_cmd30
  57.         dw _scr_cmd34
  58.         dw _scr_cmd34
  59.         dw _scr_cmd34
  60.         dw _scr_cmd34
  61.         dw _scr_cmd36
  62.         dw _scr_cmd36
  63.         dw _scr_cmd37
  64.         dw _scr_cmd38
  65.         dw _scr_cmd39
  66.         dw _scr_cmd3A
  67.         dw _scr_cmd3B
  68.         dw _scr_cmd3C
  69.         dw _scr_cmd3D
  70.         dw _scr_cmd3E
  71.         dw _scr_cmd40
  72.         dw _scr_cmd40
  73.         dw _scr_cmd41
  74.         dw _scr_cmd42
  75.         dw _scr_cmd43
  76.         dw _scr_cmd44
  77.         dw _scr_cmd45
  78.         dw _scr_cmd46
  79.         dw _scr_cmd47
  80.         dw _scr_cmd48
  81.         dw _scr_cmd49
  82.         dw _scr_cmd4A
  83. _script_run:
  84.         ld      a, [byte_10D4A1]
  85.         and     a
  86.         ret     nz
  87.         dec     a
  88.         ld      hl, byte_18A0BC
  89.         and     [hl]
  90.         jr      z, _script_exec
  91.         dec     [hl]
  92.         ret
  93. _script_exec:
  94.         ld      a, [byte_18A0BA]
  95.         ld      l, a
  96.         ld      a, [byte_18A0BB]
  97.         ld      h, a
  98. _script_cmd_fetch:
  99.         ldi     a, [hl]
  100.         sla     a
  101.         ld      de, off_14AF
  102.         add     a, e
  103.         ld      e, a
  104.         jr      nc, loc_1564
  105.         inc     d
  106. loc_1564:
  107.         ld      a, [de]
  108.         ld      c, a
  109.         inc     de
  110.         ld      a, [de]
  111.         ld      b, a
  112.         push    bc
  113.         ret
  114. sub_156B:
  115.         ld      a, l
  116.         ld      [byte_18A0BA], a
  117.         ld      a, h
  118.         ld      [byte_18A0BB], a
  119.         ret
  120. sub_1572:
  121.         ld      de, unk_18A0C3
  122.         ld      a, [byte_18A0C2]
  123. _de_add_a_0:
  124.         add     a, e
  125.         ld      e, a
  126.         ret     nc
  127.         inc     d
  128.         ret
  129. sub_157C:
  130.         ld      [de], a
  131.         inc     de
  132.         ld      a, [byte_18A0C2]
  133.         inc     a
  134.         ld      [byte_18A0C2], a
  135.         ret
  136. sub_1584:
  137.         ld      a, [byte_18A0C2]
  138.         dec     a
  139.         ld      [byte_18A0C2], a
  140.         dec     de
  141.         ld      a, [de]
  142.         ret
  143. _scr_cmd00:
  144.         ld      a, $80
  145.         ld      [byte_18A0CA], a
  146.         ret
  147. _scr_cmd01:
  148.         jp      sub_156B
  149. _scr_cmd02:
  150.         ldi     a, [hl]
  151.         ld      [byte_18A0BC], a
  152.         jp      sub_156B
  153. _scr_cmd05:
  154.         ldi     a, [hl]
  155.         ld      b, a
  156.         ldi     a, [hl]
  157.         ld      e, a
  158.         ldi     a, [hl]
  159.         ld      d, a
  160.         push    hl
  161.         ld      hl, byte_18A0CB
  162.         ldi     a, [hl]
  163.         ld      [byte_18A0A8], a
  164.         ldi     a, [hl]
  165.         ld      [byte_18A0A9], a
  166.         ldi     a, [hl]
  167.         ld      [byte_18A0AA], a
  168.         ldi     a, [hl]
  169.         ld      [byte_18A0AB], a
  170.         ld      a, [byte_18A0D1]
  171.         and     $20
  172.         ld      [byte_18A0AC], a
  173.         xor     a
  174.         ld      [byte_18A0AD], a
  175.         call    sub_149B
  176.         call    _script_flags_set
  177.         pop     hl
  178.         jp      _script_cmd_fetch
  179. _scr_cmd03:
  180.         ldi     a, [hl]
  181.         ld      e, a
  182.         ldi     a, [hl]
  183.         ld      d, a
  184.         call    sub_156B
  185.         push    de
  186.         ret
  187. _scr_cmd06:
  188.         ldi     a, [hl]
  189.         ld      e, a
  190.         ldi     a, [hl]
  191.         push    hl
  192.         ld      h, a
  193.         ld      l, e
  194.         ld      bc, sub_15D7
  195.         push    bc
  196.         jp      [hl]
  197. sub_15D7:
  198.         pop     hl
  199.         jp      _script_cmd_fetch
  200. _scr_cmd04:
  201.         ldi     a, [hl]
  202.         ld      [byte_10D4A0], a
  203.         jp      loc_8EE
  204. _scr_cmd07:
  205.         ldi     a, [hl]
  206.         ld      [byte_18A0BA], a
  207.         ldi     a, [hl]
  208.         ld      [byte_18A0BB], a
  209.         jp      _script_exec
  210. _scr_cmd08:
  211.         ldi     a, [hl]
  212.         ld      [byte_18A0BA], a
  213.         ldi     a, [hl]
  214.         ld      [byte_18A0BB], a
  215.         call    sub_1572
  216.         ld      a, h
  217.         call    sub_157C
  218.         ld      a, l
  219.         call    sub_157C
  220.         jp      _script_exec
  221. _scr_cmd09:
  222.         call    sub_1572
  223.         call    sub_1584
  224.         ld      l, a
  225.         call    sub_1584
  226.         ld      h, a
  227.         jp      _script_cmd_fetch
  228. _scr_cmd0A:
  229.         call    sub_1572
  230.         ld      a, [byte_18A0C2]
  231.         dec     a
  232.         dec     a
  233.         ld      [byte_18A0C2], a
  234.         jr      _scr_cmd07
  235. _scr_cmd0B:
  236.         xor     a
  237.         ld      [byte_18A0C0], a
  238.         jp      _script_cmd_fetch
  239. _scr_cmd0C:
  240.         xor     a
  241.         ld      [byte_18A0C1], a
  242.         jp      _script_cmd_fetch
  243. _scr_cmd0D:
  244.         ld      bc, byte_18A0C0
  245.         jr      loc_162C
  246. _scr_cmd0E:
  247.         ld      bc, byte_18A0C1
  248. loc_162C:
  249.         ld      a, [bc]
  250.         inc     a
  251.         ld      [bc], a
  252.         cp      [hl]
  253.         inc     hl
  254.         jp      c, _scr_cmd07
  255.         xor     a
  256.         ld      [bc], a
  257.         jr      loc_164C
  258. _scr_cmd0F:
  259.         ld      a, [byte_18A0BD]
  260.         ld      c, a
  261.         push    bc
  262.         pop     af
  263.         jr      z, loc_164C
  264.         jp      _scr_cmd07
  265. _scr_cmd10:
  266.         ld      a, [byte_18A0BD]
  267.         ld      c, a
  268.         push    bc
  269.         pop     af
  270.         jr      c, loc_164C
  271.         jp      _scr_cmd07
  272. loc_164C:
  273.         inc     hl
  274.         inc     hl
  275.         jp      _script_cmd_fetch
  276. _scr_cmd11:
  277.         ld      c, $92
  278.         ldi     a, [hl]
  279.         add     a, c
  280.         ld      c, a
  281.         ldi     a, [hl]
  282.         ld      b, a
  283.         ld      a, [c]
  284.         and     b
  285.         jr      nz, loc_164C
  286.         jp      _scr_cmd07
  287. _scr_cmd12:
  288.         ldi     a, [hl]
  289.         ld      e, a
  290.         ldi     a, [hl]
  291.         ld      d, a
  292.         ld      a, [de]
  293.         sla     a
  294.         add     a, l
  295.         ld      e, a
  296.         ld      a, h
  297.         adc     a, 0
  298.         ld      d, a
  299.         ld      a, [de]
  300.         ld      l, a
  301.         inc     de
  302.         ld      a, [de]
  303.         ld      h, a
  304.         jp      _script_cmd_fetch
  305. _scr_cmd13:
  306.         ldi     a, [hl]
  307.         ld      [byte_18A0BE], a
  308.         ldi     a, [hl]
  309.         ld      [byte_18A0BF], a
  310.         jp      _script_cmd_fetch
  311. _scr_cmd14:
  312.         ldi     a, [hl]
  313.         ld      c, a
  314.         ldi     a, [hl]
  315.         ld      b, a
  316.         ldi     a, [hl]
  317.         ld      e, a
  318.         ldi     a, [hl]
  319.         ld      d, a
  320.         ld      a, c
  321. loc_1686:
  322.         ld      [de], a
  323.         inc     de
  324.         dec     b
  325.         jr      nz, loc_1686
  326.         jp      _script_cmd_fetch
  327.         jp      _script_cmd_fetch
  328. _scr_cmd16:
  329.         ldi     a, [hl]
  330.         push    hl
  331.         call    sub_2E7
  332.         pop     hl
  333.         jp      _script_cmd_fetch
  334. _scr_cmd17:
  335.         push    hl
  336.         call    sub_16BA
  337.         call    sub_16B0
  338.         pop     hl
  339.         jp      sub_156B
  340. _scr_cmd18:
  341.         push    hl
  342.         call    sub_16BA
  343.         call    sub_16B0
  344.         pop     hl
  345.         jp      _script_cmd_fetch
  346. sub_16B0:
  347.         ld      de, byte_18A0D4
  348.         ld      hl, byte_18A0CB
  349.         ld      a, [byte_18A0D2]
  350.         jr      loc_16C2
  351. sub_16BA:
  352.         ld      de, unk_18A0D5
  353.         ld      hl, byte_18A0CD
  354.         ld      a, [byte_18A0D3]
  355. loc_16C2:
  356.         and     a
  357.         ret     z
  358.         bit     7, a
  359.         jr      nz, loc_16D2
  360.         call    sub_16DF
  361.         add     a, [hl]
  362.         ldi     [hl], a
  363.         ld      a, [hl]
  364.         adc     a, 0
  365.         ld      [hl], a
  366.         ret
  367. loc_16D2:
  368.         cpl
  369.         inc     a
  370.         call    sub_16DF
  371.         ld      a, [hl]
  372.         sub     b
  373.         ldi     [hl], a
  374.         ld      a, [hl]
  375.         sbc     a, 0
  376.         ld      [hl], a
  377.         ret
  378. sub_16DF:
  379.         swap    a
  380.         ld      c, a
  381.         and     7
  382.         ld      b, a
  383.         ld      a, c
  384.         and     $F0
  385.         ld      c, a
  386.         ld      a, [de]
  387.         add     a, c
  388.         ld      [de], a
  389.         ld      a, b
  390.         adc     a, 0
  391.         ld      b, a
  392.         ret
  393. _scr_cmd1A:
  394.         ld      c, $CA
  395.         ld      a, [c]
  396.         res     7, a
  397.         ld      [c], a
  398.         jp      _script_cmd_fetch
  399. _scr_cmd1B:
  400.         ld      c, $CA
  401.         ld      a, [c]
  402.         set     7, a
  403.         ld      [c], a
  404.         jp      _script_cmd_fetch
  405. _scr_cmd1E:
  406.         ldi     a, [hl]
  407.         ld      [byte_18A0CF], a
  408.         jp      _script_cmd_fetch
  409. _scr_cmd1F:
  410.         ldi     a, [hl]
  411.         ld      [byte_18A0D0], a
  412.         jp      _script_cmd_fetch
  413. _scr_cmd20:
  414.         ld      c, $D1
  415.         ld      a, [c]
  416.         res     4, a
  417.         or      [hl]
  418.         ld      [c], a
  419.         inc     hl
  420.         jp      _script_cmd_fetch
  421. _scr_cmd21:
  422.         ld      c, $D1
  423.         ld      a, [c]
  424.         res     5, a
  425.         ld      [c], a
  426.         jp      _script_cmd_fetch
  427. _scr_cmd22:
  428.         ld      c, $D1
  429.         ld      a, [c]
  430.         set     5, a
  431.         ld      [c], a
  432.         jp      _script_cmd_fetch
  433. _scr_cmd23:
  434.         ld      c, $D1
  435.         ld      a, [c]
  436.         res     6, a
  437.         ld      [c], a
  438.         jp      _script_cmd_fetch
  439. _scr_cmd24:
  440.         ld      c, $D1
  441.         ld      a, [c]
  442.         set     6, a
  443.         ld      [c], a
  444.         jp      _script_cmd_fetch
  445. _scr_cmd25:
  446.         ld      c, $D1
  447.         ld      a, [c]
  448.         res     7, a
  449.         ld      [c], a
  450.         jp      _script_cmd_fetch
  451. _scr_cmd26:
  452.         ld      c, $D1
  453.         ld      a, [c]
  454.         set     7, a
  455.         ld      [c], a
  456.         jp      _script_cmd_fetch
  457. _scr_cmd27:
  458.         ldi     a, [hl]
  459.         ld      [byte_18A0CD], a
  460.         ldi     a, [hl]
  461.         ld      [byte_18A0CE], a
  462.         jp      _script_cmd_fetch
  463. _scr_cmd28:
  464.         ldi     a, [hl]
  465.         ld      [byte_18A0CB], a
  466.         ldi     a, [hl]
  467.         ld      [byte_18A0CC], a
  468.         jp      _script_cmd_fetch
  469. _scr_cmd29:
  470.         ld      c, $CD
  471.         jr      loc_1768
  472. _scr_cmd2A:
  473.         ld      c, $CB
  474. loc_1768:
  475.         ld      b, 0
  476.         ld      a, [hl]
  477.         bit     7, a
  478.         jr      z, loc_1770
  479.         dec     b
  480. loc_1770:
  481.         ld      a, [c]
  482.         add     a, [hl]
  483.         ld      [c], a
  484.         inc     c
  485.         ld      a, [c]
  486.         adc     a, b
  487.         ld      [c], a
  488.         inc     hl
  489.         jp      _script_cmd_fetch
  490. _scr_cmd2B:
  491.         ldi     a, [hl]
  492.         ld      [byte_18A0D3], a
  493.         jp      _script_cmd_fetch
  494. _scr_cmd2C:
  495.         ldi     a, [hl]
  496.         ld      [byte_18A0D2], a
  497.         jp      _script_cmd_fetch
  498. _scr_cmd2D:
  499.         ld      a, [byte_18A0D3]
  500.         inc     a
  501.         ld      [byte_18A0D3], a
  502.         jp      _script_cmd_fetch
  503. _scr_cmd2E:
  504.         ld      a, [byte_18A0D2]
  505.         inc     a
  506.         ld      [byte_18A0D2], a
  507.         jp      _script_cmd_fetch
  508. _scr_cmd2F:
  509.         ld      a, [byte_18A0D3]
  510.         dec     a
  511.         ld      [byte_18A0D3], a
  512.         jp      _script_cmd_fetch
  513. _scr_cmd30:
  514.         ld      a, [byte_18A0D2]
  515.         dec     a
  516.         ld      [byte_18A0D2], a
  517.         jp      _script_cmd_fetch
  518. _scr_cmd34:
  519.         ldi     a, [hl]
  520.         ld      [byte_18A0DB], a
  521.         ldi     a, [hl]
  522.         ld      [byte_18A0DA], a
  523.         jp      _script_cmd_fetch
  524. _scr_cmd36:
  525.         ldi     a, [hl]
  526.         ld      [byte_18A0DE], a
  527.         jp      _script_cmd_fetch
  528. sub_17B6:
  529.         ldi     a, [hl]
  530.         ld      [byte_18A097], a
  531.         ldi     a, [hl]
  532.         or      $98
  533.         ld      [byte_18A096], a
  534.         ret
  535. sub_17BF:
  536.         ldi     a, [hl]
  537.         ld      e, a
  538.         ldi     a, [hl]
  539.         ld      d, a
  540.         ret
  541. _scr_cmd37:
  542.         ldi     a, [hl]
  543.         ld      b, a
  544.         call    sub_17B6
  545.         call    sub_17BF
  546.         push    hl
  547.         ld      l, e
  548.         ld      h, d
  549.         call    sub_466
  550.         pop     hl
  551.         jp      _script_cmd_fetch
  552. _scr_cmd38:
  553.         call    sub_17BF
  554.         push    hl
  555.         ld      l, e
  556.         ld      h, d
  557.         call    sub_457
  558.         pop     hl
  559.         jp      _script_cmd_fetch
  560. _scr_cmd39:
  561.         call    sub_17B6
  562.         call    sub_17BF
  563.         push    hl
  564.         ld      h, d
  565.         ld      l, e
  566.         call    sub_4D6
  567.         pop     hl
  568.         jp      _script_cmd_fetch
  569. _scr_cmd3A:
  570.         ldi     a, [hl]
  571.         ld      b, a
  572.         ldi     a, [hl]
  573.         ld      c, a
  574.         call    sub_17B6
  575.         call    sub_17BF
  576.         push    hl
  577.         ld      l, e
  578.         ld      h, d
  579.         call    loc_535
  580.         pop     hl
  581.         jp      _script_cmd_fetch
  582. _scr_cmd3B:
  583.         call    sub_17BF
  584.         push    hl
  585.         ld      h, d
  586.         ld      l, e
  587.         call    sub_7C5
  588.         pop     hl
  589.         jp      _script_cmd_fetch
  590. _scr_cmd3C:
  591.         call    _script_flags_set
  592.         jp      _script_cmd_fetch
  593. _scr_cmd3D:
  594.         ldi     a, [hl]
  595.         ld      b, a
  596.         push    hl
  597.         call    sub_781
  598.         pop     hl
  599.         jr      _scr_cmd3C
  600. _scr_cmd3E:
  601.         ldi     a, [hl]
  602.         ld      b, a
  603.         push    hl
  604.         call    sub_7A3
  605.         pop     hl
  606.         jr      _scr_cmd3C
  607. _scr_cmd40:
  608.         call    sub_17BF
  609.         ldi     a, [hl]
  610.         ld      c, a
  611.         ldi     a, [hl]
  612.         push    hl
  613.         ld      h, a
  614.         ld      l, c
  615.         call    sub_697
  616.         pop     hl
  617.         jr      _scr_cmd3C
  618. _scr_cmd41:
  619.         call    sub_17BF
  620.         ldi     a, [hl]
  621.         ld      c, a
  622.         ldi     a, [hl]
  623.         push    hl
  624.         ld      h, a
  625.         ld      l, c
  626.         call    sub_6B1
  627.         pop     hl
  628.         jr      _scr_cmd3C
  629. _scr_cmd42:
  630.         ldi     a, [hl]
  631.         ld      b, a
  632.         call    sub_17B6
  633.         push    hl
  634.         call    sub_72F
  635.         pop     hl
  636.         jp      _script_cmd_fetch
  637. _scr_cmd43:
  638.         ldi     a, [hl]
  639.         ld      b, a
  640.         call    sub_17B6
  641.         push    hl
  642.         call    sub_747
  643.         pop     hl
  644.         jp      _script_cmd_fetch
  645. _scr_cmd44:
  646.         ldi     a, [hl]
  647.         ld      b, a
  648.         call    sub_17B6
  649.         call    sub_17BF
  650.         push    hl
  651.         call    sub_6CA
  652.         pop     hl
  653.         jp      _script_cmd_fetch
  654. _scr_cmd45:
  655.         ldi     a, [hl]
  656.         add     a, $47
  657.         ld      c, a
  658.         ldi     a, [hl]
  659.         ld      [c], a
  660.         jp      _script_cmd_fetch
  661. _scr_cmd46:
  662.         ldi     a, [hl]
  663.         ld      [byte_10D9A1], a
  664.         ldi     a, [hl]
  665.         ld      [byte_10D9A2], a
  666.         jp      _script_cmd_fetch
  667. _scr_cmd47:
  668.         ldi     a, [hl]
  669.         ld      c, a
  670.         call    sub_17B6
  671.         call    sub_17BF
  672.         push    hl
  673.         call    sub_81B
  674.         pop     hl
  675.         jp      sub_156B
  676. _scr_cmd48:
  677.         ld      a, [byte_10D9A9]
  678.         cp      $FF
  679.         jr      z, loc_18AC
  680.         ret
  681. _scr_cmd49:
  682.         ld      a, [byte_10D9A9]
  683.         cp      $FF
  684.         jr      z, loc_18AA
  685.         jp      _scr_cmd07
  686. loc_18AA:
  687.         inc     hl
  688.         inc     hl
  689. loc_18AC:
  690.         jp      sub_156B
  691. _scr_cmd4A:
  692.         ldi     a, [hl]
  693.         ld      [byte_10DD34], a
  694.         ldi     a, [hl]
  695.         ld      [byte_10DD35], a
  696.         push    hl
  697.         ld      a, 5
  698.         call    sub_108F
  699.         ld      hl, off_14018
  700.         call    sub_10A3
  701.         call    sub_109B
  702.         pop     hl
  703.         jp      sub_156B
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement