设为首页收藏本站

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2016-11-19 22:19:45 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2016-11-19 23:11 编辑 # U; t: T% y. E8 k
+ l; c7 i# u' A2 n( c* c
     [FC][魂斗罗旋风终板END暂停显菜单]
8 D1 w8 Q+ a  y1 V
作者:FlameCyclone(flamecyclone.ys168.com)
& u- q9 x5 x! N2 @2 v时间:2016/11/19 21:46:00$ i" A# J* @9 N8 t. _
更新日志:
9 f* Y# l* C( c$ J
2016.11.19:加入暂停显菜单(共5页).. q& |% R" e1 j, ?" U
2016.11.12:加入无限跳跃.
9 a! ~8 ]9 e1 D8 a8 J  j2016.11.12:加入速度调节.

0 Z& Y" P6 J' ?' ]4 k  y" R7 v0 a2016.11.11:加入敌我子弹对消功能.
( Q/ J; U$ z  U2016.11.11:加入全屏闪灭功能.
* d8 S, j" M: e3 ^: [2016.06.08:加入全屏瞄准功能.
2 k8 [2 b) E: ]( N4 q2016.05.31:加入弹速调节功能.
7 j. c4 P+ k  U' l- |- s5 g2016.01.01:加入高难度模式.  N$ j0 g; ?$ h
2015.12.12:修复消除威胁不足,使得移动BOSS关卡(第2,4,5,6)正常通过.& o8 a" X6 O% N0 H' d4 P; |
2014.07.05:由于对打功能不完善,直接去除,更改为生命锁定.# Y# `# X" K3 O0 h0 {+ I, X
2014.07.05:双人切换功能优化.
- B# W) c1 }5 v- ?3 X2014.06.01:修复第三关浮空到BOSS前必须关闭浮空后跳跃才能见BOSS的麻烦.
# l& Q) O. D+ r2014.06.01:取消生命锁定,改为生命锁定模式下剩余生命不会少于一条.7 e  N2 r' _  t1 q. G1 j
2014.01.18:修复GAME OVER字样只有G和O的错误,原来想拉大字母间距离,看来行不通.
7 W' f1 E& F7 ?2 A* J" o8 u2014.01.18:浮空模式下,P2飞行高度未限制导致死亡,原来是指令本该用绝对X变址的被用成了绝对寻址.
  L$ H: N: g! j" W, c2014.02.08:拿手机无聊时又发现一些错误,所以修正生命剩余勋章显示的错误(某天用读卡器插在DVD上测试发现机器读不了卡,原因是目录级数超过三级,只有刻录成光盘来测试,结果发现生命勋章的显示竟然无压力!)
1 j; T" R: h) T& o3 i& F6 @! P2014.02.13:加入自动演示通关.0 I9 _3 O. }8 r  J
内容:: g- o6 c( v; g/ e& J
23.暂停菜单:        暂停后,自动显示菜单,选择键翻页,方向键和BA键进行各种功能的开关操作.! g6 _5 h# D  q& r! s+ x" [. u8 i9 q
22.无限跳跃:        暂停后,选择键4次,按下开启,开启后游戏时无限跳跃.
* V5 I& A: z) K2 _& E& a21.速度调节:        暂停后,选择键4次,按左右调节行走速度(0-3级).

) S* D  C; A  f! {. _20.子弹对消:        暂停后,选择键4次,再按A键切换,此时敌人子弹可以打掉.8 e2 V# A2 b, ?+ j. K
19.全屏闪灭:        暂停后,选择键4次,再按B键切换,开启后游戏时按选择键屏幕内敌人闪灭.
# |) d. _( W/ z0 q18.全屏瞄准:        暂停后,选择键2次,再按B开启/关闭,子弹对消开启时无效./ r/ ~7 p8 I/ z! D0 l
17.弹速调节:        暂停后,选择键3次,下开启,非暂停时按选择键调节,默认为1级,共5级.4 @  P6 _# _$ U7 L) T
16.困难模式:        暂停后,选择键3次,右键切换,我不相信你能够无伤通关.! T8 b# m% }9 Q7 U$ @6 ^/ a9 _
01.子弹切换:        暂停后,选择键0次,上=快S,下=快L,左=快M,右=快F,B=快普通,A=取消当前子弹加速状态.
( H9 Y/ ?% a0 z% L( V. J7 U  t02.无敌锁定:        暂停后,选择键1次,上开启/关闭,不用讲了,金身无敌.$ I# Y( H& {( t9 B' Q
03.生命锁定:        暂停后,选择键1次,下开启/关闭,生命锁定为16条.7 p2 A: U! D4 h, ^& @+ a8 }
04.角色双控:        暂停后,选择键1次,左开启/关闭,无非就是主机控制副机.
$ \1 ^: n6 n& T4 m1 M: B05.生命底限:        暂停后,选择键1次,右开启/关闭,锁定剩余生命数不少于1条.* q- i5 ^1 S& R2 b7 p
06.一击必杀:        暂停后,选择键1次,再按B开启/关闭,即使是第8关BOSS,一发花生米依然要其老命.
" ~: W) Q5 c/ p0 h( B07.角色浮空:        暂停后,选择键1次,再按A开启/关闭,第三关浮空时按选择键向上卷画面轴.
. {9 b$ M4 k( ]& s. R08.弹数加强:        暂停后,选择键2次,上开启/关闭,此时所有子弹发射数为15发.
. m; q( T+ w) D5 R6 X, G) E8 F09.皮肤更换:        暂停后,选择键2次,下开启/关闭,主机开启时橙黄色,副机开启时为蓝色.
, P0 T7 ]" B" I6 U/ h10.混合子弹:        暂停后,选择键2次,左开启/关闭,此时连射时所有子弹混合.4 p5 n* Z3 Y- \( u/ L/ L: `' d
11.敌人锁定:        暂停后,选择键2次,右开启/关闭,此时敌人原位跑不动.
5 u7 k/ \: N- j& r) c12.跳过一关:        暂停后,选择键3次,再按B使用,使用后可以直接到下一关.
! [# F7 h: a, O/ j% @; r2 o13.单双切换:        暂停后,选择键3次,再按A键切换单双人游戏模式.- e  t/ F0 D8 A! W! @  R2 b
14.子弹方向:        暂停后,选择键3次,上开启/关闭,开启后发射的子弹攻击方向会随着操作的方向按键变化,第二关和第四关的小关建议关闭(开启的话打中敌人太难了哦).# _# ~* S7 ~+ H3 o% D. X7 r
15.消除威胁:        暂停后,选择键3次,左开启/关闭,此时游戏时按B键使得移动物体被消除。; H2 A6 D. `9 B7 d
A.做了一些汉化(小字体),剧情,关卡名及通关后的文字未汉化.
  K+ x1 x, A2 X5 y& i6 Y% Y9 j2 t0 HB.自动演示通关,双人合体打通关,演示时有背景音乐,通关后一样会有结尾及恐怖台词,之后游戏进入选关(相当于游戏自动开始了).注:通关后P1及P2会获得16条生命!也就是说看完演示自动开始后第一版有16条生命!7 }, `' ?( c: Y5 Q
C.生命显示加强:最大显示15个剩余生命勋章!电脑端请开启精灵超过8个(这样勋章不会闪烁),手机端认命了,不过不影响正常操作.
& m0 Z0 x! K0 Q; |6 A8 |% [6 E$ W' S1 g  o3 j! `
    如果有什么好的修改建议,恳请通过QQ(1490868135)联系我(也许我不在线,可以留言在QQ里)* G( y( a# V  K! T' M4 h# Z' V
欢迎大家转载,转载时必须注明出处.5 t. T$ D$ u, L; a  a

' u% t4 w& x1 }' g9 m
游客,如果您要查看本帖隐藏内容请回复

- A! V- ?0 e0 E! m! I
2 T% [4 B2 e3 D1 R6 `* f0 J忙了一个星期,觉都没睡好,眼睛也疲惫不堪啊.终于找到解决方法了,目前VIRTUANES运行不了,请使用其他模拟器玩.( ^8 y0 a: m' L; X- Q$ q
这几天的劳动成果如下:
  1. .ORG $B400  @# y% U( ^# ^% w0 N

  2. - @. [1 S# ?0 x( n( h

  3. : m: d) Q$ o) R& {6 K% ^  g2 B
  4. PROREG:  I! C" m; b& P
  5. PHA
    2 ]* z' _7 z2 R& n
  6. TXA3 H/ T' |* \( J3 x/ O* r( M
  7. PHA
    / h3 L; t  ]  I6 v7 l! }
  8. TYA
    , ?/ i" c: C0 }$ D! G+ z
  9. PHA1 O/ I8 o9 [% F8 j' h3 @
  10. LDA $257 _) v& x, y. \
  11. CMP #$01; x! T  ~+ ^* U6 f. }
  12. BNE RE
    0 u- @3 b+ v8 w9 i( H, C
  13. LDA $010A
    , ^9 l- A1 E6 C- F! Q
  14. CMP #$00
    ' g2 b/ T0 e: G
  15. BEQ P1
    6 ~! O: D& e' I4 a+ z* b& t3 s0 Y

  16. & D6 ]7 Y" U6 Z! U: Z8 H2 [
  17. RE:
    0 I/ l& d/ u3 X7 s: @
  18. JMP PPUWRITE
    1 w( H$ f8 K/ Y

  19. & S' S3 ^; P5 ^
  20. P1:                ; 条件判断2 J; w3 C8 b/ z# K8 v
  21. LDA $7FFF
    $ g$ S6 x5 }" T8 l& B
  22. CMP #$FF
    8 N' G/ H- k9 ^+ L/ M9 m$ |
  23. BNE P1RP( l. m& [% f( {5 E6 {( T
  24. LDA $7FA0
    " H8 n) [* q1 s6 E/ `
  25. CMP #$009 ]' ]! Z" C+ d: G
  26. BNE P1CMP
    9 h, T$ ?, H& G0 g
  27. LDA $2001
    ; X  V, s+ \! m( q5 q
  28. PHA
    5 d8 x4 W/ T2 ?, z  @- g5 `
  29. LDA #$002 w5 m$ S. ^4 D4 N# E$ O. f
  30. STA $2001. w- ?9 K# E( W' H" ?
  31. LDA #$FF
    $ i4 R3 ]- i+ k" `9 i
  32. STA $7FA08 Y1 G$ I3 F6 ?! x5 c# ]) m% g# m
  33. JSR CLEANA
    / e- q$ P6 Q7 Y" }
  34. PLA
    1 e6 ~* n: b9 Q& A9 x: B" U/ V
  35. STA $2001
    % f, G. a' \7 \5 \7 G- `1 g0 C' H
  36. JMP PPUWRITE& J/ `6 s' w# b5 K' a/ M' g7 W
  37. P1CMP:. l1 C) Y. @9 c
  38. LDA $7FFF4 \1 q. H% F1 P6 s- N8 K/ w
  39. CMP #$006 z. E: t! _/ }
  40. BNE RE+ e9 O7 M) e, t5 I% A
  41. P1RP:9 i( N3 F. d3 W0 ~
  42. LDA $2002
    ; Q7 f/ V3 i% B3 j7 r, T! L
  43. LDA #$00! |  j' h2 N' s* [* X2 _% k
  44. STA $20019 N" c, a* w7 y0 O2 o! e
  45. LDA #$FF$ E  b! g0 W" }: U
  46. STA $7FFF
    ) i! @7 D* H$ I0 e; m) x
  47. STA $7FA0
    % R2 _6 s# x0 w  H
  48. JSR COPYPPU
    ! _/ v7 }! |; v" j
  49. PIRP2:
    % k: j, c% J- `: y( Q7 X- f
  50. JSR CLEANA- k) |! p! W5 _5 h, D0 L1 m
  51. JMP PPUWRITE$ @  B) R" M9 U

  52. 3 R; f' n" H" A9 X/ Y1 b
  53. COPYPPU:: w* Y9 @1 W, F+ @& B! w" h, D
  54. L0:% V# ]3 i- [/ f: \6 D
  55. LDA $303 D( k8 J# U% _* T& M! W
  56. CMP #$02
    / q* l* @/ S& C; [6 ]; C/ b7 q
  57. BNE UNPROFC
    ' A; e8 s1 k) }0 [
  58. LDA $FC9 l# ?8 z% h7 X
  59. STA $7EFC2 F- j5 Z- ~3 O1 X& G
  60. LDA #$00" \( C6 {: b0 p0 B
  61. STA $FC
    8 g" R- n5 Q6 A. N: S! u5 g5 D
  62. UNPROFC:
    * b# A- T" Z8 l8 Y4 }' t
  63. LDA $FD  s" Z5 L) |8 h! G0 U! H
  64. STA $7EFD) Q; n' S. J0 W3 r
  65. LDA $FF
    4 U2 A/ ]) C1 ~4 s2 \
  66. STA $7EFF" j9 o! ?4 S( a
  67. LDA #$00& M7 u) a( R7 P9 A! V
  68. STA $FD0 @$ o1 u9 [7 z1 {
  69. LDA #$B0
    6 y' j5 q3 P+ k( c
  70. STA $FF
    ' a5 C; ~  t" ^" u1 k4 C5 r/ z2 H
  71. LDA $07C1$ J8 }3 M6 r; a7 u0 z6 T0 E6 z4 h; r
  72. STA $7FC1
    3 ^6 k" }9 c; y
  73. LDA #$3F7 W  E3 b8 ]) N3 V) d8 }) @6 W) g
  74. STA $2006
    ! B7 S; x6 o7 R' `: K  P, ^
  75. LDA #$01
    5 \/ v. l( V; I) x# n- ?
  76. STA $2006
    + ~, x. ?: w& D2 C  d7 P2 C; B
  77. LDA #$24
    3 o+ O6 A5 c4 A9 P
  78. STA $2007- ?5 k2 ]- `# t' Q. b- i8 w. D
  79. LDA $07F6! a9 s7 m5 ~2 y: y* w8 N
  80. STA $7FFE
    - z% z0 k1 r6 b5 i' C
  81. LDA $00FE
    ' x# q$ m: ~! X9 i1 M
  82. STA $7FFD
    % I3 {2 K& G+ ]& H6 h. |. r
  83. LDX #$00
    ) `3 F$ X2 I1 h  s% p3 s4 H
  84. LDY #$005 b3 L% {% W+ p- R! n7 w
  85. LDA $BD
    4 E# m& I0 L/ ^% X3 Z/ n. ]  b
  86. PHA, H! s& s0 X: z" W( W: I4 R9 D
  87. LDA $BC
    $ D0 x* P* E* F4 a6 |
  88. PHA
    % o6 n6 _, t$ K' o$ z# [8 G9 y
  89. LDA $BB
    . |# ?5 y5 @  Q9 m6 G7 I2 U2 X
  90. PHA5 Q3 ]- C- {' Z* a
  91. LDA $BA
    4 m# w  X3 ?. Q
  92. PHA
    ( t6 H% R9 c  O
  93. LDA $B9
    8 g$ Q' {# t7 t% S/ ~8 ]. L
  94. PHA* |5 W* S. Y! r8 f& `- F' P# L7 u
  95. LDA $B8
    3 |( J3 M4 s* ^; L
  96. PHA
    / T7 ?( v5 t" _, `5 m7 _
  97. LDA #$006 H: ~1 H! |! S  Z  r
  98. STA $B87 Q& k0 b% R. ~1 b( \! {
  99. STA $B9
    " K2 u/ [" j+ G6 V/ q
  100. STA $BA
    * K0 W! s. z6 @* q' X# }5 k0 o
  101. STA $BB: y, u: c- B! c
  102. STA $BC
    & w! V; ]! t2 Y$ n; t, P5 q
  103. STA $BD
    ' F7 s- B" b. j" W3 H
  104. LDA #$00
    6 m- w. I/ I3 O
  105. STA $BA
    1 m/ `( N9 P9 t
  106. LDA #$20
    : [6 n! q+ v' w% r: G: O
  107. STA $BB
    ; z$ i; D* @  M- _* }* o+ h
  108. LDA #$00
    8 W& W8 r- t; D  ]
  109. STA $BC
    9 g5 Z4 u% J+ i( |1 j9 |- y
  110. LDA #$60
    ' w2 s# @/ g$ }5 {
  111. STA $BD# ]8 P* `  {6 a6 U

  112. % d+ H/ o0 K. ?
  113. L1:                ; PPU复制3 A: \% v- T% Z- T) S4 N
  114. LDA $BB
    # y# _6 J( r, Y! a. W
  115. CMP #$30( H, \$ Y# w" |+ F$ e5 a
  116. BNE L2
    7 Q& Z6 I( [/ \1 _$ Z/ _7 @$ D
  117. LDA $BA
    ( l1 U" e2 u+ Y- G' ~+ e7 B) ?
  118. CMP #$00
    6 |/ P: U8 O" v* _3 N
  119. BEQ PROADPLA" I7 l3 x+ n' [8 d/ ]! G1 w

  120. - [4 Q3 @$ L+ k0 h# G7 @: F
  121. L2:
    4 ]' B4 ^- {2 `9 H
  122. LDA $BB
    & a3 v. [4 X: Q: y
  123. STA $2006
    7 }* F$ J+ D( y( U4 z
  124. LDA $BA
    ; ]% M) n; A  p6 z+ G# z" g& @
  125. STA $2006
    6 [6 L. S: M* k8 O  D

  126. + Q/ A, j( {4 O- z. e9 i) q. u
  127. L3:! c% Q+ E: v  n* X' R% `5 i* O1 o3 ]
  128. LDA $2007
    / E& ]' \/ X7 I
  129. LDA $2007( ~0 V4 E  i. b/ q' ]
  130. STA ($BC),Y5 f7 z" s. ^& x
  131. 7 f! U3 A. Q  l' S
  132. L4:  s% ~) V$ @9 M) e4 ?  ^
  133. LDA #$00
    9 |4 @4 g# [$ N# C
  134. STA $2000$ H/ i) E, ?9 X  ]4 n' n' f
  135. INX
    : H1 D1 \" B7 B: s4 y% H, S8 d+ o. n
  136. INC $BA% ~' y* Q7 d3 [4 ~1 V0 X: C, E, J, L
  137. INC $BC6 u3 ?/ N( H& c
  138. CPX #$00
    1 r$ S/ d. B8 Y5 r5 ^1 j
  139. BNE L1- F: K; g7 W7 J
  140. INC $BB: m8 s- p! P" G* B" T
  141. INC $BD' d) E- J  K, f0 V0 G0 b% l
  142. JMP L1
    ' t6 U0 T2 }. {, |& O
  143. ( B6 e& w8 l7 o
  144. PROADPLA:                ;出栈% @' _4 V+ L- _8 e
  145. PLA: `$ W* h. ~2 }5 G: i) b  @
  146. STA $B8, X: j  x4 p4 T6 r; ?) d3 x; i
  147. PLA# c8 S8 g$ X" }, P6 H3 Y4 I0 i
  148. STA $B9% o3 w6 W2 V! ~6 w
  149. PLA
    & j# j5 G: c2 }9 l6 M3 Z" K
  150. STA $BA
    3 M$ v6 H# F: z
  151. PLA
    ( f) R) |, a# i: a" g
  152. STA $BB
    - `1 S  U9 G( Q6 G6 J
  153. PLA+ Y- n& e0 c  Z3 \+ k% Y' w
  154. STA $BC' b4 P/ o; X% v1 ]0 X
  155. PLA
    ) d3 c$ X" i- Q, G
  156. STA $BD; A' W5 y+ x8 J1 d5 j% {
  157. CPRE:
    % V4 \& F. }0 P' D& y
  158. RTS
    0 R$ O6 Q, n- A3 D' V- Q

  159. 5 P. I9 T# J$ S$ y8 v
  160. CLEANA:                ; PPU清空
    # L3 ]3 T* m$ c$ c
  161. LDA $BD9 x$ D9 O% j; }5 _7 n! g
  162. PHA" H  W* P7 S( q0 M
  163. LDA $BC7 ^* U0 E( h% f) f/ c
  164. PHA2 w8 W- z1 H  o
  165. LDA $BB
    8 T& n3 Q" y' Y4 O* Z
  166. PHA$ G$ z: N6 y. d" ?2 W4 ^- i: i) @
  167. LDA $BA- P0 q& L" m' V8 h
  168. PHA3 p3 r* r9 M; ?9 T" |! U- O# R1 u0 P7 H
  169. LDA $B9
    , x. E. M2 e! A! V5 o; b
  170. PHA1 D$ B' A2 }0 f" f& `0 q
  171. LDA $B8/ N" S5 `  G$ U% V! I  ^
  172. PHA4 N+ k! C* u7 J/ A' F) b1 ~
  173. LDA #$00$ u% G5 \9 c- W1 U
  174. STA $B80 J9 c* m$ {& R. t
  175. STA $B9
    ! |8 @  i) s  ]& {' ?8 i
  176. STA $BA/ ^+ f% k' w8 w
  177. STA $BB
    & ~$ k. [! p: p: @# E% z; E
  178. STA $BC# z: a5 H( j1 v" k! y
  179. STA $BD! _9 ^# x: q( m$ x+ i+ S
  180. LDX #$00
    8 _, }5 T, A# B/ _- C4 p3 b
  181. LDY #$00
    ) a! l; Z8 Y7 {: M, A; O1 u! H/ B
  182. LDA #$00
    ! V, `4 n+ L2 j. u! {
  183. STA $BA( x& Z4 g7 J* Y8 ?: X: M& |* T
  184. LDA #$20- _4 ~0 l* ]+ s# Y9 @! `; g6 A' c
  185. STA $BB
    * a2 I8 G6 E. v6 S, e2 g
  186. 4 k8 j7 K7 d2 m4 i
  187. CL1:, V: `9 F- |7 v" N3 g9 z
  188. LDA $BB% b1 ^7 C1 U" C& @3 }
  189. CMP #$30
    ) k) O" {% A( g2 o( b% v( D
  190. BNE CL2
    2 ~: y- W. X" V0 l
  191. LDA $BA: U, W# ]2 {2 E+ z4 }" l  h
  192. CMP #$004 P" H7 m+ y' F6 D$ O
  193. BEQ FREEWRIYE
    , x7 Q1 X$ d; m" a- @) w& h+ V

  194. 4 `- g7 }1 |% v- \
  195. CL2:4 j3 r- _$ f# S& ^+ o
  196. LDA $BB
      o1 R3 Z  ^# g
  197. STA $2006% _, C; s/ s  ]& k. h" k
  198. LDA $BA
    9 w7 t  g  ^9 p$ }2 o
  199. STA $2006  Q5 r0 ]# l- D
  200. 6 D) |5 ^; T7 M' Z% M6 E. X2 G( w
  201. CL3:
    " \. s9 b% W9 Q! Y  i
  202. LDA #$00
    : \- z+ o9 k' M9 M' L; m2 U
  203. STA $2007
      z) x& }8 `8 w( x
  204. 5 |: L: y( W$ P$ m* Z  p& T! ?
  205. CL4:% F4 f. s, g/ T
  206. LDA #$00( C8 ]# F- X1 @  |% w8 ~
  207. STA $20002 Y1 w/ F9 G' E2 f' }' Z* {% w* O8 k
  208. INX& C7 c5 N9 s5 V
  209. INC $BA
    7 N0 F. W+ L1 I
  210. CPX #$00
    ( @' T! }9 h9 m( i7 L$ P2 G
  211. BNE CL1
    " e  D) u8 E. z9 o. e# H
  212. INC $BB
    6 b6 |. p. ^: F8 S8 K; [5 [
  213. JMP CL1
    ( ]$ N( F: W7 M. D

  214. 2 h' C9 J3 u/ k. K  H
  215. , i& Q- ]' c; J1 i) C  _$ P
  216. FREEWRIYE:
    3 v5 c7 g* _3 M% n7 c8 C1 J
  217. JSR FREE
    / r  c7 T# J( ~3 d  m: D

  218. % o) j- H6 j5 n" a0 b$ |

  219. 5 T8 q2 i, X- E$ Y5 y% n

  220. * _8 V5 y3 ]. c( v; Z
  221. % D: K, S& A2 a
  222. ) t0 H% _3 v8 X9 \; C6 {
  223. CLEANF:                ; 恢复现场5 @1 U) y' b$ ]$ L- U
  224. LDA #$08
    ) i3 j3 [+ H, A4 a, ]
  225. STA $FE: Z5 G) b0 M5 Q* B% U8 d
  226. LDA #$004 w9 T( C$ y, E) V0 G$ s: X
  227. STA $07F6) t6 d' p, T# i% Y
  228. LDA #$24" X) d! }. z, h# L. k
  229. STA $7FC0
    ' ]5 @! v9 J9 b" Y! m- ~" \
  230. PLA
    ) E* e# d8 l! {$ n; A1 w5 T
  231. STA $B89 q2 X1 B2 f6 Z: b8 h3 h  ?
  232. PLA
    9 |- ]( Q+ g& t9 u
  233. STA $B92 d" N. i; Y, ~
  234. PLA2 _9 Z0 V3 P9 K( U' t3 o0 y1 R
  235. STA $BA
    1 K6 z3 F: F( N9 O- i
  236. PLA
    9 C& A7 u- n" ~0 c* Q7 Y
  237. STA $BB+ I: w: B& h3 B0 }# o4 ~5 N3 P
  238. PLA
    7 ~  b9 [' i3 e) o; S/ H% E( [' z1 W
  239. STA $BC% `, u* T" b0 a$ Y8 A# X  v; M
  240. PLA
    + P7 K/ N0 \  D) b
  241. STA $BD
    & M% e* D5 k# `9 b
  242. CLRF:
    + n/ q. q: G6 }
  243. RTS3 z$ o; u- H0 [5 Q/ V

  244. + x) ?: O2 U& Y; T3 T9 i
  245. W_DATA:
    9 ~! y) i- ^( t: f9 P3 |
  246. .BYTE $00,$01,$02,$03,$04" R8 g7 z0 Q  K4 c$ y8 U4 f' O' B( q' Y
  247.   7 {3 A4 B# v: ~7 }
  248. W_PPU:7 Q/ ^2 \  m* l# X$ e
  249. .BYTE $98,$97,$90,$9D,$96) h/ ^1 `: m  T

  250. % ?2 j2 Q8 G% s: i" c
  251. P1_STRING:
    " p. c6 z9 _  f- D% R
  252. .BYTE $9A,$82,$00                ;"P1"& D) s- o! t  Y) q* l: b2 |1 C

  253. 3 H9 H" r5 x' }4 @
  254. P2_STRING:
    5 R7 `* V: L6 e' e
  255. .BYTE $9A,$83,$00                ;"P2"
    0 E  O* t6 Z! l& g: Z
  256. + }; U$ `8 x6 A# R7 y  a
  257. WEAPON_STRING:& q, e6 O9 R0 ^- \6 ^8 N1 y
  258. .BYTE $A1,$8F,$8B,$9A,$99,$98,$00  ;"WEAPON"
    % u7 J1 J; k& g* q0 A+ X0 O

  259. / E) |6 U$ X% J9 d5 a
  260. RELIFE_STRING:* K# c' R: A% I7 {2 H0 n6 K
  261. .BYTE $9C,$8F,$96,$93,$90,$8F,$00  ;"RELIFE"
    + s, `+ Z0 w) Y+ E

  262. " P- u8 r3 V; L
  263. P1_PPU:
    $ `. |) E9 l3 c$ t2 C- O
  264. LDX #$00
    4 @1 x+ a0 e, s- X9 z) r9 L
  265. , e% a; h& z" I' n
  266. P1_PPUW:
    & \- {6 }. O/ b9 V! d  n
  267. JSR PPUADDR_PROCESS% c2 f' S2 h) ?- @/ f
  268. LDA P1_STRING,X& l7 z, N( _$ ?; m
  269. STA $2007
    6 \  V) p  M, P
  270. INX) A( H" U3 w; H. Y
  271. INC $BA/ D: j  [7 |7 Z8 z+ \0 B
  272. CPX #$03
    % @$ Z- z  W. }4 F" c4 B5 }
  273. BCC P1_PPUW
    & ^# I$ ^# a# G7 l: b$ |/ @
  274. LDX #$00
    ) Y/ w, ^/ R6 `) o% r
  275. RTS
    6 T2 \; E/ @  ]0 x+ I

  276. 6 q" @+ g" I' `6 F+ p4 k, C( r
  277. P2_PPU:
    9 r" r1 o$ U) _8 y; d7 [, l
  278. LDX #$00% T" m) u0 b3 N  m+ Y

  279. ( ^/ m9 W! a% ~! l
  280. P2_PPUW:" J$ w, V: d  ~' G/ \# D( x
  281. JSR PPUADDR_PROCESS
    ) R/ q- A. {3 Z; k. L0 `
  282. LDA P2_STRING,X% n$ G. u- o* F3 s5 n' P3 t1 g3 ~
  283. STA $20076 E, K& j- ]; ?+ P# U
  284. INX
    : A8 p3 H6 R( x' D( }. j
  285. INC $BA  I( M; L2 S: ^& N7 @( _% C( v
  286. CPX #$03
      q+ h4 J8 S6 ~' n
  287. BCC P2_PPUW! Z* L5 C' L, E/ y* y
  288. LDX #$00
    - O& e) C7 A. l1 C: t
  289. RTS
    / s: P3 c( C. g5 R
  290. & @7 ?. s: ?% c
  291. ) T$ l9 y% G; I7 G% `" `$ ?$ G. Y
  292. LDA $BB
    4 z( s) K& ]1 q0 s
  293. STA $2006
    , o1 W! ~+ P! P: b
  294. LDA $BA
    / }0 }; Z; j2 J
  295. STA $20064 z% n  J  J% I& Q
  296. RTS# W0 w( }$ }8 }5 ^- d% @

  297. + c$ W, C& c- U/ Z3 _2 Y' \" R0 G
  298. - f& U" ^# c: E$ [4 {$ Y  L

  299. : Y( \/ h* X$ I, C- I+ |
  300. PLAYERLIFE:' u+ c! p1 o6 o) ^* d
  301. JSR LIFETODEC
    : {6 F  Q! x" U% @+ a9 e  U' M
  302. LIFEPPU1:
    # g$ W3 c: L2 n, b
  303. LDX #$00" N5 }' Q4 t$ @) C9 j
  304. LIFEPPU1RE:
    7 v, Z& @9 P; n
  305. JSR PPUADDR_PROCESS
    / {$ l6 X3 n* O1 L0 r
  306. LDA RELIFE_STRING,X2 g2 _" @. _  n" H, C+ L
  307. STA $2007
    / q. V" H5 o$ @1 q4 m+ w
  308. INX$ W, O5 ]% `! x3 `! e8 l
  309. INC $BA$ A  D$ y: @3 q/ {0 l) h4 _
  310. CPX #$07
    ! |7 c7 p9 H. G" C2 C6 U
  311. BCC LIFEPPU1RE
    ; ~% y0 r& H: V- m0 s0 e+ a6 ~

  312. * r! G( a' i  \8 b
  313. LIFEDEC:                ;生命显示写入+ o, q4 A+ b4 {) g* u% B$ N
  314. LDX #$00
    , L  z: n" f$ D- H& J* J/ n+ _
  315. LIFEDECRE:
    7 C  p1 ?+ Z) P6 q
  316. LDA $7A03,X7 N- P0 |+ R$ ^
  317. CLC6 v+ L. k9 O1 j& Z1 r; G( w! f& a! [
  318. ADC #$81
    / J0 ^8 t& w' `; o+ `  L9 s( d, p; k
  319. STA $2007
    * o8 D7 X: S8 Z
  320. INX) m. d* ~$ J9 ^7 S! y6 {( h
  321. INC $BA- Z+ R" r2 S8 f
  322. CPX #$03" I$ k0 ~+ N1 p1 }3 [" E/ t' {
  323. BCC LIFEDECRE
    0 w$ h+ c- x, N# s
  324. LDX #$00
    - |/ O5 S5 z, ]5 C& t/ Y
  325. RTS% R( g" V# {8 M* G) r# |
  326. " I$ d: |8 _  _$ `# w' x: X
  327. LIFETODEC:                ;十进制转换
    " y' t  R- u( Y+ |$ ]* G
  328. LIFEL1:        ;initialise+ Y' M$ {+ E8 r0 ~7 y2 m
  329. STA $7A00        ;$7A00=F30 ~; f  J) v* g
  330. LDA #$00
    ; l/ I4 D! Q+ ], O: m" ]
  331. STA $7A03        ;$7A03=000 K0 n! n4 j' n1 ^" r
  332. STA $7A04        ;$7A04=007 z0 a9 D. O6 o
  333. STA $7A05        ;$7A05=00
    6 G# ?% L0 t, x
  334. LIFEL2:        ;copy data $7A00 to 6001
    6 P9 s# t0 s- @9 ?! f# Z
  335. LDA $7A00
    - I. s' o" X: T6 q
  336. STA $7A01/ H( d- o! K& G! w% ?# a

  337. 2 o) E) l  J* B1 q
  338. LIFEL3:         ;hundred
    8 T) I" T# I3 p+ ^
  339. LDA $7A016 x2 X: H8 c# G4 S, Z; ?8 \" y  K
  340. CMP #$64
    + I/ k* r3 `; S* _( }. O/ f
  341. BCC LIFEL6                ;$7A01<100 goto L6
    4 T$ G, K. B7 O3 @5 V5 P
  342. LIFEL4:' ^8 d0 i  R. z& K; }4 W" G
  343. LDA $7A013 Y, c# n0 S  }" x
  344. SEC3 S* V) [9 k. u2 Y# A* ^
  345. SBC #$64        ;$7A01=$7A01-100$ p( i, {* {  g! q0 {; G6 d
  346. STA $7A01
      e6 x7 x+ ^& w! Q( @! {1 x
  347. INC $7A03        ;hundred++- K* ?5 m1 G) ^6 ?$ p* R$ m
  348. LIFEL5:
    # Y( X+ o. H/ u, P" s' d8 S- S
  349. LDA $7A01! q( r* n: s+ I7 e& ~
  350. CMP #$64
    / u6 |& u9 z! k! i
  351. BCS LIFEL4                ;$7A01>100 goto L4# u8 @; I& H4 T( ?& j( O1 n) t
  352. 3 z' |; I; o' H. p% l
  353. LIFEL6:        ;decade( t6 I% L! G; V- H
  354. LDA $7A01# X$ C$ x6 a4 A
  355. CMP #$0A
    1 w. q& x4 ~) I
  356. BCC LIFEL9                ;$7A01<10 goto L9
    $ v" j# A0 W" R# `! ~
  357. LIFEL7:       
    ; m0 i. u9 `/ w& k, [' ]
  358. LDA $7A012 _. @. Z" `1 R. G2 m. U
  359. SEC$ q5 l5 G4 O, Y  @% q0 j! x
  360. SBC #$0A5 W( E3 f0 b2 y1 ^1 W1 U
  361. STA $7A01        ;$7A01=$7A01-10
    4 p! {- O$ M% \7 ~( U7 G
  362. INC $7A04        ;decade++
    - T5 p4 {! o6 l5 j* e" |
  363. LIFEL8:
    9 G0 g3 a1 ~! U# x4 w3 F
  364. LDA $7A013 @# e. R9 d/ V0 e, t4 p
  365. CMP #$0A& F" F; C0 @% s1 D$ d6 O) s2 M
  366. BCS LIFEL7                ;$7A01>10 goto L7( J7 n8 u5 }$ u: U$ ~1 {1 w
  367. ;unit/ h! d: B# H1 g* D! `; A% |
  368. LIFEL9:9 C2 `8 }; x) M; @! d1 q3 H
  369. LDA $7A01        ;$7A05=$7A01, `! u1 m" d, E* @$ p
  370. STA $7A05        ;unit) E9 o) u! y$ ?( E% C! v6 K
  371. RTS        ;return
    ) F1 v- o" j- t- |* |7 g

  372. - i9 z9 Q& S2 s
  373. & A' Q. ^& J; G9 I- X; j

  374. , \6 h- E9 S' p; y# ^
  375. WEA:                ;武器ppu写入  q. Q! u7 p- w( d4 I' g* o! {
  376. LDX #$005 m% z3 T; ?  O3 D
  377. WEARE:/ U5 D. ^; ~. Q: |6 r: C
  378. JSR PPUADDR_PROCESS
    3 p/ o5 Y# I! u
  379. LDA WEAPON_STRING,X
    " o' S* D1 q- t3 w% k; a% a9 X4 Z
  380. STA $2007; Q6 o0 u7 A# I  k4 i1 a
  381. LDA #$007 U4 G* K5 G& |4 G" [% f8 u
  382. STA $20000 m$ k" a( o/ m. V: J- q
  383. INX
    " V. f2 b  X/ {% \
  384. INC $BA9 \0 q' T4 k" w) t( U- R+ `, g
  385. CPX #$07
    : C% D6 m- _( c7 W0 e6 r
  386. BCC WEARE/ Z$ {& U" a( a( u2 F

  387. 5 }( g% z2 M/ \/ m0 J$ M
  388. READ_WEA:5 \7 s( }6 G% E! y' e$ o' ], F
  389. LDA $B9
    + q; J& F! D) e  e7 b1 F
  390. AND #$10. G! _7 M/ E" A8 r5 R0 }4 \* U
  391. BEQ NWEA
    0 b% `$ E. a) Q& V. A$ V
  392. SWEA:
    . i; J; D% W+ _+ Z
  393. # `) W/ W' P" ^& T3 _
  394. LDA #$9D
    1 H8 l" F- j" z! ]6 ^$ k! {1 T
  395. STA $2007
    6 R4 M+ Q3 i3 Q) ~' f2 o1 O
  396. LDA #$00" f- Y9 ^; {2 _! C8 i  p
  397. STA $2000
    ! O) Z3 K/ _& |3 q( c8 F2 h' y9 a
  398. INC $BA
    " }: F8 a3 s4 ^! Q; u
  399. LDX #$00
    9 \  g1 p' Y; ]  j7 |" r
  400. JMP WEAREAD
    " r% r( g1 l$ o2 f: ?/ R  Q
  401. NWEA:8 u& E: R; R1 G
  402. ( o; i8 C# O' x# Q) E5 V4 D8 S5 g
  403. LDA #$8D
    8 K+ Q2 ?, |# U( E( ^! e, F
  404. STA $2007* j# Y: s5 c# u9 E4 a
  405. LDA #$00
    4 ^, H* x+ A' l9 s4 q: `& i4 `1 L
  406. STA $20000 b& \3 o. e9 `: K
  407. INC $BA
    8 }, r% q0 K$ m; u( h& J/ e! g* ^
  408. LDX #$007 i: G% e9 P: V* x' ~9 K( Y
  409. WEAREAD:% g5 w" [# N6 @$ N) g) f
  410. LDA $B9' k; H3 W0 Z1 F! j( y0 g
  411. AND #$EF
    % N6 |0 I; t4 ~' U' H8 e8 }
  412. CMP W_DATA,X
    , G, T9 z8 {) [1 r3 Q
  413. BNE WEACMP
    0 ^. L, ^- s4 g" [* D: G- a6 B: v

  414. + F' ]  t9 y0 h
  415. LDA W_PPU,X. K% f: b" b1 u3 l, z7 _0 A% z' j8 e
  416. STA $20077 `( a8 j3 m- d( g( Q5 k
  417. LDA #$002 @. L" H4 g" v  `2 z# i
  418. STA $2000
    " M! Q$ D9 Y+ K9 Y& S5 s
  419. # J& x$ h* s' F2 R" p
  420. WEACMP:
    8 y9 M- k6 F1 g/ k# e# l8 r
  421. INX: ?0 l5 C0 n8 }9 @& v! n; p
  422. CPX #$059 r4 T( g: \; Q
  423. BCC WEAREAD1 ^/ C. c# B* P2 P
  424. RTS5 S/ _9 c2 z. J0 A+ u
  425. 2 u. c$ V, L/ E% X; {
  426. 3 r& ^  E$ ]& p+ R3 n4 c
  427. PPUWRITE:
    ; a# u& F/ W, h, c, `
  428. PLA
    : Y* B2 w. e  Y- m
  429. TAY
    3 Q7 a6 X) f; S" ?! f
  430. PLA5 ?9 V( c" E2 e
  431. TAX
    " j- H& A/ g9 u/ y# I/ `4 ^
  432. PLA, e5 A8 p, y) U. D, x1 u, e9 t# @
  433. LDA $25
    ) h1 a! ]. f5 `! F9 E
  434. CMP #$00( y, {/ ?( i/ w" o* T& C) _
  435. BEQ WP1
    1 P; q  o, Z7 K* f
  436. LDA $25# n: e- x( V/ B; ~
  437. CMP #$01
    1 S6 v) p: {9 A# ?
  438. BNE WRE$ d6 P( t. z  g5 X  y8 l# a  T
  439. LDA $F5,X) }$ e# U- _; p4 I
  440. AND #$EF+ d1 d, x; g* b  n# \& f  J8 z
  441. BEQ WRE
    / E: R) l. U! J' P5 M; o" n
  442. LDA #$008 `( h, N4 I( y# y
  443. STA $7FA0
    , G* j) L: Y0 `+ E# e8 ~

  444. 5 m: ~' r& F& v7 R+ _/ S# U" @
  445. WRE:
    7 ^: F$ ^5 W8 V- _7 _, V$ F
  446. JMP $A000; w/ \0 J" n" o6 `6 g1 D( B
  447. 8 p9 v4 M% T' V, l! j- E
  448. WP1:/ E* o- {, q) S" K+ }( }
  449. LDA $7FFF' ~$ n+ ]) @0 {) }& R  F* \. G
  450. CMP #$FF. W% L6 ^2 e) U, J6 M
  451. BNE WRE
    + d: r$ _- t- C
  452. LDA #$00
    1 O; @" x2 t7 M
  453. STA $2001
    ) Z+ n) D9 q) Z, ~: r, O
  454. LDA $BD
    , B3 h4 X# B% m, n. T3 j
  455. PHA1 P6 h2 e; l  ^5 e
  456. LDA $BC) C9 I2 D% T$ W2 R9 a4 t1 X
  457. PHA
    + R1 b% _/ D+ _. P, E2 g
  458. LDA $BB' d0 }. y3 [3 [! l; j( J
  459. PHA
    7 r0 h) b+ A5 ~: J& v$ `# |
  460. LDA $BA$ r1 n1 O3 n* Q; d8 C% u
  461. PHA4 a; I& N9 ^/ D/ E
  462. LDA $B9
    * L. X  H, k+ d, Y4 ]
  463. PHA/ N( J' {; |4 O# R+ r2 T7 ~
  464. LDA $B8
    ; a  u# R; M7 @
  465. PHA7 M0 J- V1 U$ _6 O6 H2 N2 o. d
  466. LDA #$00' S/ d. O) a5 Q: R
  467. STA $B86 `5 N4 W) a/ H3 P5 U! J
  468. STA $B9! {4 v5 B7 ?. P# L) q+ A
  469. STA $BA
    & ]8 O* ^8 w5 d: z# h+ k, j
  470. STA $BB
    1 u1 L( |$ D* f* D) G4 p( j
  471. STA $BC
    7 n5 m1 P1 I6 I& ^4 D5 F
  472. STA $BD
    $ R* k& _/ @0 e
  473. LDA #$00
    # S) i2 y( k9 C1 T+ W
  474. STA $7FFF
    " A! {& c' K- `
  475. LDA $30
    ( }0 |1 T1 W7 r6 U1 K8 `
  476. CMP #$025 [/ S% n% y, R( y) l3 o3 c
  477. BNE UNPROCPL: k# u9 M7 b! P* T4 }; i: Y
  478. LDA $7EFC/ M+ b4 J3 ~) m' X6 q
  479. STA $FC+ F6 _( l1 n  }0 t
  480. LDA #$00
    . d1 Y3 Q' O- N$ g# ~
  481. STA $A45 {) o. m; B8 g7 _# x: g
  482. STA $A5
    & q+ g6 X2 }, Z. C4 d  ^$ D
  483. UNPROCPL:% R1 ?4 T* x: i' x
  484. LDA $7EFD6 v  I0 W( c9 o0 M. b; n! M
  485. STA $FD
    / D  f- ~% A, Z) z' o
  486. LDA $7EFF3 P' O/ y6 q7 O3 F. ]
  487. STA $FF$ |+ D) Y. P! T

  488. ) V% ~2 s2 S' r0 L4 w& i2 g
  489. WL0:4 _2 L6 `( b/ C: H- K4 n  B
  490. LDX #$00& Q  J& D6 I% M" Q
  491. LDY #$00
    ' t& U; M  q# J) e* q
  492. LDA #$00, k. Z4 u" f  u/ b( Q! B
  493. STA $BA
    * x) A4 N( L3 }- r2 x4 }
  494. LDA #$20! L6 x- w0 l- g% u2 D( h0 I% Z, {
  495. STA $BB0 h) e6 A. i( e* r6 q  X3 \
  496. LDA #$00+ \5 \9 @, p  W$ ?
  497. STA $BC8 I  j1 D' ?  y) L( y0 c7 G7 Q" L
  498. LDA #$606 h& `. ~1 M  f, I9 X0 r: r+ N
  499. STA $BD7 |( L" e8 q: P( \2 U1 Y

  500. ; ]/ w  `, U' R8 [+ L* f! o
  501. WL1:
    + y2 L* r- Q2 |' z, t0 p7 j
  502. LDA $BD4 {/ @5 b% G6 h
  503. CMP #$70: Y: O5 C' o' B* n" ^9 {7 r8 D
  504. BNE WL2
    / ]( J% J$ B6 M$ G# v0 j3 M
  505. LDA $BC  g' O0 M9 N6 Q! u8 T$ N8 @
  506. CMP #$00
    4 x- `% ~/ J9 y% s$ I6 S, o. V# A
  507. BEQ WLR& G3 @1 q: I- O# N5 G' M2 j
  508. 5 t9 e! y0 L  M, t0 v; @; T
  509. WL2:/ S3 @3 u! {) |# {) H
  510. LDA $BD; U0 A4 Z0 w" F
  511. STA $2006( q' p3 b( ?- Z+ X  ?1 c2 V- F
  512. LDA $BC
    + E0 G0 k+ ^2 X! v7 E+ H: @+ |' V
  513. STA $2006
    / m+ H, w1 i: H7 {3 S
  514. ; H; b  C, V. }% r# N  a  |
  515. WL3:
    & h$ p) `! h. H7 H9 u1 [
  516. LDA ($BC),Y0 B. b" f9 ~) v- _" M
  517. STA $20074 B( k* D8 [9 r. t+ ^

  518. % A3 W4 O! M! ~' G3 P
  519. WL4:- s  O. r3 v! ]
  520. LDA #$00
    + R+ w' @" i7 J. O6 j0 H
  521. STA $20007 F+ r+ E/ K3 Z$ H7 R$ e8 |
  522. INX" ]6 d/ U8 q) e- F0 K
  523. INC $BA
    ( S4 S; T+ a3 X$ X' P. U2 y8 U
  524. INC $BC1 X* K$ d% m5 k1 N( k* ~1 _
  525. CPX #$00
    ; w- `4 f% T7 |6 q8 d
  526. BNE WL1. w7 Y3 t( e) N: }) s& F
  527. INC $BB: d9 b" c: i" x2 C1 B# l: _3 W
  528. INC $BD
    7 I0 H9 I/ x, s0 a, b" M9 K, h
  529. JMP WL1
    . X! l' x6 P( @

  530. ' x: V" \- p$ g
  531. WLR:
    6 ]" y6 G9 z- g7 ^. a# u, e; t
  532. LDA $7FFE
    * ~/ |" }/ |' o$ `0 L8 \* C  c
  533. STA $07F6/ p6 `; j  C9 ^# s5 R0 \  L. ?# T' x
  534. LDA $7FFD8 ~4 {' U7 N7 O! U8 i% p
  535. STA $00FE
    & Z+ x8 q$ w( H5 u) P4 X
  536. LDA $7FC1, u- v8 ~9 W! k" L; x6 C  L
  537. STA $07C1
    # p; l( `8 [+ ]- i" h8 g/ |7 k2 `
  538. LDA #$3F* g( y. ?  f: e
  539. STA $2006
    % Q+ y# S. g) K' r
  540. LDA #$01
    7 ?% c2 }8 _! j6 o/ y+ @, l+ Y
  541. STA $2006# Q, V5 M' G3 d* o' Q
  542. LDA $07C1
    2 h: g3 |1 C* @9 W
  543. STA $2007
    2 S; s! C/ s& H
  544. LDA #$00( q4 j3 v9 u4 o  ?) E1 i
  545. STA $2000
    ; \  n8 @1 X& v8 |
  546. PLA
    - s/ j/ y: e: _0 M: y
  547. STA $B8
    , x  h4 V) X- Y+ M3 ^
  548. PLA1 v: t" C. F# S: P
  549. STA $B9" M* ?- ~7 {) t. m) G. J! S( v0 h
  550. PLA
    2 I( W  Y/ A* u! p! [, R* n
  551. STA $BA
    * Q, x4 c$ r" p, A6 l
  552. PLA2 L. ]* b; j! K! X" f
  553. STA $BB" j$ t7 Z1 q  k. r/ k- y  f
  554. PLA6 C+ e- M2 c- q- O  M
  555. STA $BC
    ! M( `) ]9 S, E! ~  G4 R7 b
  556. PLA- D1 e# a* h( }
  557. STA $BD
    * m" B9 j8 G7 v* }% W
  558. JMP $A0001 Q8 D; f9 ]/ G
  559. * {4 \% V6 ~3 u
  560. FREE:                ; 暂存器保护
    : E! h: b6 c6 \  e
  561. LDA $BD/ u/ `2 e! G3 C3 z4 Z( G
  562. PHA
    8 t  y. q! \0 U4 e  R% M
  563. LDA $BC
    ) B/ ], B: O" L, h
  564. PHA
    3 ?" }# g$ x% c# S% c+ ]) `5 _
  565. LDA $BB' g2 D+ H4 h9 M) s+ J! n1 @, {
  566. PHA5 T# U- B" l, g: Z) s$ Q6 c% F& ^
  567. LDA $BA* v5 _6 O: S! X( i
  568. PHA
    ( q( s+ H5 {( _+ d! {- q1 H
  569. LDA $B9+ M/ Z) P1 ~' G3 w6 v" f' H3 u' P+ \
  570. PHA& b. x# i2 E- I3 k
  571. LDA $B8
    ; B9 ?! a3 c1 ~3 r- i( t& L4 U6 q
  572. PHA$ t  |+ V* y. `3 h- L2 c
  573. LDA #$00
    ; `' l8 I9 M3 W2 c9 I0 @
  574. STA $B8
    ; I; N( c  g/ ]0 U' ~
  575. STA $B99 M6 C+ H0 \/ T  E
  576. STA $BA7 x7 ~5 T& |9 s( z. h
  577. STA $BB( d& C  E* e$ k+ I. t% B) G2 ^$ S
  578. STA $BC* n" t  D; l% z. w* D8 N0 G
  579. STA $BD
    ; g# g6 A' i0 L: x6 j2 `; l# ~

  580. 9 Y: u" J  F9 c2 K# m+ C* H: C
  581. WEAWRITE:                ;武器ppu写入
    / e+ R. u7 i; S% m+ ^
  582. LDX #$00
    * V% f+ k, B- s; n5 C
  583. LDA $AA
    * Q# |, D$ v" l4 ?  e2 i
  584. STA $B9* P* {0 Z+ l  @& ~5 X" _
  585. WEAINI:                ;地值初始化
    ! R/ D/ w! z2 v6 X- f8 X1 B1 s
  586. LDA #$A4
    6 N& c( S- P7 W5 m+ d5 e% ?9 _
  587. STA $BA
    , `3 v; H# |) {
  588. LDA #$20
    / U  a. c5 X; s. S) f' |% w/ ?
  589. STA $BB
    / O! `3 C) a/ d' ]9 S1 P# `0 H

  590. 4 {7 p- O8 q- _/ I8 ^
  591. ! H: A: X* t1 E2 e7 X& g+ D
  592. JSR WEA
    . i4 J' K8 V% j+ ?: s+ s, ?" }6 S
  593. LDX #$00                ;武器ppu写入5 M' U4 f! k4 N2 f% `
  594. LDA $AB
    / y# B( _" a" U) s
  595. STA $B9
    & D3 s2 W6 }# @3 S- n- U% e
  596. LDA #$B35 R. n1 s- @) `
  597. STA $BA6 j3 r8 c2 [" G) b
  598. LDA #$20
    2 W8 ~# n6 u) f  a2 o$ {& y
  599. STA $BB/ I/ w0 P0 _: i: f0 P6 L, V! z8 H9 M

  600. 6 W) u( g  a7 |. c% Y5 b
  601. 5 |, Z8 a  p  X( @' ?6 G8 U' e
  602. JSR WEA
    6 w4 i9 m1 A4 L1 j% r
  603. + [* T% Q2 q3 H6 r4 X4 W
  604. LDX #$00% \0 o. k/ c0 c. |
  605. LDA #$E4
    6 D8 ~) {6 f/ L8 b, {
  606. STA $BA
    5 X- B2 \& q/ k9 l! m
  607. LDA #$208 W- M4 A  [6 ]4 w0 C! r* T
  608. STA $BB! u* e' f+ i, @. T2 m& S- w4 w

  609. 8 {+ D8 C9 U! c, \

  610. 8 k9 x! T! N; P( I; N1 s
  611. LDA $32$ s& h& N/ v- Z- y; _
  612. JSR PLAYERLIFE
    ; M$ M. z; L  ~

  613.   a2 l4 p: ^" M, `8 a" y) l
  614. LDX #$00# P# A& p# ~: i; T! Q) n3 c% q" M
  615. LDA #$F3
    " a$ S& u( Q7 T2 S4 h" Z) u
  616. STA $BA" _8 F. h# Q6 h3 ^
  617. LDA #$20) z* ~. o# v4 j& p9 m" f
  618. STA $BB
    7 S! b, n% e/ O& o7 d+ j$ N
  619. 1 ^) I4 W$ G  Q7 u, J( d1 _( b
  620. ; g4 A  @9 n7 t
  621. LDA $33
    3 g( i3 t" P/ D5 ?2 x3 b  D$ ]) V
  622. JSR PLAYERLIFE
    ) F1 e& h, p; g0 \+ b' [  X& N
  623. ) h4 v; \5 N' w7 |& f2 D& _
  624. ! x9 l& R, z- c! Z
  625. JSR PLAYER_01_PPU
    0 l! t" s7 q  _4 ]3 d
  626. JSR PLAYER_02_PPU
    8 Y- p. Q7 a6 [3 `" P6 j
  627. 0 S* ?  x) p) n- y2 l  P

  628. , L2 L3 D. K1 h/ }
  629. JSR PAGE_PPU
    + P: O1 [1 F2 d3 B8 M: X8 G
  630. JSR PAGESELECT1 l: X" C3 R' |8 W, b
  631. 8 \( ]  t& Y; U7 H9 r( {3 M' F
  632. 7 b/ g1 w  A5 j6 i" M$ g% R

  633. 2 @4 f* |  j; z- c4 l7 @) O: o$ p

  634. & T: @, N5 V4 s. t3 x  `$ ~

  635. 4 O: r3 Q% @1 C) P3 l1 F
  636. ' ~  `0 ^3 D* B6 c# K! j, i  l
  637. $ y$ J  b2 V5 j  u( {% n  W
  638. - ^* j; [/ n" Q2 J  f( ~
  639. ) n" x9 w& I  _  A
  640. 5 _& ~4 A/ I& V; J: J3 K9 N1 B5 T

  641. 9 M2 Z: E- d" }% m  ?0 b
  642. ; d4 ^: N1 p+ _+ |* @2 h+ p
  643. ; M  F& y+ c, ^% o8 {# x6 D4 R
  644. PLAPRO:                ;恢复现场
    ! |, D7 L4 Z: o
  645. PLA2 d+ K- f) M6 n
  646. STA $B8) }; o/ P  G/ f" I8 H0 t+ c. O
  647. PLA
    + D' V& C# L+ C% b
  648. STA $B9
    6 Q& S" e# N* X/ ~; @  j6 W
  649. PLA
    # Z. @/ x+ b  Q6 e9 A& p
  650. STA $BA; f* }8 j9 m& w& C- f* l
  651. PLA5 e. f3 A7 B0 l+ |8 h
  652. STA $BB6 ?4 q, O' ]. e. S. L& Q
  653. PLA
    5 g( w" M* M; o: F& ?. k5 Z
  654. STA $BC
    4 k) h: w  B: ~5 s
  655. PLA
    9 H  ~* m" x* u; q
  656. STA $BD. E2 c5 e' i# L+ r4 C. F
  657. FREERTS:
    & B/ q" G$ w: {% p; \% U
  658. RTS
    + b0 V" W3 O+ j8 r) Q, h% s

  659. . y. Y; d6 C  O" z9 S/ A0 o
  660. INVINC_STRING:                        ;invincible9 y- ~% W$ x1 C
  661. .BYTE $93,$98,$A0,$93,$98,$8D,$80$ x- h8 i6 @% p4 B! }8 s/ m

  662. / {9 [/ V/ S) Q7 Q' D3 Q" F
  663. INVINC_PPU:! U- N; z6 j) G& [! C/ c
  664. LDX #$00
    # s) D8 a: D) i& p+ n' C8 D3 s& B
  665. LDA #$62: N! X/ |' `! k  a
  666. STA $BA
    # ~0 z8 v: y9 g+ l
  667. LDA #$21  D( z5 w7 m& N2 p/ o8 a
  668. STA $BB' }  E! m6 r8 J0 ]) q

  669. * w# {$ o* h8 B5 _

  670. 4 W3 M. z1 k4 _9 [8 ~
  671. JSR UP_PPU3 B! A9 E. h9 G2 U) w9 x
  672. JSR INVINC_WRITE
    # ?/ G; A6 v. U5 Y; E+ a7 J1 Z
  673. LDX #$00
    1 r5 K' q. z, w
  674. LDA $07A0
    4 e' u$ i" o5 n1 |. D
  675. AND #$01
    6 |9 `5 g0 v$ o. A6 _& d7 l
  676. JSR ON_OFF_PPU! P6 F- W4 R' h. d2 \( @# S
  677. LDX #$00
    " G7 P  V4 Z0 @* O5 ^# _
  678. LDA #$71
    9 k+ h8 A: B+ c* e+ P/ w$ {8 v3 T
  679. STA $BA
    3 h5 l; A  r* {5 S+ v+ i
  680. LDA #$21
    , X# Z' Z7 H! M( f8 `, t/ R, P# `+ p
  681. STA $BB
    ( O+ U; T" ~4 J1 f/ }7 F
  682. / l8 ?0 W2 `& N+ u4 l
  683. ) A4 i! w6 G- c0 g
  684. JSR UP_PPU
    6 {2 d" \( v6 [* @+ F% J
  685. JSR INVINC_WRITE: ^0 W# g# t; B# {" n3 Q: d. r! m; B
  686. LDX #$00; B* `" \, I2 b2 J9 p5 P8 g$ k
  687. LDA $07A1
    0 d. W7 ^+ `+ Y3 B, l
  688. AND #$01
    0 p( v) J! F# U  I6 n
  689. JSR ON_OFF_PPU
    4 B" s9 u# Q8 j" w3 p
  690. RTS
    , ^! u- E. _2 I* J$ m: y
  691. ( `( G3 V# r* A: N+ N  ]
  692. INVINC_WRITE:% ~. k1 g' y6 b2 c4 e( i
  693. LDX #$00* y/ ?9 ]  d' t+ V; @* ~" k& U
  694. INWRITE:
    # D, ?( P; m: {& E/ J9 z9 A
  695. JSR PPUADDR_PROCESS8 Q3 N0 r* w) U$ A. Y8 q9 y  f
  696. LDA INVINC_STRING,X
    9 N$ T& X2 v2 T% I  Y
  697. STA $20073 K8 ?$ _$ S% f! k* ^
  698. LDA #$00
    5 K. o  S9 b7 h- u! ?* ~$ `5 M% i
  699. STA $2000: E) L- i5 D8 T/ H8 A# r& |; r' c5 K* h* i
  700. INC $BA! g4 S% ~3 U0 T2 k# Z
  701. INX" v% x- x; X& b4 W: R. R
  702. CPX #$07* a9 ~7 q3 y! v; G; z8 m1 ^
  703. BCC INWRITE
    1 Q2 |9 \! }8 ]2 M' D+ S
  704. RTS; r; A7 W* ^: A. M/ z4 ^2 j& D
  705. . y$ L3 \% W1 g0 r
  706. ON_STRING:
    + V5 O4 z7 a$ \) b3 Q* C" O1 d
  707. .BYTE $99,$98,$80
    + T) B$ H- [! r& o

  708. 3 U+ [: k4 g0 j2 x( z+ ?. J
  709. OFF_STRING:
    1 ^% w& `2 N3 y
  710. .BYTE $99,$90,$905 b! i* \/ J' r% M/ L8 ?
  711. 5 l" _5 S4 f' L
  712. ON_OFF_PPU:
    1 v4 N/ N5 u+ A9 ]0 h5 g7 u
  713. BEQ OFFWR
    : p$ h$ ^$ H8 ?7 z
  714. ONWR:2 W2 z1 v4 T% I6 x7 `/ v9 C! X
  715. JSR PPUADDR_PROCESS, b: i; c+ X: q( P# D! W
  716. LDA ON_STRING,X, b8 H% ]5 q( n5 I! _  P  s
  717. STA $2007
    0 E$ y" ~, T9 v$ P# x1 S# \
  718. INC $BA
    , k2 N& Q9 l1 U
  719. INX1 h" k  i9 E3 F; S  n+ q
  720. CPX #$03( t( T$ H' j; m
  721. BCC ONWR
    % L/ X2 A; B- r# B
  722. RTS3 l/ O6 s; L: Q" q
  723. OFFWR:
    ; S: X6 P7 J7 d/ ?3 ?
  724. JSR PPUADDR_PROCESS
    3 V& M7 \. l; P( e( `* g
  725. LDA OFF_STRING,X' V3 H' e( ~* j3 t4 I, q% b
  726. STA $2007
    , O1 T" {6 s* L6 u$ X
  727. INC $BA
    ' {( m0 k- t* C5 {
  728. INX: A9 a4 v. d2 n9 \4 d! I: K! C/ T
  729. CPX #$03& M& U( U4 Y. m
  730. BCC OFFWR
    & e5 \! k2 @8 f! l' H6 z: T5 a: c
  731. RTS% n3 N* u8 o: P/ _5 M

  732. # k* [4 f  q2 l5 [- V7 ~
  733. LIFELC15_STRING:0 J; p: C' U3 Q/ Z
  734. .BYTE $96,$93,$90,$8F,$82,$86,$80: f+ W- B; ^! P7 j/ j" c
  735. 1 U6 m. c& D! w
  736. LIFELC15_WRITE:
    & r% K% N2 ~. G  C& i; v! R' \" Q
  737. LDX #$00
    ) V' u" I  r4 e9 D( R" t) Q
  738. LIFELC15:# \& u- {$ k9 X0 O; [% I
  739. JSR PPUADDR_PROCESS6 S0 y" B4 N9 e+ d; }# Q
  740. LDA LIFELC15_STRING,X
    0 W4 u$ I. K% o, K: q- y
  741. STA $2007* v/ y( T' {0 c4 P( q: n* ]2 [$ l
  742. LDA #$00$ x2 J3 V! G' H) _( s0 w
  743. STA $2000" `$ Z6 K+ ^4 g: \' T8 c
  744. INC $BA! l9 W2 M- j1 L* p! M# m) S1 G
  745. INX5 k# D; ^% c( `: F+ g
  746. CPX #$07# q  L, b1 m/ Y& z2 s. L% G
  747. BCC LIFELC158 l+ Y* I% B6 m- G) c5 s. q
  748. RTS
    ' D3 f! Y. R. ]( s7 f

  749. $ W+ X6 v) e. q3 I( R
  750. LIFELC15_PPU:
    # u* b- ^7 X' l9 z. `
  751. LDX #$00
    : N# J$ ~& p" y* \8 {1 |
  752. LDA #$A2% d3 G. g' o+ i+ H# P
  753. STA $BA' n: e6 g' `" F
  754. LDA #$21" B: j- f1 `1 ^# y
  755. STA $BB! s9 V( s: k; R
  756. JSR DN_PPU
    , X" m8 @& p. W7 t
  757. JSR LIFELC15_WRITE: Z8 O5 |9 Y5 o+ O1 E( n& r
  758. LDX #$00
    1 O7 M2 D* H. K
  759. LDA $07A0
    : q  h+ c6 E3 g% }. D3 W! g3 M
  760. AND #$02- m6 X6 o7 R& \
  761. JSR ON_OFF_PPU  z: ?; [+ N& L1 X* n7 i
  762. LDX #$00) L; Z1 i1 y  G0 K5 b
  763. LDA #$B1
    8 N+ g; j$ p7 b! _
  764. STA $BA
    . g% U6 X+ p4 y
  765. LDA #$21
    6 Y* L& W$ T! m: s
  766. STA $BB* A: L  d. r$ P7 U' g7 W6 B
  767. JSR DN_PPU9 I( w* E! K( s
  768. JSR LIFELC15_WRITE
    1 f' e8 s3 a4 S- ]
  769. LDX #$00
    8 i0 ]2 J9 r! Z8 w
  770. LDA $07A1
    + ~% F  [7 E+ A$ Z6 o" ~! C- ~+ j
  771. AND #$024 m/ e% N+ B8 V! T9 f
  772. JSR ON_OFF_PPU0 \; B0 }* A6 B
  773. RTS$ h) P8 H% K' l8 Y

  774. + _7 |. q: C; Y0 ~) |% Z
  775. DOUCON_STRING:( E4 G) T" r( ^1 b# a
  776. .BYTE $8E,$99,$9F,$8D,$99,$98,$80
      D' m6 y* y2 [, j1 ]

  777. * r6 H2 n: Z! a* q- @7 h% i4 L& ]3 C
  778. DOUCON_WRITE:
    % @' Q5 K0 \$ d- c0 o. n
  779. LDX #$00. v- e& D; m1 w# `+ o
  780. DOUCON:
    # x' e+ H" H: c# ~# @% Q
  781. JSR PPUADDR_PROCESS. |' Q7 T3 E4 ^3 O5 T/ c* q5 _0 o# R
  782. LDA DOUCON_STRING,X9 _) @* U$ J/ f1 a9 Z- R& R% }6 U
  783. STA $2007
    5 v& @" _, `6 O/ \3 [9 r1 R6 C' _
  784. LDA #$009 m" q1 W5 {4 c6 B
  785. STA $20006 I  E9 q$ W; l% P$ Q
  786. INC $BA
    # `2 L$ t; }5 N) v+ E' q5 k3 \, n
  787. INX
    ) c9 N2 A7 S* d1 j
  788. CPX #$07/ G( e; U- n  e! j+ l/ J2 V
  789. BCC DOUCON
    & u% U7 R2 Q1 K1 _5 h8 K
  790. RTS
    ; r. g# E" n( ]2 j: o$ w
  791. ) e+ _/ Q, _( \( u6 E& g! L
  792. DOUCON_PPU:
    1 }$ E' E3 u  p1 H$ d
  793. LDX #$00
    4 b! e6 o( h( j" }
  794. LDA #$E2
    * p' e5 g5 |. G
  795. STA $BA
    8 g2 G0 ^1 ?! x" ^0 \/ |
  796. LDA #$21
    6 w  ^# H4 J4 ^% }
  797. STA $BB+ Q8 @) X. t. T. ]3 M  Q
  798. JSR LF_PPU
    ! X4 K( n7 q! c& W  _
  799. JSR DOUCON_WRITE: |8 e9 a  ]. _! V. t
  800. LDX #$00+ U: X. n9 \4 N+ X
  801. LDA $07A0
    3 u/ }* S7 D  W; u: u4 F
  802. AND #$04( Q3 E6 r) P  @% U& E& @
  803. JSR ON_OFF_PPU
    3 y: ^: f: Z  i& P
  804. LDX #$00
    $ t3 @' w; z; b( ^; G
  805. LDA #$F1
    ! L+ Z0 w  ]9 ^  d
  806. STA $BA
    # T! F4 \& ]& m$ p% i
  807. LDA #$21  r4 P- X7 L! K) p1 f
  808. STA $BB0 K  u% P, z" g4 z* X: Z5 ^
  809. JSR LF_PPU
    6 x- Q7 }7 ?" G( q* |3 z3 a
  810. JSR DOUCON_WRITE1 v0 n# A' ]# r8 \
  811. LDX #$00) L2 H+ F2 p! s. p
  812. LDA $07A1
    " w4 {* I; |/ w
  813. AND #$046 N- I0 t+ m  v5 ^1 z$ u
  814. JSR ON_OFF_PPU+ z) c/ q( A7 h8 o' p0 p: Y6 |
  815. RTS1 B- y& w- _  n( b% |* n/ a& o4 h+ R
  816. % u* E: `7 j! u# ~
  817. LIFELOW_STRING:( T  a9 |3 l3 O3 G! ^
  818. .BYTE $96,$93,$90,$96,$99,$A1,$80: _3 L6 ?) \- Z0 z5 K0 X3 y

  819. 7 ~+ m' f) m2 A/ _. ~
  820. LIFELOW_WRITE:' z+ Q  u$ E5 k3 ]7 ?1 m
  821. LDX #$00- {4 F$ K4 s: B1 Z( I, X
  822. LIFELOW:! i; l+ y% b$ l* r! p. K1 v
  823. JSR PPUADDR_PROCESS8 f" \: Q4 ^. G2 I# ?
  824. LDA LIFELOW_STRING,X9 ?: q$ [( _8 P- K, y
  825. STA $2007, C: Q: H3 C( C
  826. LDA #$00
    ! r8 _5 G( u  P3 Z1 c3 A
  827. STA $2000
    : B7 W: @1 H+ g8 F, Y) s% S( x
  828. INC $BA
    ' r5 R8 @8 T( s
  829. INX# v  I: Y. I/ X+ p3 k
  830. CPX #$07
    + F) `; E$ }6 o: a
  831. BCC LIFELOW' A$ K' ~5 S$ i) M$ _
  832. RTS: Q0 q6 k: ~% o& n+ i! @
  833. " w& y4 q6 m+ K' @* t) T/ z
  834. LIFELOW_PPU:
    0 G( y" J- R+ Z3 I! ^9 O
  835. LDX #$006 J7 K) K+ i( r4 c  v9 Z
  836. LDA #$229 N6 S8 U& ]1 h  ?7 h
  837. STA $BA
    ) F" c6 r9 u) A1 \# M. W2 S" S
  838. LDA #$22
    $ m* s+ c( t; e
  839. STA $BB* h, R8 H/ \8 y' V) [
  840. 8 V* v3 P2 K# n) d
  841. + _& L9 j8 ^. G4 O4 t4 k' W
  842. JSR RG_PPU
    - D) H' F$ v( r4 P! A
  843. JSR LIFELOW_WRITE
    5 O0 K" O: k' V8 K# C
  844. LDX #$008 F1 X: L1 u& s( l- w0 ~
  845. LDA $07A0
    + q$ m) c2 z8 v/ A9 C4 M
  846. AND #$082 P, b) u# K# P
  847. JSR ON_OFF_PPU$ V3 }3 r( M* c) ]$ L+ Z
  848. LDX #$00- J& a: `( S$ J- \7 O  @+ f! I' B
  849. LDA #$31
    : N( T( D+ K; u3 R
  850. STA $BA
    9 ^0 ^5 G5 O& Z0 N3 o4 z2 ^8 m2 ]
  851. LDA #$22
    ! r) P, X& o0 Z) L
  852. STA $BB
    - Q$ Z1 \. a/ h+ e( e& H

  853. 8 g1 I1 r0 w* W) @  X" N/ y

  854. $ z9 ~8 {$ a! \; A: g( e/ g
  855. JSR RG_PPU5 ^' G# n% {' q4 `1 o
  856. JSR LIFELOW_WRITE& H8 x2 d2 n5 Y: h0 c
  857. LDX #$00! W* k/ f) u* M. _# \' e6 R+ J0 m
  858. LDA $07A1
    2 J* k8 W; x% [% t4 Z% K4 S
  859. AND #$08
    % w! g  w8 d. `7 u: k: d
  860. JSR ON_OFF_PPU( N$ S/ h: X  P; ~4 n
  861. RTS8 j2 P+ l2 s3 a: b5 v: \+ ^
  862. . X4 F: h( I' v8 J! n. L: Q
  863. KILLON_STRING:% n% [; u& D* O- L* F2 N/ q
  864. .BYTE $95,$93,$96,$96,$99,$98,$80+ e/ M& Z( F2 R, g

  865. # T/ A9 Z8 U! [+ r- s& Z# A
  866. KILLON_WRITE:! e. M  w8 j/ t$ [5 q4 f$ L
  867. LDX #$00
    & V+ ^/ R( c! r, u2 I3 a  _
  868. KILLON:
    * ^) l1 K# T' `, W+ O
  869. JSR PPUADDR_PROCESS" h+ _2 r! W* k* Z2 o7 t2 `7 N
  870. LDA KILLON_STRING,X
    ( @; P1 i3 I- ^; g% p1 `
  871. STA $2007: j  b) ^# Q6 D$ ]( X' y7 ^
  872. LDA #$00
    5 V6 O6 x: a! U) O
  873. STA $2000
    - n0 t( l4 F$ x. f& A
  874. INC $BA, I0 r1 u1 o/ p
  875. INX
    - L2 w7 |0 o7 X% {+ I; M9 |
  876. CPX #$07. \8 y' _, G: Z, U6 G3 F
  877. BCC KILLON
    : w/ J7 \) g4 V! w
  878. RTS  {& ~) x( m, t
  879. + u/ X# j/ n. `2 f; |/ s
  880. KILLON_PPU:
    " I- W4 N  X( h
  881. LDX #$00
    2 w1 }9 m# H# G' L& f
  882. LDA #$62
    * w) E/ W+ K4 Y7 b" l
  883. STA $BA
    2 F+ B  {. \. ~  n+ q6 E
  884. LDA #$22& R' R$ f  a+ K7 j: m; h" X6 [4 Y
  885. STA $BB
      C7 k" q1 l5 Q( x; R& v
  886. 4 `5 i# j/ h* X/ I
  887. 4 M4 |/ ^# E. T, v
  888. JSR B_PPU  ]" J$ _& B0 }
  889. JSR KILLON_WRITE
    3 I7 W! V' ?& R( O
  890. LDX #$003 V, w0 [# B+ w+ ]6 K
  891. LDA $07A02 T; \& g5 y& }5 s) g
  892. AND #$10* T6 S' q" {7 y4 a# K/ L' h) c0 t+ Y
  893. JSR ON_OFF_PPU
    ! @0 w7 e9 h* R% K: a! ?% N4 M
  894. LDX #$003 {) o+ H/ D, {+ Q
  895. LDA #$71
    4 O* S) q4 g! f
  896. STA $BA
    ; J% K7 L7 e, z3 t# M
  897. LDA #$22
    # V0 B8 f+ M, Q3 k* q: l/ P3 A- B
  898. STA $BB
    ! Z! U1 ^3 W* }7 m3 A7 @) q# @' L
  899. $ }) J8 P( I$ i# _

  900. 0 Q1 v' M5 v, ^
  901. JSR B_PPU7 g; Z1 `' c# O9 e0 Q% p
  902. JSR KILLON_WRITE
    " E& h2 i% a! _" S; U8 y
  903. LDX #$005 f6 M8 @- L. Y/ B1 v" I; e
  904. LDA $07A1
    / k/ V+ V: s& T
  905. AND #$10+ R+ R! d9 X1 S" `6 o
  906. JSR ON_OFF_PPU+ i$ {, y2 I- P6 r3 ?7 T
  907. RTS  t1 I; n5 W: b* U. O3 a
  908. . d4 C* w" Q' g
  909. SKYFLY_STRING:
    # |5 n- _) P2 x, W" ?
  910. .BYTE $9D,$95,$A3,$90,$96,$A3,$80
    : @6 }. w1 S7 J

  911. ) ]8 k/ Y4 V& V+ J
  912. SKYFLY_WRITE:' [% s9 C5 p3 A
  913. LDX #$008 f, `4 c  D* E9 F7 W4 M" y6 W6 t8 ]
  914. SKYFLY:( G$ }; [8 j* R7 H6 y0 Z3 `
  915. JSR PPUADDR_PROCESS8 ?# X' H/ Z$ X% _3 I
  916. LDA SKYFLY_STRING,X$ N3 g' ]: O) S, v5 }8 P
  917. STA $2007) @" ^4 [6 ~) w( E- M4 V" f6 R
  918. LDA #$00
    $ w7 B, F0 g# L8 n) S5 j! D8 x
  919. STA $2000
    : z9 |  n8 I; Q/ ~, r! `8 r& T
  920. INC $BA3 a" E( y$ t7 g  {6 z' s$ c
  921. INX
    6 B' u# k9 J7 |) b+ a
  922. CPX #$07
    " u6 H" R4 {6 f' u, i% Q0 }
  923. BCC SKYFLY
    % }' o* d3 j( k# i
  924. RTS
    5 U( q' _, t# D$ L" o0 I/ L
  925. : \. a" A1 h0 {9 W: ~
  926. SKYFLY_PPU:3 \* x& S% _! l" ]. o6 h
  927. LDX #$00
    - F( p7 {6 s& r! U% {6 ]; \
  928. LDA #$A2
    6 X; t+ \9 ~2 c/ Q4 a! I4 }
  929. STA $BA
    % Y% ?3 h0 p& |5 o! i8 A
  930. LDA #$22
      b! [+ e9 p, E( Y: R" r+ {$ A
  931. STA $BB. }( w  M4 o! |
  932. 3 ]# E8 W' N* t* V0 g  I, j, U( N

  933. ) y( j% f  C# N/ E  V( Q+ O) C6 h
  934. JSR A_PPU
    0 i0 v0 q  y' J/ q
  935. JSR SKYFLY_WRITE
    * p: N9 y. g1 G) Q
  936. LDX #$00
    5 P3 X' S1 F: M7 |  g2 ]
  937. LDA $07A0
    8 L9 q4 H) [2 D& x
  938. AND #$20
    - S, D% }+ }$ w% o0 y5 V7 V
  939. JSR ON_OFF_PPU
    ; H+ [- m5 F) O; y
  940. LDX #$00
    $ J; ~  t) D- X  {! H
  941. LDA #$B17 h- J2 C+ {$ c( P
  942. STA $BA
    . [6 D/ `: s" I4 d8 p
  943. LDA #$22* z2 p& Y- `0 X' H' y3 |
  944. STA $BB3 w0 I8 B- d% A' ^" s0 w

  945. 0 I7 v( W/ l6 S
  946. 3 X: R9 J8 H8 i; c9 n1 W
  947. JSR A_PPU) r+ c' c" g* ?* \6 N
  948. JSR SKYFLY_WRITE6 J. a4 f$ P, ~
  949. LDX #$00" j3 N) D8 G( n: C1 i: E) c3 M
  950. LDA $07A15 F% A8 }* j# s: ~. U6 l
  951. AND #$20
    , I$ v. T- ~& O& q
  952. JSR ON_OFF_PPU! g5 a7 d3 K; Y" h9 h4 ^0 F  v
  953. RTS
    7 K# y. t7 _! R5 i1 K
  954. 4 C+ x: R) l& s* Q% d
  955. BULADD_STRING:
    7 x) ~5 e" x7 b9 l* P9 B2 p( U+ W
  956. .BYTE $8C,$9F,$96,$8B,$8E,$8E,$80
    9 y, z5 w1 C+ @/ p: p

  957. ' Y& V2 ]+ Z3 o0 V" o! z
  958. BULADD_WRITE:
    # G6 X* F; X; L2 b$ T' D& m" ?
  959. LDX #$00
    7 @8 ?# Z( ?9 ?/ U6 z4 P$ x
  960. BULADD:$ e( d+ }; d' J) |+ L/ g
  961. JSR PPUADDR_PROCESS- G0 B; @7 |. i/ a0 O# }" J
  962. LDA BULADD_STRING,X
    0 j4 h+ Z9 ^# ]  ]
  963. STA $2007# V* ]% b3 Y( K- a% K/ ?  f4 p
  964. LDA #$00- Y8 T4 ]- I  C3 f$ \5 B( {
  965. STA $2000
    5 ~' B5 L1 w! m0 s: a) W4 \
  966. INC $BA3 _& O+ N( y+ d1 H
  967. INX
    ( K% d$ W% i/ a
  968. CPX #$07
    ' s5 V; E& P7 R0 D8 f) N
  969. BCC BULADD+ m2 n8 y1 e& H. \/ t1 d! {7 V
  970. RTS  C- c/ u: q; ~' |
  971. / m; h- O4 a! k' C: y
  972. BULADD_PPU:7 N& V( B9 D5 T
  973. LDX #$00
      ?' ~1 t/ p3 {- n4 x
  974. LDA #$62
    ' O+ L2 \  T, j0 P. U
  975. STA $BA
    ) i8 }' Q$ i* j& V7 q
  976. LDA #$21
    : t4 Q0 Z$ E* j6 I
  977. STA $BB; a/ G" S4 A" N$ W) c% p
  978. 3 g  r+ Z. S) ~5 t4 }. i
  979. 6 R2 L# Q: x7 @' [; _2 Z3 `
  980. JSR UP_PPU
    / c) T3 e: c) p2 p6 s/ `# P
  981. JSR BULADD_WRITE& H: N' T9 V2 C; T6 h
  982. LDX #$00
    9 ^) [6 Z; ]1 C$ r5 o
  983. LDA $07A2) [4 M4 V4 e+ \, \( U
  984. AND #$011 r( o% r8 h) o/ X
  985. JSR ON_OFF_PPU. Z& ]. u. O5 n6 w7 ]* Z' `
  986. LDX #$005 L  x) u1 Z% N/ k% J
  987. LDA #$71
    % h5 Z+ C8 F2 z/ R# W' x; O
  988. STA $BA
    6 Z6 q2 l/ {' W
  989. LDA #$21
    3 @8 z# y* F6 D' K
  990. STA $BB
    / W( m5 d: }3 t2 l7 T' m* M' H

  991. # B. b" L2 L7 n" Q
  992. $ a  E' b) K# D' x) I
  993. JSR UP_PPU
    0 Q& B, P6 R4 P3 O
  994. JSR BULADD_WRITE( m& B4 |8 W8 i7 f, d
  995. LDX #$00% z& M) d9 S8 M; c3 r5 o1 j/ a
  996. LDA $07A3( R2 g- E$ y7 T. m2 \/ R0 N* {
  997. AND #$01
    ( f# ^& q7 u9 q
  998. JSR ON_OFF_PPU
    ! X' B! i1 F* z3 O! Z+ E! J; _
  999. RTS
    1 V, G7 K9 ~* }; H4 y( I
  1000. 5 k! R! L+ C: w, S
  1001. MENU_PAGE_STRING:
    + `& m6 f3 v( Y5 i  l' |
  1002. .BYTE $97,$8F,$98,$9F,$80,$9A,$8B,$91,$8F,$80,$81
    1 O9 L; V$ n* V. s. u

  1003. + N- t' g' ^  k! W/ x* B
  1004. PAGE_PPU:+ h- f2 b. t' |
  1005. LDX #$00* R% R2 c1 k3 B: a+ V1 h- U
  1006. LDA #$0A
    ; {2 K* v% l7 J, H+ p
  1007. STA $BA0 @2 e! v( A4 I5 A; @' U
  1008. LDA #$23
    & ^1 U- t* d4 v3 x; a5 W
  1009. STA $BB# X9 Z( m4 q6 j; M  }2 Z

  1010. ) M9 q" w5 ^0 ^1 z% l

  1011. / R& Q/ T/ y0 V/ C1 i- u7 o
  1012. MENU_PAGE:
    1 `0 C* ~% L3 y% t! Q0 X2 c( N
  1013. JSR PPUADDR_PROCESS* Z: a7 r0 r# X! ]& x! R* u' E
  1014. LDA MENU_PAGE_STRING,X
    8 C, Q( R- @. l1 {- x
  1015. STA $2007- f( U% k$ B2 s3 q0 j) _
  1016. LDA #$007 E1 o  E/ x! O+ s+ l$ _
  1017. STA $2000
    ( b, ]' n5 l* L% m5 F
  1018. INC $BA
    1 d3 H" H( C" V0 V8 Q, c; S
  1019. INX
    * U" y$ D1 j* E9 {
  1020. CPX #$0B6 j! m/ m1 Z  j9 V& Y
  1021. BCC MENU_PAGE+ ]# {% ~% h; A: l0 u
  1022. LDA $07AA( d8 g% O6 w  h5 q" M6 [) u+ t
  1023. CLC
    & h7 x! G: v4 p6 _# X+ G7 \- a! W
  1024. ADC #$82  g4 U# A0 U; @" C5 K) o' Z
  1025. STA $2007
    & Z. ?6 U* ?. y& |
  1026. LDA #$003 A. y% i% x% N) O. Z* a$ g+ [7 c
  1027. STA $2000* D4 ~0 \* F6 N1 D. v
  1028. RTS% h5 p% W3 l3 O/ ?
  1029. ( Z2 m9 q  g% l+ ]

  1030.   @1 I$ B* U  K5 y
  1031. SKINGE_STRING:
    : f2 p3 a) @; m/ x: s
  1032. .BYTE $9D,$95,$93,$98,$91,$8F,$800 k4 U0 k3 f0 |) I
  1033. ' `( P* u/ k% o' }
  1034. SKINGE_WRITE:) X8 o) p% [1 h) e( Q; F
  1035. LDX #$00
    5 s2 T0 A. Q5 L; _) f+ w
  1036. SKINGE:* o) r2 t" I! ]5 i* g
  1037. JSR PPUADDR_PROCESS1 i7 M3 p. b% {1 M# N7 O
  1038. LDA SKINGE_STRING,X+ ^( B6 }& l& K- o" d% Q3 }
  1039. STA $20077 P6 G. c% y& w
  1040. LDA #$007 o, u- N) P+ N& i/ O- k
  1041. STA $2000
    6 a, ?! \$ i  v# Q
  1042. INC $BA
    / N, w3 G. M9 U8 E' }3 o/ m! I7 X  l
  1043. INX
    - D, d* T& Z  e5 S
  1044. CPX #$07
    5 D' U& G7 S! e+ K9 S; J6 [( ~
  1045. BCC SKINGE
    ( _8 C* c% \" O5 r: v( X
  1046. RTS* P" `# G% U- D7 O, y

  1047. 9 e# e( j( O& f: K: K% C  `
  1048. SKINGE_PPU:
    3 ?6 C' u9 k' D6 Q( F% ^
  1049. LDX #$00
    + D- U  v: r+ Q# a# U
  1050. LDA #$A2
    5 D) U# O) e! X. ?8 ?) N# a
  1051. STA $BA
    * |# I0 ~$ i8 N5 s8 ?
  1052. LDA #$21/ i# Z" t  z* A0 M5 ^+ w1 e2 R/ o
  1053. STA $BB
    * H  \3 r  {2 n- J' t# A! v
  1054. * m- F4 s4 B6 A4 J% N

  1055. ) U* Z9 Z2 a# w  z  y: i7 t
  1056. JSR DN_PPU
    / V* K3 s6 ?- E1 P
  1057. JSR SKINGE_WRITE
    2 ~* Z1 i% n" K5 ]3 w0 j, f
  1058. LDX #$00
    ' |$ F2 v/ k0 M8 z$ @1 `
  1059. LDA $07A2
    3 V/ t3 F& ~, Y8 f  f) Z
  1060. AND #$02
    4 p4 F0 P# H! g: X( z' B
  1061. JSR ON_OFF_PPU
    / W) `* q. ^7 T  Z0 u0 k
  1062. LDX #$00
    ; {3 C/ \& K4 [% Z
  1063. LDA #$B1/ _8 j! g! w; x, B
  1064. STA $BA$ ?& Z; U# ~& \8 }& a
  1065. LDA #$21* e1 r$ R4 Q" d' a/ d- k5 ^/ |+ L
  1066. STA $BB
    4 `* l9 \" P& O5 O! ~0 @
  1067. ! A* M6 Z5 d& i( R$ Y7 H
  1068. / r! u$ h0 ]9 r! x
  1069. JSR DN_PPU# X% H3 h. Y- L. y, ^8 b! L* _
  1070. JSR SKINGE_WRITE/ J+ `& C0 `4 N
  1071. LDX #$00
    + w8 \/ X$ }  k# f7 _* L7 G
  1072. LDA $07A3! S# P# a3 x4 F, \7 K' K7 Y
  1073. AND #$02; M4 G( ]6 _! s' L; B+ U4 I- W
  1074. JSR ON_OFF_PPU
    1 I  p4 p1 U. s9 f# i/ z8 W
  1075. RTS4 f) k' e3 d4 b: E3 W8 E! t

  1076. ) n- l! Q" o" B' I; B* ?
  1077. BULMIX_STRING:/ q! K# Z8 b' O; |; G: C
  1078. .BYTE $8C,$9F,$96,$97,$93,$A2,$80
    : j) r! ?9 Z& A6 y

  1079. . |4 n( U% x, ]& z* G- r9 [) S
  1080. BULMIX_WRITE:
    5 K' w  \, p& @  s6 _
  1081. LDX #$00
    + R  r5 n6 V  `0 V/ i4 ^& H
  1082. BULMIX:
    8 a, M( U' B) m# K9 o# j- ?
  1083. JSR PPUADDR_PROCESS/ L/ v! {( g$ }9 Y- l
  1084. LDA BULMIX_STRING,X/ M1 L; ^0 u+ f& u  K# I
  1085. STA $2007, U! X$ M3 t5 @* I% E( O
  1086. LDA #$00
    ' b$ p$ x( U7 O; |2 {: l5 Y4 c1 e
  1087. STA $2000
    ( n0 z" E3 |% u/ \' o" D
  1088. INC $BA3 Y! m/ y' `% ~5 b$ ?, Q, F$ F
  1089. INX
    ; @& g* X* Q  q! h  t* |
  1090. CPX #$07
    " ^% ]0 M$ X0 e+ U. c8 p7 |# C
  1091. BCC BULMIX
    ' f; D' o- E7 S
  1092. RTS
    - ^# l: G$ a9 b, Y$ j5 N
  1093. # Z4 g1 A1 q4 k+ g5 U" M) g3 ^* m
  1094. BULMIX_PPU:& }" T1 _& I9 x( R3 |6 ^9 x) U
  1095. LDX #$00( A' J3 `0 O3 {# _3 u/ z1 x
  1096. LDA #$E2
    . L3 y5 F* B1 K+ n6 u* \0 B
  1097. STA $BA7 u; U/ z9 n2 a& M: d: O8 W
  1098. LDA #$21
    ) k! c/ e0 w3 o0 l8 @1 o
  1099. STA $BB
    8 Z5 `. w9 i& X0 o" d7 a, R
  1100. + R! O( `) q1 m# I) U$ q+ [$ J
  1101. 3 L1 i+ f- ~) Y4 z) L$ G5 L
  1102. JSR LF_PPU
    8 g2 I: X& U: r
  1103. JSR BULMIX_WRITE# g& S: K: Q) E# \  y4 f
  1104. LDX #$00$ c; w& c7 z  r
  1105. LDA $07A2/ d$ ^1 `* q) R6 M. s  w  @2 d
  1106. AND #$04- b+ m$ y) }; ~0 E
  1107. JSR ON_OFF_PPU. ]( U* N; d$ s4 H5 B
  1108. LDX #$006 F2 V% }. u. o7 n/ ^/ k/ k
  1109. LDA #$F1
    ) h2 v5 H* F& |! i- e
  1110. STA $BA6 Y8 K) U2 I3 G: a' D  j
  1111. LDA #$21
    ; Z- q0 z, V& j  x* ]3 G! y0 S2 @
  1112. STA $BB3 o; N$ L4 Q; y- `& X2 t
  1113. # N1 ?# f3 }3 i4 r1 P

  1114. 3 c  ~3 Q8 h/ G" c3 M1 C3 F
  1115. JSR LF_PPU
      y6 r; H% u: c" g& t  g
  1116. JSR BULMIX_WRITE
    8 B; S7 u4 f5 I+ i
  1117. LDX #$00
    , F" ^& f8 L/ i7 O& f1 ^
  1118. LDA $07A31 b* x6 |6 @/ ~) N
  1119. AND #$04! G1 q3 Y5 e2 Z: n
  1120. JSR ON_OFF_PPU1 O+ j) a& D  P! W1 j6 @
  1121. RTS4 ~: i: {1 v3 x: ^+ y6 k

  1122. 0 x/ r1 F0 h' j. T1 o
  1123. ENELOC_STRING:$ v! T4 I! @! t1 }4 [' Q4 t  l
  1124. .BYTE $8F,$98,$8F,$96,$99,$8D,$801 D+ U7 f$ Y) ^* Y# e- u8 z

  1125. 5 I9 `$ R0 G* a9 S7 q5 @
  1126. ENELOC_WRITE:3 n2 S2 M! K. {% [
  1127. LDX #$00
      ~  o, ?  @% y: R& a; Y' l4 b; L1 Q  k
  1128. ENELOC:" }0 z7 V, D. e2 S( p! P
  1129. JSR PPUADDR_PROCESS
    9 ?+ [* Q1 E$ C/ w. O1 C
  1130. LDA ENELOC_STRING,X2 A# K* S7 s( R; L. b9 ~  ~: C' e
  1131. STA $2007, p0 }2 X. p# [+ _) u
  1132. LDA #$00
    ' X8 d( z$ C( }, H; O
  1133. STA $2000' k+ n. d0 n% f5 {- H+ a
  1134. INC $BA
    : {, f" M+ B+ o5 |9 a
  1135. INX0 e  Y4 C  o* u9 w$ g9 j
  1136. CPX #$07( C  o" J; c2 G. N
  1137. BCC ENELOC2 Y1 o4 T2 s/ l. r
  1138. RTS' Y" W* M+ p8 }/ m6 ^( V- @, p
  1139. 9 H$ _5 \3 \; ^  v0 p
  1140. ENELOC_PPU:
    8 c: v- O( L5 |' i! }/ D0 k
  1141. LDX #$00
    # f; E; y) ]+ l. [0 H) F* m  z& j
  1142. LDA #$22# S) k: y3 J0 G; S
  1143. STA $BA- M1 m/ @, y( G  p$ K
  1144. LDA #$22
    8 ^( a3 h! T! m7 p
  1145. STA $BB( h; a; ?6 T3 F

  1146. . T- m# e' y! H. W
  1147. - p% I; N/ V! ~& z
  1148. JSR RG_PPU6 \# Q* V/ z4 X7 A
  1149. JSR ENELOC_WRITE3 u1 V+ l. X; r& a' T4 v/ Z6 W
  1150. LDX #$00
    9 D6 V* S2 c! l% b3 D0 {3 e  v
  1151. LDA $07A21 x7 H5 [* \& x3 s% k3 G9 Z
  1152. AND #$08
    0 w% I& h4 \# K; D5 q- E
  1153. JSR ON_OFF_PPU1 \  {  o! u; C: K" M( O8 V1 ]
  1154. LDX #$00+ D& [" `; k0 @. p6 e" k
  1155. LDA #$31  f( y3 s, e3 H* d. [
  1156. STA $BA0 U: q3 \: y5 c2 K* i
  1157. LDA #$22& m; z/ F5 F, c8 `, Q( p
  1158. STA $BB
    / A5 u5 q* ^& q$ x0 [: v3 G5 t) y
  1159. / q2 C7 V& H) A

  1160. : [, {" c( M# H% l7 Q
  1161. JSR RG_PPU
    , u: N6 \0 D; \
  1162. JSR ENELOC_WRITE
    ) S* J* o" Q8 e% w: ]
  1163. LDX #$00
    , x" p; y3 P: G1 I$ k% D! E0 M. T
  1164. LDA $07A3
    * D- z! d: _6 r5 u  B
  1165. AND #$08
    $ `! Q( \/ g* m6 g/ n  W
  1166. JSR ON_OFF_PPU
    # Y( d9 |: ]" ?) Y
  1167. RTS' q& t/ f4 j- Q9 F0 G+ Y% [2 L
  1168. 2 _7 r$ B2 y& B
  1169. FOCFUL_STRING:1 m# W8 c/ a4 A2 k* x
  1170. .BYTE $90,$99,$8D,$90,$9F,$96,$80# g: q# v, k: K8 R$ m. i& h7 j
  1171.   k" ]8 z4 l, C9 a& `2 K
  1172. 2 @0 k: G2 c# m  |3 x; p
  1173. FOCFUL_WRITE:
    9 A: ^; |# {; ^' Q' Q  e
  1174. LDX #$00; Q9 P' N2 q1 p% m: @
  1175. FOCFUL:: k/ g8 c" F; w2 j; [6 q$ k
  1176. JSR PPUADDR_PROCESS
    7 C! _% O0 j$ H8 D: ^0 u7 N& K( l
  1177. LDA FOCFUL_STRING,X
    - ?% [" r, n4 U
  1178. STA $20073 G4 Q" E" j+ Z/ l  j
  1179. LDA #$00
    + _( A" ?4 U+ I* r0 ~/ n2 Y9 O
  1180. STA $2000# n3 w' O5 E' }0 C
  1181. INC $BA
    , H: y# B! t1 P- w% a
  1182. INX8 w5 o3 Q" i  Z8 |
  1183. CPX #$07
    , _8 c2 a6 h3 P! Q, c( A* ~
  1184. BCC FOCFUL
    : B- _: H/ O* C5 i% V
  1185. RTS3 T6 i  c- y$ {  \' o# K: E6 @& f* S

  1186. 0 W2 Q4 ~) V: g. S9 t8 G8 p
  1187. FOCFUL_PPU:! T7 U7 i) q: F, r# S; f
  1188. LDX #$00
    + F9 D" G$ a, S7 B( a! c' _# |" ~: w
  1189. LDA #$62
    4 b) ]# H# s) T6 T+ w9 F5 A
  1190. STA $BA
    0 ]  g, @5 e' \& t$ f
  1191. LDA #$22
    ' W. ^7 E. d+ O; ~% ]' G
  1192. STA $BB7 V( Q+ G( o- u2 h
  1193. # x7 }4 d/ r  Y$ K, f  J
  1194. , B0 g6 i% q; \
  1195. JSR B_PPU6 R& Q* U$ [, U' p4 w9 x) u5 q, c
  1196. JSR FOCFUL_WRITE
    : S( q; @, t: R- ~0 z
  1197. LDX #$00
    9 b; u3 g- P9 p& O
  1198. LDA $07A2: J' ^; v9 b7 z" U# q
  1199. AND #$10
    # P& \' B, }7 p4 q! |8 j/ F" F% j
  1200. JSR ON_OFF_PPU
    4 @: w) X1 j, O6 p3 z9 n9 y  R
  1201. LDX #$00+ D$ G9 d4 ?/ @0 n4 v
  1202. LDA #$71
    8 O2 g- \7 \2 R$ ^. s6 k
  1203. STA $BA
    # I7 c! l3 S& k% Y- f
  1204. LDA #$22
    ; U1 j& E( d, y" G
  1205. STA $BB# a0 {; @" p! K1 D2 ^# y4 p3 s
  1206. 3 ]& k( |# n, R# S& i

  1207. * h, r" C; N( L. y& y5 u
  1208. JSR B_PPU
    & S! A1 T: H& j3 n6 ]0 \9 W
  1209. JSR FOCFUL_WRITE
    0 |- S& [% N, g3 v- Y8 R
  1210. LDX #$00
    8 d" _/ ~7 @8 Z( ]2 a$ t3 ^
  1211. LDA $07A3
      D, t) i2 o. n. p
  1212. AND #$109 u7 s9 I$ I" I( r* k
  1213. JSR ON_OFF_PPU
    & Q, o" K8 O/ ^% q7 ?) v" S" |6 j
  1214. RTS' `2 d  G- L9 P6 y6 K4 H

  1215. ( c. k- q" r" P& T
  1216. BULCON_STRING:
    # q5 [! }( i$ J# E2 W
  1217. .BYTE $8C,$9F,$96,$8D,$99,$98,$802 n- d+ M+ G- D+ H3 h5 n

  1218. . e& |0 f+ h3 @2 _9 u
  1219. 1 d  Y( D! C  T: f! m8 ]
  1220. BULCON_WRITE:  L4 G- c( r1 e9 }4 \
  1221. LDX #$00$ j# e, U9 L' f2 ~# k0 |5 n
  1222. BULCON:1 ^' f! t+ A9 E5 |5 @
  1223. JSR PPUADDR_PROCESS
    9 h! T1 @/ x( q0 ^8 H% V
  1224. LDA BULCON_STRING,X
    4 s1 `; y- y) b
  1225. STA $2007
      K4 J% _) m9 |0 y
  1226. LDA #$00! a# c8 r% r# S1 R  N# M8 n" z) [
  1227. STA $2000, X& e% B. A( b% n
  1228. INC $BA& K. l! W2 n9 C( b( {
  1229. INX& Y7 u+ o* R7 r& a# G& K
  1230. CPX #$07
    " ~0 Q* i  K- a" M' M
  1231. BCC BULCON* H2 T" s  z& m% e5 ^' C6 g) `9 ~
  1232. RTS' P0 r7 c- z) k( X

  1233. 1 B, V% b8 J7 u6 ^# F
  1234. BULCON_PPU:& F! X7 V" ^, Z
  1235. LDX #$006 V8 z* I2 l4 P' f; n4 ?8 U7 S
  1236. LDA #$62
    & A7 u/ P% T" n
  1237. STA $BA
    , S5 }4 }- h- _
  1238. LDA #$21
    % {: ], m4 m3 ?& v
  1239. STA $BB
      X7 R$ S- G, v2 \8 ?) H

  1240. $ a0 @4 d( K% }
  1241. * g( M  T  _, {5 Z6 e: J
  1242. JSR UP_PPU! x' b) d5 C7 z0 D9 C: Y
  1243. JSR BULCON_WRITE
    8 ?/ b+ ?8 e' c% n
  1244. LDX #$00" C- g' q4 S; Q9 ]' {
  1245. LDA $07A47 u' I! U3 Z! h+ l: O
  1246. AND #$08
    ! W! k3 k; G  t3 w+ E
  1247. JSR ON_OFF_PPU
    2 k+ f3 g/ P  ]  j! f
  1248. LDX #$00: u( I) |' ~# A0 s0 T$ A
  1249. LDA #$71! f% [. D7 }: L0 O3 j& B
  1250. STA $BA
    $ d# x" c" m% C
  1251. LDA #$21
    + f( Y  ^  L) N2 C3 z
  1252. STA $BB; f2 M; z7 N) @* B$ P$ W
  1253. + b( _% |$ Y$ ^8 ]5 V

  1254. & {5 y/ E, t2 N8 v7 |+ O% @& B
  1255. JSR UP_PPU
      [5 ]4 J8 k1 v) `
  1256. JSR BULCON_WRITE
    9 t4 p1 O/ q4 ~% X, X8 E% j( C
  1257. LDX #$008 i0 A/ A$ k9 a/ F+ u7 |; J/ O. o2 K# t
  1258. LDA $07A5% j* z; |8 e, `; S# Y0 `
  1259. AND #$085 q4 k: }+ q/ w: o5 }) t5 t5 T
  1260. JSR ON_OFF_PPU1 A% F5 }+ [7 N' `! p6 p
  1261. RTS# ?! @8 ~- T, K* a$ J
  1262. 0 Y! R% _, g4 b3 E+ _" t9 h) l
  1263. SPEBUL_STRING:
      \7 g6 e& y) K% r+ v4 H/ T" x
  1264. .BYTE $9D,$9A,$8F,$8C,$9F,$96,$805 S4 X4 F% D6 y. c
  1265. " U) L6 b2 \2 Z, O6 f  a6 d

  1266. 4 w3 o. P! j* S$ J/ k; r. w1 s8 J
  1267. SPEBUL_WRITE:
    8 V6 F1 [5 u' X( P+ P
  1268. LDX #$00( `# f2 O" t7 f- ~: f
  1269. SPEBUL:  ?* P2 I3 [- y* l7 p
  1270. JSR PPUADDR_PROCESS
    # X& }# f, e: p- b5 j8 D  V, p9 ~
  1271. LDA SPEBUL_STRING,X) A( j" M3 ?" s$ K. C' j. _  }
  1272. STA $2007
    4 b! {+ V( i$ o2 ?% I, v2 W  Y
  1273. LDA #$00! i2 b7 q, r' W0 S( k( M
  1274. STA $2000/ G8 b5 [8 R- Z4 ?# K0 I  r
  1275. INC $BA
      ]6 n3 d0 j  |* b6 ?; I! c
  1276. INX% R% a+ t8 y8 y  P& c1 {
  1277. CPX #$07- X# y- o$ y5 x
  1278. BCC SPEBUL) N$ O$ R2 r0 n" G+ O2 J
  1279. RTS
    9 B3 v8 N* ~" M

  1280. , b/ j8 m4 Z# e3 R9 Y
  1281. SPEBUL_PPU:
    0 a+ l, h( _  s. ~
  1282. LDX #$00
    9 K+ d3 Z* v9 n
  1283. LDA #$A26 t  j- \8 d  g% {6 I: b
  1284. STA $BA
    ' e( L( X: {( p# P% P& W8 i5 b0 U6 m
  1285. LDA #$21
    . z, U& @' a$ j$ A
  1286. STA $BB
    3 ]( F) z/ _3 d( O, x

  1287. $ V8 {8 ?0 b! j, ?# T/ t5 W% U9 Y8 T

  1288. 9 [8 J. i  Y' f! f; h; I& {0 N2 C
  1289. JSR DN_PPU
    8 Y8 y+ b  ?% c! O" W* P  F
  1290. JSR SPEBUL_WRITE
    / v7 W: l; P6 h
  1291. LDX #$00! z8 c2 U5 S; M" c" f1 G
  1292. LDA $07A4# N8 q/ `6 o" ]; J) ?8 Z& `- A& j
  1293. AND #$02
    8 _: V/ b% C4 U
  1294. JSR ON_OFF_PPU
    9 z( n3 [4 u4 _& v- Q. \
  1295. LDX #$00
    ( d9 ?, c, M. t$ h% O% V
  1296. LDA #$B1
    % Q6 L: J! U  K9 \1 f7 z7 X
  1297. STA $BA
    3 L5 ]+ F3 H/ ~7 U$ \8 j) E" R
  1298. LDA #$21* |) E) q# o4 R! a9 c9 V( W3 i
  1299. STA $BB
    ; H$ B+ U: N, x% t
  1300. 7 s# x5 a1 ~" E/ ?

  1301. . j8 }: \( e5 Q# R( p1 Y
  1302. JSR DN_PPU2 u3 q% I4 _) C, S# ]& {4 V
  1303. JSR SPEBUL_WRITE) ]- `* }: Z8 D5 s9 Q0 l+ U
  1304. LDX #$006 z9 K) p5 }! ~3 P1 b
  1305. LDA $07A5
    7 X, Z5 P( w; C2 x- k
  1306. AND #$02
    : V" X9 j. k  i6 ?& R
  1307. JSR ON_OFF_PPU
    0 I% ]! s9 T1 A; _3 t7 p+ d2 t
  1308. RTS- K/ y" c: y& u! H9 A8 q7 ~

  1309. 9 D6 s; h) T9 v
  1310. .ORG $A500
    ) W7 _& T+ r9 Z9 m6 F6 g" ~
  1311. CLEALL_STRING:+ Q! @. V2 r6 G; e) l( y
  1312. .BYTE $8D,$96,$8F,$8B,$96,$96,$806 V2 N5 A% d0 I6 N9 t" E1 ^
  1313. : U6 N9 j4 ]$ A% \* }- ~
  1314. 7 L, c9 n8 ^. V
  1315. CLEALL_WRITE:! z& l3 K5 V/ {( w$ B
  1316. LDX #$00
      X! T5 J" c+ v% z5 c/ [
  1317. CLEALL:. I1 b% ^9 k+ u/ N7 c) ~" r+ _
  1318. JSR PPUADDR_PROCESS
    ) @- b1 Q# K. Q" ]/ T! o7 y3 j) u
  1319. LDA CLEALL_STRING,X
    % _1 G" c7 }& A4 M" c' c0 g( y- k
  1320. STA $20075 o: g! ?* I; V* h6 [9 ?
  1321. LDA #$00
    , a2 a. g0 I5 U3 M1 H- l9 x( i
  1322. STA $2000
    $ C3 t+ x" [3 D' C9 q
  1323. INC $BA* }' n5 j! G4 w6 |" M$ s
  1324. INX
    & k( m1 Q9 P& m4 @" U
  1325. CPX #$07
    " U0 I' O' E6 c8 B
  1326. BCC CLEALL; E) ^- L8 [4 L0 ^1 F" A& T
  1327. RTS
    % p1 a7 r3 \+ N5 y: }0 y; J) D

  1328. 5 a# m. d+ B) l" j3 o, |
  1329. CLEALL_PPU:' j9 j7 |* k% Z3 S, V  k
  1330. LDX #$00$ z& V, e' H( N. v9 S) z
  1331. LDA #$E2. A' K( \! w3 B4 s0 `" I
  1332. STA $BA, S* Y1 u$ l3 d: o& _% r/ @- a# V
  1333. LDA #$21
    : a$ x9 X2 |  h1 }( U
  1334. STA $BB
    9 o7 W4 J  o0 l2 @! w' U
  1335. 5 @. b' E  o4 @) V

  1336. 1 O: a1 _+ R5 Y- @  j
  1337. JSR LF_PPU. C7 k( O8 w3 T5 s
  1338. JSR CLEALL_WRITE: J1 @- \9 A" {4 c. _
  1339. LDX #$00
    6 L* V3 Y* l7 Q' H/ |, ^' `
  1340. LDA $07A4
    8 E6 |9 x9 A7 t+ n/ [* P; B5 h
  1341. AND #$04
    . K" P  W/ z4 j! q" b6 ]
  1342. JSR ON_OFF_PPU4 @, g, N/ d9 p0 J# O  m1 p7 L
  1343. LDX #$00
    - o* G) K8 Y9 h* R6 G1 D5 c
  1344. LDA #$F18 P; {) j/ W% B6 t' `1 O" ?; G( G
  1345. STA $BA6 y6 v; L1 z5 E- M
  1346. LDA #$21
    ! i/ h- e1 ~, f$ Y
  1347. STA $BB# V  x* R- d" A# L+ N7 d$ G  a/ }

  1348. ) d" ]" @% Z0 V) D3 w% E5 i

  1349. 3 O% I) R) K. E
  1350. JSR LF_PPU8 Q; i& N3 Z7 B3 Z4 t4 |
  1351. JSR CLEALL_WRITE
    0 c& a; ?4 m9 f, F) Y
  1352. LDX #$00
    " f. e; U( a9 [
  1353. LDA $07A5# O' G! V( y) V+ Q/ W7 {3 _
  1354. AND #$04
    $ ?! A4 E8 @4 F. H% }& |9 _/ `
  1355. JSR ON_OFF_PPU4 T4 Y: a* z. T- {
  1356. RTS
    / R" G. T. |, T5 ^/ c1 ]- u4 M
  1357. 9 K( j4 U% y% ~* |9 a; I
  1358. HARDMODE_STRING:- X% s. j- {1 {! f
  1359. .BYTE $92,$8B,$8E,$97,$99,$8E,$80, `- V$ R; ~( r" n+ z# u

  1360. : U) @! s4 j( {; P, L5 Z7 l4 I3 p

  1361. $ |, e# e# N- h( e- r
  1362. HARDMODE_WRITE:1 F9 |: z3 {$ x, j! k, e7 j' X
  1363. LDX #$005 ~# z% ?; t: J0 w3 o' d+ m) k, Y
  1364. HARDMODE:/ z& a/ w$ f& U1 l3 ]( w8 U
  1365. JSR PPUADDR_PROCESS
    , {8 Z9 X' n) `( Y7 K$ T
  1366. LDA HARDMODE_STRING,X
    & @9 Q5 _+ K  c$ ^# g- z$ L
  1367. STA $2007$ |+ j' q6 a; d. T4 d
  1368. LDA #$00
    ; P2 S: C2 q# Q0 E2 i$ X5 T
  1369. STA $2000
    7 E, a  k) M& |: w6 M% e
  1370. INC $BA
    ; `% z7 r, y  C" g+ {2 ?$ k1 {& a5 h
  1371. INX9 ]# X! g8 L, p# p$ V, Y
  1372. CPX #$071 P) M' {( h; O
  1373. BCC HARDMODE
    : {9 Z1 {! @/ W/ }. d* K5 j, ?
  1374. RTS
    * f. ]2 E2 `) d) A1 z

  1375. 7 F0 e5 z4 @: V' a2 Y5 }; s
  1376. HARDMODE_PPU:) m$ q6 _. p1 S% D( r! [9 K0 J
  1377. LDX #$00
    + K4 v1 S! f  u+ v! t
  1378. LDA #$22
    $ C0 |' Z) B9 U6 a% ~
  1379. STA $BA. R) s4 F2 e, [- Z' _' r
  1380. LDA #$22% g. }* y4 E4 X
  1381. STA $BB
    4 Z! x# m( ]+ P
  1382. JSR RG_PPU) }/ s9 ^6 m" ]0 B3 Q3 ?, v4 i
  1383. JSR HARDMODE_WRITE
    , t- E+ U) P# ]" I; T
  1384. LDX #$00
    + m8 q7 [3 m5 Z& P& Y
  1385. LDA $07A43 l: Q. T1 U2 L* T# l: [" b
  1386. AND #$01- Y4 `3 \9 R; |6 N# x
  1387. JSR ON_OFF_PPU
    ! D5 ~1 j9 y% B) `
  1388. LDX #$003 U% f/ W5 s4 y2 o
  1389. LDA #$31
    $ D. o  j/ e+ G- a7 E
  1390. STA $BA& X% @6 e) ~) Y4 a
  1391. LDA #$220 I# z" }1 F# x8 F! `. V& r$ \
  1392. STA $BB5 B* s- q- I9 ?  t; k" O. Z

  1393.   S9 y8 b0 g# ^( |5 p* M" y
  1394. : f8 A) T$ r9 q/ B, |
  1395. JSR RG_PPU! N6 }+ v. [4 ^$ Y9 ^- M3 K
  1396. JSR HARDMODE_WRITE0 @* w& {2 ~3 c& o; k5 h
  1397. LDX #$00
    2 `9 k" ?2 P& x; g3 x' z
  1398. LDA $07A5
    $ N2 K. q' P7 A7 k/ D7 S% x2 t  o
  1399. AND #$01
    7 `) q" N4 B! V& `8 o
  1400. JSR ON_OFF_PPU( o' h7 U* x1 v3 [* T
  1401. RTS
    : \2 c7 D/ n2 N5 }6 E

  1402. / |( ?; W) K# H0 y2 K1 T2 p  Z
  1403. B_TO_JMPSTG_STRING:  L  Z( p0 b+ y, q$ R& k2 t
  1404. .BYTE $80,$8C,$80,$9E,$99,$80,$94,$97,$9A,$9D,$9E,$91,$807 l7 Y9 T, u: S6 `2 F1 {
  1405. - o7 a: W7 \( m1 j, O( ?/ f

  1406.   u. E9 C% `5 C" z) I; \
  1407. B_TO_JMPSTG_WRITE:
    # ^) r7 H# @+ T( {% x/ [& G
  1408. LDX #$00
    3 t0 e0 g" }9 ^. a; A1 J, C5 R& x( a
  1409. B_TO_JMPSTG:2 B  E* j, D: N! N6 \
  1410. JSR PPUADDR_PROCESS; @! N" s  |4 K, O
  1411. LDA B_TO_JMPSTG_STRING,X
    6 D& b7 O+ {" G3 s
  1412. STA $2007
    ( w. w# |" g$ P4 s0 z7 O  S
  1413. LDA #$00( A1 d5 j9 U) }3 c# N
  1414. STA $2000" r4 H3 g, k# ^' f9 }! G
  1415. INC $BA( C- q/ L" v) l( e" R4 x
  1416. INX/ d3 I) [8 X* ^3 s: n) B- f0 [
  1417. CPX #$0D
    3 w. }  R. g3 Q: p8 E
  1418. BCC B_TO_JMPSTG+ Z2 ~% A* ^5 N, X* ]8 E0 C) h: X& e
  1419. LDX #$00" `$ `: {$ S& p5 }& r& y
  1420. LDA $7FE0
    4 j/ C6 i! _8 s9 E& {! g
  1421. JSR ON_OFF_PPU
    + [) ^( C$ u4 t6 w: r
  1422. RTS, o: r; M- j) R1 o( y

  1423. " h5 y6 |# }6 I$ M7 E$ V
  1424. B_TO_JMPSTG_PPU:( I/ o# r9 T7 k0 }
  1425. LDX #$00
    + Y; ~2 u+ p3 v( H
  1426. LDA #$68& ^- U, Z, p/ P/ W8 M; @
  1427. STA $BA1 r. ]! N" P9 X: d) Z6 M( I4 D
  1428. LDA #$22
    / u& r* j) W6 i! [
  1429. STA $BB
    9 ]+ K6 Q8 @' V1 q6 y
  1430. JSR B_TO_JMPSTG_WRITE6 F8 G+ |3 C4 e& b
  1431. RTS
    * k3 ~: v  e: l( \  {) X, z
  1432. % d2 I0 d. h% S4 E

  1433. 6 R% s' X4 x1 k: s
  1434. A_TO_PLAMOD_STRING:
    6 R6 r) e7 b+ X9 Y( J# p
  1435. .BYTE $80,$8B,$80,$9E,$99,$80,$9A,$96,$8B,$97,$99,$8E,$80
    9 z+ Q' m+ O# h/ i, m1 ]

  1436. ) |% M. k0 Q& A, A" q+ ]4 b
  1437. 3 o# g4 @* {( [+ ^+ s5 Q0 S
  1438. A_TO_PLAMOD_WRITE:9 ~8 R0 f) ~2 U* }  B
  1439. LDX #$00, Z$ a4 }# w( K
  1440. A_TO_PLAMOD:
    . B; h( c5 i6 M) ^/ r7 S
  1441. JSR PPUADDR_PROCESS4 U- ~1 f9 k+ _# Q
  1442. LDA A_TO_PLAMOD_STRING,X2 G$ }  O/ Q& d$ i
  1443. STA $2007
    3 f8 S6 d  @) m1 e: a; f% A- i. [6 H& n
  1444. LDA #$00
    " M0 ~( D: p: A$ p( y
  1445. STA $2000- W% M  X! u1 }7 n5 ^4 z
  1446. INC $BA, }5 Z0 j5 L. ?9 L0 f
  1447. INX
    " k3 W3 t% G4 {
  1448. CPX #$0D
    ; S" E* D$ B; D' @; }7 G9 M9 B- U
  1449. BCC A_TO_PLAMOD
    3 j$ K+ w2 r# `0 C! {" T% o
  1450. LDX #$00+ U, W& L; [' U( a
  1451. LDA $39
    9 ?5 ^( q' U; n& |+ L3 R
  1452. JSR ONE_TWO_PPU1 I8 n) y. A3 w: O' y
  1453. RTS
    % {& C: I' r$ ]
  1454. * W& U* ?, r4 C( T
  1455. A_TO_PLAMOD_PPU:
    4 k( H4 Z. N2 A! Z
  1456. LDX #$00& b" X4 g/ a2 A8 k+ u* C7 ?3 D
  1457. LDA #$A8# ]2 l" o. k/ X
  1458. STA $BA8 M+ U* p$ \$ i& `" R) C
  1459. LDA #$22
    & c1 M& i+ D* d: J6 q% W$ @0 l* B
  1460. STA $BB- d9 L6 p  n" s+ \
  1461. JSR A_TO_PLAMOD_WRITE
    3 c  b$ P3 X6 z8 \" A- [
  1462. RTS
    1 x3 N4 ~! b* @7 o* [9 b( J1 L
  1463. . _( x% ?  b: p4 U- @! T& F  l
  1464. MOVSPE_STRING:  J; D$ J+ a, e
  1465. .BYTE $97,$99,$A0,$9D,$9A,$8F,$80, `: _5 o5 K% ~) B; a9 _) S, }

  1466. % T. M7 F6 j7 C; G* z4 v9 M  u5 R# N
  1467. 3 W1 p* h8 P8 H6 g! E4 J; l6 t$ V
  1468. MOVSPE_WRITE:
    + ]* A4 Q! h& l- O" P$ z
  1469. LDX #$00
    , p& Q2 D% S4 b; S' i, w
  1470. MOVSPE:( z& M' u6 ~4 K8 T  D. b  `
  1471. JSR PPUADDR_PROCESS
    * d1 S1 @! L, G9 v. n
  1472. LDA MOVSPE_STRING,X* J- f# r% F0 M$ y# C& f
  1473. STA $2007
    6 ~* ]( [$ c' F1 A" J
  1474. LDA #$008 H+ f- _& s/ g
  1475. STA $20008 Q  ]! S' F$ x: M3 ]8 Q
  1476. INC $BA
    9 B" q/ K% y; h% j/ o; P3 `5 o; t
  1477. INX! |( w# ]% z: d: l$ Z' [# G( B
  1478. CPX #$07' I/ I, @6 L+ W
  1479. BCC MOVSPE
    + p7 n7 _4 o  l. e
  1480. RTS
    6 G- h7 m; _) H/ E
  1481.   C3 s9 q4 ?5 Z9 J+ F. K& B
  1482. MOVSPE_PPU:9 y: {1 ?3 M% T, Y! ~
  1483. LDX #$00
    3 s$ D" D2 P  W: s; M% r( _
  1484. LDA #$696 V% l, u. X2 z2 w5 ]: W
  1485. STA $BA* z# v: A( q$ [) Y6 z% q+ o
  1486. LDA #$21( |: n- K* J3 b4 T  |
  1487. STA $BB
    ! I, u2 ?/ C  A( ^+ e  v
  1488. 3 ^. j+ B- U" S
  1489. : y7 c. D. E$ l& G
  1490. JSR UP_PPU5 E$ c) L9 e- B8 m' Y7 O* ?5 f! W
  1491. JSR MOVSPE_WRITE
    9 l6 v7 K  e( P4 U
  1492. LDX #$00
    2 ^9 ?$ _' y* \9 Z! u  s& i' m
  1493. LDA $079F
    ) d  [" P. `3 ]% o$ B
  1494. AND #$08, C" k/ T7 d! e$ b; C7 e
  1495. JSR ON_OFF_PPU
      P" v1 m( N$ j; r5 K3 S
  1496. LDA #$80
    ! c8 M/ Q0 F/ B. `9 m, Q. ~
  1497. STA $2007+ r8 \) A3 M' c/ C6 {7 g
  1498. RTS
    ! l. K* v0 ]6 y/ j; j4 d) T/ X
  1499. # h; n8 j' A& B$ w
  1500.   ' B# m# O+ q# p- O- C5 j
  1501. UNLJMP_STRING:
    2 x# ?+ d' j' x' d; ]
  1502. .BYTE $9F,$98,$96,$94,$97,$9A,$80
    ) n6 b/ p! f2 a

  1503.   ^6 g$ B& k: ~" V! S2 j. b

  1504. 9 v- n& i' q6 G3 g( t/ r$ [8 I- k* I
  1505. UNLJMP_WRITE:
    . R% o% E' o7 i
  1506. LDX #$00
    & G1 D# Z' ^1 [
  1507. UNLJMP:, u1 U6 X6 A$ i9 \: D
  1508. JSR PPUADDR_PROCESS
    0 M9 a0 E# P/ F0 q
  1509. LDA UNLJMP_STRING,X9 ?" }  M$ u; M' s
  1510. STA $2007
    ; r$ W; D# v2 P0 ?2 ?( r4 f7 y$ U* \
  1511. LDA #$008 @7 s, v0 e( C7 U+ y
  1512. STA $2000
    " s" j8 Z! y- X0 V
  1513. INC $BA
    : a* D$ U5 @6 Y) u( f2 J
  1514. INX
    * f8 L' P; I0 r% o3 T) D, ~
  1515. CPX #$07
    5 j3 F# n9 }: m' x8 I
  1516. BCC UNLJMP& \& |! B  P$ Z& q
  1517. RTS
    7 x0 P+ X" k* v; Q

  1518. - l7 o# e* p& s  h$ C" Y- b1 ]" i
  1519. UNLJMP_PPU:6 H' V/ E/ `& ^# m, L" l5 h
  1520. LDX #$00
    * `7 l* o* r, f1 K7 E
  1521. LDA #$A9- l) n) ]" L( B% d  d: z1 v" ~
  1522. STA $BA
    2 Y- Z8 o; x8 O1 D- D
  1523. LDA #$212 S5 r% m6 z; E2 _3 ]
  1524. STA $BB
    $ X  c# u( a+ x

  1525. ; {; I$ I' i( S/ Q$ m

  1526. " e1 K# T' X% q$ i: E3 O* i
  1527. JSR DN_PPU( b/ r) t% }+ z
  1528. JSR UNLJMP_WRITE, x# V( j& ^/ L- `
  1529. LDX #$00! O  W. I/ N7 \8 Z( J
  1530. LDA $079F
    1 v' _  P, R; ]) O* N
  1531. AND #$043 C- ^5 N: d0 {8 D, B9 d$ u5 F; \
  1532. JSR ON_OFF_PPU
    ! a. }4 d/ z) o) j! f. A
  1533. RTS+ n4 D- F. [* T8 w# t: Z* D

  1534. 8 Q/ x1 X+ g+ U/ ?$ i3 Q& D) H$ s

  1535. 8 `6 h  A- L" i( U$ w. n( T
  1536. DESTRO_STRING:. B0 `3 s! E3 [! o( C
  1537. .BYTE $8E,$8F,$9D,$9E,$9C,$99,$80
    + C1 V7 m9 c7 r) N
  1538. 7 h( Y* K9 G4 L
  1539. 9 s. z6 {/ |3 J7 a$ q2 c
  1540. DESTRO_WRITE:
    $ Z. Z3 I- Z0 Q. J! \8 v  P4 B
  1541. LDX #$00
    " B* _1 L: T5 E
  1542. DESTRO:5 Z9 Y. g8 k* W7 z7 g1 `
  1543. JSR PPUADDR_PROCESS
    9 r# W- Z$ f1 {/ T' _
  1544. LDA DESTRO_STRING,X
    5 P5 K) j6 T( b& }, ?  q8 A
  1545. STA $2007* B" m+ v6 s6 a) K( }
  1546. LDA #$00- |) U) G, W& z& h5 b6 x3 w5 w% W. x
  1547. STA $20007 P7 z2 g. ^! O( I) v
  1548. INC $BA! o/ m1 I; @' I
  1549. INX8 \" \0 i) ~& C' b: z7 i5 @6 V9 k
  1550. CPX #$07
    7 I& v- F& t! A* F
  1551. BCC DESTRO) d+ K' s' @, r' Q' x  r7 l5 R. v
  1552. RTS
    * R$ ~$ Z  X( p& O5 [) Y
  1553. ( U- w% K: s# U8 N; q$ C, r/ {; ], r
  1554. DESTRO_PPU:
    9 H6 m$ v; [1 i. K
  1555. LDX #$00
    / q6 o8 ~3 ^) Y% L
  1556. LDA #$E9' E# h# u2 q! U* j
  1557. STA $BA
    " r, P' t1 p3 U5 }2 P  U' z$ }2 l
  1558. LDA #$21
    8 \. |8 L) c" M/ J
  1559. STA $BB" w/ a: g9 X# t. ?7 f3 H$ H+ U$ v. h

  1560. & T/ O+ S' o/ Q/ T. ?2 R
  1561. 4 T2 S3 g# X! u3 @* @
  1562. JSR B_PPU' F* P8 T. U9 A) \7 I* c
  1563. JSR DESTRO_WRITE1 s8 {4 N* m  h* ~) L* t- W
  1564. LDX #$00+ g; ^( K. x3 m# k3 a/ J5 r
  1565. LDA $079F, Z2 ?5 ^  F) _5 n" |/ a# Z
  1566. AND #$40
    ( l/ N6 F) Z- h: f1 P
  1567. JSR ON_OFF_PPU+ K+ U& H# |& j2 Y
  1568. RTS
    7 i" k: b4 _. ^

  1569. $ _; S: N/ @4 ^$ P- R
  1570. 4 w& _' A) N9 R) U: l
  1571. EQUBUL_STRING:
    4 E( D# w1 n2 C9 y" G- V! j
  1572. .BYTE $8F,$9B,$9F,$8C,$9F,$96,$80
    2 p# d+ D& d6 |) c
  1573. . Z( X, P5 w2 ^$ ?

  1574. / ?* O6 P* Q7 U% W/ J
  1575. EQUBUL_WRITE:
    & w9 f; k. w4 _6 A9 Y
  1576. LDX #$00" H% Y2 j6 g% k: \3 B$ T
  1577. EQUBUL:
    : J" M$ z; ^" |& z
  1578. JSR PPUADDR_PROCESS4 B( F: D% a/ l) G) A
  1579. LDA EQUBUL_STRING,X, [3 r; V6 J7 G5 @
  1580. STA $2007" O% U1 z8 k6 i/ t) W! Y0 U
  1581. LDA #$00) d; j9 W% A7 E/ k
  1582. STA $20005 y/ ~6 L/ _/ ^; a! R$ D0 E- s
  1583. INC $BA
    2 [: V7 J1 u! g3 G
  1584. INX
    " I$ ~! {1 h6 t% U
  1585. CPX #$07
    6 K! Z+ Z' t5 u
  1586. BCC EQUBUL
    6 E7 d# e% Q. X( B5 V- @2 |3 K
  1587. RTS# _; `: D( R( @4 p( O6 D" K% V

  1588. $ |4 D) s) Q+ [1 V; N8 E1 M* r& Z
  1589. EQUBUL_PPU:
    , I' d( ^2 b4 o8 F7 g$ C
  1590. LDX #$00
    " _) \9 l& H% R3 V
  1591. LDA #$29
    + a( D# P8 G; V9 M2 A
  1592. STA $BA9 a7 e8 B& v/ Z% y4 a+ _# D
  1593. LDA #$222 D' ^/ H: Z* q
  1594. STA $BB6 Q, U3 s) Q% x) l1 _8 b
  1595. - ?" T; ?3 t% X% [

  1596. " Y( {2 _; y6 {& a. |( h5 p
  1597. JSR A_PPU
    5 H: t: k5 p) v4 N& o
  1598. JSR EQUBUL_WRITE, e1 i( N) u; I0 f5 a8 F
  1599. LDX #$007 b7 ]8 R6 x4 `
  1600. LDA $079F
    % @; J! M; _) K5 N2 `3 n5 z$ z! A  ]
  1601. AND #$80
    5 \, L* r% e9 s  f' s
  1602. JSR ON_OFF_PPU
    # A/ P1 O/ ^9 S6 H; R) Y( |
  1603. RTS
      U* K  t. G* a; O2 l; g
  1604. ! z7 T0 ?/ g! e# U

  1605. 6 z6 E/ B$ X& Z6 t1 L& J

  1606. ) V/ R3 k1 Y' T* ?- J7 g, f- }
  1607. BULSEL_UP_STRING:  f7 o# O8 m4 U" r" L& {
  1608. .BYTE $9F,$9A,$80,$9E,$99,$80,$9D,$9D,$80
    # a; }  Y; o# E! d

  1609. . Z2 y7 V; i# s; y. V8 R
  1610. BULSEL_DN_STRING:( G  U7 ?# j0 x  ^( E$ ?  {- R
  1611. .BYTE $8E,$98,$80,$9E,$99,$80,$9D,$96,$80
    3 K2 g$ ~/ u* q  Z. Y2 ?
  1612. ) j% ?5 W% E8 q* y, \; D. A
  1613. BULSEL_LF_STRING:7 D% C- |) B1 L6 b
  1614. .BYTE $96,$90,$80,$9E,$99,$80,$9D,$97,$80; V% W6 W# `. B; l
  1615. * B( j# t" _; ^" i! k& b
  1616. BULSEL_RG_STRING:
    ( k8 j# S! \; N! N* j
  1617. .BYTE $9C,$91,$80,$9E,$99,$80,$9D,$90,$808 g1 t( E1 y: y+ R! n
  1618. " O% A  e: K+ y3 i2 W+ i
  1619. BULSEL_B_STRING:; [1 b" i$ G# O* M1 h
  1620. .BYTE $80,$8C,$80,$9E,$99,$80,$9D,$98,$80. {5 [$ [" Q, ~, V& p& ]) o, F
  1621. + b% j8 W- o/ H* o! G
  1622. BULSEL_A_STRING:
    , }5 ]) I5 S  {: p+ i* H
  1623. .BYTE $80,$8B,$80,$9E,$99,$80,$8D,$99,$97,$97,$99,$98,$80,$9D,$9A,$8F,$8F,$8E
    7 T+ p" f) y. O! Y% H8 [

  1624. 1 f0 B8 U4 u' X9 b+ b8 m

  1625. ; _; y' q% u" F7 E! g' R0 H
  1626. BULSEL_UP_WRITE:/ U9 ]5 {( N9 [
  1627. LDX #$00. x- n8 e9 J' \
  1628. BULSEL_UP:
    $ `% u# }# {* j# h, S1 I
  1629. JSR PPUADDR_PROCESS
    ' S  m+ r# o& U
  1630. LDA BULSEL_UP_STRING,X
      M- G1 Y1 m0 q" _, a6 q* p* z
  1631. STA $2007; J, m6 {- s; E" h
  1632. LDA #$00# }& C# w$ J- Z: o( M
  1633. STA $20009 m, k/ U" S5 ?+ c+ N
  1634. INC $BA
    " M1 z* _( i& s3 d
  1635. INX
    - g2 r9 @; l" N; i+ T/ ?/ F
  1636. CPX #$09
    4 f& ]$ L4 N, A
  1637. BCC BULSEL_UP- G  R/ s0 U7 C* x- L
  1638. RTS
    2 X0 H7 ?/ w% i# i) @
  1639. BULSEL_DN_WRITE:' D- U1 I2 g2 M
  1640. LDX #$006 d. T2 s' s0 @, N, [5 }9 t$ D3 R
  1641. BULSEL_DN:# H$ F+ M) s% e% S1 R' M# n8 Q8 J
  1642. JSR PPUADDR_PROCESS
    3 h, ]1 a; E9 g# n& B% [
  1643. LDA BULSEL_DN_STRING,X
    3 g7 J" W# L( |9 |
  1644. STA $2007
    ! J' u0 [3 K2 j: W
  1645. LDA #$00* J: r7 m* s, `5 X  Z2 a' P
  1646. STA $2000
    $ u2 r/ r2 v& z5 K& w  L% Q' I
  1647. INC $BA
    4 c( e) S! K8 s3 w# i0 B- n
  1648. INX
    0 h2 ]: r/ m6 e) m2 @
  1649. CPX #$09
    $ _: C8 \: }  i; O4 B6 V
  1650. BCC BULSEL_DN2 i! G# q6 k' n5 ]
  1651. RTS$ q4 ~+ W( ]$ s: v0 c
  1652. BULSEL_LF_WRITE:$ ~/ G. l# X( d
  1653. LDX #$00- }9 G% C1 ~! c& c2 X
  1654. BULSEL_LF:9 j) ^* B: K+ v6 S' ?! O0 i
  1655. JSR PPUADDR_PROCESS
    $ l8 B5 m, t4 y$ d$ e! K: x+ P
  1656. LDA BULSEL_LF_STRING,X7 v7 U# V) J4 H1 U3 G2 B5 z
  1657. STA $2007# L/ k! L3 m* \) Z/ o* }0 {; p2 [
  1658. LDA #$00
    0 r: |0 P$ i+ l1 u- s( ]1 ^4 ~9 H
  1659. STA $2000' c2 `- t6 b6 H; [, ~
  1660. INC $BA  k: G* U1 [0 X& n. O
  1661. INX/ I" m0 S8 d& o, E
  1662. CPX #$09  q- F5 O1 \0 N) k; a
  1663. BCC BULSEL_LF
    ; P" ~% u6 L! p3 s7 E" P
  1664. RTS
    ! s  d5 O7 g! C3 A5 x
  1665. BULSEL_RG_WRITE:
    $ M( p2 w' V3 ^: ]( u
  1666. LDX #$00
    % [3 M# t9 m4 b6 @
  1667. BULSEL_RG:
    # l+ M" @7 e) V" N( Q+ c
  1668. JSR PPUADDR_PROCESS( y0 y; P* V& D  h3 T
  1669. LDA BULSEL_RG_STRING,X
    ! ?& w" }2 Y) |5 ]
  1670. STA $2007( y) b1 w4 m' U8 c8 P3 V
  1671. LDA #$00
    ( j% v) h% r0 A& {  [5 g
  1672. STA $2000; F: D! s1 ~) c/ ^
  1673. INC $BA
    : Z& z' Z! o3 h" @" v+ W  K2 K
  1674. INX6 z# R3 S8 {+ G4 B
  1675. CPX #$09
    9 d8 Z+ ?$ Q( }
  1676. BCC BULSEL_RG, O: {0 A- i$ B( B; ~& O0 I% }0 z
  1677. RTS
    ( O' R( s, p6 o( D0 s& \. l
  1678. BULSEL_B_WRITE:
    , @; N8 A  {& v  U& `; d  x- A
  1679. LDX #$005 p. f6 N# K2 ]. t# F+ Q
  1680. BULSEL_B:/ T0 T1 I* |) f* i  R/ Q/ Y
  1681. JSR PPUADDR_PROCESS
    # X' P4 R- F$ c7 z7 P
  1682. LDA BULSEL_B_STRING,X
    : n. H! }( u- P6 c6 a
  1683. STA $2007, ?1 `3 L1 _! z5 `: {# {1 V
  1684. LDA #$00' Y8 D, k8 D! S1 P# I6 |5 g6 K. g
  1685. STA $2000- m7 n% F8 `0 e
  1686. INC $BA
    ( `, H' d6 C& K. a  I$ s8 [- O! l
  1687. INX
    ; p6 ~1 @$ R: k- V
  1688. CPX #$09' J/ [* N. F( d4 K5 s- ?$ C
  1689. BCC BULSEL_B8 g- {" k/ `# M2 M9 r/ G( X
  1690. RTS" T' n0 u* A" V9 w0 |
  1691. BULSEL_A_WRITE:
    & @* T5 k+ c  K+ h- }8 A- p
  1692. LDX #$00: T$ l  K# Z! v2 T
  1693. BULSEL_A:6 \. v2 m# p6 w( }' r$ G8 V3 H! E
  1694. JSR PPUADDR_PROCESS
    * f- a/ r" m) r/ C- @: J- b
  1695. LDA BULSEL_A_STRING,X" ~$ N5 u( L1 j8 S: f& I- R
  1696. STA $20076 q2 o9 w8 N- V; N9 f; g2 ~
  1697. LDA #$00
    / e6 P6 D. ~4 s2 [# |' g
  1698. STA $2000
    ; c+ v2 G. c1 ]1 x& f
  1699. INC $BA0 d( ?  H0 e* i6 V- ]# U# Y# v
  1700. INX
    8 @) R* }/ g3 t5 ?
  1701. CPX #$12
    4 N3 \# [' X2 H; q& K$ G
  1702. BCC BULSEL_A: a1 Y8 U& W4 E$ \* U
  1703. RTS3 O$ X; R, l2 H5 `

  1704. 7 Y) `2 A% F7 U$ Z5 B6 ^! _

  1705. 8 E; K! X8 Y9 A5 A

  1706. ; _2 e- c; z1 q/ k
  1707. BULSEL_PPU:5 |+ _  x/ ?: s: I: E6 j
  1708. LDA #$6C
    ! S3 B2 u! _( {8 u
  1709. STA $BA
    7 H  U- v8 Z3 a( w. E6 Q4 L* {3 p
  1710. LDA #$218 L& m  j, j3 J8 ~% H
  1711. STA $BB
    " B5 o7 a" b0 F& D; i. d- v
  1712. JSR BULSEL_UP_WRITE
    ) U# ~. B% ]7 C% A& q# e
  1713. 3 v2 {0 m' J, t/ y- }0 }: x
  1714. LDA #$AC# {' M2 e$ a& H9 W8 n
  1715. STA $BA" I0 h7 E+ v2 e! H! p# Y
  1716. LDA #$21: x8 B. e% f: X9 S+ l$ F
  1717. STA $BB; Q5 }* O$ B/ I# y1 u4 }- z" ?( d
  1718. JSR BULSEL_DN_WRITE
    , I. |6 {$ j0 w, |5 T! D
  1719. 8 v2 |' }9 {% a5 x+ X1 k. A3 y- _
  1720. LDA #$EC- {: Z$ s( _  }' P6 ^0 i
  1721. STA $BA0 ]# C2 Q3 J" W/ Q4 O
  1722. LDA #$21
    " r; p! B8 l# J" G& w
  1723. STA $BB+ Z: [& w# U% Q
  1724. JSR BULSEL_LF_WRITE. N9 {8 F# l, S8 A+ X
  1725. 5 F( k7 y& M6 q. p5 Q) t4 E+ Q" z
  1726. LDA #$2C
    4 \* D8 R9 r+ V6 ?
  1727. STA $BA
    * Q# s: H1 a& \8 n
  1728. LDA #$226 J  _* t, g. y
  1729. STA $BB
      ~, W( v0 |0 F- ?0 }# U9 }
  1730. JSR BULSEL_RG_WRITE6 j6 p; Y3 e0 p1 p7 L6 j; z( a2 L+ y

  1731. + g: o' s6 m' d7 R1 y9 p/ X$ P7 V
  1732. LDA #$6C
    3 u' X+ d, }9 K8 d" i5 R5 p6 w4 X* f
  1733. STA $BA6 C6 J) ]$ ]8 Z
  1734. LDA #$22& e/ Z  N0 A" ~5 G
  1735. STA $BB5 E* Q+ Y0 g& u* q; D
  1736. JSR BULSEL_B_WRITE: K5 ?" r: |* J' e- r- z! Y

  1737. / O$ [# W7 ~8 D9 e
  1738. LDA #$A7
    % d9 D/ v2 i# r% r; R8 {
  1739. STA $BA* R3 t8 Q* x9 w0 t( ~3 D; M, T8 E
  1740. LDA #$22
    3 q  g" h& j% I( j1 _6 J7 X$ O
  1741. STA $BB
    6 {1 n* P9 H) N2 v
  1742. JSR BULSEL_A_WRITE9 E* G6 I4 ]5 Q' h+ y8 O
  1743. RTS$ D2 h. L( N1 M1 N) b

  1744. - ]$ \% Y3 x/ t& n+ k1 G3 K
  1745. ' L  d+ X% Y/ C" ^

  1746. ; _8 Y3 C0 r+ e9 q0 X: e6 T
  1747. UP_STRING:
    + b+ ~' @. H/ [: z4 H
  1748. .BYTE $9F,$9A,$80
    3 Q5 o9 F0 P5 o9 e) ]

  1749. 0 \* Q/ x5 w- O0 o' @( I4 H0 k6 `
  1750. DN_STRING:; t( O2 C7 C' H9 q
  1751. .BYTE $8E,$98,$80/ C+ E; G+ i6 z6 j

  1752. 5 v  x3 B5 \. F1 b7 r* ]; \$ W6 o7 d
  1753. LF_STRING:
    $ i8 I7 B+ k" o0 k+ c
  1754. .BYTE $96,$90,$80
    & X  }$ l, \" m8 K% `
  1755. # i4 |( O& j7 a4 K4 Y  o# e- }8 c
  1756. RG_STRING:, m0 q  R5 J8 K+ r+ ]& |
  1757. .BYTE $9C,$91,$80) p: q6 _: V0 j: O0 L" X
  1758. ; W: ^- P  x3 X& ~
  1759. B_STRING:" \* M$ n2 h# N" P
  1760. .BYTE $80,$8C,$80
    ( n) {* u$ s$ X: E

  1761. & \+ E, E+ G( O2 ?
  1762. A_STRING:
    ( G" `* }$ \: X( F/ D; K- J  w9 k2 c
  1763. .BYTE $80,$8B,$80
    $ c; o" w! b/ {- I8 z) s- c! o( J
  1764. / U4 t# v& s/ B
  1765. ' t: ^& s$ c  j& g9 H
  1766. UP_WRITE:9 I1 g2 r6 P! R2 n# C
  1767. LDX #$00/ ]8 ?) x6 G% H0 P" P7 U/ t5 I1 v3 P
  1768. UP:
    # L% R2 U2 W2 k" o4 W2 S; E# O
  1769. JSR PPUADDR_PROCESS
    ! C( s6 `, S* p
  1770. LDA UP_STRING,X
    ) Y1 j3 Q7 E- |& }0 r
  1771. STA $2007; p# A. r' H$ c
  1772. LDA #$005 [' e& E$ ?5 Z; D. S: G" x7 P3 B
  1773. STA $20001 b& A* b& R' L9 q( J% E" f
  1774. INC $BA
    - K, e5 X9 p5 p/ q7 e
  1775. INX
    # l+ o3 P& _; n+ \
  1776. CPX #$03
    8 G! t' o- X' ^3 I
  1777. BCC UP% v8 [- D( y& g- N3 I/ ~
  1778. RTS+ h6 C' I0 h9 u8 K3 ]5 P
  1779. / ^; g3 W( s$ g1 \
  1780. DN_WRITE:
    . o/ |! K- v5 b  b  e4 M
  1781. LDX #$00
    ( @- a' J. W1 \: ^. [2 ^
  1782. DN:) ?% f4 U) R9 S
  1783. JSR PPUADDR_PROCESS$ {: d5 D* J& H$ }9 i6 k% V. ^) _; A
  1784. LDA DN_STRING,X, Z! ?4 n$ a* V: v- I6 [
  1785. STA $2007! `1 g: B: \7 O+ Y& ]: L' K$ b# y
  1786. LDA #$00; x! P; A6 w- e! y+ y
  1787. STA $2000
    / m/ v/ F% o& w
  1788. INC $BA
    ! X9 Q6 r8 D4 M4 \$ ]
  1789. INX  v7 O1 v1 A1 O; u! x2 _# Z: L
  1790. CPX #$03
    * |  @3 G6 R$ P/ ~& X& o0 K
  1791. BCC DN
    . d* n/ K! B, `
  1792. RTS6 T% P' t/ V6 {$ ]6 Z5 S6 F1 n9 I

  1793. ! f9 V1 P5 P! G
  1794. LF_WRITE:
      c1 g" W6 U+ w$ R0 W2 w, V
  1795. LDX #$00
    + w" L8 ]# {2 b! `' n& O5 h- b8 i
  1796. LF:
    8 `7 Q3 s4 O/ ?  G- O+ y
  1797. JSR PPUADDR_PROCESS
    & V+ W1 K5 o8 s* \6 d0 e# m
  1798. LDA LF_STRING,X
    ' t3 e4 e0 F, ]* m$ i7 ?8 @. y
  1799. STA $2007
    7 W4 F: |9 U; y7 D4 G: p
  1800. LDA #$00
    + R1 ?/ a6 z* w! ^- g- q
  1801. STA $20006 Z' M6 q" C3 e4 z7 N
  1802. INC $BA
    % F9 @' o: L2 {- X
  1803. INX, I: O" U0 x, k/ a- b4 h, n
  1804. CPX #$03. C/ Y" g  x! X" b
  1805. BCC LF
    % A& y" `3 K5 Z8 }3 H
  1806. RTS- d, N1 ?1 s1 V

  1807. 8 y! m  ~& k: c5 L+ ^
  1808. RG_WRITE:
    ! ]1 n) J1 ^7 \8 n
  1809. LDX #$00
    - X- W+ K9 X% `% O- |# s
  1810. RG:
    ) {* W4 N2 g% i0 s2 e1 j4 V! B. v1 _: L
  1811. JSR PPUADDR_PROCESS! j+ j5 F$ S" u# \" M$ p
  1812. LDA RG_STRING,X
    1 S/ ~; h2 w0 n: H6 b9 |
  1813. STA $2007, o3 Z4 q. [) {3 x' T0 r! o" S
  1814. LDA #$003 W2 d3 x* S" `$ x( i
  1815. STA $2000- u7 X! v; s, d4 V
  1816. INC $BA
    , d# k0 |7 H/ O9 M$ p2 c# N! g5 b
  1817. INX1 S8 Z* z0 G; u+ X  f* Q/ w
  1818. CPX #$038 r" B3 j; ]% E3 e
  1819. BCC RG
      e2 _* i+ q* M% K" ?
  1820. RTS
    1 P6 e2 p# e$ L- |& h1 ~
  1821. ; Q+ S# R7 [' W3 ]
  1822. B_WRITE:
    3 T/ l' }+ C5 Z6 h! c/ q
  1823. LDX #$00$ O- X+ k4 D6 Y$ |7 S; J1 R, `5 _
  1824. B:$ P/ }& @& @- D! K0 F  K
  1825. JSR PPUADDR_PROCESS
    3 }  ^, u% b" k5 f) g7 J
  1826. LDA B_STRING,X
    2 }4 X5 d0 K- j6 n5 r  \' o
  1827. STA $2007* q! ^$ j5 D( j0 g
  1828. LDA #$00+ Z8 P4 M+ T/ Q6 q
  1829. STA $2000- [% O4 u; O8 A. E" s) Q. {2 f
  1830. INC $BA
    + r" M4 t7 y  W+ ?2 [$ @9 |
  1831. INX
    # s) t+ n! W7 S. P5 q0 l* n
  1832. CPX #$03
    5 Y) |7 B8 Q( C/ J3 A# @3 T- @% ^7 y
  1833. BCC B
    4 `* L" _  k  ?! U
  1834. RTS
    ) N  H- C/ T8 ?2 w0 I: Z

  1835. ; x% k7 a: m1 e8 {* }6 o
  1836. A_WRITE:
    ! G6 \( j) }) [- f( t
  1837. LDX #$00/ K; G0 Q# p* `/ q" g6 h
  1838. A:
    6 Q: O6 X  {% @8 Z. O. a" Y
  1839. JSR PPUADDR_PROCESS* H; W$ }# y% g! x) H+ p
  1840. LDA A_STRING,X; A5 w, l: e4 [0 t8 i" u$ Z
  1841. STA $2007
    7 X. s5 q. S# w  b: ^
  1842. LDA #$00
    * i$ t! {) x% J* L2 f
  1843. STA $2000& B, I, W% U- K, F4 M7 B; L1 h
  1844. INC $BA: g1 B0 i  ?7 w) t: @# G$ w
  1845. INX
    ; q, R3 f: P& @3 ]1 F# o4 h
  1846. CPX #$03
    + m- w& v; R" g, U9 `
  1847. BCC A
    0 y2 |; d  n' C9 A
  1848. RTS. t8 `& ]" `8 X, J
  1849. 2 \! W& Y  Z$ t
  1850. 1 e. D" f6 `5 v  {4 r3 q% d
  1851. UP_PPU:- ]" I9 M9 `6 T5 X
  1852. JSR UP_WRITE
    $ ]8 n' x- a' L9 R4 t5 m6 c
  1853. RTS
    + H# X% B2 z! _. z0 z  V% C2 S

  1854. 8 e8 z0 m0 w, P! T) _( O5 `* @
  1855. DN_PPU:
    9 V7 C2 q$ r7 Y
  1856. JSR DN_WRITE
    3 L& g, O& F( m1 z$ ^! E
  1857. RTS
    4 y1 M/ K5 X- n
  1858. 3 U8 C+ D! P' z4 |0 s9 @: V
  1859. LF_PPU:, V& a7 `% ?8 P% G. d
  1860. JSR LF_WRITE
    : g6 t4 x* _- `3 r( C5 N, v( E
  1861. RTS
    * C7 `6 V/ O9 w2 m7 R

  1862. " {1 n+ Q' H- u: f" }% ~5 ?
  1863. RG_PPU:6 A# L$ m  x. w
  1864. JSR RG_WRITE/ ~3 F8 y7 x/ x, Q8 C$ N. Y
  1865. RTS
    7 K8 L5 I3 i2 O# a- O7 J2 Y( g

  1866. ; G; O. G2 a  n
  1867. B_PPU:
    : f+ r8 w; {- K7 Y* o
  1868. JSR B_WRITE+ b* f9 @: @  }% T0 F/ _
  1869. RTS# T. ~: h, H. G' U7 e$ ]5 A8 g

  1870. ' r8 a) V; h8 m7 C
  1871. A_PPU:, I) W5 l) K; i" r
  1872. JSR A_WRITE' w9 S2 L" d$ e( @  k, ~
  1873. RTS0 k! h! z/ B9 R0 _
  1874. 8 A  b* b& g5 o3 n! a3 Y' d

  1875. ) ^5 N# w/ i; R  t2 I/ K
  1876. PAGESELECT:
    # O3 s: W, a/ z; X) S" q+ s9 ?: d; r
  1877. PAGE0:
    $ v1 ]2 l( N$ ^3 v+ V; ^
  1878. LDA $07AA
    5 T. }0 X$ T  c2 r5 h: |
  1879. CMP #$007 A4 [5 t  N# p* e
  1880. BNE PAGE1
    6 |# [  H/ z7 }: v7 A- N/ x& c# ]
  1881. 2 }* h: L! H; E1 ]2 x6 Z
  1882. PAGE_00:
    ; T* M) o' H; C7 T2 e% W! F1 ^5 }
  1883. JSR BULSEL_PPU/ x% K+ X* o+ j. K- i. b" d
  1884. RTS
    8 p! k9 s9 K/ _) o4 h
  1885. 3 Q7 W; y/ u% Q! l- G
  1886. PAGE1:& n" _7 `& ~1 a( W( u
  1887. LDA $07AA4 h$ y3 }8 V2 B9 i) h8 R
  1888. CMP #$01
    4 m% j' P4 L4 l* a% ]8 O
  1889. BNE PAGE2
    $ D' R$ F/ q' ~4 T6 |/ T6 p! r

  1890. , r2 X' I3 u3 U; V
  1891. PAGE_01:
    4 z; i! F: Z9 f9 j5 J
  1892. JSR INVINC_PPU& S/ M* ]8 w8 F5 w4 x7 v
  1893. JSR LIFELC15_PPU: o5 S( l  O& w! v, J. p
  1894. JSR DOUCON_PPU  }4 V; j+ s' s5 S- I3 q
  1895. JSR KILLON_PPU
    # N2 ^7 g/ H& e2 A, k2 N4 G
  1896. JSR SKYFLY_PPU' P1 R( ~( _1 I4 o
  1897. JSR LIFELOW_PPU
    7 O( V5 K( ]0 ?+ d- ]& s& V
  1898. RTS: H+ x! L) W8 C& q& c

  1899. % \/ I9 i4 b5 ^
  1900. PAGE2:
    " f1 c( @9 R6 }6 B' Z2 s" a4 U
  1901. LDA $07AA2 W( H* `( D$ M4 U9 ~/ z: G
  1902. CMP #$02
    9 m) o" e/ l) ^7 i; x
  1903. BNE PAGE3
    : ?- N7 e  j4 R8 o% \# |3 P

  1904. 7 G8 |6 K1 P0 o+ e( C6 I
  1905. PAGE_02:6 \# X) X) k( C0 t* m
  1906. JSR BULADD_PPU( T# P. O7 C# A0 r1 F
  1907. JSR SKINGE_PPU0 Z( O2 \& H1 S  S, {7 R0 l
  1908. JSR BULMIX_PPU, w  `% Y9 L' s& |7 N7 B0 y9 o
  1909. JSR ENELOC_PPU
    4 R, }$ S1 ^, J% f" X; Y
  1910. JSR FOCFUL_PPU" X$ |# d- b& a, Q0 T4 ]9 V$ ?8 U1 R
  1911. RTS/ s) {, x* `" Z/ b2 \0 n

  1912.   S4 B! p8 Z3 f4 P% b8 h" D& v
  1913. PAGE3: ' l  k0 t( X3 z, F
  1914. LDA $07AA- n/ |3 L7 R" ?0 g* A
  1915. CMP #$03
    ' _" \( u, m- V. c' P
  1916. BNE PAGE4
    / {3 @+ p7 S! z

  1917. ; e5 c# H1 |2 O( a: J- F
  1918. PAGE_03:
    0 S* E& o3 Q- ?+ i* Z
  1919. JSR BULCON_PPU0 [, A3 }+ x% D1 I. z* b
  1920. JSR SPEBUL_PPU
    ! F& V$ t  b; e! [& X. I+ T& q
  1921. JSR CLEALL_PPU) ^# u5 V9 Y- t8 c
  1922. JSR HARDMODE_PPU$ F+ S% i1 M3 |) n: S+ U2 G
  1923. JSR B_TO_JMPSTG_PPU$ ?$ ?- Y0 m5 k
  1924. JSR A_TO_PLAMOD_PPU
      J- s' [+ h- E! H! b" ]9 I
  1925. RTS
    4 A$ V# P; T4 g& @: n+ N. l+ Y# i
  1926. : k& j5 J, J  c/ W7 k( q9 m
  1927. PAGE4:
    ( n; O! ^% g4 \
  1928. LDA $07AA9 Z# L8 l/ l# A% o3 f3 w# u$ F1 o
  1929. CMP #$04
    " P  b5 u6 U4 m1 k4 }* m, R
  1930. BNE PAGERTS
    . T8 C1 O. A4 ~! _2 O
  1931. ! b2 p' k- i* ]" L2 I
  1932. PAGE_04:& ?, O# p- I8 c7 _$ L' O1 ^8 ~8 E
  1933. JSR MOVSPE_PPU0 N5 Q" {7 s( e9 N' c6 C
  1934. JSR UNLJMP_PPU
    0 a/ z: V$ Y. [& C
  1935. JSR DESTRO_PPU
    9 a3 x( N$ e( r5 t3 T
  1936. JSR EQUBUL_PPU
    ; O; V+ O; X9 X9 C! V9 W2 {; v
  1937. JSR MOVESPEED_PPU
    & |# ^* c6 i: C. Z# D, f# e
  1938. PAGERTS:/ p$ r; A" J7 ?
  1939. RTS! K; B5 T2 ]+ b; U! |
  1940. 6 C; }' t+ O9 o, ?2 Y' I6 z

  1941. 0 a/ y0 W  |5 F& E# _/ H2 |. p# B
  1942. PLAYER_01_STRING:
    ; f) k: [# H4 ~$ ^; _1 X& e3 p
  1943. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$82,$80$ z7 Z& i6 q  R5 ~: l; j

  1944. 6 `1 c% z! T, @$ G' w* }: m
  1945. : t$ r& i9 I  ^! e8 c; \: J9 h
  1946. PLAYER_01_WRITE:" Z0 d* j/ G" f" @- p
  1947. LDX #$00: w2 I4 x, x+ |9 V; y0 l/ m
  1948. PLAYER_01:/ n& h/ C  n+ P; R1 j/ Y( ]
  1949. JSR PPUADDR_PROCESS
    ' y$ {8 [) F$ O5 B
  1950. LDA PLAYER_01_STRING,X
    ; j& |) r' k% f
  1951. STA $20070 W  _2 y; d* J% x, ]/ [" h
  1952. LDA #$00
    : ?8 S3 g* a* u4 _
  1953. STA $20004 @; A8 {: h, ]" S  s
  1954. INC $BA
    4 h5 N! H8 ?0 c5 o' C) f
  1955. INX9 g. y- F  n" k4 c; w
  1956. CPX #$0A* I0 o/ D3 q' F/ |2 e3 A: I2 x: Z
  1957. BCC PLAYER_01- w* o$ }# Z9 \; V( ?
  1958. RTS: ?9 ^7 |8 m2 R( S

  1959. 4 Y( I! M$ \; b" v
  1960. PLAYER_01_PPU:
    : y  D: i, R; b- r- O
  1961. LDX #$00
    8 z4 B) _# F& P  I  d" [' ?6 t' c
  1962. LDA #$64
    + K. R- x# E% @  G
  1963. STA $BA
    , Z& \4 l0 }+ f+ H) g
  1964. LDA #$20% e( O  A4 V9 M% |) l4 S
  1965. STA $BB
    $ R! o- d: y, z6 ^
  1966. JSR PLAYER_01_WRITE
    3 M) X) @# {) Y% Z
  1967. RTS
    9 U/ v1 a7 r' a9 E( P2 w$ {; M

  1968. * i, x( b8 ~4 H# p' d
  1969. PLAYER_02_STRING:
    0 o- p1 y( u- U# W( m9 a# A
  1970. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$83,$808 Q# x2 ]+ _2 P4 _/ n
  1971. ) `/ |2 v3 f. l( e
  1972. 3 g% w0 t6 I# W0 d7 x% K2 ?
  1973. PLAYER_02_WRITE:2 j' z& _& q; u7 a: }
  1974. LDX #$006 c! V0 V4 K2 [, S2 G% c
  1975. PLAYER_02:- ~+ G) p* v' J
  1976. JSR PPUADDR_PROCESS
    ( J6 Z  Q* Q1 N& }- {5 H
  1977. LDA PLAYER_02_STRING,X# |2 a" E8 g: L% G
  1978. STA $2007
    0 {4 x/ e' a3 c0 q! r) w; t: g2 `
  1979. LDA #$00% K6 I. ]0 O; q$ i/ @6 c+ a2 U
  1980. STA $2000
    & t; F% O/ v/ h8 n; C! Z
  1981. INC $BA
    ' O- s+ V: r. Z
  1982. INX
    $ N6 b8 l) F+ ~* Y, d
  1983. CPX #$0A
      I' E4 }6 A% H' H9 T, o+ A0 B
  1984. BCC PLAYER_02
    " R) |" j+ ^: l: F9 N& {
  1985. RTS7 g2 P: c- h9 M3 b: m0 ?9 b( V
  1986. 3 R7 b1 S  u- q4 t7 B
  1987. PLAYER_02_PPU:
    # q" p  [3 s- V' k& Y( n8 _
  1988. LDX #$006 L# J. g6 l' u9 r! w
  1989. LDA #$73
    ( D1 x$ Y3 R) N. G* [
  1990. STA $BA
    3 P, r8 E# R8 J4 f) A/ S' U
  1991. LDA #$20
    ; n& ?* n. T* y. |
  1992. STA $BB. t4 z) j+ V3 g; k" N* R& w5 ^
  1993. JSR PLAYER_02_WRITE$ o* X8 s5 `+ X6 l- T
  1994. RTS( S' ~' g8 G- }  g; O# S5 c5 \
  1995. ) n. z8 H5 i$ q9 k) f5 N4 c
  1996. PPUADDR_PROCESS:
    3 H" p* r9 Z6 P, M& y
  1997. LDA $BB
    ) b. K% X0 R  C0 e4 L
  1998. STA $2006( [$ M3 D6 ^& }0 L  Y
  1999. LDA $BA' R& m9 y! g3 w2 @( f0 v: D7 Y
  2000. STA $2006
    $ N* ?0 C& T# ~1 q& G
  2001. RTS; I) }5 l4 |* k3 F
  2002.   ^8 R2 G& P0 Z

  2003. ) v* t/ m$ P# C
  2004.   G5 W; V; M6 x3 a: {$ J
  2005. ONE_STRING:
    / l' a4 ?0 M6 S1 K
  2006. .BYTE $99,$98,$8F" w) y; X& X4 h) t, O
  2007. . G# e. F3 a6 ^7 P( Q3 u2 q! {& \& j
  2008. TWO_STRING:
    5 h6 H& G( M+ V* p, B; s
  2009. .BYTE $9E,$A1,$99
    % H3 ^/ g: f2 b4 S

  2010. & g8 {2 x! o' [- J0 N
  2011. ONE_TWO_PPU:
    1 f7 Q; |( \5 `+ W- G2 V% B% W
  2012. BNE ONEWR7 n4 s3 ^# w, B+ w0 j! y. u
  2013. TWOWR:
    # O* b) C4 s6 w
  2014. JSR PPUADDR_PROCESS% P+ c) N  D6 C/ u8 J. a
  2015. LDA TWO_STRING,X5 k1 K8 E8 {0 |. P
  2016. STA $2007
      g1 Y; w9 u- G+ G6 H8 m* X
  2017. INC $BA; Y9 E. i; {2 w" t4 d- s
  2018. INX
    3 J5 M/ }3 t! Y. u, C4 D- A: x% L
  2019. CPX #$03( H. ^- G; O( D$ o, o; I
  2020. BCC TWOWR5 a. A, B% `6 b" R4 z& W9 T+ b
  2021. RTS- X# G# ?' Q  `9 @# u
  2022. ONEWR:( ^, P" D" k! m8 }3 B2 @6 K4 j. U
  2023. JSR PPUADDR_PROCESS
    7 t2 @% H* h3 j. @+ w. X' p+ M
  2024. LDA ONE_STRING,X. g1 [/ ~. Q( k3 u+ g9 x9 q
  2025. STA $2007
    ) U0 _  l+ [4 N  d
  2026. INC $BA
    1 B* p3 c( D( O7 A
  2027. INX1 k! `& C+ ^6 Q, g* I3 B$ p7 p: D
  2028. CPX #$031 W6 k9 G9 a3 _6 h9 V# ]8 T* z
  2029. BCC ONEWR
    2 h) f, ]" u* o3 O. {6 X* v
  2030. RTS
    3 |- z" |6 S  d  V- b/ |
  2031. 2 K& I1 b) {7 U& B: |: u3 n& w
  2032. MOVESPEED_STRING:
    6 @( a0 v" n- Z4 P% d% D+ L
  2033. .BYTE $97,$99,$A0,$8F,$80,$9D,$9A,$8F,$8F,$8F,$809 e/ K& F* ~/ j3 O

  2034. ! i2 E% [. e' F$ B4 X5 t

  2035. ) Z7 V5 h- G9 q6 P
  2036. MOVESPEED_WRITE:- L3 L; h" q4 z0 m
  2037. LDX #$00
    4 N+ O/ Z, Y. Q) Y
  2038. MOVESPEED:
    7 j9 j" F$ h: Z% P/ t/ ]
  2039. JSR PPUADDR_PROCESS
    # `: q) p9 l0 e/ G, |& A# d+ g
  2040. LDA MOVESPEED_STRING,X" l- d3 B- }& r1 Q2 ~4 v4 \
  2041. STA $2007
    7 i: y" t5 j& t  p
  2042. LDA #$00  @6 l/ q& k+ {0 i$ i+ W& a$ [
  2043. STA $2000
    , X9 h) N$ b  w# w6 j# C' M
  2044. INC $BA
    2 h$ @. E4 n3 N
  2045. INX9 l& G) C9 e$ f: i1 S
  2046. CPX #$0B* K" h# U: `/ v8 S4 T) b% J
  2047. BCC MOVESPEED
    ! @) T* p7 I" j; x. H( k( F9 t
  2048. RTS" x% Q$ A  H" g
  2049. - a+ U3 d2 G4 V. _, u9 r
  2050. MOVESPEED_PPU:/ q. C2 ^1 i4 d% K5 S! ~1 r( q
  2051. LDX #$004 N' g2 l; j: B) C
  2052. LDA #$AA
    $ Y. P) y$ G  f1 b, C' E
  2053. STA $BA
    : |+ N6 i- G  `0 m1 ?: y3 c; {; I
  2054. LDA #$22: D' g: q6 J, w% i6 H, L
  2055. STA $BB
    + ?5 b# @! M4 P5 P
  2056. JSR MOVESPEED_WRITE
    ) a5 w) A6 Q$ a- k2 V: t
  2057. LDA $7003
    / t; s2 U( Z  K" R
  2058. CLC$ @, X1 P+ I$ x" D& R; ~( m
  2059. ADC #$82
    1 c# d2 C+ V& k% s' P
  2060. STA $2007
    $ V/ ]1 q& r* B1 z6 H
  2061. RTS
    - g1 d; N% i( L  F2 P, k" F  Z' f
复制代码

本帖子中包含更多资源

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

×

评分

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 个 柠檬. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 3049 天

[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 | 显示全部楼层
这东西找了好久勒,谢谢!!: p5 U! n. M& l9 }$ ~
[发帖际遇]: wjb19780515 发帖时在路边捡到 5 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜
回复

使用道具 举报

签到天数: 2366 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 2178 天

[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-4-26 19:19

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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