设为首页收藏本站

 找回密码
 立即注册
搜索
查看: 618|回复: 13

[原创FC/FDS-HACK] [FC][魂斗罗旋风终板END暂停显菜单]

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2016-11-19 22:19:45 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2016-11-19 23:11 编辑 / R3 t( D. z* c' S6 ^1 S* I- T
* J! M' T: N( l- Q6 J( f; y
     [FC][魂斗罗旋风终板END暂停显菜单]

" P& |7 X9 [: I5 k7 c作者:FlameCyclone(flamecyclone.ys168.com)! o) }% U0 A/ t3 @
时间:2016/11/19 21:46:00
7 j) l" f# Y2 p1 U( ^0 B0 F2 v更新日志:

7 T$ G* N: ?5 W* y) }0 k. B2016.11.19:加入暂停显菜单(共5页).
" \6 X) t7 \0 Y2 ]% B2016.11.12:加入无限跳跃.
* v/ c% j' \& s' n- W. B& q  ^0 b2016.11.12:加入速度调节.
8 J; C3 j  t+ B4 I' [# b
2016.11.11:加入敌我子弹对消功能.
9 B9 I7 z- ]8 y/ {2 ~) j2016.11.11:加入全屏闪灭功能.8 o3 g. `2 H) b6 v$ h
2016.06.08:加入全屏瞄准功能." U9 l' u8 u3 S% a
2016.05.31:加入弹速调节功能.6 {/ i% s, _& w. _; V5 p
2016.01.01:加入高难度模式.
3 F! h8 G: T$ Q2015.12.12:修复消除威胁不足,使得移动BOSS关卡(第2,4,5,6)正常通过.4 ^, ]3 ^1 m( s
2014.07.05:由于对打功能不完善,直接去除,更改为生命锁定.
2 c4 x8 _/ p" x# C2014.07.05:双人切换功能优化.
2 L7 ?$ ]6 A0 b6 D; G  T' t1 f2014.06.01:修复第三关浮空到BOSS前必须关闭浮空后跳跃才能见BOSS的麻烦.
# ~2 i3 [% i3 y- i3 {2014.06.01:取消生命锁定,改为生命锁定模式下剩余生命不会少于一条.* s1 P  f2 c6 ?& `( C
2014.01.18:修复GAME OVER字样只有G和O的错误,原来想拉大字母间距离,看来行不通.
6 D5 k5 C( N: ^6 n5 _$ b' n/ G$ G2014.01.18:浮空模式下,P2飞行高度未限制导致死亡,原来是指令本该用绝对X变址的被用成了绝对寻址.  H, J) {) V" b
2014.02.08:拿手机无聊时又发现一些错误,所以修正生命剩余勋章显示的错误(某天用读卡器插在DVD上测试发现机器读不了卡,原因是目录级数超过三级,只有刻录成光盘来测试,结果发现生命勋章的显示竟然无压力!)
* b4 J1 d' y$ w2014.02.13:加入自动演示通关.
3 H" Y9 l" B1 z2 L( @% y/ d. r, n内容:
  J+ S. D, C! a23.暂停菜单:        暂停后,自动显示菜单,选择键翻页,方向键和BA键进行各种功能的开关操作.
' f7 `* o9 w$ s4 w22.无限跳跃:        暂停后,选择键4次,按下开启,开启后游戏时无限跳跃.
/ G# |6 r$ w* u( I- [& c21.速度调节:        暂停后,选择键4次,按左右调节行走速度(0-3级).
$ C4 J, s/ P: s0 V8 N4 V9 {
20.子弹对消:        暂停后,选择键4次,再按A键切换,此时敌人子弹可以打掉.
# r# L& D8 e' a/ |9 K3 g19.全屏闪灭:        暂停后,选择键4次,再按B键切换,开启后游戏时按选择键屏幕内敌人闪灭.  [5 R* T# G% i% w- R- d
18.全屏瞄准:        暂停后,选择键2次,再按B开启/关闭,子弹对消开启时无效.1 a. ]: [. Z: S: ^
17.弹速调节:        暂停后,选择键3次,下开启,非暂停时按选择键调节,默认为1级,共5级.7 g& p+ M, \$ b" _5 y1 \' d7 z# k
16.困难模式:        暂停后,选择键3次,右键切换,我不相信你能够无伤通关.* a% O$ v" X2 x
01.子弹切换:        暂停后,选择键0次,上=快S,下=快L,左=快M,右=快F,B=快普通,A=取消当前子弹加速状态.* Y: x2 F' Z  k2 R
02.无敌锁定:        暂停后,选择键1次,上开启/关闭,不用讲了,金身无敌.
! k: j. R7 R; A# @03.生命锁定:        暂停后,选择键1次,下开启/关闭,生命锁定为16条.4 \; |9 }- l! _. V" ]8 g
04.角色双控:        暂停后,选择键1次,左开启/关闭,无非就是主机控制副机.
/ c6 X5 W$ z; d$ s' O9 z' @05.生命底限:        暂停后,选择键1次,右开启/关闭,锁定剩余生命数不少于1条.2 T1 S7 [3 @( M
06.一击必杀:        暂停后,选择键1次,再按B开启/关闭,即使是第8关BOSS,一发花生米依然要其老命.
) E# s& o* v+ ]$ l8 Q4 L' j07.角色浮空:        暂停后,选择键1次,再按A开启/关闭,第三关浮空时按选择键向上卷画面轴.! x% @  s8 \0 p
08.弹数加强:        暂停后,选择键2次,上开启/关闭,此时所有子弹发射数为15发.: H; L4 Q( I6 z3 u, B9 A
09.皮肤更换:        暂停后,选择键2次,下开启/关闭,主机开启时橙黄色,副机开启时为蓝色.. _" ?3 q. F" r
10.混合子弹:        暂停后,选择键2次,左开启/关闭,此时连射时所有子弹混合.
- I" \9 i3 e1 X; Y, U& I  D4 Q11.敌人锁定:        暂停后,选择键2次,右开启/关闭,此时敌人原位跑不动.
3 ]+ X3 P, S3 s2 ?12.跳过一关:        暂停后,选择键3次,再按B使用,使用后可以直接到下一关.- P% L& N4 O; v4 D, I+ W% n' f
13.单双切换:        暂停后,选择键3次,再按A键切换单双人游戏模式.
; v, p* r, P1 o9 G- w14.子弹方向:        暂停后,选择键3次,上开启/关闭,开启后发射的子弹攻击方向会随着操作的方向按键变化,第二关和第四关的小关建议关闭(开启的话打中敌人太难了哦).! ]  W8 L1 |/ e* q1 R
15.消除威胁:        暂停后,选择键3次,左开启/关闭,此时游戏时按B键使得移动物体被消除。9 {5 z* U/ j  ~; ]4 ^9 k! F
A.做了一些汉化(小字体),剧情,关卡名及通关后的文字未汉化.
4 m  _; U6 `" ?B.自动演示通关,双人合体打通关,演示时有背景音乐,通关后一样会有结尾及恐怖台词,之后游戏进入选关(相当于游戏自动开始了).注:通关后P1及P2会获得16条生命!也就是说看完演示自动开始后第一版有16条生命!
: E# S6 N: l8 BC.生命显示加强:最大显示15个剩余生命勋章!电脑端请开启精灵超过8个(这样勋章不会闪烁),手机端认命了,不过不影响正常操作./ \5 e/ U, o5 Y0 Q
* M' I: C2 ?: @+ W  O7 t
    如果有什么好的修改建议,恳请通过QQ(1490868135)联系我(也许我不在线,可以留言在QQ里)
% `1 I+ X% q; W6 s* h欢迎大家转载,转载时必须注明出处.
. D. ?! M4 k2 o# x- t$ A4 H5 [. e: X6 ~$ `8 f) `
游客,如果您要查看本帖隐藏内容请回复
) x$ r9 ~0 k7 d2 s3 p$ m  F3 d

/ Y  \- r' F0 F  d4 V: C忙了一个星期,觉都没睡好,眼睛也疲惫不堪啊.终于找到解决方法了,目前VIRTUANES运行不了,请使用其他模拟器玩.
) f) [/ V7 X( T  L8 ]" \$ N, ?这几天的劳动成果如下:
  1. .ORG $B4004 P, J8 n$ X8 J9 k

  2. 3 n$ e! V8 s) {/ u; ~
  3. 6 h, _3 _: v' R8 L6 Q* D
  4. PROREG:  c/ F1 u* R% p# u
  5. PHA
    & z% `( U* x/ a% n
  6. TXA/ s" C  ]# n* Q3 |& M7 J
  7. PHA" S& Z- M& ^' y
  8. TYA
    / ^5 l' G7 N* f, u' p3 A
  9. PHA
    + f3 K$ Q. J, s5 Z" A
  10. LDA $255 f* ~8 f0 r4 a& a+ [5 Z8 p9 K* c
  11. CMP #$01
    0 b& M4 s% v; d5 O. c  p
  12. BNE RE3 V$ G+ Q/ }6 T3 T7 z! H4 S
  13. LDA $010A4 i5 ~( i$ u& B- N0 y" c
  14. CMP #$00
    ) E8 u" `. p) _) j
  15. BEQ P1
    & C' L- Q; u! @6 x+ y
  16. 8 I) Q7 X9 C  A3 A5 m9 g. x
  17. RE:4 P( Y  D4 K, v! _
  18. JMP PPUWRITE
    + X/ ^  H. `3 j+ k% D0 `+ U

  19. . K) }. I7 W( ?. j- S  O/ P
  20. P1:                ; 条件判断
    0 r" N9 C& r3 {# D3 Y$ |5 J6 {7 `
  21. LDA $7FFF
    9 i% f3 K# m( D; x. ~: W  w
  22. CMP #$FF
    0 W4 i) d% v: R8 Q. B
  23. BNE P1RP
    5 {7 y: B8 Y% W% m, B% m
  24. LDA $7FA0- i0 u0 d, v" |  o4 U" i1 {
  25. CMP #$00* @! R" ?1 G! ]# L
  26. BNE P1CMP
    2 I/ y+ Z$ w3 u1 g( }. K9 z
  27. LDA $2001
    * L/ Y. p- Y' E- j- [
  28. PHA
    $ u! k1 q) A5 _$ v* a/ D. P1 b
  29. LDA #$007 m: Z( H# Y/ O
  30. STA $2001
      p, D. }0 h" r- x. z
  31. LDA #$FF' l% @! W& z, C0 `
  32. STA $7FA0
    - `6 ?# k! p! }' C
  33. JSR CLEANA8 |7 j" c( [/ q3 y9 p- U& g( Y
  34. PLA
    / V9 b5 f, ]9 J9 D; V+ F. y+ D
  35. STA $2001. R9 b7 w. P/ B4 v9 w' a
  36. JMP PPUWRITE  L5 `( o2 Q! n- B/ S" E
  37. P1CMP:$ t( w& [2 C( u% |5 b( a* W! Z
  38. LDA $7FFF! h& }% t4 y* p- o0 U0 K2 ?8 U! u
  39. CMP #$00
    5 P! P% M1 ], ?% ~! K0 T9 M
  40. BNE RE5 X. D! o9 P& A- {8 a6 A) ~. g# j9 _
  41. P1RP:0 ~3 \$ ?: R# E
  42. LDA $2002
    9 X2 i' t* m2 Z3 f; K, i
  43. LDA #$00; o6 j% P: J; v, C& l! ]& d
  44. STA $2001/ P( A! t- }# Z; [, K! T
  45. LDA #$FF
    ; D% ~4 G) n2 L/ n0 N& `
  46. STA $7FFF, Y' g/ Y$ B  t' i* u% k
  47. STA $7FA0; V; R# f5 H* Y/ ^
  48. JSR COPYPPU; M/ V% r& P  G# H
  49. PIRP2:
    7 G& \, l* h7 [" A% B6 V3 a7 g
  50. JSR CLEANA1 ~8 W7 k6 |; y( @5 }7 ~0 w
  51. JMP PPUWRITE: [( N4 H& R9 h

  52.   X8 N/ G: W- a9 z
  53. COPYPPU:
    1 m5 H9 k6 V- z2 z# J$ c5 r8 y$ K
  54. L0:
    - k" c3 R( b9 N4 {+ o2 c( g
  55. LDA $30' N# K% t: ^! u9 Z8 c! q9 P4 j
  56. CMP #$02$ H% e7 _0 L* I9 E0 j2 |
  57. BNE UNPROFC7 J& y! e6 F  [( P0 W& b5 i' f
  58. LDA $FC
    ( u4 ]3 B9 f3 r; `6 m8 R) P
  59. STA $7EFC) S/ ~5 F) T$ x% O$ X5 `
  60. LDA #$007 |. r1 j0 W0 N; E' ^1 i
  61. STA $FC
    6 J" i% _4 ]  e3 n+ M
  62. UNPROFC:
    + F+ c0 z$ B: V" v# |; {* m
  63. LDA $FD
      i% I  R) G; \# e
  64. STA $7EFD2 i) U! w/ b0 \  O$ j
  65. LDA $FF
    2 c: S& M* S9 t* M4 U' z8 F. w
  66. STA $7EFF% g; h+ _  V1 C# s! W; S
  67. LDA #$001 R. i( e+ y2 w6 |) f
  68. STA $FD3 D) m9 c4 [2 w
  69. LDA #$B0& U2 f( S7 R6 S) B6 Y
  70. STA $FF
    1 b) ^& w% a; t3 {4 L# w; c
  71. LDA $07C1
    / l& T8 D4 b  t3 L6 @: y. N1 w
  72. STA $7FC19 d: A' `. ~2 G% k
  73. LDA #$3F
    1 i3 C, h2 h: s+ Y
  74. STA $2006" |0 F/ I0 H/ p5 r/ K5 K- j
  75. LDA #$01
    7 G4 V) {4 X+ Q# G0 B
  76. STA $2006
    1 Y, l+ Y5 e4 W8 m1 M: ]' t' b
  77. LDA #$24
    / x. M' v& ]$ _# T; K; A  X
  78. STA $2007
    6 b6 F; _; i' `; p5 |
  79. LDA $07F6, m9 M# c: ]  d. s5 p) p; q2 |
  80. STA $7FFE
    - K; l1 h1 M& O( Z
  81. LDA $00FE5 K7 Q* y9 t' \
  82. STA $7FFD
    & W* u: Y8 G8 G. m1 I! L8 |
  83. LDX #$00( {, B3 S: p# W: E! x
  84. LDY #$00
    / Q1 M; u  v6 E1 m
  85. LDA $BD
    ( Q. E+ L  F  Y( \  m
  86. PHA
    % z( s# N+ Y1 p. x
  87. LDA $BC
    6 _0 f; ^0 s1 _; y: M9 y! a! k& \& o
  88. PHA3 \& G, ?( _0 z. W( X& [
  89. LDA $BB
    * u- ]" Q8 ^0 {+ o4 [* Z
  90. PHA
    ) z5 F6 y4 x" O( D
  91. LDA $BA
    4 O+ x/ e- J2 B0 s2 [! X5 n. j
  92. PHA
    " m% S$ t& \# {* B' \9 X
  93. LDA $B9
    1 z: C- {& p5 C5 P
  94. PHA- d& R& V8 S" T
  95. LDA $B8
    0 D2 V- E: o4 f0 I' g  Z
  96. PHA# f' H+ I2 ]" k3 R/ _
  97. LDA #$00. d; ^  |! [9 z* T. f, O
  98. STA $B8
    & l3 [5 g1 G7 u. b5 D
  99. STA $B9  R+ q' t! Q7 J
  100. STA $BA1 `+ I) t2 s' a- X& q
  101. STA $BB+ V! q2 R- B* l. Q
  102. STA $BC
    . |9 W* ]6 n( j: ?2 w3 a9 }
  103. STA $BD
    ( `: z  _8 ], |9 n# ]
  104. LDA #$00) [+ x% @2 U6 h; K
  105. STA $BA
      P. P; c' G3 ?2 _
  106. LDA #$20& u6 I, Z0 c8 D3 v% b' `4 b5 F3 Y
  107. STA $BB
    ; i% K' g* M( Z9 w, G& O5 ]
  108. LDA #$00
    1 X# J$ z" p, v3 s
  109. STA $BC
    6 J6 O# d! H" _3 w- F, `; b1 C3 N
  110. LDA #$60
    # g/ K2 X. T$ E0 g' O6 g
  111. STA $BD6 m" s7 `$ w0 |% @5 o( }# a
  112. - Y# i% q2 p5 N/ }( h( z( p, G, X, B
  113. L1:                ; PPU复制0 ~* S. Q( O- j0 [* m
  114. LDA $BB
    ( @/ Y" L% [) A+ g3 N0 g' G
  115. CMP #$307 e$ s' L# x, i% g) `: _
  116. BNE L2% e6 w7 r/ }; V7 Q7 w9 I
  117. LDA $BA* p6 g# G/ o( K/ i* G; Y
  118. CMP #$00- a/ ^& L$ Y7 ~! Y6 z7 A# l
  119. BEQ PROADPLA
    % l4 k& e* [. p/ u
  120. 5 l$ i" G1 c0 L/ E
  121. L2:; X; H$ ~/ S3 R- p* i& a
  122. LDA $BB
    1 T+ _; |# ^* `% e: y
  123. STA $2006
    % n# v0 p- Y  W1 B7 ^% h8 p+ B6 y
  124. LDA $BA+ S: N% _1 d  y+ {' }
  125. STA $2006
    # ~" {1 h! W9 l! G+ N
  126. 9 G- m- n/ ~& v' \& `1 q( f
  127. L3:
    : [# B1 U% U; O* z9 Q* f9 y4 H) L# p
  128. LDA $2007
    $ H+ o# E& `, m
  129. LDA $20075 a* s) o. c8 u$ U
  130. STA ($BC),Y
    7 l2 O& E6 S4 p8 T3 d, h* s
  131. $ W: R) O3 g: x  {2 u
  132. L4:6 S( @0 ], c3 a+ E) w
  133. LDA #$00; M: T' ^( O, \2 B7 I+ B3 Q% V
  134. STA $2000" V3 q: p5 H5 e* X+ @
  135. INX  E: d4 @  ]8 N/ W  Y* Z
  136. INC $BA
    0 }: R+ q/ `5 {6 Q. G2 J) _: s4 A
  137. INC $BC& s( c5 c) a+ ]. i& A, g
  138. CPX #$00. }# E( t1 x+ h$ |
  139. BNE L1
    $ h, O& f( a" k( @
  140. INC $BB
    $ x; k7 g4 F# f2 o
  141. INC $BD5 }" a0 P3 i! m# m6 X& m
  142. JMP L10 M7 m5 z- A% q5 M
  143. / e" N7 i$ ^9 N" s" C: k
  144. PROADPLA:                ;出栈/ A) h( Y0 R7 L& e! n
  145. PLA3 g( m# ~; H$ o3 U. [
  146. STA $B8
    ' ^. _. I* Q  q1 d
  147. PLA& S2 r% E& h6 O% @8 Y, A0 x
  148. STA $B9( c3 J, w- Z8 G' Q. P0 }3 @3 g) {$ l
  149. PLA
    ( e9 u+ j4 {+ W5 C: R* R
  150. STA $BA
    . w! g1 p' g" {; A
  151. PLA8 I$ C+ ^% e" e6 h- Q" P$ R8 u
  152. STA $BB9 }) C% r3 L8 g% \' q. A
  153. PLA
    ' y) Q; x/ i- }" R
  154. STA $BC
    ) N6 T- `1 Y9 r! {
  155. PLA8 W8 M! [1 y7 t* e8 I0 ~
  156. STA $BD
    4 w, ^  Z! a& Q
  157. CPRE:' i# T! _* F, K$ ]0 J
  158. RTS0 p! S) k5 a8 W/ a# U4 I
  159. 9 k5 }, y: \  u" S
  160. CLEANA:                ; PPU清空& i/ P: O  b4 P- K$ {; P
  161. LDA $BD
    8 Y5 |$ x4 W' o1 q6 p6 B
  162. PHA) q, c9 l7 ~; \* R- ~
  163. LDA $BC
    1 U2 h- x0 B. `5 _- o
  164. PHA# ^  P& E/ I6 f" `  K
  165. LDA $BB
    % D  M4 @2 \8 ^
  166. PHA
    $ r! q4 i4 z# h6 T( p
  167. LDA $BA+ G( i' ?& ?4 I% O( r, n6 W9 `
  168. PHA
    ) X% g2 a% h# `
  169. LDA $B9
    " u$ g2 m4 c% s1 Y/ d0 M/ A. m4 A
  170. PHA7 o0 t# t" ^" U
  171. LDA $B8) M2 A4 `0 D( k: D8 ?: `4 {) Y
  172. PHA- G$ L( |& Z0 D6 }) h4 h% |
  173. LDA #$00
    * N/ V/ O. i( M+ F6 M' z5 t
  174. STA $B85 Z( [$ m6 _* }4 k" J7 k2 ]4 {9 L
  175. STA $B93 c+ n* q. A  b4 ~
  176. STA $BA
    % \& D: ]$ M& [5 l7 I  @0 t7 n
  177. STA $BB. W+ b8 r8 x# {" ^
  178. STA $BC6 A) ~4 q- F9 \- ]! ]
  179. STA $BD$ w' o2 U, W3 `4 R  p
  180. LDX #$00  X" t6 t  P; [9 [
  181. LDY #$00
    3 I8 p( [, }: h7 p
  182. LDA #$00: d7 v7 z  L% d8 S1 R/ u, X
  183. STA $BA
    0 j1 V' k3 i; f* Y
  184. LDA #$206 B' N, P6 P) H* ~4 i
  185. STA $BB5 X' }9 D- [. _; ~" i( y  g
  186. * M: B$ F5 Z9 T. _# l
  187. CL1:3 |; D0 Z+ N! E8 R" c+ |
  188. LDA $BB
    - z' k( S  y" ?3 G0 p  J: Y# U
  189. CMP #$30
    4 U2 N& d' n: C3 X- `
  190. BNE CL29 e1 V' O. A* t; K2 j
  191. LDA $BA
    , S2 P4 N! _! w% M) S4 l  v
  192. CMP #$00
      N( y- e/ [& {: \2 t# K
  193. BEQ FREEWRIYE: N$ O! s4 o$ I5 M0 K

  194. 4 C- X* K; A6 j: D- r  A+ h/ b
  195. CL2:7 F9 G* X: U, ~
  196. LDA $BB
    ) b5 D  o' r& y9 P/ Q
  197. STA $2006( y, u; e- r2 ?4 ~# o: r8 u1 M; P! [
  198. LDA $BA
    5 E* j, X  L; R$ N
  199. STA $2006
    8 v) I" w. h+ E% x6 u: ?; G/ E, {
  200. , z) y$ R$ I* a! {
  201. CL3:$ u# u- P" T4 E! j5 C
  202. LDA #$005 p% k! h/ j- h
  203. STA $2007
    - {. f1 q6 @2 X

  204. ; L* \, [3 {% t* v2 q. Q7 a
  205. CL4:
    - b  l* I' x* y( `" c" L. `) P+ o
  206. LDA #$00
    ! c+ A& S. H; L. k7 h
  207. STA $2000
    3 c; g/ ^/ L" `* Z6 n, V# i2 J
  208. INX# a: C! M6 h; v: S1 n$ w
  209. INC $BA8 t0 V6 U/ N4 J: s3 J9 r
  210. CPX #$00
    % s, B. g; p( r7 ~0 z2 l8 F( _. G
  211. BNE CL1( c+ z' V. k/ S+ e; F: f
  212. INC $BB
    , e( x" }7 a  Z
  213. JMP CL1
    ! o7 X# k0 O( H3 b

  214. & Z! v' t" N/ K# A. t; f
  215. + J! U; s' w9 N9 q  j. X# w9 g
  216. FREEWRIYE:
    " h+ {0 d$ n+ ^! i2 p
  217. JSR FREE
    , l5 p  \" A4 r, ~! o  V& X; _
  218. & h* z, S  P3 `% p
  219. 7 |" q5 K+ p& ?) B
  220. 2 ^$ _4 U+ X( L. d
  221. ; r% G. c& e! [. e  a# I, j! j
  222. " l& X. q* u8 }, [* x% b/ r1 _
  223. CLEANF:                ; 恢复现场' R8 A+ m' d: c5 C
  224. LDA #$08  o; E* h2 u7 F' q+ W
  225. STA $FE0 l1 E+ ]; w* G+ x  H
  226. LDA #$00
    ) w1 y8 |1 r+ X  G3 S$ R( |: s
  227. STA $07F6
    - I- M$ k1 V) d  L4 d: s; ?
  228. LDA #$24
    3 b# w- Q/ m# m3 T
  229. STA $7FC0  d* }4 {+ c. M: U+ i9 n
  230. PLA
    6 @8 I3 ?7 y8 Q; T4 O
  231. STA $B8, c% \4 c% ^- l- I# p+ N* G# _
  232. PLA1 U' ]2 d$ ?1 m4 [3 c: c1 v4 |
  233. STA $B95 N6 L: Z1 @% P3 f1 g8 c: B
  234. PLA5 z+ ~7 E9 z. `+ G& y' n, @2 s$ ^* g
  235. STA $BA* u, _5 G) s* `! \# y
  236. PLA
    ( J- I" h+ ^4 J0 u$ c
  237. STA $BB
    % Z) |1 n! V4 L; S2 S1 R, D- g% P
  238. PLA# u; d6 e  p/ n6 H& O  R
  239. STA $BC
      s0 V6 M' }6 a  X$ H6 O* P
  240. PLA
    9 X9 c7 f4 w/ V# z: T
  241. STA $BD  M: _% w, |  x; x9 h
  242. CLRF:+ ~  N* H4 t3 Y7 C* _1 _
  243. RTS
      p4 a" ^2 L, f

  244. ( {, U* E. k3 d! o  o
  245. W_DATA:
    " P& M/ G8 |$ B
  246. .BYTE $00,$01,$02,$03,$04$ B6 z7 {& O- N3 D# Q+ P- R
  247.   ( r' L# x( r  j  f
  248. W_PPU:( `" Z4 Y' A4 [# v1 i- G
  249. .BYTE $98,$97,$90,$9D,$96
    * T) z6 @% A+ k4 _
  250. 7 i9 O' u: o7 j' A5 c. |! G
  251. P1_STRING:
    5 R1 I# }$ r! m! l- L$ l
  252. .BYTE $9A,$82,$00                ;"P1"6 {: a, i1 x7 B: v, p; |- d  T0 B
  253. / c* z' k5 S* m5 h2 u0 G( h
  254. P2_STRING:
    1 m6 U/ k2 z3 @; _- v/ O
  255. .BYTE $9A,$83,$00                ;"P2": m5 ^1 q% j% x1 D; r

  256. ; E" |9 D. N; W1 ?6 n' q8 B
  257. WEAPON_STRING:5 G2 i) ~# Y0 Z( K' l* i6 z% a# n9 w
  258. .BYTE $A1,$8F,$8B,$9A,$99,$98,$00  ;"WEAPON"
    ; n3 r( D. j# t7 o' k" j" |
  259. 5 r# f" }+ h' W$ j* m
  260. RELIFE_STRING:
    8 O+ U/ [9 s0 l  G6 d
  261. .BYTE $9C,$8F,$96,$93,$90,$8F,$00  ;"RELIFE"- n' F6 Y0 S+ g" l

  262. " k3 U) m7 L9 G4 J; @3 a( l
  263. P1_PPU:
    # D# f! z$ l5 D# p+ _% Q; }
  264. LDX #$00
      a' |% ~- |7 `
  265. 4 m3 Z. J$ H# F& F5 j! S
  266. P1_PPUW:3 p0 p% N& ]' F6 H
  267. JSR PPUADDR_PROCESS, Y5 i: g0 u% @4 D7 x$ X3 V, D
  268. LDA P1_STRING,X
    8 @" z; k& R; S5 K9 {
  269. STA $2007: {( X3 }6 p; ]! ]7 n/ h* q
  270. INX% e4 x, S2 c8 k5 p  I
  271. INC $BA4 a+ O5 o* K+ g
  272. CPX #$03- c: N; x: G0 ~
  273. BCC P1_PPUW  e* s7 X, `. x! j: H( v' ~1 {
  274. LDX #$00
    5 k% y1 P4 \6 s8 o7 R* I0 v5 g( D
  275. RTS) P2 q4 R0 F) e
  276. # Y7 Y% ~+ s1 B0 u8 s1 x
  277. P2_PPU:
    ! t+ ?9 f3 ]* H; i  Y
  278. LDX #$00
    5 H( T  b: D0 Z3 _, o
  279. 5 V; E( b1 Y! ]5 t" n* O
  280. P2_PPUW:$ L3 ?$ m8 w  P4 z* f" J/ Y7 C9 p4 t
  281. JSR PPUADDR_PROCESS8 z( J0 F$ k1 Y: J2 [2 g
  282. LDA P2_STRING,X
    / O# D, u0 F/ K: r
  283. STA $20073 R6 Q" W5 V" W, Q/ A5 J8 M/ E
  284. INX
    3 u* M# }! A1 S9 D' e: Q. x
  285. INC $BA! I' Q/ r$ c5 F2 U7 {
  286. CPX #$03
    $ ]7 E6 O4 K5 a+ E4 k, b
  287. BCC P2_PPUW5 w5 e) g  m8 S
  288. LDX #$00* |$ {, q0 y4 S4 V1 ]6 z! M7 ~
  289. RTS
    1 s5 S1 \; K; z3 P
  290. # u# M2 P' ~1 t$ ~9 V
  291. & a1 q5 {2 u  z" \% \6 w
  292. LDA $BB
    1 N6 c$ A& I' }+ {1 D: X7 [% c. R
  293. STA $2006( H4 S0 z- K+ T: F* Q
  294. LDA $BA: }# K5 E7 M3 U
  295. STA $2006
    9 _" b2 M( @6 r) R9 B
  296. RTS
    ' g  z3 ]3 I. W1 ]% e# U
  297. 0 l. P2 i" |: A. a' k6 ]- m7 Z9 ~

  298. - u- L1 ]; l% ^" `7 w' x

  299. & f& J1 Q& [  g! B" Q
  300. PLAYERLIFE:% |  }# ^( a! o( x; d
  301. JSR LIFETODEC) f8 _, v3 c! h) w4 N% E& n0 `
  302. LIFEPPU1:; X% ~6 |1 `5 r! j
  303. LDX #$00& m' |6 Z+ H" N$ T. o0 u
  304. LIFEPPU1RE:* t2 u3 @, k! @5 k
  305. JSR PPUADDR_PROCESS+ w$ T- }' v% i1 I
  306. LDA RELIFE_STRING,X
    % [4 h6 m' R7 @: T7 m7 _/ L7 G
  307. STA $20070 z5 D9 ?* P2 Q# c4 ]6 ~( M2 u
  308. INX1 F. K/ d+ c" g  d9 P7 H  H8 N
  309. INC $BA
    $ K5 A2 U1 h. U! ^
  310. CPX #$07- y/ v- d' d( [7 F9 q# Q$ l. H
  311. BCC LIFEPPU1RE, W7 t2 m7 \' `% j: F

  312. ! G6 [. v- `# m% m
  313. LIFEDEC:                ;生命显示写入7 a/ G+ O8 x! ~, m% N7 x
  314. LDX #$00
    : d+ |! N3 P- f3 |) F
  315. LIFEDECRE:. I& I. O+ \. L7 n: l
  316. LDA $7A03,X6 ]  a* a: |9 n. A! Y1 A
  317. CLC: w5 A; C- S( j# K' R
  318. ADC #$81
    0 B5 o5 D3 Y  y# q% d+ ]
  319. STA $2007
    7 _; z0 F. ^9 O: P) x. f3 E* r
  320. INX( {' t( h4 A& L0 C1 c
  321. INC $BA
    8 ^4 Q/ |2 ~1 i( ?% u# T
  322. CPX #$032 m9 D5 G# f  {- ]) U
  323. BCC LIFEDECRE
    - I/ L' v% [  Q  ], r! {4 `
  324. LDX #$00% a  d+ ~7 [' I; A  e7 a
  325. RTS
    1 m, p2 t1 S. I5 r& W$ b
  326. 6 N1 s6 ]4 w5 |& _" C- q5 [$ L0 n
  327. LIFETODEC:                ;十进制转换+ r  R; `* R/ K/ g& z5 S! b
  328. LIFEL1:        ;initialise, T1 Z2 c9 q' ?0 D
  329. STA $7A00        ;$7A00=F3, w+ Q" x" g7 T7 t! e, N
  330. LDA #$00
    6 Q( @& ?- O9 f# ^- D
  331. STA $7A03        ;$7A03=000 i' N; _7 R. V. B8 M. l9 }
  332. STA $7A04        ;$7A04=00
    7 N) U6 f# e5 Z- L/ g  Q7 T* w
  333. STA $7A05        ;$7A05=00
    # m. r1 ?+ V0 f! T) v# M
  334. LIFEL2:        ;copy data $7A00 to 6001
    ; C( C  N4 a, f* O; W% X
  335. LDA $7A00% f* x0 d' m; b0 T3 b; i! B
  336. STA $7A016 u* o2 z  k; Q* q$ |

  337. 6 [/ x/ `' R) t+ `$ O' y+ B
  338. LIFEL3:         ;hundred$ P& @8 _$ r5 K9 o# N" ?& d
  339. LDA $7A01
    6 K6 g; D4 |! _7 ]/ A+ z
  340. CMP #$64
    # P4 ^2 u0 L& \) c4 i
  341. BCC LIFEL6                ;$7A01<100 goto L6
    . b9 t( c0 H2 [3 n
  342. LIFEL4:
    ) s  x' D  K4 L5 z' i5 e
  343. LDA $7A01
    & K" C. t, k. J
  344. SEC
    3 J: ^: |; n: m! e% U
  345. SBC #$64        ;$7A01=$7A01-100
    9 v. n0 ?2 U8 P7 o4 T9 v1 J) i$ Y2 i
  346. STA $7A01
    8 M, m8 H; [# u6 q$ m  L
  347. INC $7A03        ;hundred++) [4 K; Q  j. d
  348. LIFEL5:7 l: \6 l7 u& n. ?
  349. LDA $7A01( K' Z" }+ z' c
  350. CMP #$64! n' z! @2 W6 ^! U* p
  351. BCS LIFEL4                ;$7A01>100 goto L4
    3 @" M  Q2 e  V) s  M

  352. 1 g$ z/ D7 c* E6 G; F- {
  353. LIFEL6:        ;decade
    " ^4 y3 w" g0 T, w: p/ a% E! F
  354. LDA $7A01
    . |$ d# I- }- z0 V6 J4 M1 Z
  355. CMP #$0A$ {8 x4 R5 {# M% F6 W
  356. BCC LIFEL9                ;$7A01<10 goto L9
    1 [/ s5 a, t( y
  357. LIFEL7:        * |* E2 {, k: ?' h" E$ f- V8 N
  358. LDA $7A01
      K6 }* C! C0 b1 `7 d/ l1 J
  359. SEC4 `+ s; c+ T4 \) U/ i' e) [  W7 I
  360. SBC #$0A' W9 g- w5 n1 q6 B# ]/ B; S- q& I
  361. STA $7A01        ;$7A01=$7A01-10
    1 M" H; d/ ^) N
  362. INC $7A04        ;decade++
    ) R1 D( |! @4 `+ w
  363. LIFEL8:9 F+ b" z. \  \, d' e
  364. LDA $7A01; G) T1 s8 ^$ V4 J$ A9 K# u% t
  365. CMP #$0A
    & g0 l: Z% j' Q2 Q% B7 ^
  366. BCS LIFEL7                ;$7A01>10 goto L7
    5 b0 ~5 X) z+ L3 {) l5 }( p/ ~
  367. ;unit1 w# _6 H+ d% K# j9 U" P
  368. LIFEL9:
    ( j$ i+ Q/ }  U) x% w  i
  369. LDA $7A01        ;$7A05=$7A010 {9 q+ y; S; N2 g) }4 C1 T. e8 f
  370. STA $7A05        ;unit- P' F  g9 L# z9 V
  371. RTS        ;return8 X& i$ V0 a, E) h% \

  372. ! I6 n) X, f3 e) Q8 Z  e
  373. 2 Z) i5 X# t0 q, L7 O/ H  j; m
  374. # b) L% x( J! m' q  x
  375. WEA:                ;武器ppu写入3 s% m1 j) V( j1 \' d0 O3 g
  376. LDX #$00
    + U$ ?4 N$ k9 F/ L
  377. WEARE:
    * q  j: r& W; I; {0 V
  378. JSR PPUADDR_PROCESS% ]- A# P9 B5 G/ ^% n7 Y
  379. LDA WEAPON_STRING,X' i% g2 m4 k2 \6 S2 d4 N
  380. STA $2007; r7 h9 |8 H& k
  381. LDA #$00
    ; L  l4 E0 Y, r7 Y; D! D
  382. STA $2000' k6 G( D& _2 S6 D' N9 C
  383. INX
    : I# s1 |4 G+ u- {  N
  384. INC $BA
    # s$ I. l5 T, T9 r: G; c9 X7 n
  385. CPX #$07
    8 k- U! Z5 y2 `
  386. BCC WEARE
    4 f- w" T/ Y: K2 p& \

  387. / c5 ^. s& s' H# G
  388. READ_WEA:
    ! g- v) j6 ?" h0 Y5 g
  389. LDA $B91 R% F3 a1 w( \! q6 P
  390. AND #$10) g: I" M( |+ w. _
  391. BEQ NWEA9 r+ G; L0 T: T: G  M" t
  392. SWEA:
    ! j7 N# v9 p$ M" v

  393. / U; m9 I. k  N# k8 a7 e
  394. LDA #$9D7 Z$ _9 k& Q% H4 Q, u; c
  395. STA $2007( I  }1 P: I/ |" a4 R4 K
  396. LDA #$006 R0 Y2 Z7 {9 S
  397. STA $20006 c0 K, p; I1 H% e! x+ V2 H2 z
  398. INC $BA1 ~( k; A! ^& N: G
  399. LDX #$00" O2 C+ C' o0 r1 l! x: D( y. W6 m
  400. JMP WEAREAD
    : `- V/ o6 P% @. x
  401. NWEA:
    ) k/ Q) n5 w* S$ ^
  402. 1 o0 [6 g9 A; z# R
  403. LDA #$8D5 Z; l- [3 j0 T* T. c( `
  404. STA $2007& q$ Q- G& e* g/ J) `- ]8 J  ~
  405. LDA #$00
    5 `3 i) ?/ `+ X
  406. STA $2000
    9 Y$ e5 O6 A5 X0 a( K- {& W
  407. INC $BA
    : v$ s. D2 I7 H0 O) o; G9 I) M1 j7 D
  408. LDX #$00
    - z, P; b$ v: u6 p2 R
  409. WEAREAD:
    8 B# ^5 V, V# h+ f# {
  410. LDA $B9. w% s/ f( W/ `8 c( U
  411. AND #$EF
    4 m. x4 g8 B6 U8 X4 x- p
  412. CMP W_DATA,X! H# L4 [! q6 q- ]+ v" b6 X
  413. BNE WEACMP
    2 f5 N! U" ]9 L

  414. + w$ g- W4 J5 q) h
  415. LDA W_PPU,X# o0 l+ g" y% k+ m
  416. STA $20072 G& S& O" g1 S# b$ E! y
  417. LDA #$00% Z9 Q& R9 A- A& Z3 I9 P9 Z
  418. STA $2000
    5 ~+ w# y3 |" Y1 X, ~/ g2 D& E8 |
  419. 6 ~4 @0 D1 B: w: G
  420. WEACMP:& b0 a0 G2 J, k+ N8 a( B
  421. INX# f! Z' u/ ~& {( S
  422. CPX #$05& h. x& R) C3 R
  423. BCC WEAREAD5 O$ Z) H! b5 Q0 q$ u* R
  424. RTS
    7 ?6 j% E4 ~1 H4 ]  |: J( g

  425. . k; I7 L: u3 Z$ X& ^: |

  426. : R; q0 I7 h+ Q4 @+ F3 Q& R: |0 K6 p
  427. PPUWRITE:- p- k7 R! p/ [) j
  428. PLA
    ! P  K: t; }3 I' c; l
  429. TAY
    ; h8 o$ J; M) N  @% z. ~$ F
  430. PLA8 _, |' X; Y; Y- h3 N' o
  431. TAX
    ! ?/ t5 p: X: d, ^9 f3 [& p) u
  432. PLA
    * s7 w" V0 D7 `/ I) X
  433. LDA $25% D; n) f: g0 G
  434. CMP #$00: A- K  _, L0 [
  435. BEQ WP1; P  V6 }9 S2 P( g# F
  436. LDA $25( J" X  P# r) p
  437. CMP #$01
    3 J! d# N+ C( K/ J) @! U
  438. BNE WRE
    1 U8 X- A6 M3 P. ]& m
  439. LDA $F5,X" c& O2 X6 |3 \6 _
  440. AND #$EF. {2 G6 N$ D& @7 u& ^" p
  441. BEQ WRE
    9 ?& b9 L, P, s  T5 z' K1 {& ~
  442. LDA #$00
    ; \' h3 e" u# L# Z; R; h0 G# f( L
  443. STA $7FA0$ h; k6 R8 ^" O; @* m2 H7 m" r

  444. # j) b) q# c) j% Z- H- ]
  445. WRE:
    , F- ]7 h0 s4 a8 z5 Y: X  V7 o
  446. JMP $A000
    0 O' }7 H1 ]7 k- A9 U3 j
  447. ' ~" }% W, U9 n" O
  448. WP1:/ h2 o% S- l* M) ?. v3 t
  449. LDA $7FFF
    ' Z/ d' t8 e! T% M+ R
  450. CMP #$FF+ Q$ k3 @- d2 y; P$ v* K# O
  451. BNE WRE& M9 i5 z& J$ g% T4 |3 R' k
  452. LDA #$006 }3 w7 k- C  p8 Y
  453. STA $2001. `# }' j1 {% \0 g
  454. LDA $BD
    2 t) g( c/ P# f% v: C1 H9 V9 `" t
  455. PHA
    " X& @' X! B+ \: I* @
  456. LDA $BC
    ! m! m& i- i8 `  q
  457. PHA5 m! V$ A0 W! s2 L9 L
  458. LDA $BB
    : P+ W2 ^: ?3 M9 L0 ^" `. B3 ~) T( a
  459. PHA
    , q; G' \  a/ }" p) R& a
  460. LDA $BA6 S. x: o5 O; c% P& H' z* L
  461. PHA% B3 e: z4 O3 S6 B: I
  462. LDA $B9
    3 K; D5 @+ j, ?2 \
  463. PHA, o& S. B+ F: q0 K* r
  464. LDA $B8
    " b! t2 v% n. T7 u; O, V
  465. PHA
      h7 H  P+ F" b8 S: {% n
  466. LDA #$00* B& K- e9 g& B
  467. STA $B8
    . l5 e) `4 U- ?: P' Q# A
  468. STA $B96 C. B" y5 K  @/ `3 R
  469. STA $BA5 J' k+ m/ E2 x7 b
  470. STA $BB
    # k% k" a1 H3 L, U
  471. STA $BC
    0 z! d) V$ ]1 ^, j1 I9 E& p8 z
  472. STA $BD
    0 q; u- |' t* l! p7 ?! u
  473. LDA #$00+ A& l& @; X" r) ^( w- V. ~& [% C9 Y* \
  474. STA $7FFF
    & Q& ]+ L% o- [& k
  475. LDA $30" l, D$ K6 s6 g! d
  476. CMP #$02- Z2 S( Q* T! i+ E. s& i3 R2 d
  477. BNE UNPROCPL
    " F* W) j( ?' m: C) f: \) f5 V
  478. LDA $7EFC" E; L4 o1 w9 W9 g7 V) W% \0 l' d. U
  479. STA $FC$ r, f8 V6 d, X. F. N
  480. LDA #$00, G( _. q; I5 E" c7 c5 {+ n0 j9 o
  481. STA $A42 a7 F# E1 C) k' i
  482. STA $A5
    . C$ O0 G* b8 F% E7 e; o
  483. UNPROCPL:
    6 y6 H1 z/ \" V( q: U5 e2 Y$ \
  484. LDA $7EFD
    2 |1 d4 c3 k, @3 E# \
  485. STA $FD; x# [7 j9 w* [$ d
  486. LDA $7EFF& w. `- S, o) z( L6 B) D& L
  487. STA $FF
    1 Q$ k9 q1 U; }5 ^( j

  488. / S' b6 D' m" v+ }6 n+ _$ i* x
  489. WL0:  E; e. Y: Z! a1 l( Q
  490. LDX #$00
    + `  ~; p" X$ Z+ x( w
  491. LDY #$004 @+ [9 J- s8 J: k" P+ i$ T. V
  492. LDA #$00! S, L% v" d. d& ?
  493. STA $BA, g, H- G( l3 q* [( }4 A: T
  494. LDA #$20% s0 E8 b9 W, ^2 N3 }* [0 q3 R
  495. STA $BB
    # x/ u, F! Y6 F1 R. Y, W9 E% \" m
  496. LDA #$006 _4 Z& p3 ~% D' l- j% @; T' n
  497. STA $BC
    1 s3 ?5 V3 u1 C- \' X' X9 A* _+ e
  498. LDA #$60! B2 I/ _: k' S3 x" A
  499. STA $BD/ t* M6 H6 M% b; I
  500. 0 p" @6 s6 W: x: J  P4 `) Q
  501. WL1:
    ) b1 A: Y6 C. Q, C) g& A0 B
  502. LDA $BD
    7 E6 }9 ?  j( u0 b" ]& L7 {( @
  503. CMP #$70( ]4 _! @, z- B( R& b
  504. BNE WL2
    9 h# `8 X4 R5 @
  505. LDA $BC
    9 w9 O7 p- X1 p* p. x
  506. CMP #$00
    / y5 S0 n4 E0 I; q7 n% _# F; L- G
  507. BEQ WLR
    ) H/ b) o$ ^" f

  508. 9 ~. k' T/ Y, w# d, n" _
  509. WL2:
    9 H" K! H7 J4 ^8 |( L0 e: i
  510. LDA $BD
    9 p& V. W: r* W3 f2 _7 ]  C
  511. STA $2006
    4 s: I5 ^: l" Z" W4 z9 Z
  512. LDA $BC
    4 Y; [' f+ e, z/ T' \& C
  513. STA $2006( O, w: F8 m. h4 K: Q" O" E; A
  514. ! L; Y1 S- `  Q& n
  515. WL3:
    . y8 D4 t: A( O' t: b6 j7 g. f" ^* g
  516. LDA ($BC),Y
    ) V; w, e) a1 U1 `0 o3 S1 g1 z' d7 M
  517. STA $20078 F& E6 O; M6 U- K; ^6 H, ?0 x

  518. 0 ?' F* G% U8 i( ~2 s
  519. WL4:
    ! n$ A* U7 }( R+ ~/ u( A
  520. LDA #$00! {6 H3 [$ _( q) r( @; I
  521. STA $2000/ e; \$ b: B' {/ w! Z6 v1 U
  522. INX. L2 `/ C7 j* i0 ~/ A9 @
  523. INC $BA/ [( h+ [$ N& l
  524. INC $BC- V6 W. o& n( }$ U4 ~
  525. CPX #$00
    ( ^  D9 `. z+ N
  526. BNE WL1! Q) V3 y- o& |
  527. INC $BB
    5 V* \5 t5 ^5 |# m# e
  528. INC $BD
    1 i) t7 J& Y/ Y1 s3 Z
  529. JMP WL1
    7 a, d7 E1 |+ ?( o. [% P. r8 B
  530. 9 Y  _$ K6 k+ f6 _9 S
  531. WLR:  U- y. b- B$ R4 K- [
  532. LDA $7FFE1 n; y4 A/ J" X, Q
  533. STA $07F6# G7 U0 J2 X. N) j$ `+ k5 Y7 P" _2 V. G
  534. LDA $7FFD
    ; u9 y5 x  s- I* q
  535. STA $00FE) ]" f, k5 ~) {+ m0 |+ q
  536. LDA $7FC1
    . q5 f2 R1 r% Q* }+ c& d; Z
  537. STA $07C1
    $ w: f3 ~4 h# \1 m, {5 q
  538. LDA #$3F
    " C/ j2 x) d( D+ R! I% {
  539. STA $2006
    ' s2 V& d4 {7 y! t7 B
  540. LDA #$01
    1 ]7 u# v- g% A: c& _  ~
  541. STA $2006# e4 U& Q5 ?& I" Y, E0 x
  542. LDA $07C1. y0 ~# V* W% A2 I
  543. STA $2007: o) l# g% V2 g- F: g
  544. LDA #$00
    ( F6 e4 H# j6 p- L' G: r  A
  545. STA $20007 M- A* L* h$ ]# v; {7 K( b
  546. PLA
    + o9 b5 r9 f; r& c; }
  547. STA $B8
    2 i! }' O/ }# r- r( o3 e+ [% W
  548. PLA
    7 ~! O& o2 F9 C, e' ?) W
  549. STA $B9
    / r* x4 a+ Y8 ~* z4 I, b
  550. PLA: M+ B% |- o9 L5 V5 m
  551. STA $BA4 m3 K, ]# e1 y- N5 Y0 \
  552. PLA& @: k/ c% o  u5 u8 @- F
  553. STA $BB
    7 r- P9 U; _7 B8 {
  554. PLA
    * {% h( x* f6 y
  555. STA $BC) r6 @6 o, d6 a, I% ?0 x+ @' B' ~+ h
  556. PLA
    4 a9 E/ [# W! a2 Z9 c
  557. STA $BD
    ; F: v- J. C$ ]/ M; m) H% d4 [: C1 `
  558. JMP $A000& r2 e7 {7 J9 l- X, B! K2 J
  559. " @: @0 ^3 j' u* d$ s6 h, j
  560. FREE:                ; 暂存器保护
    ' {8 g2 M! `3 H. R, ?  [6 C
  561. LDA $BD
    0 e& k& N% g$ V/ M( N: j& d
  562. PHA9 a7 o% x* `0 [9 h, H9 g9 O
  563. LDA $BC6 m, r7 z4 y, m2 D
  564. PHA$ {# {0 g3 U8 n1 q6 u: V
  565. LDA $BB: P4 l, T* B+ z
  566. PHA
    " ]4 A& P/ A6 a0 L
  567. LDA $BA
    ! C3 N1 S7 v4 j% ^5 a1 ?/ b
  568. PHA
    5 H7 ]. z. ?' p4 W
  569. LDA $B9
    # a+ `" K$ N+ @& @6 K2 F. E
  570. PHA# f1 p! i' f/ j; T# _
  571. LDA $B8( }# a- g$ O6 @# \9 ?
  572. PHA( E1 b' _! K- U9 F* t" \
  573. LDA #$005 X( o3 B, K6 b. y% O' A7 P9 T8 _
  574. STA $B8
    # p2 {. ]9 U* {/ [1 i
  575. STA $B9
    ; p+ S8 ~7 i8 j/ i# J# C
  576. STA $BA% ^8 G/ p5 S+ G
  577. STA $BB
    8 s3 d) X( U+ \% x3 L& W, z
  578. STA $BC) C) _" D9 m4 X0 f
  579. STA $BD
    # c0 b8 m% h2 C+ S$ X+ _

  580. 3 t$ L  D& M8 `& K' A0 W9 W
  581. WEAWRITE:                ;武器ppu写入
      X7 @. W0 T, `; c0 z
  582. LDX #$00
    ) F6 d3 V1 W: @! f: [6 w
  583. LDA $AA
    ) _# ?# \2 K  i0 T( H
  584. STA $B9
      b7 x4 j, H6 O9 l! d
  585. WEAINI:                ;地值初始化
    8 D3 U, h% h. T+ d
  586. LDA #$A4! u' h! L+ @' y* g9 X6 i
  587. STA $BA
    8 ?  f7 c9 V$ t3 i. i, j
  588. LDA #$20
    ' I8 V- g6 L/ J. \9 Y8 C$ w  U
  589. STA $BB
    6 Z( D$ ~; A0 X

  590. - X( [6 @0 a. l, \5 {
  591. 9 Y9 R( Y, ^; h/ y5 z6 j
  592. JSR WEA
    7 ~' D3 O1 C0 w8 p
  593. LDX #$00                ;武器ppu写入
    ) G$ ~# r3 X6 i6 h+ Z# n
  594. LDA $AB
    6 \  s# k5 a6 @
  595. STA $B9) F, P8 r- u' l3 s5 K
  596. LDA #$B3
    1 |# `5 p6 D8 D2 L, ?1 G4 }1 y* r
  597. STA $BA+ E. _0 ]9 G5 z9 u9 w
  598. LDA #$20: t* ]4 \) Z6 _* d, W! Y8 W
  599. STA $BB
    , F& _( y- c6 y, j0 _
  600. 0 y# `+ N  J" R+ G3 T6 A' \
  601. * X/ R) |# P+ `' |( E! l( b
  602. JSR WEA: J+ @8 t! p  h& }1 t- X8 ]# M; R
  603. , h( p4 W9 q- ^4 R% a
  604. LDX #$00
    3 t2 `1 [6 h1 V# \7 \1 G9 D* n5 c) d
  605. LDA #$E4. a& e5 V  |7 ^) s3 ~
  606. STA $BA
    + y) `0 \6 E: I, w1 p9 n
  607. LDA #$20& N. N. K- v/ o  G% ~& M  O
  608. STA $BB
    ; H* P) K' g# }/ U

  609. - y% ~- v9 k# l# K, Y% V
  610. 3 S6 E( k2 @; i$ @% r+ B1 c; u5 E
  611. LDA $329 ^, @8 S6 c: p- ~1 l9 x7 j4 E
  612. JSR PLAYERLIFE
    $ p* m3 ]& U5 u

  613. . j$ U: R  S+ w3 h
  614. LDX #$001 e- _9 h, N2 z
  615. LDA #$F3( S. r' @/ S# v' r" u
  616. STA $BA
    9 W1 \8 P9 Y. g6 @( o  l# D
  617. LDA #$20% W3 P# Q7 U, h+ Y+ ]0 Q
  618. STA $BB
    7 R. }" J9 i9 a0 I
  619. / u. V! [; j# l4 V) l

  620. $ C) S1 T9 }, R$ z1 H+ e6 U, b* N
  621. LDA $33
    : D* e' b. m1 m4 s! q5 j5 E
  622. JSR PLAYERLIFE8 U2 M( y0 E1 a+ d0 B) {
  623. 9 z0 ]- c" V5 a+ z
  624. 3 k! y6 E2 h: o6 c& t
  625. JSR PLAYER_01_PPU0 h( \. K! [  x/ R% N  H
  626. JSR PLAYER_02_PPU) n" d% x6 T- j! R: H
  627. # D8 c: x( \; p% w1 ~  P
  628. $ x& W. X0 a% g
  629. JSR PAGE_PPU
    5 [# x+ b+ [& U' p" P
  630. JSR PAGESELECT
    ! Z5 ?5 l* f3 b# j3 J  ^" q

  631. $ D& b$ n, i8 j# N4 s, C

  632. 5 `6 J: m( m% K  D

  633. ; p& b( j3 T! j1 q  p+ z( C

  634. , y  i) w6 x! t7 i+ e2 M; E; A

  635. 4 L4 ^- k. {8 a7 w. d1 ^

  636. 9 g2 @7 ~, R. d$ a( f
  637. 7 a1 }) G. e9 D, U# v# V

  638. 2 ^3 f1 E9 W- E& n

  639. + l( n' A, c( r) M. k

  640. 1 T. A# A; P1 f- J$ f

  641. ' ?! j# B, e" j. V! a2 `1 z

  642. * W, }6 H* y# y6 i
  643. % S  i1 O) j, B9 l9 D& P" J; |- b
  644. PLAPRO:                ;恢复现场
    ; U- P2 w% {* d" {
  645. PLA
    + D: [; r$ B! o* V4 o
  646. STA $B8+ [4 ^* h6 h, \: g& b/ m4 K/ \
  647. PLA
    5 |/ S4 O3 N; L
  648. STA $B9. e; f- C8 U/ o* u& m. B. V
  649. PLA0 F/ F3 J; W) m5 c! ]
  650. STA $BA0 V) l; K) k) J$ M6 y
  651. PLA
    ) c* h. f8 T7 L- W
  652. STA $BB& h/ h0 `5 q* N! p; O$ F. V
  653. PLA
    9 x( P9 c/ w$ R; C1 C/ b
  654. STA $BC
    * w4 v9 L8 ~& p: ]1 s
  655. PLA
    2 y6 z: b* ^5 W# b
  656. STA $BD
    ' @1 v* I3 Q( a/ b. x+ e
  657. FREERTS:) ~8 R" j8 o3 [3 C9 J- S
  658. RTS
    / u5 q5 g* E& z1 N  K+ L

  659. $ R1 F2 m& ~* _/ `( }* `* e! F9 J+ f
  660. INVINC_STRING:                        ;invincible
    8 w( L) G/ k! w% w! p
  661. .BYTE $93,$98,$A0,$93,$98,$8D,$80
    / u; a- \: x6 q% D* n/ _. D- N* ]2 p

  662. / |" k7 L7 u7 w- E2 D* |. W
  663. INVINC_PPU:4 B0 R6 ~4 {2 N( N
  664. LDX #$002 h1 H" c6 _5 c. w3 l) [
  665. LDA #$625 d5 d% t; D# b7 \" @+ i& o0 l4 R
  666. STA $BA! W' M3 N2 Y& H7 r2 J) V) l
  667. LDA #$21  E0 M: E  B/ r+ {: g
  668. STA $BB
    : [5 l& z* b* Q
  669. : ?0 r6 O0 v8 ~/ e, R- a8 S
  670. ; \, j( _9 I7 k# F8 Y; V
  671. JSR UP_PPU$ d* E- D& Z; O% [: M
  672. JSR INVINC_WRITE2 S& \4 E- m3 o+ b
  673. LDX #$00
    * n( K/ y# B* C
  674. LDA $07A0
    # k5 x% I0 d9 i# N( M0 {
  675. AND #$01
    5 @8 U; D8 S" S! V9 \* y
  676. JSR ON_OFF_PPU% `# }0 u7 Q, g6 n" ], y
  677. LDX #$00
    " A! }' D$ q7 C$ M1 B5 u
  678. LDA #$71, N4 E, P- }; j3 Y! j' a6 E
  679. STA $BA- q  s- g$ ^  ~( S$ V. M
  680. LDA #$215 B! v% X$ Y% i# a" p$ `& X
  681. STA $BB
    ' [. ?- V( ?9 S* l+ B, q
  682. 0 `! k) j& Z; C, Y4 M

  683. 5 C; `8 c% F' d3 N! ~! o- H
  684. JSR UP_PPU
    % {# p) F- x8 |4 x1 m, B
  685. JSR INVINC_WRITE* m- e& |: V( t( X  n" o) X5 ~
  686. LDX #$00
    9 T4 L( x/ H" w; F( r9 j7 E
  687. LDA $07A1
    ! O- J( y$ L. x6 K) M+ p  D* I
  688. AND #$01
      v5 ~! I) x( N" ~
  689. JSR ON_OFF_PPU+ w  p3 [7 H& ]+ u# d# T- S
  690. RTS
    8 y/ b+ E1 C& t8 ~2 y$ E  f

  691. ( l9 H4 O! y& F
  692. INVINC_WRITE:9 e. ^  y* Q( z6 @* Q5 \& S# I
  693. LDX #$00: \# |. n) w5 u# t2 O. q3 K& N
  694. INWRITE:
    8 k9 n" g, ^# r# U
  695. JSR PPUADDR_PROCESS
    / K) h' u) }, {# a7 g
  696. LDA INVINC_STRING,X# D, G- _+ v! D7 d6 S
  697. STA $2007$ g2 q" s$ z$ U) e( A' B2 Y- M
  698. LDA #$004 K2 b/ y) L: }
  699. STA $2000
    $ U0 A1 H- W2 P* }
  700. INC $BA
    , o2 R: ?9 n8 L8 j; P
  701. INX4 w: E5 f# n; L; `
  702. CPX #$07
    3 K8 P0 P- U8 j1 ?
  703. BCC INWRITE7 t8 T4 t, T. ?, |5 u, c
  704. RTS
    0 q" L  t) D$ j& a
  705. ! C, i' q% J# Q( ^
  706. ON_STRING:
    ' F1 l, A- f  M
  707. .BYTE $99,$98,$80
    8 H3 M  a# w0 ]5 B% Q" I
  708. $ I) B6 @  j- ?. z0 y
  709. OFF_STRING:
    ) w, [, P2 z6 i9 a
  710. .BYTE $99,$90,$90) I% u& i) a0 c' L6 L' f! {

  711. 3 j4 t( y! c4 g" D3 n" G
  712. ON_OFF_PPU:
    - _' N( ]: b1 ^3 m
  713. BEQ OFFWR+ P. k& l& e8 T: B1 n" T1 \: e
  714. ONWR:) ^- l5 M! ?: K) V
  715. JSR PPUADDR_PROCESS
    8 M+ T% ]8 i/ m& S/ V1 l
  716. LDA ON_STRING,X2 J3 g* i+ D- n7 W; m
  717. STA $2007/ l3 b6 `: l# V# e' I2 B
  718. INC $BA
    / T( O( K' ]) U1 C) E  h
  719. INX0 y2 C5 H; l- W0 t% ^# w. D6 L5 d
  720. CPX #$03, [. s+ Q9 U" Y
  721. BCC ONWR
    " i3 ^) L# d# W, c
  722. RTS8 t% s( s3 v; V0 F& h# F; a( ^3 W
  723. OFFWR:
    2 d8 ]* n) y( C$ c
  724. JSR PPUADDR_PROCESS( i/ b# s3 r; ~% B! c) c, j- l5 @
  725. LDA OFF_STRING,X
    ! @- @2 e8 d: ?' R" p, a* |$ s
  726. STA $2007
    - C0 w) Q  Z& |
  727. INC $BA8 i+ \, f/ @6 g2 B
  728. INX
    ; v# w4 b; {' \+ `, E, I+ a, \, v
  729. CPX #$03' p6 O! T* m: A
  730. BCC OFFWR0 u' G. n# {! P
  731. RTS9 I& W6 b7 ^. `

  732. ; a) ]9 Y% R+ G* |
  733. LIFELC15_STRING:
    3 n! v+ W- J& N( c8 Y3 M
  734. .BYTE $96,$93,$90,$8F,$82,$86,$80- U, v! B7 ?% A, n& c7 z) Y

  735. 7 o1 r" {8 `  d" Y7 c
  736. LIFELC15_WRITE:; X* z; ~4 R! h3 q- k) z4 x. ~
  737. LDX #$00
    1 i  Z3 k, ^# U; @5 N3 O: q' ]
  738. LIFELC15:% M( W7 V0 N; M/ i3 {, V
  739. JSR PPUADDR_PROCESS7 q+ H) b. v7 }0 C& L
  740. LDA LIFELC15_STRING,X
    " ^( [  c- s) w8 ^
  741. STA $2007
    8 a: z6 {1 [3 {$ \7 T0 _3 c
  742. LDA #$006 M, ?9 [* q6 e) W  R5 B3 C
  743. STA $2000
    : N" }+ ?4 \$ O' u' H) T
  744. INC $BA' C7 ~- Z5 n6 J
  745. INX* g* u9 G& Y& X! G9 h
  746. CPX #$072 [: H' w# O& S+ P5 v
  747. BCC LIFELC15& N& T7 w" M. U3 w+ \3 V
  748. RTS. |9 J) T3 A$ g3 ~* `9 |
  749. . a% t' u! X3 ?0 ^$ D" O  D
  750. LIFELC15_PPU:
    ) F0 U/ d# [% F
  751. LDX #$00
    4 f; M- R$ `% H6 Z8 z
  752. LDA #$A2+ C3 B& u" e' l
  753. STA $BA; Q7 c" n+ t" p+ b
  754. LDA #$21
    . o1 n# S3 o3 `. E
  755. STA $BB
    ' L' M4 a: v8 e+ W
  756. JSR DN_PPU
    - U% y) r) C  \5 G
  757. JSR LIFELC15_WRITE
    ' P0 Y' ]5 j8 l( G& o# r5 n8 U' ^
  758. LDX #$00
    $ d# [. }. @, Q: n/ n
  759. LDA $07A0; t: E! {3 R' L8 ~
  760. AND #$02
    8 a# {' {8 f7 k! A
  761. JSR ON_OFF_PPU
      w& Y1 y8 @8 _# V
  762. LDX #$00, ]* J/ v& e) O2 z- D, S* R6 i
  763. LDA #$B11 u! k5 L3 j0 Z, z1 u) O# u' Z* A
  764. STA $BA
    8 k0 R4 \- v% K3 T8 T9 s- |- `( T
  765. LDA #$21
    # Y& v% T3 k* e# L
  766. STA $BB6 A4 B: _0 q5 L
  767. JSR DN_PPU9 R  X6 }! d3 Y0 S$ C
  768. JSR LIFELC15_WRITE8 [$ W2 T( H4 S! x
  769. LDX #$00- b" N- T/ K! D" i) U
  770. LDA $07A1
    : s9 M. T2 y1 L3 L1 x# \4 V
  771. AND #$02$ Z8 D7 U+ V% e1 I8 d
  772. JSR ON_OFF_PPU
    " d$ `" j/ V* e- R; f# X9 A5 Y
  773. RTS
    $ j  ^. B+ T3 i# h. G8 W3 N; P
  774. " w7 O8 U. `$ M- P2 w! B3 E
  775. DOUCON_STRING:; J2 F% T% \" u, I
  776. .BYTE $8E,$99,$9F,$8D,$99,$98,$80
    * d+ @0 w8 T0 {  q3 @) ~5 V
  777. ' j' O) L3 j3 G' i+ l; \/ Q
  778. DOUCON_WRITE:; k  y7 o3 I, g. h
  779. LDX #$00" Z/ K" I) R+ G6 t! t; ]! ]$ n2 l
  780. DOUCON:. W1 Q4 [& @/ Q/ O0 F
  781. JSR PPUADDR_PROCESS+ o( _! F* y, O( H' l9 S
  782. LDA DOUCON_STRING,X
    ; `2 `* }' d; X
  783. STA $20079 F1 a) g) U$ ]2 Y" W
  784. LDA #$00
    & y) x% f% I; b) N, r3 O( t
  785. STA $2000
    ' F( [4 N# ~. C* g  F4 |
  786. INC $BA
      O+ {1 {1 o$ V9 r# }" u+ U$ U: _
  787. INX  s* t5 J6 ?1 M( Q
  788. CPX #$071 r" m0 F3 h5 l5 V# m
  789. BCC DOUCON- |; Z( T. R2 w/ }# h2 m% o9 W
  790. RTS+ t2 a4 k9 u+ X$ c. H7 o1 l  j
  791. 4 ?* W& z. }+ x6 N& C
  792. DOUCON_PPU:
    6 k+ D" v) B  ]5 p1 N7 L% N! z8 `
  793. LDX #$00
    2 X& v; h& K& |: U3 T+ E
  794. LDA #$E2
    ! `' `1 ]- n* M9 c2 R2 {* B( e5 V
  795. STA $BA9 r* Z; s2 Q1 T1 B$ V1 i( u
  796. LDA #$21
    9 ]) B' `( _2 |6 R
  797. STA $BB- G( T* C4 e+ m2 b9 [* h3 ~
  798. JSR LF_PPU
    . P& @- F7 U" J- s
  799. JSR DOUCON_WRITE
    ! [% r3 L6 r2 x
  800. LDX #$00
    4 p4 k* \% Z* h5 V/ g) k! i
  801. LDA $07A0
    ' |- i0 a+ [) i$ W2 H+ J: ?
  802. AND #$04: g7 M# Z. ?& |* q: P
  803. JSR ON_OFF_PPU( j/ t! N/ X5 O0 s7 ?
  804. LDX #$00
    $ p: ^6 \$ [7 p) H
  805. LDA #$F1) W4 C9 _7 h5 I
  806. STA $BA
    ( g$ X) m4 F& [; J
  807. LDA #$21- f3 B0 P" v4 o- |: _7 ?
  808. STA $BB! W4 D/ {5 O. b2 i; n
  809. JSR LF_PPU, M5 C: b5 b- a
  810. JSR DOUCON_WRITE
    % P: L2 \9 {2 L% R
  811. LDX #$00) W6 j& c4 n* T* y4 O
  812. LDA $07A1/ U+ e7 J5 M" F( s" K  p
  813. AND #$04* \# O# U$ S& F
  814. JSR ON_OFF_PPU
    * f8 g- M" y7 l6 r8 B& Y
  815. RTS6 O' P3 u0 U5 G* |0 \+ i
  816. ( O1 T& H. L+ J) ?' u% i- D! P0 W
  817. LIFELOW_STRING:" f9 X& v: F' ^5 k
  818. .BYTE $96,$93,$90,$96,$99,$A1,$80
      V: t  H. X" B& Y1 ]$ ?$ C0 w
  819. ( g. B1 V! d3 P* f5 c+ i. c
  820. LIFELOW_WRITE:
    4 Y/ S: s  d6 ~3 C. B
  821. LDX #$00
    1 Z4 W' J* x, d5 Y5 L
  822. LIFELOW:
    : _/ H. y$ F6 n9 T
  823. JSR PPUADDR_PROCESS* A+ g. P: n. J- I7 s- C
  824. LDA LIFELOW_STRING,X0 Y2 E7 r: \5 V1 ^! y( q
  825. STA $2007
    * I! v7 Y1 e3 p) Q7 ]) z
  826. LDA #$00* L" N% B6 ?- w3 d
  827. STA $2000, U, S) {: f7 B& J
  828. INC $BA# m' z, Z  [4 w: n/ V
  829. INX
    8 O/ }1 }! n; A, ?( A$ l, o
  830. CPX #$07+ c& q' Q, Q5 G. q+ O/ x
  831. BCC LIFELOW
    7 l1 b5 x& a4 X! `9 A9 o6 m
  832. RTS- L  e7 L5 n1 _

  833. . ^7 }# K. r3 B2 H: ^. O% Z
  834. LIFELOW_PPU:6 o  @8 V$ w+ G- ]6 Q, o
  835. LDX #$00
    ! c9 l4 h) p+ T, L6 V+ {' \1 H8 ~
  836. LDA #$22
    . S- D/ c, Y' E) l* K  R8 y
  837. STA $BA! g' x) E% K- r% G
  838. LDA #$225 I+ m! R' O# I
  839. STA $BB1 j0 \8 G; c3 d
  840. $ j/ Q0 U' D( R" g. d, r! v

  841. ' \& Y; p4 ?1 w6 c
  842. JSR RG_PPU
    ) j1 O) Q" A2 g5 s& l" O. q/ B
  843. JSR LIFELOW_WRITE
    . A  d9 L- i: ~
  844. LDX #$00
    . |9 k) }' ?* B8 h
  845. LDA $07A00 Z+ j0 d+ A* O
  846. AND #$08' q  I, w, p5 W: I) o- x, s& y/ d5 u
  847. JSR ON_OFF_PPU# F9 P$ }, s) Y6 k: ~
  848. LDX #$00
    : ]8 L5 g2 i' s
  849. LDA #$31
    ) @, P' j7 D' p; F
  850. STA $BA9 b0 Q) k3 T! U' `. o
  851. LDA #$220 j) \3 C6 x' G% |3 v* p# e
  852. STA $BB
    2 D% _( r. q. u8 L7 Y( P

  853. % y5 A$ B( p+ {1 D: p/ X

  854. + J: ]0 h6 ~9 O9 b  P
  855. JSR RG_PPU
    9 X4 \; B8 m1 {" R6 Z* T
  856. JSR LIFELOW_WRITE0 i# Y, }/ d; q
  857. LDX #$005 U4 J) j& L8 J- @1 B4 C
  858. LDA $07A1
    2 u% ^: z8 g- F2 c! Z
  859. AND #$08$ N2 v3 ^0 \: d6 C
  860. JSR ON_OFF_PPU$ m( z/ }4 Z9 g! z7 [+ g
  861. RTS
    , k% W3 L5 `" N. |2 Z& S" m

  862. ; @. o! d- _7 ]( T7 x- U
  863. KILLON_STRING:
    6 ^9 ~8 t1 T2 A4 |: J8 h) g) J
  864. .BYTE $95,$93,$96,$96,$99,$98,$80
    , L: v: W) ^" Z: l
  865. 8 P: ~5 ^# I1 P# u( e0 V" b( }
  866. KILLON_WRITE:
    9 [/ ?- P1 ]+ B1 J' @
  867. LDX #$00+ h) Z  {$ w& S$ [
  868. KILLON:
    $ V# r( y& @: n0 g4 t
  869. JSR PPUADDR_PROCESS! x" X7 B7 `9 U
  870. LDA KILLON_STRING,X
    * x+ Z; l) `' p: M
  871. STA $2007
    . r5 L  A& b$ z
  872. LDA #$005 S3 R' K$ a, Q6 A
  873. STA $2000( ?$ M- ~" r+ ?1 ~
  874. INC $BA
    " _$ U. l# V5 p% \
  875. INX
    $ K. y6 g+ m& |- m: B' v$ k
  876. CPX #$076 W6 Q) m( r* V0 M. J% D* J" U
  877. BCC KILLON% K+ e. |  V7 F( F- U7 g
  878. RTS
    6 _$ ^. O' Y) _( _  `
  879. , L6 Z. `* _" \1 C1 {6 {; @+ p4 p
  880. KILLON_PPU:
    $ n/ ]8 U; L" D" y, s/ e
  881. LDX #$00, `; `0 N. q$ e3 {  k7 e+ F% }9 F
  882. LDA #$62
    5 L# E' r) J' F8 d* x1 F$ P3 M# Z9 d' ^
  883. STA $BA4 K8 ?9 T8 z+ o7 ]/ o' }6 Z
  884. LDA #$22
    9 F/ N4 L4 w3 w
  885. STA $BB# ?/ d% @9 }) v9 }& O
  886.   d0 u/ X( C# e) a+ G9 }

  887. 2 `6 N+ a& v- F8 |
  888. JSR B_PPU
    ! O/ n) u. ~, w$ E, K9 A
  889. JSR KILLON_WRITE
    ( ?9 m/ O, ~1 p7 N- |8 ?+ O$ j, {, Y
  890. LDX #$00
    ! B6 q0 n) N. G4 \
  891. LDA $07A0; }) m3 B+ {7 O+ I7 C, n5 c  @- c
  892. AND #$10
    & R9 F7 p1 O9 L/ G& u/ F7 x& G3 C
  893. JSR ON_OFF_PPU% i- D( L  V; \( z5 J
  894. LDX #$00
    : B6 g; D8 F- ]" p9 E
  895. LDA #$71
    ; B/ b7 b# ]" n6 |" P
  896. STA $BA
    * q- ^0 q6 ~% k
  897. LDA #$224 I( H  y% j' l" B: y
  898. STA $BB
    ( u3 z- f) C7 W% {# i* l

  899. . d" S, Q+ R) p# O
  900. $ l, U3 J2 i: V( f6 f
  901. JSR B_PPU# z! @! ]; Q% o$ P6 F
  902. JSR KILLON_WRITE0 I& s: O0 T7 F- h- {+ G; r% E
  903. LDX #$00
    # w7 e8 ~7 }" K7 f# @1 H  f8 v( b
  904. LDA $07A1  j* \4 \* z( s$ u
  905. AND #$10
    2 V$ ]( K. |8 D3 E$ f
  906. JSR ON_OFF_PPU+ o+ u0 u4 C5 L; ~' X, S
  907. RTS
    ) G0 F/ o# [. n3 q$ Y# b
  908. ) ~# `7 ?3 u! _6 u, V
  909. SKYFLY_STRING:
    . b; z+ Z. Y! e' ]6 L/ X  F' g/ n
  910. .BYTE $9D,$95,$A3,$90,$96,$A3,$80
    * _3 @6 C9 u: a& C# J  P

  911. 5 C! u' u0 x: D, d: D- A
  912. SKYFLY_WRITE:/ j( s0 R' R* Q) J  r
  913. LDX #$006 a1 u  ~& z; y. w5 o+ d; t
  914. SKYFLY:
    & G2 V9 B: f/ V' U- ^
  915. JSR PPUADDR_PROCESS
    * J* G, ]2 f9 ~
  916. LDA SKYFLY_STRING,X- j% _& F! }$ Z# |; l1 F
  917. STA $2007
    # H7 F1 B( L6 ]2 }
  918. LDA #$00
    ( D& E) S& _1 r+ Z0 J
  919. STA $2000
    6 F' v: N$ A" e4 P$ Q5 ]
  920. INC $BA
    ! |! u2 |* n6 R! L. [4 o0 q
  921. INX
    5 [8 L7 X. V: k  L$ U
  922. CPX #$07: v& h4 a/ c5 M) Q/ w' U
  923. BCC SKYFLY
    ' J: p" C' S- ?2 B% T  L. n3 I
  924. RTS
    : s# ~# V" H0 F% a3 e

  925. ) f  f- I$ ]/ |) j! ^
  926. SKYFLY_PPU:. p2 Y3 t) ]6 I! b
  927. LDX #$00
    2 A( j; Q& p* A! z0 Q3 c
  928. LDA #$A2
    * _% B$ c+ W% }7 U
  929. STA $BA) U, T6 T5 E" M, o9 q
  930. LDA #$22
    - H; R# e9 Z& ~% \* c5 h! I: A
  931. STA $BB
    $ d4 C% S( y& t# T. Q$ q, j- ?# S7 b/ M3 K

  932. 4 [- E+ D. m  `5 M

  933. % F% |; b2 a' I3 B, I
  934. JSR A_PPU
    % p! F% L5 K/ r
  935. JSR SKYFLY_WRITE
    5 t1 ^5 s1 u2 C/ u' A) |
  936. LDX #$00, S- y$ g* a. F' b" g" W
  937. LDA $07A0; Z% h4 `: @& L  s) C
  938. AND #$20
    & q" W: a- ]5 h$ {0 F" c4 v: R
  939. JSR ON_OFF_PPU( X3 c* k1 l3 U) _% v
  940. LDX #$00
    + t2 O" B# x- s0 [; a  {' @  d
  941. LDA #$B1' k" v9 `; Z0 Y. d1 L2 \$ |
  942. STA $BA: u( p+ ~7 W9 e1 N" J
  943. LDA #$22
    ( \' A' B! ?4 h4 }9 N$ b
  944. STA $BB; z( \* E# \9 Q6 K8 E  F8 F! M
  945. - j( p% J7 c. h; W

  946. 2 T0 O5 L0 f4 `+ w) h5 v$ a
  947. JSR A_PPU
    7 c7 E+ }- c$ Z
  948. JSR SKYFLY_WRITE; ^7 V: m( g* l. W6 k! u; l1 z& e
  949. LDX #$009 `. j3 a7 O& b. Q2 k3 p8 ~+ N1 B
  950. LDA $07A1) B4 [5 z3 R0 k) F0 ~
  951. AND #$20
    ) f& I' G1 S. a: e1 J9 I/ D
  952. JSR ON_OFF_PPU! `+ F+ T* a7 q( }2 p* T
  953. RTS
    % z' U! {' |( L& S" M* K

  954. 8 i3 d' V  i2 Y
  955. BULADD_STRING:' L4 Z% @* ~$ G
  956. .BYTE $8C,$9F,$96,$8B,$8E,$8E,$800 E- N3 A  }1 F6 ]$ g2 \

  957. ( S( r# v; x9 V8 \/ {1 Y+ Q
  958. BULADD_WRITE:+ t6 X9 v% p2 o% i$ I
  959. LDX #$00' u* R. M% _8 @4 ], X$ ]- v* ]
  960. BULADD:( i, ?( R& H* t; p5 ?' s
  961. JSR PPUADDR_PROCESS' B# n& y) ]1 {2 e2 m2 [
  962. LDA BULADD_STRING,X
    9 p$ ?7 `# ~' t7 T: S
  963. STA $2007
    & H/ Z! H; q5 e3 E: {% {/ M
  964. LDA #$00+ S  v/ X  [( M2 C9 g8 K
  965. STA $2000
    9 j/ ?  R5 I1 r6 T* E( u+ M; _* h
  966. INC $BA
    : T8 m/ D! |% _- a
  967. INX9 w% L# b. @* O2 g* x6 Y# V
  968. CPX #$079 l, u( L/ S, X2 z) s/ M0 |
  969. BCC BULADD
    7 K$ t5 P( {& g1 G9 u  K
  970. RTS6 B1 {7 E4 D) D, @& j9 K, I4 P
  971. # u+ [, S. b) T2 ]
  972. BULADD_PPU:
    # u7 ~. l: R; _( I% ^
  973. LDX #$00
    1 O" d# f( V+ a2 R& M6 f
  974. LDA #$62) _, g. s2 H2 [$ n
  975. STA $BA% H5 i( ^* G$ G1 d& N, O) R0 y
  976. LDA #$21* \7 z, q0 L6 @6 w7 h0 Y5 l* K
  977. STA $BB
      ]& g4 B9 A& y6 n* D6 M: C9 N, U$ m

  978. ) m7 g; P* J% n# j" y4 P  \
  979. : c# K; I! v  r  o
  980. JSR UP_PPU; j1 R* u4 H8 H  H  g9 ?$ G2 \
  981. JSR BULADD_WRITE
    1 ]9 G8 T( t4 o% a! h+ o6 v6 O
  982. LDX #$00# ]6 s$ U2 F; _2 O- q
  983. LDA $07A2% Q1 \; P7 ~5 B% t4 n( z
  984. AND #$01, y3 \) e. R: r( S; Y
  985. JSR ON_OFF_PPU% V5 x6 b3 p- }1 J/ n5 r
  986. LDX #$00
    . p" Y0 Z4 c# I# t# |& x+ Y3 A( Q
  987. LDA #$71  }, b0 J' q& _) u6 t
  988. STA $BA) `9 I* t" ^3 B7 a9 F6 D4 w
  989. LDA #$21
    # {; `5 P8 a; A! g
  990. STA $BB4 ~$ x1 B, N# Z# ]" c6 D
  991. 0 c- D  j6 @" C: {  `" o% W' n

  992. 8 b) E4 b) t  W) z1 O, p3 K
  993. JSR UP_PPU$ y. T5 c9 t& B" R$ [
  994. JSR BULADD_WRITE
    0 B' A8 [& F2 h+ a' q
  995. LDX #$00
    9 O1 o5 u# A- u1 f  b
  996. LDA $07A3( B) R; v8 r8 }0 x# h! k: k5 B
  997. AND #$01& T8 j3 |( `5 {7 |/ D% M) w0 u# ~1 e
  998. JSR ON_OFF_PPU
    0 e7 U2 a- W3 @. X* B" R4 v
  999. RTS
    8 e, C) _$ t* W

  1000. & d5 p4 l) f7 f- Y
  1001. MENU_PAGE_STRING:& @6 |4 N# L1 u$ ?. [
  1002. .BYTE $97,$8F,$98,$9F,$80,$9A,$8B,$91,$8F,$80,$81. O& n- v, |7 t/ m
  1003. 5 c6 A  Y5 r8 i# z% T1 T
  1004. PAGE_PPU:
    9 g. j: W2 n, C$ ]* L5 o
  1005. LDX #$00
    % o1 R$ O" G+ e0 V) ^: ~8 H
  1006. LDA #$0A
    1 E! q& V3 \2 V3 g
  1007. STA $BA
      V) |8 ^* L+ v: Q
  1008. LDA #$23- Z. o% m# J) ]! s9 s
  1009. STA $BB
    ! X  r+ n8 m8 ~" b
  1010. 8 V% z7 E" V9 b" `( {

  1011. 5 }0 a& ^' J: v
  1012. MENU_PAGE:* [6 ~+ x" w7 O8 z% u
  1013. JSR PPUADDR_PROCESS7 k# O# n( m9 g6 @) k% r3 Y
  1014. LDA MENU_PAGE_STRING,X/ _$ b0 A  Z( L4 W7 g  `& V) G
  1015. STA $2007
    - l" u' d1 ?1 H1 J. U5 g
  1016. LDA #$00' V( w5 A9 h# q; s
  1017. STA $2000
    ! Z% B, D. b9 l- x
  1018. INC $BA6 B# ^+ A+ [/ {2 m, F! K& C, [
  1019. INX6 V! F/ F1 m4 m, a/ H
  1020. CPX #$0B- U- a3 A7 }# W/ Q
  1021. BCC MENU_PAGE, V% J# D; ^- L+ @
  1022. LDA $07AA
    ) }0 i' S0 g( k/ M# }+ P2 }
  1023. CLC3 r/ G* f1 ^; q# Z# a- a9 X
  1024. ADC #$82
    4 n% D+ f# ^! [6 k
  1025. STA $2007
    * e- ~4 @" p) N, R7 h: j
  1026. LDA #$00
    + o3 Y! w9 |9 p! V+ q8 v% Q* o
  1027. STA $2000% n' p: j8 ?* p
  1028. RTS0 f5 V+ i& y" b# \1 U7 U

  1029. " q. O/ u2 y6 N- H
  1030. 2 S3 @" k: t5 g  I5 e! g$ w
  1031. SKINGE_STRING:
    : \5 r; c& u9 \8 N; ~+ b  Q" z+ v/ \7 \
  1032. .BYTE $9D,$95,$93,$98,$91,$8F,$80* C5 r2 }* d/ w
  1033. 0 N3 x9 G- @1 a/ Q
  1034. SKINGE_WRITE:% f1 P9 S( @2 R1 T
  1035. LDX #$00
    + E3 a5 [2 Y; t$ F% ^
  1036. SKINGE:
    % y( Y! A2 m7 X: ~
  1037. JSR PPUADDR_PROCESS
    / C7 R0 a; b0 \; n+ ^, k( d
  1038. LDA SKINGE_STRING,X1 J# K+ h; L5 |
  1039. STA $20071 n% K7 R0 `8 }
  1040. LDA #$00
    % Q% D. x* o5 X8 @/ b/ N% E
  1041. STA $20002 v) @: g  a& x4 I
  1042. INC $BA
    6 e" Y+ L" W. B1 T( O, _
  1043. INX
    0 v, e3 u! n! G& [
  1044. CPX #$07( B1 o: {; Y# g' d8 Y- X
  1045. BCC SKINGE$ N5 H, z9 O; \: B
  1046. RTS
    5 U8 R8 g5 [' V8 O8 n) N

  1047. 7 F! {) k: v+ p% B$ k
  1048. SKINGE_PPU:" Y& I! t  W; K9 \3 u. A
  1049. LDX #$009 @4 D3 R* ?, w0 H
  1050. LDA #$A2
    $ m2 a5 B) N1 S# j* d3 {
  1051. STA $BA5 `8 w+ A' r7 w
  1052. LDA #$21
    7 O1 \9 W% f, Z3 N8 S
  1053. STA $BB
    ' r8 F& J( z5 R+ R
  1054. 5 D2 T- b2 z7 B9 z3 Q

  1055. 7 @/ M' o4 U; Z& p4 T, y
  1056. JSR DN_PPU
    , p7 x- K" {( m5 \0 g# t& L
  1057. JSR SKINGE_WRITE
    ! F. K- G( F' Y; Y: U
  1058. LDX #$00
    3 ~' d4 G% I6 k2 D/ f% P
  1059. LDA $07A2, T' g1 B+ E% e* u) r4 u) R
  1060. AND #$02( u* J( D" x; C9 X& L- ^3 q
  1061. JSR ON_OFF_PPU
    : B) I. u2 r" `- ~. R( M+ m9 T1 r
  1062. LDX #$00
    # p/ X* N% j! r7 {) t; w
  1063. LDA #$B1
    & V7 f5 O& C/ X
  1064. STA $BA  k3 p& L& h, W) J7 [! m
  1065. LDA #$21# q& e# G5 P1 H' X# V5 y
  1066. STA $BB! b( N# ]" `5 M& S* o3 z( W0 U# l

  1067. , X  i; T( V/ V, Q1 N
  1068. ( N& ^$ V% t; W! H2 I, r
  1069. JSR DN_PPU8 q' d6 b; l+ n
  1070. JSR SKINGE_WRITE7 `- D& A& {* J. f4 U. u( |5 F
  1071. LDX #$00
    ! _  Q; j# i, U: s
  1072. LDA $07A3* j" ?3 w8 m- a% q
  1073. AND #$02
    : s4 q' Q7 q3 [9 F2 ^7 E
  1074. JSR ON_OFF_PPU* b' G+ g- G: v5 ]$ [% g
  1075. RTS* q/ Z- V. S7 J$ P9 H

  1076. 9 E/ C( Y) @3 R# y
  1077. BULMIX_STRING:+ ?) n# f; V; ?) c* @& v+ \2 I8 R
  1078. .BYTE $8C,$9F,$96,$97,$93,$A2,$80; E0 _! ^5 F4 d$ N
  1079. # m7 L+ U& o4 j7 r! Y7 x
  1080. BULMIX_WRITE:) f. E- K) T+ `  Y
  1081. LDX #$004 {5 G: T2 h- g' i, G* c1 i
  1082. BULMIX:
    4 \) X4 [/ t3 z' }3 l. G* @( y
  1083. JSR PPUADDR_PROCESS& j' ^9 a0 V( T* D- J! t
  1084. LDA BULMIX_STRING,X3 M' E5 p5 O1 V  [  `& W. A
  1085. STA $2007
    7 O7 L2 Y1 G; A% p. b6 o
  1086. LDA #$00# D- C& f: k, }0 c; C
  1087. STA $2000* U: K% V8 j5 v1 y& E
  1088. INC $BA& [% c" f. v% R' D4 F
  1089. INX
    , @2 {  f0 Y& ]3 z0 {$ j9 @
  1090. CPX #$07
    " J& M" N# a4 M' g7 h4 r
  1091. BCC BULMIX. ^2 o' O% K+ g/ ?; r9 o& E
  1092. RTS
    7 G. O+ i1 J& B5 W# B# R( W% Z+ \
  1093. ) j) C, [9 {( T# b* L; \9 z9 ]( t
  1094. BULMIX_PPU:) l0 X. Z+ K8 H  [
  1095. LDX #$00
    " Q3 i" s7 M" _
  1096. LDA #$E22 P2 L9 v# W4 m9 V9 e
  1097. STA $BA, ?( V+ R5 P4 E
  1098. LDA #$21
    $ ^9 O. Z# v8 G6 u7 z5 p
  1099. STA $BB
    ) z( w2 S2 {: f; Z( I
  1100. 3 {$ s1 ^& }! c

  1101. 9 A7 B5 y) M- G' w. f7 Z* c: r
  1102. JSR LF_PPU
    : S( C7 v7 [# T  a# z. |' i6 b
  1103. JSR BULMIX_WRITE
    * u) G, L4 r4 P
  1104. LDX #$00+ v' V: ]0 q) e: n2 {
  1105. LDA $07A2
    3 x& ^+ p# s7 \: S0 ?
  1106. AND #$048 ?% p8 _$ v9 I: q- c' `
  1107. JSR ON_OFF_PPU
    $ J: f( `: i  {' D/ `
  1108. LDX #$00
    $ I; a$ s  ~3 f! [3 ?6 \1 v& {) c5 i7 b
  1109. LDA #$F14 Z7 d& ?' S% ^8 @" a
  1110. STA $BA
      E4 f0 {1 x# z1 ~* M, c' y. ]
  1111. LDA #$21. m2 Z# V; h( {% w# S
  1112. STA $BB9 Q1 H8 q) |: [4 K; I7 e
  1113. ! w/ A. P- T; X$ T! ^6 n
  1114. 1 U4 m) `& h2 k- h9 V" S
  1115. JSR LF_PPU
    2 y: U1 d* S/ `1 T3 ?  G- a
  1116. JSR BULMIX_WRITE; q- W# L1 I: r5 o) j" s
  1117. LDX #$00
    : j3 A3 `8 m6 n) D" S
  1118. LDA $07A3( `  K. h. \- l
  1119. AND #$043 P' [: `6 {0 V9 M) L' Z
  1120. JSR ON_OFF_PPU
    " y, D5 {8 f' G8 D$ V
  1121. RTS, @  k# {5 ~1 M" w& P$ h2 ?( _

  1122. + W+ p# ^9 _! u  s
  1123. ENELOC_STRING:; ?- [5 C1 W/ b+ l1 I: y; k, x  s8 L
  1124. .BYTE $8F,$98,$8F,$96,$99,$8D,$80
    $ z5 L$ k0 h$ c3 X, J# m1 ^

  1125. & U& w6 b- X9 W$ ~
  1126. ENELOC_WRITE:8 h5 i8 l! e, o8 q* W- b
  1127. LDX #$00
    0 I  U' u1 o# f5 X# R
  1128. ENELOC:' [- _- u, M1 L% m) l) }
  1129. JSR PPUADDR_PROCESS* c4 c3 f* Q5 Q0 S
  1130. LDA ENELOC_STRING,X# |3 N+ a' z8 y
  1131. STA $2007
    ; K- J& b1 E+ f# M
  1132. LDA #$00
    0 G, t/ x/ o0 x
  1133. STA $2000% q) T7 m" u. O$ S8 W
  1134. INC $BA
      s! o/ X6 |* M7 |# q  Q+ A
  1135. INX
    ; Q' k  V0 Q. C, G' P
  1136. CPX #$070 z# j, l! S* b* ^  F
  1137. BCC ENELOC) o& q% a, R! V" E. u2 A
  1138. RTS7 T* r2 t/ C; L( m: T
  1139. 7 ?# p! V( V) T  x0 {
  1140. ENELOC_PPU:
    : x1 r) w. s, Z0 @1 @$ h
  1141. LDX #$00
    2 n1 k2 [5 \. s  y2 }; @+ F2 D
  1142. LDA #$22' p: L- E2 ?! g" H( A* D+ y! C
  1143. STA $BA
    4 E  z# {- _; @
  1144. LDA #$22
    2 z% c' B" ^1 [5 j
  1145. STA $BB
    ; r: R1 }& s- l& @
  1146. - ^5 _$ F- c' h, `% [

  1147. 2 S0 ]8 r8 l1 w" q5 n- v! x7 _. V1 G
  1148. JSR RG_PPU% w% v0 w' y/ t( {
  1149. JSR ENELOC_WRITE* c2 a4 k0 ~6 ~7 E5 z
  1150. LDX #$00
    1 _4 {8 ]. M+ H/ t/ x+ ]
  1151. LDA $07A2
    $ a7 {# R+ B$ A
  1152. AND #$08" I. F$ f2 O/ K. B# {9 R) x, u: x
  1153. JSR ON_OFF_PPU
    2 z0 s; B( W1 K3 o
  1154. LDX #$00
    ! S- c8 ^3 M* C4 r/ m3 S
  1155. LDA #$31
    : E/ G0 N3 m( w7 T, Y6 T
  1156. STA $BA
    # Q7 Z3 }; }+ n9 B' d' @
  1157. LDA #$22
    2 J6 }3 ^* ]3 H0 X$ T
  1158. STA $BB
    & m( ?: K" U2 U4 [  b) O: F

  1159. 1 M7 S  d0 h  ]$ ~- @) Z0 v
  1160. 3 v3 S" s: J8 Z# |! P! R7 z
  1161. JSR RG_PPU3 m; n; ]8 e$ Q' v
  1162. JSR ENELOC_WRITE1 f9 ^3 Z* u2 ]
  1163. LDX #$00+ L* Z% C$ ]) ]& V, I9 H/ L
  1164. LDA $07A3% C4 [. h# d# @* \/ j# m( [
  1165. AND #$088 f9 d8 l. g6 A
  1166. JSR ON_OFF_PPU
    $ K" p4 w. ], [
  1167. RTS4 s6 o( O* ], S: q

  1168. * i8 r5 \" I3 m! H% F9 a7 f% q
  1169. FOCFUL_STRING:) l- ^" p) i& [* \0 N4 F( M
  1170. .BYTE $90,$99,$8D,$90,$9F,$96,$80
    3 r' n, [4 s! m. O, J

  1171. + S1 ~6 g' O% L) u; U
  1172. ! A' L; J# x( Y* K' v
  1173. FOCFUL_WRITE:
    3 l1 e2 E  q# D& f
  1174. LDX #$00
    , j2 A5 k! R; v) G
  1175. FOCFUL:
    , `4 ^5 H& y5 }! w# p% _
  1176. JSR PPUADDR_PROCESS' K$ N, I0 Y; j/ K" W2 S7 Y( U9 c
  1177. LDA FOCFUL_STRING,X5 o5 E( V/ A; a* X
  1178. STA $20071 t* z* W6 S6 ]& ]
  1179. LDA #$00
    1 c' y; G$ `) S6 O* u/ B
  1180. STA $20006 g/ l7 a. @+ d
  1181. INC $BA
    + a8 Z5 |2 i# ^; B' T) H/ Z5 l7 |+ S
  1182. INX
    7 k2 l0 T9 z/ R0 Y
  1183. CPX #$07% F$ T5 y) s' I" t2 P# Y3 a0 B
  1184. BCC FOCFUL
    % E4 P' ~5 w, Q+ r- }% O
  1185. RTS
    6 t7 ]. W0 I  a7 B" x  I- v1 X
  1186. , Y6 m' h3 e1 S$ s9 ]
  1187. FOCFUL_PPU:
    0 e7 G2 X( w: }  d, S
  1188. LDX #$00
    3 X5 P# o0 {1 z) O
  1189. LDA #$62& |! w" d: A6 I8 N9 f: g  W8 |1 f
  1190. STA $BA" s% W3 T& r( W, q  y
  1191. LDA #$22
    * D; R2 E. H! A. D0 v8 A) H
  1192. STA $BB. J- Z* W0 O3 z- q; s( y

  1193. + u5 l  n' _4 x/ v1 K
  1194. ( M- r; x( B+ x$ ]( M5 Q2 p# z( v; K
  1195. JSR B_PPU# R3 D) B$ y( Z; R" ?! Z  e+ p& T
  1196. JSR FOCFUL_WRITE1 k+ `, @. @* f, P
  1197. LDX #$00
    , }: o) }& X6 a( k" G4 r
  1198. LDA $07A23 F. g. {& J' T; G. l9 [$ d! v  h) q' b0 ^
  1199. AND #$103 l$ T. h3 C- W( }( u
  1200. JSR ON_OFF_PPU- n% T7 F4 j2 k/ I9 D1 }# O
  1201. LDX #$00
    , J1 J$ f" u6 h$ y
  1202. LDA #$71% y; z  m$ H' w7 F
  1203. STA $BA; B  Y, ^7 R- ?" a3 X
  1204. LDA #$22( P  k2 a2 i  X* m
  1205. STA $BB
    - M' ]8 j/ Q$ ^" \4 K4 Y! x
  1206. 4 H% d- F7 c: l  s9 m, ]/ q! d* f
  1207. ! J) {# Q- C% k; Y. q2 V/ U
  1208. JSR B_PPU9 l$ t+ L$ ~5 U, y& Q- F1 J
  1209. JSR FOCFUL_WRITE
    7 E% [9 b$ S7 p# g8 }
  1210. LDX #$002 @  n- l+ S# p* b% c1 V
  1211. LDA $07A3
    9 A" d, M0 X6 \( e" [, @* H; Z' p
  1212. AND #$10
    4 g; E8 f% q5 \: ?: w
  1213. JSR ON_OFF_PPU
    2 p8 z$ O6 m- y3 I- a/ E
  1214. RTS% b; G# T4 C, J5 }. V

  1215. # I, ?5 P2 z( ?  s0 F
  1216. BULCON_STRING:
    & J0 @2 U$ y. Z  t9 d
  1217. .BYTE $8C,$9F,$96,$8D,$99,$98,$80
    5 j+ j4 ?+ z- ~5 K1 `' B) r

  1218. % X) i$ e1 X4 t9 C3 \( |, e  q' c5 o

  1219. 8 x9 z2 e) U; l) v# O: A
  1220. BULCON_WRITE:
    ! [, _+ O9 [$ U! H* P1 g, v, U
  1221. LDX #$008 ]  G) S+ W+ m
  1222. BULCON:
    $ W& f8 t1 s! Q5 n3 ~* C- @
  1223. JSR PPUADDR_PROCESS% ]( f" F) W3 k$ {
  1224. LDA BULCON_STRING,X8 Z3 N* ~& K, Z3 U  O5 Y1 V# z* V
  1225. STA $2007: {% x* j/ @' L/ C
  1226. LDA #$00
    % C4 o3 v8 u% P4 z8 J! O
  1227. STA $2000
    ) h/ w5 V0 P' z4 l1 y
  1228. INC $BA
    , D% j/ @$ j: m9 f7 R( D/ Q, B& o
  1229. INX5 Z+ d0 z& Z& J0 t
  1230. CPX #$07
    : P% H$ j( C7 W# @
  1231. BCC BULCON
    ( a! S7 [7 h+ R* k% e, d
  1232. RTS
    / A& Q4 h, ]& c

  1233. - Z  o, M' X" ?- E- \
  1234. BULCON_PPU:, a5 ^! F- I! c4 f
  1235. LDX #$00* i& [: r& s+ p, m0 q" K
  1236. LDA #$62: r/ X. Y0 {9 p5 U, Q* |, E7 Z% R
  1237. STA $BA
    9 g! X: M) t/ @' @! O
  1238. LDA #$215 n1 _" N. {) C# X
  1239. STA $BB
    ! [0 V. k2 v4 E
  1240.   R9 A& J- L1 M: ^6 ^6 O  i

  1241. 9 k* J% ?; B3 p6 u
  1242. JSR UP_PPU  b: y  Q9 n2 ^3 F! i
  1243. JSR BULCON_WRITE
    ; |: J+ H% ~8 o$ V  @
  1244. LDX #$00
    / e9 j  D6 ^: b: H
  1245. LDA $07A4
    5 i0 M- W4 q* F
  1246. AND #$08. n; O/ b5 o2 v8 A5 @
  1247. JSR ON_OFF_PPU, n; o- W/ v3 ?7 b& `
  1248. LDX #$00
    ' K8 }; C6 o1 m4 `
  1249. LDA #$71
    0 v: h* O! r+ v" I& ]; t
  1250. STA $BA
    5 l9 v* W( I3 c' T: r5 |
  1251. LDA #$21; x, ]; m; M+ _; W5 T6 p" X% q- Q8 d
  1252. STA $BB1 h1 D7 ?! G- r: G! G$ L* {! v* T
  1253. " m+ y! c, s4 _0 v( G8 R& Z1 }% W3 @

  1254. ( O. r) L2 U" G3 ^5 m" C
  1255. JSR UP_PPU9 _7 `: G. k# y) B4 H1 r
  1256. JSR BULCON_WRITE
    8 ]# n) N# L0 w. \1 p' Y3 c/ G
  1257. LDX #$009 {' ]" U9 z! }0 ]7 v0 n9 [1 |0 }
  1258. LDA $07A5; k9 g6 A4 c3 x% Q% h3 W/ l
  1259. AND #$08) v7 H5 Z' z9 c  D
  1260. JSR ON_OFF_PPU
    4 x5 y& e  ^; D; |& V" g7 U
  1261. RTS4 `$ R( D# t; a. H) u0 j
  1262. 8 f# B9 M7 C- Z- s
  1263. SPEBUL_STRING:  I; u  Z9 y( ?& j
  1264. .BYTE $9D,$9A,$8F,$8C,$9F,$96,$80
    ) t( t0 ^6 z: w; H6 ?* V
  1265. $ U' M! u" S( x3 M2 B
  1266. 5 m2 h; r0 i' G2 [; t7 `7 h
  1267. SPEBUL_WRITE:
    & ^- P: d: \  O* g0 O
  1268. LDX #$00
    6 a7 L2 H! e' P7 ^
  1269. SPEBUL:5 [( |& h2 l) Z9 L8 c
  1270. JSR PPUADDR_PROCESS
    3 H, m* B$ @0 R! N7 Q
  1271. LDA SPEBUL_STRING,X4 ?' d5 ^# d9 Z2 X
  1272. STA $2007
    ) U( U! |2 y( q' S- ]- x
  1273. LDA #$006 v0 z: a. D( T4 t9 H
  1274. STA $2000: |" [! p5 }- `/ V. y# O  h# i
  1275. INC $BA
    $ g0 R2 ~3 r# r9 `
  1276. INX4 x+ o& Y, G/ A4 S+ ?  j
  1277. CPX #$07$ {: M  j) d% H, J6 V% X& R( p
  1278. BCC SPEBUL" P1 f$ }2 s- g$ C6 q$ r
  1279. RTS  D, Q  R% G9 y, S* ~4 U

  1280. & {1 ?  R5 N  f' y* I
  1281. SPEBUL_PPU:
    & |! m) s9 O$ M& {# v. X
  1282. LDX #$00/ {5 f+ u% x+ y/ _. N
  1283. LDA #$A2; s/ M2 ?  T. h* m0 H9 z! _
  1284. STA $BA' j$ {! d6 e" U7 j7 T/ v% w( N0 r2 i
  1285. LDA #$216 D# Q4 W* p" Z$ Y( _% [4 N; W
  1286. STA $BB/ c/ r6 k- v& w" i0 R
  1287. ) P. o) }$ |; b6 E

  1288. + c* v! Q) V4 F; S
  1289. JSR DN_PPU! `' \! U( W6 X0 V! M
  1290. JSR SPEBUL_WRITE
    9 u2 h' A) q, z
  1291. LDX #$00
    * A, J6 t  n: h2 t2 y+ I# Y
  1292. LDA $07A4
    # `1 D  r6 z, D  e: }: u
  1293. AND #$02. ]( j& E6 y/ @  F3 S" I  g/ y
  1294. JSR ON_OFF_PPU) P* _7 f+ n5 [( q' f# n
  1295. LDX #$00# {! D: a* f' Z$ S
  1296. LDA #$B1
    " ^& r/ `4 e) V. d. Q# y& w
  1297. STA $BA- _6 z  M( s4 s# x3 ^
  1298. LDA #$21
    % p; S: G& E8 a
  1299. STA $BB3 h) I. b: C4 P" p

  1300.   x0 B8 s6 k& R' |$ W! U( }3 Z

  1301. / p8 J0 U: u; t8 ?  t2 L0 q, z
  1302. JSR DN_PPU4 y. N: f6 k3 M$ _
  1303. JSR SPEBUL_WRITE
    : c& J  ~. B6 ^& D$ i
  1304. LDX #$00% {: Y1 ~" |' L3 \' Y7 Z7 P
  1305. LDA $07A5" T- W% H6 o0 e4 \0 c- P3 S
  1306. AND #$02( K2 n9 ~( \- n( |5 k% P1 c
  1307. JSR ON_OFF_PPU
      F0 h" l  ]  H: s
  1308. RTS
    0 D) Y: t! r/ Z9 J7 R, J4 r

  1309. / V  ?& g9 L4 E7 k
  1310. .ORG $A5003 ]8 p+ V/ \7 Q+ E1 a- f
  1311. CLEALL_STRING:
    & x% H+ s  M/ x8 P+ n' R. {* g
  1312. .BYTE $8D,$96,$8F,$8B,$96,$96,$80
    ) x. q( Q; K( E6 h( A- k
  1313. % v( x4 }4 m; k1 E; W

  1314. ( r' u6 ]* L  N% b& P0 R% P+ I
  1315. CLEALL_WRITE:
    - t. S! r, \9 |/ B7 _5 l
  1316. LDX #$00* D+ {7 a" x3 Y3 Y9 q. ~7 E3 |, R& ^
  1317. CLEALL:- J8 K' C) u+ K- d, n7 A6 V
  1318. JSR PPUADDR_PROCESS
    ; D" W! k9 G. [5 H8 s- O+ t" F
  1319. LDA CLEALL_STRING,X
    " `' z8 t& }1 z5 d3 Z( n6 j1 j+ K
  1320. STA $2007
    ' ^0 q# E% L3 s+ Z, ~& C
  1321. LDA #$00
    5 r! h7 h+ w9 O2 F; b6 k2 k' L- i9 k
  1322. STA $2000
    & D7 b$ O5 H& A
  1323. INC $BA. I( c1 R5 S8 A# n- @
  1324. INX
      i5 z2 t$ Q2 O9 Q
  1325. CPX #$07
    3 Q7 W( N4 c% N7 x) S) H) N, c1 T
  1326. BCC CLEALL$ P! _5 l, G1 J9 t9 S
  1327. RTS$ a/ T+ E. q% F9 o
  1328. ! B' x3 D! V( O$ t0 h
  1329. CLEALL_PPU:
    $ I1 \7 A  ~4 U( S! \
  1330. LDX #$00
    - c, Y) Q; l' d$ }
  1331. LDA #$E2" x% O# `# S# C% w" s7 c
  1332. STA $BA" T3 g  O- _9 [% z8 ~& F1 U
  1333. LDA #$21" ]8 v, c7 S5 M. h9 v" Q
  1334. STA $BB. B! X# E- l  f, w1 y/ ^! p: u
  1335. . b) M: f9 o- ?' Z

  1336. " [( V& x+ ?% _8 y1 {
  1337. JSR LF_PPU
    + c+ ]% O. n" A0 L
  1338. JSR CLEALL_WRITE9 L1 l' I. E& _9 P% P2 y3 Z( f! `
  1339. LDX #$00
    % q3 m, J% [% U% r/ Q4 E( n' K
  1340. LDA $07A4+ r+ h" Y* m; u0 N2 V1 ]( y5 D
  1341. AND #$04
    . w, m* ]( ]5 D3 j# H  L& s' F
  1342. JSR ON_OFF_PPU
    / a1 v/ [% Y5 h& H  U# Y
  1343. LDX #$00
    $ e8 f' A- x0 R# Q1 C) k9 b
  1344. LDA #$F1# \6 u( c7 i$ G- h
  1345. STA $BA
      I# x- E! l5 h+ \" C
  1346. LDA #$210 a0 C. B% ]+ r
  1347. STA $BB5 ^6 i2 {2 `/ B  N& Q7 u, F3 {
  1348. , Q' j! }8 `& ^* N7 \! z) z

  1349. ' J2 [# g3 E: j$ C
  1350. JSR LF_PPU
    % H* M& f3 x: [# ]5 R4 Q$ T
  1351. JSR CLEALL_WRITE
    ) K/ s( Y0 G- k( Z% L
  1352. LDX #$00! J4 w  V$ @5 Z8 y
  1353. LDA $07A5) Q: z: R+ S9 M( e
  1354. AND #$04
    7 c) b2 Z  ]- d' I' e
  1355. JSR ON_OFF_PPU) f' P/ _, q/ S
  1356. RTS% S( S# t  M) B) E3 Q
  1357. % T) ~8 l' W. E% r9 `# d
  1358. HARDMODE_STRING:) F% f, z. v8 ?* a
  1359. .BYTE $92,$8B,$8E,$97,$99,$8E,$80
    ! u8 |" s, P* E! m$ y$ M4 g

  1360. 5 z1 @3 n& e6 X1 E" e, R

  1361. 1 o3 s% S" r" G! [  S5 p; J( Y9 p
  1362. HARDMODE_WRITE:
      `" k% ]+ t* `/ q: v  [- i
  1363. LDX #$00
    % ]1 h- [, i7 Z4 z
  1364. HARDMODE:
    . G, A- c! N5 c. \
  1365. JSR PPUADDR_PROCESS0 }  x( J. J* Y+ |% w' ~; w
  1366. LDA HARDMODE_STRING,X
    1 v# w, Y, c9 p) u( _* L
  1367. STA $20076 V, W& s" x7 _, o' i
  1368. LDA #$00
    4 q) c- U5 k3 b
  1369. STA $2000
    3 u. b1 r( ]$ c6 @1 T6 M* z
  1370. INC $BA0 ~$ k/ U: |3 W6 `) H1 y# Z& ~1 E$ `
  1371. INX* u1 p3 p/ W5 i8 D/ m. d% \
  1372. CPX #$07
    0 |( Y/ x: D8 l3 C; N, R; Q
  1373. BCC HARDMODE
    ; @4 x; o3 B1 j( j0 T
  1374. RTS$ ?7 R$ |5 q  {) \! x

  1375. 3 K7 G3 o3 ~% z5 o2 h3 N
  1376. HARDMODE_PPU:9 n) }: D- X+ Y$ M- r4 {
  1377. LDX #$00( ~6 v& C# O8 Y7 r
  1378. LDA #$22
    ( @' p/ G9 L0 }
  1379. STA $BA# `5 u2 ~* k8 H0 A7 p
  1380. LDA #$22
    # {- z9 V& A2 o  ~/ `
  1381. STA $BB
    9 B" J2 m0 X" o) ]$ ?# `+ n( n9 l
  1382. JSR RG_PPU* R: |* [. b' ~2 E: x
  1383. JSR HARDMODE_WRITE7 X9 a+ Q% g4 ^* c# b! p
  1384. LDX #$00
    6 q( l9 t  D! d1 e* ^/ W$ p
  1385. LDA $07A4: c, g% K* ^; @! z
  1386. AND #$01
    . i! J. @# x  ?
  1387. JSR ON_OFF_PPU) ~8 i. J  M4 C) j9 g, J! v
  1388. LDX #$00
    5 c6 n5 b4 R+ N; W" ^! D8 T( _
  1389. LDA #$31
    , h( ^. l4 V- d% n
  1390. STA $BA
    6 ~  K) l7 J1 v5 V4 G
  1391. LDA #$22
    5 ~, w/ H! S3 q
  1392. STA $BB" Z  t  X% V- H% z; \$ g
  1393. ! Q( m1 d8 x$ q# w. ^  [% i  [
  1394. ' ]& q; h4 q  s6 z$ H9 Y
  1395. JSR RG_PPU
      p( `/ t! \2 H+ C; K
  1396. JSR HARDMODE_WRITE
    2 W+ J' v$ B. A" r# w) U
  1397. LDX #$00) h/ z; N3 r+ e1 `
  1398. LDA $07A5, {  W/ K% e9 D
  1399. AND #$01
    + b4 R. [+ j: T) L6 h
  1400. JSR ON_OFF_PPU
    $ p* T7 s7 X9 y& ]9 |' e+ Z
  1401. RTS; Z7 ~1 x/ i  }$ Z5 r

  1402. + L' T- s0 t; h% S" V7 n7 n
  1403. B_TO_JMPSTG_STRING:
    6 J2 F; E( P1 c* g5 H. p+ o5 S5 n' m
  1404. .BYTE $80,$8C,$80,$9E,$99,$80,$94,$97,$9A,$9D,$9E,$91,$80
    % L4 B2 {: ~. w- u. [
  1405. ! B; ~4 j$ q) s. p6 v- B- b. Z8 _

  1406. & U1 r5 F4 y! N9 J
  1407. B_TO_JMPSTG_WRITE:) I( T& C3 y- p9 y0 c' b6 A3 W/ x
  1408. LDX #$00' a# X; {% X0 D" s8 a4 v- x1 n
  1409. B_TO_JMPSTG:
    % D* k$ v' S; S, O. j
  1410. JSR PPUADDR_PROCESS3 c' T% p# W2 e1 j& }% }, q
  1411. LDA B_TO_JMPSTG_STRING,X
    ( V6 p8 d$ q$ A" y
  1412. STA $2007
      \+ U1 O9 C3 Q+ y5 M
  1413. LDA #$00' j0 x; \! c" J7 B1 S: u
  1414. STA $20007 X3 w$ i: V3 Z8 Q3 |
  1415. INC $BA
    : O, y' ]/ j. W$ m! v/ g
  1416. INX; \7 N$ g: o" T! X
  1417. CPX #$0D8 [) w( R- a4 R; \, F
  1418. BCC B_TO_JMPSTG
    8 {' z+ m: q" F7 d; o$ C) N
  1419. LDX #$008 v4 b: ~0 V3 }) D2 ]
  1420. LDA $7FE06 B. {+ d0 H$ J' e5 H8 O& `' {
  1421. JSR ON_OFF_PPU
    ! Q2 {* N; t* L% R: a: ~
  1422. RTS
    3 G$ O+ n# f; @! y

  1423. * b% K# {% A/ w& l0 \' V* I
  1424. B_TO_JMPSTG_PPU:
    3 {! ^8 s0 c. k+ Y* Y: i
  1425. LDX #$00
    9 D" I1 c% J& B6 S+ \7 M5 @
  1426. LDA #$688 |2 \6 K- A  l) ]
  1427. STA $BA9 B, I( a) ~) Q, L. i" u
  1428. LDA #$22
    ) u4 _# C% o$ p
  1429. STA $BB
    " k5 ^% y9 R) }# ?% J: t; v
  1430. JSR B_TO_JMPSTG_WRITE- K( z0 b0 p! n& E: q. O  }
  1431. RTS" q* X- {& d+ M# y4 m& l
  1432. , n. R* J% x0 W, b6 c8 y
  1433. ' ^+ K$ R1 c( Q
  1434. A_TO_PLAMOD_STRING:3 a+ @. q" ?: c6 g9 w9 b  n  [; t% T" H
  1435. .BYTE $80,$8B,$80,$9E,$99,$80,$9A,$96,$8B,$97,$99,$8E,$80
    6 ^* d  F6 ~1 D  o

  1436. # E. e4 [' x6 Z3 Q+ z: e6 Q; @/ N+ t- k

  1437. 2 V% H# L5 J! i1 G; ?. A" c$ F
  1438. A_TO_PLAMOD_WRITE:
    / Y' ~* _0 x/ k) x! C! b4 \$ W
  1439. LDX #$001 P! D2 J5 V7 R- K
  1440. A_TO_PLAMOD:( P; N- ]) @- |4 Q% Q0 u
  1441. JSR PPUADDR_PROCESS
    0 [' `( E) d& N  W8 r. S
  1442. LDA A_TO_PLAMOD_STRING,X
    - t4 I  U- {& s) Q# N
  1443. STA $20075 C% K( a7 ^. ~* k
  1444. LDA #$00
    ) W! {) K) j; Q, l% S: F: x6 R
  1445. STA $2000
    4 Y0 G/ N: }- ]) C* j* z
  1446. INC $BA
    6 q/ ]# X! i) S, v0 J- B
  1447. INX
    3 Y# }. }, Y% `! }" L9 X
  1448. CPX #$0D
    ' X4 e+ A! ~, u' W5 F5 L, }" ]
  1449. BCC A_TO_PLAMOD
    $ V& o$ @1 u% k$ k9 j- w6 ?
  1450. LDX #$00. h6 t  G/ B5 C0 F" n, H4 r
  1451. LDA $39
    8 \+ f7 q. Q/ ^8 `( [
  1452. JSR ONE_TWO_PPU, X$ C4 F9 s; T6 L
  1453. RTS7 X8 K: f* o& ?6 b5 k- X

  1454. : r. ~" t2 t6 `
  1455. A_TO_PLAMOD_PPU:
    2 X1 J" f5 {, I' C+ g
  1456. LDX #$00
    ; w  u0 }1 K: p  k" P3 @( I7 N
  1457. LDA #$A8) t! o! d! \- p' e4 V. I5 c- p
  1458. STA $BA
    ' I) K; n2 b' r8 C% e
  1459. LDA #$22% H% _  x" Z+ B9 c0 I
  1460. STA $BB
    ' K, K; d' Z" ^; v0 d* I  F
  1461. JSR A_TO_PLAMOD_WRITE
    * J/ ?; w! w3 m# }. d9 @$ o, p
  1462. RTS  E- S9 M8 B7 u3 k

  1463. , j% Q1 u: ]; J( U8 G
  1464. MOVSPE_STRING:* r0 \4 w1 W7 P
  1465. .BYTE $97,$99,$A0,$9D,$9A,$8F,$80
    / t% g$ U& i) m- s* |9 W, r7 h6 z

  1466. # ^' @! R6 |! x7 X7 O" R  X

  1467. 8 {# N' F! Q$ _. R
  1468. MOVSPE_WRITE:4 g: E. j8 ]3 _$ N4 r( r
  1469. LDX #$007 o$ Y& B/ L8 m# h3 w1 `7 ?
  1470. MOVSPE:
    5 r( q8 n% X4 E7 u- M
  1471. JSR PPUADDR_PROCESS
    $ `, ^8 y' ^# @& p; h1 K4 n; y
  1472. LDA MOVSPE_STRING,X
    3 T8 [: Y4 B" e& P) w) U; [- m2 a
  1473. STA $2007- \" P7 J; p5 D) q& u2 C: W
  1474. LDA #$00
    & t6 J" Z2 G& E) I
  1475. STA $2000
    1 ]6 e; Z: d0 F2 d  q
  1476. INC $BA
    3 F9 |, B! O' E2 N" t3 J) k, j
  1477. INX
    ; r5 F0 [/ W0 C- |" y3 S+ X1 N0 i. r
  1478. CPX #$078 e3 j3 S7 p- O% `/ P
  1479. BCC MOVSPE
    , k$ {* u/ {! O2 R& Y, v; y) W
  1480. RTS
    * {) O0 J0 I) S& I  d; i! j  R

  1481. # Q  ~: o) n2 }3 Y* S( G: l
  1482. MOVSPE_PPU:# \& @! q' G5 ]* g3 N3 Z
  1483. LDX #$00
    ( c- i4 I' f  v3 D' t6 y
  1484. LDA #$69
    - ~- j3 Z; L0 R3 E1 o
  1485. STA $BA% T2 b2 f  d$ q. U) g
  1486. LDA #$21' P7 H4 @; M& i0 Z; F
  1487. STA $BB
    . K" z' J0 R9 n. E4 [6 L3 u, i

  1488. 3 j- D- Z' e( q

  1489. 3 B' Z9 z8 \/ J
  1490. JSR UP_PPU
    - R) l! L' d% l) h. X
  1491. JSR MOVSPE_WRITE
    * b; Q; x# U0 M  P/ |7 g
  1492. LDX #$00" R4 m. s5 S2 h4 n& E3 o
  1493. LDA $079F9 T: Z/ v. H& L2 s5 ?
  1494. AND #$08% |4 n2 Y1 E  A+ |) I
  1495. JSR ON_OFF_PPU
    $ B2 j- S4 `: T. z+ ^1 V$ r
  1496. LDA #$801 B8 H( A; r- J/ A/ r$ o
  1497. STA $2007
    # Z& `6 R" f7 a( I$ C6 \. W
  1498. RTS! g7 B; H! G7 r
  1499. 6 X2 W" ]! O% g
  1500.   
    - d, a- B! s& a$ n  Z% D
  1501. UNLJMP_STRING:
    % G2 c: \! S- [/ Z* ~
  1502. .BYTE $9F,$98,$96,$94,$97,$9A,$80
    ! F9 d. |6 s! N+ @/ g' M9 \
  1503. . v8 u; M/ z/ n3 s  N/ [' T
  1504. ( k1 F5 {. Y  Y- a4 l
  1505. UNLJMP_WRITE:) N& z# k; D8 G% k5 N( Z
  1506. LDX #$00
    8 s9 [' C, j* h% g! ^+ q1 d
  1507. UNLJMP:
    4 p2 \; g9 C6 p  l0 H9 F' ^* p
  1508. JSR PPUADDR_PROCESS' w; w8 e( a# f6 m* h; z
  1509. LDA UNLJMP_STRING,X
    ( p5 `3 F0 f7 Q
  1510. STA $2007- @, E' V, q( N# G  s
  1511. LDA #$00! l8 [8 H( D: |$ _9 h9 V
  1512. STA $2000+ W* V2 H9 K5 C% K2 D
  1513. INC $BA& g" w! t4 o- J+ ?
  1514. INX
    ( x5 d- X8 v1 W) t7 F- C. j
  1515. CPX #$07
    % [5 n8 T) f( E
  1516. BCC UNLJMP* @# u  |2 L" d" n" y
  1517. RTS. p0 j8 P  O+ }% K9 e& o

  1518. 4 @3 E; W6 B' C: J3 Z! I8 R
  1519. UNLJMP_PPU:
      y5 N, |8 x) V5 \2 m' k
  1520. LDX #$00
      V) A4 R; G' D* v+ ]& k  e$ N4 U
  1521. LDA #$A9
    3 B7 b" e$ x$ Y+ c
  1522. STA $BA- p2 j# E+ W9 Z$ F4 B" J. n
  1523. LDA #$211 w. V1 S' Q( b, f9 @2 q
  1524. STA $BB
    7 W1 y* U% g6 b: G( R4 J
  1525. , h1 \# g" M- O8 E/ E' S6 e* A

  1526. - o4 R% O% p: y- L! _
  1527. JSR DN_PPU
    / ?0 C' u9 n) U" _* a' V
  1528. JSR UNLJMP_WRITE- b" Y2 P; j3 y" O* {
  1529. LDX #$00
    # ]/ W* B& c/ `) |6 u& Y
  1530. LDA $079F
    ' p  b" @; Q9 M7 l  z5 g- f. ?
  1531. AND #$04
    0 Q: Z: ~9 x; r! M9 C7 Z1 @6 |  x
  1532. JSR ON_OFF_PPU9 O* h+ ~4 _9 t- l8 P# [7 T4 u8 |
  1533. RTS
    * A( h  W0 Z0 u4 j+ D& \

  1534.   E4 G: d& \/ O5 H8 ?5 Q, t
  1535. % ?8 J4 V9 u$ ~
  1536. DESTRO_STRING:
    . d* P5 r% W6 b) E
  1537. .BYTE $8E,$8F,$9D,$9E,$9C,$99,$80% d$ Q$ h$ y+ D- n$ }
  1538. - t/ g* g8 I% D- ^- X
  1539. - ?7 V5 ?4 }3 U# |# [5 K
  1540. DESTRO_WRITE:  i( U. J' T: B
  1541. LDX #$00" t# k$ a: Z# t2 p/ C
  1542. DESTRO:
    & N9 ^  Z" y2 a0 x- j4 X
  1543. JSR PPUADDR_PROCESS
    + S- A: t9 Z( H8 a! z
  1544. LDA DESTRO_STRING,X
    : O* c0 k/ p- O0 m1 s
  1545. STA $2007
    1 ~( ^- ~8 h6 M. {) @. }3 K7 ?3 O$ f
  1546. LDA #$00
    5 S. n/ @6 f0 j3 t
  1547. STA $2000( S' @, d5 c/ u* K: c0 c
  1548. INC $BA
    $ E$ O3 T0 K) j' Y/ r6 p: ^) _
  1549. INX
    - H+ y7 R" ]! o" \. q) J
  1550. CPX #$077 D+ C2 _; d1 [& T7 }" _
  1551. BCC DESTRO) ~+ {8 ]2 b  `$ M; @
  1552. RTS) _! Y9 j1 W* ]: N* x  T# R1 X
  1553. 1 X* P6 C3 l1 b+ V0 O- r
  1554. DESTRO_PPU:
    3 y7 Z; |" W' ], r  k" R" |* }/ b, u
  1555. LDX #$00( F4 c) Q' {4 w9 k" p4 M
  1556. LDA #$E9: ]2 W* s: l' T( Z  z8 i  N6 v
  1557. STA $BA
    2 N# y! R* P9 K
  1558. LDA #$21
    ! W( O3 `# e! _/ f, \" Y: J
  1559. STA $BB
    : D- g3 |, B6 G: P9 G0 }

  1560. 8 ]" D. X" c% ^, G8 C9 P1 M
  1561. - r) |% ]3 ?( C; c
  1562. JSR B_PPU
    1 [8 o4 u/ j: ]' ~; }* {
  1563. JSR DESTRO_WRITE. i; J( I8 R0 E; [( Z
  1564. LDX #$001 Q' a2 H. p5 f7 o3 {3 X  ^) o
  1565. LDA $079F
    - q% I" u$ L5 a& d: u7 E/ W
  1566. AND #$40
    8 b. K+ N; {2 N0 D$ {
  1567. JSR ON_OFF_PPU8 ]' u- F# |/ ]" j
  1568. RTS
    , s8 S" g+ G& C
  1569. ! I* U! S/ Z2 U4 i  N

  1570. / c) b6 F% m/ e; A. h. J
  1571. EQUBUL_STRING:
    * ~& D; H: A$ }
  1572. .BYTE $8F,$9B,$9F,$8C,$9F,$96,$80
    ' l# c  b% G7 c; T
  1573. . d$ o! ^$ W5 n7 ?" i, D# L: o

  1574. - k" w% n5 b8 H4 l* ~4 l) O$ [$ E* G
  1575. EQUBUL_WRITE:  |* Q5 n! g) d* w( ?$ e
  1576. LDX #$00
    8 B9 e: G  O1 s: ^4 d) t( |* B' q% _
  1577. EQUBUL:
    - A( U# A, Y' b, E( M
  1578. JSR PPUADDR_PROCESS
    8 ^3 O. F) E9 Q) |$ }- k  q5 i
  1579. LDA EQUBUL_STRING,X
    " E' a5 C& F- z
  1580. STA $2007
    , y2 Z9 Y2 x$ ]% m3 n6 g
  1581. LDA #$00) y  Q  z4 q, s2 Q1 c! D  P# A
  1582. STA $20004 _7 o. l$ }9 T( c* U
  1583. INC $BA8 N8 M# q" }3 D$ t& t( g
  1584. INX
    ! r1 i# i( K5 F2 w, k. U) z8 M
  1585. CPX #$07
    4 O# h0 ?0 v  k- o, j+ O$ a* e( ~
  1586. BCC EQUBUL( V8 O! X, Q5 `) M$ |
  1587. RTS( a3 N7 V7 X2 o2 G+ B  k0 R/ {
  1588. - P, H& c  R9 R- N# K
  1589. EQUBUL_PPU:! D0 i& j$ t! {
  1590. LDX #$00& I* {: ?) g, _8 Y* Q
  1591. LDA #$29
    + k. X- i* u8 v( h4 u
  1592. STA $BA& u% p% l: _) h: x6 i3 k
  1593. LDA #$22
    ' l# V) _; v" m4 k4 o5 j
  1594. STA $BB% F; l2 u8 S1 e
  1595. $ }7 w1 z0 [8 y, U& j/ h
  1596. 8 Z  ~5 O+ i1 q
  1597. JSR A_PPU) {( V  r/ G$ v6 Z* j4 z/ u& w
  1598. JSR EQUBUL_WRITE6 e5 [& n+ v+ j( M0 }  L1 I
  1599. LDX #$00
    + s0 L! H: ?3 A. p1 W$ w
  1600. LDA $079F1 O: m7 @8 d" [, z' N9 ^$ K
  1601. AND #$80
    9 D! R, M4 \: k2 ]# ^+ k
  1602. JSR ON_OFF_PPU
    ; Z/ O0 X; m) @6 F0 t
  1603. RTS4 M3 j( n5 a( n/ ~. P" s" v
  1604. 0 r! F! C; h' g& \/ l9 t; g

  1605. , E% h" O; E2 l& N9 |  V8 {
  1606. * Q6 A, }# J  P( P
  1607. BULSEL_UP_STRING:/ m2 |% S" [6 g5 d
  1608. .BYTE $9F,$9A,$80,$9E,$99,$80,$9D,$9D,$80/ W% n3 X4 G6 D2 @0 C
  1609. ! ^) k1 C' _* o: J4 J) K2 `
  1610. BULSEL_DN_STRING:8 a! H4 L( E; J( H
  1611. .BYTE $8E,$98,$80,$9E,$99,$80,$9D,$96,$80
    ! V3 P8 f- g6 T2 A, _# [( u( J" R, D

  1612. - M8 Q- s. e; K( Y: A1 l
  1613. BULSEL_LF_STRING:* i$ o4 r. L5 U9 ^5 Z" s7 A
  1614. .BYTE $96,$90,$80,$9E,$99,$80,$9D,$97,$80
    % T. ?1 a1 C8 g/ L7 g3 ]
  1615. 5 m; u( s/ _8 H+ j' ?  ?. s
  1616. BULSEL_RG_STRING:
    0 c7 I6 B1 T# B3 O4 |
  1617. .BYTE $9C,$91,$80,$9E,$99,$80,$9D,$90,$803 N. f6 c0 F/ y6 B- }% D  M/ `

  1618. ) F1 H7 M, R! W4 q/ w/ j( o
  1619. BULSEL_B_STRING:
    6 p$ c' ~$ [4 z* o( L0 S
  1620. .BYTE $80,$8C,$80,$9E,$99,$80,$9D,$98,$80
    5 q- m% e; z+ ^
  1621. * ]; p# K7 G4 j
  1622. BULSEL_A_STRING:
    1 l+ M$ u# h7 i( q% u  x
  1623. .BYTE $80,$8B,$80,$9E,$99,$80,$8D,$99,$97,$97,$99,$98,$80,$9D,$9A,$8F,$8F,$8E
    4 M* q; ]; d/ n" c( U. b

  1624. 8 z- _4 j* ~. v' ?
  1625. " Y5 P* J+ Y3 M- u1 ?' e$ I* Q
  1626. BULSEL_UP_WRITE:
    % c: _; b* Z2 A. Y6 z. X, H- b
  1627. LDX #$00
    , a9 C9 `& T, h5 V: }8 ~' h# s
  1628. BULSEL_UP:
    ' C! y7 D8 M# U) m
  1629. JSR PPUADDR_PROCESS
    3 J+ j8 V0 a, @9 S2 F0 X
  1630. LDA BULSEL_UP_STRING,X/ _  {+ Q, h$ `; `$ N
  1631. STA $2007. r4 k8 t" `1 }
  1632. LDA #$00
    6 O4 S$ T, p4 A+ Y
  1633. STA $2000
    / Y1 L3 Z7 {$ x9 T% f
  1634. INC $BA/ T- K7 A- ^0 }7 \
  1635. INX' G$ v6 K- E' \3 _5 [9 s2 g: O
  1636. CPX #$09
    9 Q& i- c1 F: S/ U
  1637. BCC BULSEL_UP0 `5 ]  u+ L: L  [
  1638. RTS/ J+ U9 Z1 ?( n& p# V6 i: @
  1639. BULSEL_DN_WRITE:0 r# |( H6 g$ Q4 t0 Y" x
  1640. LDX #$00  C0 T* x. H; ~" j
  1641. BULSEL_DN:
    / K; N# L, s1 A6 `9 }) Y5 p) H
  1642. JSR PPUADDR_PROCESS8 p# g. o8 D/ X* w
  1643. LDA BULSEL_DN_STRING,X6 I+ L8 \& p' T/ X" M) m
  1644. STA $2007" ]+ p- D0 F0 }  i+ y8 d: b3 ^
  1645. LDA #$00: z$ o8 Y8 P0 T4 X
  1646. STA $2000) j0 S8 K" W- z+ [: R& }
  1647. INC $BA
    7 _' B+ P/ s4 _. ]0 a
  1648. INX' K% L( j" L6 O9 D# M3 i; H$ M
  1649. CPX #$091 G# W2 c8 @# {6 d0 Y& z
  1650. BCC BULSEL_DN; b% C2 Z5 m' f6 ^' ~3 r% P
  1651. RTS
    ( g; @1 z' `" p
  1652. BULSEL_LF_WRITE:
    : ?  P; B, `, {/ f# w0 D  J
  1653. LDX #$000 I* e% ~3 a( R! h9 N! |
  1654. BULSEL_LF:
    1 Z1 e% q  ^, W0 R8 g! \* a
  1655. JSR PPUADDR_PROCESS
    ) O7 w9 W3 D3 _0 n
  1656. LDA BULSEL_LF_STRING,X) Q- Y! \- x1 f
  1657. STA $2007
      j% x) H3 u! g; o& W7 Z
  1658. LDA #$00
    ' S+ k5 ?- I; U9 L! s2 @; d5 ^6 j
  1659. STA $2000
    1 }( M" E; U* p8 M( R+ X" [
  1660. INC $BA  c# v) ]* T4 {, o% F2 z
  1661. INX
    * w8 X$ n) Q0 p: Q; I/ B# y
  1662. CPX #$09: T0 u5 u# D7 @; D( Q0 A
  1663. BCC BULSEL_LF: A: D+ [  L, ]# n8 d$ x- {
  1664. RTS# d% h, F8 e  F* h- c0 Q5 L
  1665. BULSEL_RG_WRITE:3 S! y) Q$ y: ?; Q% w2 P: X
  1666. LDX #$00& _6 w* ?, a8 q* _7 K1 A5 ]' {
  1667. BULSEL_RG:$ F6 `% L3 L; N+ |4 Y, ]' }! ?
  1668. JSR PPUADDR_PROCESS
      s1 q1 i5 ^  O
  1669. LDA BULSEL_RG_STRING,X  v+ r% b/ e6 n/ t* s8 L
  1670. STA $20073 n3 b+ U4 C( q6 ^; P* l
  1671. LDA #$00/ ~, P, M% ]" @4 ]* a/ S. L
  1672. STA $2000
    / t* j, m. G4 H0 m, x" l
  1673. INC $BA' p3 c- e; H3 J4 S0 z+ S
  1674. INX# O( ^& e: R9 l
  1675. CPX #$09
    ; p, x9 n/ b- I2 w- d# K& T) Y# M
  1676. BCC BULSEL_RG
    ' A4 w. @$ N# Y" Q; \/ t- l0 k% I
  1677. RTS9 [* K& ^% ?+ u- v) O/ g- P; p1 B
  1678. BULSEL_B_WRITE:$ `2 x0 r9 N) p# Y& L
  1679. LDX #$00/ ]$ C3 A* t) W# b
  1680. BULSEL_B:
    6 j; ~4 O' j) O, e
  1681. JSR PPUADDR_PROCESS( B. Z# y2 i1 ]) w$ `7 I" m
  1682. LDA BULSEL_B_STRING,X: ~$ Y  U4 s+ Z' c
  1683. STA $20076 T5 m6 p% V2 \$ ^0 V: Q
  1684. LDA #$00( _7 _# S/ t' R7 V; ]3 t
  1685. STA $2000/ h( S) h3 f2 l% R. z; ^! p3 n
  1686. INC $BA' h8 B% A7 ~% o  \
  1687. INX
    . o' F$ z" T' f0 q
  1688. CPX #$09
    # w& I5 w2 m; u( e) X
  1689. BCC BULSEL_B
    . b: u! t1 w* f9 W' V& `+ S
  1690. RTS& S; X  b, e$ {( o7 q2 s+ K
  1691. BULSEL_A_WRITE:
    & \$ M) j7 K+ C0 d( [1 u4 G
  1692. LDX #$00& E( u; @: u! r/ r0 T
  1693. BULSEL_A:
    % u1 r) g5 t4 Q3 I7 D: R) \
  1694. JSR PPUADDR_PROCESS
    8 }, E7 j2 R8 Y7 A
  1695. LDA BULSEL_A_STRING,X
    0 {. m2 j- q& W& |3 N3 F
  1696. STA $20076 o- E1 ], U6 q4 W/ g. [
  1697. LDA #$00
    . Z, |9 g+ H( ~& j1 F
  1698. STA $2000. W( i; T7 j2 p; a
  1699. INC $BA
    7 P* x5 @4 v; C  ^& R9 G
  1700. INX
    : @/ Z5 k1 y) B' T$ l, E/ y
  1701. CPX #$12* V, }4 a/ q0 k4 T
  1702. BCC BULSEL_A
    4 \9 Z' i# R# T+ Y+ \6 t7 k
  1703. RTS$ [- D* G' N/ v- J* @

  1704. ( Q8 `; k4 m# ?, R$ q& S. @

  1705. + p- ~. t# t" o6 ?+ v. o/ z. f
  1706. . b+ U4 g; I1 y+ ~
  1707. BULSEL_PPU:
    3 Q1 J0 \# B  ]& T8 b! W) i, j
  1708. LDA #$6C" A1 v* B% c( I  @& U+ \3 D, W
  1709. STA $BA- C% k0 h" e1 ?: J7 K1 o
  1710. LDA #$21
    ' Q# `) G& j( A% U* [8 g
  1711. STA $BB/ |. m& X- {& c  s& T5 m+ O) Y( v
  1712. JSR BULSEL_UP_WRITE
    & T' A* e$ S/ I

  1713. 9 u4 X: y, ]; u2 O7 M2 e
  1714. LDA #$AC
      Q" |. e' c6 {  y/ [
  1715. STA $BA
    ' U% h7 o6 _: l, ]
  1716. LDA #$218 ]! U4 Y) R# I+ S6 _2 C+ W# p0 G' R# n
  1717. STA $BB8 V8 Z$ k4 s/ H1 e/ M
  1718. JSR BULSEL_DN_WRITE) U: s* P% I8 o$ J9 ^9 _& w' @

  1719. 0 d" D) T: w7 q
  1720. LDA #$EC
    1 ~" T4 s+ D% V0 H# _; m
  1721. STA $BA5 r; _" F- X, c/ d# j( q& a* }
  1722. LDA #$21& T  F+ ]' }5 r! Z1 r8 H
  1723. STA $BB
    5 ^& A, k# o. L+ ~# r' E- {9 W* [
  1724. JSR BULSEL_LF_WRITE# |$ X9 V' z# }- n( I9 K/ O$ E$ `' n

  1725.   y; t. V) \; K+ n
  1726. LDA #$2C% ^% O; ]( W1 b
  1727. STA $BA# f; s4 W1 l: s5 q3 n1 c
  1728. LDA #$22* k# i; k! t+ e
  1729. STA $BB
      }- c; X' j) q% i# n
  1730. JSR BULSEL_RG_WRITE5 k" h2 o! `; }, ?" l6 u

  1731. & {" F$ y; P* d! r  e8 |
  1732. LDA #$6C) L) o* Q  u8 N/ e0 u2 M7 G
  1733. STA $BA- \! ^2 S! S* n$ q- q$ j" k- G
  1734. LDA #$221 ~9 S1 u& w4 z: f1 R* I
  1735. STA $BB& y& w0 A* U+ c( }! {
  1736. JSR BULSEL_B_WRITE# E, G- w, o- u( g- {
  1737. " M; b  ^  F/ ], i3 i, M: b: i. [
  1738. LDA #$A7/ E: j; K" P7 K4 X1 J
  1739. STA $BA: D9 x( {8 R( S
  1740. LDA #$22
    * O! G4 J1 |# p+ k6 J  @- t
  1741. STA $BB
    $ J# ?# d- V3 x/ e3 x
  1742. JSR BULSEL_A_WRITE* B7 W) f9 z1 ~: \+ c
  1743. RTS, J4 B% _: W! S% N& M- P$ ~
  1744. 2 M, z$ s2 P) e$ b% c; r- n  Z6 d

  1745. 2 T3 B4 f4 E5 `0 k8 ^
  1746. : p( n8 S- S# L9 V& |
  1747. UP_STRING:
    - a0 s5 o* b' J2 V
  1748. .BYTE $9F,$9A,$80
    % t4 O& F. Q5 l$ ?
  1749. * b( ]- N8 k# |5 y6 y8 h
  1750. DN_STRING:
    8 H8 c" m2 q6 M& e) E+ R2 ]
  1751. .BYTE $8E,$98,$80
    0 F" ^& h0 \8 h& S! J
  1752. 5 R5 ^0 o* `  Q: Q/ H* i& i6 {% m0 {) S
  1753. LF_STRING:9 u* x" g9 z2 R/ z: [& K2 z
  1754. .BYTE $96,$90,$80
    & ?6 A$ u# F- `

  1755. " e9 {$ W9 V) {  n- i
  1756. RG_STRING:. u  W3 _0 o4 q" @
  1757. .BYTE $9C,$91,$80' I8 T, S! [- f$ e* q
  1758. 9 t5 f6 J# G2 k! ?/ G' \! {. v
  1759. B_STRING:
    * E' l* f/ l8 X  A+ J
  1760. .BYTE $80,$8C,$80
    ! Q6 r$ U$ L: r* c/ X7 o

  1761. 2 y& o7 U, C$ P1 b, }2 j* V5 p6 L
  1762. A_STRING:
    - Y$ ~3 ]% V9 b9 E
  1763. .BYTE $80,$8B,$80
    # o' w( s% a5 o& p+ o& ^% _4 F
  1764. 3 f& U# A9 O/ b. L/ l+ i; i
  1765. $ x; `+ d; S4 t
  1766. UP_WRITE:. y& k) H/ T6 X; R" \
  1767. LDX #$00' _! M/ w8 J3 E- [0 [# u3 C/ |
  1768. UP:
    ( H# l  M! k, b$ i
  1769. JSR PPUADDR_PROCESS1 Y4 M) m: ?. I, v
  1770. LDA UP_STRING,X
    3 r9 E4 q2 _7 h( a- ^! o
  1771. STA $20076 f& r0 {, |$ B' i7 i/ p$ X# P
  1772. LDA #$00
    6 y& |0 v' W9 C- ~
  1773. STA $2000" _1 ~6 w, q+ O
  1774. INC $BA$ K# E8 t4 j# |& r
  1775. INX* S4 ~  i5 C& ?* {1 x
  1776. CPX #$03
    ! M/ ^, d  x  V6 F! J2 T0 o+ \/ R
  1777. BCC UP
    9 B1 F; m+ s0 u0 K9 ^2 S4 W4 c  q4 u
  1778. RTS0 T  F( \( z3 r( Z" t0 t, ]2 s9 E

  1779. 4 L9 Q2 k+ u9 O$ k2 f6 a3 w$ H+ l
  1780. DN_WRITE:
    ! d- y* \0 Z4 [9 O: |% g4 [
  1781. LDX #$005 K) a" v2 A4 N/ b# M* s% N
  1782. DN:
    0 j/ C/ `7 u( f9 ^
  1783. JSR PPUADDR_PROCESS2 D( t2 m7 w2 b
  1784. LDA DN_STRING,X( l' P2 b/ m" g- l5 Z8 o
  1785. STA $2007
    ! }+ ?' q, h  Z
  1786. LDA #$004 q; T# g2 K9 }; X: d% @( H9 y+ }- Z
  1787. STA $20007 g  U# U4 \3 ^9 a# E
  1788. INC $BA
    4 p; [& r, q' d2 K/ N1 ?# v! Q2 j2 f
  1789. INX6 D7 Z  `$ i5 y
  1790. CPX #$03
    - n5 h5 n* d0 `$ t+ |% A
  1791. BCC DN
    ( f& L. y  u6 s3 [* F- h8 ~
  1792. RTS
    / `3 S! c& a* o6 k$ {' M  N

  1793. 6 F# O6 ?& z! Z; \* |
  1794. LF_WRITE:9 A0 r, q% e3 Y! }1 d
  1795. LDX #$002 M- q1 q. @5 d7 A, C8 i
  1796. LF:
    9 \' _: w6 k2 `- v! ]
  1797. JSR PPUADDR_PROCESS( {, z! ^% Z0 M" @/ z" J
  1798. LDA LF_STRING,X
    : G( _* h" j% ?5 C7 B4 Y8 L& Y
  1799. STA $20077 b+ ~% d% D# n* D
  1800. LDA #$00
    0 _4 C6 f  S/ A
  1801. STA $2000
    1 v3 V' [/ S# P- j& R1 f
  1802. INC $BA
    1 E, o) q" E1 k0 o# L" ^
  1803. INX
    6 a2 B, y' V# d' C5 ], m
  1804. CPX #$039 ]2 P; U2 c+ ]5 \7 A
  1805. BCC LF+ ]" U9 U7 G* E
  1806. RTS
    3 B. s/ g; w7 O' a

  1807. : q& |: P( J. Y
  1808. RG_WRITE:9 @7 \) @0 \* W4 @' p, r  s& V
  1809. LDX #$00. l! I3 F9 ?( z- A0 Z
  1810. RG:
    4 p& o: a4 @5 L; T, I" y
  1811. JSR PPUADDR_PROCESS
    2 `; m2 X( Z5 r( }
  1812. LDA RG_STRING,X- `! ^$ m) l5 d
  1813. STA $2007
    2 y7 z) K! I8 d, X0 d/ I' v
  1814. LDA #$00
    4 Y) f& U- `" g( }, @
  1815. STA $2000
    5 u$ k7 E7 l1 e  Y; O
  1816. INC $BA& H; A7 d& y( Q/ h( M1 u* X0 {: G4 L
  1817. INX
    5 G- j# q# O+ Z$ k1 J$ N4 @& j
  1818. CPX #$032 f3 w% b7 ~5 W4 _
  1819. BCC RG
    2 Z6 U8 X# C2 I4 q! B" N
  1820. RTS
    6 K( e2 a- M) {- i

  1821. ( s  j9 F/ g' S2 w  y
  1822. B_WRITE:3 R  K1 p4 v( e. e$ e
  1823. LDX #$007 P2 ?8 ]8 `/ v6 C0 U3 h
  1824. B:
    $ ~4 Q' {- H5 G) V) h! w; \+ ]" r, A
  1825. JSR PPUADDR_PROCESS
    ( h& p9 A/ V2 a( `( N1 z$ ~* i9 s
  1826. LDA B_STRING,X$ d* H0 [0 R" t+ o1 u4 e# Y$ {
  1827. STA $20076 L% x6 g* @. ]3 v. y
  1828. LDA #$00
    : E$ I8 G* ^5 v0 z
  1829. STA $20008 v0 m5 f, o% T
  1830. INC $BA6 v# {+ j% {- u1 p* {' z
  1831. INX
    , s% n2 L# Y+ t, x8 ~
  1832. CPX #$03
    # F( B9 r3 f3 G1 {
  1833. BCC B" ?. S3 Z1 Z3 X
  1834. RTS% E# ~7 c; [9 h# P+ _
  1835. 0 K- v' V4 A" C# v  p
  1836. A_WRITE:1 N7 E2 @9 @5 u0 H" p
  1837. LDX #$00) B- p4 e4 c: j. a2 F# E
  1838. A:
    8 s8 Z% y8 v: S* c
  1839. JSR PPUADDR_PROCESS# s! \& S" |9 K6 s# a5 U
  1840. LDA A_STRING,X
    8 ?) z( k% E7 @# J6 G- q6 @
  1841. STA $2007
    ! }# \1 S- S$ Q# ?3 a! V- r, b  E4 U
  1842. LDA #$00
    6 _+ ?3 S* m# j0 w4 j, u8 L" F* g
  1843. STA $2000: i2 O3 J2 h7 o! ?& ?
  1844. INC $BA
    . r# ^2 u$ @9 P1 X4 _0 a. D
  1845. INX, p: J" u9 ~1 }
  1846. CPX #$03
    5 g7 X) x: {  V& V6 R( Z# O
  1847. BCC A3 \6 q$ b+ W! V& C' ]$ T% |
  1848. RTS
    1 z0 ]! F. V; ^) y/ B. @# s! z
  1849. ; I6 J( n! S* V, q6 I  G* _

  1850. " [! J0 X) h& m2 N) s* z7 ?/ J
  1851. UP_PPU:' G) X9 f8 {( d3 t1 q3 \
  1852. JSR UP_WRITE
    2 [, j  X5 ]3 @
  1853. RTS
    2 A0 `- |% ]3 M6 k3 k: `! o
  1854. 7 v! r+ e+ ~# [" k5 W
  1855. DN_PPU:# }" E" \  v; W( N9 t! C
  1856. JSR DN_WRITE
    . D# k! V  n* u% ^' a1 ~
  1857. RTS1 H9 @3 {" J1 M$ O1 `4 J0 M$ T. P

  1858.   T- X& C2 z3 E$ H( ~" {' K9 i
  1859. LF_PPU:
    7 w! K0 l/ ^3 s+ R
  1860. JSR LF_WRITE* x7 z  K. y& \/ ^9 z9 a0 R" C8 s
  1861. RTS
    ! J" i6 X+ U- z" x/ T
  1862. 2 n' s7 M" z$ E
  1863. RG_PPU:
    ) D; }3 ^2 p9 Y) ]
  1864. JSR RG_WRITE/ W. Q& \. r1 x
  1865. RTS7 p  I" v' ?( s" r: M6 S0 W
  1866.   g& u) C( b8 @( z  |
  1867. B_PPU:
    " I2 @4 C4 X2 p' h. d, Y) J/ r
  1868. JSR B_WRITE5 V1 T: |" ~7 P* q2 u
  1869. RTS
    9 U+ w6 m8 j  q% e
  1870. ' v1 [6 Z4 y/ Y2 e
  1871. A_PPU:: f" @5 D3 U7 h7 x% F8 k
  1872. JSR A_WRITE
    . J4 v9 m- E1 g
  1873. RTS* Q- P- R7 F, h6 l
  1874. 5 X) O! s# Y5 I, k8 G3 V3 s1 ?

  1875. , t, U; w5 Q  l; y8 O1 Y
  1876. PAGESELECT:3 B' u/ t# o5 ?+ a0 L5 q4 k3 A
  1877. PAGE0:6 c# X3 x/ K9 a' d' T# b
  1878. LDA $07AA9 ~% ^  n( T( ^0 M+ ^; F" @
  1879. CMP #$00
    / Y8 e4 c3 t$ e8 F! w
  1880. BNE PAGE1: W) \" n$ `4 [' ?7 N, ?- |& Q
  1881. ! A8 m9 i: s7 r2 \1 x" y
  1882. PAGE_00:5 [( R# Z. R! z2 F$ _
  1883. JSR BULSEL_PPU( r, r4 i0 D" ?- E# w' U' Z
  1884. RTS
    6 x- S/ u. {1 g
  1885. , A$ Z- U/ Q' ^1 l. d" y8 U- d
  1886. PAGE1:
    ( y8 ]- {7 i. a+ Z0 ]% A5 a
  1887. LDA $07AA- I' _% T5 T! V2 n) \9 c
  1888. CMP #$01+ Q2 N: m5 E# @' A2 @
  1889. BNE PAGE2
    % [2 {* ~$ x" ?# Z

  1890. ; }1 X2 e) Y" G4 {% ?
  1891. PAGE_01:
    4 x! _0 y$ M) a0 B: }  O
  1892. JSR INVINC_PPU
    ' P2 L$ c( k3 u  u9 B0 f1 Z" M# p
  1893. JSR LIFELC15_PPU
    9 }& D  W! V- t0 o' O
  1894. JSR DOUCON_PPU
    4 V4 K( A6 d, k
  1895. JSR KILLON_PPU
    3 U6 w6 i8 X+ `. T
  1896. JSR SKYFLY_PPU
    0 x- u) L, Z) S' D& A4 M
  1897. JSR LIFELOW_PPU/ \- z, C  \3 S3 n
  1898. RTS
    % M" {3 o/ ^0 I& ~! Y# S

  1899. 1 y9 R/ X" Q/ i6 d4 w! @- f$ N, B. N
  1900. PAGE2:
    3 v7 l$ I5 j8 N3 X) X" l& t/ B( @& d4 _+ |  M
  1901. LDA $07AA: t0 h+ r4 P4 x( A  ?+ v, L* M6 s# k$ ~
  1902. CMP #$025 O# h! Z3 N% {0 O9 A- f  l( G
  1903. BNE PAGE3) M! V6 Y5 W: u/ f
  1904. & S, I! a2 ?" X9 k3 q. V  y
  1905. PAGE_02:! d7 x# c8 z+ e) z. V
  1906. JSR BULADD_PPU! v; o# d' s* n' R; U, I2 S
  1907. JSR SKINGE_PPU
    ' z# {, T# C- L' r
  1908. JSR BULMIX_PPU6 O7 J  ]5 D. C$ L
  1909. JSR ENELOC_PPU
    ; {% z" q2 b1 j7 c) v
  1910. JSR FOCFUL_PPU
    % ?3 e+ d9 ~# U, L7 S/ L
  1911. RTS
    7 k: `2 I+ X  k7 Y2 E1 ^
  1912. & n. Z8 V! \# B/ j7 D
  1913. PAGE3: 1 r; g) M# [7 d' \, B
  1914. LDA $07AA- b  ?" T' G. o& ]2 L( J) H
  1915. CMP #$03
    & f0 e% @& F3 k, K
  1916. BNE PAGE4; j6 S3 B- w; q7 M/ Y# W9 \& L0 m
  1917. ( J: n1 G( a6 R9 c+ V9 L
  1918. PAGE_03:7 l7 e6 I  b( c  n0 _# l3 q" x& w
  1919. JSR BULCON_PPU
    2 @! |) @$ ^' ^# Q
  1920. JSR SPEBUL_PPU  j; W2 ~$ s* |" ?/ P4 c
  1921. JSR CLEALL_PPU
    0 ]: t. L1 C' ~, |+ h2 C4 d
  1922. JSR HARDMODE_PPU
    6 s2 K9 a/ E0 R" ^# z7 {) s4 @. l% v! _
  1923. JSR B_TO_JMPSTG_PPU8 ~0 T' ]9 Q+ }
  1924. JSR A_TO_PLAMOD_PPU
    ) d+ d5 o: @, H% C
  1925. RTS/ P9 A* L1 C; J5 a: ^4 f
  1926. % O0 i' }9 B. H
  1927. PAGE4: 8 r; Z. C+ ~& B# i) t8 f) _
  1928. LDA $07AA9 p  ^( H  M1 x0 m, |( h
  1929. CMP #$04/ Q- i9 o1 H! W6 ]
  1930. BNE PAGERTS
    ; u# h# ~$ [; }: J/ L

  1931. $ P0 I' \, L' y* Z
  1932. PAGE_04:" I; C( w- F. E9 E& {' _! E- J
  1933. JSR MOVSPE_PPU3 `5 B  d" g: A7 h6 D6 N5 G
  1934. JSR UNLJMP_PPU" ?" m6 @; H# q9 {  H" ?
  1935. JSR DESTRO_PPU# \; F# h- ]& F+ u, l
  1936. JSR EQUBUL_PPU3 w* \% J, _" ]7 R% Q
  1937. JSR MOVESPEED_PPU
      H7 w" x8 V8 E0 s* d+ [
  1938. PAGERTS:
    , z" l' Z6 P+ s; D, k3 v3 Y
  1939. RTS
    . J$ Z% N  o' V+ ^1 l3 N7 q
  1940. " n" q3 C9 u* R2 r6 L
  1941.   @' g1 e% h& j
  1942. PLAYER_01_STRING:
    . g8 t7 M3 [$ k; G2 H
  1943. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$82,$80
    " T5 N7 o3 `8 v# b2 [8 y% Q7 T. b

  1944.   z9 t* z  L. C0 u
  1945. 1 |; |0 i7 D+ T& u$ l' h
  1946. PLAYER_01_WRITE:+ M& H5 T9 }4 L9 o
  1947. LDX #$00
    0 `% Z( `) p; C2 u1 ?& i
  1948. PLAYER_01:4 z) q& ?. [  F6 Y
  1949. JSR PPUADDR_PROCESS  v- i1 P; |! ^. W5 j
  1950. LDA PLAYER_01_STRING,X
    9 \6 k: p5 I: t$ J* U( j2 c5 ~
  1951. STA $2007
    % Y6 {' O. p5 I/ H& I
  1952. LDA #$00' u$ t; x- ]! a& [: i% Z+ v* I
  1953. STA $2000$ E& I7 t0 r* A5 }0 E
  1954. INC $BA
    ! N* Z% e7 d+ V- A! R
  1955. INX
    9 @  X3 _# ~9 ^4 m
  1956. CPX #$0A& c* a0 _; o' H0 E5 I
  1957. BCC PLAYER_01; z) l' X. w+ I8 P9 G; _, h
  1958. RTS
    " r7 \. h: w% o2 ~

  1959. - u' C1 E! W+ \
  1960. PLAYER_01_PPU:
      e! {% q! c; y/ u
  1961. LDX #$00
    # {1 r( s: \, G. d- }
  1962. LDA #$64' I5 A8 i# M5 ^; u  e, x6 [
  1963. STA $BA
    + P& z1 E& E- T% Z* c: t
  1964. LDA #$20. E+ Z# A8 H8 f
  1965. STA $BB
    : c' B- v& C/ T0 |  Y2 g& }1 M4 d1 _
  1966. JSR PLAYER_01_WRITE
    . V. T7 w+ ~9 v" l% h
  1967. RTS
    $ Q; k" Q6 S. s1 V& I" E) q% _
  1968. ' k+ T8 B* o: \2 P% N$ w3 }
  1969. PLAYER_02_STRING:
    3 ?' ^. P$ q0 i" X  a6 @6 i
  1970. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$83,$80
    1 |; D( Z* x+ V/ p! g, \

  1971. 1 G: ?5 p' h4 }4 m7 K+ r
  1972. % ]) {$ i* p1 A* n# F* R  G
  1973. PLAYER_02_WRITE:8 U8 `% O3 g) E  n7 V
  1974. LDX #$00
    5 D  ^% S# E4 D( C  b
  1975. PLAYER_02:
    7 N7 E: ^9 x/ j/ O! a2 q
  1976. JSR PPUADDR_PROCESS. X" ^6 C4 c4 @
  1977. LDA PLAYER_02_STRING,X
    $ N3 P7 R; O+ p% F. V
  1978. STA $2007- x$ G0 o% q5 F! q' T
  1979. LDA #$00
    2 r( `0 T# B# j: t
  1980. STA $20000 v7 f! k5 J: i3 P% B
  1981. INC $BA
    # I4 t: D3 P! O$ o7 t9 q  y9 i
  1982. INX' T0 J% d$ {; m
  1983. CPX #$0A( H1 \9 a6 n9 ?) |5 \) f7 P# X
  1984. BCC PLAYER_02
    9 K/ c" m& K+ L  P: g( \1 ^4 u
  1985. RTS
    & M( J; R, b# G

  1986. 8 C# U/ E$ j0 k& C
  1987. PLAYER_02_PPU:! l+ L. e& o5 ?5 V6 E
  1988. LDX #$00% |1 V9 ?0 t2 b; }' a
  1989. LDA #$739 p7 s4 P* ^1 g1 \( Q9 l
  1990. STA $BA$ F: \$ x$ [, o
  1991. LDA #$200 |3 ?  ~  m9 D% l. @- `
  1992. STA $BB) ^% p) t3 W, f, }( e9 ^1 f) Q4 t
  1993. JSR PLAYER_02_WRITE
    : ]- u$ t1 ]( |
  1994. RTS* P/ L. F3 R: r* D$ Q( @

  1995. / T5 q) `$ I$ l- M
  1996. PPUADDR_PROCESS:$ G: d% L. A) _0 `% K% d  r! G
  1997. LDA $BB
    2 J  M/ v# |2 u. g6 ^
  1998. STA $2006# W* ?8 u6 i; X
  1999. LDA $BA* d1 O1 J0 S4 H9 f1 S
  2000. STA $20063 L, a5 C+ j' o/ q
  2001. RTS
    & w) I# L4 ]  m, y& v/ Y

  2002. ; ^( s$ o$ Z: r

  2003. 7 d% w$ E  R8 a8 Q5 M

  2004. ; k8 v) Y( X- V
  2005. ONE_STRING:  a: m+ h4 h0 ~# R6 c- t
  2006. .BYTE $99,$98,$8F
    4 j4 C0 G# W( W5 F2 x; i; d. g

  2007. 1 \% ^9 y9 S' ]
  2008. TWO_STRING:2 B; \& f5 ?8 t5 c! z- P! `$ v
  2009. .BYTE $9E,$A1,$99
    0 y" R6 T+ @: m1 w1 u

  2010. ! @# s/ R' ^( `6 e9 K6 x' R2 v
  2011. ONE_TWO_PPU:
    9 T! P8 p6 K; C. H
  2012. BNE ONEWR, J" g: Z" X0 k, Z* y( q+ g
  2013. TWOWR:0 f% R& \1 g. W/ w6 d. @& z
  2014. JSR PPUADDR_PROCESS3 n: m% K( r4 N# U/ @0 a
  2015. LDA TWO_STRING,X1 f; T; N" @7 S+ {, I
  2016. STA $2007
    : Y- F$ e+ ^0 e6 |7 w/ ?+ w
  2017. INC $BA
    4 P; L2 F1 ^7 b3 r7 x' _
  2018. INX
    # P) _3 s1 }' S' y  H
  2019. CPX #$03
    6 t! V$ {* K( S
  2020. BCC TWOWR- n! `1 Z1 @  l/ m
  2021. RTS) }% [& p+ D9 V% _* N
  2022. ONEWR:/ D% _4 y9 ?- y5 v# B
  2023. JSR PPUADDR_PROCESS: i* Y6 F" b0 j7 [& ?* S: P
  2024. LDA ONE_STRING,X
    # c9 S: A0 c# \
  2025. STA $20073 O& o  F. }/ f* ^" s4 d
  2026. INC $BA; I+ A- h- m5 i+ @; p! y
  2027. INX% k1 ~. i' Y) n: w* H
  2028. CPX #$035 F+ k5 {! m4 B8 \1 A8 g  X
  2029. BCC ONEWR
    * h7 I* O8 Y. e/ g
  2030. RTS
    / u* M7 h6 Y3 T+ ^
  2031. ' t4 ?9 C# g4 i/ z) L/ V
  2032. MOVESPEED_STRING:
    2 \+ O- C1 D0 R1 K
  2033. .BYTE $97,$99,$A0,$8F,$80,$9D,$9A,$8F,$8F,$8F,$80
    + Z( n+ g5 j! e8 X# }$ v* M0 v3 |

  2034. ) g2 e7 g) D1 R( ?8 {. p

  2035. * J- l- ]8 d7 u+ `
  2036. MOVESPEED_WRITE:& y  Z( D7 c% R9 w& J) Q/ o
  2037. LDX #$00
    0 y8 X, i. v- u4 L
  2038. MOVESPEED:
    4 Z2 S4 k$ o2 ^- F  k8 ]
  2039. JSR PPUADDR_PROCESS
    7 }; G2 i! h+ X- }
  2040. LDA MOVESPEED_STRING,X( s9 x& g5 F; p' l2 a
  2041. STA $20079 h% G0 f0 |6 w  ]8 E/ W7 T
  2042. LDA #$00. ?8 V/ u. V5 r
  2043. STA $2000
    # {8 K! U9 ~8 r& E( C* B
  2044. INC $BA4 a" e1 n3 {6 i# @1 n" p' x% ?
  2045. INX
    , R7 R* ~+ h9 u+ h2 ]9 j
  2046. CPX #$0B; h! ^& A8 V+ P8 h: |/ Y- ?1 ?1 _
  2047. BCC MOVESPEED. ?3 V. W% p8 i4 y/ m0 w; B
  2048. RTS' |8 Q. e; Y$ \* ^9 G5 Q! S5 V. s

  2049. * L6 ], T6 U$ a% s- u$ w' O6 i
  2050. MOVESPEED_PPU:
    2 R: _' k8 t& V1 S! M
  2051. LDX #$00& ?5 w1 z# O. i
  2052. LDA #$AA7 W( V# R* j' j  a+ @8 Q2 d0 g
  2053. STA $BA6 h8 H  h  V* x* C! J
  2054. LDA #$228 W- n- V% |8 e) W9 Y+ g$ ]
  2055. STA $BB' w. P6 Z; R7 [& O2 ~6 t
  2056. JSR MOVESPEED_WRITE) l4 U. z; z" V" K
  2057. LDA $7003" P7 R( n) v  _& l5 S( H3 L
  2058. CLC
    % X- C/ b* K7 Q) }1 r$ N) B
  2059. ADC #$82/ p# M% P# l# w3 p
  2060. STA $2007
    4 h/ D6 V0 D4 m3 H- l4 C
  2061. RTS
    5 ~# u  V7 |3 O! p, C0 }+ P/ E9 r
复制代码

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

1

查看全部评分

[发帖际遇]: yandagui辛苦发帖,赚了 6 个 柠檬. 幸运榜 / 衰神榜

签到天数: 549 天

[LV.9]以坛为家II

发表于 2016-11-20 00:59:08 | 显示全部楼层
真是太強了,感覺樓主可以直接當D商了.
[发帖际遇]: hanjungex 发帖时在路边捡到 3 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 7 天

[LV.3]偶尔看看II

发表于 2016-11-20 01:30:16 | 显示全部楼层
不错谢谢分享!
[发帖际遇]: huanhuan05花4 个 柠檬买彩票,血本无归T_T. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 2060 天

[LV.Master]伴坛终老

发表于 2016-11-20 03:01:53 | 显示全部楼层
这个修改好厉害、、、、
[发帖际遇]: liujunbtx为灾区捐款 3 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 3008 天

[LV.Master]伴坛终老

发表于 2016-11-20 08:57:10 | 显示全部楼层
非常强大的修改!
[发帖际遇]: afti花16 个 柠檬买彩票,血本无归T_T. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 852 天

[LV.10]以坛为家III

发表于 2016-11-20 11:17:32 | 显示全部楼层
好东西,收下了
[发帖际遇]: kexiao1223扶老大爷过马路,警察叔叔奖励kexiao1223 1 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 1279 天

[LV.10]以坛为家III

发表于 2016-11-20 12:03:09 | 显示全部楼层
太强了!佩服佩服!
回复

使用道具 举报

签到天数: 2139 天

[LV.Master]伴坛终老

发表于 2016-11-20 21:28:21 | 显示全部楼层
这修改太全面了 ,
[发帖际遇]: 一个袋子砸在了 nmclib1 头上,nmclib1 赚了 2 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 135 天

[LV.7]常住居民III

发表于 2016-11-21 09:59:17 | 显示全部楼层
这东西找了好久勒,谢谢!!. j5 H( i. h$ L* _+ d
[发帖际遇]: wjb19780515 发帖时在路边捡到 5 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 2366 天

[LV.Master]伴坛终老

发表于 2016-11-21 12:40:20 | 显示全部楼层
感谢楼主分享
[发帖际遇]: 一个袋子砸在了 tariq017 头上,tariq017 赚了 4 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 2138 天

[LV.Master]伴坛终老

发表于 2016-11-21 19:36:29 | 显示全部楼层
感谢楼主分享
[发帖际遇]: datone辛苦发帖,赚了 1 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

头像被屏蔽

该用户从未签到

发表于 2016-12-2 15:48:07 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

签到天数: 347 天

[LV.8]以坛为家I

发表于 2016-12-7 15:53:12 | 显示全部楼层
谢谢分享
回复

使用道具 举报

该用户从未签到

发表于 2023-7-28 22:49:06 | 显示全部楼层
看上去好复杂
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|国治模拟精品屋 ( 沪ICP备15012945号-1 )

GMT+8, 2026-3-17 04:06

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表