EMU618社区

 找回密码
 立即注册
搜索
查看: 702|回复: 18

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2016-11-19 22:19:45 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2016-11-19 23:11 编辑 $ H( d& p2 ^2 A" |5 K
/ ~8 O# Y8 |' z2 x8 j$ ]
     [FC][魂斗罗旋风终板END暂停显菜单]

5 \$ M+ ?8 h7 s' W" i  m作者:FlameCyclone(flamecyclone.ys168.com)
/ K, G, J8 t5 U! [+ K时间:2016/11/19 21:46:00
3 q1 U+ D* E- s4 ], I更新日志:

* B! C# E8 G) o8 c6 _: v. u" R2016.11.19:加入暂停显菜单(共5页).1 \) t3 L$ \3 _& Y1 Z1 }
2016.11.12:加入无限跳跃." @" q3 v  Y. q( l/ S
2016.11.12:加入速度调节.

0 ?( d* |9 a1 i0 d2016.11.11:加入敌我子弹对消功能.
- I( X. Z3 h1 H% J. \6 M2016.11.11:加入全屏闪灭功能.
) z3 ^+ d% ^) X' `2016.06.08:加入全屏瞄准功能.8 f0 M4 S3 a2 S4 X9 }! {$ |( j
2016.05.31:加入弹速调节功能.
! y( x" M3 `) T4 K& z7 b" N; S2016.01.01:加入高难度模式.: N2 a) Q/ a9 A1 ~
2015.12.12:修复消除威胁不足,使得移动BOSS关卡(第2,4,5,6)正常通过.8 |5 n9 f+ z# W" R& c6 M2 k* V( S
2014.07.05:由于对打功能不完善,直接去除,更改为生命锁定.+ E/ C9 }( H$ J- F, v0 s9 c
2014.07.05:双人切换功能优化.! U. F2 v& t7 b# x( b* ?' b
2014.06.01:修复第三关浮空到BOSS前必须关闭浮空后跳跃才能见BOSS的麻烦.
/ S6 K  T2 m1 u9 E2 O7 f2014.06.01:取消生命锁定,改为生命锁定模式下剩余生命不会少于一条.  a0 x9 U) r( O( G, \
2014.01.18:修复GAME OVER字样只有G和O的错误,原来想拉大字母间距离,看来行不通.
( H# `/ j4 Z% \9 w6 o2014.01.18:浮空模式下,P2飞行高度未限制导致死亡,原来是指令本该用绝对X变址的被用成了绝对寻址.
. L8 X$ s, j' @' K( Y: f; [2014.02.08:拿手机无聊时又发现一些错误,所以修正生命剩余勋章显示的错误(某天用读卡器插在DVD上测试发现机器读不了卡,原因是目录级数超过三级,只有刻录成光盘来测试,结果发现生命勋章的显示竟然无压力!)
, h8 y+ t0 q, O; n3 H$ i& @2014.02.13:加入自动演示通关.3 ^9 B# O  c1 d1 |5 `  H9 @
内容:, n7 f/ b: c; z& N# u# n: f
23.暂停菜单:        暂停后,自动显示菜单,选择键翻页,方向键和BA键进行各种功能的开关操作., R1 A4 H& H" \3 C
22.无限跳跃:        暂停后,选择键4次,按下开启,开启后游戏时无限跳跃.4 N- |  M3 |8 Q0 c4 |4 R' [; v- |
21.速度调节:        暂停后,选择键4次,按左右调节行走速度(0-3级).
8 k3 S8 p5 c4 j+ n  ^( E  Q' a
20.子弹对消:        暂停后,选择键4次,再按A键切换,此时敌人子弹可以打掉.2 N# w4 x9 @& E- I2 ^- Q3 E+ e' r
19.全屏闪灭:        暂停后,选择键4次,再按B键切换,开启后游戏时按选择键屏幕内敌人闪灭.
# x; x8 C  C" r! G3 x18.全屏瞄准:        暂停后,选择键2次,再按B开启/关闭,子弹对消开启时无效." t2 j, {& W# {. V
17.弹速调节:        暂停后,选择键3次,下开启,非暂停时按选择键调节,默认为1级,共5级.7 D  \, E7 h+ r0 x
16.困难模式:        暂停后,选择键3次,右键切换,我不相信你能够无伤通关.
1 V6 `9 @$ q, |- {01.子弹切换:        暂停后,选择键0次,上=快S,下=快L,左=快M,右=快F,B=快普通,A=取消当前子弹加速状态.
9 A* a& ~/ g; @02.无敌锁定:        暂停后,选择键1次,上开启/关闭,不用讲了,金身无敌.
5 Y  W' f" q- Z03.生命锁定:        暂停后,选择键1次,下开启/关闭,生命锁定为16条.
% i3 k8 i- V- d; k) ?04.角色双控:        暂停后,选择键1次,左开启/关闭,无非就是主机控制副机.
5 R8 q$ [4 l" ?3 }% g9 l05.生命底限:        暂停后,选择键1次,右开启/关闭,锁定剩余生命数不少于1条.  k+ b5 `/ d' Y, F7 Y
06.一击必杀:        暂停后,选择键1次,再按B开启/关闭,即使是第8关BOSS,一发花生米依然要其老命.
4 d( ?3 N! L- ?# f; H07.角色浮空:        暂停后,选择键1次,再按A开启/关闭,第三关浮空时按选择键向上卷画面轴.
5 Q  R# l, G; o4 N( F6 U08.弹数加强:        暂停后,选择键2次,上开启/关闭,此时所有子弹发射数为15发., ~  l0 A0 s" V! O5 _
09.皮肤更换:        暂停后,选择键2次,下开启/关闭,主机开启时橙黄色,副机开启时为蓝色.
9 G8 {" }- _1 ~  p1 d10.混合子弹:        暂停后,选择键2次,左开启/关闭,此时连射时所有子弹混合.
  f5 |% n1 n1 @' F11.敌人锁定:        暂停后,选择键2次,右开启/关闭,此时敌人原位跑不动.) u# E/ O0 P1 q+ Y4 e
12.跳过一关:        暂停后,选择键3次,再按B使用,使用后可以直接到下一关.1 L9 w* H' ]5 y! S' [9 M
13.单双切换:        暂停后,选择键3次,再按A键切换单双人游戏模式.9 x! j( `- g. k3 h3 Q8 o  l
14.子弹方向:        暂停后,选择键3次,上开启/关闭,开启后发射的子弹攻击方向会随着操作的方向按键变化,第二关和第四关的小关建议关闭(开启的话打中敌人太难了哦).+ f4 C$ X* l0 q, @+ ^3 N) k
15.消除威胁:        暂停后,选择键3次,左开启/关闭,此时游戏时按B键使得移动物体被消除。
8 R  y8 @. Z' o3 b- tA.做了一些汉化(小字体),剧情,关卡名及通关后的文字未汉化.9 x* e4 K! A7 \( R+ t/ B
B.自动演示通关,双人合体打通关,演示时有背景音乐,通关后一样会有结尾及恐怖台词,之后游戏进入选关(相当于游戏自动开始了).注:通关后P1及P2会获得16条生命!也就是说看完演示自动开始后第一版有16条生命!
: e( @( G" Y/ ZC.生命显示加强:最大显示15个剩余生命勋章!电脑端请开启精灵超过8个(这样勋章不会闪烁),手机端认命了,不过不影响正常操作.
* ^4 b6 r, i3 _! {0 k- K8 f
8 w( Q8 \3 A* D7 G7 x  F    如果有什么好的修改建议,恳请通过QQ(1490868135)联系我(也许我不在线,可以留言在QQ里)
8 \( G7 U$ @$ q: f欢迎大家转载,转载时必须注明出处.
2 ^8 i) n- \% Y0 F1 q& s0 @; w1 _
# x# k* D5 E# A) T2 a" B
游客,如果您要查看本帖隐藏内容请回复

( p8 U6 z' |) v4 N  ]- i6 U( C  @' e* I2 }. G
忙了一个星期,觉都没睡好,眼睛也疲惫不堪啊.终于找到解决方法了,目前VIRTUANES运行不了,请使用其他模拟器玩.
/ Y6 K& F: D' Y8 d5 F8 I! `5 R1 z这几天的劳动成果如下:
  1. .ORG $B400
    4 X5 ^9 i, H) Z" T# K
  2. % p4 `# {: B) |# o- o0 a3 s0 Y; Y% Y
  3. : j; _5 n. C5 W; K
  4. PROREG:
    9 Z/ z$ V% P# j5 n8 ~
  5. PHA9 ]$ f2 s* P7 Q7 R
  6. TXA! Y0 y- i; W$ X' W( U
  7. PHA
    8 L, T. E) k1 }9 a' |0 U' M
  8. TYA
    ( u2 b* n. r& j1 \3 U# D5 l
  9. PHA
    ' O0 v6 C( b8 K
  10. LDA $25/ x9 R/ b1 p! }
  11. CMP #$01
    $ \8 ^0 F* z& \
  12. BNE RE& }' }; h0 l- [. f# }+ M$ A
  13. LDA $010A
    + |; L6 R/ s, q
  14. CMP #$00
    ( ^4 V& b$ M( S3 u3 t
  15. BEQ P1
    $ d2 @6 k! e2 m% c$ y2 v' o2 B3 _& U" Q

  16. ) Z4 x% h3 t1 |+ \. v: i! b
  17. RE:
    # G' U" Q( C( u. D3 j$ v9 h6 m
  18. JMP PPUWRITE; D! I' G( X5 Q2 x8 \3 `7 e
  19. * }9 N3 ?* R( z+ @" Y6 k( s
  20. P1:                ; 条件判断
      X+ n$ ?) u" V0 X5 d; W" N& p
  21. LDA $7FFF5 p' h* y) c3 R1 B  L
  22. CMP #$FF4 g+ r3 }+ l+ g. A, G( S- u/ V" F
  23. BNE P1RP: |& n0 U# |; C0 z' V0 L
  24. LDA $7FA08 {1 `+ i5 l6 g
  25. CMP #$00& z, t7 k' ?! ~9 D" m% q5 A0 E4 W
  26. BNE P1CMP7 S; V' @/ `3 D* V! a
  27. LDA $2001
    ! F- D$ f, j$ N
  28. PHA( d7 c/ r+ c, f2 J
  29. LDA #$00! g; S+ R5 |. C3 U
  30. STA $20018 \! y- b% S5 E" K
  31. LDA #$FF" J8 g0 u  S. X3 F, X
  32. STA $7FA04 @* G7 t7 ~/ p! c
  33. JSR CLEANA
    ; T" U2 s4 p* R0 n/ V
  34. PLA6 H- B/ }+ x+ s/ _0 e% D* \
  35. STA $2001
    & h, {: X9 K% g$ x+ R; g  J7 `
  36. JMP PPUWRITE/ N# ^; I: k+ @) @* L+ E$ L
  37. P1CMP:
    8 m5 v; \; E, v. v2 ]6 o
  38. LDA $7FFF
    8 V9 C1 e7 {5 g# x, {2 e
  39. CMP #$00
    3 K$ Y& g$ o8 @
  40. BNE RE6 P2 ~. z. y5 s2 L$ g  I0 o; {
  41. P1RP:
    , X; U% Z* L$ K" V& Y
  42. LDA $2002* \9 b1 l& m9 w7 G! r) S( n; w  ?
  43. LDA #$00
    ; N/ u% p( W1 A- V  Z; D
  44. STA $2001
    3 y$ \6 ?1 ]/ J6 H+ w$ s- _
  45. LDA #$FF0 \7 w, o' A/ o( K
  46. STA $7FFF; Z5 E6 e; k9 b# S9 c6 C2 S+ {; H% V
  47. STA $7FA0" p- n" r& R$ D8 B
  48. JSR COPYPPU
    3 e% P* C% G% o
  49. PIRP2:
    , D0 ^! P- a# R9 K
  50. JSR CLEANA& @+ c; Y1 |5 ~/ q
  51. JMP PPUWRITE
    ) T' u4 t4 x# \" c" h

  52.   T) O7 u  k+ k1 z5 y* N$ k
  53. COPYPPU:& [3 q0 e* x1 Q$ R+ b+ F
  54. L0:& D+ y3 M+ r0 W) c4 t
  55. LDA $309 }' U8 u( Z* j% Z/ d3 z0 ^: C
  56. CMP #$02. F8 E: q+ s2 U+ y. U* e; }- H. Z
  57. BNE UNPROFC* c% v. b7 }% x& Y* Y1 `1 D; M1 v
  58. LDA $FC3 g, q$ i; ]- P) E8 J" }1 s
  59. STA $7EFC
    9 N; q" u9 ]5 |! `9 J* a
  60. LDA #$006 I8 }2 t: L; i$ h
  61. STA $FC
    ) F9 _) e/ ^8 w
  62. UNPROFC:) X! T1 r. _0 h+ `, h! o" \
  63. LDA $FD
    0 Y" {& U6 @9 a
  64. STA $7EFD1 e- A6 d% `6 ?% I
  65. LDA $FF
    % ^  ]' e$ C' U0 m: u
  66. STA $7EFF
    + m! l, N" K7 f  X- F: j7 X- ?$ Q
  67. LDA #$00' N- R! p4 |  @/ p5 R# G. w' B
  68. STA $FD
    / q' C  v2 \8 ?
  69. LDA #$B0* k3 k5 U# e" V) X% u# ~# Z
  70. STA $FF
    & ?8 s" g" V' o4 {$ {2 ~* S# r, H
  71. LDA $07C1
    . r* s5 ?% B- {8 U
  72. STA $7FC1: o4 `6 ~9 i3 z: b; ?* n
  73. LDA #$3F& ?- w7 Q% u: K3 _4 i: C
  74. STA $2006
    . Z6 U- a; f  L+ \
  75. LDA #$01
    5 G  O5 ^. v5 Y4 Q; z& H8 A5 ~
  76. STA $20064 @4 ^8 e& o- i* ~8 K+ l
  77. LDA #$24/ W- {! `2 n) N% q- U
  78. STA $2007
    2 U: B. a  @+ L
  79. LDA $07F6
    : H- S, D" {% u! d
  80. STA $7FFE; p, c# ^" Y( B4 \7 I/ G' Q' U
  81. LDA $00FE9 ^  ?' x8 i* Z/ {: i4 Z. w. x
  82. STA $7FFD+ }6 t1 F* f, [8 F
  83. LDX #$00
    7 i# h2 l& ~: ^: t+ l' P5 d
  84. LDY #$00
    % l5 |4 T6 Q" Z& S  ^7 |$ a
  85. LDA $BD: X5 c: q9 x& l' U
  86. PHA
    + C& Y* N8 O0 t$ _' R! i
  87. LDA $BC- W2 B' n% K/ E9 c# C& d* O: _
  88. PHA
    ( J( @: _& Y2 f% l; {! E
  89. LDA $BB
    . M/ w4 h: Q; }2 [+ Z8 U9 A# \
  90. PHA3 Q. J) \9 a  N; c6 c
  91. LDA $BA
    ! H  k2 B: T; _& d4 l! c9 l
  92. PHA! T1 D: C& ]: {: W8 C
  93. LDA $B9
    2 b* _* R' r) E9 W! d
  94. PHA
    3 P$ J% @# g# \0 ?7 C4 i" ^
  95. LDA $B8
    ' M0 \1 k9 @6 V; o$ S2 \5 b. ^/ ^
  96. PHA5 @. t% c( F$ v. F# y
  97. LDA #$00# `: y- j$ C4 O+ E
  98. STA $B8
    6 g& j1 f( ^+ L6 j
  99. STA $B9
    6 x1 O. x1 a" u. f+ j- |2 {
  100. STA $BA
    5 g: ]% H" ^6 I' g  Z( `
  101. STA $BB3 y8 n! q# D( v9 l: V. l- H
  102. STA $BC" V6 w5 U8 J0 `: t( C9 e
  103. STA $BD+ }1 [# H( `0 I; A! V8 }9 X
  104. LDA #$000 r  t  l+ T' p, h9 P! L- i
  105. STA $BA, }! D6 i! }7 B# r& T* ^4 w6 O
  106. LDA #$20& k& j8 c- p; B% E
  107. STA $BB
    ) S9 u* |& C2 n  ?4 i3 W
  108. LDA #$003 m* N+ V0 V% p4 d
  109. STA $BC7 t5 \2 j$ o4 q0 T
  110. LDA #$60
    $ f* A& t, L0 S2 E
  111. STA $BD
    1 y" J0 f; }6 j# u# f3 y

  112. , L: E8 ^: B3 l. \5 j
  113. L1:                ; PPU复制0 G  g+ j% T# _. i8 ]8 A) [- o
  114. LDA $BB
    ; W3 P9 v) n$ q; G  d
  115. CMP #$30' x+ w* ^) Q( w' B
  116. BNE L2
      V5 ]! r9 v) h, e7 f) M
  117. LDA $BA5 f2 q! l% O/ Y+ z
  118. CMP #$00- D4 X3 r3 ?9 O! P. ]2 R! h7 T% X
  119. BEQ PROADPLA
    3 f; _. C. d  i6 |7 K4 j3 d8 C
  120. 6 M, d- K) c: {+ q  s3 ]0 T
  121. L2:( S4 s7 k( S! {7 p, U4 K" {
  122. LDA $BB! {  Y7 |" w( X! M. j) m4 Y
  123. STA $2006  H: ]- [8 h! W
  124. LDA $BA% U% }; P+ K# Q; u2 F
  125. STA $2006  x- O8 S7 H7 f; u' D
  126. 2 ~# y; m# a# D' a5 S
  127. L3:1 [2 }) W- q# z# l% f& }; B6 i
  128. LDA $2007% W+ e. ^: s" B- m
  129. LDA $2007
    ; N- Z4 Z5 `3 U
  130. STA ($BC),Y3 r( t3 P: p# `( n. Y" L

  131. 8 x1 r6 U. X8 L( b9 j
  132. L4:8 t; _, o9 \" R" D' E, \0 y1 F  }6 H
  133. LDA #$00
    ! f4 {8 W- s# b; Z' w5 b9 }
  134. STA $2000
    / ^- K# Q7 J; e0 o
  135. INX
    : g+ @2 ^. u1 A) u" I
  136. INC $BA
    / u- ^4 Q+ L! A, ]; w4 P# Q
  137. INC $BC
    4 O+ L' w2 A, k" m4 r. S
  138. CPX #$00
    ( q& d3 v; G, D' \. c
  139. BNE L1* j& `. o" h8 i
  140. INC $BB
    1 \7 k0 |& z( t9 K2 T
  141. INC $BD" Y. a4 M3 u& F! A- B2 n6 z
  142. JMP L12 s' k% O" k4 {8 k7 o+ D. G  Q- n
  143. $ M7 `# e, v. g* z4 a, J+ @& P5 p
  144. PROADPLA:                ;出栈2 |, y. r% \& X2 W% [' z
  145. PLA
    ' d  u9 b* g- @
  146. STA $B8: R! m0 W) P2 R" [+ D3 J
  147. PLA& b2 Y( j5 y2 k1 p- u
  148. STA $B9; \1 J" b. c! m/ ~9 e8 J# X. s; e) W
  149. PLA: F0 _! k/ m8 {
  150. STA $BA: u4 l6 j+ @5 n9 [. u- ~3 H" v9 ~
  151. PLA; z3 F/ F* k2 p: I2 K1 @( e
  152. STA $BB
    9 a$ X% X% t' w9 z, g3 K/ @
  153. PLA
    : h$ x) j2 i7 h$ |/ a8 K. [: h
  154. STA $BC
    . d6 ]% W. m# d
  155. PLA
    ( }  v' ?0 }+ `$ o; N. k4 Z% s
  156. STA $BD
    4 W( K# y- P- g6 [1 W+ m
  157. CPRE:! B- Y# ~8 Y8 \) x$ e! Q
  158. RTS
    . |. i# b7 J2 g! r

  159. ) q4 ~$ U1 v/ B, A; L
  160. CLEANA:                ; PPU清空$ a* i0 j2 k4 n" x& A
  161. LDA $BD
    ( [1 f0 W% Y$ Y
  162. PHA
    + i) t1 n/ A3 {. V( s; i0 e" k$ U
  163. LDA $BC3 h* L0 o3 r* b7 _
  164. PHA, m9 D& D+ h- j% U/ e" b7 T4 \8 B
  165. LDA $BB
    + C3 O! @$ j" i, y
  166. PHA
    $ G% p0 q! q8 |
  167. LDA $BA2 Y! ^* y2 Y* l5 v
  168. PHA% r, S9 B6 @& E3 s4 s8 O
  169. LDA $B95 ^8 p9 Q& h& s! w
  170. PHA
    + ?* \9 ^. F# i6 n% l  c3 |4 R
  171. LDA $B8
    7 y  Y  `) i3 I% x! J
  172. PHA
    ) T9 r8 d/ {  L& w
  173. LDA #$001 f$ L& w5 a& S0 N
  174. STA $B8
    " Z8 H" d/ M1 t9 {3 f* K
  175. STA $B9
    4 s7 E$ V: X( f6 f+ g
  176. STA $BA
    & n2 w; g  F8 {6 w4 z7 D
  177. STA $BB
    ; W& C$ {. }* M0 k2 }
  178. STA $BC
    / h+ \1 G$ Y; H7 T0 B
  179. STA $BD8 T  t( R$ J  H0 E, S1 H0 Z
  180. LDX #$008 V2 o( k) D  f4 a; [/ R8 x  f" _+ d# l
  181. LDY #$00- W3 L2 u: O! ^* Z, j4 d
  182. LDA #$003 z5 ^! X0 W  ~/ P7 ~
  183. STA $BA0 m3 y  p' H- M* W& ^& K' _) J
  184. LDA #$20
    # L- ^2 R5 m4 t' B3 |
  185. STA $BB
    2 |1 w( p4 x1 @. }# `+ g8 U3 i; B

  186. ! ~, Y, V+ d5 \7 ?2 S& c
  187. CL1:, L, X1 i  L8 u0 W! N7 Q
  188. LDA $BB1 P+ l9 @" ^8 e% k: \) Z2 K
  189. CMP #$30
    ! \. [3 G) }/ q& ^/ R
  190. BNE CL2, {3 _( Y/ D- D( h
  191. LDA $BA8 r3 ?4 i& _9 Y
  192. CMP #$00
    ; ?, _3 N6 i0 b( Q. f9 a; k  s- Y' h
  193. BEQ FREEWRIYE5 \+ r, D! [4 f2 G

  194. 6 R9 f/ H6 }; r# E) o
  195. CL2:
    * ?. `* {7 {: r- K6 U+ Y
  196. LDA $BB  {! ?9 a, z. [# {
  197. STA $2006% j; k% |- ]6 l) C* ?+ k2 {2 y
  198. LDA $BA+ N5 f) ?( i* E5 r3 ]; s6 i) {
  199. STA $2006
    ; A- L0 M& |- b" k! q7 C
  200. 5 `3 ]" v# v% e; x% P" d
  201. CL3:# W; e  W2 ~: ~% C3 y6 t- K
  202. LDA #$00
    5 h9 U/ b2 H. m
  203. STA $2007
    6 B( ~: V- ~1 K# n5 W8 G% o6 k0 i
  204. ( }1 Q; G$ a/ l' S3 Q( K& y) `4 Z
  205. CL4:# ~0 O/ y3 I3 d! g8 q2 F7 R
  206. LDA #$00' \$ X0 g7 [- ?( Y9 t" p
  207. STA $2000
    ) Q( p1 k  s( r3 x
  208. INX
    ! W4 s; I) f! u+ O' q
  209. INC $BA6 c+ l) Z) n0 e& J, d# t
  210. CPX #$000 ?) A6 n) \6 G- R
  211. BNE CL1( j8 R- X8 [- L
  212. INC $BB
    4 D) Z1 N+ G7 k, a; m) K
  213. JMP CL1 ! t* ]# K5 l6 I- g

  214. & S# V2 C5 q) I8 d! q& w# ?  w
  215. % D' Y9 d: Q% Z+ n
  216. FREEWRIYE:9 U) e# |& c; g$ U
  217. JSR FREE
    2 ?0 V" V& k+ Y+ b' l

  218. 3 l, o+ _' D6 ~$ a
  219. - @* J5 Z! J+ W, o( s

  220. 2 ^( d" M4 t. Q6 p8 r6 C; j
  221. % [5 V5 B/ z8 a6 x) V

  222. $ o! }* K7 K) t; T8 [/ \
  223. CLEANF:                ; 恢复现场
    6 ]" x) O4 y( g
  224. LDA #$082 S0 {3 N( r$ y' I# G; M
  225. STA $FE
    ! ^7 y5 U6 g4 ]5 g! f5 x
  226. LDA #$00  F' m' a& y( }* }% {6 z9 m
  227. STA $07F6
    , b' P+ [8 S* g
  228. LDA #$24
    1 T, \- l' Q4 V. [8 d
  229. STA $7FC0
    5 Z. Q* G8 w& J  {! C/ ~1 ~% I( ?
  230. PLA
    + f; Y  f; s1 k2 l
  231. STA $B8
    ! x! `7 V) ~4 G* r( N
  232. PLA" V1 w7 e1 B9 |; A) k5 p
  233. STA $B9& G2 g' K6 H0 E, c4 C
  234. PLA0 x. j. ], M( a- G2 K
  235. STA $BA
    & F4 J, ^: S& k  R" l) V  v7 m
  236. PLA
    : l* J+ F4 a9 S/ i& D3 i& h- G5 |
  237. STA $BB9 P9 F- P$ t/ G" \( J
  238. PLA
    0 D$ M& q  w- @% g
  239. STA $BC
    , z# T5 ]( {. G+ p
  240. PLA1 w3 k0 p% r6 i( Y
  241. STA $BD- V! k. Z) q& I7 F! O1 b- j& D
  242. CLRF:3 o9 q* {/ Q+ |6 _7 r: X9 j
  243. RTS
    ) A0 x9 n) }( t* |) L

  244. 0 S/ V3 |3 U' X3 r* w( t! X5 n4 J
  245. W_DATA:
    9 [' o3 ?* h% L1 E! v# H
  246. .BYTE $00,$01,$02,$03,$04
    ) K8 F! Z( }$ ?4 u$ f+ Q1 N
  247.   ; u" S/ w/ w7 f# ?1 n& |0 U
  248. W_PPU:
    " v& F3 ^1 a" `4 }  ?) ]
  249. .BYTE $98,$97,$90,$9D,$96. b) @. C) H% X& l
  250. 3 U, [: i8 P# N4 s) @" U- X- u" N
  251. P1_STRING:0 B1 t  P+ y- }
  252. .BYTE $9A,$82,$00                ;"P1"
    ! j; l0 J# N3 \  i6 ^: p

  253. ' i* j5 I1 ^, \+ W: j/ D# l" t
  254. P2_STRING:
    5 ^3 Y, _2 J% X; c( Q) e
  255. .BYTE $9A,$83,$00                ;"P2"/ }/ Z7 f! _; I2 ]

  256. / i( E7 b4 E# l% ]  L/ F' p2 w
  257. WEAPON_STRING:/ x4 W7 V5 Z& M4 _: O! J
  258. .BYTE $A1,$8F,$8B,$9A,$99,$98,$00  ;"WEAPON"+ C" t% |* V/ _& R- G
  259. 5 t  Q/ ?; s( {# A8 ^$ n
  260. RELIFE_STRING:
    . ~6 Z# `8 S9 l6 d* Z2 R# f
  261. .BYTE $9C,$8F,$96,$93,$90,$8F,$00  ;"RELIFE"& p  j  r6 N3 Q, z
  262. % T% E) o2 N! A( R: o4 \0 k, M* I# B
  263. P1_PPU:
    . j0 L0 n2 k# y
  264. LDX #$00- p0 u8 r$ g. E. Q0 x: @4 F, g

  265. " p! L- b  c: L9 i3 v% f
  266. P1_PPUW:
    % |. `- w# ~8 \2 m4 s2 ]
  267. JSR PPUADDR_PROCESS
      b7 H3 h, n, D! s. o, R; s
  268. LDA P1_STRING,X
    # ~; k/ C  X8 S' u( ^
  269. STA $2007
    # H7 s- `2 {9 a/ w' K/ |1 g$ q/ z
  270. INX4 ]1 ?. q% L8 ?9 d. j% v
  271. INC $BA  G0 E( t  _$ m* l7 \
  272. CPX #$03
    ; P) d2 H6 l/ A
  273. BCC P1_PPUW
    1 ~. e' Y2 N$ |2 X" P
  274. LDX #$00
    $ f: f$ f1 a4 ~9 X1 Y
  275. RTS+ R! @0 J+ \1 [, x

  276. " ~& V" L; k& }# @
  277. P2_PPU:. u; o/ {/ @0 o- g' M2 I. @3 r
  278. LDX #$00
    9 W6 l+ [' i$ z) ^) }8 h, g' V/ m: o
  279. ! H! t" e9 P: p# }
  280. P2_PPUW:
    2 F; x1 n* l# F4 p& Z2 `
  281. JSR PPUADDR_PROCESS
    2 g% t" p# u4 @- C% w$ a
  282. LDA P2_STRING,X
      ?  q) v$ ?1 H5 c9 u6 x3 w5 D
  283. STA $2007
    - l! @- v  w) v7 M5 b7 @
  284. INX) f* Z3 D' z* }: L6 g7 k( ]8 i
  285. INC $BA
    3 v& |: k: x$ O0 c5 {: g2 c
  286. CPX #$03
    0 D! T. b# |5 i; P' Z) r  _  ^
  287. BCC P2_PPUW2 f+ B5 f" a) D7 k$ X
  288. LDX #$00
    / X6 P, Q( G% P
  289. RTS
    ' D% I0 `; a$ m8 M$ ~
  290. : i7 e) C/ j1 T5 j7 t6 I; ~

  291. 6 U+ \5 e' {5 F
  292. LDA $BB! z$ s7 a' U3 q1 ^1 x* q  o2 y
  293. STA $2006
    5 K8 W3 ?/ Y  A3 }: U% \' r
  294. LDA $BA
    ' k: `& ~# ]9 g/ r9 }8 T1 a
  295. STA $2006. _) E$ G# M1 S2 V7 K
  296. RTS) j$ _* @# L5 m3 ]  `
  297. 8 x4 c" U& G  l! d. z' e

  298. : C1 i6 b  H' j: u# G/ z# D
  299. # a% v2 B4 ~1 s. }
  300. PLAYERLIFE:9 L- I  }0 P- E! X) D9 b% Y: [( }4 w2 Z
  301. JSR LIFETODEC
    & {3 T# {. x$ {
  302. LIFEPPU1:
    5 y4 x1 t  K$ P
  303. LDX #$00
    # _4 W* m' w% x6 F# Z; p# N3 x& f
  304. LIFEPPU1RE:
    4 T& x7 Y+ j" e' r
  305. JSR PPUADDR_PROCESS
    ! R; E- q2 e# R6 z
  306. LDA RELIFE_STRING,X, J+ Q5 ?4 i' x- d0 ^$ P6 J# B
  307. STA $2007. n' w% d" F& s
  308. INX" |4 s1 p9 B/ t7 U) X7 B: w
  309. INC $BA
    0 R  S% I; n0 H7 Z$ c' r) I
  310. CPX #$07
    # n7 k- X$ f/ H4 H. v$ a8 C3 @' @
  311. BCC LIFEPPU1RE% n) p  {" V3 p( \% S

  312. - y6 |1 l' G! G* x
  313. LIFEDEC:                ;生命显示写入
    8 J) e( \$ S" \1 Q; n8 N/ K
  314. LDX #$00
    - m' I/ g5 y9 M8 x; N6 k
  315. LIFEDECRE:  {6 ?( K* p( S+ R2 z
  316. LDA $7A03,X0 z; s+ E; H& C3 D7 A
  317. CLC* h+ X3 ^- U9 Q
  318. ADC #$81
    & S( G1 c6 H% H" r7 A2 Z6 B" U- x
  319. STA $2007
    ' L$ y  i) o3 E( O2 z
  320. INX
    ' g6 v& |! H& r# U$ O5 L1 w* ^
  321. INC $BA
    $ h1 h2 C( _, d; z6 h4 Y3 i
  322. CPX #$03
    , p* u$ r! b5 g: D  ~- L7 x: S: l5 H
  323. BCC LIFEDECRE
    & w, S+ P% F* @1 R' U1 s# F
  324. LDX #$005 @! f* v% M" x7 N! K% M
  325. RTS+ a6 N# N* P  p

  326. 6 m2 f8 V8 e: i: O
  327. LIFETODEC:                ;十进制转换7 {! ^( i3 {, \! T$ U
  328. LIFEL1:        ;initialise
    - t5 n/ N* r* z" f
  329. STA $7A00        ;$7A00=F3
    + F6 C) v0 q- u
  330. LDA #$00
    * u9 p0 a9 L  `) J
  331. STA $7A03        ;$7A03=00* R+ p3 k  b2 n& w
  332. STA $7A04        ;$7A04=004 o( [1 v, R* ^8 I5 `$ y9 T
  333. STA $7A05        ;$7A05=00: {* O( G4 I9 T; Y' M5 d
  334. LIFEL2:        ;copy data $7A00 to 6001
    8 o  W. p! N/ G) L, c  `6 u
  335. LDA $7A00
    6 N( j5 k+ y; M1 R8 D+ a
  336. STA $7A01
    1 K8 Z, Q5 v- C/ U
  337. ! Y7 t  P- [/ H! e7 g/ B% g! G
  338. LIFEL3:         ;hundred
    , T. {5 ^! B* N4 c( }! L
  339. LDA $7A01
    2 v, Q' n  L0 H. z. n0 [# H
  340. CMP #$649 R+ n/ u" ^% D! Y2 G3 C
  341. BCC LIFEL6                ;$7A01<100 goto L67 F' n* K& ^% A7 m' q- y( ^* \
  342. LIFEL4:
    9 t% I/ x3 Y# P
  343. LDA $7A01. F* w' W0 v* n. ]! p
  344. SEC. U+ |7 @8 ?  u
  345. SBC #$64        ;$7A01=$7A01-100, q9 w% n( Z  Z, y; X
  346. STA $7A01
    ' g( F# P* y1 {/ v: @# |4 _( w
  347. INC $7A03        ;hundred++$ Q, E2 C8 T+ S
  348. LIFEL5:4 a3 B+ v  b: D4 e. o  a4 w! S
  349. LDA $7A01
    5 M9 z0 s( L4 s; i0 ?
  350. CMP #$64
    3 k9 L$ M$ N$ D) f! p3 I5 A6 A
  351. BCS LIFEL4                ;$7A01>100 goto L46 u. [- e& Q9 A5 p5 O
  352. - m+ h: j# k, Q
  353. LIFEL6:        ;decade+ v! r" D" Q4 B( w
  354. LDA $7A01
    9 W4 R, Y, \# w
  355. CMP #$0A( n8 R6 H- F0 z- Q
  356. BCC LIFEL9                ;$7A01<10 goto L92 w, E, f/ v( D& n3 O. v0 `
  357. LIFEL7:       
    ( c5 m& y: D& g2 _6 G6 P
  358. LDA $7A01
    ; {. ~' i$ D3 m* _% r: ?5 x% d
  359. SEC
    7 y  m$ N& L* s  H8 B; N& q
  360. SBC #$0A
    + \7 X) O6 [/ d- `( S
  361. STA $7A01        ;$7A01=$7A01-10
    3 c0 K6 n7 D9 v+ j# p0 A+ w
  362. INC $7A04        ;decade++
    7 P( {8 P5 N+ m; G
  363. LIFEL8:
    . o$ F( j& ?# Q4 C
  364. LDA $7A01: L' n+ H% m5 r, Y6 F  s
  365. CMP #$0A2 H! G% m$ q9 X! ?5 g& D
  366. BCS LIFEL7                ;$7A01>10 goto L7
    2 r: s3 K: S) e
  367. ;unit! P" ~7 u8 \9 K
  368. LIFEL9:
    ) \# P, {  W; K* i% X/ g
  369. LDA $7A01        ;$7A05=$7A01* c( c1 T, D2 b# H
  370. STA $7A05        ;unit
    ) E. g* p' a% m  j) v4 U! a  [
  371. RTS        ;return% n( m2 D7 r8 J& |

  372. & d) Q' |+ _0 {- K: u! u; Y" B; [7 _

  373. 1 h" w0 P3 n( v& O0 |; l  `

  374. 0 J. s; M4 g, z  u2 N/ y+ H# e
  375. WEA:                ;武器ppu写入
    # C. B0 k0 V5 b" {
  376. LDX #$00
    : z1 F( @9 V5 m" y& v" q4 @8 X
  377. WEARE:
    . P/ _: f- ^4 i4 G# V
  378. JSR PPUADDR_PROCESS
    7 R. n' I" ~; K2 ^2 J
  379. LDA WEAPON_STRING,X
    & w: R. o7 z0 o: A8 g
  380. STA $20075 e6 t: _+ i1 Z5 Z# j: y; j
  381. LDA #$00
    1 J& m$ I, d( d' X  G
  382. STA $20005 L& O, g3 ?8 i5 a0 Y
  383. INX
    4 {! d0 h! V3 Y% z- k* G) l
  384. INC $BA* U( T. |# }) o* l2 n( I
  385. CPX #$07
    ) }' {, ^6 Y6 Y/ D8 I1 b
  386. BCC WEARE
    : s) `0 S. R1 J8 V) @+ ^4 X
  387. 2 B  ?8 }/ r* P8 B
  388. READ_WEA:
    5 F# b8 b. o9 _) B- d( r" Z
  389. LDA $B9. e9 P5 r- C3 i3 E
  390. AND #$10& |) a* F. E$ `. M) {, P$ `5 t
  391. BEQ NWEA
    5 Z  N2 Z% M' L9 ^3 k. z! E& }8 k+ |
  392. SWEA:
    5 i- j6 o+ I# L5 P% g% E
  393. " S+ m1 D4 w2 o. q
  394. LDA #$9D" o% w& n+ l' X" }! ]3 X
  395. STA $2007
    # c/ c! D! p9 g
  396. LDA #$001 Y3 P1 D2 o0 `
  397. STA $2000
    , @0 g* b4 \' C2 J0 J) @9 b
  398. INC $BA# f) i. `) |# i
  399. LDX #$00
    0 D$ {6 G/ c+ t
  400. JMP WEAREAD
    3 B% w2 J" k- S6 \3 |
  401. NWEA:
    ( b7 \: @. }  v/ r5 S7 ^, P

  402. 3 j9 h9 n9 d* B" N! h' K; f6 m+ D1 r7 W
  403. LDA #$8D# l7 I( E: j$ b& G
  404. STA $2007
    ! N( J$ L3 y, h, ]
  405. LDA #$00
    / U' B2 T- I9 n! h8 Q
  406. STA $20001 {! q- t  L* X
  407. INC $BA$ q6 ^/ L" Y$ ~! ]
  408. LDX #$00
    " J9 o$ A: ^6 m9 T
  409. WEAREAD:  S* k. v  E5 _, w5 L& H# [
  410. LDA $B9
    ; P  e* w' S4 t
  411. AND #$EF
    $ A7 r+ G" F3 @
  412. CMP W_DATA,X$ [) P6 c0 S6 Z, m# g
  413. BNE WEACMP
    4 b  m) L* I& N7 y) l
  414. $ |: ?+ v( A' C; t5 d# ~
  415. LDA W_PPU,X4 S5 v: E; G0 C& N
  416. STA $2007  |( o' R  ]: }( |1 k
  417. LDA #$006 s0 m8 F5 P( o6 @9 X2 N6 W! \7 I5 L
  418. STA $2000
    % Y+ _5 ]. }" L- M: G0 M
  419. 6 l- Y6 J) }) w/ F6 l# b' I
  420. WEACMP:4 ^& c- x  H' [4 |
  421. INX$ p' q7 a7 B: X$ q  Y- a7 {  V9 Z1 ?
  422. CPX #$05
    ( x6 Z9 c2 {; l% `  q4 O# G
  423. BCC WEAREAD9 h7 F/ B' E9 o4 x5 o- a6 ]
  424. RTS
    3 ^* h) G: S% x% w! \- ]6 J9 f1 r
  425. # T7 Z5 \' {  F; w* F$ e2 W
  426. 2 c0 l3 F9 c7 ]$ U# M# i( Q
  427. PPUWRITE:0 Q; R7 d$ Q, `, `3 T
  428. PLA
    2 L- \0 T- [! G
  429. TAY& h, c! J( K# Z  e* t
  430. PLA; Y4 {4 r8 w+ F* ]9 ?5 k: l* U( U
  431. TAX
    # ]# X( H7 X) m1 M8 R8 U1 I' V
  432. PLA" g- w5 e9 q! D( P" O' ]
  433. LDA $25
    % e7 i7 r4 I; M6 o( @0 [; H2 M
  434. CMP #$00+ q* v5 e7 C1 x* @( a( E
  435. BEQ WP1
    : {. r0 R# i& M
  436. LDA $25
    ) L  G% y/ P: O
  437. CMP #$01
    ! s6 K  Z- {7 y, y
  438. BNE WRE
    ! B0 d4 b! T; `9 h3 k5 p
  439. LDA $F5,X) W( ^5 D2 t1 J! K6 _, G6 q- U' z
  440. AND #$EF
    . O: Y8 w8 W0 p/ e( @
  441. BEQ WRE
      d2 q( C3 k% g8 H' q5 X7 d
  442. LDA #$002 D# ^8 F% n( f# z/ p+ i3 N$ O; Q
  443. STA $7FA0$ \" y- H+ M: `  \; ^/ N0 `

  444. " t; E" w/ A5 s+ Z" J
  445. WRE:" q$ l' {6 O7 y
  446. JMP $A000
    ! @; u; U" F" ?

  447. 7 g0 U* ~, {) w# z% `
  448. WP1:: d* f0 P" K+ f3 @" M! d# t* b
  449. LDA $7FFF1 |- s/ i$ E& y7 T( T7 k$ J* E
  450. CMP #$FF
    % T6 T: o( T- r' V; n$ [
  451. BNE WRE
    - T$ X2 l4 z3 D: z2 P
  452. LDA #$00
    , e( I; G) `- J! Z2 D
  453. STA $2001
    # y) W8 L8 E- t* v
  454. LDA $BD4 @& N. L9 r) M3 _; j3 o8 ^
  455. PHA& n* ~" W" g1 H2 N
  456. LDA $BC, \! l7 Y/ v; m
  457. PHA
    8 B6 U; r5 d1 F+ ^: c. L
  458. LDA $BB
    5 L$ F) I/ r: j$ u# V3 Y
  459. PHA
    4 O  g- k* g2 t( @9 m3 Z+ L
  460. LDA $BA
    3 }9 t; h4 V$ e: i  v/ ?. Q9 f
  461. PHA
    5 q, w$ I& K9 i2 ]% o5 _. d
  462. LDA $B9
    6 v8 W8 @/ K; H6 N6 ^
  463. PHA# r! S/ O# o  n* w  [* B/ r
  464. LDA $B8. E8 L- L7 x2 i; L) o* Y) u
  465. PHA, h* ~7 {. V+ P  F+ ?
  466. LDA #$00' L& |4 V7 u" H; T$ N
  467. STA $B8$ h# ^6 d& c* y  c$ ~1 _
  468. STA $B9
    3 ^) a7 b' S+ p9 ]3 y6 Z
  469. STA $BA
    " m/ _' r3 c& b. T9 n
  470. STA $BB
    5 j. a1 q  l/ t: G. T7 k
  471. STA $BC
    $ Z  {8 x8 A% Z( E
  472. STA $BD2 D% l/ C: k' _* @0 G* l* P2 V) t
  473. LDA #$00; N# V: I; m1 S  `
  474. STA $7FFF7 ^5 I" X5 t$ x
  475. LDA $30
    4 ?" A: _5 ^" q! ~+ N4 }: v. u
  476. CMP #$026 w: f1 ~+ s# R$ N$ b) a+ v
  477. BNE UNPROCPL4 b, o/ }# {+ e' W4 P
  478. LDA $7EFC& G% d% ]- `% y6 g% e
  479. STA $FC
    / W" p' q7 d* K$ I2 h8 z7 `& c
  480. LDA #$00
    % Z3 G1 h( @" d" z+ s& o
  481. STA $A41 x0 X' L( R  G0 J: b5 H
  482. STA $A5
    . `; S: \0 `! b' H8 x: M5 c
  483. UNPROCPL:
    " K# @9 B" s: t9 m
  484. LDA $7EFD  f4 \; u# u1 z. W, m& P8 v. @
  485. STA $FD3 G) m4 ^# I' K8 q) K, C4 C* {" C# W
  486. LDA $7EFF
    + u- K3 n7 {) h/ `: @% r; B) {
  487. STA $FF
      h# Z4 L. F) f! y; D; n2 S
  488. 4 j+ F- R  n: q0 Q3 e0 l$ f9 t9 _
  489. WL0:
    & c- B6 C' J' K7 W' ~, y# c
  490. LDX #$00+ e2 e$ a. _, m/ F! H2 s, g
  491. LDY #$00
    & K; T# K+ Y5 l* n
  492. LDA #$00) [4 C( K* L* S; S) G* K7 A
  493. STA $BA" w2 u7 i' Y/ X) {# d
  494. LDA #$20; [; Z! g, p) n$ L
  495. STA $BB' j0 X4 S4 m/ t9 U3 f/ j3 i
  496. LDA #$00
    6 h; R! O; w2 d
  497. STA $BC5 @" j& l9 V' t+ ]
  498. LDA #$60
    + g# B% ]- ~0 k6 _) E- s
  499. STA $BD
    ( H& `, ^' ?8 @

  500. , L: u, G4 ~6 ?
  501. WL1:
      U) |3 P* V) ^5 j; ?
  502. LDA $BD0 q1 ~) b  A3 T; @
  503. CMP #$70
    2 }+ y2 Z+ v5 P% C; w; I4 n
  504. BNE WL2. J# ]' I4 b6 e1 M8 t
  505. LDA $BC, ^: N8 M3 N6 s; y
  506. CMP #$004 q9 F3 a7 s' I, d# ]* z! [
  507. BEQ WLR
    6 G4 J2 m$ d7 m' W; D+ g3 E2 f. a1 R

  508. 8 `. t) c. d. m& p9 r9 q) z
  509. WL2:
    * a- l$ f7 c0 j  A7 m
  510. LDA $BD
      n' Y7 k% R* J$ c: M0 {/ J
  511. STA $2006) y) X6 d* l6 ]7 a3 r
  512. LDA $BC( X1 {0 x4 Z* x$ a
  513. STA $2006
    $ V0 X; a/ P# F/ X0 `: `0 D

  514. % s$ j1 k" z6 L
  515. WL3:
    7 h- G# U$ M  V  B
  516. LDA ($BC),Y. g# `/ ^/ `! F. g
  517. STA $2007
    3 v' r4 m7 S6 `# S4 \( e" ?

  518. ! P& _( Y% U/ D) W' q
  519. WL4:# T" z* p* m$ H9 L$ Q: u
  520. LDA #$00
    4 O5 l8 l* K" f; f& i1 F
  521. STA $2000
    # o. h% p8 N1 z
  522. INX# ]  @6 g* M3 }* o3 c/ O
  523. INC $BA# |% @# h, O, N) m3 P* X) O. Y
  524. INC $BC3 q0 M& Z' {  N# \
  525. CPX #$00
    7 V% Y; @* c  ?; B: H  \
  526. BNE WL1
    ( K# V& Q" d- u; m: K! z$ r" c6 N- m
  527. INC $BB& ?) F5 R0 @) n( l. \
  528. INC $BD. S2 `4 b, q6 P' D
  529. JMP WL1! |; r# Z" l0 g, b: K  q5 V& K  G# J
  530. 1 e3 g6 s# V& ]  B- c
  531. WLR:7 y  ^9 a: Q+ h0 x8 ~8 x; M
  532. LDA $7FFE, T, g% V% @$ I! @( ~) ?8 U
  533. STA $07F6% a9 R% Q0 n; W9 I3 l' n( `; H
  534. LDA $7FFD
    ; M" U  |1 u, g$ z9 [' p- L/ \
  535. STA $00FE
    / Q, a( h% }1 |
  536. LDA $7FC1) b- X, U2 y& s' l4 n) Y! B9 j
  537. STA $07C1
    9 Z& G6 |6 U+ H' d$ _8 m
  538. LDA #$3F
    # G" u+ G9 a0 h3 o# C/ _
  539. STA $2006; k0 s/ `7 B& J* _- U
  540. LDA #$01
    9 U- E* Y5 E' t- W* [/ `
  541. STA $2006
    # ]) {: J, R* z- Q
  542. LDA $07C1! ]( n- x9 M% G  S
  543. STA $2007" o4 x$ ~' O- J
  544. LDA #$00# {/ G8 ^& |( G8 S
  545. STA $2000- e, `6 z3 e8 }5 ~  L. [# L
  546. PLA
    ; v+ w2 ~) f' s
  547. STA $B8, M8 u! L3 `" f; s% @- C
  548. PLA: S+ P" n; i* [' x2 l" ?! N
  549. STA $B9# ]) W& v* @0 z& o5 P1 D
  550. PLA
    " O/ a- y# b. K6 z
  551. STA $BA( Y& U2 D8 n+ f* ?
  552. PLA
    . ~- ^, K" y4 Q" o9 f: Z
  553. STA $BB3 @1 ?- v1 z, K% i
  554. PLA% ^* O' t( ^5 }. D
  555. STA $BC
    . w8 c6 S/ ?9 s- Y
  556. PLA
    * y# r  p; x: X  l1 N' q
  557. STA $BD
    8 |$ `) C- q' Y2 d) J
  558. JMP $A000  V- p1 ?9 o. v5 _' k/ G3 Q3 f( _

  559. 8 Q! K' j4 X5 u. x
  560. FREE:                ; 暂存器保护6 ?8 h: ?5 m. \! r
  561. LDA $BD- F6 Z0 d  [- `/ K+ S, K# A8 e
  562. PHA; |0 c  v/ {, T- |+ ]
  563. LDA $BC
    9 `* S5 ~; J0 c7 d3 w
  564. PHA- `* E' H* a1 p( V  F
  565. LDA $BB
    " j/ i5 l' `% p- n) N1 f& F+ l
  566. PHA# K7 @' W! o$ O1 m/ f5 ^* f. Q
  567. LDA $BA
    * c9 h5 m! ]; _$ B* @$ o8 ]/ _
  568. PHA
    + E9 d3 m7 h! [
  569. LDA $B9
    % o  _9 ~  m( w- p$ Z) G1 V
  570. PHA
    , Y8 b8 z, ]9 K/ O
  571. LDA $B82 ^! i$ e& Z) J5 W9 ~4 p5 u
  572. PHA
    2 n- N; z, D4 S  x2 F& V
  573. LDA #$00
    , j: |5 f! k% ]) e& r$ W
  574. STA $B8- ^' _, }! o& p
  575. STA $B9  J" I  J$ w( X" U; D; |* L8 W
  576. STA $BA' H( W* x5 X) P$ H! G4 f3 R
  577. STA $BB
    ; A! P# ]& {( g- ^" H: C, Z8 q
  578. STA $BC+ y6 i# m/ G- p; J
  579. STA $BD
    # P7 ^1 O( l9 [8 f9 t1 k
  580. 8 k8 k1 ]9 M, |9 ?3 f
  581. WEAWRITE:                ;武器ppu写入
    ' |/ A% l, p$ C/ ?8 A6 @/ Z
  582. LDX #$00  o3 y) A( P- ]; u3 e
  583. LDA $AA
    # r+ p0 {2 u4 F) R% O
  584. STA $B9
    . K. ?; p1 g6 O3 w0 p
  585. WEAINI:                ;地值初始化
    " x7 y- U0 J% x7 x; l1 U1 v' m0 h2 b
  586. LDA #$A4; I: R7 r8 p* i# _: d6 n
  587. STA $BA  v/ E! Y. r/ k7 @7 `, e/ |% F7 a
  588. LDA #$20
    ! s9 c& Q3 m1 `/ G3 `2 h( ?
  589. STA $BB
      U7 @: b) a2 Y2 @0 t

  590. 0 Z. r" @% U. _
  591. * t* j1 S2 W: @
  592. JSR WEA
    # v. h- c/ Z2 D
  593. LDX #$00                ;武器ppu写入, P# f7 Q4 W- l& d: Z7 b7 h% b
  594. LDA $AB5 [$ N) Q. z  o+ g( z
  595. STA $B9" j7 v% N7 C. o& k% A! z- r
  596. LDA #$B3
    ; T' e& R/ I$ c" k8 Y) b; H
  597. STA $BA
    & Z. D( h+ \# P' i! q
  598. LDA #$205 X% N  ]' ]1 o9 X
  599. STA $BB; J- h& f6 x8 `* z4 r1 m7 a$ w2 j
  600. ( C# M, F& y+ d# ?! G
  601. 3 N3 w: @% p% ^% O
  602. JSR WEA: @8 b3 D, w* ]0 D' n/ q

  603. $ \' }$ ]# K# x2 ^9 q1 x
  604. LDX #$00
    ! i  e+ {/ f/ Y6 }( @
  605. LDA #$E4% Y9 W/ G% n, ~5 L7 m8 i! o- _- B
  606. STA $BA4 w4 A2 `" i4 d
  607. LDA #$20
    * P$ j. z- ?, f9 j+ t0 H/ P' s2 W0 i
  608. STA $BB
    1 b0 N/ q- ?* X: Y

  609. ) g2 N; r) F# s" }* N
  610. $ B( G; Y& [+ \! x/ D4 C/ @
  611. LDA $32  V9 U- u' G+ _8 Z% p! v
  612. JSR PLAYERLIFE- ?6 Z' n9 N; j3 e2 v
  613. * e$ }  m  R& X* \" F% X( m
  614. LDX #$00
    % \* C* ?8 J" e& ]5 W
  615. LDA #$F3  M. Y! }" \( Z% r# Q
  616. STA $BA
    , m7 _5 O- Q  E9 @
  617. LDA #$20
    8 c5 q# q7 d5 c  @3 d( ]
  618. STA $BB
    / B' U) H- I+ a: f# {2 j* l  J

  619. " U6 W; c* a5 q! K; u* C5 P
  620. 7 q8 v& b3 f. H7 L- y- Z3 y. G
  621. LDA $332 {1 f. x# N; y4 g4 ~8 W. {' ]
  622. JSR PLAYERLIFE
    * t1 w2 B9 \, T

  623. , c5 n# J1 q8 |* T
  624. / }2 e4 h9 c' H* l4 W: S0 ~. E
  625. JSR PLAYER_01_PPU
    & H; @& o- r8 q
  626. JSR PLAYER_02_PPU
    ( Z, p; M: ^$ ~* b) ]
  627. , h7 N% F2 @$ ]# H; G& |: d6 J
  628. : ?$ V2 V$ X2 U! H: M* q6 Z9 a7 O
  629. JSR PAGE_PPU
    . G0 s0 n1 r/ C' r9 F6 p; ^
  630. JSR PAGESELECT( Y; J* E+ B# \/ {: Q
  631. ( D  C1 ?: j5 c  k2 x* \
  632. 8 l1 z0 ?3 G0 r2 q

  633. 6 Q* g. C1 K. A6 `" c! C. }
  634. 6 F# J  o( r: H/ w5 Q# _# L

  635. ; p1 d2 U- e4 U8 {. r6 N
  636. 9 d% n+ h8 N/ {, C! z* M2 G/ ?
  637. * l. {* b- i( w: ^2 G* Q$ _) x
  638.   y6 b5 i( h+ }1 H
  639. 0 T% H2 a" \. E$ u

  640. 0 _* ~- n+ y- A( L1 x& g
  641. ' f7 m# s% Q2 M# l7 _8 ~

  642. ) R, r! s. O9 ^

  643. 7 `1 _0 B8 Y$ y6 S: i! X* Z# `; E2 a
  644. PLAPRO:                ;恢复现场% N  J: }: c/ e" @9 c
  645. PLA' G( d5 P# m# S
  646. STA $B8
    ' X" P! E- f, {! W
  647. PLA
    - S7 n) @; l$ |9 A; }/ y, _
  648. STA $B9* s- e) z9 {0 z& o. [% A; }$ H3 ^
  649. PLA
    . B2 V4 ]6 Z4 I2 p& M0 {5 J
  650. STA $BA
    3 r2 b: F5 ?* k0 B! l$ x
  651. PLA* d# e5 v, \; c0 U4 o. {8 F# O
  652. STA $BB9 ?7 y7 q  D+ l# }) O
  653. PLA% T1 `0 a6 \, f* o, L
  654. STA $BC( j* ~7 u1 u7 E7 @! w# d
  655. PLA
    * ?7 G8 i9 l% d) ?8 A5 E, @, ~- [
  656. STA $BD- z$ t2 f2 G9 a
  657. FREERTS:% O# g" E. @# D/ l8 O9 B. `
  658. RTS* ^+ H4 c6 w3 a, N% W- l
  659. + J) H* Y/ T3 X; r: }' K
  660. INVINC_STRING:                        ;invincible
    7 k: _0 I. |) {9 N7 t6 K3 d$ V
  661. .BYTE $93,$98,$A0,$93,$98,$8D,$80% K/ y: t( l/ p$ M6 c- L5 a4 v
  662. % M$ s/ P& a: T- T5 V! B2 v  E& U, l
  663. INVINC_PPU:
    # Z4 t0 ^! B. j4 r& D
  664. LDX #$00
    & j: ]9 E9 C3 G7 r
  665. LDA #$62' T5 m3 n" \/ d8 ?' ~! f
  666. STA $BA
    ( q: o5 F( y6 {  D! i
  667. LDA #$21# H/ E! s& O- l9 W, h7 T' i8 X+ e
  668. STA $BB5 ~6 W4 z( _2 M! l9 ]
  669. 8 u# z* B4 _- P. O

  670. & d( ?8 B1 F& S1 i: u' F
  671. JSR UP_PPU
    ; _  Q, t! E% L/ l7 V- p
  672. JSR INVINC_WRITE# U, W2 P$ a7 @! [. E  ~9 q
  673. LDX #$00# b1 d4 w# z; p: \. C/ b" x
  674. LDA $07A0- [6 m9 d  C( I! I5 {: g
  675. AND #$013 S9 ~& C) Z! w4 Q0 f1 i
  676. JSR ON_OFF_PPU! S3 b: `! j  b7 x, N+ ?2 u
  677. LDX #$00( P* H: D6 H  [
  678. LDA #$713 O: d3 b, Z  C' [. a8 A3 S
  679. STA $BA2 W/ _. I" |, K2 A! W. ^
  680. LDA #$21* i; R% e) _3 x) R( B& z1 b
  681. STA $BB
    , A# I1 U" v# ]* p$ d% t, ?

  682. , s$ p+ d. U1 B4 T! u8 T2 O7 a
  683. / d5 M9 Y6 N3 u+ {7 X/ o
  684. JSR UP_PPU! Y4 ?; l" v: Z! e0 E# @/ n( X
  685. JSR INVINC_WRITE
    6 o4 S* F5 ^( ?# _9 @8 W: z
  686. LDX #$00
    " v( C6 m7 E& Z3 r
  687. LDA $07A12 q& c; j8 W, T# W3 r1 M, p
  688. AND #$019 m% n. i. P' R* l, z
  689. JSR ON_OFF_PPU) N5 Y9 B' R& Z9 g, M1 W- L
  690. RTS9 t. w% T; t  `/ @" b

  691. ) N' C$ Q  V' P! i
  692. INVINC_WRITE:$ n7 g' q% b& m) f6 M5 ^
  693. LDX #$00: ]- m  d- a7 I9 Y
  694. INWRITE:
    % Q% v3 \$ f! h# U
  695. JSR PPUADDR_PROCESS0 P  y6 v" p& l4 f) v9 v% J+ f% A
  696. LDA INVINC_STRING,X4 w2 J6 O8 N) s+ {. D$ w+ I' P
  697. STA $2007
    & ^) Z- c# Y8 l8 Y
  698. LDA #$00
    $ ~. ]0 w* |1 ^. l
  699. STA $2000
    - M9 x( a1 t- e1 n
  700. INC $BA
    5 E* y( C$ C$ a* W+ a( j
  701. INX
    , }9 v) ~9 I& b: D# l$ f' u
  702. CPX #$07% A/ G) O3 W+ O' C6 B" X
  703. BCC INWRITE
    / G( L% X" h6 }& _
  704. RTS
    5 W! S' F1 X7 Z. k; p3 ?0 p
  705. " B9 M- ]; w+ l9 W; v0 [
  706. ON_STRING:; {; _2 l$ M( O8 J9 L
  707. .BYTE $99,$98,$80
    $ h3 e+ ~  D7 t# S& C7 Y

  708. / [2 x0 d, O5 S1 H; t4 t( {
  709. OFF_STRING:
    / k, X% u' T7 e6 i
  710. .BYTE $99,$90,$90+ O- X8 e3 E$ R) k; Z

  711. . E0 S+ z9 T- W' ~
  712. ON_OFF_PPU:  W: A# m5 ]+ _
  713. BEQ OFFWR
    ! I9 T5 R  t2 [$ q( H. e
  714. ONWR:- k0 f# a) o3 V7 I! h- p7 v
  715. JSR PPUADDR_PROCESS
    0 g9 ]( I  u/ C# L. `% B) h
  716. LDA ON_STRING,X
    9 m* C& |/ y  J' V/ |3 q$ `8 O+ k
  717. STA $2007
    - @8 p- I7 U: c; P1 q# u3 F& U
  718. INC $BA
    ! M* K) z% J; p# ^# I8 F
  719. INX$ H2 a# r+ _3 B% C
  720. CPX #$032 }) l  n6 d2 G8 n& j5 p
  721. BCC ONWR& I" i6 K8 `1 [: N7 S
  722. RTS$ a' z% d& }- ^" n
  723. OFFWR:- x4 p& h- `2 |2 C/ T4 U  P
  724. JSR PPUADDR_PROCESS
    # }, g9 ?6 {0 U3 j, m% m3 E
  725. LDA OFF_STRING,X
    9 `; q! c9 K9 i) g0 H: w
  726. STA $2007
    4 |/ E+ M1 E- N! M' X9 t9 p9 S! D
  727. INC $BA5 G& t0 I7 N! U* I( _( ~
  728. INX1 w. n. T9 C* g. ^1 k! e2 n
  729. CPX #$03. @% o* r+ f' e+ D$ z  n4 x. B
  730. BCC OFFWR5 ?2 W7 I( `1 T9 M. N$ f4 t) S
  731. RTS$ w8 \3 j* ^, Z# {% T7 K+ ]

  732. ! Q1 Z, c. d$ y  ~4 K4 C
  733. LIFELC15_STRING:7 X5 E: w% g5 @* ~0 D$ B) ~7 w
  734. .BYTE $96,$93,$90,$8F,$82,$86,$80
    ; N/ o0 c. X' I9 y$ P& ~! h
  735. " N& w9 \1 N1 n5 l& R
  736. LIFELC15_WRITE:% C' X' x5 ^  A  e
  737. LDX #$00, n( ^3 P2 S3 I) t' H6 I
  738. LIFELC15:# G2 @5 Q; |" z% @; z  t7 Z+ R
  739. JSR PPUADDR_PROCESS, X* t7 h( T* C1 Z% D
  740. LDA LIFELC15_STRING,X
    - R% h% O7 D( ]- W1 i
  741. STA $2007- r! I2 K% @# W- ]  b/ }
  742. LDA #$00. g  ~! B+ r9 {* _8 |, e) {
  743. STA $2000
    4 ^. U+ I6 z" }
  744. INC $BA8 d9 a! G% t) w' F! k
  745. INX
    2 L; R  Y$ Q2 |- y% w' E
  746. CPX #$07
    % _+ L( r; v* W7 t$ M7 Z6 B. {# H6 T
  747. BCC LIFELC15( c) n- R+ H! A/ d
  748. RTS
    1 ]: E$ v( d' G, V
  749. & T5 d( i/ W$ c. v* V
  750. LIFELC15_PPU:
    ( ?2 q8 |7 C7 ^7 X( E5 K  }4 H6 d
  751. LDX #$00" x$ R$ n1 R1 I- W
  752. LDA #$A2
    1 J8 u* }' ^$ M# t
  753. STA $BA
    ! A  @$ w# A# p% o
  754. LDA #$21/ Y& }4 R0 K+ s0 B
  755. STA $BB
    * i& r& t2 s$ N1 n" @% U* c; l
  756. JSR DN_PPU% ^9 W$ B* G/ v; L. s
  757. JSR LIFELC15_WRITE* C! t$ f* z4 k# K5 z% b; @
  758. LDX #$00) D; q# H  Q1 k  W6 R  `; Q$ Y3 e
  759. LDA $07A0
    - e0 A- Y( k3 V" X
  760. AND #$02
    ! z8 N9 q  v4 P
  761. JSR ON_OFF_PPU+ U8 y8 `9 e! X6 O( I* K
  762. LDX #$00
    0 |7 P' s  x% O; |( _" ^  M
  763. LDA #$B1
    6 {- G# L; j2 u" b; @: a2 l
  764. STA $BA  T! B4 D# W* B+ r* _
  765. LDA #$21
    1 [& a" J4 ~" J/ Q
  766. STA $BB
    ' Q, L# q% B0 P
  767. JSR DN_PPU6 w) q  Z, y8 L1 j7 q
  768. JSR LIFELC15_WRITE
    # u; ^! S; a. _' K; E8 \) A8 ]7 D
  769. LDX #$00# ~# y+ j0 h" o( ^% M3 {
  770. LDA $07A1
    . p/ g* i" @( d9 u8 k
  771. AND #$02
    3 u0 S) S  d% O, }
  772. JSR ON_OFF_PPU+ U7 Y4 s8 m; y# L$ C2 f
  773. RTS
    - |% A& {* g* n' S3 L2 I2 D3 x
  774. 4 E- l9 q0 s) f! }6 n
  775. DOUCON_STRING:' D7 A1 Y1 U7 ^6 }# J4 I5 L+ {* b
  776. .BYTE $8E,$99,$9F,$8D,$99,$98,$80; I9 a' d" y0 j, E# `

  777. 8 Q3 ^: u& q! T3 u5 ?! F' A0 R) w0 s
  778. DOUCON_WRITE:' B& O& v, m0 @
  779. LDX #$00
    1 I$ c. T; q$ k, e$ S0 N. C
  780. DOUCON:) W$ {2 v: N+ f1 D! s
  781. JSR PPUADDR_PROCESS) r4 g3 D0 f) @+ v6 P
  782. LDA DOUCON_STRING,X
    ( ^! D$ ?: Z" i4 \/ {4 x
  783. STA $2007: F& v( S$ [6 x# r$ @6 I0 _
  784. LDA #$00
    % N" }( x8 O3 ~( m
  785. STA $2000
    $ H  |( v1 J" j* N$ q/ Z3 Z
  786. INC $BA
    3 N8 }" x7 J; C/ y; L
  787. INX* n& P1 q1 M$ a1 K- u
  788. CPX #$07
    ; I" K8 {; C  |3 @1 y
  789. BCC DOUCON7 t  Q  f  z! ]/ v8 r+ m2 P2 x
  790. RTS/ |2 q1 C- E8 R+ u( h& G# j( G
  791. 8 |* J2 t# p2 i' Y( k5 `3 \5 s6 `
  792. DOUCON_PPU:! u2 f6 ~9 A, O8 }# [
  793. LDX #$00
    5 Q% r! x- V6 o4 K7 {- u
  794. LDA #$E2: ~% w; ]+ F5 W5 n/ Y7 m4 n( t* [
  795. STA $BA2 O2 H. m/ e/ X# O2 A- x5 m
  796. LDA #$21/ F! p( G& I! n3 ]  \$ I
  797. STA $BB
    " L4 l5 N& x5 k9 p/ g5 J3 [
  798. JSR LF_PPU: T" ]/ g9 k! M& d
  799. JSR DOUCON_WRITE7 ]: y# D2 w/ F+ Y5 V
  800. LDX #$00
    2 R6 `% i8 x$ b# ~- T
  801. LDA $07A0' \: e3 w- f, P9 N. T7 ]
  802. AND #$04% d& r4 T# r/ @  s, y
  803. JSR ON_OFF_PPU
    ' P4 E8 n8 K* `
  804. LDX #$004 n* G8 L) n7 s
  805. LDA #$F1
    % E7 k  w6 X" b: [! [  f
  806. STA $BA7 S1 P: S+ b9 x5 x; V. z$ H$ g
  807. LDA #$21
    + q7 ~3 y% e1 w) [7 n9 O
  808. STA $BB
    & v: M, v& E) j" Q* _! G+ i' b
  809. JSR LF_PPU9 n2 b4 k! Y$ x* t7 ]0 X( f
  810. JSR DOUCON_WRITE  i9 ^* T8 x# M  C: M) N# j( Y/ X
  811. LDX #$008 o- l. g. h' ?) `6 }
  812. LDA $07A10 \0 k* t5 Q; w0 Z! ~$ p. V5 }8 q
  813. AND #$04
    & Z# w) C# d0 ?) h7 a  {
  814. JSR ON_OFF_PPU
    " {7 M/ {  T. ~0 Y" T
  815. RTS! S* w1 I- w& d! U. |
  816. 5 V+ F5 ?0 L5 R
  817. LIFELOW_STRING:% H1 Z4 Y- u5 w  K$ a8 P( R
  818. .BYTE $96,$93,$90,$96,$99,$A1,$80
    - O: N( l; o# t
  819. & _4 B9 i3 o& _, E- Q( w
  820. LIFELOW_WRITE:" O1 N% T! [$ i2 e( ~2 i
  821. LDX #$00
    8 S% P# ]7 \' _1 C3 ]) G
  822. LIFELOW:/ M. V/ u6 l8 N2 D! x1 g
  823. JSR PPUADDR_PROCESS
    8 h/ L: m5 x7 p
  824. LDA LIFELOW_STRING,X* u6 W8 r/ s4 g
  825. STA $20078 {* ~$ N" X9 _7 P* K5 U% \
  826. LDA #$00, A$ s8 g7 d1 P7 N' G: i
  827. STA $20005 R6 f0 e; ]0 `6 J
  828. INC $BA
    : e+ C9 I6 @9 v& f
  829. INX
    6 @" n7 l0 c; A! F! w6 s& f
  830. CPX #$07, O* f& G( H6 ?: V
  831. BCC LIFELOW
    " s5 _( s- P  }. n3 D& z; D
  832. RTS
    : F: |9 o, @( u5 u

  833.   N+ e. I& ^9 L$ V- V
  834. LIFELOW_PPU:
    0 g0 d! o/ d; |* Y5 @( {" Q
  835. LDX #$00( r2 Z" J6 W7 D6 ^
  836. LDA #$22
    2 p$ B; C) Q+ a$ U  i
  837. STA $BA  ]/ S% a+ j. g8 r$ ^
  838. LDA #$22: ]: C1 o* g6 C* y
  839. STA $BB: Z0 i- z" u3 z' g

  840. 2 O/ }. _  a* {, i% W* C" _

  841. ; n0 S: B$ \( p
  842. JSR RG_PPU
    9 ^8 j( t* s. b. \9 w5 I6 @+ C
  843. JSR LIFELOW_WRITE
    3 q, f  D; w$ P5 C5 u& _3 G
  844. LDX #$00
    $ e$ s+ j" N+ Z% x: s  S0 H
  845. LDA $07A0! S- g7 |) v2 Q. X1 X4 t9 K) s
  846. AND #$08  O( l7 [' Q8 x
  847. JSR ON_OFF_PPU
    ! H9 B9 {& S( t* Q; d
  848. LDX #$006 N, f' h, K9 T2 n
  849. LDA #$31
    " V7 f) a2 |" Z. y( @& K1 o, X
  850. STA $BA
    : C' u3 }( [/ s
  851. LDA #$22
    ( n& z0 \, v7 ?, t. f9 x+ L
  852. STA $BB) ]6 @) I1 Q2 }
  853. ) t" H* B$ K# L# t
  854. ( Z$ m; l+ Z  \6 Z& n
  855. JSR RG_PPU
    $ G! x9 p! e% D( C
  856. JSR LIFELOW_WRITE
    # @2 \( Q. ?8 K; [+ {
  857. LDX #$000 p- W& J- _& J: S2 S
  858. LDA $07A1- L' i& x) J+ p- d1 U
  859. AND #$08
    ( T' u2 Y! r1 r! B" [' y8 @9 M
  860. JSR ON_OFF_PPU1 p. ]5 M; X7 u* I# e6 F
  861. RTS
    $ h! S4 A' J4 I/ V0 E2 X  @

  862. 5 ]3 R4 d6 d& L3 C# L0 k4 L
  863. KILLON_STRING:
    6 f, ?' e0 q. K
  864. .BYTE $95,$93,$96,$96,$99,$98,$80) ~9 e% p) ^- J; u6 R& Q& d

  865. % Z% H, n3 E7 v0 ^
  866. KILLON_WRITE:
    ( ~3 ]. H% {/ y0 Y* h
  867. LDX #$00
    ' R, l2 Y& s) E: s" ]# c
  868. KILLON:
    7 `* G& Q+ }  R+ z( _
  869. JSR PPUADDR_PROCESS
    , g/ d; P& X# e- V* H
  870. LDA KILLON_STRING,X/ C# F6 o, K% [6 J9 d2 \
  871. STA $2007
    - i  W  @- f9 c
  872. LDA #$00
    # T$ F- k! G$ C$ V0 b' ]! p( E* P
  873. STA $2000
    * j0 t9 t0 y/ W- a: Z
  874. INC $BA
    , {* r/ O7 x, ?, L/ J
  875. INX+ J& b& n4 P+ q0 ^( m' s- v
  876. CPX #$07
    # U# A% b! y: R. M
  877. BCC KILLON
    8 |' A2 D5 q+ r7 }6 F
  878. RTS
    # Y5 G# C$ {' t; B" D6 ~

  879. 2 x) e- S1 J  L; o$ O
  880. KILLON_PPU:* H. S  g; b+ V/ L  q" b; N9 p/ J
  881. LDX #$009 B& A' D4 V) R% f' b) ^* k
  882. LDA #$62
    8 _0 y2 P( \4 T% F. k
  883. STA $BA5 I6 P# y) j" X0 F. c
  884. LDA #$22
    7 N  b: d7 Q1 h- w  p! W
  885. STA $BB
    2 S' E* b8 s- k6 s2 H

  886. 8 E: D: @: ^1 W4 {- x5 n
  887. & V3 V; y' V( I3 R
  888. JSR B_PPU/ h1 N4 E% Q- l- u5 ]! @$ U7 ]
  889. JSR KILLON_WRITE
    3 e$ c* y7 U- `) L' @% W: s. A
  890. LDX #$00# I& b2 B- W* ^  C8 e0 d
  891. LDA $07A0) A3 P7 H" `& P9 q1 M
  892. AND #$10
    2 V/ d6 I. F' O7 ?2 {) `+ [. M
  893. JSR ON_OFF_PPU* ^9 Q: `9 S- n7 l% {
  894. LDX #$00( i2 g' i7 g7 E, f( j
  895. LDA #$718 a8 X# F2 A) u; T" p0 u8 B& K$ Q' D, r
  896. STA $BA1 v, w) W9 A( G% |' t
  897. LDA #$22& d5 Y" Y' l, n8 z
  898. STA $BB
    + m5 s0 j/ z+ x9 q6 F9 j' w* R4 D
  899.   |7 r4 m' A9 \$ R! [7 ^; E3 [1 d

  900. & J1 S$ u0 ?# |" g1 ^$ {
  901. JSR B_PPU
    . B& d: w& X: w; T; h8 a+ P1 G" H
  902. JSR KILLON_WRITE
    - c) d2 g1 u% v( u, s
  903. LDX #$00. y% h- Y" `$ d3 D! X
  904. LDA $07A1& h  u1 b9 k: m! h" u$ ^
  905. AND #$10
    2 o, d' d7 a5 k% x( o8 m4 ]* Y
  906. JSR ON_OFF_PPU6 A6 A. M2 X# T: k& M
  907. RTS
    6 i. @) b0 o. A3 U  d
  908. ; d7 S/ e! c* R
  909. SKYFLY_STRING:# D' T! I  `7 R* N
  910. .BYTE $9D,$95,$A3,$90,$96,$A3,$80; y6 l, Z9 v# Q# @% Z. F" n
  911. 0 Z5 a7 r  g, V5 ^# |' b$ B+ L9 G( v
  912. SKYFLY_WRITE:6 T8 E3 c, i: J
  913. LDX #$00% v% ^+ x" E4 M
  914. SKYFLY:
    & C' I! i; u. ]  T5 {$ _
  915. JSR PPUADDR_PROCESS
    4 `% \2 T7 F$ ^
  916. LDA SKYFLY_STRING,X1 V! W; v. c) I. @
  917. STA $2007
    2 W# f6 Y0 [6 Q; J" A& |: T) I
  918. LDA #$007 ~0 _/ k: @8 l5 U/ C3 u
  919. STA $2000; \1 s/ H2 l! `# h
  920. INC $BA8 n0 V6 x, Z! @, W1 k! N: \
  921. INX
    % N) z$ V7 R1 _# F- V
  922. CPX #$073 [4 Q7 j( F) [# ~
  923. BCC SKYFLY
    ) [' H2 M/ f- {, t
  924. RTS  F9 ^1 I6 B/ X/ F- _0 t

  925. . U- z+ P# \5 V9 M! \
  926. SKYFLY_PPU:
    5 p: g0 `, w3 \" F
  927. LDX #$00  d% Z, U' I' D( m+ [+ a  C+ K
  928. LDA #$A2! [1 f0 |: @1 e' y, f& H
  929. STA $BA9 u# H! @$ p. R/ ^1 ^
  930. LDA #$22
    + t1 x6 r) Y( z: Q# |" c1 z  I
  931. STA $BB; C1 V! ?6 c$ r) g/ m# U

  932. 1 l2 N1 }8 |) A

  933. * H1 f7 ~9 h. C: c. J  z
  934. JSR A_PPU
    # K/ j! U6 Z; h/ x
  935. JSR SKYFLY_WRITE
    8 h' r. V, l1 |# y7 z/ ]" t. v" ?3 g
  936. LDX #$00& j* m& u& I" }, q. D
  937. LDA $07A0/ t1 O9 W/ D* R4 R5 m3 N
  938. AND #$20
    2 v3 [  [) J& M5 `# o
  939. JSR ON_OFF_PPU
    ' `3 V* J/ m8 m; y; A" X; ^- s
  940. LDX #$00) p1 c" S: a; ~- |3 w* p
  941. LDA #$B1
    : e3 l2 H. j& t& i7 K& ^
  942. STA $BA
    ) L. i8 O2 ]3 |) h7 T# @. V2 W' Q
  943. LDA #$22; x, X) O6 O( ]0 N5 {0 s( S: a
  944. STA $BB. |) A, K+ j( _1 X" k* G. ^8 w  U
  945. 3 f# Y, z9 s0 t, L: m

  946. 2 i9 ~- G! u  V& D8 O7 e
  947. JSR A_PPU/ c8 H7 Y: S) N5 u" y5 N+ A! F
  948. JSR SKYFLY_WRITE( W& J7 B' o/ C3 c) U1 c9 F8 v
  949. LDX #$00
    5 N6 ?& M& Q( A0 B! T. g
  950. LDA $07A1- _1 M: W" @+ g8 a% m# ?( Y
  951. AND #$20+ }* r; V2 |$ h
  952. JSR ON_OFF_PPU
    7 Y# _/ f/ C) b6 X# h
  953. RTS( K4 c  X7 D  v% y& Y
  954. : D+ k7 N  s" M
  955. BULADD_STRING:
    + b" l7 ^& ]! f# R; s
  956. .BYTE $8C,$9F,$96,$8B,$8E,$8E,$800 H# a- f/ p5 I4 W5 c: a

  957. 4 c& V% i' y2 `7 H5 z8 x& i4 w
  958. BULADD_WRITE:) P: d& F, |2 m. M! G) _6 v' W
  959. LDX #$00
    : Z7 |3 [0 E2 b1 m
  960. BULADD:
    / \6 n! t! w* I! w  }+ m2 f
  961. JSR PPUADDR_PROCESS. @! x! B' I% a$ S( {% B3 ~8 |& w
  962. LDA BULADD_STRING,X, o* j' |) K8 f
  963. STA $20073 n  Y( j$ P" |' t* t
  964. LDA #$007 x  v' b( e  q
  965. STA $2000
    # Q# L, J1 _9 f& i6 `
  966. INC $BA* \% G0 h( [! C" j2 o# O
  967. INX+ ]+ \* g. Z4 l( m$ o
  968. CPX #$07/ T, C% E) M  {% a  i' S' U
  969. BCC BULADD! V% p& e( n1 K. j$ a
  970. RTS! }5 D$ Y" W% W  j
  971. + Z- M) Y; b$ |3 {
  972. BULADD_PPU:" [2 t& w) f" q
  973. LDX #$00: T! [8 W1 S2 ^' g' c4 H
  974. LDA #$62
    0 k! O$ b0 y' y8 n8 ]/ x
  975. STA $BA* e3 G3 [( m  z/ ^# f  Q
  976. LDA #$211 e  _0 e9 |8 c" W6 P9 l& s
  977. STA $BB
    $ `$ a3 Q0 x. K

  978. 8 ^; o) W' j6 t: h: z

  979. ( V+ P; \/ b/ x4 b* _
  980. JSR UP_PPU
    & C+ O9 Y* }& \( @$ s
  981. JSR BULADD_WRITE
    ! ?7 O0 U' F, U$ G7 c* l
  982. LDX #$00
    3 Y9 I( f  e3 @2 C& i$ v2 Y
  983. LDA $07A2( q5 K! i3 {2 Z. v
  984. AND #$01
    6 w& @) @+ C3 w3 e+ I' T
  985. JSR ON_OFF_PPU) t1 U2 Y2 |6 K1 ^* I
  986. LDX #$00) L, G; e% {5 j$ b+ [' ?3 a
  987. LDA #$71
    / N5 z7 k: N8 E. ?
  988. STA $BA" ]3 R/ ?& n" K* t
  989. LDA #$215 G! p* F/ ^  E: `3 x  U" Y
  990. STA $BB
    6 m2 J' ^. `6 ~0 y

  991. ) n% F2 {4 j! a8 R6 v: F) }* t
  992. ! L, J5 a$ O; Q( k$ X
  993. JSR UP_PPU! S' t$ J, k/ Q1 i
  994. JSR BULADD_WRITE" w' C. x/ G  q
  995. LDX #$004 U, C& ^: A9 t* Y; J4 S. }
  996. LDA $07A3
    ' m; k( J2 d# Q0 s
  997. AND #$01# m3 B3 L, T' C7 T: x
  998. JSR ON_OFF_PPU9 @; m* Q# e+ y* e3 t
  999. RTS. a) E: f& i! Y) u; N8 k' T5 c

  1000. ! O, X. }5 Q0 K- O0 ^
  1001. MENU_PAGE_STRING:
    % }. n5 O; P% P' |4 R
  1002. .BYTE $97,$8F,$98,$9F,$80,$9A,$8B,$91,$8F,$80,$81% J9 M4 Z, M& H  v% Q
  1003. " ^# g! e" |6 q! \8 r. k
  1004. PAGE_PPU:# A5 p6 S! B. W3 p8 C
  1005. LDX #$00! k: }* z$ E! K$ |8 X
  1006. LDA #$0A
    7 V1 I  M; d  `9 z5 F, [$ E3 U
  1007. STA $BA! p* n+ o) I1 c, H2 C; {0 m5 A( w+ v
  1008. LDA #$23( q! l# ?' H* h
  1009. STA $BB8 S" |  ]4 l, u# i

  1010. 1 n& t! v" G6 u

  1011. . C& w, @- @$ E) g& Y
  1012. MENU_PAGE:
    * r) p- t: h7 ^) J: \2 p
  1013. JSR PPUADDR_PROCESS
    ( j% N' G1 l  p3 n$ x
  1014. LDA MENU_PAGE_STRING,X- r6 y9 Q" t5 o3 E) \
  1015. STA $20076 ~  k$ A7 Q$ x- s+ j- P4 C
  1016. LDA #$00
    ! A  _5 M) J% @' I. F
  1017. STA $2000
    6 G" n9 m3 R; G  j8 @; m
  1018. INC $BA# ^9 W+ G. O- G& M# W# \' c
  1019. INX
    ( a/ t# g( }! h- ], w8 p/ y
  1020. CPX #$0B
    $ R1 [  M/ }/ w0 s/ g, w
  1021. BCC MENU_PAGE
      e8 o# y# _# a% ]. T( z9 g, }
  1022. LDA $07AA% O; I& [9 u8 T" u9 Z# x" u
  1023. CLC: }7 q. {  F6 s- z+ E1 ]
  1024. ADC #$82
    1 P9 m& w, a: ]/ |, a5 Z! L
  1025. STA $2007
    7 Q+ }' z+ P2 f
  1026. LDA #$00
    7 z0 Y( h: q2 ]8 _- V" {8 u5 i
  1027. STA $2000& h% ?: g% x) I: w+ ^! u
  1028. RTS( ^8 g( @( x- W5 E# B

  1029. ' O) g) b5 J! E9 z( h; a
  1030. 3 G0 r' S* M, \) ~9 V
  1031. SKINGE_STRING:
    % c9 R- L8 p* t5 {! Z! Q
  1032. .BYTE $9D,$95,$93,$98,$91,$8F,$80! S4 u2 q2 E; A1 y8 p% Y

  1033. & w; R" G1 P4 I* W
  1034. SKINGE_WRITE:
    + z" _% E9 t0 L# K& z! @
  1035. LDX #$00
    9 ?& V; v, N, h* ?* \$ m
  1036. SKINGE:
    ( G8 P* o5 P0 W6 i; [
  1037. JSR PPUADDR_PROCESS
    $ ~# y6 z. X6 ?6 V0 S* z
  1038. LDA SKINGE_STRING,X
    8 B) ]4 G& y$ M! O% c
  1039. STA $2007
    ( L- ^& M1 `0 @) A+ \9 p8 Y
  1040. LDA #$00
    9 W+ ?1 l5 b6 N6 Z* C
  1041. STA $2000
    - Y! v- w+ R+ T4 B& \+ W5 U0 W0 L) y
  1042. INC $BA5 A0 _. k+ |( l
  1043. INX
    6 U, `  R5 `) B% ~2 j( w2 r- Q
  1044. CPX #$07
    ( Q* u# e) ?& ]+ O$ G
  1045. BCC SKINGE% J: X8 ^/ }! Z
  1046. RTS
    - G0 N8 j6 A7 d
  1047. ( K3 s6 Z7 Q; e) ^# V
  1048. SKINGE_PPU:+ A( K' ~( m& K( N+ l  f# C
  1049. LDX #$00
    ; M0 r. o- i" i( Y
  1050. LDA #$A2
    8 T6 c9 c4 o+ w3 Y% u. s
  1051. STA $BA5 U: ]+ |6 U1 s1 X
  1052. LDA #$215 `) t9 c; Q; @) F
  1053. STA $BB+ c- B  k& }( B; |. l% }$ A
  1054. 4 w# q% [" G' R$ ]4 p9 S
  1055. 6 C. o! q* T# z- P
  1056. JSR DN_PPU) F; ?- J/ v2 D! L6 W
  1057. JSR SKINGE_WRITE
    : K( P! I9 B( K' C% X  D
  1058. LDX #$00  |# S  t2 j2 ~
  1059. LDA $07A2
    - O, @$ Z1 x/ |
  1060. AND #$02' T) u4 T& q+ E% A5 ^$ h
  1061. JSR ON_OFF_PPU
    " A) `1 [$ y' k1 ]
  1062. LDX #$000 P2 h, X) B3 y8 Z5 I* {
  1063. LDA #$B1
    ) S# y+ s9 k+ z- s7 j
  1064. STA $BA. Q+ l2 Y# \7 b
  1065. LDA #$21- w9 k0 k3 y, _2 g* A5 s# b
  1066. STA $BB
    ! A$ _! p6 p0 p' e2 ?7 [% W
  1067. + o5 y% Q  d) g5 u( ^$ ]0 J! i
  1068. + z% d* U7 N; Z' R7 t9 L
  1069. JSR DN_PPU& d) f0 ^. ?: l: `& E( O
  1070. JSR SKINGE_WRITE0 y6 v5 q# |7 A# c
  1071. LDX #$00
    " L. H' b! h0 ?( ]
  1072. LDA $07A3
    ! E3 \6 e3 A! [, h. _0 H
  1073. AND #$02
    - q. Z. a+ V' S( l+ H0 `6 g
  1074. JSR ON_OFF_PPU
    % k1 F% X& c( b5 {3 T+ _
  1075. RTS
    * B$ j$ [& f2 Y$ Q* c

  1076. / b0 m, p5 {3 \' p: P
  1077. BULMIX_STRING:9 m( L/ G. w1 c9 B/ w
  1078. .BYTE $8C,$9F,$96,$97,$93,$A2,$809 S- \& p) Y9 f

  1079. 9 x' s. n6 R, o, v+ v- B  \
  1080. BULMIX_WRITE:9 t$ S: O( h- J6 \
  1081. LDX #$00
    9 P; A3 U. O- E  o8 B3 p
  1082. BULMIX:$ r6 B5 l, D& V/ r
  1083. JSR PPUADDR_PROCESS/ R( V& A1 ?, B9 F: N+ i( q
  1084. LDA BULMIX_STRING,X+ U! N9 D. [! c' k# U2 ~& h
  1085. STA $2007
    - ?2 l: w. U. Y% P* c/ D9 H; c
  1086. LDA #$00
    9 q! J4 b, C: p' b% N
  1087. STA $2000, n3 I7 O7 v6 r: H2 h2 J8 l8 K
  1088. INC $BA8 V4 b" p, Y; r- V  Z2 G2 ?4 p$ ~8 e
  1089. INX
    + ^% @: O1 [  x; Q5 k: @3 s: X4 _- Q/ F
  1090. CPX #$07/ e2 c3 k/ m" e6 x6 ?: W! U
  1091. BCC BULMIX
      h+ o% B+ e' O2 s7 y# M, f
  1092. RTS
    , M( h- q* c2 W" B2 S( a
  1093. ( g" z5 q1 F) T! ^
  1094. BULMIX_PPU:: m0 }2 {+ p6 `' |* g* D4 u4 C; f
  1095. LDX #$00
    $ B4 h& n- }; n' [* x, v! |
  1096. LDA #$E2
    % `* F" F+ q' m3 S# x; z
  1097. STA $BA$ D7 Y" @/ z" r* H. g
  1098. LDA #$21- W8 B$ v5 \4 ^1 L# j  z% A% h
  1099. STA $BB
    - ?# c4 E- L1 A: G  e$ ^

  1100. / k* `2 \5 e0 G1 T7 s  V) A6 W
  1101. - i: Z  _' {5 Z9 N5 o. J
  1102. JSR LF_PPU$ K- a/ _! X1 `2 [: J. I; t
  1103. JSR BULMIX_WRITE
    7 L* l4 v+ i1 n( d3 T. U) q
  1104. LDX #$00
    5 F, j1 _& R. m' V7 `3 k
  1105. LDA $07A28 V( Y! x3 _! e( Q
  1106. AND #$04
    9 Y5 H+ W$ m' k
  1107. JSR ON_OFF_PPU7 n" {2 n/ C/ t8 B. Q
  1108. LDX #$00
    1 W0 M% Z8 C" ~6 O0 [# t! e
  1109. LDA #$F1
    8 G7 R) D3 y# c
  1110. STA $BA
      b& ^/ E+ M8 k1 I( y6 [/ P
  1111. LDA #$219 ^3 W5 y2 x$ |
  1112. STA $BB
    : l* N5 `$ s! b" m: t) M
  1113. 2 @: v+ g+ B# Y) T& n1 h
  1114. 0 W2 D$ i( Q7 a+ u6 O% ^5 l
  1115. JSR LF_PPU
      Z( w, t0 t8 y
  1116. JSR BULMIX_WRITE* s( G7 x, p7 k, E
  1117. LDX #$00& \1 O) b! u7 K6 E& e
  1118. LDA $07A3* Q+ P3 k' T7 o( m+ E, k
  1119. AND #$04
    " a9 [4 C; H( {% W% x0 Y% P
  1120. JSR ON_OFF_PPU
      P- J7 H7 f  M3 t' O: e2 r+ x
  1121. RTS- |' R9 ]- N7 @2 j/ i4 M% \

  1122. , D; d! |! @+ i  c
  1123. ENELOC_STRING:
    7 ]2 g1 A. E* N7 q8 c: i8 k
  1124. .BYTE $8F,$98,$8F,$96,$99,$8D,$809 Y1 _1 Q! ]! |! U2 V9 t3 w' S

  1125. & e# z3 p  w" h
  1126. ENELOC_WRITE:$ B$ U3 B" m/ n' C  m, f8 c, \
  1127. LDX #$003 u3 I7 F. ?4 p* ^& e$ g; w* F* d' ?
  1128. ENELOC:" E' ]* ~3 A1 J& M' w
  1129. JSR PPUADDR_PROCESS
    5 m3 x# L" I# r$ C9 f5 [& t% T1 P
  1130. LDA ENELOC_STRING,X, d  G4 U1 B5 r4 k, m" C: D
  1131. STA $2007
    * d# B( J7 z) Y; \1 m; A: R
  1132. LDA #$00+ C& t1 I6 N/ E9 r( G$ _0 c
  1133. STA $2000
    ' h0 U. U* @- d1 d$ f1 o3 P8 S( _1 L
  1134. INC $BA7 n5 m1 N0 `3 @
  1135. INX9 H7 ]; g9 P) B+ U! l4 W: }$ m' ^
  1136. CPX #$07
    5 G+ K$ E' N, L" V& z
  1137. BCC ENELOC
    7 [, F, ?  `; R  X2 c, X/ U
  1138. RTS
    1 w* ^  [8 a" s
  1139. 6 J( I4 B5 O% F: {3 V+ m8 e2 C
  1140. ENELOC_PPU:# ?6 M2 ?0 ?& X: c& D
  1141. LDX #$00
    ) v3 \8 ~8 V9 c8 j
  1142. LDA #$22- u% C  S. D- Y  m
  1143. STA $BA: [. R, L+ v; k! \
  1144. LDA #$22: v, b8 j& ~' _) [
  1145. STA $BB
    / U+ f( _2 n2 _" N5 H/ e  H

  1146. ' ~% q' S1 B  i8 g' t% @% V+ C
  1147. , V/ Y' J! T3 L# a, W; n% v
  1148. JSR RG_PPU
    4 o' [# e' r! f6 b2 W- a
  1149. JSR ENELOC_WRITE( k2 ~0 s; Y* `8 K4 g% g
  1150. LDX #$00! p$ {9 F& E$ ]+ y- ~$ X
  1151. LDA $07A2
    / t: T6 `& f/ H7 x8 L$ y9 b' T
  1152. AND #$082 P! G# z5 |7 W" P% Z. v' r  ]
  1153. JSR ON_OFF_PPU
    & l0 n" Z  I8 Q, A* B7 l
  1154. LDX #$00
    % ~# Z  M' i4 t+ W& U
  1155. LDA #$31
    9 H# G& V2 V& q' ]" q
  1156. STA $BA
    # L+ q$ y7 ?8 k  ^1 M/ O: x' [
  1157. LDA #$22) b. @; Q7 v1 H) y6 d* e$ R9 H9 ^
  1158. STA $BB# b+ K. {$ A/ y  f( y. w7 K% h' _

  1159. ! ~1 _; y1 V" b5 A; k0 z# |

  1160. $ f! e5 K$ @. m5 p6 W) }/ T
  1161. JSR RG_PPU" ]8 g, b8 B" n$ A
  1162. JSR ENELOC_WRITE6 Q* @; O  r: q* U* J( z
  1163. LDX #$008 f7 B! t& y8 D% g( n, A3 L: [4 F
  1164. LDA $07A3" D, f! h1 T( P, g. i8 G7 z
  1165. AND #$08
    4 i( b; r. [; W1 R+ J
  1166. JSR ON_OFF_PPU
    % z1 A' S9 I9 c
  1167. RTS+ Y6 W' G4 P3 w  ~  ^: T. ^

  1168. # v. h6 v  z8 ?
  1169. FOCFUL_STRING:
    ; a2 }6 o8 J9 @
  1170. .BYTE $90,$99,$8D,$90,$9F,$96,$80
    1 y0 S, K" z+ L* _

  1171. 5 z. p) j( _9 p4 C- V, d1 N

  1172. 4 J8 H+ z3 s, e1 e# A
  1173. FOCFUL_WRITE:. [; c$ ]; b( H4 x* X- H8 j
  1174. LDX #$00
    ( c: H0 {* ^" C$ @3 G
  1175. FOCFUL:( P/ z8 P  c, b7 K. A1 Y
  1176. JSR PPUADDR_PROCESS7 V7 p; H1 i/ o  i& \( w; g1 [
  1177. LDA FOCFUL_STRING,X
    ) B8 R/ u8 y  U6 }( O# r6 ~# {4 d
  1178. STA $2007
    8 ?2 P8 p; s+ T9 r! v3 q* }. _
  1179. LDA #$00. P1 ^6 j4 V" _7 a) S5 e+ q8 L
  1180. STA $20006 F+ W  q* x; @1 a
  1181. INC $BA  a, ~) m9 ^. a' }0 s5 I
  1182. INX
    0 G* o. P/ T/ A
  1183. CPX #$07' t' Q7 c' [7 ?) F) Z
  1184. BCC FOCFUL
    - E# |! w% Z# u4 L, p' {$ B
  1185. RTS& U( _( ~1 O2 c; u- l6 T
  1186. : u+ C2 U/ b$ i9 }0 m( n
  1187. FOCFUL_PPU:4 q4 L# H1 Y: {+ P
  1188. LDX #$004 ?9 a( D( c$ b  p- ~9 k4 u4 Z
  1189. LDA #$62% y  N7 }4 @( H- H) f7 J/ o; j
  1190. STA $BA
    5 t  \& k9 ~# Y, l
  1191. LDA #$22: m: j* ^' \: `: [8 n
  1192. STA $BB8 O1 N9 J4 Q5 S0 Q; x
  1193. 0 C# d# X' ~% E9 Y  d3 v

  1194. 4 d/ i  m; q) R7 n* V
  1195. JSR B_PPU* l/ y* {0 i" w4 h& f; r* s7 [
  1196. JSR FOCFUL_WRITE
      [% @9 }3 a$ l; A) ^
  1197. LDX #$00
      ]8 h! t5 S' Z7 r$ C" T" S0 x
  1198. LDA $07A2
    ' O7 {  D$ u4 O1 L" h" U- T
  1199. AND #$10
    . S- H" K# Y+ z! c' Y- m
  1200. JSR ON_OFF_PPU
    0 K( q. |' x/ E& M2 r
  1201. LDX #$00/ z3 O) f' w3 l( o7 d1 n- v3 C
  1202. LDA #$71
    0 }+ S* Z, _( X1 x
  1203. STA $BA
    6 q) \1 X3 D0 {4 a4 C
  1204. LDA #$224 G7 I) b; O! X) o) o1 v# b
  1205. STA $BB$ y  v6 K" Q* o2 }2 l, _$ j

  1206. 0 m1 A. f. n, o, h6 X" n
  1207. + a6 ?6 d: X8 C- y/ [- G" R
  1208. JSR B_PPU
    - ?( L$ H9 o$ x. Z0 |7 G9 S
  1209. JSR FOCFUL_WRITE: J9 e5 i: D$ {: i4 c- `, x! Z: e' x
  1210. LDX #$00
    ) c6 @  b1 y# [" M" U- g- i
  1211. LDA $07A37 g* G  r5 z6 J% `' C
  1212. AND #$10
    + Q3 Q, j: b1 E" c- A
  1213. JSR ON_OFF_PPU
    9 Y* }, ]7 [2 h
  1214. RTS
    + N; U. j6 {* [# n" m* F! s
  1215. 6 b0 T* C% A8 w7 Z
  1216. BULCON_STRING:" Y- H) k! c* z$ F7 v
  1217. .BYTE $8C,$9F,$96,$8D,$99,$98,$80
    5 V. h4 o7 E. u# _# Q5 A' Y

  1218. ( N& T: W& w( a; e7 k1 y0 k- `4 H* Y) J
  1219. + ~3 Y' ~4 g( k$ e
  1220. BULCON_WRITE:% k- [# `- f3 ~1 k
  1221. LDX #$00
    - f3 w5 y/ ~( h( {( S1 f, ]
  1222. BULCON:
    ; w4 E& j! c" x5 _+ S5 s
  1223. JSR PPUADDR_PROCESS. v! d. v, ~* ^' X5 |( d# ?
  1224. LDA BULCON_STRING,X2 H7 i" [! t, y
  1225. STA $2007
    ! N9 X5 u9 p( {% Q6 s
  1226. LDA #$00
    4 L, T4 l: @/ @
  1227. STA $20004 k, g( f( V. J2 F# v' \/ E9 [" T& m5 D. D' z
  1228. INC $BA
    0 @/ {" A' D4 Z0 B) c
  1229. INX' Z# H4 d4 U$ E3 {
  1230. CPX #$07
      Q( x$ Y) \! R* C+ P$ I$ c* Z
  1231. BCC BULCON
    # K9 g( Z! V! n/ t
  1232. RTS( a- L- e  \3 A1 O7 X  U' `: j
  1233. - y  @9 J1 U8 E' ?+ r
  1234. BULCON_PPU:. s4 g: M  y: N  K+ B
  1235. LDX #$00) w$ C0 H9 J8 u2 Z1 F6 j
  1236. LDA #$62
    , o- E4 p+ t) v1 d1 q2 ~
  1237. STA $BA
    : `3 i5 q8 c- y
  1238. LDA #$21$ }, C( s1 z' H; H* ^8 N
  1239. STA $BB% w% g) C+ |9 @* @

  1240. 9 ?: B, S/ i6 S4 N( X

  1241. + f( V5 U' e" I+ d8 f. C5 R1 h
  1242. JSR UP_PPU( K1 r, `) j8 I, x. s
  1243. JSR BULCON_WRITE
    ; Y/ N6 d4 u  e0 R% U
  1244. LDX #$00
    & j9 \2 T: J* [3 x. [$ m: B' q7 I
  1245. LDA $07A4! B) W* i9 p; H0 X1 ^2 C: R
  1246. AND #$08$ E$ \9 z$ s9 q8 Z
  1247. JSR ON_OFF_PPU! s$ c) Z: Y9 `  d) m6 P$ R
  1248. LDX #$00- ?3 u6 p, s0 t3 {
  1249. LDA #$71% X7 b/ ~, {/ k- q9 W. v1 V
  1250. STA $BA, v8 {; d5 X+ ?; G1 d- X/ u( ^# J
  1251. LDA #$21( e  a% F3 x1 g" X7 n) F
  1252. STA $BB7 m9 K8 ?' H- k+ y4 B1 Y

  1253. , p" }* i1 [5 s2 P) T

  1254. . F7 y8 B/ X  G( D  T
  1255. JSR UP_PPU
    9 f0 Y1 S1 e( o
  1256. JSR BULCON_WRITE
    / ^, g. l: d2 P9 l8 m6 U+ t
  1257. LDX #$00
    6 M& u0 r8 P6 P& M
  1258. LDA $07A5
    2 k( H7 p- N9 f$ L
  1259. AND #$08
    ( k' D" r% k; P) Z3 X' u
  1260. JSR ON_OFF_PPU9 \8 L$ C; w2 x$ n" C
  1261. RTS
    / f4 D3 F# S4 X

  1262. , I# V: E6 D- V7 ?: X8 [4 Z& \
  1263. SPEBUL_STRING:
    $ F( I% v, ?- t. X* v# C2 k
  1264. .BYTE $9D,$9A,$8F,$8C,$9F,$96,$80
    : K9 ?" [9 s# o! H3 G
  1265. - T$ B6 k$ C& X; |
  1266. & u  o3 e4 F/ M* P9 F) m8 H
  1267. SPEBUL_WRITE:) `* P2 V$ v+ K7 c2 T' v
  1268. LDX #$00) ?* G* D2 t8 V! h1 X0 n' u  W( M
  1269. SPEBUL:
    8 W2 B: x/ Q" ?- n) z3 z/ `% d1 J
  1270. JSR PPUADDR_PROCESS  K7 }5 D8 l4 s
  1271. LDA SPEBUL_STRING,X
    1 c# ?) C4 Q- U/ ~8 a
  1272. STA $2007) _3 J9 _/ p' t+ L* A; M. T
  1273. LDA #$000 F0 Z9 O* q  \$ E# x7 E
  1274. STA $2000
      A2 `1 {4 ?* T
  1275. INC $BA. n7 X2 i# @" C
  1276. INX
    ( l# I/ q' E3 x+ ]" C, w
  1277. CPX #$07
    ) w7 q/ r# z8 i* A" `2 H
  1278. BCC SPEBUL
    ) E# [% Z6 u" o  g9 ]1 R
  1279. RTS
    - ]  {  T3 {: r
  1280. # t% V  x, @, p
  1281. SPEBUL_PPU:' Z, P0 g5 g) y- A
  1282. LDX #$00
    * D# C, S  [3 F" ~! R7 {
  1283. LDA #$A2
    9 h: {0 l8 t6 G$ a4 O! s
  1284. STA $BA# c. K1 O  c# j* p8 G9 j& m
  1285. LDA #$21
    / Z$ A/ V  w/ o+ s2 z- T( E
  1286. STA $BB
    0 o' Z1 G5 P9 d
  1287. 3 N% h- D3 V8 y# x/ T
  1288. 1 c$ n  J  j6 m+ Y
  1289. JSR DN_PPU
    2 t# G$ x6 F! U/ x6 ]( i( y
  1290. JSR SPEBUL_WRITE
    ' |+ k0 E3 Q% n- Z; F
  1291. LDX #$00% {1 R$ y1 r+ i
  1292. LDA $07A49 Y) R% z% S+ e: g; }( L1 ?, J
  1293. AND #$028 M! Q. k) ^% C1 w# b
  1294. JSR ON_OFF_PPU
    . H3 W* H5 p! L1 B" e6 {
  1295. LDX #$00! U/ x- O% }& C1 c* D1 q
  1296. LDA #$B1
    5 n1 G5 S4 ]2 [5 P" j* t" j. w
  1297. STA $BA4 Y9 g2 [2 I" x, L" b- o9 F
  1298. LDA #$21* l( p5 P% \5 A, T6 w8 n% @. [
  1299. STA $BB4 ~5 }/ E' N$ T. H% b8 p

  1300. & T" f0 E9 i8 ~. l9 W8 g

  1301. 7 e! Y5 l8 T3 c7 G
  1302. JSR DN_PPU* J1 N3 _3 _: _' S" n: l
  1303. JSR SPEBUL_WRITE
    $ \6 p1 Q% ~% y& @, _* }
  1304. LDX #$00& _) Z% A4 Y8 O
  1305. LDA $07A5
    5 d" Q' `+ H: r' O0 G7 n
  1306. AND #$02' X- i- _! R3 {% r6 z
  1307. JSR ON_OFF_PPU- s" Z; n2 Z8 p4 a7 |" p( {+ _
  1308. RTS
    / [& y4 O0 J; B

  1309. ' u1 i. v( H. ]% R, K5 n  f3 N) k% j
  1310. .ORG $A500" d# p1 k$ g5 a3 H  q
  1311. CLEALL_STRING:
    & [$ j) t( i7 a# G- p0 I- C8 l
  1312. .BYTE $8D,$96,$8F,$8B,$96,$96,$809 z3 `% v& c& p& n

  1313.   o6 \) d8 @$ K7 n1 ?
  1314. - P7 _& x9 r6 W/ ^  _; E/ m' Q
  1315. CLEALL_WRITE:- t. D9 r8 ^. I
  1316. LDX #$00" B5 d# u! m, m6 V" I
  1317. CLEALL:
    - U" S" ~* F2 E6 a2 V
  1318. JSR PPUADDR_PROCESS
    " f5 J7 T, m+ w; \+ b
  1319. LDA CLEALL_STRING,X
    # f6 v5 Q, ^: X$ j* ?1 D, B
  1320. STA $2007
    / l, D! T4 n& s5 W
  1321. LDA #$00
    % c: \* V2 d$ M9 [9 Q5 A+ Z
  1322. STA $2000# L3 w  `- ], h- h% B1 N" O$ l9 ]
  1323. INC $BA2 ~4 K4 N1 j# ^; |- P
  1324. INX
    5 s3 g( s. S5 Q
  1325. CPX #$07
    5 Q( Z6 g* c# w0 g, A
  1326. BCC CLEALL5 ?  @. O+ I4 K; Q
  1327. RTS
    # x- f" z1 m* Z, a" y+ P

  1328. & W* V. i* ^$ F" U+ s9 S1 I2 n
  1329. CLEALL_PPU:* W! A4 f  i- L  r& Z+ J
  1330. LDX #$00) x+ G6 U+ n5 b5 z4 G: W7 W
  1331. LDA #$E21 L2 |* G9 D0 N3 Y; t
  1332. STA $BA$ o4 G/ W% L( [0 p; m0 h) r  b$ R
  1333. LDA #$21, [+ D) U: K  _* n* l
  1334. STA $BB* T" K' b. F, O+ H  n4 D

  1335. + z. M' P) Y6 P3 I9 I* b

  1336. , N7 R7 X. Y( j6 H, C( F5 M
  1337. JSR LF_PPU
    6 ?6 W7 o) r8 v( v. A
  1338. JSR CLEALL_WRITE
    . Q, M% i' }7 e+ X3 f
  1339. LDX #$00
    + d& v1 J7 ~1 O3 u% J4 F
  1340. LDA $07A4
    + i. N% Y" l! S; N7 @2 L
  1341. AND #$04
    " i  J3 N1 F- O& J* d& q- J
  1342. JSR ON_OFF_PPU$ U( x2 u0 r* H# |$ K$ _
  1343. LDX #$00
    2 T0 X( }( @& @# L
  1344. LDA #$F1$ W/ ?$ C: t, H9 O/ O2 Z4 C
  1345. STA $BA, C& X) w6 ]- C2 a( Q
  1346. LDA #$21- i" ~! ~2 {( j7 |; I3 Z6 J
  1347. STA $BB
    . _+ |9 S$ L4 `

  1348. % f' a# \0 S1 d" [6 ?

  1349. $ m( l" e- d0 Z  z8 N/ W8 W
  1350. JSR LF_PPU( m0 t3 e; X+ \
  1351. JSR CLEALL_WRITE
    8 }+ W, s) W8 _
  1352. LDX #$00  a; p1 t: Z8 ]2 ^( k& L- P% `
  1353. LDA $07A5
    * U2 _( E; t* `* `9 P; Y" F
  1354. AND #$04
    ; b& U  y2 Q* ~4 d( o9 U
  1355. JSR ON_OFF_PPU
    9 x8 l1 P9 R& O% X$ E- @
  1356. RTS$ N5 d3 h2 ?7 z. b  Z4 f
  1357. 7 T# @9 b* g0 l% u9 l
  1358. HARDMODE_STRING:
    * O% ~* G: D+ f% b" d# p' q
  1359. .BYTE $92,$8B,$8E,$97,$99,$8E,$80
    # D4 G" d; f3 [3 Z# Q' }

  1360. ( A8 z. ]: Q1 l& X

  1361. * @0 [& I* h, e
  1362. HARDMODE_WRITE:
    $ l+ C" M! g5 o8 [, K1 {; k# D
  1363. LDX #$00
    " b9 e8 d4 x2 c  o/ M7 r
  1364. HARDMODE:( D! _0 ?; G: m- O' Y
  1365. JSR PPUADDR_PROCESS
    & D0 J- P% J' I8 A
  1366. LDA HARDMODE_STRING,X: v( f7 B$ y$ v' {
  1367. STA $2007
    / b7 z. l8 ~7 a
  1368. LDA #$00
    : h' N; w2 b* d1 }
  1369. STA $2000
    . Y1 |# e9 H" @2 C( S, t
  1370. INC $BA" u8 d  o9 T% A+ J) c
  1371. INX
    . [6 V( J: h. P  M! \8 _3 C6 g$ y
  1372. CPX #$076 `$ k+ O1 ]6 G1 E) r
  1373. BCC HARDMODE8 U; `  ]1 B; f! j
  1374. RTS
    6 _" n3 k* D5 _1 V2 Z+ Y

  1375. " w3 R0 k" g! w7 g$ ^1 a( D/ \4 q
  1376. HARDMODE_PPU:
    ) L; K& k& X& \( B: C% [
  1377. LDX #$00
    & B( S! `7 b( m. _8 J, j* m
  1378. LDA #$22
    2 o9 W! S# t' f4 e9 F: M% F
  1379. STA $BA+ N, P/ w/ e7 m# Q# g
  1380. LDA #$22, M% b! s" \  D# H+ z, k9 U- P
  1381. STA $BB
    , H8 l5 S3 D7 |4 {9 o
  1382. JSR RG_PPU
    0 D) p3 j8 I* ?
  1383. JSR HARDMODE_WRITE- |7 C0 L5 H. |
  1384. LDX #$00- L, a* J& g/ ^/ b, e
  1385. LDA $07A4
    5 B% H" Y4 j, x! w4 m
  1386. AND #$01
    2 r" p! W2 X3 B( x$ @
  1387. JSR ON_OFF_PPU
    / O/ Y7 I7 j9 E$ m' r. t
  1388. LDX #$006 l& `1 s- C. k/ ~
  1389. LDA #$31
    ) l4 t7 \3 d2 k- _8 ^3 k* Y
  1390. STA $BA
    % R! C* G, A/ T/ d( T* n
  1391. LDA #$22
    1 z8 x* x( u* }" G3 A- L
  1392. STA $BB& W! @/ y5 m+ G7 y1 M: K5 Y6 F3 S
  1393. ' y: x# a, [6 u  T3 U& f7 L+ l5 t5 b- X
  1394. 6 I. W$ V$ O3 t8 B( H
  1395. JSR RG_PPU
    $ C6 T- M7 d, S6 l* P- f$ J' O
  1396. JSR HARDMODE_WRITE
    " j$ `6 Y) a$ y" }- O
  1397. LDX #$00
    , B" K1 ?  p$ }: r/ r7 V
  1398. LDA $07A57 W# S8 C, M$ H3 w. x% i/ k
  1399. AND #$01; u% X& F- @! I7 u4 _
  1400. JSR ON_OFF_PPU8 |& k, Q% ~; Z) ^, P, F
  1401. RTS
    ; S, k+ T4 K7 @* U
  1402. 9 J7 C3 X0 g1 u0 k3 _' O( t
  1403. B_TO_JMPSTG_STRING:
    % `  v! \2 Y7 d
  1404. .BYTE $80,$8C,$80,$9E,$99,$80,$94,$97,$9A,$9D,$9E,$91,$80
    ! }, b& Y3 S# k5 a5 o

  1405. / ?0 R# x6 k3 J! Y9 `' h

  1406. 9 d6 m* C' d+ q4 P% E; e) F# C, c
  1407. B_TO_JMPSTG_WRITE:0 M' D8 J( d* a$ b5 m7 t* R
  1408. LDX #$00. y- H' P9 z; w
  1409. B_TO_JMPSTG:
    : p' [/ h  I$ j3 ?9 n" I( \
  1410. JSR PPUADDR_PROCESS
    3 w9 A0 _8 ?; z3 k
  1411. LDA B_TO_JMPSTG_STRING,X9 l' ^3 M2 v# x/ y3 F
  1412. STA $2007* ^8 S0 v6 j' k% c4 o/ Z( v: J6 N
  1413. LDA #$00
    : E9 C5 S4 I% S1 A# ]+ ~% U) n3 y
  1414. STA $2000
    8 O1 e% X+ R$ i6 L  K$ l
  1415. INC $BA5 E( _4 F! L1 ]9 q- A3 b; ~
  1416. INX9 e: Y4 N; g5 }4 A  \
  1417. CPX #$0D
    ) r/ R) e( U8 t1 `  h
  1418. BCC B_TO_JMPSTG+ S$ ~* n8 A; ]: {+ L9 N
  1419. LDX #$00( J4 F* M$ D" U2 ^" Q
  1420. LDA $7FE0
    " u. f+ w& J  J
  1421. JSR ON_OFF_PPU. z2 y% B1 w# p* ?- c9 V2 y, \
  1422. RTS
    * t: Z- F4 D+ G& q% \2 u
  1423. % U/ n6 l# R2 o5 R+ Z
  1424. B_TO_JMPSTG_PPU:
    ; W9 p) `7 [) I. B
  1425. LDX #$00
      T3 ]5 m# c# h6 E) q1 b$ d! g
  1426. LDA #$68
    5 ?2 W' M2 K0 r/ s2 \
  1427. STA $BA
    & p  l7 N* X7 a7 I) N; Q$ c) v
  1428. LDA #$22% X, W# j4 ?" f+ E& G
  1429. STA $BB- R! d( \, q! ^. o. Y
  1430. JSR B_TO_JMPSTG_WRITE/ E# c0 n) Y# t: \! [! a/ \
  1431. RTS
    0 P% z, c4 D% N, ^
  1432. $ ]4 [# D9 A6 U

  1433. " ?" Z9 ?( H/ V2 ]7 [9 m
  1434. A_TO_PLAMOD_STRING:7 E& a7 K$ L# l" `% l6 ]
  1435. .BYTE $80,$8B,$80,$9E,$99,$80,$9A,$96,$8B,$97,$99,$8E,$803 {6 J8 y; `) f. A1 h) `/ q

  1436. ) q6 c0 t2 J) p& ^4 d+ E
  1437. # z; ]' V. ~6 _+ s9 N' C
  1438. A_TO_PLAMOD_WRITE:
      L3 l, K/ V6 u8 p% `
  1439. LDX #$00
    / `5 Y$ z! s" J) g4 L3 Y
  1440. A_TO_PLAMOD:: x1 V  Q4 [2 m" h- U  W* b5 c4 Q
  1441. JSR PPUADDR_PROCESS
    8 C! e+ _5 Z6 b5 e; f$ {6 y
  1442. LDA A_TO_PLAMOD_STRING,X
    # n* T; V$ t" V% b" B& N3 }
  1443. STA $2007
    & C( p# |% \: i7 |
  1444. LDA #$00/ X+ ?# `  A& E$ U
  1445. STA $20000 P2 J& V' W" n9 U( h' g  m
  1446. INC $BA
    : s6 t& i4 \7 Q- R
  1447. INX4 g) {0 ]7 f5 G" @0 R# c2 ?
  1448. CPX #$0D+ L( E1 h+ s: b8 O- v; [
  1449. BCC A_TO_PLAMOD# a6 d, a4 r1 ?8 ^9 h6 Z1 m+ T5 |
  1450. LDX #$00( a! S; B5 j" A% x; I% |# T
  1451. LDA $39
    7 x: Y3 j: ~6 d5 v
  1452. JSR ONE_TWO_PPU
    / c; I2 ]- j! d* g% V
  1453. RTS
    8 y, }6 a, w& Q: X2 H

  1454. 9 I! w4 y& u7 _7 g
  1455. A_TO_PLAMOD_PPU:
    * u+ B' t. R% \
  1456. LDX #$00' x5 F1 q( J' q$ S0 }- V
  1457. LDA #$A8
    & |7 x5 @1 Y& w8 x: W0 W) t5 T2 b: y
  1458. STA $BA5 O2 M, L. a* n- t1 |3 `
  1459. LDA #$22
    $ w5 G3 R/ K5 ]0 H6 b, y6 p
  1460. STA $BB
    + h6 \2 P0 h7 J! j* ^
  1461. JSR A_TO_PLAMOD_WRITE
    8 J% e9 `7 r  j& o
  1462. RTS
    # t8 w3 O$ h3 i/ D/ E0 w
  1463. 0 \, c0 D: B: q  D: _
  1464. MOVSPE_STRING:
    ; @8 m6 u; |. v9 n6 K
  1465. .BYTE $97,$99,$A0,$9D,$9A,$8F,$80! [  \+ b+ C: F! V
  1466. 6 n) [' b. A4 S! `$ }) L
  1467. 0 L% B, w  w9 I4 M9 }0 J
  1468. MOVSPE_WRITE:3 n5 ?. o( ~6 ~3 k5 \# x
  1469. LDX #$00
    ) O4 P5 y! K7 C$ n
  1470. MOVSPE:
    # h7 r& W- v: Q, S/ \) F
  1471. JSR PPUADDR_PROCESS* t' E) R/ ~) v7 V
  1472. LDA MOVSPE_STRING,X; g: [$ _* R1 e4 c- x4 J
  1473. STA $2007
    * o- `# T8 R# z( ]$ `, f, ?6 k
  1474. LDA #$00/ |) G7 E* g$ t2 }3 u; y
  1475. STA $2000# r- c" I; z+ t1 z, O1 ?
  1476. INC $BA$ w  C5 e! f; Y: n
  1477. INX0 g4 i" X; B& y9 w
  1478. CPX #$07
    , G7 c& V. m3 ?& ~' h8 e
  1479. BCC MOVSPE! b& c/ l. _" z$ [
  1480. RTS
    $ E' P% z9 a6 a$ T3 O+ A! a
  1481. 5 i2 m6 N; }; g
  1482. MOVSPE_PPU:, y' J7 O# D2 I3 O' v5 r0 X5 r
  1483. LDX #$00
    ( t' A/ f& Y# G( _2 o8 H6 ~
  1484. LDA #$69
    " X1 J( E( F# b* L7 F7 u
  1485. STA $BA# ~, A# e! I, d2 b0 d
  1486. LDA #$21/ B- N5 t4 ~* \* A7 e& p: l' I
  1487. STA $BB
    ) P, O' q" z  ?: n
  1488. / d8 M: F2 |+ O. s

  1489. , B! g9 `& o% ^8 {
  1490. JSR UP_PPU' W# R2 e& D; x; j0 d0 l8 J
  1491. JSR MOVSPE_WRITE, Y( q# l3 F$ ?
  1492. LDX #$00
    7 S" T6 y. W6 ]3 F5 k) Y
  1493. LDA $079F: y* ^0 z9 `5 R
  1494. AND #$08$ m1 Q- `  h1 G& g" l+ z# A6 k
  1495. JSR ON_OFF_PPU
    ! [$ H1 j# ^1 }9 q- L
  1496. LDA #$80! k6 X/ p: j) \/ Y2 i) Y, O
  1497. STA $2007! w8 d/ w% g# r
  1498. RTS
    * N& k. Y  {& `
  1499. % v3 C5 |7 Z! x; I9 i2 F
  1500.   0 l8 }# M5 }3 {7 l- C. ?
  1501. UNLJMP_STRING:
    8 l* b! f5 w; A% V$ r+ R; I
  1502. .BYTE $9F,$98,$96,$94,$97,$9A,$80
    5 d) l( N" c$ o* \7 r4 T  @- e1 t0 }0 t
  1503. ( _3 H9 R5 d) o- n) E
  1504. : V; _) Y# D" g2 I8 G- i& i: |7 k
  1505. UNLJMP_WRITE:
    % r; L0 |0 O3 v7 x
  1506. LDX #$003 q0 f) J. w' A  `
  1507. UNLJMP:: A7 X' T4 N# K' \" q! i
  1508. JSR PPUADDR_PROCESS9 t3 J/ n# ]6 z: K
  1509. LDA UNLJMP_STRING,X
    ) i" \1 W; B4 r# {2 g% c" I1 V* q
  1510. STA $2007
    " N) U7 s8 m9 x, t% f
  1511. LDA #$00  N( k, W' C( w6 J) |4 L
  1512. STA $2000" \; k4 i4 J# f2 g3 ]$ Q+ I
  1513. INC $BA
    - H$ c2 U! f( ^3 S0 O  E! A
  1514. INX4 Q8 q" z. o& P6 F, i2 D
  1515. CPX #$07( p+ e' S# X1 Z0 r
  1516. BCC UNLJMP
    " @" C) w% f+ f9 L, x
  1517. RTS
    0 v6 W& z4 {- [/ H/ U

  1518. $ J0 }' D+ x. M0 R1 _
  1519. UNLJMP_PPU:  d8 e0 K1 c( M( T# z
  1520. LDX #$00
    ) C  X0 S% j# F- m; T; F; ~+ S
  1521. LDA #$A9- c; I9 W4 H. r& z  F6 i
  1522. STA $BA
    0 x: ~8 L8 M; P$ |) E
  1523. LDA #$216 P1 v/ j* U0 e6 c# G8 _; h
  1524. STA $BB* C5 F8 A. ?( N! C

  1525. ) D% P) Y) R! o0 M/ W
  1526. * |7 @7 U1 s  F. H3 p
  1527. JSR DN_PPU
    : n5 Y( S+ W- s6 P! C! ~
  1528. JSR UNLJMP_WRITE, |& @' _1 p; b1 V/ y
  1529. LDX #$00
    5 U3 _  X, q* V. G* S) V
  1530. LDA $079F: h% e" m, x9 h7 a$ m/ C
  1531. AND #$04- m" ~1 o( l. U  w4 V
  1532. JSR ON_OFF_PPU
    * u- a4 Q  T& ~, ^
  1533. RTS! z) a9 F: G/ v9 ^. {4 H
  1534. " C* C7 T! s  Y  w, |7 T3 P

  1535. - p5 l# g' d. `; u
  1536. DESTRO_STRING:, A8 M) K9 v- _
  1537. .BYTE $8E,$8F,$9D,$9E,$9C,$99,$80* q1 P" A( t, P' M: Z) w

  1538. . k. m% q* m3 \  A2 f8 S: ^

  1539. # P' b; m! T! F  n8 \$ ?
  1540. DESTRO_WRITE:' e5 H+ p, X# p0 w/ X
  1541. LDX #$00
    # |4 O" z, m- ]" e
  1542. DESTRO:
    ( T) n: W5 _3 _
  1543. JSR PPUADDR_PROCESS4 a* Z; J) l  U6 l0 x- W
  1544. LDA DESTRO_STRING,X
    3 T' B* o" v  i5 v1 i  @' s
  1545. STA $2007
    & ^; Q  u/ o  T' f! i
  1546. LDA #$00% \8 m* T! w& n/ G- n* B
  1547. STA $2000$ c8 P; h/ o+ [6 l+ Y3 N
  1548. INC $BA
    0 b, ~1 Z# V5 G3 N1 T
  1549. INX
    9 c0 s! I  \& f+ D: [. f3 @6 d
  1550. CPX #$07% v8 z2 M9 b1 R( p. H! p3 w
  1551. BCC DESTRO
    * U" p) S2 s4 M' |
  1552. RTS
    . c2 c. O, j' x% s$ q2 }) {

  1553.   E) q4 w* q8 J# E1 Z: X
  1554. DESTRO_PPU:  B% h, I+ P% F" k/ F% c
  1555. LDX #$00
    ' i. C! l; h/ I% F0 Q+ d
  1556. LDA #$E9. e! w9 a) [4 h5 O! T
  1557. STA $BA! M* ~6 k" [, H. Y+ P, e9 p
  1558. LDA #$21
    0 P1 W* L! [2 }, v$ V; f: j. {
  1559. STA $BB
    3 P! P3 Y% ?- H. T0 B5 z

  1560. - m1 f3 D/ {4 D3 y$ ^3 K

  1561. 2 w* D# L1 f& g
  1562. JSR B_PPU
    : i$ m4 x# u9 |; @) g
  1563. JSR DESTRO_WRITE
    6 @# v$ B; `0 P+ c; w; ~
  1564. LDX #$00
    , v* C$ S( l& X  W
  1565. LDA $079F* J/ |9 ~8 {, e7 q' A
  1566. AND #$40$ X- j& k' `; @
  1567. JSR ON_OFF_PPU
    - P# o2 }2 X$ G  `$ Q' `+ P! C
  1568. RTS
    " U3 T" t2 E! C) I3 q! \. n

  1569. & b2 k# t# P$ X6 ]. E4 |3 q9 F

  1570. 3 F* u4 ^+ F* X) A8 Q' T" D
  1571. EQUBUL_STRING:! w" F5 `) L) [, T- r7 Q3 ]  @
  1572. .BYTE $8F,$9B,$9F,$8C,$9F,$96,$80
    ) t' A8 I9 p. r# u1 j1 n) g, _

  1573. ; `, S9 X$ R: P8 U6 |, i$ q' ]
  1574. 5 ^' t$ w4 j  d& n) h8 u3 Y
  1575. EQUBUL_WRITE:
    . F& d+ R+ |" o& {/ p% l& }
  1576. LDX #$009 c" I* x" T9 m; J. A
  1577. EQUBUL:& U) l, W  Q3 B( @7 _$ D8 G6 i2 u
  1578. JSR PPUADDR_PROCESS
    - }$ U5 S  @# }. h& g6 N
  1579. LDA EQUBUL_STRING,X- N1 _# G/ }; ?  ?
  1580. STA $2007
    ) @7 [% {7 X  E. q: B
  1581. LDA #$00
    8 f/ i* J/ K: c8 c
  1582. STA $2000
    ' z) i" G$ z8 D+ Y, y& E8 s
  1583. INC $BA5 R0 q8 ~. [1 c6 K6 m' M
  1584. INX
    " H! p  G8 L! h3 @/ A
  1585. CPX #$07
    - F, ^$ S' l6 G# a) e
  1586. BCC EQUBUL1 q; \+ c# y1 L( p) w" V: \
  1587. RTS
    ) k4 P) d: f6 K% B% C

  1588. 6 F1 f6 k- j1 i) u- f
  1589. EQUBUL_PPU:8 }+ p7 Y$ V: J8 `( T: O
  1590. LDX #$000 {- f& i7 `* I! A6 X- F
  1591. LDA #$29
    ( Q% v; s/ P9 u6 |
  1592. STA $BA
    , U: l- b3 F$ q
  1593. LDA #$22
    - Y  u2 A8 \  ]. s- T* n( Z
  1594. STA $BB5 Y% M" [8 J8 j
  1595. ! x7 J7 B; R* i: y

  1596. 6 w& e+ Q. L  Q6 y
  1597. JSR A_PPU) ~( d9 D$ `) B
  1598. JSR EQUBUL_WRITE& X) m3 r) t2 W: Q7 _5 L; ~2 }2 e8 j
  1599. LDX #$00
    3 I7 \9 b- j- @" \6 P
  1600. LDA $079F
    & S' {% Q# K% X! v
  1601. AND #$80
    , \4 Q3 i0 a: ?# Z- B- R
  1602. JSR ON_OFF_PPU
    ) B$ C6 U/ A  z' z/ t+ z
  1603. RTS
    # W& O5 H& t! j) z6 S  e

  1604. 7 o4 o; O, N( s

  1605. * K3 R# M6 v; v( R' x: R

  1606. 9 d% K. w& H7 P
  1607. BULSEL_UP_STRING:  M$ g& m( q3 S$ L0 T6 I2 E
  1608. .BYTE $9F,$9A,$80,$9E,$99,$80,$9D,$9D,$80( g1 l2 \3 N" `, f3 ~
  1609. & u5 X6 K" l; {# \& b: G
  1610. BULSEL_DN_STRING:- J  f/ E- q2 _# a( Z# K
  1611. .BYTE $8E,$98,$80,$9E,$99,$80,$9D,$96,$803 s+ n# Q. y# `+ ?2 S" a  b. o
  1612. 3 f1 _% Z; O8 F
  1613. BULSEL_LF_STRING:
    / ~7 E" j  ?8 n1 u3 A3 ~% ]/ V; R7 u
  1614. .BYTE $96,$90,$80,$9E,$99,$80,$9D,$97,$801 g8 P4 q, b3 B, O5 r

  1615. - Q* k" L2 Z8 x' |- k" J$ @
  1616. BULSEL_RG_STRING:
    * J5 ?2 Z* T& E; Z
  1617. .BYTE $9C,$91,$80,$9E,$99,$80,$9D,$90,$80+ \" O* H9 M- V+ z

  1618. & I1 Q3 ~, R$ e) b" H! h  M# [; U
  1619. BULSEL_B_STRING:
    0 N% \- S, k# V
  1620. .BYTE $80,$8C,$80,$9E,$99,$80,$9D,$98,$80
    9 L! V: k8 f5 O: @
  1621. ; D/ h4 u! \1 ^1 }/ ~: n# R# @- E
  1622. BULSEL_A_STRING:
    + P& l6 Q* b# P- f5 B
  1623. .BYTE $80,$8B,$80,$9E,$99,$80,$8D,$99,$97,$97,$99,$98,$80,$9D,$9A,$8F,$8F,$8E
    ( h- I$ |4 `3 b: D$ D# ]
  1624. ( k5 Z( ?3 L2 {! a6 K) S% Q+ A
  1625. 0 {+ u, e5 O6 }" n3 C( k
  1626. BULSEL_UP_WRITE:
    $ f4 \0 B+ k5 v
  1627. LDX #$00
    8 S* l' P/ ^' w( A, W0 P  q
  1628. BULSEL_UP:
    / V/ q/ d4 }7 v2 f, y
  1629. JSR PPUADDR_PROCESS
    ; v$ P. k1 A$ ]; h# b- O+ F* ?: H
  1630. LDA BULSEL_UP_STRING,X
    . ^2 S# \. p' N3 Y0 a# v/ c
  1631. STA $20076 o1 Q  M7 i4 @) s3 p# A) {
  1632. LDA #$006 L' y7 S4 u9 J9 E
  1633. STA $20004 p& ~9 D5 ?" v% [# n) W7 |
  1634. INC $BA& h, d5 @. t7 Y
  1635. INX
    9 `+ q2 y$ `" w$ g
  1636. CPX #$09
    , p+ K$ R& }% \# j
  1637. BCC BULSEL_UP, T2 e% p8 t) u5 l3 r2 E* |  [
  1638. RTS2 r  y9 Q& I0 t4 q, t8 _0 l
  1639. BULSEL_DN_WRITE:
    0 c6 V3 }, g& I7 J6 E
  1640. LDX #$00
    8 r1 ~7 t) d: t. \; `8 B' W' g" ?8 |
  1641. BULSEL_DN:# B% H* L0 a& k0 ~) T! B" L
  1642. JSR PPUADDR_PROCESS# @% c" o/ u0 j% L' H
  1643. LDA BULSEL_DN_STRING,X& V0 ?( O7 P2 E) m) T; D
  1644. STA $2007
    : b$ b. v- u" Y) D! \( W+ Y
  1645. LDA #$00. x7 i9 |2 |& a" z
  1646. STA $2000
    $ E! b2 Z! L( T0 k9 @
  1647. INC $BA
    0 L" y' V/ b! d+ H1 ^8 l7 R: U8 }
  1648. INX, K, p8 ~* Y' ^  W4 d
  1649. CPX #$09; _4 V: Y- W# t6 b7 J: X
  1650. BCC BULSEL_DN
    ) s" g8 g4 b6 c5 M$ \8 _6 T
  1651. RTS
    ) G  \. D2 s0 I  l$ J4 c" c
  1652. BULSEL_LF_WRITE:& ]8 ?8 f7 G7 y  c
  1653. LDX #$00
    ' P. U- d& J: G3 i
  1654. BULSEL_LF:
    * V! ?9 X1 _; u& U8 D4 S0 y! M
  1655. JSR PPUADDR_PROCESS
    7 n: e' T' ~( A7 c9 ]; f
  1656. LDA BULSEL_LF_STRING,X+ G* X. q4 L+ x; p
  1657. STA $20073 b- Q4 r: d" x* ]3 p( ]7 ?6 _6 V- ~. h
  1658. LDA #$00$ d) E2 p1 v- M! o( ~  O" B
  1659. STA $2000
    8 z1 V! E& @; ?/ S7 Z9 P+ E; U4 X
  1660. INC $BA! C5 B$ U6 s- Z
  1661. INX& C+ U  i, B. y
  1662. CPX #$09
    3 L" Q$ {- |! O& j) S: T
  1663. BCC BULSEL_LF
    9 b3 g5 d! E" I- A9 T! S6 _* f
  1664. RTS" t" ]* o) _! k; M5 s, }
  1665. BULSEL_RG_WRITE:
    ; i. M( z) y' d7 }( ^" K3 u: {
  1666. LDX #$00
    " T" L( n$ q+ q  W, T
  1667. BULSEL_RG:
    ' \; Y, q( @! Z. ]% I/ X6 B( Q
  1668. JSR PPUADDR_PROCESS9 s/ v& o6 \- z9 |% `: t
  1669. LDA BULSEL_RG_STRING,X7 ?. g: M: m! t- C
  1670. STA $2007* i, Q$ E: _& ^8 Z% L  c
  1671. LDA #$00
    ! J9 o$ E- q' o1 ?% M, i
  1672. STA $2000
    $ Y: x# G' v; ^! A; h4 m
  1673. INC $BA
    9 [3 C) W2 _. O$ Y
  1674. INX
    : Q7 q. ~9 d3 L! V
  1675. CPX #$09, M7 S. \0 O: A: O2 J  l# a! {2 U% F
  1676. BCC BULSEL_RG. M4 x9 O# j, }
  1677. RTS8 F8 ]: O9 z2 Q" a( t- y, t3 y
  1678. BULSEL_B_WRITE:
    & T2 c  u9 I, m+ d- M/ O
  1679. LDX #$00
    4 e! d5 v/ a0 [" [, z. o
  1680. BULSEL_B:
    & P& r$ P* J) u4 ?  Q' U: u& o: P
  1681. JSR PPUADDR_PROCESS
    5 M+ K+ ]4 y- w1 [
  1682. LDA BULSEL_B_STRING,X
    : U( C0 b( K' j7 N, |
  1683. STA $20079 c- b8 s) A2 T0 I  Q6 e  W
  1684. LDA #$00# q  D- v3 H  ~% x% v
  1685. STA $2000
    5 Z1 }: a! v5 W" S
  1686. INC $BA
    9 x2 @/ i9 X- M, u1 u+ }4 L% z
  1687. INX8 r3 m6 N, m+ d6 v
  1688. CPX #$09* y2 y. z# C  w! ?( X
  1689. BCC BULSEL_B- l: Q4 Z8 T1 V- s8 U
  1690. RTS
    & e/ y, x# {0 a7 Z# ^
  1691. BULSEL_A_WRITE:
    7 W8 c0 J( I  ~6 n9 b5 P
  1692. LDX #$00
      n$ [, _- S5 e" g! A% b8 w
  1693. BULSEL_A:  D8 Y8 p3 ]8 p. c6 S
  1694. JSR PPUADDR_PROCESS# @4 H6 {  o% F& K! O
  1695. LDA BULSEL_A_STRING,X3 T* o% L) T0 {
  1696. STA $2007$ g  b! h" N! w0 A) P0 \
  1697. LDA #$00# X- g4 v3 j1 d; Y# R! f9 D/ P% u
  1698. STA $2000
    ! g7 ~9 A) ^& k
  1699. INC $BA( w+ _6 \0 V' [) o. W. c
  1700. INX" ^' l0 n! y8 L. _( d
  1701. CPX #$12
    $ `1 B) U: h) H$ f% I2 x  @
  1702. BCC BULSEL_A* U1 [5 l; b7 @. f% @$ V
  1703. RTS6 S. f0 P( Q0 U! b

  1704. 3 s  [# G  x7 e% Y, S# X4 Y; }) g
  1705. 1 G8 I0 S& t3 [) ?

  1706. $ E5 D# {) e8 ?" `$ P
  1707. BULSEL_PPU:
    5 p" L2 D  ~3 d1 x8 X% t
  1708. LDA #$6C
    5 n  _, N9 w, r$ [9 z6 Y
  1709. STA $BA& y% q4 f$ I7 t
  1710. LDA #$21
    0 e# I+ W5 L8 r3 N3 [& H" p- [4 P1 G
  1711. STA $BB5 I1 Z$ Y, \) g9 d1 W0 D& j7 f
  1712. JSR BULSEL_UP_WRITE
    & V/ f0 H- p; g) o9 g$ C, |& H
  1713. * `# J3 T; h. p% r0 k  I+ G
  1714. LDA #$AC2 V$ b4 }+ H- ?! T
  1715. STA $BA
    - {% q& F' j8 E& I
  1716. LDA #$21
    + N  d. L) w& Z- \
  1717. STA $BB
    ' U; w% H* s( ]+ a0 {
  1718. JSR BULSEL_DN_WRITE$ F. V$ s- b+ k

  1719. 7 m" j% O! c$ V0 G3 `) o' i6 r: N9 k
  1720. LDA #$EC& t4 t7 N( B8 z$ [1 j! O
  1721. STA $BA
    0 m3 o3 e6 K. [3 `4 [2 E+ u
  1722. LDA #$21
    # a7 [. E2 {, W- J2 M" e9 K
  1723. STA $BB* n. D# E& k. S, l6 ]2 A
  1724. JSR BULSEL_LF_WRITE$ U) @+ [2 w! D" A8 i4 H

  1725. - q0 t/ v- j* q! i: Y# c+ N% R+ |
  1726. LDA #$2C
    ! r9 E; A+ E3 E9 i8 P, U
  1727. STA $BA
    + N  A9 Q$ x( y: w3 t
  1728. LDA #$22. Y, V4 A$ r7 @7 t1 ~8 L
  1729. STA $BB
    % b+ h3 Y- T, `/ p( [; P; S
  1730. JSR BULSEL_RG_WRITE* p; L! p! a% t$ r3 ]# \
  1731. - G# r9 a( E: P5 ~
  1732. LDA #$6C
    ' d# i3 R1 E  K% J( ^1 ^  ^. E
  1733. STA $BA# S) ]: {. h! i1 u; J1 J3 s
  1734. LDA #$22
    7 l& O$ q4 Z+ \8 y, N0 W
  1735. STA $BB% g$ Z) T9 B" Y* v- a1 K# \9 G, `
  1736. JSR BULSEL_B_WRITE' n2 _" i) ~/ `
  1737. 6 g9 _, f$ i1 m9 g
  1738. LDA #$A7
    1 v+ s* L% U) d- t
  1739. STA $BA  {9 f+ q2 W2 a) F8 D- ?
  1740. LDA #$22. i# x! F6 z8 R5 I1 @
  1741. STA $BB
    . d/ H" d' x6 |! {6 f( v1 w
  1742. JSR BULSEL_A_WRITE
    : E! G& _& X# Q; a6 ^1 N
  1743. RTS& \! Z/ [! n2 _0 [1 H+ ?
  1744. : p8 A/ h1 }# T3 t) T+ v; R9 d

  1745.   J! _, N6 G( t
  1746. , z- f& y& W9 g+ R5 H
  1747. UP_STRING:
    4 I6 T9 o! G$ `8 h+ E
  1748. .BYTE $9F,$9A,$80
    ) s3 S8 q5 l( f2 C% `

  1749. * c$ S2 t' |' t% \$ d
  1750. DN_STRING:
    $ t/ ]5 f+ n! l
  1751. .BYTE $8E,$98,$80
    ' A# C$ M7 {8 l5 J2 L$ f' G9 d
  1752. 7 Y$ S! g  v6 e. y
  1753. LF_STRING:9 k8 g. J; n/ n& i( F- t. O0 L1 D
  1754. .BYTE $96,$90,$800 s4 [, Z9 Y6 ^0 h* ]. L6 C1 h

  1755. 5 @! _/ j% ~9 M2 b* X5 K# N$ ^( S
  1756. RG_STRING:
    ' b9 q2 Y" {9 q5 d$ d9 ~6 j0 H
  1757. .BYTE $9C,$91,$80
    ! k' p! t. b' i; t, u# B! L
  1758. , ]: F% V$ B* P9 N& ]
  1759. B_STRING:5 \; e6 o7 l. o2 l8 t2 g; L& G
  1760. .BYTE $80,$8C,$80
    " x9 k; h# t) e  @0 e- D3 Y

  1761. + l8 e! r" G6 H7 ]2 a7 s: X, j
  1762. A_STRING:
    $ l$ C8 S6 W3 K4 U  Y
  1763. .BYTE $80,$8B,$805 x. A% L, G7 J$ ^# b
  1764. 3 e* f% W2 R8 L3 T
  1765. 9 M7 _8 @7 F4 T, P: @5 r
  1766. UP_WRITE:
    1 U5 n) I  T1 _4 ?; Q, O: P3 F$ I6 J
  1767. LDX #$00( d1 K1 b0 |" G3 r: ]; c& H
  1768. UP:9 l4 o, j3 f/ g
  1769. JSR PPUADDR_PROCESS  X) D- ~( x# d+ m" y* R$ B+ c/ {
  1770. LDA UP_STRING,X
    3 R6 v& ~: k* m  a" R' |) M
  1771. STA $2007
    " J9 R. `7 g. ?. W
  1772. LDA #$002 F; ~. Q& B$ s: |0 p0 s, s
  1773. STA $2000! h, A' _1 }) `0 v1 g3 z! f( M
  1774. INC $BA$ {8 W3 p0 F: T1 [, n/ B( y0 _
  1775. INX6 M3 a* m$ e1 b4 n9 F' P
  1776. CPX #$03% R' U2 q) ?/ }; d( }
  1777. BCC UP
    ' _  ^& @# r  A: j4 n+ l4 g' s, w' B3 i
  1778. RTS
    ( @6 f9 s6 |- l9 a, E# o9 a

  1779. , e* b2 Y! }0 Q1 J, ~( D7 B% Y
  1780. DN_WRITE:
    2 p) ^- n' ~$ V: z: a; H
  1781. LDX #$00/ y9 G7 j3 R7 a- U  h9 Z
  1782. DN:/ T( n7 @+ j  b, X, @9 L6 v9 a
  1783. JSR PPUADDR_PROCESS
    , U7 g3 Z+ |. G6 ~, Q5 o+ R
  1784. LDA DN_STRING,X* s- {8 |5 d) d: `% [: e; \/ C
  1785. STA $2007, o4 d0 G  ^3 ~
  1786. LDA #$00
    : _+ W+ i3 J, {0 P; U& I
  1787. STA $2000
    5 P5 A, o% _3 g* ^
  1788. INC $BA) u/ s7 J8 r' V) ]
  1789. INX
    7 g. s4 I( y, X
  1790. CPX #$032 Z! }. f$ ^4 Q* _* Y
  1791. BCC DN, E- ]! O4 M, G- t) k
  1792. RTS+ g3 E4 @1 \; |) E

  1793. 9 m( x8 h5 B- n& J
  1794. LF_WRITE:* R" t# J$ i5 U& z
  1795. LDX #$00) a1 B) F$ }  o3 b" g
  1796. LF:: k+ \" A& U. s# u9 @0 u3 a
  1797. JSR PPUADDR_PROCESS; B. _; G9 B+ s8 Y* W" v5 J. O
  1798. LDA LF_STRING,X
    * t  r# p) m5 _# X, }6 B
  1799. STA $20078 q$ k( `3 c* j" l  C4 L( b
  1800. LDA #$000 c  D: k. M) d! y6 K3 [
  1801. STA $20001 k7 o% a2 k# C, |# H. @' @
  1802. INC $BA
    ; Y! o5 D0 \% ?" }# X$ c, J; W
  1803. INX
    ' g4 u$ h1 V; H7 U7 h$ a( g
  1804. CPX #$03
    ) H' ~' I1 h/ j+ |/ a
  1805. BCC LF
      }1 k1 V& w: [
  1806. RTS
    6 ]8 T+ @. O4 B8 I4 P" R$ J6 y
  1807. ! `: T% r) ^: R4 b' T0 c( x; o
  1808. RG_WRITE:( w/ a) j: `: ?# L. e
  1809. LDX #$00
    / i4 X' P/ I* W5 \
  1810. RG:- w8 h+ @2 U+ L% [- D7 G
  1811. JSR PPUADDR_PROCESS
    * E" ^9 _+ K( h- H5 z: ~6 J' z
  1812. LDA RG_STRING,X+ C* e1 w+ d8 C. l" F1 P: Z- }5 {, g
  1813. STA $2007# i4 S7 u' K2 n0 B
  1814. LDA #$00
    ' b9 ]( l3 s+ G# E8 c- {, C
  1815. STA $2000! o0 H, x- m2 x- d
  1816. INC $BA; I5 l! B. Z& P! ]
  1817. INX
    1 W, J3 J' f6 o$ d2 B8 W5 O' A' _% D
  1818. CPX #$03
    8 Z% J! p. X7 M; H- \
  1819. BCC RG
    0 m/ e* V: e/ B/ D# W
  1820. RTS
    # y9 p& {  \" s. b" o& h; ^" b

  1821. 9 e4 }: l; H2 A3 B, {( @( J9 g* j4 ]
  1822. B_WRITE:
    1 u8 o$ h$ _! J
  1823. LDX #$00; Y3 f. I3 e2 L8 c+ o' J
  1824. B:
    + F) l0 ^8 d- {1 F
  1825. JSR PPUADDR_PROCESS
    + l4 a8 G' |( T2 x
  1826. LDA B_STRING,X
    # s$ u: t8 T% r8 M$ ?6 P0 |
  1827. STA $2007
    ' Z6 t+ }) v) ?4 e- W  A
  1828. LDA #$00
    - Q6 K7 X2 z5 P5 q' W
  1829. STA $2000
    6 E2 B1 A- ~9 n* e. W
  1830. INC $BA
    % ~' f0 @" `: n! a( L/ x
  1831. INX
    / c# U% `0 ?; Z6 G2 g. l4 c& o3 Z
  1832. CPX #$03
    ) `5 Y) u2 _( J; q. q1 c# [/ D
  1833. BCC B
    $ l2 m; T" z/ L8 I
  1834. RTS) T( Y& m* c( ]

  1835. 8 l5 Q* w8 A% d6 ]7 H) o, S
  1836. A_WRITE:
    4 |+ k8 W" Z5 Y% A9 A
  1837. LDX #$00# M& q3 F+ s6 S+ o, {0 K. W
  1838. A:; ~$ R9 h/ r- h$ l/ q0 l3 k
  1839. JSR PPUADDR_PROCESS
    , e- X( [( B% Z! s$ K) I, Z
  1840. LDA A_STRING,X
    , ^4 K1 ^' _' W6 T1 e# Z
  1841. STA $2007
    4 y# v( m6 D! J; w
  1842. LDA #$00
    : Z7 f1 o/ C4 A$ _3 _
  1843. STA $2000
    , v+ ~' h' {. O9 k7 D
  1844. INC $BA/ P1 c6 W# g& ~5 N2 d
  1845. INX4 m6 [6 R! t! D4 C# C
  1846. CPX #$03
    # i1 O4 F% F7 J( b$ N! I0 i  S
  1847. BCC A$ J, G, x" G: l# M& E
  1848. RTS& W8 j; d! e& |6 P. Y

  1849. 8 Z' Q  a  ]9 d* P6 g7 ]' J

  1850. ' M$ K8 W2 f0 m* d4 A
  1851. UP_PPU:: h' ~5 g2 G* A* U+ h
  1852. JSR UP_WRITE
    1 d+ J+ O4 \" x8 Y0 H: x
  1853. RTS0 y( F, r5 L1 w% A9 Z" Y' G) z6 j6 Y2 c

  1854. 2 J/ g8 L% c6 r% u% k
  1855. DN_PPU:
    & G* d9 g, x) N# A( a" v+ l. p
  1856. JSR DN_WRITE. P6 G9 D( D; M: Y+ v
  1857. RTS; O) o4 t) c& T$ Q
  1858. 5 ~  n# n2 A4 f% h7 C
  1859. LF_PPU:
    " Z; y2 g, S1 ]) \: W* [" B) U
  1860. JSR LF_WRITE. D4 T4 ]/ X7 O
  1861. RTS; C+ k6 Y" J' d2 q# e* f
  1862. " ]! D$ I' n; x, o+ N* w+ E
  1863. RG_PPU:
    ( w0 M: v9 w1 ]% D7 v, E' N. s
  1864. JSR RG_WRITE8 M: r# m- N; k5 m/ o( H$ g
  1865. RTS& m* \' B1 R) c/ \: l5 k% \1 N
  1866. " _9 g: {% K& a
  1867. B_PPU:
      Y, ]; N" A: M9 H+ c: l. O( n  D
  1868. JSR B_WRITE9 k6 k* T% p  r7 K3 k4 U' E
  1869. RTS% d2 p; ^) A7 q% z

  1870. # s7 {( G: D# q3 p
  1871. A_PPU:# ~* t, h2 x% J* Y5 w. v
  1872. JSR A_WRITE
    / Q' \! z7 _4 J2 Z" |6 v
  1873. RTS8 f. i" H$ f7 V

  1874. ) I4 D/ Y$ L* ~
  1875. : S: G2 k4 M4 j& i" O" b' f9 b
  1876. PAGESELECT:! X) o& K+ J7 r1 s
  1877. PAGE0:
    ! }& i8 E& d$ z2 [* L; e
  1878. LDA $07AA
    8 s5 I/ ~1 O: V6 W) [3 J7 E
  1879. CMP #$00) v5 y3 I3 a9 t0 p  ~/ |
  1880. BNE PAGE1
    7 X( Q) m) y9 H) R
  1881. 7 g% S9 ~6 z; N, Y
  1882. PAGE_00:( }" y% f0 a0 M8 O! ?/ S
  1883. JSR BULSEL_PPU
    9 e( ?. F) _0 T! }" k' i- A, j
  1884. RTS8 a; y8 i9 e2 B9 T4 h3 \. x( T
  1885. / G) N5 l) R5 `4 A& l; _8 b4 N5 r
  1886. PAGE1:
    # D- d4 \. V! U6 c& k, E0 [" |. w/ {
  1887. LDA $07AA
    - A7 L! |6 ~8 X. c2 K2 J
  1888. CMP #$01
    " T% o4 \! ]) I: C4 k
  1889. BNE PAGE28 k+ N) P3 K1 E+ S6 a9 q" k. `; m1 W

  1890.   Q( P. h& Y' t3 N
  1891. PAGE_01:2 k& `/ x: A; `) n+ v. c
  1892. JSR INVINC_PPU
    1 [% s4 B# B4 d6 ]
  1893. JSR LIFELC15_PPU4 c* O5 F0 c, w4 ]
  1894. JSR DOUCON_PPU
    5 e4 V2 k6 [/ A; Y! j# R. C
  1895. JSR KILLON_PPU
    4 l: E7 z5 U3 o& l% ^
  1896. JSR SKYFLY_PPU. }' d/ Y+ ^3 P- v% k, R
  1897. JSR LIFELOW_PPU
    % z6 `4 V) ^+ e0 f
  1898. RTS
    * ~/ K. W# o( {

  1899. / ^4 i. n0 m3 V% |
  1900. PAGE2:
    $ P8 M* U- `0 P, M* U* }
  1901. LDA $07AA
    $ D6 V- H+ Q: c) @* J2 R1 [1 P* _
  1902. CMP #$02; i7 S! O, K9 \8 V3 W) n0 _
  1903. BNE PAGE31 T% t! \; L4 d) K( d5 X" ^1 R
  1904. , n5 w0 {+ s. \% ^+ h/ U6 i5 H
  1905. PAGE_02:: I/ s* I' s9 R) o4 O
  1906. JSR BULADD_PPU* }6 A8 H) B- n  F" N
  1907. JSR SKINGE_PPU
    ( r, G  ^# k, k1 I4 |  T
  1908. JSR BULMIX_PPU
    " }$ ]# R  f7 I2 p: x- J2 ?- t
  1909. JSR ENELOC_PPU
    2 p5 D7 x% `2 g. ~
  1910. JSR FOCFUL_PPU& u. x- q; m7 o# J# T1 G+ z/ ^. o
  1911. RTS
    0 _4 m; v' `% f% X
  1912. " X2 L+ E# H8 l
  1913. PAGE3:
    + Z0 m) K- {6 A- ?2 n
  1914. LDA $07AA- l" B4 s( n8 t- O2 U
  1915. CMP #$03
    - r5 N- N& _" n' H
  1916. BNE PAGE48 O$ v- J# @) S2 A. r
  1917. 3 O9 I& F+ J2 [4 I: l& ]/ h! a
  1918. PAGE_03:; d, e* P0 ^/ z# y
  1919. JSR BULCON_PPU
    . y  h9 f  ^! F8 U5 |- q
  1920. JSR SPEBUL_PPU
    / a% D: O2 w3 ^# O# C* T
  1921. JSR CLEALL_PPU0 ^& W; g9 q$ f$ `( W
  1922. JSR HARDMODE_PPU
    * j( I$ X( Q1 `! I0 u
  1923. JSR B_TO_JMPSTG_PPU/ x/ _! M6 ]" W" F, Z+ Q' @. a
  1924. JSR A_TO_PLAMOD_PPU: |0 S: p$ @3 `
  1925. RTS3 Q  k# U0 F( g2 l0 x; y
  1926. ; ?4 K% t1 C. i) n! w3 q0 h
  1927. PAGE4:
    9 o+ i! J$ K7 `% O+ m8 l* ]
  1928. LDA $07AA+ i( B0 O& o. M8 A- [* s7 O4 j. X
  1929. CMP #$04
    2 r- R- L9 ^: S, M# H! `5 N" Y
  1930. BNE PAGERTS
    ' U- z5 A9 O9 @! E, K5 H. r
  1931. & d+ `% ~" [5 B9 l6 ^
  1932. PAGE_04:
    ' e' c+ S- {$ G8 a& B
  1933. JSR MOVSPE_PPU1 X4 n. Q6 N5 }: ^( I2 b+ e
  1934. JSR UNLJMP_PPU
    6 I, x5 u7 y6 l$ N7 m+ o0 ~
  1935. JSR DESTRO_PPU
    3 T3 J$ G+ x( T1 g4 ]
  1936. JSR EQUBUL_PPU
    & n% \) r4 j9 ~4 T( L0 W
  1937. JSR MOVESPEED_PPU
    8 b  ]/ g2 J% I% ~. W$ i, s
  1938. PAGERTS:
    % ^' I9 }6 P9 J5 D4 L: d; }
  1939. RTS. C: v9 T- ]$ I  R8 G) o

  1940. . x9 b8 F$ s3 W; H! i5 F
  1941. $ z' x: h  N8 ~
  1942. PLAYER_01_STRING:
    ; B% W# j4 _, \1 J/ ~+ A7 n" a' [
  1943. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$82,$80
    # T" d& V& c1 G2 W
  1944. ; ~. N2 D# e9 |! E: @

  1945.   b9 l3 y+ T0 J( T. T/ h) J# z
  1946. PLAYER_01_WRITE:
    % P4 y: f& X7 s! P
  1947. LDX #$00+ n  ^9 l, l: u' R
  1948. PLAYER_01:! r5 ^) b! l: J$ |: J
  1949. JSR PPUADDR_PROCESS+ F" z  f' D. z# q4 a
  1950. LDA PLAYER_01_STRING,X; Z, d$ R& J6 n9 s7 L. X& c3 k
  1951. STA $2007- c/ I* L8 p. T- C: L' {
  1952. LDA #$00& W. ?! v9 H8 B- K  O# g
  1953. STA $2000, d% ^" _" d6 s3 \( [
  1954. INC $BA
    8 A' E) k- H1 E5 g6 R
  1955. INX, z8 R* [3 K" X- s8 O8 g
  1956. CPX #$0A; ^& I: C) d4 Q& U
  1957. BCC PLAYER_01/ z2 q; K$ U, e. t2 q' W* a
  1958. RTS
    2 R9 S- L. L3 Q9 w

  1959. 1 m5 F2 h$ S* i& m' f! s
  1960. PLAYER_01_PPU:
      ^! d  ^  E  t  ^3 ~) o/ F$ _
  1961. LDX #$00
    0 }& o/ a. w+ F1 M: {6 s, p4 ^
  1962. LDA #$64" R9 C$ R4 J/ {% Z( _* w
  1963. STA $BA- s5 u, W  s! h
  1964. LDA #$20
    - Z* \# N" |! X$ r' W
  1965. STA $BB6 Y$ x9 m' I5 v" O
  1966. JSR PLAYER_01_WRITE2 M# A( |* V$ ^" i
  1967. RTS0 f4 e! C) U' E5 u; L
  1968. 3 \( N$ v1 h; u2 |$ w; r
  1969. PLAYER_02_STRING:
    & Q. c& L, e( R5 \& z2 X/ S  r
  1970. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$83,$802 g7 \! u- N8 d$ o, t$ s  V

  1971. + O* Z- A' q" y$ d. e
  1972. ; r3 S% ?5 U; h3 s
  1973. PLAYER_02_WRITE:4 q' Z4 V) B  w1 P: V
  1974. LDX #$00
    * j3 F, c8 y; t5 P/ I9 P
  1975. PLAYER_02:! j' [# K* ?9 s9 _
  1976. JSR PPUADDR_PROCESS8 g3 _, ~" J6 B9 t$ c
  1977. LDA PLAYER_02_STRING,X9 L  r4 R' j* m+ F( c$ C! u4 ]8 k: a
  1978. STA $2007
    ! u1 Y" @1 C7 N3 X
  1979. LDA #$00
    / Z2 \0 U6 B- q* B
  1980. STA $2000' \1 Z. A0 ~9 n. c9 x
  1981. INC $BA
    , h" k8 b7 [- W' R  B
  1982. INX8 V0 x; F# F; l8 F
  1983. CPX #$0A
    0 w2 W/ |. g: \
  1984. BCC PLAYER_02
    1 Y* A( S! P- x3 ^8 [' i  h, k
  1985. RTS1 z' ]5 d/ a8 F( l0 k

  1986. 2 e0 F6 J* ~2 q) i  r6 p
  1987. PLAYER_02_PPU:
    4 h) {0 w* i; O# Q, d3 u1 R
  1988. LDX #$00
      |4 _" v5 G/ T$ _: X, _6 v
  1989. LDA #$73
    0 m" n- W# g; ^# O
  1990. STA $BA6 T0 z; s$ a9 g7 j+ i$ [2 I, t
  1991. LDA #$20  S3 _6 J2 T; J# {4 u3 p/ @9 J
  1992. STA $BB% R9 ~, I6 T: B0 i7 T
  1993. JSR PLAYER_02_WRITE. u. E; t! |5 V4 C/ ~7 s
  1994. RTS
    / a( R  [# G& D& G

  1995. 1 \  P0 u2 K5 q
  1996. PPUADDR_PROCESS:
    + @8 j: t- Y+ B
  1997. LDA $BB' D* V( {/ _5 T2 u3 h7 A5 _+ h( y
  1998. STA $20062 i% w6 [# V/ D* z4 X- d2 `
  1999. LDA $BA
    $ H! i1 t3 C: h! ?$ E! N
  2000. STA $20065 R8 C4 ?- y; _# `) `# K- ]3 l
  2001. RTS: `3 ~$ o% z, k+ d7 n8 t

  2002. 0 X/ `* w( B( f3 c
  2003. " a, d$ b+ [; t

  2004. 0 z2 w1 b0 f1 G: T% Q2 s% Z
  2005. ONE_STRING:
    # s2 t9 b1 @% o
  2006. .BYTE $99,$98,$8F' l! m# D. a! q: k3 s% G0 z, @
  2007. $ `9 y8 c8 ?3 x( h  ?5 p
  2008. TWO_STRING:
    1 l2 ~% D8 G2 r+ u
  2009. .BYTE $9E,$A1,$99
    8 ]! M+ t" L% d% n
  2010. & Q( E! T+ A4 W5 b4 v. q6 x7 q
  2011. ONE_TWO_PPU:
    % |2 b6 y- W# l! E9 o
  2012. BNE ONEWR
    6 @8 p0 a4 l4 O3 M) _
  2013. TWOWR:" a3 P3 O) @- _+ P& K4 T. r1 e
  2014. JSR PPUADDR_PROCESS8 n' B8 d4 E; \+ n
  2015. LDA TWO_STRING,X, x* B' d$ h6 [
  2016. STA $2007% H0 z) p5 w0 H- e% z
  2017. INC $BA
    5 e+ I% H9 P* B6 p/ R7 T
  2018. INX" Y6 U: z# N& `, R5 b
  2019. CPX #$03: d' D1 z; W' F8 c/ A& b
  2020. BCC TWOWR
    9 N8 |. ~+ e( R$ ?2 y
  2021. RTS9 ]& F& g: I' m9 b; S$ i" b
  2022. ONEWR:
    % a7 D3 I: q3 a$ u
  2023. JSR PPUADDR_PROCESS. \  ~6 {3 b5 V# V
  2024. LDA ONE_STRING,X
    : ?9 L, i" S; [% j8 n, @
  2025. STA $20073 g6 w. y$ X1 b! |/ ]
  2026. INC $BA
    - Z' v% z0 L' p' B
  2027. INX1 n" c6 q. H5 i
  2028. CPX #$03
    3 v" A6 }! x4 @- N
  2029. BCC ONEWR, o! E% r* N0 @: B1 f/ {0 f+ y
  2030. RTS) f4 I3 j1 @6 |0 e% V0 w/ a
  2031. 9 Q) Z8 s% T0 c6 t( Q' u. X9 Q9 V
  2032. MOVESPEED_STRING:
    ; _) c0 j  Y$ }. g; E
  2033. .BYTE $97,$99,$A0,$8F,$80,$9D,$9A,$8F,$8F,$8F,$80; J+ L. w0 W: z2 X# t% p6 ]5 z
  2034. 2 F* n3 N* N$ m9 T
  2035. * Q, `7 o! V1 c& ~) j* l2 z( H
  2036. MOVESPEED_WRITE:8 p- ^. q, v/ {3 W2 S, U
  2037. LDX #$00
    ( ?' ]) D" v+ `; O& [  V
  2038. MOVESPEED:
    7 ^! K3 C2 x% f: a* Y
  2039. JSR PPUADDR_PROCESS! p1 o( {' S3 E
  2040. LDA MOVESPEED_STRING,X3 N' T' G9 a3 ^  r
  2041. STA $2007
    , ?2 y, ~4 o9 \9 o" V$ x/ ]
  2042. LDA #$00, l( q% L& B, Q6 c1 e- y4 Y
  2043. STA $20002 l+ n& L  s$ y* B+ a: X
  2044. INC $BA  z4 u* [$ @+ S# @; f
  2045. INX7 y5 p- I. [0 q
  2046. CPX #$0B
    : h( `8 F4 l* g2 s# d: v7 ?) `
  2047. BCC MOVESPEED% d- J  r: g% e: |
  2048. RTS; C( {! C# T: @0 Q

  2049. / F# L7 x+ A5 a3 B/ h5 r
  2050. MOVESPEED_PPU:: o$ a; E+ [% v9 y( v1 l; t
  2051. LDX #$00
    - s  @1 X2 J* f  A
  2052. LDA #$AA% z/ d9 S6 H7 `
  2053. STA $BA; q* Q1 J( s& q6 t% O: L$ X
  2054. LDA #$22
    3 M2 v  }3 H* Y5 W8 v6 K8 |
  2055. STA $BB! R% K) T, n, ]- X) m* {0 B' }
  2056. JSR MOVESPEED_WRITE! @, h1 y: ?: m
  2057. LDA $7003
    . A, g& a) r& @+ q/ n4 g
  2058. CLC0 o+ o- R2 u2 d4 M: r* [4 ]
  2059. ADC #$827 F* _9 D5 X% L0 T( o
  2060. STA $20071 x& o  W/ h& o! C% G
  2061. RTS
    - U$ T# d& o. h8 a; `6 \
复制代码

本帖子中包含更多资源

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

x

评分

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

签到天数: 3083 天

[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 | 显示全部楼层
太强了!佩服佩服!

签到天数: 2203 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2016-11-21 09:59:17 | 显示全部楼层
这东西找了好久勒,谢谢!!2 |- ?( ~# g4 K$ `5 h: g
[发帖际遇]: wjb19780515 发帖时在路边捡到 5 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜

签到天数: 2366 天

[LV.Master]伴坛终老

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

签到天数: 2200 天

[LV.Master]伴坛终老

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

该用户从未签到

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

签到天数: 348 天

[LV.8]以坛为家I

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

该用户从未签到

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

使用道具 举报

签到天数: 15 天

[LV.4]偶尔看看III

发表于 2025-3-16 20:07:05 | 显示全部楼层
谢谢制作,辛苦了
回复 支持 反对

使用道具 举报

签到天数: 806 天

[LV.10]以坛为家III

发表于 2025-3-16 21:54:53 | 显示全部楼层
謝謝大大修改及分享!!
[发帖际遇]: ray_juan 打扫环境卫生,被奖励 5 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 37 天

[LV.5]常住居民I

发表于 2025-3-16 22:21:43 | 显示全部楼层
看看还能下吗
[发帖际遇]: zxnm1957花5 个 柠檬买彩票,血本无归T_T. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 225 天

[LV.7]常住居民III

发表于 2025-3-17 09:51:47 | 显示全部楼层
这样按到后面 似乎要头晕了~~哈哈
[发帖际遇]: 一个袋子砸在了 woshibabala 头上,woshibabala 赚了 3 个 柠檬. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 16 天

[LV.4]偶尔看看III

发表于 2025-3-17 15:36:20 | 显示全部楼层
感谢分享
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-3 21:03 , Processed in 1.103516 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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