EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2016-11-19 22:19:45 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2016-11-19 23:11 编辑
7 J& z$ P' o) E% m# w" ]8 {. h; W" z3 U! e" |4 o' J' |
     [FC][魂斗罗旋风终板END暂停显菜单]
+ {6 _) L$ p  |
作者:FlameCyclone(flamecyclone.ys168.com)
- C  O& v1 S3 Q: L( k时间:2016/11/19 21:46:00
4 R( F* {" ]  d4 M更新日志:

) G8 e, `1 v) ~2016.11.19:加入暂停显菜单(共5页).
7 |- x' X0 Z- _2016.11.12:加入无限跳跃.
3 ^* N+ |3 C) h+ Z9 ]2016.11.12:加入速度调节.

& ~5 S) _: [  U2016.11.11:加入敌我子弹对消功能.
7 `4 B. `0 f; n$ T& x& w2016.11.11:加入全屏闪灭功能.- ?" N7 g! Q7 g5 M) n
2016.06.08:加入全屏瞄准功能.
0 }# u4 M& m* ^+ s2016.05.31:加入弹速调节功能.! b3 ?2 @& W+ u* @8 |
2016.01.01:加入高难度模式.4 T8 F* d0 N5 Z% |% P* \0 Q% b, B
2015.12.12:修复消除威胁不足,使得移动BOSS关卡(第2,4,5,6)正常通过.
7 R3 N* K0 B$ l* z1 D  c% S: b3 z2014.07.05:由于对打功能不完善,直接去除,更改为生命锁定.
+ S8 g* P: w7 x, u' z2014.07.05:双人切换功能优化., s# Y6 L7 e8 e& {7 v- M4 m" i
2014.06.01:修复第三关浮空到BOSS前必须关闭浮空后跳跃才能见BOSS的麻烦.
' T/ o8 W: m* t1 y5 m8 c2014.06.01:取消生命锁定,改为生命锁定模式下剩余生命不会少于一条.
- A4 q% Q. w' y3 C. _) n: [2014.01.18:修复GAME OVER字样只有G和O的错误,原来想拉大字母间距离,看来行不通.9 k$ ^" Z6 p2 L5 {0 x- r  D
2014.01.18:浮空模式下,P2飞行高度未限制导致死亡,原来是指令本该用绝对X变址的被用成了绝对寻址.- s. `! `1 t. Y0 Z
2014.02.08:拿手机无聊时又发现一些错误,所以修正生命剩余勋章显示的错误(某天用读卡器插在DVD上测试发现机器读不了卡,原因是目录级数超过三级,只有刻录成光盘来测试,结果发现生命勋章的显示竟然无压力!)
% j* i7 _8 F' t2014.02.13:加入自动演示通关.) X- m/ R( o; d* k# _
内容:2 C5 x0 e% n$ Y
23.暂停菜单:        暂停后,自动显示菜单,选择键翻页,方向键和BA键进行各种功能的开关操作.  Q1 {- E7 g. Z
22.无限跳跃:        暂停后,选择键4次,按下开启,开启后游戏时无限跳跃.
2 t, J# o7 {: {; p2 X3 N. d21.速度调节:        暂停后,选择键4次,按左右调节行走速度(0-3级).

, y6 ?; z' F. Y  Y20.子弹对消:        暂停后,选择键4次,再按A键切换,此时敌人子弹可以打掉." }0 \0 A8 p# A8 |
19.全屏闪灭:        暂停后,选择键4次,再按B键切换,开启后游戏时按选择键屏幕内敌人闪灭.
8 |; t" b9 d( ~" e% L) b6 |18.全屏瞄准:        暂停后,选择键2次,再按B开启/关闭,子弹对消开启时无效.' B" y& r4 F1 K" y% I- S1 z. n- S
17.弹速调节:        暂停后,选择键3次,下开启,非暂停时按选择键调节,默认为1级,共5级.
/ t' y- X# f1 X16.困难模式:        暂停后,选择键3次,右键切换,我不相信你能够无伤通关.# }' W. S# G5 L$ b
01.子弹切换:        暂停后,选择键0次,上=快S,下=快L,左=快M,右=快F,B=快普通,A=取消当前子弹加速状态." p" J* R) m# h) D# Y" g
02.无敌锁定:        暂停后,选择键1次,上开启/关闭,不用讲了,金身无敌.
$ I- B+ G% D% R5 g. C03.生命锁定:        暂停后,选择键1次,下开启/关闭,生命锁定为16条., J* H) n8 R8 P4 ]: h
04.角色双控:        暂停后,选择键1次,左开启/关闭,无非就是主机控制副机.  T3 ?, E- ^) v( |$ b# x
05.生命底限:        暂停后,选择键1次,右开启/关闭,锁定剩余生命数不少于1条.( A$ s, |5 `$ |
06.一击必杀:        暂停后,选择键1次,再按B开启/关闭,即使是第8关BOSS,一发花生米依然要其老命." r7 b% F  R4 y$ D
07.角色浮空:        暂停后,选择键1次,再按A开启/关闭,第三关浮空时按选择键向上卷画面轴.
$ {/ e% F& K) y* j  H08.弹数加强:        暂停后,选择键2次,上开启/关闭,此时所有子弹发射数为15发.1 d4 S4 Z* R. h
09.皮肤更换:        暂停后,选择键2次,下开启/关闭,主机开启时橙黄色,副机开启时为蓝色.
- H( z6 V* b) V10.混合子弹:        暂停后,选择键2次,左开启/关闭,此时连射时所有子弹混合.) d; }5 L) V0 J/ S
11.敌人锁定:        暂停后,选择键2次,右开启/关闭,此时敌人原位跑不动.' x& t  x& a4 A+ U5 H
12.跳过一关:        暂停后,选择键3次,再按B使用,使用后可以直接到下一关.. u) h/ B0 Y7 `+ d& R1 t7 {" n  T
13.单双切换:        暂停后,选择键3次,再按A键切换单双人游戏模式.
1 W9 N' |& h3 F/ `$ @! D7 l3 n14.子弹方向:        暂停后,选择键3次,上开启/关闭,开启后发射的子弹攻击方向会随着操作的方向按键变化,第二关和第四关的小关建议关闭(开启的话打中敌人太难了哦).) X1 }% @& Z" ]1 A. J
15.消除威胁:        暂停后,选择键3次,左开启/关闭,此时游戏时按B键使得移动物体被消除。8 `+ e9 e6 ?. P6 [5 \' |: ]
A.做了一些汉化(小字体),剧情,关卡名及通关后的文字未汉化.8 |! _3 X9 E# ~( A5 q7 H: O  c
B.自动演示通关,双人合体打通关,演示时有背景音乐,通关后一样会有结尾及恐怖台词,之后游戏进入选关(相当于游戏自动开始了).注:通关后P1及P2会获得16条生命!也就是说看完演示自动开始后第一版有16条生命!
% @6 K" i3 @# G! g( @C.生命显示加强:最大显示15个剩余生命勋章!电脑端请开启精灵超过8个(这样勋章不会闪烁),手机端认命了,不过不影响正常操作.+ E5 V) q4 ~$ E$ O

  e9 r& `! u% X# r6 ^    如果有什么好的修改建议,恳请通过QQ(1490868135)联系我(也许我不在线,可以留言在QQ里)
0 t& F  J1 E( {1 N+ `" t7 f$ [欢迎大家转载,转载时必须注明出处.4 u1 o% A9 j0 e  {  c
- s6 t- D% H3 ~6 b) T
游客,如果您要查看本帖隐藏内容请回复

3 J2 g6 n! X/ b7 d- j5 R) x/ E+ P( m
忙了一个星期,觉都没睡好,眼睛也疲惫不堪啊.终于找到解决方法了,目前VIRTUANES运行不了,请使用其他模拟器玩.
. H+ P* k9 p, \0 h6 @+ h这几天的劳动成果如下:
  1. .ORG $B4001 p4 j, {4 [. }

  2.   d2 M% e9 j$ u

  3. 3 |% l1 _7 c) N
  4. PROREG:# x4 A: U9 \: J6 W
  5. PHA; \, E! P7 G) F+ X# P+ e5 ~+ Z
  6. TXA
      V; `3 t4 v( v
  7. PHA$ u3 T% I; e5 l  G  G" a0 d; W& z
  8. TYA
    0 w1 ^' j% N# o- ?# @
  9. PHA
    % y# e2 K' W0 w% G* D0 O" i9 V
  10. LDA $25
    9 ]" d# B0 U7 J  A4 q; W
  11. CMP #$01
    8 p/ [' z7 p/ S( y
  12. BNE RE
    1 y, R  p% o7 h$ `# _
  13. LDA $010A
    5 a; B( `% n7 q( @
  14. CMP #$00: S* n. W4 M) p
  15. BEQ P1  T; z( |# L8 G; A. l* ?# A6 q! T! w$ W

  16. 7 O9 B9 J! c" \1 L( ?5 ^* D
  17. RE:$ w4 @/ P8 J1 ]8 W) W7 V' @
  18. JMP PPUWRITE
    " ^! ]& M; \2 O0 Q# h0 X: R4 |$ ^. F
  19. / D: Q! i9 i2 b( D( \
  20. P1:                ; 条件判断
    / A8 H$ u& J6 V) `; N+ v4 [
  21. LDA $7FFF
    - O0 o2 H# q4 h
  22. CMP #$FF0 B* y# E& q8 f: q$ p2 ~- a- P
  23. BNE P1RP; o, w; n/ G- f! X
  24. LDA $7FA0
    . d! Y- C$ u6 p8 e$ y$ G
  25. CMP #$00
    # [8 `4 p8 ?, y& [' w! J. r; V. O
  26. BNE P1CMP% r+ J, {/ x+ T) }" w- L5 M9 @
  27. LDA $20019 h+ h8 g/ v1 \; H1 T( k( p2 t( x
  28. PHA  d/ {, M% G+ y
  29. LDA #$005 k8 _* W, P" ~$ D% ?, _: V1 f
  30. STA $2001
    3 |& ?+ i$ j. ~0 {5 V6 I! J) l
  31. LDA #$FF
    + i" Z( ]- ^$ b; e' p7 m' Y# s
  32. STA $7FA04 Y3 s" k  `8 I' S) d. D
  33. JSR CLEANA
      s" z! [* `3 q% A
  34. PLA
    , R4 y! {( T4 y; O
  35. STA $2001: M( l. @. d4 G+ p. i: T* Y$ y# r/ ~
  36. JMP PPUWRITE
    6 I6 G% N& G9 }0 B( V8 o. R
  37. P1CMP:- z; g' I1 {- ?9 `- r' [
  38. LDA $7FFF
    3 Q3 h$ I; d* j" v2 `
  39. CMP #$00
    1 O, B/ v9 ]4 y
  40. BNE RE0 f! v3 C. D- s) z: q% w
  41. P1RP:
    7 v+ G- W" Z9 J( i7 o
  42. LDA $2002
    ; Z% \( E# V% A" t% g  x/ @
  43. LDA #$00
    1 @! B$ W( R+ x5 z
  44. STA $2001- F9 y; R& K6 l! p/ O. E! f$ W
  45. LDA #$FF# G# o6 {& @% O) ~, V
  46. STA $7FFF% D- S$ h; {  ]
  47. STA $7FA0
    + D" s. ?" u6 \1 k( k  z. b7 Q
  48. JSR COPYPPU
    , J& k5 S1 s6 d. @. ?. `! j/ }
  49. PIRP2:
    2 ]. G4 q  {: g" j
  50. JSR CLEANA! F! N/ O8 g  O5 m; R# b) G
  51. JMP PPUWRITE
    & A4 ^4 n0 \% C# E) E
  52. # |" x7 X8 {& [6 c0 X; W
  53. COPYPPU:
    ) y9 f, n8 D0 I! P
  54. L0:
    2 q! n8 ~8 l* Y4 s0 q
  55. LDA $308 n, I/ @4 [0 V
  56. CMP #$02
    $ C7 C- i, i  q, q9 z( \0 n% @
  57. BNE UNPROFC
    7 K, k- e1 }7 S8 q# o" w, j' M
  58. LDA $FC+ y- y+ d( \) @7 v! e1 h0 [
  59. STA $7EFC1 `( Y1 l8 v. v8 }2 t, R
  60. LDA #$00
    # h1 _4 A& a7 |; g
  61. STA $FC+ @! B6 M/ `: X: `9 k& T
  62. UNPROFC:
    / e0 u5 V4 m3 R, T2 i( F
  63. LDA $FD2 q+ A8 T7 E( d# B3 \
  64. STA $7EFD6 k& i$ q# K4 @8 P) n/ F
  65. LDA $FF
    ! w. c9 @) ^  @' a* g. A; X! [
  66. STA $7EFF
    / ?2 W* Z3 f0 L2 n5 z
  67. LDA #$00
    : q& c) J6 v9 O3 _9 i# }/ T
  68. STA $FD% T3 t9 A' V( O4 Q+ E" a
  69. LDA #$B04 I0 Q  U- M  i" z  B+ Z) E
  70. STA $FF' p6 ?$ F& G5 ^9 H+ ^3 g* Z+ a( u
  71. LDA $07C1
    8 }5 }$ K% u4 q* k+ q
  72. STA $7FC1) O- I+ i0 o8 c# _( G( D
  73. LDA #$3F4 A1 y0 _& M9 V1 p5 Z+ c. g
  74. STA $2006& }% k" V$ `/ _" v
  75. LDA #$01
    8 \- v) o! j3 J% ~
  76. STA $2006# v% K8 G$ k) F1 A! o% A
  77. LDA #$242 X2 n& `1 c/ e) A( Q  m5 w7 U/ }
  78. STA $2007+ t1 w8 x# c. ]3 U0 g' v. j
  79. LDA $07F6
    # g) [, B( j, n  ]# T8 R4 Y
  80. STA $7FFE. G  u- m0 ]8 f% q/ @
  81. LDA $00FE
    5 S. L; i: Q4 s* N8 Q" R
  82. STA $7FFD
    ! }$ h" I+ V4 z: R
  83. LDX #$00, O/ W; d. r! u
  84. LDY #$00
    7 K6 o- Q, R2 U
  85. LDA $BD
    . ]9 ?2 G' Q4 h: z' V) `! R
  86. PHA' ^4 Q% @1 a4 v: z( \
  87. LDA $BC# b5 B  k& Q! H  c0 J; y& B
  88. PHA
    . ^2 J, U) n- h- `7 ^
  89. LDA $BB1 M7 N) u4 L1 z
  90. PHA# P$ M& n. j# r; E8 E$ f! ~
  91. LDA $BA
    3 }' [7 V8 w0 a1 i: a
  92. PHA$ K/ D* `  |9 S
  93. LDA $B9
    8 s2 m6 g" s5 X$ j/ {. W
  94. PHA& m( E5 X! p$ x4 i/ F/ w4 G+ }
  95. LDA $B8
    - |/ k5 C/ {8 c/ `- K$ F  w8 l
  96. PHA
    0 b/ X: e$ o& S1 C
  97. LDA #$00
    & S' G/ [& c, \1 F7 ]3 ^, n
  98. STA $B8) \/ d8 q6 P. q7 W& `0 M
  99. STA $B9
    7 ]5 v# w+ D: C. W1 N+ c. X
  100. STA $BA
      d0 i% u. ^- [1 |+ E2 T, F
  101. STA $BB" h3 z% `- J( l4 N: T
  102. STA $BC  Y( Y3 ]. F" E3 k8 g
  103. STA $BD. c% Q6 ]0 \2 C/ M/ v
  104. LDA #$000 }% M1 `1 k  c% z% o6 B3 r
  105. STA $BA- Y9 y/ j5 C$ t1 k! m8 P& s1 G
  106. LDA #$20% b. F8 L9 z# f- ]6 a) _8 U2 l
  107. STA $BB/ U7 \: r% ~! ?4 a3 {; G
  108. LDA #$004 S1 q* ~3 j, ^/ x* C# w: p  j) t
  109. STA $BC
    4 e# I, h0 w5 T
  110. LDA #$60
    & ^  b) v1 b" F- v. T
  111. STA $BD. z1 g2 [0 t. `, |
  112. 8 D; Q; [0 ^3 s: E7 [. @. N
  113. L1:                ; PPU复制
    1 n4 c1 j7 ~. N: |( W
  114. LDA $BB% b. ^" M) r% c. j- z: }9 z0 p
  115. CMP #$303 }9 I5 ~6 @  G2 @1 U( F
  116. BNE L2; L- W0 V: J9 p' R  h+ |
  117. LDA $BA# P# c8 F+ w+ r) M7 a% B0 [
  118. CMP #$00
    & s" C. n7 ?1 K9 G) [2 |0 }  }
  119. BEQ PROADPLA
    : u- }! J& p7 V* \
  120. " j8 p1 o9 J( A. g
  121. L2:5 e1 V- P  R8 u$ ?) W
  122. LDA $BB7 U& ~8 ~1 J* y1 i- F; ~% l
  123. STA $2006
    * h& ]% S# Q1 y* t! ^: M
  124. LDA $BA/ Y0 j' T  [- D% |& S
  125. STA $2006
    1 V+ A, v. I  s2 h8 z& a" w! E5 i
  126. ; M8 i  R; r/ {3 D
  127. L3:7 k7 X  x) {- F! ^
  128. LDA $2007% L# o+ s  t: y* G% O0 J/ `
  129. LDA $2007, ^# f/ s6 ], u% X1 i
  130. STA ($BC),Y
    # ~6 ~/ y, b8 g1 `% h, ]% T" U

  131. " p) _3 j  n2 [  L) Q
  132. L4:
    8 J. w* J% g+ _6 I
  133. LDA #$009 @; ], P- j* E. F  V! v
  134. STA $2000& J' A4 p7 W8 i1 g/ v0 b
  135. INX) C: X; z: |" Z3 Z
  136. INC $BA
    * s0 i' r# p2 {7 V' d' c
  137. INC $BC8 w- {% V  \+ r. D  C; j: }
  138. CPX #$00) G; T  z: J& {7 ]# w8 u. R
  139. BNE L1
    % M0 F  X2 h. g" c
  140. INC $BB
    " c" A1 W( J9 [9 X0 p
  141. INC $BD" }; `+ ~' n1 T
  142. JMP L1
    3 i+ o1 H6 T3 p

  143. 7 h" @' X' n/ p" i9 Y
  144. PROADPLA:                ;出栈: k# M: l8 O# @1 L3 R) F  Z
  145. PLA
    2 P3 j: T, \4 C/ Q% q
  146. STA $B8
    ! F' \  B" e: n$ z2 w9 \0 |
  147. PLA
    / f' q! O6 c, e7 i$ j
  148. STA $B99 a, |" C" j( Q% i) |! B  Y/ _
  149. PLA
    ! @. f# d0 q3 n) ~# U4 D* N
  150. STA $BA
    6 Q  g# t0 v; o3 c
  151. PLA
    % i' T% W% I* P! m  W
  152. STA $BB1 h& A. v; _; ]7 A# R9 k/ A3 q
  153. PLA
    & g8 q& h: Q5 W
  154. STA $BC
    . }5 J$ B. W/ b
  155. PLA
    # V6 K' C/ l: ^3 _% Z2 K6 s
  156. STA $BD
    & ?! R+ C. v7 x* X, ~, f* f
  157. CPRE:
    * x% A# ?) w% O8 W6 D# C1 e
  158. RTS
    : L/ y' c, c- Z0 b, f
  159. * A8 E" s' F4 m9 u
  160. CLEANA:                ; PPU清空; W) O' D. O, b$ @7 @0 A# }, K
  161. LDA $BD
    " X, t. Z8 O0 c, W  ]* M- J
  162. PHA( X2 w6 b4 o: E( f. W! U
  163. LDA $BC) U3 Q% O7 v. p* \/ D
  164. PHA
    9 C' o: [- @, n$ C( k( \$ [; D; y, l) n
  165. LDA $BB; [" N, D' `( `; A) E0 w
  166. PHA
    : H5 `. O" I: f$ k
  167. LDA $BA: P: e, q+ q$ C& j
  168. PHA, c. a) t' I" ~* y+ P1 l
  169. LDA $B96 \% `" p4 k2 ?
  170. PHA
    + ~. ~; m4 X) c4 \9 t4 L5 Z  Z
  171. LDA $B8( U* i# N9 `  r" j; l5 |7 `9 ]
  172. PHA) K3 G1 q( k7 Y( A2 Y
  173. LDA #$008 O9 m8 I: j. ]3 r% _: o* h
  174. STA $B8# }( G" Y3 ^% R
  175. STA $B9
    ' A6 S* Z' k" h1 ~+ ^
  176. STA $BA  {4 I7 f1 A  v* |
  177. STA $BB
      t! g' R6 l8 m$ P
  178. STA $BC
    3 Q1 ]& @. Q- _2 N4 r+ y
  179. STA $BD
    % @5 e: o6 w) m7 y; H2 g9 p
  180. LDX #$00
    3 d- w  L3 O9 C
  181. LDY #$009 o2 f1 u- D# n2 J
  182. LDA #$00' V3 o( p* F, n9 M6 n" @% P
  183. STA $BA
    ) P1 _/ {; O$ M8 }% e
  184. LDA #$20( G% D1 r& Q  ?6 O! s
  185. STA $BB# w* ]% I8 g2 H
  186. : s# m" t8 i+ Z9 H# P: o0 D! D
  187. CL1:
    + |' z# }9 z! ~( p# H! z* B
  188. LDA $BB8 w& P9 [& G* W
  189. CMP #$30
    ; B1 X) }( r7 i. U* a: T, O$ n6 d
  190. BNE CL2
    + O8 c- L1 v  l) b" G0 v
  191. LDA $BA' C3 p0 c. l4 b; p2 R% l  @  J+ s9 u
  192. CMP #$009 M5 T, f/ B/ E/ V6 z/ ~! C) z
  193. BEQ FREEWRIYE
    0 ^8 o/ Q2 k0 i" H7 {
  194. 9 x; r/ ?/ [% K% i. ]8 {6 W
  195. CL2:
    5 \( h' `; I8 d' [: N
  196. LDA $BB
    2 e8 c) H& x0 U! l( h" K
  197. STA $2006
    , ?) A9 n, L, D. _
  198. LDA $BA% A' d( z3 q5 I; T: y. P. S
  199. STA $2006
    1 D- q, R0 W6 z" v! x
  200. . U3 h- Y. S+ \3 K7 p
  201. CL3:8 T* ]9 d' q* J/ B! t4 r' i$ f, p# H1 a
  202. LDA #$007 Y" E9 e/ \, b0 Y' T
  203. STA $2007
    ( E$ g* Z6 T; l$ C
  204. 6 Q7 G# j, W* l1 y' n; O7 r2 t
  205. CL4:
    # o7 w! J5 y" @/ m, K, N; X( ]
  206. LDA #$00
      }! ^3 z  h4 N, ?4 g
  207. STA $2000* U/ D* C3 h" @! u4 E; B) e- W' A
  208. INX1 w- q4 V4 J  Q, V  g9 E( b
  209. INC $BA
    * C8 ^' u/ K9 M) b
  210. CPX #$00) y4 h4 ]5 C# `- W; f% [3 E1 Z% i
  211. BNE CL17 _5 K8 [: I/ g. {# K9 p
  212. INC $BB
    : j* t$ v: `9 \  s9 s0 M
  213. JMP CL1
    6 q# @! L: }9 @2 i9 |7 y9 ~' j

  214. 7 @. n* |9 a: Z0 p6 W

  215. - ]* E+ M: P8 X$ w
  216. FREEWRIYE:
    $ n1 s2 \7 e- h! t2 n/ o! Y3 d
  217. JSR FREE
    2 [& t5 j% {/ C7 p# X

  218. 1 U$ m3 W$ h! G# Z6 u

  219. . g4 K" w/ b7 i7 X
  220. ' x3 e& s9 g1 q$ c" F
  221. . `+ e& Z( K( b) m
  222. ) Z4 C, v/ K: O) `# ~1 d9 b
  223. CLEANF:                ; 恢复现场$ S$ f  g* ^- M# \' Y
  224. LDA #$08: ^0 D5 e2 s( i# ?) y5 T
  225. STA $FE& h2 N' ~# D- Y2 w  W2 |% w
  226. LDA #$00
    4 E$ ]4 B# ^; c6 j0 u" D
  227. STA $07F6
    4 q3 a$ J4 H# z2 G) t2 u& s* U
  228. LDA #$24
    5 F/ v- \! c  v: r2 p  l) G
  229. STA $7FC0
    , i& p9 A1 C- J' N
  230. PLA5 L8 i5 Z6 u+ N7 g+ ^
  231. STA $B8( j- U' W* [8 T) \: U' L! y8 B
  232. PLA
    ! q: k) [* ^2 \8 X2 _' O
  233. STA $B93 @7 [( E! j# S
  234. PLA
    7 C' {% Y0 Z! D5 A0 L$ x
  235. STA $BA; Q9 m& J1 O. d9 S8 I7 J0 @
  236. PLA
    5 k  v6 F3 i+ u
  237. STA $BB
    0 l" ?6 _- v; J; \, ^+ r9 _* Q$ p
  238. PLA
    $ E2 _& }: b# q$ i
  239. STA $BC) U0 y( D: o/ I; }( h
  240. PLA; D; U) x6 G- F3 _7 k) K# @4 c( g
  241. STA $BD
    # n& w# h6 ^2 K1 g, g/ C$ G
  242. CLRF:
    * \0 [2 G+ _# f0 G
  243. RTS
    - O# a8 R$ n, s$ z6 I
  244. * Q8 o* @; X) T
  245. W_DATA:- i! c3 l0 ~- ]- h$ J1 d
  246. .BYTE $00,$01,$02,$03,$04
    7 `( i7 e( S" m/ ^2 E( d- P. E
  247.   
    9 ~% X2 \0 i% ~7 U9 V( J
  248. W_PPU:
    7 M9 H, K8 t1 a8 ~; [& U! r
  249. .BYTE $98,$97,$90,$9D,$965 z# b- Q1 I- ]. ?) D# a" j
  250. " P" T( x6 |  k  l2 u
  251. P1_STRING:
    6 J! v" M+ f* u
  252. .BYTE $9A,$82,$00                ;"P1"' H) N! i& i" h% \4 T4 i/ m
  253. 9 D" z, c9 s! U' T4 v1 ^- x( {1 x
  254. P2_STRING:
    5 H# Z- b% U1 L% g
  255. .BYTE $9A,$83,$00                ;"P2"$ ^: M6 s; O1 X2 f4 [

  256. ( j  P* U. b6 t( m4 ~
  257. WEAPON_STRING:
    7 c$ R! [, L$ C6 s3 n
  258. .BYTE $A1,$8F,$8B,$9A,$99,$98,$00  ;"WEAPON"
    / [9 y* N& |& {- l

  259. 7 L1 F- W" b! C1 _* ]8 [3 l; l+ H
  260. RELIFE_STRING:
    * ]8 _5 q. s" O: k
  261. .BYTE $9C,$8F,$96,$93,$90,$8F,$00  ;"RELIFE". {/ ?$ [) R" O
  262. ! h" B- M  x* }* o! g5 M
  263. P1_PPU:# Z* Y; ~  U% J
  264. LDX #$00
    + e9 e- B; L0 M# V

  265. ( T9 ]" W$ b! h/ I1 e( T
  266. P1_PPUW:. I# X: w! U' ^& m
  267. JSR PPUADDR_PROCESS
      l" c- _6 T- X9 M. l2 n# q
  268. LDA P1_STRING,X
    2 F! ?6 _  _; E! w
  269. STA $2007
    ; |: X! s' ]- M" E
  270. INX
    , v! G& n* k5 L/ V8 w8 H
  271. INC $BA6 U% p; u+ s7 q8 e- A3 i
  272. CPX #$03
    8 j2 I7 R% L7 c
  273. BCC P1_PPUW8 U, u/ R& n8 u: g* e8 q
  274. LDX #$00
    1 t$ U# l* X2 d3 D4 h
  275. RTS
    , v7 I0 |: u3 M; C) a( G
  276. 0 n& J+ w7 \% X& L& M7 m0 r
  277. P2_PPU:4 m( l; T( J# l" ~+ X
  278. LDX #$009 o6 a2 j8 s: c/ `( @' W
  279. 7 {1 L3 G, G. k5 ]2 B4 z1 ~: h
  280. P2_PPUW:, C! l$ t2 o2 x8 r  \
  281. JSR PPUADDR_PROCESS  K5 i) @* A9 g# Z6 X) o8 ?
  282. LDA P2_STRING,X8 M& V# A8 [5 P: h* o2 \
  283. STA $2007. e' u; C7 W% K* O
  284. INX3 F8 Q( D  h0 k
  285. INC $BA
    , f; R0 Q, P# _" C7 U
  286. CPX #$03
    , g' M# ~! [: Q+ f
  287. BCC P2_PPUW1 I1 e6 X) h( i1 Z0 {' P* f2 p$ Z0 a
  288. LDX #$00- o/ h3 [' |7 @, k- r
  289. RTS
    7 n6 N7 D5 p0 m% x" C

  290. 8 W$ V, o! j. X; ~0 b0 d; G
  291. , y9 J2 @, S7 ^4 X0 W- r
  292. LDA $BB2 U/ F: h) @/ R; h: v& E
  293. STA $2006
    ' }- ~% g1 E; r' m% W- f
  294. LDA $BA
    2 Q5 F; L' m3 \" B5 o. L
  295. STA $2006
    + o, `2 D' X; B% ]( B4 y& P7 G
  296. RTS, u) G$ y, l& S& [9 f& N

  297. 3 }! G  v1 @+ v8 ]$ V+ |$ M8 V; @

  298. , j4 M6 v* }! P3 K9 I2 w0 a

  299. + ?. c' K2 e( s& I8 |
  300. PLAYERLIFE:
    ' X# s$ F+ o9 u" ], }( H. I7 f+ d
  301. JSR LIFETODEC
    3 f) B) P2 B: @8 F" _
  302. LIFEPPU1:- O, e% ?$ z* N
  303. LDX #$00
    0 C. q1 J9 G( ]: [% h
  304. LIFEPPU1RE:& t* Y" J7 Z8 Z# _1 h! }7 }2 F
  305. JSR PPUADDR_PROCESS; _$ C! @" D# k9 u
  306. LDA RELIFE_STRING,X
    ; R' E. e; a9 e- S  b$ f, M% t+ i+ J
  307. STA $2007
    5 y1 ^. ]$ {: U0 b/ B& V: B
  308. INX
    ) U$ i- o  T5 G! w. @: J
  309. INC $BA
    ( x% {9 l6 @* [+ v: ]7 F" s
  310. CPX #$07. ~6 V% R# A% M  N$ X6 k" w
  311. BCC LIFEPPU1RE
    + S# y9 N  I+ i5 F; j( V1 U
  312. 6 |) j! x& V- O! f6 X- Z
  313. LIFEDEC:                ;生命显示写入8 Y' E" }. p, z' p" i% F
  314. LDX #$00
    : P8 J: d; a" h
  315. LIFEDECRE:9 p% g4 N7 X; Z4 n9 }/ P
  316. LDA $7A03,X
    ( n8 z+ [7 {4 A5 |7 _8 {" u
  317. CLC
    4 @4 C3 ^9 L: }) E! ^9 {. q
  318. ADC #$81
    - Q/ ]6 ]% _+ K6 R' m9 n/ k7 M
  319. STA $2007
    1 q& F3 }4 I; K
  320. INX
    + `: E1 W; T7 E9 |- c6 ]
  321. INC $BA" F$ l0 h: o8 n+ V' P4 J# E: d1 C
  322. CPX #$03
    0 }5 y8 v! j+ h6 ]3 `9 j& U$ V
  323. BCC LIFEDECRE; q7 a% R/ n& K
  324. LDX #$00
    # _4 x* Q( r' U: ?
  325. RTS6 ?8 Y( I& c; S: G& G  p9 _/ Q$ g

  326. ) R5 d2 a/ \& O$ G6 ]1 k
  327. LIFETODEC:                ;十进制转换
    2 _1 y+ e) J; Z4 Z) R
  328. LIFEL1:        ;initialise
    1 S' {% Y, I3 a2 g
  329. STA $7A00        ;$7A00=F3
    $ C0 C3 i! H6 g
  330. LDA #$00# \! p$ @0 d" b! _9 K  y/ |& u
  331. STA $7A03        ;$7A03=00& X2 X) t: T/ x3 o
  332. STA $7A04        ;$7A04=00
    : M9 A5 G# B. f; ?" D
  333. STA $7A05        ;$7A05=00
    1 I! H" R9 l* z& m
  334. LIFEL2:        ;copy data $7A00 to 6001
    / R7 x# f, g6 U% w7 n' b2 x
  335. LDA $7A00
    , D$ a/ [: J+ B
  336. STA $7A011 t( D! ^6 I2 Q) G( u% r4 b) `

  337. ( y, I) |; _6 r/ o
  338. LIFEL3:         ;hundred
    4 {. D) y" E  |$ P- x
  339. LDA $7A01
    ) A4 B4 l4 ^: Y& z0 l
  340. CMP #$641 h$ V! k- @$ d3 ?8 u6 J8 |
  341. BCC LIFEL6                ;$7A01<100 goto L6/ J( v) ^( ?) E1 p
  342. LIFEL4:4 m# x6 `% k9 X7 \: R4 g$ A
  343. LDA $7A010 \' F6 U, b+ y
  344. SEC$ P& k. `" H5 z2 I
  345. SBC #$64        ;$7A01=$7A01-100/ G/ w, N% x% s5 @: i5 M2 z
  346. STA $7A01
    # c3 l2 `0 j- Y! v1 }  n
  347. INC $7A03        ;hundred++
    - _2 H# u2 O- l- T5 ^- h
  348. LIFEL5:2 J' w  P. |  _' X+ n' b& p7 V  {
  349. LDA $7A01
    / x: h/ b  c( n
  350. CMP #$64
    1 m) f* ?6 w" m
  351. BCS LIFEL4                ;$7A01>100 goto L4
    , a# [& D! [* V2 ^9 _

  352. 0 p8 G0 U+ \  _5 ?! F
  353. LIFEL6:        ;decade8 l8 ]3 j+ q  Y: j! ?7 s
  354. LDA $7A01
    / D! D- B+ j3 Y0 ?
  355. CMP #$0A% k5 u) a* J- ]0 h/ H
  356. BCC LIFEL9                ;$7A01<10 goto L9
    8 c- x7 A$ _- N9 ?! }' S
  357. LIFEL7:        & v# x6 C2 P$ e/ r
  358. LDA $7A015 B+ w; o* ~% ]( [1 V
  359. SEC" R) o) G3 [" y  w  O
  360. SBC #$0A
    5 q& X7 y( `; M, ]! d( {
  361. STA $7A01        ;$7A01=$7A01-10
    6 ]* L& ]! `3 `6 {" S
  362. INC $7A04        ;decade++
    ( a- _  z7 i7 Z8 D. S/ J% h* Q
  363. LIFEL8:
    * H8 B3 `) i9 F8 \6 U
  364. LDA $7A01
    - ?" \. s9 g, ], Z
  365. CMP #$0A
    ! f& S' s+ [9 Y% u+ R  i
  366. BCS LIFEL7                ;$7A01>10 goto L7. P' W# D. r' a
  367. ;unit
    1 c4 i6 w$ b0 I3 T8 A) v; r3 F. t
  368. LIFEL9:$ J  q# N: c4 v0 `0 e/ h( K0 H
  369. LDA $7A01        ;$7A05=$7A01  m5 ]% B- H: E7 Q( v: ^
  370. STA $7A05        ;unit9 }, ]* ^# K5 y5 [8 y5 E8 w/ J
  371. RTS        ;return
    . q2 e6 q8 {8 J
  372. 4 `# ]* p& V3 h0 t& T

  373. 9 p1 Q7 L, F4 |/ U7 w1 a

  374. * U; f* I7 Y/ \( `/ `* v. N
  375. WEA:                ;武器ppu写入' B4 G7 H0 _! F# [6 t7 d
  376. LDX #$00
    7 Y, ~# d! s9 m3 k( h1 ^* B* B
  377. WEARE:1 K' @7 p: O$ E. n3 \
  378. JSR PPUADDR_PROCESS
    3 h  ?6 O3 u; D
  379. LDA WEAPON_STRING,X
    ; g3 p/ ?. ~3 o+ j+ }9 E
  380. STA $2007
      L9 c2 y5 q* z9 D
  381. LDA #$00
    : q3 f" x5 u  {- ]  I+ d
  382. STA $2000
    9 a  r7 U: e% _( [* o/ z+ q- y  O
  383. INX
    ) J( [4 r# Y: H# Y/ F- l4 u
  384. INC $BA+ J2 ]3 Z/ @7 F
  385. CPX #$077 z2 s3 ]3 J" p" `* S
  386. BCC WEARE$ g1 [2 r" k( s- a+ ?) K: r
  387. , A7 S, t- M. O
  388. READ_WEA:& T$ I" @9 u+ C0 Q) |$ _
  389. LDA $B9$ A* S7 F+ t! G. x1 _% V
  390. AND #$105 v7 ]$ h$ X1 K! B2 g/ A8 V
  391. BEQ NWEA
    3 [$ B9 L% @0 `
  392. SWEA:
    % c5 {- m  H1 h- u, U# ^2 v4 G

  393. * J+ p* C' e8 x9 V7 H
  394. LDA #$9D
    ' v1 j: h& {/ h- ?" o
  395. STA $2007- j0 g6 w# q5 g! e7 h) [7 W
  396. LDA #$00* X( j# A2 l6 ~$ a
  397. STA $2000& k) K, ^" }2 W' z( H" q
  398. INC $BA
    # ?' F. k6 Y  B* ~0 m2 D9 R) u
  399. LDX #$000 F* O; S" V, W
  400. JMP WEAREAD6 L2 L, \% r* U$ v
  401. NWEA:& @0 z- q) B- Z5 C6 U7 p3 D1 t( D

  402. % M. S# H0 r) w- }$ ^
  403. LDA #$8D- R. e. t, y7 a; V5 X
  404. STA $2007
    " _/ _) C8 g' @
  405. LDA #$00- H' Q/ V1 _7 t3 ^6 J: y" |4 ?) n
  406. STA $2000( G- c4 V2 e8 o8 r& ^: s( L
  407. INC $BA, T8 s: J7 M6 E3 r. v8 w, T
  408. LDX #$00
    " f, S' D& Q2 X8 B9 u2 X4 P
  409. WEAREAD:: G' m* E" ^# ?% M, I
  410. LDA $B96 J8 Y9 n0 v) e* b+ I
  411. AND #$EF
    3 F, ?, R2 M# j% u
  412. CMP W_DATA,X4 k8 m& u- v4 M2 |3 G) H( B. n
  413. BNE WEACMP
    4 o2 y& ]! p+ N9 M( f  R$ S

  414. ; f" P' Y, W& Y
  415. LDA W_PPU,X3 {/ n5 N8 }  C& ^) G! h1 z
  416. STA $2007
    ; r: c, o9 {+ C4 p4 s6 p% ^5 _
  417. LDA #$00
      h. z' Y: s6 j2 x
  418. STA $20008 w, X5 S$ Y9 V' m% C+ v5 U% Y

  419. + C6 {7 ~4 B$ s0 v
  420. WEACMP:" |2 t) a0 q# f4 k# U/ ?
  421. INX! L8 D% `1 o2 V) H
  422. CPX #$050 j* ]: Z9 b4 b- c6 C, M, i4 @# @
  423. BCC WEAREAD# o2 S2 ?  B  p8 G
  424. RTS5 [" {8 E2 R" S6 Z

  425. ) m* R; h& u  C6 i0 h; ?- b5 p

  426. 9 j$ V0 O% t- w  o" j
  427. PPUWRITE:- J% _. A* _* ]4 Z
  428. PLA) T1 p' Y3 ~+ W& f# `
  429. TAY- d, ]. P, X. `' N* U  E1 L# _
  430. PLA& C6 \( P& x+ G2 X! B2 V
  431. TAX" P/ p( q( S! Y6 r/ ~% x) S
  432. PLA2 |) B, `6 H/ B5 `' f
  433. LDA $25( ^/ [  w" B/ G; n( z
  434. CMP #$00
    # L& |- X( O2 q4 s8 ]3 w
  435. BEQ WP15 C) K& i- K  L
  436. LDA $25
    , Q: _/ v6 e. k; K6 v( c/ ~
  437. CMP #$01
    : O! Z: D! H; V0 y9 D# U2 c1 Y
  438. BNE WRE
    . S( G" x" B+ P- Z
  439. LDA $F5,X  b# k9 W4 i! S! ]# [
  440. AND #$EF2 }: d( k. K9 [( S
  441. BEQ WRE2 j( y9 M) L9 ]9 p3 k) j! T
  442. LDA #$003 p' s0 G7 O: i" o" q( Y
  443. STA $7FA07 C) h+ Q9 [3 ]& F+ ~. K+ K; g6 s

  444. - ?4 S! t: {; [$ V, w
  445. WRE:
    . t+ V  z6 ~0 F: D+ o* x7 K+ p
  446. JMP $A000% h- r! W! ~% [5 [) X9 E
  447. 1 B5 S7 x" L" x- e8 _6 H" t7 N
  448. WP1:( |; B% m5 {  Y( Z6 G+ c" S+ z; D
  449. LDA $7FFF
    7 @/ {  k% W1 }# h
  450. CMP #$FF7 j. q9 Y6 p: K9 @9 x
  451. BNE WRE: ~- ?9 y. n  D) i4 H
  452. LDA #$00
    - P5 l; \- T8 x( Y
  453. STA $2001
    2 _! a  T" U1 a( g9 Q
  454. LDA $BD
    4 D+ ~) M% s# E+ Y) j( w
  455. PHA
    6 A( X0 s) D$ b% I* U
  456. LDA $BC
    7 w7 k9 k# D+ ~" s1 Y6 `6 H! s
  457. PHA
    . c8 j0 e, r. a  i
  458. LDA $BB
    ' Z# G, S' {6 b
  459. PHA" F8 C" b4 N/ N8 l
  460. LDA $BA& d% F# k+ {4 Y1 Z/ _
  461. PHA/ A% K- A7 Y! s
  462. LDA $B9
    $ r) A, K5 _  S/ C
  463. PHA
    4 q# N! z* r$ C: r9 _
  464. LDA $B8
    0 H$ ?, k+ X% j, z
  465. PHA
    7 f& e- L+ z4 @" u7 L- s  J7 u0 e
  466. LDA #$00
    8 ^3 V4 p0 B! `5 j. y/ C) F) Z
  467. STA $B8
    5 O% S: r% p+ s+ m
  468. STA $B9. j# P/ S, `3 w* l+ N; }  W4 M
  469. STA $BA
    ( v5 N3 A3 {; |3 c4 {6 N
  470. STA $BB
    3 h5 |' B. H, }1 q, M
  471. STA $BC8 q& h- j" i0 ]
  472. STA $BD
    + b/ ^" M: Q3 c4 E7 O, h  D
  473. LDA #$00
    # l- y  n3 K: m1 h. l. p0 B$ z
  474. STA $7FFF
    * `2 U7 d- }* G: S: j
  475. LDA $30
    # i, O9 J5 M+ x* Q: V
  476. CMP #$02
    5 l) H: a8 X7 ]5 [" \0 i
  477. BNE UNPROCPL
    5 f( }; |: u- X) `/ B/ c
  478. LDA $7EFC; H* |, W! t5 L. f4 A7 r
  479. STA $FC2 ?, e& ~/ Y# _5 g; ]
  480. LDA #$00
    ! h4 k$ a7 z. l" ]! X3 a% X$ L
  481. STA $A4
    4 H, `' Y( P. x; U) ?$ l! g
  482. STA $A5  @) D1 A7 D' P1 N/ ^0 c
  483. UNPROCPL:
    % N  T  ~' Z. }' u* I
  484. LDA $7EFD, c% F" P2 c- G" N$ E4 v" x
  485. STA $FD& E( e6 }1 D* h) O. d5 p( ?
  486. LDA $7EFF
    9 l/ x' e  p! V3 p! u( g: g
  487. STA $FF
    ; U5 M0 k) `1 m/ {1 s* V

  488. 8 ?. Y4 t. ~4 ~0 }7 A
  489. WL0:
    6 r% R2 ]7 e( B6 i% D: b  C8 ^
  490. LDX #$00( l0 F) ?4 d: Q
  491. LDY #$00; O+ o3 |2 N/ |' J: h
  492. LDA #$00$ f. a$ z, c7 D6 {
  493. STA $BA5 g/ K1 G. M4 h" T1 Y$ c
  494. LDA #$20$ `7 P, ?5 @4 ?4 t- h% W
  495. STA $BB  l; q* b- k6 B
  496. LDA #$002 V9 g/ P2 t# ]  E
  497. STA $BC3 h; o. {9 I  a2 A* B# u7 d
  498. LDA #$601 h. }' \  P6 @- E7 M
  499. STA $BD
    " [4 c- i* z9 i! K& b

  500. + E4 k7 ]# W# E  k% A0 V
  501. WL1:
    6 _& w/ Z5 }5 J- h7 P" h
  502. LDA $BD
    1 P, X, L. G  a! [7 R4 k4 d
  503. CMP #$70' U0 g* B: V8 q- N. ~2 e
  504. BNE WL2
    / L% |  F. `' l
  505. LDA $BC
    ; Q4 L. v/ W% ~7 s6 `8 j: X* l8 o
  506. CMP #$00
    8 i; C9 T0 e4 f! k# b* d$ O
  507. BEQ WLR
    5 K8 k: e% G( u7 z  S$ Q

  508. / }- v( F: s7 a/ ]$ k) c
  509. WL2:- b# u( u& s7 m' f
  510. LDA $BD3 Y! [/ X' A8 y- L$ V% P- O" n
  511. STA $2006
    / M3 [) E1 e% x* ]
  512. LDA $BC, v2 W$ y9 U( V( w
  513. STA $20063 y7 W7 `4 H, u2 J2 a- O2 i' x$ y
  514. 4 b, v. K! f# S* |- E
  515. WL3:# d# {0 i# L& M3 O! v5 k& A$ m
  516. LDA ($BC),Y
    ( L# X" y* s4 H, a
  517. STA $2007
    $ P: ?$ J$ Z0 d' t2 _

  518. 8 ]5 S, `4 W: Y% H0 {0 A
  519. WL4:
    % \% G: |1 g/ L$ g7 Q) \
  520. LDA #$00% D0 ]% i4 x& Y4 m7 n: s% d
  521. STA $2000
    3 ^/ M$ ?* \. V/ E( z
  522. INX
    " I1 g; Y+ X3 x% v/ L1 h4 L6 s
  523. INC $BA% i1 k/ w3 r( y, J) r
  524. INC $BC) q) ~& b7 e) B+ W3 g
  525. CPX #$003 _+ L9 L2 u6 h1 E. y
  526. BNE WL1
    1 v9 y% K8 F+ m% p7 H7 w6 r* O  A# ]
  527. INC $BB
    / X8 w+ M' O/ g1 a( L8 |& |
  528. INC $BD
    , p9 Z9 w  s: e* N; \( u
  529. JMP WL14 s) Z& F* N; ^$ g/ V& @$ d* p

  530. " A) T' V/ d0 J7 V$ l( R6 D
  531. WLR:
    % R6 ^6 u, T4 p6 n; |! Q3 u
  532. LDA $7FFE( U; P) l4 ]4 `  W1 i
  533. STA $07F6
    , N' @2 H5 I; \6 X& p7 T
  534. LDA $7FFD  J  Z: v7 }- D2 Z. ?
  535. STA $00FE" j- e/ s, }7 q! `+ k- X5 Y6 A; f2 s
  536. LDA $7FC1) L1 M, `4 I  s
  537. STA $07C1
    * ~& C; y7 q$ u2 t+ Q
  538. LDA #$3F
    ) g2 e4 M- M: E" r1 @9 q
  539. STA $2006
    # A- c/ q9 Z# Y
  540. LDA #$01/ o; F, ]+ ~1 A! h( K
  541. STA $2006+ J! \: v( w8 P3 a
  542. LDA $07C1
    ; w3 L' q1 G# }# P
  543. STA $2007+ X- \% H' I+ X7 {% @* \. Z
  544. LDA #$008 A  E9 X1 _- O3 [+ U
  545. STA $2000
    1 u( ^2 Q1 \* V# X* Q
  546. PLA
    % m0 d% W- Q( Z- G) u
  547. STA $B8" ?1 T2 s9 N9 e  b+ \& H6 L+ f; Y
  548. PLA
    8 _* q( D6 n! I( o8 e0 w$ t$ o0 K
  549. STA $B9/ s' B# C7 g- o
  550. PLA
    & }7 l5 C" R( h+ y( P: W1 z$ P0 _
  551. STA $BA
    ' _( k" r9 w& Q4 \
  552. PLA; V* q6 O# u+ j+ ]4 p4 H0 G- g
  553. STA $BB
    + I. x* ~3 Z% R! m3 m. d' |
  554. PLA
    $ F2 B3 H) F: A/ L) r6 D  n
  555. STA $BC
    " E! F6 i5 ?$ m* C, Y# g* x
  556. PLA
    2 i5 j. X& N8 N3 s8 O
  557. STA $BD
    9 }+ }( M% ^3 _% s
  558. JMP $A0006 v7 T; e8 L! ?) f" c8 x$ s3 l

  559. + O' b! q+ |; O
  560. FREE:                ; 暂存器保护" L  _2 T5 ^. x/ @/ k( E
  561. LDA $BD& B5 Q5 k" Q& l# k4 M3 A0 Y2 P
  562. PHA7 \8 _) M) p& ^6 l
  563. LDA $BC& O' d" D3 g- E% ]6 I1 m
  564. PHA( l9 `6 M% q( t/ y
  565. LDA $BB
      O) O. X$ I1 ~
  566. PHA
    2 X2 m4 p% P) U0 Z( R& z/ e
  567. LDA $BA
    . Z* l. Y* B( m* [. g, ^- x' J
  568. PHA- a8 ]. `4 h; }3 y7 [) ?$ {
  569. LDA $B9
    , G; o- w$ S0 `% {$ L
  570. PHA
    5 B" Y8 o. h; l. d# `9 W
  571. LDA $B80 G% E- ?  ?& @/ u" R
  572. PHA
    " }+ U6 m) d4 r) D* K$ t3 g8 T
  573. LDA #$00
    # d5 f, f1 Y$ D+ F! d# e
  574. STA $B8
    & D  A8 I( [; d
  575. STA $B9* j2 z' e4 E& r9 }( m2 ?- |' X
  576. STA $BA
    ! _) \7 [( m$ ]- J  Q7 n# G
  577. STA $BB3 I: L3 a" x3 l  `( s) {1 L
  578. STA $BC
    1 b/ i. {  r1 P8 X2 V: @
  579. STA $BD
    1 o* h! E! F# q7 _- `
  580. " D. K+ b$ J9 Q
  581. WEAWRITE:                ;武器ppu写入6 |! u# A" p6 b, u
  582. LDX #$003 |7 G9 F: G; V1 E4 g: Z9 I. |1 O! |
  583. LDA $AA& C; @# ~: B/ d1 r/ h
  584. STA $B9) C, q# N) F, k$ S* x8 [
  585. WEAINI:                ;地值初始化
    % B4 F: X- u! h5 M
  586. LDA #$A4
    9 o- B- w' Z# m& c
  587. STA $BA. v0 }8 |* X+ n& D3 n# V$ u, p# f/ l
  588. LDA #$205 s4 g6 C7 k' a0 u( f% F& [
  589. STA $BB' o7 o. B( S' n5 L

  590. % N. G) b) x0 |( C, Q9 _
  591. : O) h( S+ M. m
  592. JSR WEA  d( C3 U: x3 K) j) B8 Y. k# z2 Y
  593. LDX #$00                ;武器ppu写入
    ( [4 B% D- }. x" |; i1 K# w
  594. LDA $AB
    7 H6 Q$ O/ a0 ~. x
  595. STA $B9! s8 C1 g8 t! b$ R7 k2 X
  596. LDA #$B3
    5 ?% X/ j* j& w
  597. STA $BA
    5 O# W" N) G/ Q1 ^' N5 ?, ^7 Q
  598. LDA #$20* v- C: G. ]1 q0 s
  599. STA $BB6 Q' g6 l* V) L6 M
  600. % T; `- Q' n* X( e

  601. , @8 l. S& K) @0 Y4 e
  602. JSR WEA( [! Q( L  ~9 t
  603. 5 b. ?" M' e& f& c+ X
  604. LDX #$00  r$ Q8 R. g( o/ P
  605. LDA #$E4
    : I6 J. ?* q& P
  606. STA $BA" i' N: I# U/ l. I5 ~
  607. LDA #$20
    % r% N$ g- I1 s1 p3 t& ?: M: n  n
  608. STA $BB
    9 f8 a0 p8 y; _  }5 L. p
  609. . c  e* ^% V! _  n1 e8 v% W

  610. 0 _2 Q6 @8 u6 o
  611. LDA $32: a6 _$ B% o! k0 n, V
  612. JSR PLAYERLIFE
    1 l) N5 G) z# w( ?  ]+ r2 U6 @

  613. + m* r3 u7 r; V
  614. LDX #$00
    : ~* I! t: R9 S3 T0 v% _* f+ ?& s
  615. LDA #$F32 ?9 R% L: P8 X7 ]  C" I! K0 J
  616. STA $BA$ |. h* {9 Y' f7 A9 F& u
  617. LDA #$20* ^1 ~+ y, E4 J7 z( D% J
  618. STA $BB
    ) {% o1 K& A) b" g& d' q4 ]
  619. $ S# l9 q: A; G, k2 r
  620. + ~% [: Z( K) V* I. }4 y' y4 g  ~
  621. LDA $334 U& H% i% R+ K: B' v/ K2 f, s7 d
  622. JSR PLAYERLIFE
    1 W+ F: @' |8 `. N% c0 j: J

  623. 7 R$ n( s& b" \$ r4 u8 W4 w

  624. 9 E; C6 V& A( E+ e
  625. JSR PLAYER_01_PPU
    5 i/ u9 Y  w5 \- G+ w( S2 p
  626. JSR PLAYER_02_PPU, T; B' R% z& [3 [+ p; f

  627. 7 O. X0 F$ c& t% h# s
  628. / e1 \' q3 ~7 J4 a7 o' j% u
  629. JSR PAGE_PPU8 i8 J; l7 i& t" g4 j( K
  630. JSR PAGESELECT2 X% d" p% Q7 n$ T' N6 U
  631. 7 d1 C- G3 X  @' ?
  632. - P6 g+ |; z2 W' }
  633. 1 Z- R7 j% N9 O4 v2 c  J

  634. - ^: v$ j2 ]; B7 V# [$ X

  635. - x6 z# i! y7 x8 M9 }# w
  636. 4 }; G9 R* T  ?3 z8 R: z. _4 }

  637. ' f+ J' l! h/ d- ?* u% @" ~% M, _

  638. / T4 P- b$ A  Z! _$ K# l( p1 h
  639. + Q& ~9 `* ?- r& e" Z

  640. 5 u. M6 E3 ]* T0 \0 ?
  641. 4 a) l0 ~0 s& g: t' X. L
  642. : @1 K; ]% x! A  z  {3 ^2 v/ Z- R

  643. 9 c$ j. _# p9 [% {, i# B  y, j
  644. PLAPRO:                ;恢复现场, ]. U- K  G' T
  645. PLA
    ' r  o: A; M6 i& L! e( `) i# g
  646. STA $B8
    ; E. V& m+ m  [4 ?3 c
  647. PLA
    3 v6 y3 G# Q  f% |
  648. STA $B9
    3 y0 s1 `, W1 }' w6 |
  649. PLA# b+ ~; H# E5 u6 D1 b
  650. STA $BA9 \3 g" C; ~  C! [2 s5 r
  651. PLA# F4 S, @% V  M2 ?: s4 a0 J
  652. STA $BB% C# i9 f8 L, y( T* A
  653. PLA. J7 d& Y0 n5 j1 R
  654. STA $BC
    8 v1 j, _) M) u9 W7 a
  655. PLA
    ! t- _9 V- |, o, b
  656. STA $BD
    # F. ]! J8 }* g$ K6 W
  657. FREERTS:; S6 h+ U6 e! O; `+ }3 ^
  658. RTS
    + [) L" O" e+ K9 |9 I

  659. 9 V$ e2 @  I8 }% a
  660. INVINC_STRING:                        ;invincible: D' |4 M  ~) f1 V; {" T% t
  661. .BYTE $93,$98,$A0,$93,$98,$8D,$80, p/ O9 m3 L( h  R

  662. , Y, @6 D5 w6 P
  663. INVINC_PPU:- D9 h* D- i( |" d
  664. LDX #$00
    % q$ z+ n/ x! B  E, X! \
  665. LDA #$62; P; h5 T* `" U8 b; A2 y
  666. STA $BA* }, a" ^, K4 R# I! Z. b
  667. LDA #$21
    + w; a' F$ P# M7 ?6 y# W- K+ f
  668. STA $BB
    ) v! Q6 g: `) j

  669. & y, M1 m+ u" o; ]8 L
  670. " H. U* ]# o. M) y  Y. F3 j  B
  671. JSR UP_PPU
    # W" a; U$ o) I
  672. JSR INVINC_WRITE
    , v5 C5 G3 R# Z! |: M+ K1 _, F
  673. LDX #$00# m6 M& n2 [9 L0 D, R% l0 ?
  674. LDA $07A0
    2 W2 n, x& j4 L# I
  675. AND #$01. D6 ~8 v* `0 {* v% J1 s4 f  ~
  676. JSR ON_OFF_PPU
    9 j: f% o2 P  v8 l4 D( L( S
  677. LDX #$00
    , P% u: g2 L$ e
  678. LDA #$714 d6 X- g' P' J' y' h
  679. STA $BA
    ) p6 a; d, o  G( C
  680. LDA #$21
    : m- T+ p" v2 v5 k; A3 o. m  T! ?
  681. STA $BB
    2 c( r9 I& o$ Z8 e5 t! r. p9 r8 P' v
  682. 3 U1 ^/ j: L( H- i# V+ C! m

  683. & {# S7 G1 J* X3 L6 {
  684. JSR UP_PPU$ o; ~7 Z: N$ `0 `- h7 ]& `
  685. JSR INVINC_WRITE: u, T& c3 d- ~" M4 H& p7 S
  686. LDX #$00) p6 z2 H5 i' y$ @. U( J
  687. LDA $07A1
    3 @/ i: u2 P- p* Y8 D3 L4 m! N
  688. AND #$01
    9 Z7 o$ l8 Q, L( a5 x# P0 I
  689. JSR ON_OFF_PPU: \- d/ l* z: @8 g8 x
  690. RTS
    2 Y" R, G0 @) \

  691. ) |3 \- e; [1 Y: \& g" d. x7 C- v
  692. INVINC_WRITE:
    1 K. U. b2 \3 {/ k
  693. LDX #$00
    7 ]% b8 y" o: J+ G0 }2 u* V+ K
  694. INWRITE:, N1 J1 n! X% X2 A; {" k
  695. JSR PPUADDR_PROCESS: z% J! f; R. Z1 }( l
  696. LDA INVINC_STRING,X
    7 v  V  F5 y' v
  697. STA $2007
    ( K7 e  {- G; ?7 T  ]7 w6 p
  698. LDA #$000 P+ S! B5 T' p, J, y/ s$ P' u
  699. STA $2000) P* M4 y+ X. e5 x$ S$ q4 G
  700. INC $BA. y/ P, |+ b, l2 p. Z& l  C# o
  701. INX& A! F0 T4 d1 g, O  t0 x
  702. CPX #$07
    & {: a/ J8 ^8 M# m
  703. BCC INWRITE9 C7 P+ u5 {2 V, I
  704. RTS
    # m! v! r: s: @3 G0 r7 v
  705.   D2 w  }# U( i* H" _' H
  706. ON_STRING:
    : A7 `8 h8 c  F% a; ~8 D% N
  707. .BYTE $99,$98,$80: y9 C0 b# ~0 K9 d
  708.   Z" U, ]9 _+ @, W6 r! A6 F
  709. OFF_STRING:
    ( B2 ?3 J7 G; y6 x. R5 {
  710. .BYTE $99,$90,$90
    , T$ r4 u' R! t

  711. & m1 f8 d% Q8 L" j
  712. ON_OFF_PPU:
    + t4 R7 V. u! M
  713. BEQ OFFWR
    + E: q3 L$ n. e% J3 q; P& M5 U' t: j
  714. ONWR:
    # x7 z; k# R6 }
  715. JSR PPUADDR_PROCESS) S* k9 T- z& h+ e6 B$ `
  716. LDA ON_STRING,X9 ~$ t5 V! H( y. n
  717. STA $20076 ]1 o% p9 W' |& o3 J! [4 `
  718. INC $BA
      J6 ]3 s3 [1 ]
  719. INX
    4 g/ M0 {( z+ l. ?, k9 {
  720. CPX #$03
    ) J# m0 I- K' @
  721. BCC ONWR
      P6 m% @( z8 y. u% w
  722. RTS- H0 ?4 x0 k- ~' ?5 P1 c- m
  723. OFFWR:$ Z) A/ j. Y* k. r& p) Q
  724. JSR PPUADDR_PROCESS2 W$ b9 p# q: S, a* Q
  725. LDA OFF_STRING,X
    5 J) _. ~' b* F5 D. g
  726. STA $2007+ K  ^8 e! ]2 ?( V
  727. INC $BA- {5 Y5 }) ~0 B2 W( @
  728. INX; @( a: T7 W4 _& B" l8 X6 k1 y
  729. CPX #$035 m* p1 D4 P' q) S9 a; I
  730. BCC OFFWR* E9 y8 n, x/ d  T- V- x8 o2 I
  731. RTS
    ! t1 \1 ?# U; @0 Q! a2 h

  732. * a5 O: u0 g) d$ h
  733. LIFELC15_STRING:
    ( I# d" {" V# o/ A5 ]3 J+ J
  734. .BYTE $96,$93,$90,$8F,$82,$86,$80: a5 K4 J/ s5 D$ _% R, P' s( \% `
  735. ( R) Z5 s: |1 F/ }
  736. LIFELC15_WRITE:5 d/ ?) L6 F6 ]
  737. LDX #$00' p; U' U1 }: @; n1 E
  738. LIFELC15:! u: x0 q5 t) `4 I
  739. JSR PPUADDR_PROCESS+ G2 C/ V/ m1 s1 q4 I
  740. LDA LIFELC15_STRING,X- T7 `. l7 i  |( D
  741. STA $2007
    # K$ }3 `& O: V2 r
  742. LDA #$00
    9 t2 i$ l2 }- W; D% p
  743. STA $2000
    7 L: u4 n( H6 p7 H) D, `5 ]6 z
  744. INC $BA$ e1 ]8 s8 R4 d2 p: d5 l# i( [0 I, b
  745. INX
    / M4 M& ~6 A0 _' K0 d8 p7 l
  746. CPX #$07: G; ?( F8 ?# j; O1 W3 M6 w
  747. BCC LIFELC15
    ) o) `% }% t2 ~3 r8 d  H
  748. RTS
    * B4 C- V; `) ^' \9 y/ f( H
  749. - ^, h( t! a5 ]; G- Z
  750. LIFELC15_PPU:7 B7 r3 P, F' X% m
  751. LDX #$00
    # o: h7 k5 Z" z4 Y! r5 {
  752. LDA #$A2
    1 t+ M3 L% w6 z: s! u* M4 u/ s9 w3 s
  753. STA $BA& Y; D; T% a! p0 T6 K6 b
  754. LDA #$21
    # ~* c, Q0 P& |0 x. i
  755. STA $BB8 i9 U. W0 O1 b6 N- p
  756. JSR DN_PPU  P  B9 x4 v' @& T" ]
  757. JSR LIFELC15_WRITE9 |3 |. G! H4 o& Q! y- v
  758. LDX #$00
    # f. a0 Y; }6 }' `  F! ]3 t
  759. LDA $07A0) }) H* D5 k: m' M. w; H5 g+ g
  760. AND #$02* g& J+ Q1 s5 U- _1 h; c) k6 G8 f
  761. JSR ON_OFF_PPU0 B3 u( Z8 B9 L: _1 h7 K7 R! r
  762. LDX #$00. W1 k# v, O! g8 |9 H7 a8 T  P
  763. LDA #$B1
    3 m. N& c+ ?# f/ P# U1 D, g/ K% k( i
  764. STA $BA
    ) L7 u1 @1 D4 P, C. m
  765. LDA #$21
    2 c# V4 u6 z6 E, \: u
  766. STA $BB: T2 F$ w( c" V/ i! ~2 u" I5 l8 z  {
  767. JSR DN_PPU
    ) ?% w& F; X/ x/ ?& n
  768. JSR LIFELC15_WRITE2 A! b' b; R' u! U* x4 J
  769. LDX #$00/ c" f' B: T- e2 G
  770. LDA $07A15 J/ _( y1 W& ?) k. M
  771. AND #$026 L3 x3 W8 s2 G) C- K! R; z
  772. JSR ON_OFF_PPU( }8 H5 V+ _: ]" k  ~
  773. RTS
    7 k0 b' I$ p' y

  774. ' L1 H, `# d" \( d8 P
  775. DOUCON_STRING:- e" v+ X# g" H! I9 ^' a2 H3 h% @
  776. .BYTE $8E,$99,$9F,$8D,$99,$98,$80, C3 ~+ T4 ?4 y+ f# v& m

  777. $ w. A/ G9 B0 }2 z. L) T
  778. DOUCON_WRITE:6 H! K2 U3 J% l, v0 k2 X! G
  779. LDX #$00/ s, s2 G' k6 _% O3 X" ~7 x4 _
  780. DOUCON:
    ; }+ v# ~+ R/ z$ d. p
  781. JSR PPUADDR_PROCESS! Q/ \6 v; M( D1 a7 L
  782. LDA DOUCON_STRING,X
    0 q+ h. M% P: [4 J
  783. STA $2007
    ! J$ I1 v( P* N- T
  784. LDA #$00
    ( G* U6 ^2 d3 p) U5 p: ~
  785. STA $2000
    + s0 }8 U. ?1 R3 m: R, C. [
  786. INC $BA
    & j: n+ D( ?6 j" {8 ^
  787. INX
    ) I- o6 w! ?" ^+ m7 S) S5 S
  788. CPX #$075 D' q% h& p9 m1 c% B
  789. BCC DOUCON
    ) e) s9 D/ `( `" o: T7 ?" A
  790. RTS
    : H3 @6 r% M) z1 _

  791. % d8 S3 \7 R; G: Z" ]; q  |
  792. DOUCON_PPU:& o. s& `; q, x0 y
  793. LDX #$00
    , B9 p% t  @$ Y: J1 i8 K
  794. LDA #$E2
    ( p- T4 C# m: c( E
  795. STA $BA/ F7 `6 L" D& X6 L) [
  796. LDA #$21" H8 u' }& {5 @6 J0 G3 ~
  797. STA $BB
    * E8 r$ `6 _+ X' \% j0 W- L9 z& q
  798. JSR LF_PPU
    7 c& ?; }3 E) c+ c3 a7 r' n- a2 Y9 C
  799. JSR DOUCON_WRITE7 D2 d. h& C+ J/ \& H5 {  q
  800. LDX #$00* ~" t& @4 j  ~: v
  801. LDA $07A00 s, z) s# l! o5 l( Z. `+ d# [; e
  802. AND #$042 V/ \- w! J0 K- X8 R/ r
  803. JSR ON_OFF_PPU) _6 R0 V; ~# g0 X7 }6 f
  804. LDX #$00
    8 E* p! T! J& }9 O0 E
  805. LDA #$F1
    7 c7 s; }: s5 l
  806. STA $BA: c) u( L" Q/ |  S0 ~
  807. LDA #$21! r6 q1 ]* h; a& ^, q
  808. STA $BB
    6 h7 C& E2 I4 l" X' l
  809. JSR LF_PPU5 C3 m( f" u" \% M
  810. JSR DOUCON_WRITE: }. @/ R4 ^" o( T8 }; p
  811. LDX #$00/ _0 k  S1 l3 G) ~' n
  812. LDA $07A1) r0 e  I) Y5 F% B9 X
  813. AND #$04
    . u+ U9 V7 S: F! F5 I- E1 G" [
  814. JSR ON_OFF_PPU
    - Y8 h; d! P9 N3 s* Y) R2 N1 _
  815. RTS" S) e- e3 `# y- P$ V% C* w7 h
  816. ; A% L! _- [1 _4 b7 f' W/ E( w6 g
  817. LIFELOW_STRING:/ K0 e7 w4 A2 Q, o
  818. .BYTE $96,$93,$90,$96,$99,$A1,$803 I' e9 t* k3 R( |5 I3 c
  819. 2 Q- Q. S1 W4 S
  820. LIFELOW_WRITE:/ m) J5 ^, L. U& @
  821. LDX #$00
    . c% M6 p9 K( f6 W
  822. LIFELOW:
    6 V5 n' K8 M8 Q" Z  ^8 Q# p
  823. JSR PPUADDR_PROCESS3 V, z2 k! m: @2 S: a! L3 r
  824. LDA LIFELOW_STRING,X0 A. p6 ~2 ]6 L% P1 A* T
  825. STA $2007
    8 a! g' ^- H; v) P8 b! O
  826. LDA #$003 T0 J0 H* z9 W1 m( C
  827. STA $2000
    - z3 w: y6 K* Y" C4 ?% F+ l" ?+ `
  828. INC $BA
    * g# t+ [6 `! d/ n$ B& P0 @
  829. INX& Q; A) r$ x% g
  830. CPX #$070 {/ v5 S; o6 \# U- D  ?$ [' W
  831. BCC LIFELOW
    : Q( B+ d. d, E) O+ j! o
  832. RTS" l$ I8 u: B, L+ ]4 M

  833. - T: L! w6 U/ A
  834. LIFELOW_PPU:
    0 g  c+ k) \/ {
  835. LDX #$002 K) }6 o$ w/ }# z2 g5 @% a
  836. LDA #$22+ r+ _8 y9 y6 Q5 n
  837. STA $BA
    ( a* `5 R' d) G5 \1 F- O* X6 G$ k
  838. LDA #$226 z8 ?$ j& R( J4 U0 F9 U- f
  839. STA $BB
    # M& F$ Z3 e) }6 [( W9 h

  840. " e, L; m3 K: s; X- ]8 U2 Z
  841. . J9 I, O) ?0 D' K( v- V
  842. JSR RG_PPU
    " ~/ g0 p! m0 \9 S8 p5 A! K8 a" B
  843. JSR LIFELOW_WRITE4 f5 @6 c# k3 M% i9 L# J
  844. LDX #$00# T* C0 ~0 E/ ~/ u  c! c$ D) h. U2 A
  845. LDA $07A0
    - q; m& E1 e- i
  846. AND #$088 V$ q5 ~) z  c( S) C
  847. JSR ON_OFF_PPU9 Y$ \2 y( W' g' g! J$ ~- I  I& g6 y
  848. LDX #$001 P5 v+ E' {) \
  849. LDA #$310 x5 i* ^' F  ], e" N- _
  850. STA $BA, ]1 c& |. x$ ^7 K3 ?1 v
  851. LDA #$220 t( j: g2 _( U4 c9 G9 Q$ w) d
  852. STA $BB
    " r- B8 M! h/ n9 k/ v! _! E  D

  853.   V; k) [$ D* d

  854. ! I7 v( V4 r0 {- @  X% y" V
  855. JSR RG_PPU5 g/ S4 f3 `# R2 g  _
  856. JSR LIFELOW_WRITE
    * Q% \# j2 Y- `; {7 J
  857. LDX #$003 Y1 `& Z+ }) }' ?, j0 B+ N
  858. LDA $07A1
    * [" Y  f9 i# c' D
  859. AND #$08
    + p" Y& S$ u# |% w
  860. JSR ON_OFF_PPU
    7 {. m; u3 x$ N% C$ @! O
  861. RTS
    0 w1 F4 ?3 c* X" V: A

  862. + }, }8 @' p: L9 _6 M
  863. KILLON_STRING:
    $ [3 _  d6 r3 n7 d  ~' N9 G
  864. .BYTE $95,$93,$96,$96,$99,$98,$808 W: u8 \& i' S, q# E
  865. $ G- V. H+ i2 C. s/ S
  866. KILLON_WRITE:9 i+ `/ i% t' n& l6 X: i, p! i7 w
  867. LDX #$003 J) s9 f2 @  d+ y. l, J9 l& C
  868. KILLON:
    1 ?1 D# J% x; V( q$ L  c* d
  869. JSR PPUADDR_PROCESS4 j/ H; {+ v; `7 W3 Z
  870. LDA KILLON_STRING,X
    $ U& G$ M3 y9 E- H
  871. STA $20071 ~( ?3 Y& D+ C+ A
  872. LDA #$00: V  `" r% M% Z# x7 Z* K
  873. STA $2000
    ! S/ q4 |- F; S3 H" R- z1 E
  874. INC $BA
    4 i' |9 Y( D1 z8 F; Y
  875. INX
    9 k  Y8 P+ H' I( n* s
  876. CPX #$07( c1 c& d. v" c
  877. BCC KILLON4 {6 [! B% b& N& i& D+ x
  878. RTS
    * w( M* \# Y) R0 D8 ~# J
  879. 3 @, s; f0 ~% W+ [6 W
  880. KILLON_PPU:2 O, B1 N. Z) u% d$ ?+ w8 |
  881. LDX #$00: Z, c; i9 Q4 Z
  882. LDA #$62
    * b/ c& @3 O$ c* M  e* p) H
  883. STA $BA
    1 I# O$ t* e5 }! g, j- y3 V
  884. LDA #$226 Q3 E& I4 K; G* E; F
  885. STA $BB3 V( E0 q* B+ O; G- B) A& W
  886. ; U& E6 l) Q' o) t. K
  887. 2 g% R+ w6 h- `7 n: H& W
  888. JSR B_PPU" r0 }7 ?( F" Y6 k4 ~- }
  889. JSR KILLON_WRITE4 X) d4 V! R: @; `7 g
  890. LDX #$00
    ( R% w: B& a7 p) Z% y# I9 w9 v) o
  891. LDA $07A09 j2 Z2 f, x7 Y8 b( @
  892. AND #$10
    + U( w! ?. I' Z* h! K
  893. JSR ON_OFF_PPU* Z9 s+ Q0 E- {( a( R) @
  894. LDX #$00
    , \( j3 @" c) j* y1 f8 y$ \+ q. U
  895. LDA #$71: m9 {' f# i2 ^! e/ Q
  896. STA $BA+ t7 C+ U' A( X# y
  897. LDA #$22$ I& X3 z8 H/ G
  898. STA $BB) e5 |- F; G! v8 j6 W& H

  899. ) i  `1 C7 Q8 O
  900. ( \4 V% J: d8 m
  901. JSR B_PPU
    % w* J) m0 X' W! L' J
  902. JSR KILLON_WRITE
    , p, W- c: }( p) ^
  903. LDX #$00. U+ U; K3 M, P- n  N2 ]
  904. LDA $07A1: A! y: k- S7 p9 q0 C0 o
  905. AND #$109 G4 h9 Y* g- W
  906. JSR ON_OFF_PPU
    6 w$ [' W( ?  F4 j
  907. RTS
    8 C+ J! X5 M# V( y" g6 d% u% m

  908. + _* C) ^( w% A! P. n  y! z' \4 U
  909. SKYFLY_STRING:- [! `0 v( A6 ?1 e5 O& j! [  c
  910. .BYTE $9D,$95,$A3,$90,$96,$A3,$80
    $ t0 X  Z4 j9 G) ~" C5 ]  s

  911. 7 V4 B/ r/ G0 x: T
  912. SKYFLY_WRITE:* B. o+ F' p1 n( f: i; j
  913. LDX #$00
    : {+ H/ C4 p# B# K6 e  D
  914. SKYFLY:
    7 }  ~- n8 I3 D  M1 t
  915. JSR PPUADDR_PROCESS
    $ b* m( }  Z. V# \
  916. LDA SKYFLY_STRING,X0 b$ j$ x, b% k1 W& S3 j6 H6 m0 P
  917. STA $2007
    ( A0 u. ~# Y" s% ?; |/ s) H
  918. LDA #$00
    4 b+ z) w3 W, m  t. Y* m+ ]. o* R
  919. STA $2000& \! j9 y' N2 A% ^6 @; r
  920. INC $BA
    - X" D2 i8 n& J, L% r# s" R* Y
  921. INX: k8 D2 h( w. w. u2 p2 X* u
  922. CPX #$070 n: v( N  t% S: _) B) ~
  923. BCC SKYFLY& J5 d2 b) C+ y% c) ]+ ^
  924. RTS
    ) p: S* {3 d; N% W. N0 ~  w

  925. . O& y1 [  i6 O7 Q% T
  926. SKYFLY_PPU:8 K+ e; \6 i, m+ Y
  927. LDX #$00
    $ ^( j: a0 [% n; w7 O  c
  928. LDA #$A2
    3 A. `7 Z, B9 D6 m
  929. STA $BA
    ) L1 V! [7 Z( ^0 D
  930. LDA #$22
    ! b- L- `! j; \, ?) z# h; C
  931. STA $BB
    + c9 O, H0 I, w; w

  932. ' p1 e4 I7 {9 N% l. j
  933. ! q' I" K& D! ?: X# h% M4 S& T# ~
  934. JSR A_PPU8 V, U, _1 z8 N9 ]3 F2 a: d; G5 T
  935. JSR SKYFLY_WRITE
    6 [: a6 [4 _0 B( k0 [& D
  936. LDX #$00
    ' n- y- \' u- l- M7 E
  937. LDA $07A0
    1 D) e- b0 U, [! g7 ?
  938. AND #$20# e1 i) S) P4 l5 P. }
  939. JSR ON_OFF_PPU, e, w( |5 g" V2 t
  940. LDX #$00
    : t+ u1 Y! K3 q: p" D- M4 }
  941. LDA #$B1
    ; E2 H' @8 d: N. X( Q9 a& l1 k/ ~
  942. STA $BA
    + H) L! |; S6 E7 W" [
  943. LDA #$228 Y/ }$ k7 E& k, w- E
  944. STA $BB" g7 w9 ^6 C) V2 W- A2 G8 d, E

  945. : I/ Z5 W5 k- G3 I# V2 i

  946. & K! K% d& K- \- r; n
  947. JSR A_PPU( V8 M/ h" P  i1 p
  948. JSR SKYFLY_WRITE- D6 w4 t* P4 ~! u* i
  949. LDX #$00- i7 C6 X6 \* N- u
  950. LDA $07A1( b" s  S8 O4 a0 F1 F# m5 M
  951. AND #$20
    # ?* j$ C2 R$ a" v* z, Z
  952. JSR ON_OFF_PPU
    - l# r! r2 R6 v$ z
  953. RTS" _( X- ?0 D5 k% ?

  954. & Y/ M: x9 ~$ W% |
  955. BULADD_STRING:
    5 K) C# X" z5 o9 k% W* B
  956. .BYTE $8C,$9F,$96,$8B,$8E,$8E,$80
    ' w$ m: |$ ?: w8 d: W

  957. ; ~) S$ C* F* U, }! F6 y
  958. BULADD_WRITE:4 U; u6 @: M: u2 ^$ y
  959. LDX #$00- X* p6 L+ I& p+ v
  960. BULADD:
    * g2 X4 _* v9 n+ k+ d% k& L
  961. JSR PPUADDR_PROCESS
    ( I  C" J1 I# e- c1 E$ b- ]
  962. LDA BULADD_STRING,X/ b& r$ c) q% ]% p, [- N6 E
  963. STA $2007
    8 E" n! Y5 }) J
  964. LDA #$00" a" l; w/ p8 Q# s
  965. STA $2000
    5 M/ m) z8 }+ ^% l2 ]
  966. INC $BA3 V0 |2 ]: e% G6 K
  967. INX" p$ U" R7 F2 V; w/ P  E0 V* C
  968. CPX #$07
    & f. Q7 @, n+ j* O4 U  e5 |7 i  k
  969. BCC BULADD
    # o4 q/ [9 [5 b# `! P  ~
  970. RTS1 T/ y5 x* y; F& o4 q1 i7 ]
  971. 8 z- i9 ]( s! y/ h  ], F
  972. BULADD_PPU:
      j! c# e/ K1 e% ^% j
  973. LDX #$00
    ' E  W9 ?/ L) |! V
  974. LDA #$62
    # ^+ O% d' y6 I5 w+ m" w5 C
  975. STA $BA" e& s1 s% ~2 g8 q# F2 y2 `" I# j2 X
  976. LDA #$21
    : c( H5 d0 Y& j2 s5 h
  977. STA $BB3 Y7 w$ B4 g5 u; Q
  978. 8 y5 R8 P! V: h

  979. 9 t: A# E% a- W  I
  980. JSR UP_PPU7 K! k; q  w5 Y- `; J; H6 p
  981. JSR BULADD_WRITE
    / w( R. G6 @8 z* n, [
  982. LDX #$00! {& m) b6 M4 n7 l, {) l& L0 S& E
  983. LDA $07A2
    - H/ }3 H9 r8 h$ ~2 g; V
  984. AND #$01
    , ]6 o% q$ V: ]; C
  985. JSR ON_OFF_PPU
    # K6 ?8 l9 v% L
  986. LDX #$00
    $ I+ |6 Y, L$ N, S2 i- w
  987. LDA #$71; n' f5 y: q' E  V) N6 H! p  X9 y
  988. STA $BA0 u% X: c) f1 c( K' T( {
  989. LDA #$21# e/ R4 T+ ^" Z5 G0 B
  990. STA $BB
    % a+ e, x+ [$ ^" B
  991. . w9 y( j5 G% R) |2 Q. a

  992. " w9 e! u- c, _( ~% M0 r
  993. JSR UP_PPU/ F- p7 U5 U2 A2 x  L/ a" w! V
  994. JSR BULADD_WRITE
    , x- I* f, p& H' N$ s2 z
  995. LDX #$00" N  z; ^- ]) f- Y: k3 b( O; N
  996. LDA $07A3
    ! s% V5 A7 R" T$ p1 m
  997. AND #$01
    ' F, q/ f. E0 G6 E* s
  998. JSR ON_OFF_PPU
    / [' i, }$ q% l+ G$ O
  999. RTS) N0 h4 a/ c5 d4 P/ l

  1000. 8 b" }! V2 X6 k
  1001. MENU_PAGE_STRING:
    . Y5 x0 [( K: u) N7 D
  1002. .BYTE $97,$8F,$98,$9F,$80,$9A,$8B,$91,$8F,$80,$81, F0 o% ~, Y" w9 ?; i. {: s7 x9 w
  1003. 5 {: a! e( N) R' z
  1004. PAGE_PPU:& |0 n! j& _. q5 e7 h" B
  1005. LDX #$00
    ' Y  V5 [" T5 \5 l3 n" ?* ^/ o
  1006. LDA #$0A- h0 ]6 `% g& V$ Z4 V- Y
  1007. STA $BA3 ~1 E, K* ^8 L  r
  1008. LDA #$23" A0 T  F; j$ o9 @3 D- U* {  _
  1009. STA $BB
    # w* ?. |& Q& `. e* z3 t- L
  1010. ! a* S# w% ^) e
  1011. 3 m* n1 L( O. b2 J
  1012. MENU_PAGE:+ j6 u/ N! `" [* \2 b
  1013. JSR PPUADDR_PROCESS* o  s5 B6 S( f9 @/ K! G/ w
  1014. LDA MENU_PAGE_STRING,X  Q$ i; O0 t; ]' y  E# K3 ]
  1015. STA $2007
    8 @) r9 q, O5 o4 c* a5 S3 b
  1016. LDA #$00
    2 c* @- H& T. x- b
  1017. STA $2000) Z% @% x) n( T1 t! Z/ P( [
  1018. INC $BA
    , E+ U# c) L# E% I9 t  n' Y
  1019. INX' w. l. w3 @. G
  1020. CPX #$0B
      r' A; z* S& A  t
  1021. BCC MENU_PAGE) E/ y" E+ H! F% k
  1022. LDA $07AA! W7 f7 V0 a' R4 w; Z: u/ F' A
  1023. CLC" f( P7 d# p6 j7 B* e  L+ x
  1024. ADC #$822 n; P! P7 k3 a! w$ U1 H( y
  1025. STA $2007. E" y0 M  k. @/ @, b) K$ I
  1026. LDA #$00
    ' J3 N0 Q1 X- `- J! O' V% W! R
  1027. STA $2000* B+ Z* y2 E" @2 [$ H* L
  1028. RTS3 ~1 `& k  L( `# ~& i6 \, B

  1029. 8 x* f7 ^' j2 h$ o

  1030. 4 A, w/ R" z& H, z& m. {
  1031. SKINGE_STRING:
      I& L  X8 u# ?2 D
  1032. .BYTE $9D,$95,$93,$98,$91,$8F,$808 I; O. d( k, u( f  e
  1033. 6 g; {4 s1 P# R! Q
  1034. SKINGE_WRITE:
    ( Z& E" E. k8 z/ m0 k* t0 z
  1035. LDX #$005 p8 _6 v% S7 K* d. @, ?" [9 n" H8 d% b
  1036. SKINGE:
    2 ^9 v' g) V9 ~; D
  1037. JSR PPUADDR_PROCESS3 c3 l. x$ `% B9 q/ l
  1038. LDA SKINGE_STRING,X
    " s( e2 D  O5 P/ @7 s
  1039. STA $2007
    5 B: X3 q1 t  v8 u1 o3 n5 G$ R
  1040. LDA #$00
    2 ^) Z$ N# w  P9 Y: |  p1 L' L! r
  1041. STA $2000
    # z, j5 a1 j1 ]# k2 S& k  p6 o
  1042. INC $BA
    ' l: y: L+ j: U8 M$ _
  1043. INX
    & Z* F% t8 X0 L( H1 ^( L  `
  1044. CPX #$07
    8 W( ], ]& B$ Y8 W# n  ?
  1045. BCC SKINGE  ^9 x* r; q% X' l$ c
  1046. RTS
    / V% K3 q' A5 S
  1047. $ w* u" W2 }# f7 [0 V, W
  1048. SKINGE_PPU:
    % E  v6 E( C0 X5 q! Z7 D6 J
  1049. LDX #$00( p6 z' J; R7 F3 k$ z
  1050. LDA #$A2
    9 O# l/ r" g3 f6 \$ |7 C4 B7 {
  1051. STA $BA. t/ ~3 o% y; t  Q9 S
  1052. LDA #$21" r( E1 J; ]+ ^) S4 {5 H) i
  1053. STA $BB& p% I3 D4 c: a7 @2 o& x6 X/ @
  1054. 8 {: a/ [% D% _

  1055. . b/ h' T$ ^0 H0 E, t
  1056. JSR DN_PPU
    4 E" p/ S6 i, n, d9 y
  1057. JSR SKINGE_WRITE: t$ z, ~: s$ `$ }( P# h
  1058. LDX #$00
    ! ?2 ^! D: s+ o# I% F0 m
  1059. LDA $07A2
    1 J1 R2 O7 p# V$ C
  1060. AND #$02
    6 r# t9 m8 A& p3 Z" Y3 ^
  1061. JSR ON_OFF_PPU! G* B+ k5 T8 e  ^
  1062. LDX #$001 R& H2 G/ U: L0 W3 _7 z
  1063. LDA #$B1  o8 W5 `. E( q/ r* z+ u+ P; ~
  1064. STA $BA8 M+ u( A# f; ~+ w
  1065. LDA #$21
    % E6 ~, e( G7 }
  1066. STA $BB0 K6 C$ ?( o6 S) ]1 `  L3 C
  1067. * P: w8 c* }$ i; P7 m2 h; @$ N2 f

  1068. 7 g2 T9 k$ K- B% @6 f
  1069. JSR DN_PPU
    4 c; X) Z0 W6 y3 Y' ?
  1070. JSR SKINGE_WRITE' `8 ~3 m, O  V2 j" @. A* K
  1071. LDX #$008 j8 u' V4 W# S8 L
  1072. LDA $07A3, |' h& Z+ |9 k: j
  1073. AND #$02
    ( N) n4 f! E! i( p; O7 C
  1074. JSR ON_OFF_PPU
    ) w! ?, e$ l" v& k! g
  1075. RTS
    ' D' y8 p; y6 Q/ E0 ]  u* o& T- D% J

  1076. % S3 F* u+ `# y3 ]0 P; \: K5 s( ]
  1077. BULMIX_STRING:
    ( t+ B, L% r; W1 {
  1078. .BYTE $8C,$9F,$96,$97,$93,$A2,$805 ~& `% S% c  b7 P7 C

  1079. : e$ K4 a) [5 r$ q! Y$ R
  1080. BULMIX_WRITE:
    ' x$ b! F. x) M  n7 X
  1081. LDX #$00+ _1 C" u8 D+ A) Y5 B
  1082. BULMIX:0 f6 y$ d8 X4 {
  1083. JSR PPUADDR_PROCESS
    2 s/ g8 y, j) G7 Q, ^/ Y: \
  1084. LDA BULMIX_STRING,X7 f! Y/ A1 }/ z9 P0 Y( @
  1085. STA $2007
    ; S* m, t* s( H& V
  1086. LDA #$00
    " L6 Z9 G+ z. E, O
  1087. STA $2000
    + U) Q' S: R9 |+ C7 e
  1088. INC $BA
    . I7 |, K/ K1 U# F) H* d0 q' r# @
  1089. INX
    ! v* y+ t7 q$ r4 p1 x
  1090. CPX #$07
    9 J/ R$ m8 D" u$ R
  1091. BCC BULMIX
    & b& d9 \5 r( Z2 q; l' Q, F
  1092. RTS# ?5 W' s# Z5 ^. W+ D, y5 `

  1093. 5 Z$ A/ d1 i& G7 B) S4 `4 w" z8 d
  1094. BULMIX_PPU:" j! ?; ~# w) k
  1095. LDX #$00
    0 c( I# @8 @5 n6 M, G! P  N/ n3 q. q
  1096. LDA #$E2/ o( j) e( ~0 q6 F4 Z
  1097. STA $BA1 ~6 D+ X1 c) Z: m
  1098. LDA #$21$ t* U* L( y& f
  1099. STA $BB
    . ?# u1 |$ H4 O& w
  1100. 6 g8 e  J+ U- C; h/ W. F4 ^' f

  1101. ' J# }; \# l: b& ]5 c" G
  1102. JSR LF_PPU% r) W# ]. M( L
  1103. JSR BULMIX_WRITE
    2 r9 k$ N8 ]8 M; n% G( F* p
  1104. LDX #$00* Z% s& s6 r7 w
  1105. LDA $07A2, s5 T! U3 J/ I  H
  1106. AND #$04
    4 c/ m; z7 |8 W1 Q
  1107. JSR ON_OFF_PPU
    & U$ L2 z5 F4 C  h% H
  1108. LDX #$00
    ' ^( \. s/ S( O0 _8 S
  1109. LDA #$F10 E0 r$ R6 X9 j- o
  1110. STA $BA7 W3 A8 r5 S( u
  1111. LDA #$21
    + B/ E2 W; Z5 x: `1 y7 {  V! ~7 W
  1112. STA $BB
    # L. N/ d5 d5 @. j' t4 [. {: h8 ~- s5 ?
  1113. 9 o% R3 L5 b6 Q" s: r

  1114. 5 e/ N+ @) D8 G1 B' l" \2 O/ y
  1115. JSR LF_PPU
    / {& c5 H7 ?! e8 w" o7 |1 _, H
  1116. JSR BULMIX_WRITE
    " k8 i+ G3 g& x
  1117. LDX #$00# |3 D$ n$ l0 b' e1 q% ]  [- s1 x# y
  1118. LDA $07A3
    ( R; i2 y0 ^6 Y4 f# F7 d" F) s
  1119. AND #$04
    4 {1 l1 w- ^; O4 w7 `( T
  1120. JSR ON_OFF_PPU! y* @, |1 x! h( W3 X
  1121. RTS
    % _6 `+ U1 b; {5 n. ?* j' C% ?

  1122. 3 {( v% ~# s2 }6 @* X7 N
  1123. ENELOC_STRING:2 X, ^4 U7 E# ]: m/ }
  1124. .BYTE $8F,$98,$8F,$96,$99,$8D,$80( ^8 m  W* W' L3 i0 s+ A* j
  1125. . V5 C7 o4 |' b+ L1 x# p, i
  1126. ENELOC_WRITE:
    ! H. J! c' I1 ]) X0 G
  1127. LDX #$00! h; n: B5 I9 w; [+ y
  1128. ENELOC:$ x2 Q6 d: X2 Q( k5 h
  1129. JSR PPUADDR_PROCESS
    / B* ^1 ^9 s9 \# t# u# X; r
  1130. LDA ENELOC_STRING,X$ Z6 k/ z+ P3 c% H. f
  1131. STA $20076 x$ b7 R' O$ x$ r# b4 q
  1132. LDA #$00' S) O( ~6 d, Z1 O
  1133. STA $20003 l4 N$ m/ }$ f+ o7 I6 L
  1134. INC $BA
    4 P! r' i1 b' y% q; a( [9 X5 L. T
  1135. INX2 J- @1 w& N+ l6 C
  1136. CPX #$07
    2 M0 ~- \$ S; x3 J' ~8 _
  1137. BCC ENELOC
    , C; I% e. S6 }; V6 e
  1138. RTS
    + B7 V; T4 n1 }. ^) t4 b/ T! h

  1139. . `5 T" a) j; O
  1140. ENELOC_PPU:. m" B0 \  Y) [" w6 d4 E
  1141. LDX #$00" d- U/ @% R, M  B, D7 [
  1142. LDA #$22
    0 K3 m: u% \4 O
  1143. STA $BA0 a+ u9 j% C$ C' a, D0 V
  1144. LDA #$22; L+ }3 X% b( |4 {  k
  1145. STA $BB5 L7 L5 i: M) O  U7 u9 p
  1146. 6 ?; D; A- _9 m
  1147. : M! E# c% j9 A& G5 J" P
  1148. JSR RG_PPU
    $ a+ w1 H( b. b) g1 i3 g; W
  1149. JSR ENELOC_WRITE4 Z, E, I! E, o! r, u
  1150. LDX #$00: \& [% y! \: J0 i5 e0 g
  1151. LDA $07A20 h4 a# E4 T6 J4 [& G7 J
  1152. AND #$081 B! s' ^- A9 y+ O
  1153. JSR ON_OFF_PPU0 Y8 F. a2 }; \1 t' u
  1154. LDX #$00
    - ]5 x, }: }) r  b
  1155. LDA #$31
    0 ?6 E: X% N$ X# {) t
  1156. STA $BA
    : M6 b1 J, F- f
  1157. LDA #$22
      t3 U. G7 o8 v( Y' ~  J  ^- g
  1158. STA $BB
    % }" X" `5 N! m3 E5 P
  1159. ! v' r% }5 m+ X1 e

  1160. 1 g) e  B" s9 N& g, Z( W
  1161. JSR RG_PPU
    # _7 w* r8 Y1 S9 P/ s
  1162. JSR ENELOC_WRITE
    ; K; C' Z5 G+ W
  1163. LDX #$003 i, \1 P( z5 d( \. ^2 k% W+ h
  1164. LDA $07A3  |4 P: t# f, q; @3 _% s6 N, f
  1165. AND #$08
    4 \- o) U7 U( o3 p% s5 a" C
  1166. JSR ON_OFF_PPU
    $ c/ K3 [! Z; W  C. Q8 U& K, u1 ]
  1167. RTS
    ( J1 J* e7 l: e2 T) q8 ~
  1168. ( t2 U/ _$ F. Z
  1169. FOCFUL_STRING:2 C& q2 i. @0 [, {! V
  1170. .BYTE $90,$99,$8D,$90,$9F,$96,$804 O# ]3 n0 _' W% }4 v4 I- f$ L4 K. P

  1171. , r7 [: w" [# l9 s( A2 I4 z7 A7 ~
  1172. 8 j3 ?4 \. n, ?1 W* m4 M
  1173. FOCFUL_WRITE:  ]# U) r" t$ l# I
  1174. LDX #$006 c; z( M1 b9 _( ^: }5 r% l
  1175. FOCFUL:
    4 ?8 p7 o/ C) f, \8 N  I3 z& [
  1176. JSR PPUADDR_PROCESS
    % X  T5 I9 e# x" U3 v2 W- I9 D8 l
  1177. LDA FOCFUL_STRING,X8 B9 z" e; l% @# H9 [
  1178. STA $20075 V7 f( c0 V$ C- A2 }- e& g: a
  1179. LDA #$001 x( x+ K2 D' S8 e: _* |
  1180. STA $2000
    ' U8 b- o* o# N5 p3 m
  1181. INC $BA
    & W8 z6 ~7 m$ |
  1182. INX
    " g; V+ W* j! A4 R; Z$ r* b
  1183. CPX #$079 ~; A# \9 B+ O
  1184. BCC FOCFUL
    . x2 K! F' g! v9 _( G7 R
  1185. RTS! u! Z8 s2 {, H* N5 f0 P2 }* f
  1186. 0 t% ^# X! O1 i/ X4 U4 Z9 d, q
  1187. FOCFUL_PPU:( W2 u+ O  b/ p- z9 l* L' w' b! K
  1188. LDX #$00
    : ~! |, l8 c- }  Q  m. i8 T
  1189. LDA #$62, W" n1 R, _; l# z
  1190. STA $BA0 \& z2 K, x, K4 c& E
  1191. LDA #$22
    7 G( {+ z9 x2 ]" \1 w$ u
  1192. STA $BB
    ( a2 B/ {. r3 U: f! R
  1193. 2 z/ W/ o' d* T
  1194. ! R% A$ \& ?  Y
  1195. JSR B_PPU$ E6 q6 H# _. a- f+ F  q* L
  1196. JSR FOCFUL_WRITE
    3 q5 z1 l" p' Z9 a. s  L4 i) i
  1197. LDX #$00' C  W0 V6 e) z/ M
  1198. LDA $07A2$ G) M$ i' s' J( n/ ^3 U
  1199. AND #$10
    2 Y7 ]* @; Y8 ^
  1200. JSR ON_OFF_PPU
    $ F' g/ W, c$ {# i$ j
  1201. LDX #$00
    " q; o% G0 r* y0 @( }
  1202. LDA #$71
    . `7 r' W! Z7 l+ A0 d/ K. O
  1203. STA $BA! U3 \7 n- g/ H* A% w
  1204. LDA #$22
    ( E# }! P: n6 v1 x
  1205. STA $BB  ^+ [& \+ {+ n' j

  1206. 7 B& d# e' h  T( r# V4 h

  1207. " L5 o% @& V5 \  B: V
  1208. JSR B_PPU
      M8 W/ v% {6 `3 P: [; q* s
  1209. JSR FOCFUL_WRITE( J. }4 K# t7 `
  1210. LDX #$00
    . ?, O2 u; q! ?' p1 G/ M& o% A
  1211. LDA $07A3
    4 r; c, i4 P" }. C4 \% X& l
  1212. AND #$10
    # F; B3 e- }) z3 {# H
  1213. JSR ON_OFF_PPU
    , s% Y/ t! A  R# e3 q$ B6 `
  1214. RTS
      n! p# \2 I% t0 X6 k
  1215. # v. d7 [; f3 \; S; ]6 A
  1216. BULCON_STRING:, H+ i8 u  W( Z
  1217. .BYTE $8C,$9F,$96,$8D,$99,$98,$80
    # [0 K* i* q6 ?& ]/ ^3 V

  1218. # y2 w2 R2 s0 t9 V7 o5 D, |

  1219. ! p3 M8 b9 p6 ~" `, |' s. C( c) j7 Y
  1220. BULCON_WRITE:
    9 G2 E0 H8 f% U
  1221. LDX #$00+ o7 h* ~5 q' Z7 K8 \# N7 U9 ^
  1222. BULCON:
    : a7 _+ {2 ^& x, B
  1223. JSR PPUADDR_PROCESS8 d9 G: f4 `5 B/ d! B4 n6 N- t
  1224. LDA BULCON_STRING,X
    + m$ s4 V! n# Z/ g
  1225. STA $2007
    - [6 O7 p1 t- S- M8 o- h' y
  1226. LDA #$004 \& x5 M8 i6 ~9 T! h
  1227. STA $2000" R/ q. \* E; ~  H
  1228. INC $BA
    ! J2 N6 ^# [$ d5 `
  1229. INX
    / B# Q+ }# k& z( o$ B' Q; C: z
  1230. CPX #$07
    ) P& `# L% @( P0 {8 j  h6 g
  1231. BCC BULCON
    . F# s6 {4 }% P! n% q8 M! K' ?+ R. V
  1232. RTS
    , E# z( a0 i) y) J6 y

  1233.   k5 Z: w& i- U+ E- ]$ `$ q
  1234. BULCON_PPU:6 @% W1 v: _) x! G6 P
  1235. LDX #$00) F3 I  p) I5 V5 C
  1236. LDA #$62- N( V0 T0 r$ \; f: O& V# v' S
  1237. STA $BA9 U* h5 Q: z5 A2 O, a
  1238. LDA #$21; ]; s& J4 h! T! U+ D, T
  1239. STA $BB
    ; O- C& W+ h. W; e- O7 T
  1240. - ^4 j% c  Z: ^) W9 Y

  1241. ' P* I7 Y: A, L/ y) c; q
  1242. JSR UP_PPU4 D7 z( T" }* I3 t( y' \
  1243. JSR BULCON_WRITE) g( v+ z# e$ c
  1244. LDX #$00
      H7 A! D4 d( Q! @; o  H
  1245. LDA $07A4! R5 U7 g# F; P# s8 O
  1246. AND #$08! G# c* c: o( }# a  ]
  1247. JSR ON_OFF_PPU
    + t% v. }" s/ Y5 K0 _0 D9 n
  1248. LDX #$00& `# U" Z6 J3 n' i* w3 P
  1249. LDA #$71
    0 V) V0 z& R4 Y! R
  1250. STA $BA
    3 d, W: O  b+ L1 F2 v2 ^" C
  1251. LDA #$21$ G1 d" f) s* ?3 T
  1252. STA $BB
    ' P) v3 g+ T, g

  1253. 9 z  G. s/ d) W9 N% z

  1254. 3 T* N" p& T% w* p) c
  1255. JSR UP_PPU
    0 \" m8 S/ C- F! x
  1256. JSR BULCON_WRITE7 |0 w; Z* D. d/ |, v5 n! b
  1257. LDX #$00
    0 I+ [  p, n! O1 w; z) P. R
  1258. LDA $07A5
    4 s- m9 l) _7 r
  1259. AND #$08
    9 J+ N' k! u& Z0 t
  1260. JSR ON_OFF_PPU) @+ e- D: s6 d9 \& a1 R
  1261. RTS9 j" C- ^6 N$ l- p4 N7 I
  1262. + e5 h0 W6 R8 M* _6 x6 k* M
  1263. SPEBUL_STRING:
    6 P* ^$ O1 I5 h6 F3 G
  1264. .BYTE $9D,$9A,$8F,$8C,$9F,$96,$801 u& }3 @- k: W. D4 X

  1265. ! L- n8 ~0 D5 P0 w6 W  w/ M9 a& v
  1266. # X3 y9 [: s/ L$ ?+ {  g
  1267. SPEBUL_WRITE:- Z* `$ X! W- l3 @  W  I) ^
  1268. LDX #$00. y+ U+ g" T  v
  1269. SPEBUL:
    2 i' Q  R3 k$ O. j* D- q
  1270. JSR PPUADDR_PROCESS+ `* ~. R9 G+ `: {6 i8 v
  1271. LDA SPEBUL_STRING,X
    5 y  A4 w" e9 G3 E
  1272. STA $2007
    2 r0 W- e& `% O, M3 s9 \' k
  1273. LDA #$00
    5 v" y) V* B7 i$ U' T
  1274. STA $2000+ X$ }, N7 z3 B
  1275. INC $BA
    / Q/ h/ u) o$ t5 ?' g% T( |: R- T/ Z
  1276. INX
    2 ]1 y; J" n& {7 H; W7 l& I
  1277. CPX #$07# k: U; {  J# v, o, P2 S
  1278. BCC SPEBUL
    " a5 _0 {- ^3 [
  1279. RTS5 i: E2 F; {0 \' ]3 i) m; Y* [6 f  U
  1280. # H7 Q$ b: a4 }/ X6 r2 n' m! V' G. l
  1281. SPEBUL_PPU:
    6 T* C1 H# @! p5 L
  1282. LDX #$00
    , y# @6 {  K: P" e3 ^
  1283. LDA #$A2
    4 Q1 S, T9 q* n+ ^8 V5 ~
  1284. STA $BA
    6 d! ]6 p5 m! B9 n- @  K) t) L- x
  1285. LDA #$21* m' f. i0 b, y
  1286. STA $BB
    . F/ s) t8 X: r: x7 ?

  1287. $ A8 b; H2 o& M8 y

  1288. 2 z7 T/ \+ u+ ?) ]) Z' U
  1289. JSR DN_PPU
    3 T8 n, O! B. F; o, w
  1290. JSR SPEBUL_WRITE
    ' s9 Z5 c2 c$ D
  1291. LDX #$00
    6 n  ~, G9 y# N: [! f
  1292. LDA $07A4
      A* [( ^3 @- i' o+ [8 V( U( {
  1293. AND #$02
    4 {# a! j' [4 r9 d% z2 C% j
  1294. JSR ON_OFF_PPU( v* S( H2 @- c
  1295. LDX #$00& t$ J6 @5 U- X: X6 B% p+ a
  1296. LDA #$B1
    . I: D1 X: m4 Z2 d
  1297. STA $BA
      V; E, z5 I- W5 U9 ]8 g, U
  1298. LDA #$21! M9 b8 H* l. D( \) E3 B
  1299. STA $BB  s5 ~  X" F7 ?# I, M; c0 A

  1300. # [$ I. m, `% d

  1301. 9 O9 ]$ G# S1 w4 [0 G# l4 d
  1302. JSR DN_PPU4 D/ w* {  q0 ^$ j6 s
  1303. JSR SPEBUL_WRITE
    , Y; I7 |7 |  N& y1 x
  1304. LDX #$008 h( w( c# G" V. x2 M, h! ^$ X0 X
  1305. LDA $07A5" V3 U2 R( K( F' G. Z2 W, c
  1306. AND #$02# o3 S, h9 A/ p5 V
  1307. JSR ON_OFF_PPU- y/ l6 C6 @" M
  1308. RTS
    6 z+ x" l) I4 v  v

  1309. # {. Z+ q6 I( t9 K$ [! r5 o
  1310. .ORG $A500
    9 b/ C/ O! Q5 T: {
  1311. CLEALL_STRING:4 a2 j( _% |/ |$ F; ~! B! C
  1312. .BYTE $8D,$96,$8F,$8B,$96,$96,$80
    8 o% C$ b) |- I6 @$ s* J7 n; ?+ m# Q

  1313. % O6 J' I8 F. ~
  1314. 5 M  I; B$ l" ?! E
  1315. CLEALL_WRITE:3 ?2 j" A5 ]( [4 e
  1316. LDX #$002 ]/ b- Q2 o3 V, E1 ^
  1317. CLEALL:" `. g- G& x8 W9 _1 h
  1318. JSR PPUADDR_PROCESS
    9 c+ E& h' X- q' [
  1319. LDA CLEALL_STRING,X2 S$ v9 ~  g5 r: r" R$ N2 H) A# J
  1320. STA $2007
    1 V; H4 G2 Q* S' w& K
  1321. LDA #$00
    . P* R+ a: t7 \% N
  1322. STA $2000( g/ I0 Y% s% O' Z, e
  1323. INC $BA& j7 d4 d0 P; E
  1324. INX# ]7 ?( s: F6 j* x& `& T; p/ w
  1325. CPX #$07
    " ~9 e( a0 G  l+ l* {) m/ ]: E9 V! h
  1326. BCC CLEALL, K3 S$ M: I" g. C
  1327. RTS- k, |; P+ i4 q' T
  1328. ' @: M0 U% g7 V) R
  1329. CLEALL_PPU:5 K" c, i& f: j( R! a0 W- H6 `% l
  1330. LDX #$00* W- r; L$ [2 |4 s
  1331. LDA #$E2
    ) d7 t2 e3 O. F. K2 h; \* o- l
  1332. STA $BA
    - H5 E6 Z% }7 W6 h0 K+ u  O
  1333. LDA #$21! a: l: S# U4 f
  1334. STA $BB
    9 L3 l2 g) j4 _1 C1 _, i% [  p
  1335. # ~- y: e! a; o, F$ L$ z

  1336. * l, D3 h0 A* ~
  1337. JSR LF_PPU# Y$ N7 q) H) h1 q7 d, f* ^
  1338. JSR CLEALL_WRITE
    % r: C) D8 t; I1 d; F
  1339. LDX #$00
    8 C) u  A- E. d6 e' r
  1340. LDA $07A4) v# [  m% G  n1 T) `8 B/ f
  1341. AND #$04) N+ O7 J0 Q4 s/ m% z' L5 u
  1342. JSR ON_OFF_PPU- M' ?5 O/ S" h& Y: ?2 C
  1343. LDX #$00
    # _: A' p! Y  y4 r: b7 |) Y$ m
  1344. LDA #$F1
    + b' i, t6 {. N  E
  1345. STA $BA
    ( S1 H$ o4 J7 ?5 a4 u& e, ?
  1346. LDA #$212 j9 @* C) q$ L$ Y  m$ \* Q9 |: ?
  1347. STA $BB: y8 V# j* h( S$ Z- k
  1348. ' l' m2 l3 l3 E+ A8 X* l$ k% G( R+ `

  1349. . v4 C. B, B+ D4 F( Z. @
  1350. JSR LF_PPU
    / f; ~! d; j& ~- A
  1351. JSR CLEALL_WRITE
    - d/ M9 Z9 q1 s2 v4 p0 L3 I
  1352. LDX #$00
    ; E- y5 n0 w8 z2 o$ R
  1353. LDA $07A51 H+ f' c. @9 b+ K, I% D
  1354. AND #$04
    ; C+ s8 }( H* J) r# G! n6 Y) X/ ?
  1355. JSR ON_OFF_PPU6 m% K7 l" [6 `
  1356. RTS4 d% p: y1 c7 r( p+ l$ m
  1357.   R$ H4 ~1 W  A$ ]0 i
  1358. HARDMODE_STRING:
    % W) n  _+ l8 r5 T  Z- s
  1359. .BYTE $92,$8B,$8E,$97,$99,$8E,$804 _) I" n- L5 e0 ^

  1360. : s+ n, R2 h7 u* g$ {4 G1 G
  1361.   n/ r2 q' A4 n8 s; G
  1362. HARDMODE_WRITE:% w' J" @8 Z7 g0 D7 x
  1363. LDX #$00" v7 I% c5 _9 c  Q7 g  ^
  1364. HARDMODE:
      ?) K% T( n  C4 B$ @, E
  1365. JSR PPUADDR_PROCESS
    7 q2 r) K9 c0 |# B) s9 r
  1366. LDA HARDMODE_STRING,X
    / Y9 E; Y# m) E* t
  1367. STA $2007% A& P8 A. i& ^2 Z3 t. B
  1368. LDA #$00/ n; j3 `9 _( I% I8 F& M
  1369. STA $20002 Z/ y/ i, M/ H/ _! S) r$ ^
  1370. INC $BA
    ( d2 A4 v% x/ m: p- Y
  1371. INX! j# r9 A/ c; m' o$ y
  1372. CPX #$072 @' ?! s: r/ u0 @# a5 q; z: g( S
  1373. BCC HARDMODE
    # r- u/ E; j- ~# ?1 C
  1374. RTS
      p8 {, h% f" a
  1375. ( |4 l8 c4 X' P$ {
  1376. HARDMODE_PPU:
    ' T5 }5 Q( P4 k  I1 H
  1377. LDX #$000 J$ t1 L- Y' Y& Q9 p/ z
  1378. LDA #$22
    ! j9 v, j# f- R& @/ ^% Q  F
  1379. STA $BA0 u+ y8 x# n; u" x. B, ?
  1380. LDA #$22& X: Z* b; r" L1 f9 v' H) z
  1381. STA $BB
    . _4 k+ k0 z0 q" S
  1382. JSR RG_PPU$ v+ ^' O4 y! ]! Z( k: x
  1383. JSR HARDMODE_WRITE
    / f' J! Z" O5 Q* u+ N# F9 S3 j$ }4 X
  1384. LDX #$009 k1 [1 B! O3 j; K3 l
  1385. LDA $07A4
    9 f- n' S! r3 V! j7 g
  1386. AND #$01
    . \; U; a% P+ H) Y6 M
  1387. JSR ON_OFF_PPU/ G' u$ q! A0 d5 D( M+ {6 ~
  1388. LDX #$00
    / E" j) z* R* j" w! m1 i+ Z
  1389. LDA #$31
    - O' g/ R1 \9 M2 r
  1390. STA $BA9 T5 i% `; K4 {" u
  1391. LDA #$22
    . u+ e7 K! [9 h4 m
  1392. STA $BB
    - t1 A6 q- N# u) A

  1393. 8 r# ]! ]) \( @( [- r

  1394. ! d% f/ u3 u. i2 d2 a% `
  1395. JSR RG_PPU; p2 s: {# D  N$ t7 j( L
  1396. JSR HARDMODE_WRITE! a; c+ [" x: B0 ~- f" n
  1397. LDX #$00- U; c2 }+ n  y
  1398. LDA $07A5# M8 E' n& Y* t# z& e; ^
  1399. AND #$01
    & q! ?: Z5 y4 o) ^' p: n
  1400. JSR ON_OFF_PPU) ?5 Z" x) ~( S6 w& z7 q
  1401. RTS
    7 I  \- g: \. d4 y/ ^) J
  1402. 0 j0 ~0 U- u( {1 L6 i4 o# }2 a
  1403. B_TO_JMPSTG_STRING:
    9 h6 o8 h8 M$ O
  1404. .BYTE $80,$8C,$80,$9E,$99,$80,$94,$97,$9A,$9D,$9E,$91,$80
    : d2 j1 n0 y! W: [4 N3 i

  1405. 0 ^8 Z3 E8 q5 o" L2 a
  1406. 8 s$ l7 i" H* w7 Y+ ^
  1407. B_TO_JMPSTG_WRITE:
    ' C5 m. F4 {7 [
  1408. LDX #$00" s+ L) K( v. o  T( g% o
  1409. B_TO_JMPSTG:
    3 k* ^! D4 w, b! f
  1410. JSR PPUADDR_PROCESS7 }! U4 M( X$ J$ r* P% H
  1411. LDA B_TO_JMPSTG_STRING,X2 R+ l& W5 o8 F7 H1 h
  1412. STA $2007+ |: x# P: E9 n7 n, ~+ ~; B; r
  1413. LDA #$00
    : {6 {* I# w$ m9 j9 U
  1414. STA $2000  i( I- N6 }& o  J
  1415. INC $BA
    3 @. z0 y+ h4 _( m- G
  1416. INX" q# e; g& P. p+ x# p5 P
  1417. CPX #$0D
    . @' u' X' G. w) ~3 r/ W5 ~. _! k% \
  1418. BCC B_TO_JMPSTG, R& m; ^" r! h0 f& \5 X$ d
  1419. LDX #$00
    " {5 x  o7 Y$ Q. n+ @% ^" Q& x
  1420. LDA $7FE0
    4 b4 A! |7 B  R1 l8 y+ x1 {# g3 W
  1421. JSR ON_OFF_PPU
    7 y$ [  M; q  h. u+ d
  1422. RTS
    ! A7 a9 ~. {  M1 u0 @) W
  1423. & T  T6 h: w. P( M- B
  1424. B_TO_JMPSTG_PPU:
    8 G) N, u. f# A, H6 L
  1425. LDX #$008 _" s$ ~1 h3 d, i0 `
  1426. LDA #$68
    . u0 J( r% g: m
  1427. STA $BA* i1 G, I/ e' U0 @7 W8 c' E
  1428. LDA #$22
    6 u; N" Q1 X' q, R
  1429. STA $BB
    % B" M' W2 @: }' H: c
  1430. JSR B_TO_JMPSTG_WRITE) }. P7 y! X/ X; D
  1431. RTS
    4 e% m- n( H/ E1 Z: m" `' B
  1432. . _0 ?* \6 S$ e, v1 c- p' [
  1433. : R' k& w- T$ D& {( L& `3 _
  1434. A_TO_PLAMOD_STRING:! K( W  f" }5 Y! u$ A
  1435. .BYTE $80,$8B,$80,$9E,$99,$80,$9A,$96,$8B,$97,$99,$8E,$80* K8 ?8 m; E& V
  1436. / \  c& ^4 Q8 c9 c( a
  1437. : N  G2 U: F& X; h: h
  1438. A_TO_PLAMOD_WRITE:
    % Q7 H4 Y( }0 y* a/ V1 i
  1439. LDX #$00
    5 i  v4 l  H- ~; ?( O- M6 t9 {
  1440. A_TO_PLAMOD:
    : B! e2 U6 w5 Q$ @6 F5 Q" a8 U
  1441. JSR PPUADDR_PROCESS+ {& |. l& D" D& y5 q& S. x
  1442. LDA A_TO_PLAMOD_STRING,X
    ' f  O/ b; ~8 p# j2 w
  1443. STA $20070 h. Z- t* f3 x- ?3 g
  1444. LDA #$00
    0 P$ K: F0 N( K" i" n" H8 M) f7 \  ]
  1445. STA $2000
    ( |; z# P2 |& w# C0 G
  1446. INC $BA
    ) D7 Z5 ]9 u5 Z! K- v, K
  1447. INX, N, r9 d* }( v7 ~: _$ G; {+ [
  1448. CPX #$0D7 [$ S7 |' H: n* w/ s: L, g; \
  1449. BCC A_TO_PLAMOD
    ' P% k2 v* X) p6 s
  1450. LDX #$00- F: b3 g0 c0 e3 C
  1451. LDA $39
    / Q. q) K& O7 x5 X
  1452. JSR ONE_TWO_PPU
    + r; W+ ?' j- H4 ?6 W  S: Q$ F
  1453. RTS
    5 c/ S% E7 x2 w1 x

  1454. ' [: v3 q: c% S8 }6 k
  1455. A_TO_PLAMOD_PPU:
    ; Y6 ^# p& y7 S
  1456. LDX #$00
    : O5 o1 A, i7 j: b2 ?9 `8 Q
  1457. LDA #$A8
    1 C# p5 O. Y3 K5 ^( x4 o- U
  1458. STA $BA2 S4 B/ i- j: w) y9 z! C* Q
  1459. LDA #$229 p; z7 V% A" Q. _" o
  1460. STA $BB
    8 z' W/ L4 F3 {4 |4 A/ l
  1461. JSR A_TO_PLAMOD_WRITE# S; c6 n0 K2 w4 H6 I) l
  1462. RTS
    0 H  F6 O8 t9 D: g) l
  1463. 5 K+ P2 ]' C- @7 |
  1464. MOVSPE_STRING:/ {+ y" J. H# l+ j/ Y% t& g* T
  1465. .BYTE $97,$99,$A0,$9D,$9A,$8F,$804 _; ~1 V" I( z# [( p

  1466. ' P# u, o, q4 ~, `* ~
  1467. : C  S/ O; R8 u+ C6 J3 P
  1468. MOVSPE_WRITE:
    4 J1 C7 m. \! j
  1469. LDX #$00
    ; t: a' f& e8 Z) N. ]
  1470. MOVSPE:
    2 P4 `$ U7 O) q
  1471. JSR PPUADDR_PROCESS
    1 G( C4 l# e4 u+ A% T' F/ u
  1472. LDA MOVSPE_STRING,X, y/ U, Z: ^9 _5 C2 K  G/ a- @1 H" y
  1473. STA $2007% X  z+ @' H- r2 I
  1474. LDA #$004 g+ K# Q0 u. ^
  1475. STA $2000
    ' J8 ~6 I5 w. F$ G5 L0 z
  1476. INC $BA
    6 o% M) `. `* M5 c9 Q/ E
  1477. INX
    6 x( _: V  P. v
  1478. CPX #$07" D% V& S5 S8 N+ B- Z2 l. r* ]
  1479. BCC MOVSPE7 q3 T  ]3 V$ A! K$ s4 B0 q
  1480. RTS1 ~5 v, ^4 i! D! f% a
  1481. 2 e9 V& @9 w& |6 [+ I- v
  1482. MOVSPE_PPU:: s$ p' Q  w& v: @" Q- A
  1483. LDX #$00" r: G/ b! Y1 X/ |5 l6 i# J. M5 n* {
  1484. LDA #$69
    $ l$ w, g6 F0 M6 J
  1485. STA $BA7 `0 g6 o6 q# S% y
  1486. LDA #$21
    : z, j* C  I2 U+ y; |8 o
  1487. STA $BB; }+ S' P. X  Q+ `4 @* S- @

  1488. ; e  j! z  {! y/ p- u

  1489. # \4 O3 L0 O# G' Z
  1490. JSR UP_PPU
    0 x* e# ~4 k2 T9 \* B& D: F
  1491. JSR MOVSPE_WRITE
    + O" J* G- V2 Z8 h  u
  1492. LDX #$00
    6 A7 L) E9 X5 A$ \8 B% T' a
  1493. LDA $079F
    - d5 t4 s8 b+ S" v
  1494. AND #$08
    : n" C; B9 E) z: B, j1 A$ Y
  1495. JSR ON_OFF_PPU  J& B7 k# V, h3 u
  1496. LDA #$80
    ( G/ u$ S5 U6 w' r4 K( u
  1497. STA $2007$ S- E/ y& Z. {3 V+ H
  1498. RTS
    1 J2 g; _% w' ]4 r% l  \5 T( A

  1499. 4 R8 L& j& p7 V# N
  1500.   
    ; O' w% o* e. A) w6 @: E, W
  1501. UNLJMP_STRING:
    - V7 L, y8 X# N! m4 b9 f
  1502. .BYTE $9F,$98,$96,$94,$97,$9A,$803 K2 Q8 ~; b& ~. F$ X7 y4 ~
  1503. 0 o% D8 v, W" \3 S

  1504. 3 N2 C' x; k& ~/ E5 Z* Y
  1505. UNLJMP_WRITE:( S/ U5 V, n& F- a4 `0 X2 _
  1506. LDX #$00
    9 _0 h. P+ x! |4 G
  1507. UNLJMP:
    - K9 U7 T- }3 _1 X4 ?& r' I$ y6 a
  1508. JSR PPUADDR_PROCESS
    " D$ o$ @7 V1 d2 a
  1509. LDA UNLJMP_STRING,X
    : A  ?1 k. Q( ~) B: Y/ @- d; }
  1510. STA $20079 ~0 P. o! k* Q+ E  z7 i0 ]
  1511. LDA #$00
    3 X5 ]* A. r: W
  1512. STA $2000) G  G3 F- B. V: l; R$ C9 J
  1513. INC $BA5 n0 I% E6 s5 M6 a: I" h
  1514. INX' D. e8 u% A, _1 {% u
  1515. CPX #$07% w: N/ S% J4 U+ J% }2 s, q
  1516. BCC UNLJMP7 U" ]% }: R5 f0 k; ]
  1517. RTS* W8 \3 X; G7 I4 X6 @3 n
  1518. $ j5 a' l! {. P8 ]8 H) n
  1519. UNLJMP_PPU:
    * \7 h4 J5 j8 E
  1520. LDX #$00
    3 @7 r* \4 I3 s0 g5 ?
  1521. LDA #$A9! f# S( c) j5 O- a6 B
  1522. STA $BA* A8 A  L' A8 M9 H2 M1 y% t
  1523. LDA #$21$ n1 p3 B: W8 ?& d; U
  1524. STA $BB9 [8 Y& I( D4 f
  1525. 0 ~6 v- J4 ]* h
  1526. / B* j8 i2 q2 r* j  l
  1527. JSR DN_PPU
    5 b4 W  E& r. o8 u
  1528. JSR UNLJMP_WRITE/ `7 E; N+ M9 r! v3 F2 B( c
  1529. LDX #$008 v; _2 ?% z# I. ^
  1530. LDA $079F
    / T* W8 X$ @% n
  1531. AND #$04% B$ w8 X* T0 z; Q  @% ^( h
  1532. JSR ON_OFF_PPU
    3 d, }5 \8 ^7 e/ y# e
  1533. RTS0 H% l3 D, {) g/ a9 J. a
  1534.   e7 `5 F4 p) B, a+ W8 H

  1535. 9 N1 @1 L7 |7 H5 K  R- V& L
  1536. DESTRO_STRING:
    2 g/ ?5 v9 z3 |2 K
  1537. .BYTE $8E,$8F,$9D,$9E,$9C,$99,$809 T+ m' I+ S6 e$ H7 U- h) k
  1538. $ c# e3 W; P5 g+ D& \$ \
  1539. 8 w1 d: C& y- p2 h2 M) N1 f
  1540. DESTRO_WRITE:; `8 v! p: n' I  ^
  1541. LDX #$00
    % f; N$ |* @# B% M
  1542. DESTRO:" Z; _4 S1 u7 G! V& _% l& X/ ]
  1543. JSR PPUADDR_PROCESS
    6 i0 R: a, F) T3 p8 J0 m& s
  1544. LDA DESTRO_STRING,X
    - S) f: m, T: `. F
  1545. STA $2007' K% y! R3 l: b/ v( }9 @. H
  1546. LDA #$00: k/ o5 E* I4 P
  1547. STA $20002 f4 p+ A0 y# k! e
  1548. INC $BA# v6 q, ?+ M' E0 s$ X. R+ w2 Z
  1549. INX# U5 G- s4 {+ K& f
  1550. CPX #$078 c1 F: d1 O7 ?) \& D3 I, T
  1551. BCC DESTRO7 Z) o( _& @/ b, m) D
  1552. RTS
    & c' H8 |8 w$ s+ |( }
  1553. $ |5 Y1 {. i; \0 Y- O
  1554. DESTRO_PPU:" u# b; E- D$ w" a4 d! T4 F) z) f
  1555. LDX #$00
    * ~: n, e. e- @4 e' H- W5 T% o
  1556. LDA #$E9& N+ V) [4 w5 @/ O0 p# _' A
  1557. STA $BA
    # ~2 M7 g8 j- p0 Q  O9 \7 m" x' r
  1558. LDA #$21( h3 Q6 i9 p+ a) V2 k4 A
  1559. STA $BB
    ' U. q& T, I" B4 L, K8 G3 u6 \
  1560. 9 D1 p0 b( I! }. [$ {4 R- N
  1561. : i* V' j; p7 @! J0 p$ l) P5 l
  1562. JSR B_PPU1 g9 a# W$ N: @+ z
  1563. JSR DESTRO_WRITE
    4 F3 T( ^8 F* J( A
  1564. LDX #$00
    0 Q$ v$ ~% a  K! q8 y$ V
  1565. LDA $079F" v# B8 P4 v3 d3 y& i3 _
  1566. AND #$40
    & T+ l& X4 ~+ c7 |
  1567. JSR ON_OFF_PPU
    9 o. W9 {) f) R
  1568. RTS6 m$ P3 J( N( G' a' u+ W

  1569. & e+ W% d2 e3 b1 P' W& c
  1570. 2 U" w! l0 K9 B2 T' Y. x2 g) C
  1571. EQUBUL_STRING:) p# u  b7 Y% g3 c2 y& v3 X7 W
  1572. .BYTE $8F,$9B,$9F,$8C,$9F,$96,$80
    2 C; A8 H# N  B1 |
  1573. ( e- D+ Y  W$ h9 T6 }6 v

  1574. ( P0 p+ f) \" P& y# c7 Z
  1575. EQUBUL_WRITE:0 ^2 _7 c; u. Y( t3 X- x
  1576. LDX #$001 {8 ?( g) q  C- A2 \
  1577. EQUBUL:
    # \6 z4 ~% B5 L6 a
  1578. JSR PPUADDR_PROCESS6 h) @( t' D" L. v4 k" q
  1579. LDA EQUBUL_STRING,X& R0 }% v; d% D6 R( h
  1580. STA $2007
    % A( @. k* b( O$ `& E
  1581. LDA #$00
    0 F' t% o0 ~1 r" u4 _( |0 S* u
  1582. STA $2000) J0 g2 W, J& A4 F4 U
  1583. INC $BA; s0 J4 [& m0 @* k
  1584. INX8 x6 x( q% k5 r  V* u. F
  1585. CPX #$07& H- q$ t$ t! t! e
  1586. BCC EQUBUL
    ; ?0 i9 A  s& D" c
  1587. RTS8 \& p0 f) j& J$ G* d, l
  1588. $ u$ ~( \$ h3 l4 }4 q* B9 q
  1589. EQUBUL_PPU:4 m3 r& e  O" Z7 {2 {- N( T
  1590. LDX #$007 l: Z; k9 O3 n, @* N4 w. \
  1591. LDA #$290 e5 {6 u# g) Y+ g0 @- d
  1592. STA $BA/ g4 \, L0 r  D
  1593. LDA #$22* V& Y4 `+ d1 i
  1594. STA $BB& [8 Q. u$ a, a* V$ F

  1595. - d" q& V. l# H. j- |: Y
  1596. / n) k/ o# t2 v& e7 G) S+ F' H
  1597. JSR A_PPU
    " \6 K) L) a. |9 D6 z
  1598. JSR EQUBUL_WRITE7 U' H* ?: K# ]
  1599. LDX #$00
    ; L3 V$ V, l# A* P9 V; K
  1600. LDA $079F
    : ~: s( r3 g" ^' X' Z) l( Q) u
  1601. AND #$80
    - z6 H# k# |1 e
  1602. JSR ON_OFF_PPU! t( J2 G4 }* V" r- W' H+ o. C: }
  1603. RTS
    ) j' m6 U% U0 O' c

  1604. . K$ D& n& B9 Q5 f9 C

  1605. $ N# X5 C# F( R. c% m, ^5 W

  1606. 8 z& e0 j* l2 Y, R6 \( Z" z
  1607. BULSEL_UP_STRING:
    ' b- s+ u( f' P8 m  S
  1608. .BYTE $9F,$9A,$80,$9E,$99,$80,$9D,$9D,$80
    $ ]. m% F* w) X' w# U5 N- z

  1609. 1 t3 a6 e  b! \- J/ g0 c! K
  1610. BULSEL_DN_STRING:1 C  \4 |0 a5 n( H
  1611. .BYTE $8E,$98,$80,$9E,$99,$80,$9D,$96,$80
    ' F% f- k1 ^" i
  1612. 2 x8 o8 p* L( s8 W: v
  1613. BULSEL_LF_STRING:! y' d! M4 M( v1 J+ r9 d( }" v( c
  1614. .BYTE $96,$90,$80,$9E,$99,$80,$9D,$97,$80- o# u: L( I5 S7 w! {. g) [# d$ E

  1615. 4 G+ _0 x! k8 R8 V1 c. R8 j' a
  1616. BULSEL_RG_STRING:$ }# |6 s' q/ F
  1617. .BYTE $9C,$91,$80,$9E,$99,$80,$9D,$90,$80
    7 Q* i: `! K7 c- K+ A$ G# f& n2 p
  1618. ) w& [5 ]! r7 s1 v* m' J6 K5 d6 ?" _
  1619. BULSEL_B_STRING:. r' a2 D0 r- v0 D$ C$ d
  1620. .BYTE $80,$8C,$80,$9E,$99,$80,$9D,$98,$80
    6 Y3 s# F) o- P' W# o5 f6 _- a
  1621. 2 q9 `+ G; z+ o- N# w7 T- W4 z
  1622. BULSEL_A_STRING:
    7 {) i5 u( i5 W- E/ s# g
  1623. .BYTE $80,$8B,$80,$9E,$99,$80,$8D,$99,$97,$97,$99,$98,$80,$9D,$9A,$8F,$8F,$8E: l2 N: @8 E- X! R1 d! B" S/ m" H7 e. w
  1624. - }# `" W! M. [5 u  E; R3 k
  1625. , q! w  z. m( x+ t9 G$ z
  1626. BULSEL_UP_WRITE:6 G$ j% w# R( `' r" K
  1627. LDX #$00" Y2 d  J# @0 f) n" o% O
  1628. BULSEL_UP:, V* ]. K# [: Y; L, g5 [
  1629. JSR PPUADDR_PROCESS8 @! q& A' W5 a  S/ J3 @8 X6 r
  1630. LDA BULSEL_UP_STRING,X
    # {5 f0 R' W3 Q# P
  1631. STA $2007
    # E" J4 q% A- E4 G% K5 i" l
  1632. LDA #$003 k+ S) R; |- M1 {2 ^; C) T; ]
  1633. STA $2000
    4 m+ T, r. i! y) q1 e
  1634. INC $BA7 k. \6 p' v. o0 M
  1635. INX
    - p! Z  B7 m3 {" B) @* {+ N
  1636. CPX #$09- J. A# s+ ?6 G4 L! g
  1637. BCC BULSEL_UP$ c  U3 M3 Z# a6 l+ }& W8 y2 b* J
  1638. RTS
      l- Q* Z( {+ s9 x
  1639. BULSEL_DN_WRITE:
    ; ]- M0 h/ w' j: s8 D; `5 @' }" ?, |' T
  1640. LDX #$00" B: z+ K. c; h' W, ~1 l
  1641. BULSEL_DN:
    $ {4 c# l6 m& {7 d. q. Y
  1642. JSR PPUADDR_PROCESS& P: L1 J1 T$ ?
  1643. LDA BULSEL_DN_STRING,X
    ( V2 [; Y0 |7 e7 E3 O* X3 \
  1644. STA $2007
    / O" Y! s& e9 G8 S2 ]7 m
  1645. LDA #$00
    * E5 D6 i( x3 f8 l5 r1 I
  1646. STA $2000
    3 ]& K: ^" ~( h
  1647. INC $BA
    ; p/ Y) r' K* z9 `: |. V2 j7 H- N7 \
  1648. INX
    , T" g7 ^( C* C' d6 c) X
  1649. CPX #$09
    ) a9 m0 G4 U: ?& O, X
  1650. BCC BULSEL_DN3 v# L: r7 d7 Y: _* U. E
  1651. RTS
    3 o7 h5 [( w3 G
  1652. BULSEL_LF_WRITE:
    1 ~# t/ x9 x1 _: ?
  1653. LDX #$00
    2 s' V- B9 c8 D) c; M
  1654. BULSEL_LF:3 |9 i0 z5 \: C+ k/ V
  1655. JSR PPUADDR_PROCESS3 L- g! L: E; `1 R* _9 r
  1656. LDA BULSEL_LF_STRING,X
    8 D0 [1 I* b2 `" I6 I( g8 e0 n
  1657. STA $2007" }9 ~$ A+ J  P3 F
  1658. LDA #$00
    9 f. h/ q; n, C( I. o0 m
  1659. STA $2000# j$ Y8 F5 B; n  O# n1 B- w
  1660. INC $BA
    * b! ?& q7 n/ s1 _5 j
  1661. INX
    - j; b( H' U" p' g9 A
  1662. CPX #$09
    $ Z  S9 n! j) h# N5 X8 L! |
  1663. BCC BULSEL_LF
    * `7 b8 {* A* }+ u+ t4 F- I1 Z
  1664. RTS
    7 r7 O1 u: I5 G
  1665. BULSEL_RG_WRITE:: R) @4 ?6 c  X: x
  1666. LDX #$00
    % a2 I0 y% [7 A3 P- c. L
  1667. BULSEL_RG:" S- y& P) Z0 Z4 [3 w, c
  1668. JSR PPUADDR_PROCESS) G$ K6 t& G" r+ G0 [% ?6 H
  1669. LDA BULSEL_RG_STRING,X
    ; ]: I$ P/ ^' T6 G8 G3 Z
  1670. STA $2007! |! J& n1 Z" H* V5 U
  1671. LDA #$00
    . j  ^8 T5 Y5 M  j$ d# [9 [( D& G
  1672. STA $2000% I; T: ^$ O" R& @( L& P! l6 w
  1673. INC $BA
    ( A: z, l6 a; {0 P
  1674. INX. K! @9 c/ i4 A% w! k
  1675. CPX #$09
    4 v9 U; L: S2 E/ J6 Y( n
  1676. BCC BULSEL_RG  k. e& V+ x4 o: k; x" a# {
  1677. RTS& f! _/ P% n. w0 c
  1678. BULSEL_B_WRITE:! }3 r$ o- N+ t8 ]# [0 Z! D9 K- N% F
  1679. LDX #$00! t. V" C' a: i' \; f
  1680. BULSEL_B:
    - C1 z) `8 A" l
  1681. JSR PPUADDR_PROCESS( Q7 L8 C  |' x; [# _; G# x) ]
  1682. LDA BULSEL_B_STRING,X6 ^0 W% F  m- T7 x+ k. g0 c$ T+ B
  1683. STA $2007, J# G7 {, C2 O# W$ I. r
  1684. LDA #$007 z; L/ h0 L) B6 e4 s
  1685. STA $2000* E/ \) T9 K) z5 A- W7 ?; A5 T2 }  D
  1686. INC $BA, ?; ]5 v2 m7 \! A
  1687. INX
    $ a: D2 r$ F$ a9 q, G
  1688. CPX #$09* V$ W+ a: G, ^) B3 e
  1689. BCC BULSEL_B
    2 s- k! M" }$ }4 K6 i1 i, ^( h( y  p
  1690. RTS
    1 p# B: ^" R9 P! E
  1691. BULSEL_A_WRITE:/ m. y) E& g& T: w& V
  1692. LDX #$00
    0 O& o  |) M  G' \
  1693. BULSEL_A:
    9 ^' Q& r1 B* S2 l  s
  1694. JSR PPUADDR_PROCESS
    4 `# \" O/ z2 n3 J6 R, r" u" H
  1695. LDA BULSEL_A_STRING,X
    * b' N' l: B: X1 K
  1696. STA $2007
    # ?3 E9 i! K; J9 M
  1697. LDA #$000 v7 C1 u) W& ]% n* |3 S6 E7 T
  1698. STA $2000
    ) I0 t) a- I4 @. K) e
  1699. INC $BA
    9 \7 U% ^+ s; V9 ]' {- |: B1 J
  1700. INX
    4 V) {& r% u% e  y- i% C
  1701. CPX #$12
    ) G. D" p/ o0 e
  1702. BCC BULSEL_A* _+ E) I* b" z9 ~" d& [
  1703. RTS
    4 P8 T$ L& \: _1 @

  1704. , e2 I* a2 I: p% w7 u6 g
  1705. 5 W- i. p" V& c1 Q+ }7 x
  1706. ) K( ~+ \) j4 |  k
  1707. BULSEL_PPU:1 N1 U$ B: N/ K) ?# V
  1708. LDA #$6C' v! [3 W% F* h$ b; J& J+ q
  1709. STA $BA  Y# V7 M3 n/ T) P: I- w4 `
  1710. LDA #$21
    : o4 X1 F7 P/ @6 b- r1 u. {( t
  1711. STA $BB  N! T8 C. ^& O* }! k; \& g
  1712. JSR BULSEL_UP_WRITE6 D' Q( k# i3 t& b# [! {

  1713. ! t" g! g  D3 P% E( C% _5 Z$ Y
  1714. LDA #$AC& h& m) @  k% ~. T) b
  1715. STA $BA) R% b& W! X7 B+ \4 O) {$ J
  1716. LDA #$21! s: e: ^; h- s" O/ I
  1717. STA $BB- P3 E; L  d0 B& R9 u
  1718. JSR BULSEL_DN_WRITE, ^. J) D. d0 n7 ^$ a5 i  S

  1719. 4 N3 l1 s. ~; L
  1720. LDA #$EC
    ' ?# u& \- Y" B/ z  Q+ C
  1721. STA $BA, ~; K+ ^2 K+ o2 w$ f
  1722. LDA #$21
    . _1 Q0 O8 n) F+ _. }2 |# m6 C
  1723. STA $BB+ I) q, ?, O( C5 o+ Z
  1724. JSR BULSEL_LF_WRITE
    ; R. D8 V0 Q# Q: M# f6 f
  1725. " c! Z6 f- t" O/ k7 C5 m9 T6 L2 L0 s
  1726. LDA #$2C
    & y! A5 M3 K5 k& S0 x# f! ^
  1727. STA $BA% _5 Q9 h2 p6 t- \" }
  1728. LDA #$22  @  \! L( M6 A8 J2 k1 p
  1729. STA $BB
    # ~$ b( A) ~* w* G" @, A: _
  1730. JSR BULSEL_RG_WRITE" L( Q4 w7 ~' w, |( h0 W
  1731.   \. U: Q) w8 t9 h
  1732. LDA #$6C
    0 s: e9 T/ I/ Z4 h) T& w, R/ T
  1733. STA $BA2 B/ |2 D+ e# p! C
  1734. LDA #$22
    - J' v7 B# f3 O, V) n; h
  1735. STA $BB
    ) P  u8 F0 R  j5 {% W. e  i
  1736. JSR BULSEL_B_WRITE# q: c5 Z" M6 j

  1737. % D3 j+ ]% F& Y, S$ m: O
  1738. LDA #$A77 }2 a7 Q: [/ Q5 |) R/ M
  1739. STA $BA
    6 \2 p7 W. b% A7 E- q
  1740. LDA #$22
    & k' W! Z$ u& ]; N" S/ P1 _% s
  1741. STA $BB
    ' E1 s' _" B; @
  1742. JSR BULSEL_A_WRITE' F. y( W. u5 V% o
  1743. RTS
    $ e, Q$ Y: l* N( B/ l1 l

  1744. 4 k( L0 O# y- ]9 l1 O6 h- i
  1745. , W7 N( i+ t9 A3 F4 i" X, Q
  1746. ; t( [) v! n5 O7 B( i( g- h2 l
  1747. UP_STRING:
    1 A5 b  i, ~' Q: q
  1748. .BYTE $9F,$9A,$808 Y* w  L6 w& ^6 E7 C4 B! U

  1749. 6 B& F8 y% V- i# V. z) F: m
  1750. DN_STRING:( `; J- ]' k/ s
  1751. .BYTE $8E,$98,$800 u' Z5 i# U1 m; N1 S0 B

  1752. # [) g* l$ O2 O7 _
  1753. LF_STRING:/ [# a% ]3 h, c/ G4 T- k0 U" d
  1754. .BYTE $96,$90,$80
    ! j0 U/ c5 P8 T0 t7 P( |6 ^
  1755. ! }5 j/ {3 r1 E7 L4 N
  1756. RG_STRING:; P# G! u5 f6 {, x
  1757. .BYTE $9C,$91,$805 W  Q+ |' Z( ~! p
  1758. + I* F, X. B* _1 y7 m
  1759. B_STRING:
    - n4 ^& `) `, k# e
  1760. .BYTE $80,$8C,$80$ |2 k9 S9 a$ c) g9 c% O8 R& l- f+ B$ ?

  1761. 4 _4 }) x2 c; m# T2 o' M: _
  1762. A_STRING:
    , s/ ]0 l; S, c5 Y$ j
  1763. .BYTE $80,$8B,$804 E+ V9 j! n5 [4 }# p* C' |

  1764. % w2 W( h" m, f4 k. n5 a
  1765. * w* O8 n" v  V
  1766. UP_WRITE:  S- d, }! N  S
  1767. LDX #$00
    / k( U' U( J' |! y' _' w! q0 v' t
  1768. UP:
    ) C/ s" ^; J. u- n$ {5 i
  1769. JSR PPUADDR_PROCESS# F5 h) ~" C  Q) g: `
  1770. LDA UP_STRING,X
    4 b3 u2 p1 X$ u2 R+ m4 D( q& ~
  1771. STA $20077 e5 _8 V& a0 t' A$ u
  1772. LDA #$00
    # c1 x& c* `$ \0 Z) l0 A% E
  1773. STA $20004 A+ `0 @5 d& z2 z( N
  1774. INC $BA& U( D/ o- }7 N% G& r
  1775. INX
    ' X  ?' M* m2 g9 i* t# r' \
  1776. CPX #$031 K$ J( v9 G( B% L
  1777. BCC UP
    0 w+ Y# A. F+ q8 `5 r* X
  1778. RTS
    $ d9 S6 m: O0 S# Y' h% ^
  1779. 3 A- [, u" c# V1 ^
  1780. DN_WRITE:0 }- d/ N) V3 H( a1 j9 x2 |
  1781. LDX #$00
    * H2 L) k" U) r( e4 t. j" V2 d
  1782. DN:
    * A- T: Z# q! f& S  A* A8 d
  1783. JSR PPUADDR_PROCESS1 L/ Y( I7 n2 s- u' J' w0 k
  1784. LDA DN_STRING,X- f  }+ g  J) u6 g& F# P6 H
  1785. STA $2007, V- h" A% }) V8 t/ W; O9 l2 z
  1786. LDA #$00
    ; V% }8 M4 k, f. o/ j5 n
  1787. STA $20009 F6 c) ]- X+ _2 B% K
  1788. INC $BA
    ( n- Y) V+ g3 Z5 j! n" c5 o. a! r
  1789. INX; L$ K; K" v! {& x1 J1 _' L0 K/ ?2 E
  1790. CPX #$039 z* u; C6 V0 v* f! {
  1791. BCC DN2 T+ W* h  X% {8 H3 M
  1792. RTS+ S1 m' E0 p1 l! C
  1793. : |1 {- h  m+ O& M" w
  1794. LF_WRITE:, B5 F  F! b, C1 B
  1795. LDX #$00
    ! G0 A" g' Z# G# [; c
  1796. LF:. \+ j0 K/ O4 r" s: l" f8 s
  1797. JSR PPUADDR_PROCESS
    1 b1 |. O- q& Q) @
  1798. LDA LF_STRING,X' `; u# x+ d; F8 X
  1799. STA $2007, h& R% |/ G: O' G0 T
  1800. LDA #$00+ u" R8 N7 }, m6 }
  1801. STA $2000
    5 q( q5 ^. ]! i0 Q! F# Z, z
  1802. INC $BA/ N0 @( Z- I5 ]- B( T4 [
  1803. INX! |% |! K/ S2 A# r- K' {
  1804. CPX #$03
    9 H" F5 s, V4 K- m9 u# L  I" T
  1805. BCC LF
    3 T' m, c" I6 c( b; n
  1806. RTS
    3 t: ?& T, M, v0 Z8 ]: D5 {& t8 X9 i

  1807. % Q9 D" B* Z, |
  1808. RG_WRITE:& o# |+ S  s9 o' E2 e, G1 ~. b
  1809. LDX #$00. n9 W2 S$ h- Z  p2 B+ \/ y
  1810. RG:3 g+ o" L9 l7 r; ?" u1 n$ M
  1811. JSR PPUADDR_PROCESS3 i  ~! }* j6 I2 k
  1812. LDA RG_STRING,X: Q; K/ V1 d0 K% k8 \+ P
  1813. STA $2007
    * m) q2 @) ^6 d! v: y  G  G
  1814. LDA #$00( @; J" e; R( ~' Y6 r! K' v
  1815. STA $2000$ p' s; U4 |) z7 Y' g0 j2 `
  1816. INC $BA
    6 l$ z1 d8 i5 d! W$ x2 W
  1817. INX
    3 I0 b  u8 M" A* m$ X7 b( ~' z
  1818. CPX #$03) r4 a8 V1 `2 t; l; I
  1819. BCC RG
    ) q1 N% E4 E* K9 Y& c3 g7 A
  1820. RTS
    # g, {/ U- T( m4 \
  1821. : F! o. X6 v2 J2 X/ A( f: C) u% k
  1822. B_WRITE:
      W' g, j; \8 z8 U4 L# y$ R
  1823. LDX #$004 J( |  {# K1 x1 q
  1824. B:
    5 o8 h/ Q5 i7 m; v( W: I
  1825. JSR PPUADDR_PROCESS+ `& Y( \! M: O
  1826. LDA B_STRING,X
    3 n. s! ^) u' b. g0 R+ ]- X6 Z* f( c
  1827. STA $2007% \) i: U- k3 q% M! R' x" e
  1828. LDA #$00
    1 P8 g! O- \+ y8 }$ C: L
  1829. STA $2000
      W  G' Y4 n$ Y$ R0 Q+ R6 W: I
  1830. INC $BA5 N0 o; V0 l# b. Q0 }- y  S
  1831. INX
      e  D* O- I2 q" r5 ]$ j+ `7 k4 o8 f
  1832. CPX #$03
    9 X# q3 Z: f& A, r4 ~  k7 t
  1833. BCC B  i& R9 J) ]8 c8 a
  1834. RTS
    ( |" u7 D0 s" ?* k7 @  ^7 }! W  i$ B3 C

  1835. 2 i" \3 o* P& M/ Z% o. `. H2 d
  1836. A_WRITE:
    : w; r% r6 J% r7 g! _/ O5 q$ |: q
  1837. LDX #$00
    ; j! A- c! h3 g6 I
  1838. A:2 t, V& Y9 y( o% Z6 E
  1839. JSR PPUADDR_PROCESS
    4 d" J2 O' I! B1 ^3 {
  1840. LDA A_STRING,X) o7 E* p1 w$ a3 t' ~! Z7 ^
  1841. STA $2007. v5 _- F- d: u  k& n
  1842. LDA #$00- X5 m6 H) ~+ Q# _
  1843. STA $2000
      g  r+ B% Y% W
  1844. INC $BA
    ) ]4 L# `, F8 t& y# v; i
  1845. INX9 ~" d; T1 T0 _5 ~, |3 R; E  B
  1846. CPX #$03
    + G( m8 G4 J+ h1 M. R' Z
  1847. BCC A5 F$ f5 P% A% a  I
  1848. RTS! G/ w6 X% W& f, o/ h* L

  1849. % l2 U' _; U5 _7 Y7 O
  1850. # A) w$ K2 I$ Z, x! ^4 S$ L6 y
  1851. UP_PPU:
    . c- B7 Y# X& n  K+ ?8 M$ x5 b8 M7 a
  1852. JSR UP_WRITE
    / ~$ n) N( p: p% {* s- @
  1853. RTS
    " w. S9 I4 \2 N, i; k, S7 d- K; w

  1854. . I3 y2 }! p# o! y! a2 X$ u
  1855. DN_PPU:
    9 N3 w) b7 R, }7 w3 W7 w
  1856. JSR DN_WRITE$ Q6 c9 y2 s2 x; G
  1857. RTS
    4 t, O1 x2 A4 {" \* ~: ~
  1858. ; L7 j$ H6 N# y. B/ {4 ?/ G
  1859. LF_PPU:
    2 J1 e) E$ R1 ?/ g& L3 J* p
  1860. JSR LF_WRITE
    " J; p+ ?8 k: P
  1861. RTS. y6 Y( ?2 J7 f+ Q( ~

  1862. ' T: R* T6 {! |3 Y& G6 I4 p% H  |, o
  1863. RG_PPU:
    & G9 n3 a( \' @4 W
  1864. JSR RG_WRITE
    5 t; }. }0 v: k& x$ e( W
  1865. RTS, @) ^' O1 L  q3 Q

  1866. " ~  O) \' y' w% r/ a; ?3 ~
  1867. B_PPU:
      P; P$ Q: o' r0 K0 G4 ~
  1868. JSR B_WRITE
    & X) Q) m8 m: T
  1869. RTS
    ) }3 N2 @1 G6 w% z
  1870. # o% h' B( v; H3 T6 X
  1871. A_PPU:& |2 E/ |, r( e2 J( K0 k9 ~9 `) C
  1872. JSR A_WRITE+ J" f, r1 S. q( b; ?
  1873. RTS
    & K, y) {6 x  d/ n# w% d

  1874. . w# y  h& \# ]! x+ ]

  1875. / r, b/ W0 N4 t1 n' X& j3 S
  1876. PAGESELECT:
    ( W4 s2 E; ]4 Z( u- r% x( _
  1877. PAGE0:  _* M8 Q$ Y( O2 s2 m: ~1 ^
  1878. LDA $07AA& q; z( O5 Q& W
  1879. CMP #$00
    # v* x; L/ M3 e
  1880. BNE PAGE12 Z) ~! I( h0 {0 V
  1881. 1 t* h- M: M/ E, r! }
  1882. PAGE_00:
    " A; L8 k8 m" _5 h# y: U
  1883. JSR BULSEL_PPU
    6 _+ T7 X! T( e: J  |: X* W
  1884. RTS  W+ j5 W1 l: ~- Y
  1885. + N; L/ G3 P6 p* R
  1886. PAGE1:
    2 R% z& C  K+ R( j
  1887. LDA $07AA3 g0 m- D+ }7 Z+ U$ z; F, ]/ j
  1888. CMP #$01
      S; N3 H! ?& L' k3 C  @6 c: G
  1889. BNE PAGE2
    ( N7 J/ r- Q  t5 V
  1890. ! \; B4 N: p, n$ P) L$ i
  1891. PAGE_01:& R% H# R! u1 {$ t4 u5 ?3 n+ @
  1892. JSR INVINC_PPU
    3 ?, e) \: ]: T1 A% }
  1893. JSR LIFELC15_PPU/ }1 {: m/ `! Q2 N* I) G* k
  1894. JSR DOUCON_PPU
    " p' `4 j  V7 O
  1895. JSR KILLON_PPU* Y' t1 [" O  R) H7 S3 W1 i3 A
  1896. JSR SKYFLY_PPU& o" c5 U% ~. c- I: D) q
  1897. JSR LIFELOW_PPU
    9 J  @4 y2 [3 f7 P7 d* I) r  D
  1898. RTS
    % i# [! U* x9 N( b
  1899. 3 L; N* z5 e% b2 o
  1900. PAGE2: $ R- a: F5 o3 Q3 l* F( X* ?
  1901. LDA $07AA
    + K1 A% F# P7 c3 x3 c- N
  1902. CMP #$028 [3 O3 \( p$ a0 n( Z# i  r, l
  1903. BNE PAGE3
    . x. S4 R* N$ r! l0 ]2 Q4 Y' F2 G9 F+ o
  1904. ) _& W9 v4 N; I4 h- y1 i  R
  1905. PAGE_02:6 i, S  g6 ^4 c' G* h  e
  1906. JSR BULADD_PPU
    9 r1 ?# x; n) Q+ c: t, u
  1907. JSR SKINGE_PPU& Y0 U% g/ c1 o6 m3 g1 R
  1908. JSR BULMIX_PPU! o+ f, m1 E) P: s3 F
  1909. JSR ENELOC_PPU
    ) d: W8 E& g5 b: I& U( I4 Z  o" O
  1910. JSR FOCFUL_PPU
    7 W! W8 @  U! _
  1911. RTS
    * p. g+ e  O# G& z  {/ o0 M3 @  [3 a

  1912. & ^5 `5 G. \% ~+ i# W  s, W4 c& b
  1913. PAGE3:
    : v( _6 j9 H6 @0 e1 `
  1914. LDA $07AA$ ^! d. t5 _5 u7 T9 s* V4 B4 U
  1915. CMP #$03
    , i) |; P1 x' n5 m! t
  1916. BNE PAGE4
    % J/ V4 B* R- Y) o8 e! ^

  1917. $ I7 g6 @. E  B. F/ e! l# n; o
  1918. PAGE_03:
    : ^4 q  F+ w4 C! Q  s9 @5 z
  1919. JSR BULCON_PPU+ w3 ^$ o8 B* s( O, Q
  1920. JSR SPEBUL_PPU& H6 J  v) [6 s4 l9 \; L, o
  1921. JSR CLEALL_PPU
    2 i; X; x3 n, E( _+ u2 u" x1 y
  1922. JSR HARDMODE_PPU
    4 O: `) I+ l% A6 \6 W
  1923. JSR B_TO_JMPSTG_PPU
    + f- O4 z% c$ d* F7 h2 Y, l% W1 F
  1924. JSR A_TO_PLAMOD_PPU4 ?4 I+ \8 F4 g/ n' Q0 T
  1925. RTS
    ) x0 U" V( o- @$ s$ U7 L
  1926. " D0 V! ]4 K" G, a7 P
  1927. PAGE4: % `/ S& D% s3 b4 t1 l6 ~' r
  1928. LDA $07AA0 I/ X( r% q0 V9 B
  1929. CMP #$04
    / Q# _8 B/ S; m) l" J( Z
  1930. BNE PAGERTS
    1 T" `$ k" w+ m. D
  1931. 8 _3 a' u' Z0 c  T" }5 f% K
  1932. PAGE_04:
    ! R! |- u' M3 m5 L
  1933. JSR MOVSPE_PPU3 S. A* ?% r* Z3 Y7 n
  1934. JSR UNLJMP_PPU
    3 k& I8 C1 Y+ a& S
  1935. JSR DESTRO_PPU, U/ k2 q5 V$ x: E
  1936. JSR EQUBUL_PPU! y2 o3 K3 z; Z0 A, B. g8 }  }
  1937. JSR MOVESPEED_PPU% H9 ?( D; k  c* j
  1938. PAGERTS:
    " c% R$ F1 f) ]; v/ X4 q
  1939. RTS
    5 m) p8 I9 r2 k) p( o" a9 j, [

  1940. - n0 O4 f- F: s/ J/ J6 b

  1941. ; S- d# _# H" r% `+ r
  1942. PLAYER_01_STRING:) E- Z4 Q7 B' c/ [. M2 q5 G+ T6 u% K
  1943. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$82,$80
    6 G$ {& V- R$ A$ [
  1944. ! T; }& J+ w: \+ z. K8 n) B

  1945. + c1 P: Y% l& N1 a' D+ G
  1946. PLAYER_01_WRITE:
    ( E  {/ u$ r* [0 I8 h5 q
  1947. LDX #$00
    ! B! ]% m2 x$ i1 q! ~
  1948. PLAYER_01:+ _) B3 t4 c- G/ P7 P/ s* P* m
  1949. JSR PPUADDR_PROCESS3 X+ t7 b9 M$ [* Q! R
  1950. LDA PLAYER_01_STRING,X& C6 E! R; U+ R! W- b
  1951. STA $2007' U( g1 e0 o2 F% y0 e  H* S
  1952. LDA #$00
    + e6 u% \$ e3 ^2 `4 S' r
  1953. STA $2000+ E7 C0 V8 G6 h' h  F' b, s! Q
  1954. INC $BA
    6 d! j, a' ?. w; x1 h; d
  1955. INX4 d0 i6 d  m5 y% F9 i
  1956. CPX #$0A
    3 l+ q/ ?1 l$ I
  1957. BCC PLAYER_01# s7 u) q7 J6 o2 }- {' ]
  1958. RTS
    ; L/ M7 l% I. h$ i

  1959. 3 H5 P; |: B' [! K2 r' I
  1960. PLAYER_01_PPU:/ m3 N* j* c( N+ ]! i. |9 N
  1961. LDX #$00/ C0 @) }8 y8 d( D) x- l& t. j
  1962. LDA #$64
    ! Z/ M2 \) O* E- q. X& r
  1963. STA $BA
    4 @5 R; ~" i/ L
  1964. LDA #$201 t( v7 M2 f% T; _2 _+ }- m
  1965. STA $BB
    8 v5 k% d2 ]% Z. Q& R% ]. p  X
  1966. JSR PLAYER_01_WRITE
    ' _- n! M: M" W5 _
  1967. RTS# H" M: S- _! j5 k$ C0 T! ~7 Z

  1968. $ ^4 f+ C8 N3 P" R! y, @, C6 ?) }1 g
  1969. PLAYER_02_STRING:
    4 U! |- z6 x/ p) _! Z
  1970. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$83,$80# E# s+ Y! J* C: G5 u
  1971. 1 t, t# Y- \5 ?, n0 Q0 ~

  1972. # J& j% B" p( ?( H) m2 L. ~
  1973. PLAYER_02_WRITE:; b) ^3 h! Q$ p7 H
  1974. LDX #$00
    3 Z3 |2 B4 D4 |5 s3 [9 G# J; C$ d
  1975. PLAYER_02:( G2 K1 S& y) T% }4 _4 C. t$ E& p
  1976. JSR PPUADDR_PROCESS8 ]$ S/ X1 P0 m
  1977. LDA PLAYER_02_STRING,X) ~& p5 k9 n: J  o
  1978. STA $2007
      `" e) j2 {: L+ ~
  1979. LDA #$00
    8 p9 x0 q* ^* S0 M/ Z7 k
  1980. STA $2000
    $ Q2 E( y5 X9 {. H- @" d: ~
  1981. INC $BA
    + ]9 `( t) X% T9 z6 [
  1982. INX/ `( A/ a2 v2 c8 x
  1983. CPX #$0A0 a. a- T2 L1 g
  1984. BCC PLAYER_02% ~& k$ x( i6 d% [
  1985. RTS
    , ]' C+ T5 _" D: K  @; l) K0 y
  1986. 6 S/ i6 c7 {8 t! a# Z% J0 q
  1987. PLAYER_02_PPU:
    + J$ x9 E" W9 o$ B& D
  1988. LDX #$00
    ) O1 x6 R2 v8 a2 Z- l  c  {5 a, K
  1989. LDA #$73
    . G+ D7 L  T# u5 b- U  F  t
  1990. STA $BA+ i1 Z6 I( q: I( r
  1991. LDA #$20
    $ d. O' R" Q/ r0 D
  1992. STA $BB( e2 z3 I2 K6 Y/ d, J
  1993. JSR PLAYER_02_WRITE% J1 D; B: X8 j. d. L: |7 l, H
  1994. RTS! U& L0 \* s0 W
  1995. $ W  _7 A* ]- n6 Q$ J0 l
  1996. PPUADDR_PROCESS:& j; f5 f* C8 E: ^+ N6 z/ Y! _3 N. Y
  1997. LDA $BB$ |* D( v  l+ v& l/ J2 b
  1998. STA $20065 L: S6 L/ \$ I7 }' |/ c9 O
  1999. LDA $BA
    # S  l6 q* a7 d& }' Y, }
  2000. STA $2006  t" E* h0 v6 G, W+ z
  2001. RTS" e% W  j1 C$ D0 g# J

  2002. ; j4 L. p" c4 Z  p5 u

  2003. $ F) W# r; v* e2 v( Z' [( y3 R. P0 [
  2004. / s# n8 c5 H( G" u" G: m
  2005. ONE_STRING:/ a) w6 e/ E- S! @
  2006. .BYTE $99,$98,$8F; p9 G9 s) B$ D
  2007. : b+ A: G( [9 F, s3 ?$ @
  2008. TWO_STRING:3 ~0 I' o& w: t+ g; x- t
  2009. .BYTE $9E,$A1,$990 B# |$ D0 @' A7 F1 s2 |8 p

  2010. # c, h& G) n  q& t
  2011. ONE_TWO_PPU:4 J, ?; o% x0 G# u! i' C9 C3 d
  2012. BNE ONEWR
    $ D$ C% Y' I4 m- Y# P- y
  2013. TWOWR:
    - t6 k5 V* B2 [9 |
  2014. JSR PPUADDR_PROCESS* W2 F( x4 X( _( m! w
  2015. LDA TWO_STRING,X
    ; P; ?& }! F; @1 w- n/ ?" b
  2016. STA $20078 m! s- O$ s  H8 I5 L4 q/ C
  2017. INC $BA3 L* F# c& s1 |  O& U$ X
  2018. INX+ Q% k. X/ G$ c2 f. E
  2019. CPX #$03
    % Z$ y! Z; G( o- Q* i- Y
  2020. BCC TWOWR* E; x9 V/ {1 `
  2021. RTS
    $ u% N& f  o; t
  2022. ONEWR:0 h* Y) r4 ^& y$ p9 O
  2023. JSR PPUADDR_PROCESS7 o  t4 T& I. a4 I. ?4 `
  2024. LDA ONE_STRING,X
    " }: D% {) q1 i9 F0 l
  2025. STA $2007/ b* {$ M4 `1 `* O. Z5 c& J  ?. h
  2026. INC $BA
    ! {: x- r3 `0 W6 N: O9 }; w
  2027. INX( ~& `8 ^7 J* {& s9 i+ B& {" [
  2028. CPX #$034 H/ u, A4 [! ?4 w+ t, z& ?# K
  2029. BCC ONEWR5 v* A' o& e( E: {( _& }% a
  2030. RTS6 l0 l7 ]2 i8 {& M: v
  2031. 6 G/ X- K8 S  |) }5 @6 K0 ?5 `
  2032. MOVESPEED_STRING:) C/ n' J3 R3 a" @+ {4 |
  2033. .BYTE $97,$99,$A0,$8F,$80,$9D,$9A,$8F,$8F,$8F,$80# O+ ]& D; |6 o2 }

  2034. : r/ y+ X3 {6 Q* C: a
  2035. 5 C, h3 m/ ?+ N+ `
  2036. MOVESPEED_WRITE:% P9 B. A: r0 \# j
  2037. LDX #$00
    $ g) w9 A+ c! U% v! X
  2038. MOVESPEED:
    5 I- v- W# U: p- i  J- u7 E
  2039. JSR PPUADDR_PROCESS
    6 C( n5 ~6 o& f& u2 c
  2040. LDA MOVESPEED_STRING,X$ L) K4 c! Y  P8 O4 _2 J. D2 w3 h
  2041. STA $20078 g- d- x4 K7 ?! X# f% J
  2042. LDA #$003 q- b5 G# Z7 L  I
  2043. STA $2000  C& P% ~& C  z, n" E( e$ K: T
  2044. INC $BA
      U$ r7 @- D! X: L
  2045. INX
    : b- o+ w5 c. L* r
  2046. CPX #$0B8 t, R* w) j' u( t
  2047. BCC MOVESPEED3 ^5 _2 b7 q& g( `
  2048. RTS0 u8 j1 A8 n4 t5 J1 D

  2049. . p2 S" j. s9 S# d' d# Y
  2050. MOVESPEED_PPU:) \2 g4 K( t% ^+ F5 A, M
  2051. LDX #$00
    % F9 N1 o- T: P( o
  2052. LDA #$AA" Y. N, O5 C  T; n4 j
  2053. STA $BA
    ! {! e; f. ?; \. c% ~2 i
  2054. LDA #$22$ }' ^/ w: h( s
  2055. STA $BB' S" Y0 A: f6 Y; ?& _
  2056. JSR MOVESPEED_WRITE  _5 {% t' k& y9 n
  2057. LDA $7003; S; m1 r' F; b. x2 D
  2058. CLC
    1 n1 ]" a1 J0 }0 `
  2059. ADC #$82
    6 j, E  F8 R4 `: F5 m  v1 @
  2060. STA $2007
    6 A2 [& C; ]* Z# S$ P- n: d
  2061. RTS% b  P( A% m: C9 @( y" z5 P
复制代码

本帖子中包含更多资源

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

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

签到天数: 3030 天

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

签到天数: 2156 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2016-11-21 09:59:17 | 显示全部楼层
这东西找了好久勒,谢谢!!; G7 \& f# u+ [2 f. C
[发帖际遇]: wjb19780515 发帖时在路边捡到 5 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜

签到天数: 2366 天

[LV.Master]伴坛终老

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

签到天数: 2155 天

[LV.Master]伴坛终老

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

该用户从未签到

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

签到天数: 347 天

[LV.8]以坛为家I

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

该用户从未签到

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

使用道具 举报

签到天数: 12 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 767 天

[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. 幸运榜 / 衰神榜
回复 支持 反对

使用道具 举报

签到天数: 174 天

[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-4-10 16:48 , Processed in 1.192383 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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