设为首页收藏本站

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2016-11-19 22:19:45 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2016-11-19 23:11 编辑 2 i* q9 S9 H- d  T* `$ G
5 S2 I8 ~7 l  ?5 j7 N
     [FC][魂斗罗旋风终板END暂停显菜单]

% W5 ^5 q( s5 r0 v- D6 Y! e. p作者:FlameCyclone(flamecyclone.ys168.com)
3 J* x6 w/ T2 d6 w9 k# K  Z时间:2016/11/19 21:46:00  c% \7 K' T6 h8 z0 t( m
更新日志:
/ Q, C( b0 b2 o' G% X$ ]
2016.11.19:加入暂停显菜单(共5页).
( y* Q0 w, a& w  ]4 Z2016.11.12:加入无限跳跃.
+ Q6 i; ~& _, q% I2016.11.12:加入速度调节.
4 P8 G/ H: N- S- Y
2016.11.11:加入敌我子弹对消功能.# D8 J6 g# ^7 W% e8 h
2016.11.11:加入全屏闪灭功能." Y: O, M: U3 l  T1 h$ {% r
2016.06.08:加入全屏瞄准功能.
4 D( x  Y7 I/ ^0 O2016.05.31:加入弹速调节功能.
( }1 F: S1 O& |2016.01.01:加入高难度模式.
- |6 P9 u% t* y: z. X2015.12.12:修复消除威胁不足,使得移动BOSS关卡(第2,4,5,6)正常通过.8 I  g- ^3 B9 {
2014.07.05:由于对打功能不完善,直接去除,更改为生命锁定.
1 u9 y8 l/ ]6 [# g+ K6 ]6 G' t2014.07.05:双人切换功能优化.3 Z6 v  L2 I$ W& B
2014.06.01:修复第三关浮空到BOSS前必须关闭浮空后跳跃才能见BOSS的麻烦.; W2 ~" Z' l" i
2014.06.01:取消生命锁定,改为生命锁定模式下剩余生命不会少于一条.8 I6 C8 r3 I- Y( v( ^- O! I
2014.01.18:修复GAME OVER字样只有G和O的错误,原来想拉大字母间距离,看来行不通.
+ l4 S/ m( D/ F8 }8 S1 f2014.01.18:浮空模式下,P2飞行高度未限制导致死亡,原来是指令本该用绝对X变址的被用成了绝对寻址.$ \6 W2 ^; L* x2 f, q/ I# S
2014.02.08:拿手机无聊时又发现一些错误,所以修正生命剩余勋章显示的错误(某天用读卡器插在DVD上测试发现机器读不了卡,原因是目录级数超过三级,只有刻录成光盘来测试,结果发现生命勋章的显示竟然无压力!). e) W3 f2 C! C' u+ }  r8 S
2014.02.13:加入自动演示通关.3 k2 i3 Q; P7 r9 J) q* D
内容:$ U) b1 [) f2 e
23.暂停菜单:        暂停后,自动显示菜单,选择键翻页,方向键和BA键进行各种功能的开关操作.
+ r" p# M6 G6 y% [7 n" ^' M22.无限跳跃:        暂停后,选择键4次,按下开启,开启后游戏时无限跳跃.8 J# i' p2 k8 E8 S
21.速度调节:        暂停后,选择键4次,按左右调节行走速度(0-3级).
. ?8 \! d3 V" J; w4 J% C
20.子弹对消:        暂停后,选择键4次,再按A键切换,此时敌人子弹可以打掉.- c; A2 {6 g/ z8 f
19.全屏闪灭:        暂停后,选择键4次,再按B键切换,开启后游戏时按选择键屏幕内敌人闪灭.
& M& {0 [/ P/ A- U* x; h" ^# J18.全屏瞄准:        暂停后,选择键2次,再按B开启/关闭,子弹对消开启时无效.
6 l6 _# h7 f# ]4 \17.弹速调节:        暂停后,选择键3次,下开启,非暂停时按选择键调节,默认为1级,共5级.
; ?" c, P' o9 C$ ?, u( j% o16.困难模式:        暂停后,选择键3次,右键切换,我不相信你能够无伤通关.
3 \4 g" S: u2 t6 k01.子弹切换:        暂停后,选择键0次,上=快S,下=快L,左=快M,右=快F,B=快普通,A=取消当前子弹加速状态.
, T# f0 V' x& g4 U3 ^  r$ J* M02.无敌锁定:        暂停后,选择键1次,上开启/关闭,不用讲了,金身无敌.
( q2 E8 m" g; j* R$ L03.生命锁定:        暂停后,选择键1次,下开启/关闭,生命锁定为16条.+ m3 x$ {$ a+ }7 |3 d) f
04.角色双控:        暂停后,选择键1次,左开启/关闭,无非就是主机控制副机.
% v) A* ^$ E0 \& I05.生命底限:        暂停后,选择键1次,右开启/关闭,锁定剩余生命数不少于1条." T' u7 m( L0 Y) w& E9 P$ d
06.一击必杀:        暂停后,选择键1次,再按B开启/关闭,即使是第8关BOSS,一发花生米依然要其老命.
2 a5 n$ E3 d* Q- q07.角色浮空:        暂停后,选择键1次,再按A开启/关闭,第三关浮空时按选择键向上卷画面轴.
6 \# o+ v, f/ Q% T# F4 o08.弹数加强:        暂停后,选择键2次,上开启/关闭,此时所有子弹发射数为15发.
- ~( T& @" ]* M% M- p) q& P09.皮肤更换:        暂停后,选择键2次,下开启/关闭,主机开启时橙黄色,副机开启时为蓝色.
! ?3 j% R, M1 R. [* G10.混合子弹:        暂停后,选择键2次,左开启/关闭,此时连射时所有子弹混合.
7 G3 N) T5 {  {11.敌人锁定:        暂停后,选择键2次,右开启/关闭,此时敌人原位跑不动.% h+ f3 Z! }6 V
12.跳过一关:        暂停后,选择键3次,再按B使用,使用后可以直接到下一关.- B! }" E* j4 \4 U0 J/ Z+ S
13.单双切换:        暂停后,选择键3次,再按A键切换单双人游戏模式.+ K; q: B# V' d" g: j
14.子弹方向:        暂停后,选择键3次,上开启/关闭,开启后发射的子弹攻击方向会随着操作的方向按键变化,第二关和第四关的小关建议关闭(开启的话打中敌人太难了哦).
: y- o! S4 }2 b: J% v15.消除威胁:        暂停后,选择键3次,左开启/关闭,此时游戏时按B键使得移动物体被消除。
, Z3 |4 g! ?# _, z9 R1 KA.做了一些汉化(小字体),剧情,关卡名及通关后的文字未汉化.( S: M1 Z2 ], f" w
B.自动演示通关,双人合体打通关,演示时有背景音乐,通关后一样会有结尾及恐怖台词,之后游戏进入选关(相当于游戏自动开始了).注:通关后P1及P2会获得16条生命!也就是说看完演示自动开始后第一版有16条生命!4 d  S: Z; B) c+ y& S
C.生命显示加强:最大显示15个剩余生命勋章!电脑端请开启精灵超过8个(这样勋章不会闪烁),手机端认命了,不过不影响正常操作.+ X4 N% J5 H" Q$ N& r( i! V

" V/ c2 ~. {7 M! ^( t9 r    如果有什么好的修改建议,恳请通过QQ(1490868135)联系我(也许我不在线,可以留言在QQ里)5 ]8 T( I: a, e7 F: y2 |4 k
欢迎大家转载,转载时必须注明出处.8 z$ J: G) z3 h

) M1 V% |. \+ A5 S
游客,如果您要查看本帖隐藏内容请回复

! ^; j2 S- K- _/ g" D5 M; x6 X% m# c: D( o
忙了一个星期,觉都没睡好,眼睛也疲惫不堪啊.终于找到解决方法了,目前VIRTUANES运行不了,请使用其他模拟器玩.
7 q5 V0 v  n, X7 M$ N/ O. m9 w9 O; S这几天的劳动成果如下:
  1. .ORG $B400
    9 E3 H3 D; d8 x, y  b9 b
  2. 2 Y+ {  Q0 s  O) ?
  3. ( u, W: w+ w' ~" T+ s1 ^3 W6 n& i
  4. PROREG:3 h. \" f+ H. z  K( ^& R- Z0 A
  5. PHA0 f8 [* r, w0 A# W( Z# B
  6. TXA# B0 g. a7 L  t7 e+ X' P2 w& l$ f0 _
  7. PHA3 l! z! _4 y1 ]# \  Z
  8. TYA- H' u0 w6 X) n# s% f; y/ F# c5 r9 p
  9. PHA: ?5 G% H; v/ L2 I9 D
  10. LDA $251 \6 ^, N' a3 b0 Q
  11. CMP #$017 g; w0 v: }4 \& g- M- D9 t
  12. BNE RE7 b. o, B3 z+ W; ~) f/ ^4 V) c
  13. LDA $010A2 y7 C- g4 p- ^2 C1 ?+ h- Z& B
  14. CMP #$00
    6 c" I2 }% E) Y
  15. BEQ P1
    7 L2 x- [$ [3 E( f* f
  16. * [' I4 Y, V5 n9 Y
  17. RE:
    $ {) Z3 L0 ^" p! K& c
  18. JMP PPUWRITE: N, E8 V1 I' l; Y/ I
  19. " Q, ?" Q7 T# \4 N+ n0 k# x
  20. P1:                ; 条件判断
    , \! [) ~0 S4 K7 V. G" P7 @- T
  21. LDA $7FFF5 F* ~0 O4 y$ n- \; |: l8 b& C& C
  22. CMP #$FF1 q4 w3 f! z( p4 h; }& a
  23. BNE P1RP! Y4 h3 q, H, v) _/ R+ d2 N
  24. LDA $7FA0
    % a% M3 C5 A' D, X4 `
  25. CMP #$00, h6 `) E- r# F0 |" U1 J( g1 p( v$ t4 V
  26. BNE P1CMP
    4 Z! S2 N9 z: l1 W$ [- S
  27. LDA $2001. X2 i6 f6 ~; X7 Y4 _* B
  28. PHA' A1 b. `3 c1 b+ T2 m% p
  29. LDA #$00+ K* r8 l' Y: ]* H* }* m% \
  30. STA $2001- {7 ?( |- f. u3 n' q8 B
  31. LDA #$FF( i- o+ w( T# F9 p6 Z/ `& O( y- e2 s
  32. STA $7FA01 M% J2 g* Z4 |3 R$ Z9 s
  33. JSR CLEANA
    - m# n  y! p; k
  34. PLA
    # W: T9 r$ D8 A  H- `. i" l
  35. STA $2001+ u9 L# w1 ?+ J4 O" J
  36. JMP PPUWRITE- o2 d/ \3 A' G) X' N8 ~; T
  37. P1CMP:
    # i  P) B. ^# c1 u- r
  38. LDA $7FFF! Z# H: [  @5 S7 T
  39. CMP #$00' i4 D0 X2 m; a5 \/ @
  40. BNE RE, r3 J  Q6 J' I5 g8 D% E
  41. P1RP:
    6 ]/ ~4 x1 P( S1 {5 D
  42. LDA $2002% p5 m( O& r5 k) M8 E* K
  43. LDA #$00
    . D1 F. ~/ i& [& g
  44. STA $20017 K+ j& s3 L6 D5 l# _( u
  45. LDA #$FF9 k3 O' l1 q7 Y2 m
  46. STA $7FFF, B3 L, k5 k) Z" V8 j+ X, L2 v# i4 T( M6 |
  47. STA $7FA09 u, E# L* J; P" v" k% ]1 T
  48. JSR COPYPPU7 y) p- m$ q) |8 n) h6 t
  49. PIRP2:
    6 ^: B9 E' n6 c$ W8 q/ \* r, a
  50. JSR CLEANA" p% Y" W5 g! s6 A
  51. JMP PPUWRITE
    # H, E: X. K- L/ b+ r' y% e

  52. , ~5 N3 `5 r0 a
  53. COPYPPU:
    0 D3 H+ f! A+ |/ m, ?  j
  54. L0:8 D+ {4 Y# {0 l" S
  55. LDA $30  F' {% ^) @+ _2 u
  56. CMP #$02
    6 b! r7 H; V  j, p& x
  57. BNE UNPROFC
    0 R4 q. o5 i5 o  U1 i. Z
  58. LDA $FC
    5 h- p2 w( I8 V" F# P
  59. STA $7EFC
    6 Y" c0 V; e7 h) _( ]9 n
  60. LDA #$00
    5 ]5 J, w2 E4 ~7 \, V# i
  61. STA $FC5 A& o8 i/ |2 ^" b: i4 i( x' w
  62. UNPROFC:
    # v: {& p9 i! x% B( f! w
  63. LDA $FD' P7 p# Z7 s) [  t  C& K% N
  64. STA $7EFD
    2 W0 R- e3 N/ P# b
  65. LDA $FF! i6 F* t) j( m9 P& W
  66. STA $7EFF
    - D2 j' Z4 z; x8 T" F* Z$ _5 p
  67. LDA #$00
    8 D8 ~' b& n" E3 ]4 a% ~; U9 K
  68. STA $FD
    2 }' t& F$ v: x' \4 J* w/ [9 ~
  69. LDA #$B0: o; p; v: A* A! E6 A; x* a
  70. STA $FF
    6 h% }8 I  W( f
  71. LDA $07C1
    # B6 W$ j* O# ^* }
  72. STA $7FC1
      H' l# J* e( s3 D
  73. LDA #$3F
    7 Y8 i+ W$ S% Y
  74. STA $2006
    0 r  X- D' g6 I; n$ \
  75. LDA #$01" b( {' y2 H# m+ A$ M3 T3 l8 E
  76. STA $2006( |% S) ?( R# y7 d9 b( ~) H+ y0 T
  77. LDA #$24
    1 U% a) z+ e! ?4 c! G8 r
  78. STA $2007: ]+ f% {/ u- z- m/ }
  79. LDA $07F60 l1 O( }# F! Y; Y
  80. STA $7FFE, |9 U/ z* N# s) j( Z
  81. LDA $00FE3 k! i% |% ], p. y. D/ J4 Q
  82. STA $7FFD) s. [5 Q4 v. o# H
  83. LDX #$00
    : j- j* ?: g' {3 e8 Q6 Y
  84. LDY #$005 Q1 k7 \- q; V+ B# L) V5 r1 f
  85. LDA $BD/ P1 j! y0 n- n. l, Q3 }8 T! t
  86. PHA
    ! v# Z" d2 @% @# `0 x" t. A
  87. LDA $BC( K, O4 d' n. ?8 o: m! X
  88. PHA* N& o1 Z' i: l9 x* y0 t
  89. LDA $BB- B/ ]+ `5 k* {5 V. b3 I% a
  90. PHA
    ) N; Q4 P5 z+ T' Q1 w& W
  91. LDA $BA: L/ Z9 T: R$ [, w& U  a# P+ l
  92. PHA
    6 W" P8 L! H' c2 _
  93. LDA $B9, K- `$ n- A$ r8 i
  94. PHA
    2 g2 k2 J' k/ ]6 U6 \( K1 k3 \  M
  95. LDA $B84 w7 D( @* N9 a0 N! S3 ^
  96. PHA, K. M; D- \: o% f' r* A' T
  97. LDA #$00
    ) y  Z/ K% {- m8 a: E7 M
  98. STA $B8
    ; d' h0 b* ~9 p: _; J. p% _$ p
  99. STA $B9- H# {, `: V$ b# G
  100. STA $BA
    % c5 C% {: I) r; B9 O
  101. STA $BB# \- H. o: B6 X
  102. STA $BC/ e0 T! h% J& \# _; H" p& H- C
  103. STA $BD0 ?6 U: F" e+ L; b. l( A$ \8 K
  104. LDA #$00( x* t: Y  U  m2 r. c( t% [
  105. STA $BA; j& }3 M' r8 D( s
  106. LDA #$201 J9 V/ d! ~6 _' v; u
  107. STA $BB
    7 |0 J$ k. x3 M3 l% b& A
  108. LDA #$00! |# L8 b5 E3 k# @
  109. STA $BC
    / v6 k' M* u9 @% _. H0 U" V  U
  110. LDA #$60
    ; [% V4 N6 `( L* M
  111. STA $BD) P' l! N5 l; w, P4 T" B6 z8 G

  112. & u* ?* J* b- q! L' L
  113. L1:                ; PPU复制
      l6 o# _) `* i$ N
  114. LDA $BB- `$ Q1 r9 C( G
  115. CMP #$30
    8 \3 b. R# n+ R0 ?, B
  116. BNE L20 F6 Y3 s, C$ h$ E
  117. LDA $BA  R  i  J' G! t. W8 O6 K
  118. CMP #$001 ]! }0 q6 H; K* m/ M- P$ i
  119. BEQ PROADPLA! _: D$ |* u, J' }
  120. 3 P3 P5 {. e9 F
  121. L2:, l) v$ d/ _5 P6 |1 C# U8 J* J
  122. LDA $BB
    6 u, A5 Q' h: W! W! {4 y
  123. STA $2006
    $ X, i4 B) T- A9 m6 K5 ]% s
  124. LDA $BA0 G5 ^3 ?  n1 h( r  a+ w3 x* f, x& x& _  M
  125. STA $2006
    0 \6 K, B' q" M) U* F9 {7 m9 p6 Y% w
  126. : E3 x; L1 s$ I6 B) B4 H$ x
  127. L3:
    ' X7 e  h# z% ]
  128. LDA $2007
      U+ @: [; l8 T$ P5 O& I# `
  129. LDA $20070 H3 S2 M- z# m6 s( r0 M
  130. STA ($BC),Y. |" M' a" l6 B9 m9 M
  131.   E* I! K4 H9 r7 {2 E- I. a
  132. L4:
    % p/ f" A4 H; V& T0 f
  133. LDA #$00# ]) K$ K1 [4 O  Y* }. z/ D
  134. STA $2000
    4 k, ?) ^0 s. J
  135. INX& p# Q5 I0 i9 h9 m
  136. INC $BA
    ! y, {1 u. a3 R6 c
  137. INC $BC) J& U4 k- `- x7 e5 V2 }
  138. CPX #$00* m$ }) m0 b0 Y9 Y4 I% k2 h; L
  139. BNE L1
    8 I  P; }% a) U0 H* Y9 f- u2 b4 \
  140. INC $BB3 ], ]/ r% [$ j9 |' `. h/ j, \% X% z
  141. INC $BD
    # o7 P9 ^! U+ x; d
  142. JMP L1* J5 X. D  M& i7 _

  143. 8 X0 ]9 r9 A' G* v& Y
  144. PROADPLA:                ;出栈
    / m6 h* J" A1 C0 g- _
  145. PLA3 [  S! {. i5 J, @: b& A( F
  146. STA $B8+ T# g& b/ z2 Y4 w0 e7 X) E3 u& c1 ^
  147. PLA4 d( [+ a% K/ c9 b) ]$ |/ p( i
  148. STA $B9
    ! a! f: ^, f. x1 G! o
  149. PLA& w. i4 _+ G' @1 c& i( k; e
  150. STA $BA- K5 t9 q" b7 Z  l3 G  I+ K
  151. PLA
    ) A: H/ @- h- n  I) C7 }; p
  152. STA $BB4 E! c1 |+ Z7 r7 X
  153. PLA, B0 S: N8 E& U9 Y2 E
  154. STA $BC
    ( M. D+ @+ j0 C2 T' P+ c+ D# n& e
  155. PLA
    * O# O' e; ]& H; U; V
  156. STA $BD& y& ~, e; P0 p3 F- j
  157. CPRE:) f  u! d' t' x+ h
  158. RTS
    * B" R2 b4 U9 m1 b9 i2 I" p: |

  159. % B. ]$ I/ }! I/ m: ]3 r' C
  160. CLEANA:                ; PPU清空& W  D) V0 P2 A2 O* o8 k- D& N
  161. LDA $BD
    . P$ r; m% o+ t* _# N
  162. PHA
    1 I/ T& U6 ~) |- M! y; \9 S) ~1 A* ]
  163. LDA $BC
    & w- W  ?+ w( e  K
  164. PHA; _# b. a. N8 e
  165. LDA $BB
    # m" L. V2 ^) g/ T0 q, ?
  166. PHA
      |1 ~4 M8 l2 \* g
  167. LDA $BA
    & r4 v% o0 U1 f
  168. PHA; h" _5 G' |( `5 i& C
  169. LDA $B9
    2 p" M: S4 v, Y. T0 E3 p7 V- }; m+ m
  170. PHA
    4 I" C3 E) G7 t: B2 M: ?- k# \
  171. LDA $B8
    ) B: `, V4 @; @6 G0 b
  172. PHA! E- q" J2 a) i/ J) _3 K
  173. LDA #$00" \% @# j5 F, ]: B6 h
  174. STA $B8- L+ c* J0 u* H5 [& E
  175. STA $B9
    , W' p( H8 X* E1 C, K$ T
  176. STA $BA; w) c- D- M, r- f$ \( B, Z: X
  177. STA $BB
    - Q, s5 r+ R& M, j1 |# x0 W
  178. STA $BC
    - C% M4 U- Q- {! t. |" b" m# P
  179. STA $BD
    $ [3 k5 J+ R6 \
  180. LDX #$00
    1 K+ x3 p" B9 H; Z9 o1 d# X
  181. LDY #$00
    - |6 ]$ {5 ^! w! T+ d% a3 A
  182. LDA #$00
    5 P+ Y: K# d4 G' n
  183. STA $BA
    0 y9 J" U) y9 s* r# D
  184. LDA #$20
    + K6 c: d3 g* i. C  h" v
  185. STA $BB
    5 c" S+ c9 S  X% f/ @

  186. 5 g5 P6 a1 n4 e8 X: I" x
  187. CL1:* a$ w- |5 H& ?5 ?2 C8 t' Y
  188. LDA $BB
    ! S+ d3 {4 B+ K  |0 M
  189. CMP #$30
    ( ?/ V) T, ?. B4 \
  190. BNE CL2" E% A5 V2 {, C
  191. LDA $BA
    ' G  m+ r- i% }2 b& U+ C
  192. CMP #$00. Z( b- t. L6 g1 O* I7 b, B* j
  193. BEQ FREEWRIYE
    % R, S' i5 p# P1 R: l8 m" n9 T

  194. 5 {; C1 r+ O6 n4 N/ |8 ~1 J+ \  m
  195. CL2:
    . N1 b# b6 H/ L0 O7 B  R) V( z
  196. LDA $BB* C3 N( z4 }8 e# r8 W/ o: u! U
  197. STA $2006
    0 I1 s; ^2 H, |! v. e* c
  198. LDA $BA; g4 M: A: X9 p, z3 E- j" b
  199. STA $2006
    & {5 D5 _- B+ N4 G, r& D0 \
  200. * ?; d( g2 b' _
  201. CL3:, i. T6 P9 ]2 O: X) ^
  202. LDA #$00; U- p1 R; M- C- [1 g& V
  203. STA $20071 G5 I1 U6 i* u2 D! z

  204. 3 L- |/ A& a$ O
  205. CL4:
    / T4 @2 }# e. C$ d6 Q
  206. LDA #$000 E; P0 r  }: F: A+ o8 _6 S0 L
  207. STA $2000
    6 E- O: E+ i6 M6 p0 ^% T& n
  208. INX
    ; z" q: b; @$ I2 k
  209. INC $BA! ~3 E/ `: Y1 G8 `( I2 E
  210. CPX #$00
    ) `& ~9 o) G8 h3 x, x1 x
  211. BNE CL1
    1 o& l8 b3 ~0 N4 Q- x8 x4 h
  212. INC $BB9 s% O0 g* i$ M+ k+ A6 O- R
  213. JMP CL1
    $ |0 d0 Z7 E& Z! A

  214. % W; g& W6 A1 y4 Z
  215. 6 V, _& ~: y1 m: t% w. ?
  216. FREEWRIYE:
    9 W% D! k7 R( {) O
  217. JSR FREE
    3 d! S4 b& Q% u) |
  218. * g9 l  J3 d* |6 w: }

  219. 7 U/ q1 x) S5 l% P: Q, N* M6 }$ W' x
  220. 8 F/ s" H, L  b! T& ^
  221. 6 \) @9 W* B' j1 X! ?
  222. , [, B7 }6 n) M% T: W* a
  223. CLEANF:                ; 恢复现场; }/ f+ v8 C& d  X/ q
  224. LDA #$08# n# g7 s1 j4 `  _/ v  U( G
  225. STA $FE
    1 s' o# D& ]! A; k/ E+ S6 P& F& t) |
  226. LDA #$005 R( k1 w) X/ P& G4 ^( }' c# B- y
  227. STA $07F6+ F9 G- t8 J; h2 p9 ~3 }
  228. LDA #$24& J2 q8 Z- u( i% l2 T3 W
  229. STA $7FC0
    ! X0 B1 b" i/ U- h5 n, q
  230. PLA
    , z" a9 R- D# [. t" e  J
  231. STA $B8; _- X% @) @: A* m4 x6 N& _  X1 V
  232. PLA
    ) e! N% O. P0 s" x  m; g
  233. STA $B9
    * e3 e7 t  a6 J  K7 \
  234. PLA- ^7 b- D1 r+ h( T: F+ U/ v
  235. STA $BA2 r# @5 t1 T/ R+ r' S. j
  236. PLA
    # y3 q9 C( V& c$ x- l# u
  237. STA $BB
    " P5 X0 }  e5 |: Z* l
  238. PLA! Z: f7 U% ^6 d( C5 G: ^
  239. STA $BC4 H. a4 j( O: K4 }  @/ c* N
  240. PLA
    8 f3 s! X4 n1 U/ p% _+ A- t( E
  241. STA $BD/ m# Z2 h! t* x
  242. CLRF:. C7 P4 b% M3 ]1 w& z5 I2 u1 c8 P4 w7 G
  243. RTS1 C9 x  Z  X: J5 @) n

  244. 9 k& o  n7 O# F0 Q3 I# S3 ^
  245. W_DATA:
    / h! F* R# |" }* Q6 q  X4 e1 }: t
  246. .BYTE $00,$01,$02,$03,$041 x9 }2 F6 O1 a5 R
  247.   $ r# J( O3 X( e% H! M$ V3 q
  248. W_PPU:0 w- J6 K' e7 \& B6 @- T0 E: K& O
  249. .BYTE $98,$97,$90,$9D,$96
    ( i* \) G. S6 u# }

  250. " c+ E# W" c4 G* l& @6 V
  251. P1_STRING:& Q' T4 A3 c2 H% ]
  252. .BYTE $9A,$82,$00                ;"P1"; }( {) [/ W! I  I* ]  \
  253. ' c2 _2 R: |$ w' F4 P/ t
  254. P2_STRING:
    6 v" J$ z6 z6 o. f* x! ?2 q
  255. .BYTE $9A,$83,$00                ;"P2"6 z! I. o- q' `
  256. 0 n: u7 ]& t- g$ }2 }/ M
  257. WEAPON_STRING:
    : k, Q. J0 c; m3 o. ?' W1 ]
  258. .BYTE $A1,$8F,$8B,$9A,$99,$98,$00  ;"WEAPON"+ y+ N" ~0 Z! `% x$ p/ ]1 d
  259. & d6 d) a7 e- \/ m) Z/ E3 l) [' w
  260. RELIFE_STRING:
    + n% y8 \, K& u( Q, q5 u6 t
  261. .BYTE $9C,$8F,$96,$93,$90,$8F,$00  ;"RELIFE"3 X; [* F( B& K! k- D# F
  262. 6 [/ P6 l1 D( L+ t, ~1 r
  263. P1_PPU:
      O! C7 _4 Q) p# p. g) F0 x  f
  264. LDX #$00- A3 ~, f5 D3 G: w' r# _0 `$ ?# \
  265. * O0 X$ @2 P& h" g$ }2 [5 K2 i* ~
  266. P1_PPUW:+ m7 P( r" |2 }# s, V+ C, _
  267. JSR PPUADDR_PROCESS
    % C4 t/ S* S" y5 I9 i% \' r, z
  268. LDA P1_STRING,X: X! w% V( |5 i: }. A7 ^8 e
  269. STA $2007
    9 `/ \1 q- Z. V6 X+ Q. D& s
  270. INX# }% g% O. s% u6 o8 {
  271. INC $BA
    2 O* O! q9 Q; H  O
  272. CPX #$03
    4 Q) [5 O# J2 }- s
  273. BCC P1_PPUW" U6 E- |2 J3 P7 }. ~" W4 v
  274. LDX #$00
    & ^- m7 @$ O3 ~8 K' c9 q
  275. RTS
    4 {' }5 D& f6 m( ^0 f( A3 l' U

  276. 4 D# T) ^& b8 Y( c+ F# ~& E
  277. P2_PPU:
    5 Z% ~9 T8 {/ R0 P
  278. LDX #$00
    / W: s" H; b. l* v' R1 Q$ t

  279. ( X2 F" Q2 j( ?( \; T  h
  280. P2_PPUW:7 {1 U; x  t- U
  281. JSR PPUADDR_PROCESS
    # J; ?: O; ^; E: s4 ?$ |: i
  282. LDA P2_STRING,X: n0 Y6 _( N8 x" c0 o' j. _
  283. STA $2007( a$ i% F) Q" v  o4 x
  284. INX
    4 [* f# i( U0 t+ c
  285. INC $BA: r) H1 U% R  B/ X$ e7 w
  286. CPX #$034 ^6 {8 ]+ U2 @: b
  287. BCC P2_PPUW3 f( g/ k$ c5 {4 e: t& B* H, f
  288. LDX #$00) K; `. I  b) [  U; F
  289. RTS6 x: b7 f) k5 r3 w, l9 y+ `

  290. $ ]) J3 o" j4 m4 L- {) l
  291. ; C  K6 _! q. }) w2 O# G
  292. LDA $BB9 }7 f( Q/ W/ e! B& ]- ?$ Y
  293. STA $2006
    1 `6 ?: b+ k5 h$ n# U  m! r
  294. LDA $BA
    # ?0 W3 T6 y' y0 W7 G
  295. STA $2006/ c( v* {+ C  m( ^1 S
  296. RTS7 d/ Z( m* k; l

  297. 0 ~8 y) w* u' A: \: b# X5 q: O

  298. $ B9 S  a* i. \8 I
  299. , P) T% s; ^7 e& L
  300. PLAYERLIFE:5 b" j  a  t5 S2 K2 D: O! V. F
  301. JSR LIFETODEC
    0 E* ~. P2 M% b
  302. LIFEPPU1:
    " B$ r1 r/ D+ S
  303. LDX #$00
      x+ T! ]# W0 b/ W; a% c8 G4 Y
  304. LIFEPPU1RE:$ q+ w& X; G8 p" x1 H2 W' S
  305. JSR PPUADDR_PROCESS
    & Z* y& \* l+ e3 \3 E$ {$ d
  306. LDA RELIFE_STRING,X0 v; h/ V) z" A8 W
  307. STA $20076 b; U. {- \+ V0 a8 M2 U
  308. INX
    $ w* I8 Y  S& o* K2 J; U1 g  z/ ]# k5 @
  309. INC $BA
    * c/ r3 m% e- o% n7 n; f
  310. CPX #$07
    ; ?+ B0 ]6 y- X. D
  311. BCC LIFEPPU1RE) [; R8 ~, s/ |
  312. 7 W) R( I/ m$ Q) K
  313. LIFEDEC:                ;生命显示写入. g, k1 ?) [# m6 ]$ b0 H6 P
  314. LDX #$00. H8 q+ Q1 n% U; I0 t2 {  N8 y
  315. LIFEDECRE:
    & n; z. i2 p" B" t, O+ M' `5 b7 O
  316. LDA $7A03,X% ?- M: X1 I) F7 o
  317. CLC; K. n2 w' Z8 G8 v) ]1 ?3 Q% k6 R
  318. ADC #$817 R; I' @2 ~+ d( I9 l
  319. STA $2007' }0 i, ~6 M1 l. M1 Q: N; F" M
  320. INX
    9 _7 H) y+ h5 o2 j7 e1 f- n% H: A
  321. INC $BA
    0 x' u* C& P$ X& a. N7 r* j
  322. CPX #$03
    0 Z% I$ ?/ R% M) n2 L# X
  323. BCC LIFEDECRE6 x2 q; {8 @- S) S( N% D+ b. c3 d
  324. LDX #$00
    % b; B" f' y" x0 W& A7 D+ X8 e3 |7 z0 d
  325. RTS. y, A* ~) p5 C5 X

  326. ( p9 D2 ]% t: R" N+ ?6 v, h* E
  327. LIFETODEC:                ;十进制转换
    : @4 }8 m  b% Y0 _$ h( n9 e0 c
  328. LIFEL1:        ;initialise6 a! U! \9 x+ n! j1 @, Y3 N8 t
  329. STA $7A00        ;$7A00=F3/ y# }5 H% ^# u# b& P
  330. LDA #$00$ G+ k6 A& v6 V' e
  331. STA $7A03        ;$7A03=005 {6 P# ^6 x+ B' r7 s  t6 P: m) I
  332. STA $7A04        ;$7A04=00
    ) z; A' S' j* ~0 K) z/ z
  333. STA $7A05        ;$7A05=00
    - a- O. |- A. {! ?" G9 Z
  334. LIFEL2:        ;copy data $7A00 to 6001
    ) [- j( o8 ~4 t
  335. LDA $7A007 F0 e9 u, u3 H( p/ c
  336. STA $7A01
    1 \+ x* F* P0 j9 \. _# u
  337. " O0 H9 @, o* u( w6 g3 e* ?+ {
  338. LIFEL3:         ;hundred
    ' X+ Y0 ]# E/ c
  339. LDA $7A01
    4 E, t0 j  D4 i/ L
  340. CMP #$64
    ' J2 O! s: @- z) j
  341. BCC LIFEL6                ;$7A01<100 goto L6' U+ \& ^+ u& H
  342. LIFEL4:' W7 u/ c- ?3 F9 F. j4 p7 a9 n3 H& v
  343. LDA $7A01  z5 _& D, w$ V2 X" f: e, e
  344. SEC
    6 ^/ F0 a: {) J. Q- r
  345. SBC #$64        ;$7A01=$7A01-100  n' C* Q& q/ v; O
  346. STA $7A01
    " I+ w( X4 G) b
  347. INC $7A03        ;hundred++% j/ l+ z% m3 \6 g$ P9 f
  348. LIFEL5:2 R2 H2 Z2 Q. l7 _2 ]& E
  349. LDA $7A01
    9 E& d+ e. a. E8 v
  350. CMP #$64! E! k6 j3 q, n! M% w; a7 ^
  351. BCS LIFEL4                ;$7A01>100 goto L4
    3 H/ h+ |$ `: D. L& y; t% ?+ l
  352. 9 S* D" t1 g% s# H- n: ~6 B( W
  353. LIFEL6:        ;decade% J5 E/ T  D# Y% `
  354. LDA $7A01  o- T' e% q4 @
  355. CMP #$0A
    6 r5 X8 Z3 {( p+ Y
  356. BCC LIFEL9                ;$7A01<10 goto L9. R* H& Q1 D% q+ `/ H$ e, k/ F4 D
  357. LIFEL7:        . o( z5 u3 Y0 j# t
  358. LDA $7A01
    / _7 v, q& U% A" }# Y) j  r
  359. SEC$ i9 v, T9 T+ v/ M
  360. SBC #$0A
    4 h; w( T* `9 E. L- B" e$ K/ C' {
  361. STA $7A01        ;$7A01=$7A01-10( X  C& S+ z5 j& F, A
  362. INC $7A04        ;decade++) Y+ f5 l$ j# g
  363. LIFEL8:
    ( ^6 n4 V- U3 F$ i1 x/ b
  364. LDA $7A01
    8 B+ }0 Z, ^- e8 i6 I7 _% `
  365. CMP #$0A
    8 N8 B, q) h0 s, E! `
  366. BCS LIFEL7                ;$7A01>10 goto L7' c; x6 w8 e2 ], T$ q* L$ C# D
  367. ;unit. T+ x5 T. Q) B
  368. LIFEL9:" k$ U6 b1 d6 F0 z0 {
  369. LDA $7A01        ;$7A05=$7A01: X+ f1 c2 E6 O8 T* b9 k% I
  370. STA $7A05        ;unit
    ' J# Q" z( V6 S6 q
  371. RTS        ;return
    8 P9 ]/ A+ P; S. ~( b! i# s
  372. 1 K4 V. Z: T" c5 ?
  373. 1 X: G$ t! d/ t. z6 E

  374. - E1 x0 K& ]; X, `! e4 ]
  375. WEA:                ;武器ppu写入9 K/ P+ c: O0 {. O1 I8 F. F
  376. LDX #$00  z( J. |. \& r: k
  377. WEARE:
    * T  N( ?/ B7 F- \' ^
  378. JSR PPUADDR_PROCESS8 J& |. e" N* z& Y' ]
  379. LDA WEAPON_STRING,X
    9 U, U3 w* w  D, Y
  380. STA $2007, ?4 j7 @! f+ ^. E; N; H. \3 n# }
  381. LDA #$00- \# r! J! C, P8 f
  382. STA $2000
    , n* G* \# P* g2 R9 D
  383. INX- P. y0 [6 T2 m* A- Y
  384. INC $BA: i2 R/ Y: w2 m8 y
  385. CPX #$07
    : u. _: |3 g1 l$ I5 j0 ~: A
  386. BCC WEARE3 f( Z; J' j- O* ^" o$ A) z
  387. ' Z. {- [+ S) w
  388. READ_WEA:$ Y: x% N% I# t. M7 I
  389. LDA $B9
    6 t9 k) y, x5 f/ T4 T) A1 j. Q# s
  390. AND #$102 B, V& t8 N, r  ^; [! }: x
  391. BEQ NWEA
    1 O7 y+ y) |3 t" F( ^
  392. SWEA:
    ' g; N8 H& H* B" [$ f. \! X5 \

  393. 7 S; `5 o8 z. C% z
  394. LDA #$9D
    # H& W% G: }- ~9 f
  395. STA $2007
    . O! e$ t3 a) a3 J& z& U
  396. LDA #$007 |9 r" E  V' U* ]2 N
  397. STA $2000
    ) k. S1 D% P) j( g
  398. INC $BA
    * d) f1 O; Y  ?9 {8 T  m) d
  399. LDX #$00
    2 D! e# u, O( I) W- G6 W
  400. JMP WEAREAD
    ' q. p5 I& _4 ~
  401. NWEA:" G& G: G0 G. o

  402. 7 I- o6 p, E/ F  L
  403. LDA #$8D( G9 A, t: x3 }
  404. STA $2007/ L0 E$ U7 |* e: V# z
  405. LDA #$00
    . {4 _3 E* |, W: y8 a- T: X" B
  406. STA $2000
    % ~# y8 c0 y" d5 Q7 o
  407. INC $BA& z& S2 {( h+ G; R5 M$ S
  408. LDX #$00
    7 m3 ]$ M7 P: I8 W7 d; F$ V
  409. WEAREAD:. q4 c" F9 V2 \) A5 x0 m
  410. LDA $B9
    + x  b, _6 U- Q* S5 ]1 |( f
  411. AND #$EF
    ( g0 p* L9 c4 S
  412. CMP W_DATA,X
    % d& h$ x, @& @& P
  413. BNE WEACMP
    : U% A1 E5 F8 L( C

  414. - B* Y, l' E8 m( t& j- V. z7 [, s! Z
  415. LDA W_PPU,X1 P$ a; h4 Q0 E# l
  416. STA $2007
    4 R/ L- v: W4 O  ~7 ~
  417. LDA #$000 L6 N# v' m( c
  418. STA $2000
    8 t% x% E  y, w9 A8 l5 W9 i6 V- [
  419. # d% K, {4 ]5 C5 l+ D7 V; ?
  420. WEACMP:. A  w7 `; @! k( G
  421. INX. J2 \" e& P. N( n
  422. CPX #$05
      ]3 y) C; |4 m# h, N! |% }
  423. BCC WEAREAD
    % E, j0 t# a& F4 I$ W0 H# ]
  424. RTS
    : u+ `* d0 {& g2 s; Y9 M7 [7 d
  425. ; E3 S, o; i7 y- l

  426. 5 k0 \. |3 r7 x! \) T1 X
  427. PPUWRITE:; h) v7 l4 S- [6 e* k8 P( H
  428. PLA' w% p( d  n, K  H7 t8 x' o  L% v
  429. TAY. h& Y' H2 V5 h. P- M; |" k' S4 `
  430. PLA
    / \/ \* x/ H3 C5 L* R0 X: W- U' Q
  431. TAX& j, b0 t! r5 I6 h( O  f
  432. PLA
    * H- F2 b/ s( s4 e
  433. LDA $25( }/ _5 p! S" ~/ X! e3 W" `" X. w$ h' o
  434. CMP #$00
    + E/ z( Y0 B; q/ c  U
  435. BEQ WP1
    4 y: i$ i" H( K. J9 m
  436. LDA $250 u* j$ S; r; B5 k
  437. CMP #$012 j8 K. y: P  u
  438. BNE WRE
    - \6 r$ ^# b* `2 J- l9 }( }
  439. LDA $F5,X
    / M+ O' ]. A; u0 }  y
  440. AND #$EF- c0 X' g& j+ _7 F
  441. BEQ WRE
    ' V! v+ I2 ~% i" D. S0 U" a  a
  442. LDA #$006 ]2 B  |) E) |4 Q+ B9 {; `
  443. STA $7FA0
    % ~. V0 R* G; |4 z4 C/ K! |
  444. & e3 u6 e7 y3 W8 {
  445. WRE:% K5 ~/ Z- E" p
  446. JMP $A000
    % _4 ~% Y  i0 ^8 [" k% F
  447. - |: o0 s; b% ]6 N9 T
  448. WP1:
    0 w2 r' ?% T8 ?2 J! K$ @
  449. LDA $7FFF
    " Q2 g# l, @3 D* c6 H3 W: M
  450. CMP #$FF
    2 K8 H- a# n% C3 N) {# R/ d
  451. BNE WRE
    $ ~1 N; l& E" i6 I: S* _
  452. LDA #$00
    * _6 O( s7 d& t% Q5 t7 g% H
  453. STA $20019 i' y4 {1 h# V9 }! T; V0 h. F
  454. LDA $BD
    2 T0 n' m! `2 b9 _
  455. PHA
    * R$ G1 [; I9 v$ C6 b0 [" n. k
  456. LDA $BC
    4 s6 W& l8 H. h
  457. PHA( V- [3 Q' k% Q, E0 J% ]
  458. LDA $BB; b0 [+ J3 T. v( M. ~8 q
  459. PHA/ g  C8 ]" K9 f: c; m7 Z
  460. LDA $BA& h$ t8 ~& [3 j: P! P
  461. PHA, l! {9 t; x' o. P/ P2 R
  462. LDA $B90 L5 T4 K: A& C
  463. PHA
    7 A2 p6 l$ q( n! Q2 h
  464. LDA $B8
    , s" ?% V  E) e! a  |. H
  465. PHA0 J- x& g( b' d5 c' u
  466. LDA #$00
    ' ?: e; x+ {2 H  b+ ^& I
  467. STA $B8
    # g, X# |2 N. H* U) G! R$ I! Q
  468. STA $B9( S  k9 D; x# f
  469. STA $BA
    9 T  `0 E9 P3 U
  470. STA $BB) x  E+ m* H  Y& Z+ _  g' z
  471. STA $BC2 L' x$ j; h$ W& e
  472. STA $BD5 h$ R  p( {1 }+ N8 \  v7 u* P
  473. LDA #$004 h+ L0 E; I4 ~* I+ r, A
  474. STA $7FFF$ ~" k* g8 h9 K6 ]) N
  475. LDA $30( W% m+ a" u+ Z$ `
  476. CMP #$02
    8 y% i; e5 W3 r- x/ U) K* F
  477. BNE UNPROCPL( C$ V2 S) ]: a6 T
  478. LDA $7EFC/ n0 i% v0 z3 w9 Z( |2 f, d+ ^
  479. STA $FC) x' W2 v: a2 C
  480. LDA #$00, ?' c& p2 b9 e( b; d6 |
  481. STA $A4
    4 q& U. K) I+ l  E% s
  482. STA $A5$ V5 U$ n0 S" }! o1 ~: @
  483. UNPROCPL:6 t' d' z- @1 l% i8 [+ i
  484. LDA $7EFD1 V" o6 |0 b. I
  485. STA $FD
    4 u0 _5 A- v/ q& d
  486. LDA $7EFF
    5 M9 Q4 P. J8 A5 P3 `- ]  B
  487. STA $FF
    2 [2 ^& \2 s' U3 V: U! I7 v

  488. ' M9 z3 s( z2 T# R1 @2 }
  489. WL0:
    8 k2 q4 F* Z. a+ [! m. n6 J
  490. LDX #$00: g# z% e3 E5 z7 ^2 R
  491. LDY #$00
    5 K3 |2 N6 F" F$ m
  492. LDA #$00& W% ]' z% H* x# |
  493. STA $BA/ ~- n) N2 P5 Q0 \  U
  494. LDA #$20& q5 W0 u8 r( |# X+ P7 u& d# U( z
  495. STA $BB
    7 T4 Q( k- i0 x
  496. LDA #$00
    # A3 t* I+ p! X  C
  497. STA $BC) }1 G3 n/ \3 o: \5 b: @+ g
  498. LDA #$60
    4 K. A: W) k- @/ T) h0 \5 `5 z5 M
  499. STA $BD
    # `3 Q) {- P! T$ K: c0 |( p% }

  500. ' ]+ b3 D/ U- L2 \
  501. WL1:
    4 J2 F! r8 o( o9 c0 ~
  502. LDA $BD9 C! O8 F( @4 \! L
  503. CMP #$70
    - b. n6 h2 b1 m# l( _
  504. BNE WL2
    0 ], C6 E% L9 X4 d6 \- \, }
  505. LDA $BC% r/ A0 Q. O( N" s$ `+ S  a8 F
  506. CMP #$00
    " \% O/ I: x- s% F# h  X8 I
  507. BEQ WLR
    4 }- O) \1 R( @+ u
  508. 0 F8 k! M+ |$ i* i3 v2 E1 y
  509. WL2:+ v' P- ~% U5 T0 p) N  X4 c
  510. LDA $BD- W: V  T3 A9 A; \+ K
  511. STA $2006
    9 I: u+ h- X0 w, n/ D
  512. LDA $BC
    6 {1 i4 b+ i2 o. i
  513. STA $2006( f- m. Y  ^0 |; K. j8 m) J3 P

  514. & m% e) R" m8 {" c9 H! u: Z, r: B( t
  515. WL3:9 |1 B0 P6 P; g. U% D9 ~
  516. LDA ($BC),Y' C: ^) V1 T2 S5 ]% l8 Y& c
  517. STA $2007
    ) }: A4 m5 b1 |, ~; p

  518. . ]2 B% p  I5 W' V
  519. WL4:. G' I- w7 ?  B* d2 X
  520. LDA #$00
    % `3 P+ Q" t5 x! c! o$ L
  521. STA $2000
    ) E2 K( V9 S, p. W
  522. INX
    " h: ~0 K0 I7 W! q/ ^
  523. INC $BA
    " V+ ^' z! Q2 c$ Q5 `" _
  524. INC $BC( Y, o$ X2 @2 z/ q+ u" M+ G# [: f
  525. CPX #$00  ^$ U' o* R( @- o6 q$ k2 Q! i) k
  526. BNE WL1* g4 g+ ]% x& H& R* V. ]
  527. INC $BB! W! C! `9 K* }! u' ~
  528. INC $BD' x" c  }5 X& U
  529. JMP WL18 H  \0 V! Y. F; t0 B# H

  530. $ x6 P5 N0 n+ M" x
  531. WLR:, r, r5 g+ a7 H" }# l1 M9 ]
  532. LDA $7FFE# G3 j; Q4 d7 D% z
  533. STA $07F6
    ! G# d4 o& S, [
  534. LDA $7FFD* |& d2 k4 e  L+ p3 m
  535. STA $00FE
    . c3 T+ ~8 F% n5 @% a/ u
  536. LDA $7FC1
    ! M8 D' z5 J$ W* }' a9 K: N* ^* p
  537. STA $07C12 @1 Q7 Z& x9 v- \- K
  538. LDA #$3F
    3 N& Q, k/ {+ a  k2 A# \% f
  539. STA $2006
    6 Z5 N1 M4 a$ ~1 \
  540. LDA #$012 p' U. }  q7 x" d( \
  541. STA $2006' x& k: n- t$ z( {
  542. LDA $07C16 B- _% Y$ N6 R0 e
  543. STA $2007
    3 G4 f" e! P3 }3 w9 h/ W0 L
  544. LDA #$00) u* X6 U0 ~2 s" f5 K* \/ R
  545. STA $2000
    & E+ N. H7 Z: P& y
  546. PLA
    - m4 E; L- A  ?6 N. y  }
  547. STA $B8
    / Q- L. s: ^  X4 d" O
  548. PLA
    1 s, a6 h3 r9 x" u
  549. STA $B91 N/ x- M7 o. W* e9 [
  550. PLA
    - O" L. F; t! e: b! z5 k
  551. STA $BA
    : w' U/ Y2 J7 [
  552. PLA6 n$ l$ p1 k3 x+ j" q
  553. STA $BB- s1 M8 Y/ h. B/ P8 c/ k3 |* ^5 d
  554. PLA3 @- l. ^  q9 d& h  P8 e- k
  555. STA $BC& x: l/ F, }' b
  556. PLA  b) v9 {0 _( K# B! W2 D$ d
  557. STA $BD) ?3 O/ i6 w' V' f9 f7 ^0 _0 a/ a
  558. JMP $A000) }7 i' b8 f' y: ^4 U% A3 A. |
  559. $ [; V/ Q/ v5 x- R2 ]1 s
  560. FREE:                ; 暂存器保护
    $ N5 ]* D3 }0 j- `) J
  561. LDA $BD3 x8 X8 h$ F; H
  562. PHA% E% j% m* f+ D* f
  563. LDA $BC
    ) t; ]( B# [6 S0 Z: G( O  J
  564. PHA( z$ U& O8 A8 M7 u, A) b) N5 _1 _
  565. LDA $BB# S: t$ j# A& p& K% D
  566. PHA
    + [2 |7 u' `: t; I+ M; [
  567. LDA $BA
    ; N; Z. M8 H5 r  M! D# M( t) d
  568. PHA
    # V! k8 J3 Y7 r3 p
  569. LDA $B99 \8 I) C! C% q- l7 N
  570. PHA
    # K1 C  }+ S8 y
  571. LDA $B81 m! U' _+ [, {' K# L# P7 W5 J
  572. PHA+ F9 N, }- t) H3 y6 K
  573. LDA #$00" S0 ?% P9 V# y
  574. STA $B8
    ; \, p5 h  k7 P# e1 z7 L/ ~
  575. STA $B9$ p4 O* L- i0 _' w
  576. STA $BA
    9 a% R! N# A  u) ^0 g+ \6 _! R
  577. STA $BB" k) J( `8 `- r8 u6 @8 m7 q
  578. STA $BC
    # n! x* z5 G% m! |3 A$ ^
  579. STA $BD
    . l5 x6 g* y1 _9 [
  580. ( E* E# `8 K9 c0 U
  581. WEAWRITE:                ;武器ppu写入0 h8 I: w6 A, @3 ^( Z3 S) t- T
  582. LDX #$00  s: i' p. g- U- h
  583. LDA $AA
    & M1 l" ^7 z4 E3 M3 V9 q, [
  584. STA $B9/ [- {) x; \# K* d, j2 c. q6 |1 e
  585. WEAINI:                ;地值初始化4 A% Z0 Y; G, R& R1 v
  586. LDA #$A4
    - _. N$ n* |( o2 F
  587. STA $BA
    $ {' X) l- j9 r9 |
  588. LDA #$202 x% ^* T  v. w0 I7 H
  589. STA $BB' b0 [% S% A( J6 q. U+ l

  590. 7 T6 b& Y9 e% w* I& f. D9 F
  591. ; f; B5 C  S  x
  592. JSR WEA, b  G5 Z4 z- X: R% [
  593. LDX #$00                ;武器ppu写入9 R* F! X; j8 e  q  L! \
  594. LDA $AB/ f: s& m( k; m9 H1 p9 z5 L
  595. STA $B9" o) m" z3 [, B$ U
  596. LDA #$B3
    ) [( J+ U" p* U1 n" h
  597. STA $BA1 c0 L' h  S3 Z; u( x
  598. LDA #$20
    ! h. r  S7 B5 z: |9 h
  599. STA $BB
    . {' c3 P5 }' ]$ b" X$ m

  600. 6 O# W) A# n+ G" U3 {
  601. . C- A: t5 h1 \8 s& [
  602. JSR WEA7 r: K% T4 o8 m5 M" R

  603. : o# B- D4 x% T  a+ l: N1 Z
  604. LDX #$00
    . ~6 R+ m/ i4 E; J# [! k# v. q/ S1 ^
  605. LDA #$E4
    ! }/ q$ D4 _5 S3 g
  606. STA $BA
    ! f; k+ k$ Q+ [% S. @
  607. LDA #$20- z! k8 Q2 h5 O: s
  608. STA $BB
    0 n$ U* O3 A* i& }3 |, L7 r
  609. . w, `4 e% r* H5 _5 _  @; t
  610. 6 `& O' M: p4 f: d
  611. LDA $32
    ( Q) f8 m$ e6 l; C- T
  612. JSR PLAYERLIFE# N! X7 q8 d& S+ f

  613. * a- b/ M9 ?) f4 d* J' l$ f
  614. LDX #$00
    ; X6 B* @5 |3 V: E" }5 [
  615. LDA #$F3
    + i  w) u( l: o
  616. STA $BA. B( v* w2 B/ l7 z& `
  617. LDA #$20
    2 J" K9 ~' Q9 I+ l' ?; e
  618. STA $BB
    6 P/ ^: {6 O3 L, d

  619. 1 H6 ]( k* t- b6 X4 e2 p
  620. 6 U$ |; T9 T, Y2 c
  621. LDA $33
    . h) o9 r) `* ]- H7 x
  622. JSR PLAYERLIFE" p6 |9 |+ U! p# s; p$ @3 V
  623. # x# B. y' m0 p& h+ L
  624. 6 H' b7 ^" J: U
  625. JSR PLAYER_01_PPU
    - S1 o1 z# r: l1 r' l
  626. JSR PLAYER_02_PPU. Y- u9 d! x& S$ L) D& J/ b
  627. ) m# {% J5 L9 z

  628. ) D4 b+ t3 A9 l: M
  629. JSR PAGE_PPU9 K! A7 ^$ z/ a
  630. JSR PAGESELECT  x+ H8 j2 O! z

  631. , G1 I. ~. f$ x; J& t( Q6 s1 ]

  632. ) R- m: H; ?& z/ w4 ~( R
  633. ' ~( @4 h  Z- V7 u% s2 t
  634. ; c: Y4 q) b' R$ ?# u

  635. / R5 U7 x- k2 n2 H) X8 J
  636. - N! H" e2 X2 S8 Z
  637. 8 O* a! Z  c1 A# s% T# C
  638. 8 t/ v: d. |! `0 T; f

  639. 0 B, c9 W+ L/ l$ K& G0 n% I
  640. + _+ V2 [6 t  o) T- l3 D4 w: [

  641. 3 p3 K/ W% P3 ?' ]$ d7 g
  642. % I3 g: p8 v$ |2 u+ p) g6 a3 u

  643. # E* @! m: h( y# n0 ^
  644. PLAPRO:                ;恢复现场
    " p  B( y8 w6 v& @
  645. PLA
    + {# w1 V- Z) @9 v
  646. STA $B8
    - ^, s* X0 Y0 a! C# o6 }/ u- V
  647. PLA7 i7 V: |4 t7 g- R
  648. STA $B9
    ; J9 Q7 N$ y0 m5 g0 @) f9 n, s
  649. PLA
    ( f1 P$ p  g# W
  650. STA $BA
    5 U" T4 X- V9 d: ?) g# F
  651. PLA
    : P0 O( }8 y" g- p0 x
  652. STA $BB
    - o' y( T: L' q. ?7 c
  653. PLA
    3 w7 j6 _1 z$ c% ^3 x+ K' ^( S
  654. STA $BC: y1 {9 _7 q  o* v
  655. PLA
    $ B& [7 a" H  t- I
  656. STA $BD: m  {* b+ ^7 |2 y& j4 _* C9 P
  657. FREERTS:* J% J3 ?7 i; D& N& d% l2 l2 J0 F: c
  658. RTS
    ; ?8 Z( |: S4 Y# |: Q: s7 X2 B
  659. 3 S; s# m6 \* y- l
  660. INVINC_STRING:                        ;invincible: `9 _& e8 Q) k, j7 J: g
  661. .BYTE $93,$98,$A0,$93,$98,$8D,$80
    ' Y/ ?) i! w/ |5 c2 c: }

  662. 9 s& M$ K7 i/ P! T$ O9 r
  663. INVINC_PPU:' O2 O2 M2 R+ I9 t; M
  664. LDX #$00
    ) k  [3 c0 U. A/ w# l" F' g
  665. LDA #$625 [6 M1 E$ }8 l+ z
  666. STA $BA
    / U  ~4 o( n: v
  667. LDA #$21
    - ]: Q& E' W9 N3 ?' G; [
  668. STA $BB
    3 f# G3 K6 L  u: G4 M3 ]

  669. : g" v5 P" Q7 ]3 w  v1 \4 k
  670. * ^+ Z, I# K  }& a# T& I
  671. JSR UP_PPU
    $ D8 \. G) ~3 H( X9 n5 H
  672. JSR INVINC_WRITE
    9 {$ M) @/ `% D. D8 t  m- B( Z
  673. LDX #$00" G, a- z# _. h$ v; a" s5 m8 v
  674. LDA $07A0
    8 P& m% _3 H' \8 z
  675. AND #$01) \8 }+ H( o8 J
  676. JSR ON_OFF_PPU
      c4 M; Q- r. \% H
  677. LDX #$00+ |/ H" ~: A, n  e( `
  678. LDA #$716 p0 Z7 n3 T7 q" A
  679. STA $BA- Q  ]$ X& f( u8 |5 w' l+ h
  680. LDA #$219 c6 p+ |0 [; Y3 a! d
  681. STA $BB7 G) j4 s" p' z5 j' e
  682. & H2 Z. b) @# M' e3 ~: b: F$ d. ~
  683. ) g8 _" k$ N2 Q$ S
  684. JSR UP_PPU
    & o1 F# K' J1 b1 A- X9 F5 ^
  685. JSR INVINC_WRITE
    0 R" ~* d% A+ V# k4 i' w! l
  686. LDX #$00! @- k: A2 e/ S" {* V
  687. LDA $07A1: A8 N  L. E& V7 k  H  d9 V
  688. AND #$01
    5 Z- s! H, D. G2 q7 {" l- R8 m
  689. JSR ON_OFF_PPU3 g8 g  \+ T0 Y& k4 L; [/ Z5 Z4 h
  690. RTS
    9 r3 Z0 `/ q0 }2 R9 H' D6 {( x# d6 n

  691. - t8 n; K9 c, w* n  m; P" R
  692. INVINC_WRITE:8 S, V; t3 T* }8 a* ~2 j
  693. LDX #$002 K, @5 U9 _& o2 r
  694. INWRITE:
    % E" W9 J3 \. }7 |& |6 m! ^
  695. JSR PPUADDR_PROCESS
    ! Y1 G, `# B' @; C9 ^. k
  696. LDA INVINC_STRING,X
    6 N" M' G& t: V( {, f7 k9 @6 U3 Z3 ^
  697. STA $2007
    8 m5 b1 n. s* ]2 Y# C& L8 B0 _( K% u8 q5 A
  698. LDA #$00
    : a# H- j8 Y' [" I/ h
  699. STA $2000) X% l+ g; o1 y; _9 [8 w
  700. INC $BA
    ) g4 q# M1 O+ T( E. j
  701. INX- T* ~+ r3 ~2 R) w3 G
  702. CPX #$07& y5 V/ Z0 y4 `% ?
  703. BCC INWRITE
    1 s/ G8 z6 ]7 m0 Z  h: e6 s
  704. RTS. }: E# D3 u: T4 p& N1 \+ u

  705. 1 `8 i5 u. J; I  y! E" A: l
  706. ON_STRING:
    ) O/ l. ]  Q3 Y
  707. .BYTE $99,$98,$80
    & S; X5 ]' F- `9 s3 Q7 `% V1 \
  708. + ^" }. ]$ z0 X
  709. OFF_STRING:
    3 m9 a+ l/ f* H* h& _' m
  710. .BYTE $99,$90,$90
    % Y$ `- H3 u0 n, u% z
  711. % k) S' v2 G$ \: P+ s% b
  712. ON_OFF_PPU:7 C/ R0 W7 v( Y" a3 M! S/ S
  713. BEQ OFFWR
    2 Q0 F) V: k* Q" P" T
  714. ONWR:8 J2 D0 ~! G7 {! p- L: r7 a
  715. JSR PPUADDR_PROCESS' l8 ?$ a) v; q9 f+ i$ z4 X/ q
  716. LDA ON_STRING,X) m; z# n% r" p  r4 Y( Y" Y
  717. STA $20075 i( R+ j  u. a) n9 j8 r
  718. INC $BA+ d0 ?* Q6 B- J% Y
  719. INX; q/ S0 _+ a$ K( M6 G5 K+ S9 l
  720. CPX #$03
    2 Y. M8 I% \$ y) W
  721. BCC ONWR9 X4 r, }; |5 a# g
  722. RTS
    - _% _! M) Q/ ?3 O1 G
  723. OFFWR:! V1 W. G% j) P/ `- L( f6 [! g% j
  724. JSR PPUADDR_PROCESS' l2 Q; e! v5 @. p
  725. LDA OFF_STRING,X, N) d( F6 Z* L4 f! v) U
  726. STA $2007
    7 T. q( h" p3 K4 F, m) K
  727. INC $BA
    + }3 `/ y; T$ Y' Y6 q" v8 a5 |! A
  728. INX3 _8 @3 a" n9 h! A
  729. CPX #$03
    1 n) t5 E) p% A6 U
  730. BCC OFFWR7 R/ \  `1 o0 ^# n
  731. RTS: F  {2 G* l) G3 E0 n! {6 Y

  732. 6 R3 a3 a9 X- l# G* x+ o
  733. LIFELC15_STRING:2 A' q1 L4 ]. f# E& u' O
  734. .BYTE $96,$93,$90,$8F,$82,$86,$80
    0 |& N# L7 `7 e8 m9 P7 |0 J
  735. / }& C: J: ]# Q7 h& I* L/ }  L
  736. LIFELC15_WRITE:- Z# |' P6 C' o6 I/ k- U
  737. LDX #$00
    - s% t" b9 V8 N
  738. LIFELC15:; t& [- M0 _6 D' F! r
  739. JSR PPUADDR_PROCESS+ h6 U7 p; x& K9 b$ [$ m
  740. LDA LIFELC15_STRING,X
    $ q2 g- g1 j' o' L1 F# N) k8 H
  741. STA $2007+ |" J. d3 x8 _7 M
  742. LDA #$00
    & i+ _4 V5 ?! q: a8 Y% k
  743. STA $20005 z+ e1 q0 a/ Q5 t9 h
  744. INC $BA
    # Z/ L( ]/ l- q8 R9 m" F
  745. INX
    1 m' n; A6 K# ~* D' A" t! q4 `' ^
  746. CPX #$07
    & X9 U9 `" d1 k) k2 K1 K
  747. BCC LIFELC15
    # }+ O" f. t4 ?) z3 _3 ~; ~" @
  748. RTS
    ) s$ o& t* n  F1 l

  749. + [" B8 ?3 S$ ~4 z& G
  750. LIFELC15_PPU:
    6 w2 C% F! Q4 H8 \
  751. LDX #$00$ u; p& D# v' C( ?+ A/ h  |
  752. LDA #$A2% |9 j% `- C  T( H( o
  753. STA $BA
    8 k  |3 t; o; F# Z
  754. LDA #$21
    * e7 ^1 |. U2 w0 R+ q' @
  755. STA $BB
    . w: e% z6 M: T. V0 p
  756. JSR DN_PPU
    # g9 u0 w/ x' z5 \7 U
  757. JSR LIFELC15_WRITE1 b) v$ _" S. u
  758. LDX #$00! e- W& _! `; g. W  @0 O
  759. LDA $07A0, b. A$ P0 g# `9 D: g
  760. AND #$02
    " m( G+ ~/ j; S
  761. JSR ON_OFF_PPU
    4 J" @$ `' t8 V7 r0 L) z" {
  762. LDX #$00
    . {- f" l# L/ L8 y
  763. LDA #$B1
    8 f# u9 d# w. l8 m0 i. D
  764. STA $BA
    9 Y! c9 z; s% F; s& B; u
  765. LDA #$21
    ) l: }3 y* e1 ~
  766. STA $BB
    0 z4 c7 P7 K) r3 z: T" A
  767. JSR DN_PPU# e3 w* A& W$ R4 }) R8 p' B
  768. JSR LIFELC15_WRITE
    2 [7 [" w; b+ K- a
  769. LDX #$003 b2 A2 t/ r+ i% h9 n/ c1 U7 D
  770. LDA $07A15 |2 c2 \6 J- |/ h( N; w6 Z
  771. AND #$026 E1 r9 P! {: E7 O
  772. JSR ON_OFF_PPU* d6 J6 v8 Y0 J/ `0 ~, S. p
  773. RTS7 _1 i/ s! @2 Z3 x, S

  774. 3 M6 h  _% [  b3 ^  Q* y
  775. DOUCON_STRING:9 q+ J4 U* _- p6 p5 K4 w
  776. .BYTE $8E,$99,$9F,$8D,$99,$98,$80( z& i0 {1 m8 U; T0 y% _
  777. ) m& w. ^0 \: N" N
  778. DOUCON_WRITE:
      m6 q8 t) b4 e/ E
  779. LDX #$00  c7 A7 T# R+ z' f2 N* B) {
  780. DOUCON:5 r9 v! N7 o5 k/ g$ ?* ?( @
  781. JSR PPUADDR_PROCESS, V' p. z& e# `3 S) O6 w  p3 X
  782. LDA DOUCON_STRING,X1 }' o& S6 e3 h/ ?. [: J
  783. STA $2007
    0 M5 L  R0 B$ F! t- G( W
  784. LDA #$006 R# C' L% ~# P9 v
  785. STA $2000
      ?4 h' M) G7 k" O* Y8 Z
  786. INC $BA/ Q# D- }1 M/ v
  787. INX  x. D' r- Z- _$ Y5 G" z
  788. CPX #$07  k1 N& ?& ~4 g0 }% p
  789. BCC DOUCON
    . @2 y, b5 t. b) A
  790. RTS5 I# J9 D5 d8 N9 [  k* Z
  791. 8 q3 V4 m0 M8 ?0 M) `0 m0 S' M% `
  792. DOUCON_PPU:
    ; ?& X/ o( h; Y( \- [
  793. LDX #$00! b  a7 m, l' c0 A
  794. LDA #$E2: b$ K% z, i2 k" p, D
  795. STA $BA: s* N+ \8 e1 ~2 b" Y. k$ X
  796. LDA #$214 E7 [: d3 R* z' m
  797. STA $BB
    6 p, ]5 p* L0 b, [* d
  798. JSR LF_PPU3 \& A. g: G# d$ w/ i* T
  799. JSR DOUCON_WRITE
    % L* m; P" }; e9 H
  800. LDX #$00" i6 ^, Z% g' |$ {! e& P+ {! Z# p$ O
  801. LDA $07A06 F, \( Y! o! G$ H+ R* K5 L: H3 O- R$ }
  802. AND #$04
    7 s* |; k6 i, s/ t, v$ H
  803. JSR ON_OFF_PPU% n6 k4 p3 U; c
  804. LDX #$00
    0 |' y# ]4 D% a
  805. LDA #$F1  Y7 l! n3 X6 b% y5 r- m4 j) g  V
  806. STA $BA
    ; Y" N' N2 m9 s6 a7 M% ?" ?5 h- W
  807. LDA #$21
    4 g+ C6 T' k( P$ y+ c
  808. STA $BB+ [0 C5 j. E) `( Y3 d
  809. JSR LF_PPU
    ( N/ o! B/ R7 i- A- W$ ^8 \
  810. JSR DOUCON_WRITE% J7 M- ?) v- y0 G7 L; d
  811. LDX #$00
    4 R" M, `( G4 k& h
  812. LDA $07A1
    6 h8 u. W# y% L. d
  813. AND #$04
    % D2 Y* n" I5 x- p$ c1 ^. z, Q
  814. JSR ON_OFF_PPU
    4 z7 ~$ k9 |7 Z- i; w2 D
  815. RTS
      c. K$ X4 w$ l) f+ `" ?

  816. , ]( J$ R3 P! H5 \+ r
  817. LIFELOW_STRING:
    $ p, {; o* }/ J1 h+ _. [
  818. .BYTE $96,$93,$90,$96,$99,$A1,$80
    ! j% W& Y1 r& o, @" _
  819. ! h( Y! J# ^6 E# H# I
  820. LIFELOW_WRITE:2 T8 i+ Z, D" ^0 e. u4 p
  821. LDX #$00
      |+ w& _. g# t- O
  822. LIFELOW:6 a- t6 y% l; K, u' U$ O
  823. JSR PPUADDR_PROCESS$ z$ c( ~. M' a0 w! W% Q
  824. LDA LIFELOW_STRING,X
    : S: P1 z: Y8 h  i: h( f( G* c
  825. STA $2007
    + x8 f$ V9 O& h7 x' U
  826. LDA #$00
    4 L7 j& \, b* j% k3 T* K4 C
  827. STA $2000: K$ Q) c1 V+ {# a! M1 q3 d
  828. INC $BA$ M& r% x. ~2 f
  829. INX
    6 y% J6 C! U0 B7 H  n( t
  830. CPX #$074 S9 c/ n2 r' j5 h
  831. BCC LIFELOW0 n5 J1 ]6 X- p. G0 U8 O
  832. RTS7 a! w/ Z, g1 ]) G9 l2 Z5 E. P
  833. ; F# N4 T% H& o
  834. LIFELOW_PPU:% X, ~# Y, B- {5 m6 I, ?. v, q
  835. LDX #$00' l% }$ K9 ]/ J) {
  836. LDA #$227 v9 V6 U4 e& I5 G% @1 i
  837. STA $BA
    - ]9 m: L/ r4 J: G8 R( A$ w- h
  838. LDA #$22
    # B$ [8 x1 X' e( I2 j; k' O
  839. STA $BB
    4 O( j; W0 Z7 X% Y" m0 ?9 A
  840. 8 r" ^  J# }. p. w$ k# ^' _# _& E; @
  841. 4 K* q/ \; b' j
  842. JSR RG_PPU
    & U5 h; {8 C' a) h5 ?2 y
  843. JSR LIFELOW_WRITE
    & t$ I/ O+ D1 _& b
  844. LDX #$00
    ' c9 Q8 B# Y3 {: R7 Q, m4 t7 L2 a
  845. LDA $07A04 X, j/ o: e3 p. e
  846. AND #$08! w/ ]  n  \! J4 C2 T
  847. JSR ON_OFF_PPU8 I1 i% V( n! G
  848. LDX #$00/ M5 G/ E- ~+ v  m; H
  849. LDA #$31
      c! t# K1 \+ @. |1 k& b
  850. STA $BA
    6 }& q* T4 y* A. J4 h
  851. LDA #$227 z! B$ `0 a3 m9 a6 D9 }8 Y. q
  852. STA $BB
    ( n# E' I: Y4 Q! w

  853. + z" [& e+ p  {. X
  854. & ^; S1 F7 t7 s. b6 `0 n
  855. JSR RG_PPU
    0 D0 H' l/ U" F- Q4 [" N
  856. JSR LIFELOW_WRITE
    ' t6 l8 t. H& {4 ]
  857. LDX #$00
    3 a# j1 k! x, [! s% I" @/ z# u1 b+ w8 ]
  858. LDA $07A1
    - X/ x1 O+ J. }" [7 j0 _
  859. AND #$08
    * p$ ^$ \' y7 P) f: k. L
  860. JSR ON_OFF_PPU
    3 F$ D' G9 D) [+ X
  861. RTS- d: f4 t1 a/ D0 R7 `6 q& V3 P  L
  862. 6 z3 y) }( ]5 \6 p: r) e: g
  863. KILLON_STRING:
    3 }- r+ H7 O- q  G! K
  864. .BYTE $95,$93,$96,$96,$99,$98,$80# m$ U$ E, M  i8 h* N& N
  865. " z% }/ y9 F7 c2 \
  866. KILLON_WRITE:
    ; b4 B4 M7 T/ W; _& d/ f* G" X
  867. LDX #$005 r5 _4 c( J0 k! L' X* v
  868. KILLON:, H, M+ _- M* ]* }$ m
  869. JSR PPUADDR_PROCESS  K' s6 M# t' B' g) V
  870. LDA KILLON_STRING,X4 h1 y! D2 r6 t' a8 J
  871. STA $2007
    8 n% c* j9 A8 w, g1 A- p' \
  872. LDA #$00( z% y2 O# Q' O6 ?, l% s
  873. STA $2000) r! f$ R* q4 d  L: X5 o! P
  874. INC $BA  C- y  ]9 E  x
  875. INX# A0 `& p/ R- O/ \! x9 ^/ g
  876. CPX #$07
    , f' |' t! ?3 M8 t7 q* k  x% d. |9 y
  877. BCC KILLON
    * D, N' e# b  `" Y5 x1 U0 H% s
  878. RTS) q; ^0 I* m, v
  879. " z5 ]8 Z) B4 I* l: _6 `8 M4 ]
  880. KILLON_PPU:
    , y7 t1 q1 c( `1 h+ R
  881. LDX #$00
    " J' q: ^  h, q, L
  882. LDA #$620 c7 t: t6 _* E) q* ?
  883. STA $BA
    ! l6 d9 q( y0 \2 w5 o7 A' D
  884. LDA #$22
    / _) x7 B, f& m+ V1 ^: M* H; p
  885. STA $BB
    - N. @. {* F* e$ _  f  c
  886. ' R8 b7 b* ~9 C1 S/ [. [+ b
  887. ! Y- d" i0 f0 \9 s) U) M1 s
  888. JSR B_PPU0 _6 ~. ]. Q4 b
  889. JSR KILLON_WRITE
    * J1 _: t& C5 w* |
  890. LDX #$00
    & T% p* |, d) ^9 f) R
  891. LDA $07A0% x  l2 H, i5 O0 p+ n  Y1 d* [
  892. AND #$10
    6 O* B  j8 r$ y$ t: _
  893. JSR ON_OFF_PPU! {% B0 L, h, q3 ?
  894. LDX #$00
    ! {+ t# |' U$ a* C8 B) {
  895. LDA #$71
    9 @* ^: |" o8 J) @  R5 W
  896. STA $BA
    2 D' {! `8 j8 V" N" X
  897. LDA #$22
    - W- e' h, U7 h' \, r
  898. STA $BB
    " J7 m# v0 p: i
  899. & ]: f& r2 ^" i
  900. + F. K! D$ L: ]0 _5 i' s" O3 e, r4 I
  901. JSR B_PPU' T; G) V! F# ?$ t8 \/ b3 s7 Q
  902. JSR KILLON_WRITE
    2 Q/ S( M6 T, j5 U$ J) O+ M
  903. LDX #$007 Z  l( S1 Y0 D" N3 @0 }
  904. LDA $07A1
    # |3 D4 w' I, q$ h, T% W
  905. AND #$10% |# g  [" y$ u+ Z; M8 o6 o5 ^* j2 d
  906. JSR ON_OFF_PPU8 ~8 z* k7 R/ u% s
  907. RTS
    " M' v4 g5 \6 a% k4 J9 a
  908.   ~8 P2 n; Y3 `. J5 e; ^. u, q
  909. SKYFLY_STRING:+ h" t+ ?8 q* W& `' f7 ?9 ^6 y5 \
  910. .BYTE $9D,$95,$A3,$90,$96,$A3,$803 u5 Z1 F1 q' C
  911. ' @6 }; b: t- [. B. w' Z1 g
  912. SKYFLY_WRITE:
    3 f! \* m; r/ l
  913. LDX #$00) G+ X) E/ Q6 e( T
  914. SKYFLY:$ F9 F, Y9 l( G
  915. JSR PPUADDR_PROCESS
    : ^3 X3 u6 b- v4 e0 q/ {
  916. LDA SKYFLY_STRING,X
    ' S; ~% H- O8 W' K4 f% I
  917. STA $20075 y( Q4 T2 m( B' P7 H: Z
  918. LDA #$00
    0 |% ?7 Y9 j$ s& H# M7 K9 d, S+ t
  919. STA $2000
    . E  F8 G3 J0 M' ~
  920. INC $BA
      u# y7 k. Z" p" X* T
  921. INX1 e) |2 t( ^- {7 O# h4 {9 [  J! o
  922. CPX #$075 u  V1 i; {$ V: E/ ]
  923. BCC SKYFLY2 }2 V* I" _1 R& }
  924. RTS
    * C# N. {0 e& Z. B
  925. / E# S1 {3 X1 P  J$ j
  926. SKYFLY_PPU:  G, R% H9 C6 e/ F' _2 q: J- f8 N) B
  927. LDX #$00
      T: Q' j$ }7 U3 n) u6 G9 M9 N% P4 _
  928. LDA #$A2
    # i9 h3 V. ~# V3 _0 Z6 h
  929. STA $BA
    : \+ I2 o5 L7 i& A, [5 O0 V
  930. LDA #$22, ~% t5 N) i1 X& k& j
  931. STA $BB
    4 D2 _4 ~$ w2 e" C4 Q. ~  \
  932. ; V2 K" u7 X: G/ e: A! X) K% H

  933. 9 m  j" g0 }8 S9 @
  934. JSR A_PPU. k- @% |% q3 ^5 {# l' h' @
  935. JSR SKYFLY_WRITE
      z6 o" P+ q1 _6 |
  936. LDX #$00& j3 s" W. S* N
  937. LDA $07A0( i# A0 I1 O: M' x# O; Y
  938. AND #$20
    " ~- m: Q  H2 h
  939. JSR ON_OFF_PPU, y8 s" e, u8 w3 z- _% x# w% X
  940. LDX #$00
    / g1 a. W/ N: ^+ ]3 K0 t1 T
  941. LDA #$B1, f) q$ b" V. F, |0 |
  942. STA $BA
    % I" E0 t3 Y/ O0 ~$ W
  943. LDA #$22; e6 P1 Y) g6 [; w
  944. STA $BB2 J% g9 {4 F- W' O* F

  945. ( t1 s9 m1 y: a2 H, l7 f1 }
  946. 2 A: q% l/ \8 J, Z
  947. JSR A_PPU$ L) c' A2 T4 m  ?) |, I
  948. JSR SKYFLY_WRITE! e  B1 ]# L5 f+ O. _2 j3 y( _
  949. LDX #$001 g, y+ v  w2 @4 I' _9 l. Q: N
  950. LDA $07A1
      P8 h: g3 @3 D7 p& j
  951. AND #$20
    0 ~" @  Y' T0 C" O/ p5 X% k! k
  952. JSR ON_OFF_PPU8 q0 S  }! |* \  Y4 W6 u
  953. RTS& o% n3 z$ u, p/ x$ ]
  954. - A- Z) j# y* _+ O7 J8 ^( ^# |
  955. BULADD_STRING:
    ! c' k1 e, E; D. g
  956. .BYTE $8C,$9F,$96,$8B,$8E,$8E,$80# m' j; K3 A8 ~* s  [1 ^  ~6 o+ i

  957.   `! v5 C7 t3 a- U3 G) k$ x: [6 q8 Y9 g
  958. BULADD_WRITE:
    % `. W1 Q) n; S1 n
  959. LDX #$00
    0 @( {4 p  [2 f, I$ M3 `
  960. BULADD:
    + \, P. E, k, u; L
  961. JSR PPUADDR_PROCESS
    , U) Y: s8 X6 M$ z! {5 P! P
  962. LDA BULADD_STRING,X
    ( }  ~: P/ {5 s6 m) n' o
  963. STA $2007
    ) n# `. O( o5 J! h9 j5 H
  964. LDA #$00
    6 o  p9 ~/ `. l
  965. STA $2000
    ! J% L+ z4 {. s$ H
  966. INC $BA; g# W0 {, r3 Z/ R  }; F: A$ N
  967. INX7 G3 v5 n4 }: q$ O( h
  968. CPX #$071 w- d0 n/ E5 X
  969. BCC BULADD7 b5 g- d4 ^8 a/ }! e
  970. RTS
    $ U- D/ l- M$ A/ W0 L4 ~  x

  971. + f  A3 `8 U" i8 b
  972. BULADD_PPU:
    5 v5 l& \$ B$ t4 l
  973. LDX #$00
    2 D- t: ~. Z# P( i
  974. LDA #$62
    - e7 o" ?+ W+ d! Y8 N7 Q
  975. STA $BA
    7 R8 K& r6 ?9 z$ p
  976. LDA #$21
    % Y. r7 D5 [8 j  W
  977. STA $BB
    . p, S+ |7 o9 q: M( Z( R/ D+ X
  978. ' o) U6 S' m, ]; W" G
  979. 7 e9 V8 e" y* x
  980. JSR UP_PPU
    + @9 [0 W8 ~4 s! q" W
  981. JSR BULADD_WRITE5 O9 c# I9 Q' p* e6 ]3 X
  982. LDX #$00, l# ^4 j) V: _( o- A/ X2 ~9 n; l
  983. LDA $07A2
    9 t  @6 o+ u) Q
  984. AND #$01& [& e( e/ J' q4 k* {0 u$ \
  985. JSR ON_OFF_PPU. o8 O" \9 C5 D* N
  986. LDX #$007 w4 X  v1 v8 u* O5 d7 s
  987. LDA #$71
    0 W" I4 H. i) z! p. p+ x* W, p
  988. STA $BA
    3 I1 ~' |. g8 s0 @" _
  989. LDA #$21& M% W% @; _( _- c& t( j) R
  990. STA $BB3 s, R7 c/ d0 s$ \
  991. $ I8 e% |- y2 C, P
  992. ( R# N5 \2 U; x
  993. JSR UP_PPU
    ! ^/ g- D6 r1 B% H; C" e
  994. JSR BULADD_WRITE# T! Y  x& H- _+ B$ C1 @
  995. LDX #$00
    ) Y1 o3 H# w- n
  996. LDA $07A3
    1 t4 U5 v9 C  D' Z; I- |' e
  997. AND #$01
    4 B6 R5 b% ~1 O: w& q- p- \+ c  P
  998. JSR ON_OFF_PPU
    4 |% p! b3 U# q' H
  999. RTS. a( d( q& [8 g9 n

  1000. & c0 |# N5 x" K  n/ f
  1001. MENU_PAGE_STRING:
    - \8 Z) w& O0 w% u2 G  z
  1002. .BYTE $97,$8F,$98,$9F,$80,$9A,$8B,$91,$8F,$80,$81! y! `: C$ o6 g& [2 t- T0 C

  1003. ) d6 R. `8 G& W& Y
  1004. PAGE_PPU:! |; c% g# b% @* B% X
  1005. LDX #$00+ D6 a2 V: J- }* \. }
  1006. LDA #$0A
    ; a' \5 P' k' E/ ]( X) E  q
  1007. STA $BA1 l% Q. J/ r$ l* q+ ]; g
  1008. LDA #$23& `" t$ @" \; H
  1009. STA $BB# C* O+ V4 R* z0 ~! J. t
  1010. 6 F# f( c' E3 j2 W$ r# j

  1011. ) W7 v; V& m4 k( a* s, n
  1012. MENU_PAGE:
    2 P' a/ S, d; G6 C
  1013. JSR PPUADDR_PROCESS
    3 u, @$ @, x) r6 M7 t
  1014. LDA MENU_PAGE_STRING,X
    8 g& c6 E8 i' i' T9 f  u' o% n8 W
  1015. STA $2007
    ' W2 T1 c! }9 b6 G
  1016. LDA #$00
    9 D/ u5 O% @7 I6 T4 L& w' F
  1017. STA $2000' V9 e* D4 i7 a! z
  1018. INC $BA
    0 s2 ~. v/ K: ?; p. t! r
  1019. INX# U1 T$ d  c. ~) `* N2 H7 a
  1020. CPX #$0B
    0 |" {- _! l5 D& x7 Q6 U0 a
  1021. BCC MENU_PAGE
    ' D5 W% l7 A2 z( a
  1022. LDA $07AA7 O" s  O, U+ I* O/ P
  1023. CLC  J; D/ \/ s- Z5 w, N
  1024. ADC #$824 {1 Q$ a, \" a: h3 I& P  L
  1025. STA $2007
    * Y8 @! f' p* A* |! t! _' L8 t! w
  1026. LDA #$00& S) v; y) C. M6 ]6 [( _7 i
  1027. STA $2000
    . b9 ~# k+ M, U  x1 q8 s0 G6 u9 B* {
  1028. RTS
    + c! P% p$ N+ m
  1029. 5 ?, ]8 L. `6 o" v6 a0 B
  1030. ' h% R' a1 @. U
  1031. SKINGE_STRING:3 ^( a9 i; \# O, s# @; U, J
  1032. .BYTE $9D,$95,$93,$98,$91,$8F,$80+ @: G% P5 L. v. d! H/ m8 w
  1033. : ~- ~- a# _3 b2 W, P5 c
  1034. SKINGE_WRITE:8 o$ E. E" U! A$ Z1 G
  1035. LDX #$00
    3 W. f2 S5 m8 v
  1036. SKINGE:1 j. O: D3 F# j* ^
  1037. JSR PPUADDR_PROCESS
    3 b9 ~+ w8 Z$ M2 ~$ E
  1038. LDA SKINGE_STRING,X
    ; q: _2 p+ g2 j6 f
  1039. STA $2007
    : p6 L( J( I# Q1 V
  1040. LDA #$002 m! e1 D. L9 Z  F2 z/ c2 k- U
  1041. STA $2000
    + R( \/ y( |* J0 s
  1042. INC $BA& p4 _4 A. J* Y
  1043. INX
    # n' o/ r" E: f* V; {
  1044. CPX #$07+ C# o% l5 F4 z5 X- u
  1045. BCC SKINGE
    + I7 P3 O2 P- O
  1046. RTS: F% I4 I( _9 k* m) A
  1047. 2 J# s" v/ E+ I2 r1 ?
  1048. SKINGE_PPU:
    1 L  `! I; [7 y7 v6 @5 W
  1049. LDX #$00
    6 I& `* I: o" i- ^
  1050. LDA #$A2; D. |: R2 T( c7 ^' q& b" y- L
  1051. STA $BA9 e7 o$ ?  _! E& v8 |
  1052. LDA #$215 y- A( L( V4 o
  1053. STA $BB
    $ I* B$ N( X, F

  1054. 4 _  K  r+ `; P1 V0 @$ n
  1055. ! z& F2 c  ~. Y9 |! {+ u6 X& U& l6 p( X: n
  1056. JSR DN_PPU, |! G+ n2 v9 a$ {
  1057. JSR SKINGE_WRITE
    % e& f2 W7 W& r
  1058. LDX #$00
    3 S  W: R8 L7 @: |% v0 t
  1059. LDA $07A2
    5 p$ f  h# f* W% W
  1060. AND #$02
    6 r# S6 c0 _, ]6 B  j
  1061. JSR ON_OFF_PPU3 t2 X' L6 v4 h& @2 T, A: T
  1062. LDX #$00# o* ]' Y, X1 I( Z
  1063. LDA #$B16 z# Y7 J2 E( G. W: c: }/ h- V
  1064. STA $BA
    - k, G3 L6 w7 S& r6 o
  1065. LDA #$219 @; j- s5 w# ~4 m; k7 [
  1066. STA $BB
      l$ A8 n4 a( D6 ?5 @7 j

  1067. # d8 E/ N5 b; i7 V

  1068. 9 m+ |! t: Q6 p- r
  1069. JSR DN_PPU
    - e0 e0 J+ B9 l7 y! I0 z1 z
  1070. JSR SKINGE_WRITE
      j5 L: B1 O" b8 \
  1071. LDX #$00
    $ v/ N) @! h4 {/ G, F2 v
  1072. LDA $07A3
    % M8 x5 n: U& _7 {) a7 J
  1073. AND #$02! e1 I2 l- o5 a; `: t3 O; Z0 ^
  1074. JSR ON_OFF_PPU$ D- d) [& ]% w' F3 m, K
  1075. RTS
    9 L" D. L  \6 b6 D
  1076. / I9 t" L6 a3 i; y9 E8 b
  1077. BULMIX_STRING:1 g+ e; h/ J2 v( y7 a
  1078. .BYTE $8C,$9F,$96,$97,$93,$A2,$80
    7 x1 ~  j5 Q2 S. r, \
  1079. 3 k, V$ c. Z1 X7 a3 V5 n$ w
  1080. BULMIX_WRITE:5 J& W) _& \$ \* R* ]5 a
  1081. LDX #$00
    & M' v  z, c" @& y* {% F
  1082. BULMIX:' {& V$ d" Z/ T5 T( m5 f- e
  1083. JSR PPUADDR_PROCESS
    . K! Z8 h) Y, E2 |3 H3 r+ ~+ C
  1084. LDA BULMIX_STRING,X- z! A; Q( x% R  i- t
  1085. STA $2007
    4 y* j3 P) Y4 R9 s. O& V
  1086. LDA #$00
    " k9 [- a5 x$ w, e* {
  1087. STA $20002 ?. l( i/ o0 ]- b2 V; Z; ?
  1088. INC $BA2 G4 q, H! u! B+ f# Y0 T
  1089. INX. Q8 h1 n" l* e+ ^$ l- ~
  1090. CPX #$07) D7 s0 t4 s' X7 O' z7 t* g
  1091. BCC BULMIX
    3 F* V! D& y, f
  1092. RTS7 t0 A5 F6 j% D- r3 e- `4 l# g! W

  1093. 6 p" i+ t* w) o8 [* M
  1094. BULMIX_PPU:
    . K( F5 I& Y, [% E2 U: f+ N: J( b
  1095. LDX #$00, S7 q0 H) ?: z- \4 C  b
  1096. LDA #$E23 l2 M% P& l3 N- S' R
  1097. STA $BA
    ! b! p( u! y$ ?& X8 H/ p
  1098. LDA #$21
    $ a! Q3 H% a2 ]
  1099. STA $BB* V# M% j( [. P5 }# ~( v# |

  1100. ' }/ N/ p3 ^) Y( O( C' v
  1101. 1 a2 C9 Y+ ^- ^& B  F- T% }
  1102. JSR LF_PPU
    # i  p) j9 G+ L4 V- P( A
  1103. JSR BULMIX_WRITE
    4 l. L) f* h$ a. d6 p' }, y8 d9 a
  1104. LDX #$004 b/ i1 E/ ^1 X
  1105. LDA $07A21 ~4 r* \, g+ @% B. w
  1106. AND #$04
    " Z! S- j& z  J. ~
  1107. JSR ON_OFF_PPU
    " H6 {, ], v& o# |
  1108. LDX #$004 m# n! R$ Q3 T) ]9 J: D
  1109. LDA #$F1" s: |5 G- ?  h+ E* W8 o
  1110. STA $BA
    ( A& n) \( o' Q
  1111. LDA #$21
    - S& Y) F3 o9 r1 P# V& y: M. ~; r
  1112. STA $BB! v2 m% @. ]  z! U4 G6 T

  1113. , J* f0 @5 ^( J# w# N. x

  1114. 7 I) y2 M7 x7 J/ f3 K% {# Y! L3 P. c
  1115. JSR LF_PPU
    $ Q1 V: H9 u2 a2 c
  1116. JSR BULMIX_WRITE9 p- U6 P/ l2 f, c% c
  1117. LDX #$00
    $ d! @2 ]4 L1 w/ n
  1118. LDA $07A3
    ! q: E, }: A. c+ \. l! f8 D
  1119. AND #$04! N; Q5 U9 {& [! @, v* \7 o
  1120. JSR ON_OFF_PPU! l# V  F3 q" [0 d/ \
  1121. RTS
    8 |# u" X) l: Z) j
  1122. 4 @0 D3 h' A' N' [5 J
  1123. ENELOC_STRING:) O' F6 k% O$ \- N+ \
  1124. .BYTE $8F,$98,$8F,$96,$99,$8D,$80
    3 U7 R, Z* A* X: c' H$ Q1 g
  1125. 3 |! n. W& ?. o8 O* }+ F& J
  1126. ENELOC_WRITE:- @4 s3 o- n# D& ]7 u
  1127. LDX #$00# Y8 W) W) b7 {8 V% ]
  1128. ENELOC:
    1 I1 W9 w2 [/ c" _% m: o
  1129. JSR PPUADDR_PROCESS, I3 i6 r+ t' ~
  1130. LDA ENELOC_STRING,X
    , f: o& N% K, M3 x; U' o5 N* P: M9 A
  1131. STA $2007
    & n4 ]0 P2 Z9 S3 }& k2 a
  1132. LDA #$00
    $ H* B# i. p* i. h6 g1 A
  1133. STA $2000
    . L% p/ z% [9 \. p% g9 ~9 Y
  1134. INC $BA
    % }+ [/ l4 V7 Z3 B* B
  1135. INX
    ; e( g9 m8 a  r4 w( A( [6 I
  1136. CPX #$07. q9 f4 j8 \( @/ {5 R/ E. ]
  1137. BCC ENELOC
    ' m/ n  P" H, {+ E7 q0 ~- j' l/ ^
  1138. RTS
    - K  T7 H: |( g
  1139. 1 y$ F9 p# k! g& X
  1140. ENELOC_PPU:
    " h6 W7 `- J$ g! J% x
  1141. LDX #$00
    / H1 x% O5 S4 g; i; _9 h
  1142. LDA #$223 W2 s" m( P! t/ ]" O% \/ x, f2 _( ^
  1143. STA $BA: _4 H* j* c) r. k9 B2 ^
  1144. LDA #$224 s  Y) y' @( @+ t! O6 `  L/ E
  1145. STA $BB1 v4 t9 W; o, `5 V4 h% b; N
  1146. ( ^, v9 T' }' C  m0 Z! @$ I  Q" ?! ^
  1147. 0 S+ A* M: r& q
  1148. JSR RG_PPU- I' D4 d6 Z# c$ l
  1149. JSR ENELOC_WRITE
    * L+ f* s. v: `) E5 A6 Q
  1150. LDX #$00, y& M1 m+ ?4 [: a
  1151. LDA $07A2
    . E) R" l) Q$ J+ O3 i* l
  1152. AND #$08
    : f; |- z, e" x: z+ t
  1153. JSR ON_OFF_PPU
    2 |+ R4 y6 m# C/ m0 s7 {
  1154. LDX #$00
    0 E  j9 q0 z6 {/ D/ Z
  1155. LDA #$31
    % ~) \: N* w$ A& q+ e5 L
  1156. STA $BA+ Z& U1 Z. b9 O# h) D
  1157. LDA #$22
    6 n: A5 M8 K& f& D2 o
  1158. STA $BB0 U; P  H0 O( E& h
  1159. ( r" n9 V# Y8 z; ?6 n/ J
  1160.   `$ k* N2 Z5 G' D
  1161. JSR RG_PPU
    0 F4 T$ l, V( Z# A/ F
  1162. JSR ENELOC_WRITE& Y' j+ D* W+ a7 J( N! @# d8 @5 o
  1163. LDX #$00
    8 M8 M. [* J2 v5 L3 M7 T' ?6 [( Y" G
  1164. LDA $07A3
    % }' M, X. h( e/ m& b2 p( }
  1165. AND #$08
    ) i, x( ^+ o' B5 Q* E' i. k3 C) I
  1166. JSR ON_OFF_PPU
    : k( B  [2 ~5 |$ F  t/ R9 m# W
  1167. RTS' ~8 J+ X7 k. ?# T6 `, _3 c, {( W

  1168. 4 k4 H9 s6 ~6 }: z. Q
  1169. FOCFUL_STRING:8 [( n$ h; j) R
  1170. .BYTE $90,$99,$8D,$90,$9F,$96,$80. |5 v% h. E: z5 x  \6 V

  1171. 9 s7 o' @# Y- A5 ~3 `8 R
  1172. ( v/ S# Z6 B8 C/ d
  1173. FOCFUL_WRITE:
      {  Z2 p0 S/ Z2 p3 \3 j! K
  1174. LDX #$00- B2 D8 A& ~5 w, U5 U
  1175. FOCFUL:, `" X+ ]" n  r. r
  1176. JSR PPUADDR_PROCESS0 j  K. }5 z7 u" Q
  1177. LDA FOCFUL_STRING,X
    - ]* x4 q( A  N! g. g. m
  1178. STA $2007
    : j8 Y& p/ p( s' `, w/ e
  1179. LDA #$00
    6 r3 J* o* y' h
  1180. STA $2000$ ~) R1 l2 q5 B4 \- t+ K0 R5 L
  1181. INC $BA$ f9 O+ F" ~/ g$ X/ n  R+ b2 Q% v
  1182. INX
    ) c8 s2 t* b' |7 ^" J- K
  1183. CPX #$07
    2 a/ P2 E5 p7 ?  V: a% l  H3 K
  1184. BCC FOCFUL- B# ]# [( Q- j7 B; A  R, M
  1185. RTS
    * |2 \% x" @8 F) K; v3 g2 ?
  1186. - O0 o3 r) ?) i$ `
  1187. FOCFUL_PPU:
    4 G6 A7 A/ _& s0 j" K4 d+ [
  1188. LDX #$00
    3 p0 M* s* N% ?. X5 k6 o7 x$ @
  1189. LDA #$62
    + i! {9 d/ i- d, e5 I. q9 h
  1190. STA $BA+ @) c8 a4 A2 O5 s
  1191. LDA #$22! x4 t; \; T* o3 ~% L4 d
  1192. STA $BB
    , @1 [& L7 t! ~/ t  n8 W5 V. Y' v

  1193. ) B5 J! O5 a2 L% n) L4 x

  1194. - L- Z: l, P0 }) T) a, v3 n& T; o
  1195. JSR B_PPU
      u0 V; U; R0 B% s, x
  1196. JSR FOCFUL_WRITE
    ! Z. @- i. y) L" b
  1197. LDX #$00
    ; `: [3 ~9 y" Z# f, ~0 y
  1198. LDA $07A24 N6 ]3 z: X) I' N# f
  1199. AND #$109 e2 B2 y. W- z" b. q/ U6 {- P
  1200. JSR ON_OFF_PPU
    1 I; R; W. m9 r3 ?: M. J. Y) O
  1201. LDX #$00
    $ C( m4 v4 U% I: Z& k
  1202. LDA #$71* Q% A5 t: e9 R, J' {
  1203. STA $BA
    . G- O6 L, ?1 N
  1204. LDA #$22
    : b$ g  M) E7 O8 k9 Z
  1205. STA $BB. s( R% U+ u( p1 }- D  i+ R% k

  1206. 4 b8 k" ^$ M; O
  1207. + K. L& Y4 N) \5 R7 B$ c
  1208. JSR B_PPU
    2 r$ Y* ~5 I! f2 T% o2 q9 }
  1209. JSR FOCFUL_WRITE
    + f4 N0 G, a1 `8 u' r( s
  1210. LDX #$00
    / t( c! `) |: }4 |
  1211. LDA $07A3
    9 Z& a% k  J9 i: N
  1212. AND #$108 X8 S# \% `6 q0 o$ g7 a# C5 C
  1213. JSR ON_OFF_PPU  e2 R5 ^6 z) d9 i
  1214. RTS
    8 n8 M- P6 W1 x, H' k2 h
  1215. , o0 ?+ a4 p! p* R
  1216. BULCON_STRING:
    9 {- N, z) w5 ~1 {3 I+ o$ s/ G$ @
  1217. .BYTE $8C,$9F,$96,$8D,$99,$98,$800 }# B( o9 w9 Y' r
  1218. 7 M! G" g" M- ?, f
  1219. 7 E  K/ G5 y+ K* S
  1220. BULCON_WRITE:6 y. L9 X" X8 W7 s: r0 Y; n: x
  1221. LDX #$00$ W* d1 A: G; I% f* h
  1222. BULCON:8 |4 g9 C' I# Y
  1223. JSR PPUADDR_PROCESS8 ~( o! `: U. q% W8 r6 a
  1224. LDA BULCON_STRING,X4 L8 o  Z6 h0 R" g! a5 y+ U0 o+ r
  1225. STA $2007
    # N) w6 L' u( c' e+ G% S% I6 K/ R
  1226. LDA #$000 ^6 D5 T; k' J' C2 t, w- _: C  ^1 X
  1227. STA $2000- V, l% B2 C, i4 c9 Q# g) T
  1228. INC $BA' y8 S# P8 I; ^* ]9 A: l: s
  1229. INX
    # k7 J- j7 v6 ^
  1230. CPX #$077 r- g3 j8 r7 g; ^7 o8 s# [& H
  1231. BCC BULCON7 W+ b6 F8 z0 c! J( V" a8 j, u8 u
  1232. RTS
    3 `  C! ?) `/ l0 m

  1233. * a% _3 U% g! C8 d5 v3 g( _) r/ M) W
  1234. BULCON_PPU:5 ~6 E, r4 r0 R8 g
  1235. LDX #$00
    ' \! W7 I( t& c& t# w0 w
  1236. LDA #$62
    # m6 V1 X' Q( ]( g
  1237. STA $BA
    + d$ D6 s: J- R$ Q
  1238. LDA #$21: F% r8 ]1 i0 ]2 T8 w
  1239. STA $BB! }. O8 Q1 c# h3 \+ w2 t4 y% m; {5 C
  1240. 0 G$ x6 d5 |$ `% m
  1241. ( C. T& e# Y' g/ }0 [. d- F% r+ A
  1242. JSR UP_PPU$ @: x# i3 C% S# Q1 p( N
  1243. JSR BULCON_WRITE
    & x5 `1 T( a% h
  1244. LDX #$00
    & C# q. C2 k+ u; Y# b' k  @8 j
  1245. LDA $07A4
    4 l9 p% F( I4 a' b, F. p6 b( i
  1246. AND #$08- ?3 Z/ b3 k: m- H
  1247. JSR ON_OFF_PPU
    4 ?  @2 L! R, r5 A5 U
  1248. LDX #$00  `1 N& b  h6 r; P7 A
  1249. LDA #$71
    0 G) H4 @6 \- g  F9 ~
  1250. STA $BA. A, ~0 C' F% f5 X4 |. A
  1251. LDA #$218 V' N0 k% c& L2 E. b0 _
  1252. STA $BB- V! I2 [( v; H; F

  1253. : Z4 b& w/ K4 }* P
  1254. ) K! E1 M- S: @
  1255. JSR UP_PPU
    0 ~" r. b5 r2 o0 w% r' Z7 h8 Q
  1256. JSR BULCON_WRITE% C/ ~0 R% g5 o, ]" \8 I" Q! \& ?4 R
  1257. LDX #$00
    % Z& @" Y7 }& F% |
  1258. LDA $07A5
    : S' {" b- J! a
  1259. AND #$081 S: R7 e# F" k5 q# w
  1260. JSR ON_OFF_PPU
    , r( s* h% P3 w, d) W& k
  1261. RTS- g; |# |9 Z. m: B. A  K8 d' P
  1262. ' U6 j/ G, H1 x$ B& M% P
  1263. SPEBUL_STRING:0 c8 d1 N5 L1 E3 J
  1264. .BYTE $9D,$9A,$8F,$8C,$9F,$96,$80" I  |, q/ B+ T5 N0 S# D
  1265. : K+ E6 |. i2 W5 j

  1266. % g0 Z1 [( g; E
  1267. SPEBUL_WRITE:
    ) y* ]: }2 ^5 p$ {( W
  1268. LDX #$00# F* l9 n( `! j3 L) t+ s; U
  1269. SPEBUL:& R! [8 c& g( |; W
  1270. JSR PPUADDR_PROCESS
    1 D  I5 L' f) Z! u/ W
  1271. LDA SPEBUL_STRING,X
    ! \  z. o+ l5 k) d9 R5 `$ [4 e
  1272. STA $2007
    - y8 @) `; H# Z1 p' Z# F; w
  1273. LDA #$00
    6 S' n3 u% v* a
  1274. STA $20000 b& G" d1 ]6 E. N' T+ Z
  1275. INC $BA
    4 D% y! s& c- q6 X, t8 }2 E
  1276. INX
    $ v/ `& p" l; T1 s
  1277. CPX #$07
    . C0 \- n9 n! D1 v
  1278. BCC SPEBUL
    % S0 c5 I2 }5 Y0 j1 P
  1279. RTS
    : ^2 X( L( @% O8 L/ _5 u$ a
  1280. 9 }. X; M( E& |% ]9 G
  1281. SPEBUL_PPU:
    2 ?: q# N+ I3 @) y) {+ v/ v2 J& @
  1282. LDX #$00
    5 e  ]6 o$ m$ R/ x7 J" Z
  1283. LDA #$A25 W( G  v% w* i7 t, A3 Z" l/ ~
  1284. STA $BA& C" c& r1 ]+ v+ Z3 L% d0 p4 l
  1285. LDA #$21
    9 f! \: H' ]2 R6 [1 ~3 R' Y: S" n
  1286. STA $BB
    $ q+ H% B6 c5 E. ~% F1 i1 f& [) O

  1287. 3 [3 I+ B# g4 \6 s# d
  1288. 3 z0 u. d" ^9 U0 w$ d. C( o
  1289. JSR DN_PPU
    " u0 H! @: u* \
  1290. JSR SPEBUL_WRITE
    ' ~2 p1 o6 _1 Q* @
  1291. LDX #$00
    , u, A5 g+ q4 f6 H' p9 X
  1292. LDA $07A4
    . P% G% Z9 M- d3 S
  1293. AND #$029 Y7 H2 i1 A) _: B8 c% T' g
  1294. JSR ON_OFF_PPU/ ?/ B; P& ]' G3 p! J8 z& s
  1295. LDX #$008 k8 Q0 E! B2 e1 |
  1296. LDA #$B1# u% c; b1 U! e- c, y
  1297. STA $BA1 g7 \, g1 y+ U9 B0 }# W! r. a
  1298. LDA #$21$ w* r) ]+ X6 w6 z+ Y) K
  1299. STA $BB/ f! U4 R2 s6 T1 u

  1300. & e6 F* |% H. s$ j' d8 N; K* r
  1301. $ ]+ x0 H) y  i5 K# E
  1302. JSR DN_PPU
      C5 k- U5 p' `0 x- |
  1303. JSR SPEBUL_WRITE
    ! F% s% N# a3 x* u5 K
  1304. LDX #$00
    ; ^" L) Y' A% O
  1305. LDA $07A50 O, x: R6 L& F% C
  1306. AND #$02
    5 \7 o4 R/ w4 i" Q
  1307. JSR ON_OFF_PPU
    " x' |4 i3 T" k  ~$ w! h
  1308. RTS4 y; u2 d- W$ z! ~, V' @1 \

  1309. , g* X" f) U* l
  1310. .ORG $A500
    : V; e: N* T% Y0 |8 B5 M2 g6 Z
  1311. CLEALL_STRING:* V9 ?: l1 i8 _4 [! Q" t+ w5 @
  1312. .BYTE $8D,$96,$8F,$8B,$96,$96,$805 a0 a2 }( H" I8 P2 z9 i
  1313. 7 w$ V2 t) `! m4 U( T& s+ M
  1314. ; P6 {. s) X; [8 e8 S# i( M+ j
  1315. CLEALL_WRITE:$ A) a, S4 M# b* g8 E/ m/ i
  1316. LDX #$00) X- b+ N1 O9 r- t4 z; j1 Z* f; E/ R  V
  1317. CLEALL:
    ( ?" c; H+ l  C- P  C
  1318. JSR PPUADDR_PROCESS1 F0 a) ?6 l* _
  1319. LDA CLEALL_STRING,X
    0 ~9 \2 h- {4 l. ~% F. z7 }, v
  1320. STA $20075 s5 `9 q! B" m; C3 z3 C
  1321. LDA #$00
    : p' H: B( B+ |. y6 j# ^6 }
  1322. STA $2000# f5 X4 Z% j/ S9 q
  1323. INC $BA" Y) l& C! U' N
  1324. INX8 A6 K% E7 O0 m/ C: a) r7 r
  1325. CPX #$07: ^1 u2 c4 u9 D
  1326. BCC CLEALL
    % d/ e2 |5 b9 l9 ^
  1327. RTS( j/ @6 ^3 A5 f, f( A
  1328. 6 O* z* }; y. r- s: \
  1329. CLEALL_PPU:
    : k! g$ ?( K5 q, b' }2 q. |) h
  1330. LDX #$00
    5 V6 @  i) t0 B, A0 g4 ^
  1331. LDA #$E27 S' [1 G- |" c* t( b
  1332. STA $BA
    / F: W7 |5 J8 N* z2 H! [
  1333. LDA #$21- V4 Z/ B- \$ p' U
  1334. STA $BB4 @" S( d/ o) }+ N7 r3 I1 I+ N
  1335. + \  `. P3 R0 C# b! u8 @

  1336.   p# Y! v' w# E  q; A
  1337. JSR LF_PPU
    . K2 @/ r4 a0 m. x; B+ W* w, n: P7 }7 B
  1338. JSR CLEALL_WRITE! [. W: E) Q: ~2 Q1 m
  1339. LDX #$00
    0 \5 U( @, R, M; _7 g8 f
  1340. LDA $07A46 l) I3 g( O0 k2 Q
  1341. AND #$04
    1 ^$ s$ F1 b# @% S7 t
  1342. JSR ON_OFF_PPU
    ! B3 w( ~2 a% M8 W* @0 q3 Q
  1343. LDX #$00
    2 P3 u: p8 I% C4 X  c
  1344. LDA #$F1: ]+ l; i1 z- S) T' @9 c4 Z
  1345. STA $BA$ ?; p2 n5 g. ^* c, B8 Y, f0 J0 c8 A
  1346. LDA #$21
    3 [' n; ^2 N' j: {
  1347. STA $BB5 q, {3 X9 h( a! J

  1348. ; Y5 n+ b, h7 W! l. S; `

  1349. % j5 V1 b2 {) y0 h2 F9 p9 m: I
  1350. JSR LF_PPU. ?7 b0 h. c7 T  M: C( Z2 \
  1351. JSR CLEALL_WRITE5 b* r& S1 R5 v
  1352. LDX #$00* c  ~9 W1 \% B: }3 q
  1353. LDA $07A5( i3 h% @$ k8 o$ L5 y
  1354. AND #$04$ ]2 E" g3 d; B5 M4 v5 X* q  U% c
  1355. JSR ON_OFF_PPU
    ' ~# q( B0 F! P0 x) U% G
  1356. RTS
      j5 p  E; {7 E* e
  1357. 9 e7 M! R) j) a) S# W1 Q! h% e
  1358. HARDMODE_STRING:+ F. w$ M  H. M% t8 l
  1359. .BYTE $92,$8B,$8E,$97,$99,$8E,$80
    / D4 [* K" [4 P5 d: n" i

  1360. 7 h8 E$ H6 I8 e3 c' z  O+ j

  1361. % z" m6 Z$ ?8 M" n& {
  1362. HARDMODE_WRITE:
    6 J, m& P+ [) }. \
  1363. LDX #$00- C* m) \. W* u5 S: G% v# X
  1364. HARDMODE:- E7 @: O. B' C; S1 k) ?6 _  o
  1365. JSR PPUADDR_PROCESS* N) _( i0 O$ _
  1366. LDA HARDMODE_STRING,X
    & ^' t/ c- w3 F0 I
  1367. STA $2007
    & A( A- u( j* v- Q: X
  1368. LDA #$00, C+ G4 ]1 a) P5 f: d9 y
  1369. STA $2000/ p! _" B+ W3 p3 B% ]% b
  1370. INC $BA
    % q6 }. v. U0 S, {3 m, I
  1371. INX
    3 F1 a& K. d+ C' p. q% ^
  1372. CPX #$075 V2 \; G, ^9 @% {8 ~9 w
  1373. BCC HARDMODE
    , ^" B) O$ L  L9 x% s) F
  1374. RTS
    ; N# ?' c9 y" T" T& @  S' P
  1375. 5 q8 h4 R7 e3 F) d5 e
  1376. HARDMODE_PPU:9 e. G& T, E: M0 o% ]% T1 ^
  1377. LDX #$003 t$ Y2 D7 E6 d+ h; L
  1378. LDA #$228 }, b& F2 B. y9 Z- Q
  1379. STA $BA
    , h% m0 |+ M3 A- X
  1380. LDA #$22
    7 h! T  C* g6 S5 A6 W% A7 M( w8 S+ s
  1381. STA $BB
    $ M9 ^5 T! `) n  j1 ?" A+ x
  1382. JSR RG_PPU. b, G: c" ~( X) _1 [: Q: x
  1383. JSR HARDMODE_WRITE
    - @9 `; b, U; b4 v
  1384. LDX #$000 a& i0 B0 ~9 [# N8 J) w  q
  1385. LDA $07A4
    5 y6 N2 n8 x8 {3 D3 V. i/ c/ w* z1 X
  1386. AND #$01
    ; T9 w: b# y7 ^9 Z
  1387. JSR ON_OFF_PPU' F9 _1 `1 J5 V. N+ ]
  1388. LDX #$00
    + v* _( B! I; C
  1389. LDA #$31
    7 @7 c6 h5 i9 a" p
  1390. STA $BA: y# O: @$ C9 L- A& i6 I
  1391. LDA #$22
    1 h- l2 ~3 t, H- P4 P
  1392. STA $BB
    8 C7 a# `3 ]6 N* e/ ]; M# J

  1393. 2 a8 q- _& E5 F- B
  1394. % [' A+ X$ r0 d% C, A
  1395. JSR RG_PPU
    5 b% C/ P/ t. V* y' d( s
  1396. JSR HARDMODE_WRITE
    7 ?9 R. d6 x3 o/ R# {9 f  q9 O: i2 q
  1397. LDX #$001 ~6 F9 O0 C% n
  1398. LDA $07A5
      m5 p+ ]) o9 Z. o3 j& c
  1399. AND #$01: G# [3 m5 I/ y: z
  1400. JSR ON_OFF_PPU/ U. I5 f" B7 t; Q1 i- q: G
  1401. RTS) [3 [  l: N' [9 N1 X9 n

  1402. 7 i7 f4 R! P1 q( r
  1403. B_TO_JMPSTG_STRING:2 _' m  i  z" D$ a5 S, K0 Z# R& J4 X
  1404. .BYTE $80,$8C,$80,$9E,$99,$80,$94,$97,$9A,$9D,$9E,$91,$80
    5 n$ S9 a- n' L+ C. U2 B! B' S& O; K0 t
  1405.   C3 Q0 l3 ]7 o! i

  1406. 6 ]! Z7 E: r# K& q
  1407. B_TO_JMPSTG_WRITE:
    - A) r4 g+ j  @* L. d5 D
  1408. LDX #$006 e; _% i2 ?) Y3 r% T' ^' i
  1409. B_TO_JMPSTG:! |& }3 T4 o3 D, u/ J6 E; `$ s: o* E% |
  1410. JSR PPUADDR_PROCESS
    ' l, I$ ^7 l2 o' l! a- [
  1411. LDA B_TO_JMPSTG_STRING,X
    & L% I8 j+ X4 D; ]
  1412. STA $2007
    0 J/ l$ S4 X! G  U6 j6 I% H6 x
  1413. LDA #$00
    2 |/ ^! ~; f- {* a$ H  S
  1414. STA $2000
    # c9 D6 D, P* k. T# n5 q" f
  1415. INC $BA
    " Q0 [. m! u8 L1 q) X
  1416. INX, E$ n9 [' \) |3 l1 Y) K" J
  1417. CPX #$0D
    0 c1 j* o5 {) e) |
  1418. BCC B_TO_JMPSTG
    ) |) G3 C6 }  q1 k9 s4 I! M
  1419. LDX #$00
    - C* D) g) Q# u8 P+ `& v- x7 f- \
  1420. LDA $7FE01 p6 ^: D. o' P: h: D& E
  1421. JSR ON_OFF_PPU# G8 s' O8 S* K
  1422. RTS
    : j4 \/ t. o3 ?+ J9 t8 h8 a
  1423. * C" H, G) x8 [" H& d! {
  1424. B_TO_JMPSTG_PPU:- X; _2 Y5 `# E7 u8 ~0 p  _* F! t
  1425. LDX #$00
    % Y8 G4 K5 z8 y. r$ o
  1426. LDA #$68: d1 J4 G, r5 x9 E. U7 w
  1427. STA $BA
    ' a: A9 F8 ~' f+ H2 L
  1428. LDA #$22
    2 j" k2 `: F& E0 l7 c
  1429. STA $BB; i' T$ t" ], K) i& r' R0 l3 H
  1430. JSR B_TO_JMPSTG_WRITE5 t% ?: O- W3 f) B# ]( C; A0 N5 N
  1431. RTS4 h3 y0 N6 _) j: ]
  1432. : ?+ l4 N% O8 J- L+ C+ ^
  1433. 5 [/ H# m0 D: d3 t& S6 w8 R% |
  1434. A_TO_PLAMOD_STRING:
    " U2 v+ \$ F" K5 t4 V0 x
  1435. .BYTE $80,$8B,$80,$9E,$99,$80,$9A,$96,$8B,$97,$99,$8E,$80
    ; x$ |! |/ p8 l  r# J, W- E

  1436. 4 q& V( f, d8 q0 J$ t5 D: }
  1437. / e) D) p+ r( |0 d/ c; \
  1438. A_TO_PLAMOD_WRITE:! L5 Z" P  H0 |5 T  m( l; t( k
  1439. LDX #$00# C) K" A# H: M: o
  1440. A_TO_PLAMOD:
    " S, r- U7 c* }7 C4 O# g3 ?
  1441. JSR PPUADDR_PROCESS* Y& Z% K5 [2 A
  1442. LDA A_TO_PLAMOD_STRING,X
      L3 i7 x6 D# I# y# n* \  U
  1443. STA $2007* d7 s( m' }9 C4 x
  1444. LDA #$00$ o9 Z: M( ^: K2 e+ J
  1445. STA $2000% N1 }& c) l: a  I) k
  1446. INC $BA
    7 E8 D# [* _# F( t" l$ ~" ?: j* t
  1447. INX
    , s3 k- v( }% P: Q
  1448. CPX #$0D1 U. `% |  K/ {3 L3 @( a$ c+ ~
  1449. BCC A_TO_PLAMOD  E; `( B- m, S
  1450. LDX #$00
    2 J* x; c2 c; D" `
  1451. LDA $39
    - T- C1 t0 J+ ~4 @, m" F+ C
  1452. JSR ONE_TWO_PPU% b2 N3 G; E& O  [9 r5 K' Y
  1453. RTS/ D; H) E! x# z4 @
  1454. / m6 ^2 Y" j  J! n6 {+ i4 B
  1455. A_TO_PLAMOD_PPU:( b4 [) q  F, R3 ]
  1456. LDX #$00- X0 `5 {- x7 W7 P
  1457. LDA #$A8
    # R' _# V1 V- g/ K& C9 a4 w
  1458. STA $BA
    + R: o) D: H* n( [2 r. a8 K
  1459. LDA #$229 i; m" J& R  k
  1460. STA $BB
    " F+ N4 M8 ?7 A% H! L. O" v! O
  1461. JSR A_TO_PLAMOD_WRITE
    7 w: L! ]2 e7 J& w# F, G( ~7 J
  1462. RTS
    7 m% z4 P4 ?0 D8 D5 \

  1463. : [8 _( v: d+ t' c
  1464. MOVSPE_STRING:
    4 r; \. h8 G; L8 K/ Z
  1465. .BYTE $97,$99,$A0,$9D,$9A,$8F,$80
    " b$ ]1 Z( j5 h7 q8 k
  1466. 6 e8 ]( _* P2 q9 N: x* G: N% g

  1467. 5 [9 _* E, W! r2 W' A5 j
  1468. MOVSPE_WRITE:
    % ]: A* [. _/ M) c7 ]1 j
  1469. LDX #$00
    ' O8 ^2 B3 E/ C: |
  1470. MOVSPE:
    5 ?1 ^: ^/ K5 j% R) R! @; P7 w  _6 P$ z
  1471. JSR PPUADDR_PROCESS
    ' o+ H% d% Z. W0 L; P% q
  1472. LDA MOVSPE_STRING,X+ F: `) L/ H5 j8 c- e9 v$ I
  1473. STA $2007& J+ P# s" ^, Y. K. B  s
  1474. LDA #$00- ]5 ~3 p, f+ R. g- {
  1475. STA $20005 Y* B- @7 a% Y
  1476. INC $BA6 u" u2 q: l9 W4 V7 A* `. `9 w
  1477. INX9 `8 n* i+ U9 \
  1478. CPX #$07$ [3 P) Q3 C6 P0 X6 d! R
  1479. BCC MOVSPE1 d7 W0 O) F/ E9 N' n. R
  1480. RTS$ f7 M4 m) r. C' A7 B

  1481. 2 U; M0 x! N. n) O$ ?- P
  1482. MOVSPE_PPU:
    # Y4 L( z+ F- M/ ^
  1483. LDX #$00- F+ r, G# r6 C; ^( V
  1484. LDA #$69
    0 \% M8 n, A4 O$ X  ], O( W
  1485. STA $BA9 o# V8 K! a3 Q; ^' h
  1486. LDA #$21
    4 [7 ?% G1 R4 J; I% \' y" K
  1487. STA $BB/ Y! B8 l" U# ~: n% y
  1488. 4 t* r3 R& J; N5 d" [* _
  1489. % [6 f' V6 p3 Q3 H
  1490. JSR UP_PPU3 b. ]" x4 h) G# u6 O
  1491. JSR MOVSPE_WRITE: E# ~& D. k: j6 W4 T  N& {2 P# {
  1492. LDX #$00. p1 U& z3 X$ v6 \
  1493. LDA $079F. J7 ^5 y7 x" K( L
  1494. AND #$08
    ; e! D# h& I  I' M' X: s
  1495. JSR ON_OFF_PPU& [( B8 N8 {( ]- p/ b* |" Y- T
  1496. LDA #$80
    % h! Q" T* r& t# z! ]# S
  1497. STA $20072 g# P8 C/ Q7 X7 q: d6 P6 B: G
  1498. RTS
    " S( ]$ @& Z& o/ f* W
  1499. 6 L- D# Z/ _* [' I; K2 F
  1500.   
    " L0 X6 W' h9 b
  1501. UNLJMP_STRING:, q/ b8 a2 P2 n! n9 `% Z
  1502. .BYTE $9F,$98,$96,$94,$97,$9A,$80
    4 ^/ P7 ~4 C3 D$ Y
  1503. ( U0 B- u" _2 h" T, X8 s" d
  1504. ) {0 o. W8 h1 [# P3 R/ O0 P" U
  1505. UNLJMP_WRITE:
    7 e% o! ?# j( a  k4 h! o9 u1 m
  1506. LDX #$00- ~8 E4 I3 I* }8 N* `2 j4 @
  1507. UNLJMP:8 \+ }1 |  g! }9 W
  1508. JSR PPUADDR_PROCESS8 e9 R9 O' U3 q: q6 d' R$ n
  1509. LDA UNLJMP_STRING,X" U3 Y5 Z5 c1 m6 o) p0 b
  1510. STA $20079 G1 e. X3 {2 O
  1511. LDA #$00
    0 I) w& ]/ c0 X( H
  1512. STA $2000
    ) `0 Y" Z# C) H  z# y
  1513. INC $BA  S+ ~- r3 D6 w. f/ o, t# \
  1514. INX
    . j9 @  T0 y& Q( m: A( }8 l
  1515. CPX #$07
    ! C0 @7 F4 |' ?  T
  1516. BCC UNLJMP
    ! X( b% B0 I9 n6 s9 R/ w
  1517. RTS
    1 _7 j. R7 k5 c$ e5 v
  1518. . r* U2 l, |8 @+ F: J
  1519. UNLJMP_PPU:
    ( @- _1 o- b5 W2 _; j/ V
  1520. LDX #$00+ _' |( r9 [7 t9 i) C  g) ^) f
  1521. LDA #$A9
    9 D; t) V# w2 ?- e1 B
  1522. STA $BA
    2 ~* {  C- v3 L+ }* n0 X/ o4 `
  1523. LDA #$21# a% e7 {6 M& b) I2 q1 t. W, ]3 y" P
  1524. STA $BB0 h$ D; _  p  `8 B! h8 \
  1525. 3 @4 J& p3 A6 R

  1526. / I. K' z9 K6 ~* u9 F) q; R
  1527. JSR DN_PPU
    * ^$ g" {0 P! f  V
  1528. JSR UNLJMP_WRITE" W6 v; g% _* ^
  1529. LDX #$00
    # ?. T+ x, c& M5 A; {, ]" ~# n$ R
  1530. LDA $079F
    6 o6 \# K! [& T; s: I
  1531. AND #$04& C4 Y, _* d, |
  1532. JSR ON_OFF_PPU$ P3 @2 }  \4 X/ ~
  1533. RTS6 r4 @4 A+ C& y
  1534. 8 t- o- p0 U$ a* w# ^: [
  1535. % u2 Y6 T, W* k9 Q0 O
  1536. DESTRO_STRING:- ?1 W) m& \: Y% e
  1537. .BYTE $8E,$8F,$9D,$9E,$9C,$99,$80
    3 f4 i" x7 W& Y9 g: P$ E" M* F
  1538. 6 Z# r! b# H; N
  1539. * Y3 z) r( m( D2 F7 o7 f( C
  1540. DESTRO_WRITE:' Q% k1 k  s1 S9 y+ Z
  1541. LDX #$00
    3 s: e. o, _# W5 q& [6 S
  1542. DESTRO:' O6 @2 y4 j0 T! Q9 D& p# K
  1543. JSR PPUADDR_PROCESS+ e* H% R8 W& v/ a
  1544. LDA DESTRO_STRING,X
    - j0 l5 M/ Y. A
  1545. STA $2007% s  C  l6 R; W6 D# o! h
  1546. LDA #$007 V+ @! N# j. ]
  1547. STA $2000
    # T* Z. }+ H* u
  1548. INC $BA; V. _. G4 F; B) G
  1549. INX
    2 X  _2 e4 S& I. t- C! [% z
  1550. CPX #$07
    + _; j4 E6 ~1 |6 S; `
  1551. BCC DESTRO7 z' `& X$ A0 ^% |0 Q5 z8 F$ t# s# M
  1552. RTS2 }. U2 h* x4 _$ g# M

  1553. " z% R. Z6 J+ i6 Z) ^
  1554. DESTRO_PPU:
    3 O* G4 i3 C6 _
  1555. LDX #$00
    9 ?. }9 P; c. x0 v- ~
  1556. LDA #$E9& R0 g8 C( N7 c9 b3 f
  1557. STA $BA! L+ p  Z! Z9 Q# D4 N# T' h# Z
  1558. LDA #$21
    + @9 @( N1 x/ n* B1 H1 n/ I
  1559. STA $BB' O+ r& S; F( @; o! z8 N
  1560. / |, o( V! i* A, G4 R5 ?
  1561. ) D* V0 Y" l) o  R8 d' B
  1562. JSR B_PPU# c! W3 H  a. u& `1 p
  1563. JSR DESTRO_WRITE
    4 y7 o1 ]3 m! z5 A& t5 E
  1564. LDX #$00" K: e6 _7 r: M( I! ~
  1565. LDA $079F
    ; N# n6 J3 o/ X% n; x
  1566. AND #$40
    : G' ~3 x5 W+ G; e+ P( v; [
  1567. JSR ON_OFF_PPU: R6 E) A  A! C- _# y3 s" _
  1568. RTS7 n: L3 K7 B* b6 W- u

  1569. 9 |0 X" S: B# q9 v& p8 @2 s

  1570. & |7 e) s1 I1 W7 \% }4 x
  1571. EQUBUL_STRING:
    1 F. p3 P( \0 I! J2 Q* e
  1572. .BYTE $8F,$9B,$9F,$8C,$9F,$96,$80
    . d# B( y/ o1 W& ]4 x! p" o

  1573. 1 y0 a* X) r' |% }  p
  1574. 7 _3 }) V3 ]8 v* n  i* x
  1575. EQUBUL_WRITE:/ H0 {# [8 F0 P7 d
  1576. LDX #$00, J! c& s9 i" U8 q0 l/ E) X
  1577. EQUBUL:/ e5 x1 I0 _8 i* j
  1578. JSR PPUADDR_PROCESS
    ) h' k+ y/ }' p7 [! I9 P% b
  1579. LDA EQUBUL_STRING,X
    - w4 X6 N( s+ I6 R% J4 {8 d+ \
  1580. STA $2007
    8 n( R/ H5 k# P) r8 M
  1581. LDA #$00
    4 S3 j3 W  a; R9 r' R- @. {# Z
  1582. STA $2000
    ; w. l, @% M& p9 a& _
  1583. INC $BA
    ' L! c) Z. T2 ?
  1584. INX6 m/ i$ Z4 j( j" H6 r. w' e
  1585. CPX #$07
    & Z* j. i! P) @9 S, ?
  1586. BCC EQUBUL/ G6 O1 x( @! X
  1587. RTS, {" r+ z, `/ |: n
  1588. 7 s8 Q/ j' t: d  A7 _
  1589. EQUBUL_PPU:6 s% j* v& L' R
  1590. LDX #$002 J) n# w) y2 ^+ P: c1 O- F/ e/ y
  1591. LDA #$291 ]$ O( E7 o6 J+ C
  1592. STA $BA
    2 b: \6 v$ F+ k- p9 ~2 ^
  1593. LDA #$22! S" `, G; \6 J! T5 {
  1594. STA $BB
    * }0 v, s: `/ x( b; L: i0 c% c
  1595. + h' I1 @& ?7 d: [

  1596. . i4 C" H2 f" K$ q+ l
  1597. JSR A_PPU- v6 ^: Z* m* C. m
  1598. JSR EQUBUL_WRITE
    ) w: }& j. F- A% ^
  1599. LDX #$00
    & B& [; B0 |3 I/ G
  1600. LDA $079F
    2 j4 {7 E, [: I* M9 C
  1601. AND #$80
    : q6 x; J- b  ?$ L, X) `
  1602. JSR ON_OFF_PPU
    % t" r# X, j: F
  1603. RTS% ?  N$ H0 u0 [" S
  1604. ( X7 q% v4 ?7 P3 q* C0 c0 \

  1605. 3 @1 `7 s( K+ }- I
  1606. 7 c! T4 c& D. ?% l( P9 {
  1607. BULSEL_UP_STRING:) x$ ~2 m" ~; \) s
  1608. .BYTE $9F,$9A,$80,$9E,$99,$80,$9D,$9D,$80
    ( Z3 T$ T' c9 H
  1609. , n. ]- j6 q( b9 c
  1610. BULSEL_DN_STRING:" c* e( P4 h" i: Y& ?
  1611. .BYTE $8E,$98,$80,$9E,$99,$80,$9D,$96,$803 ]) m. v5 f/ w0 r& {, t

  1612. 9 J5 e$ N, e+ G& d# M( `
  1613. BULSEL_LF_STRING:
    9 e+ R8 D: l! T" L% w- K
  1614. .BYTE $96,$90,$80,$9E,$99,$80,$9D,$97,$80
    + U+ G* a' V" g

  1615. 8 C. d0 M2 ]8 X. c5 s+ N  B4 C7 }
  1616. BULSEL_RG_STRING:
    ) h8 i- b$ ]- T1 \8 p# k" d! k
  1617. .BYTE $9C,$91,$80,$9E,$99,$80,$9D,$90,$80
    0 A  ^, p, {! @% Q
  1618. 1 C2 S" W/ e/ H( H
  1619. BULSEL_B_STRING:9 {" K, u5 D/ Q7 ]6 f
  1620. .BYTE $80,$8C,$80,$9E,$99,$80,$9D,$98,$80- c2 \) Q% \$ U- F$ y, }
  1621. 9 `6 f) @( c" A" V
  1622. BULSEL_A_STRING:! k( h. p# Y3 Q7 Q
  1623. .BYTE $80,$8B,$80,$9E,$99,$80,$8D,$99,$97,$97,$99,$98,$80,$9D,$9A,$8F,$8F,$8E
    , z. \1 E) z2 K$ ]
  1624. + R. H  f; l/ S. g
  1625. 7 B( q' u, r, A; y% J! D4 S9 L
  1626. BULSEL_UP_WRITE:
    + @6 V$ o2 o8 C; H, C& ]7 o* p
  1627. LDX #$001 w" S1 C$ p( }2 {( e* r. N
  1628. BULSEL_UP:
    ) q6 K6 Q6 C& ^! D* K2 C
  1629. JSR PPUADDR_PROCESS3 f8 P2 P/ f+ Y* O
  1630. LDA BULSEL_UP_STRING,X3 [$ f% w/ l1 R, S
  1631. STA $2007
    - H, e- Y; A0 M: b8 d3 o9 b( O
  1632. LDA #$00
    # Y* X8 i9 E6 P- @" O
  1633. STA $2000
    + x9 D$ V) J+ e+ H
  1634. INC $BA
    1 a$ N+ C# V! M3 `( A$ C
  1635. INX
    - f, F; t( v- g  ?
  1636. CPX #$09
    2 G) x/ G% @1 d' |; y6 v( \- ~# g
  1637. BCC BULSEL_UP- ?; s; J& |- ~, X7 x
  1638. RTS
    ) O* P4 L, w& k: b+ {/ L# b# n
  1639. BULSEL_DN_WRITE:
    0 a1 u1 w' ~7 t2 @4 w. L9 d
  1640. LDX #$00! u0 \; X3 ?2 p4 }+ y0 D8 s8 o
  1641. BULSEL_DN:$ E1 |& R5 g! E8 w& a. y
  1642. JSR PPUADDR_PROCESS
    3 C: \! e5 {- Q% R' g
  1643. LDA BULSEL_DN_STRING,X- O. ^' x' q5 z0 I  w4 Y# b
  1644. STA $2007$ ?  x; H5 g% E8 Y, w7 e
  1645. LDA #$00
    ' s# S! s6 B/ j3 X2 a6 n
  1646. STA $2000
    & b+ \, ^9 v! T/ \" V# @; i
  1647. INC $BA
    $ N" w( o/ r5 G5 n$ D4 z  g) b
  1648. INX  w4 v3 n! X( P8 c8 }
  1649. CPX #$09& ?- b) s: c1 E$ w7 N0 ~
  1650. BCC BULSEL_DN
    : q  d4 @7 V- X3 T
  1651. RTS
    : l" e& ~- C& s: L. L
  1652. BULSEL_LF_WRITE:7 T% ~1 }: ?. K1 d' J) y
  1653. LDX #$00" k( R; a8 R# w( i% q
  1654. BULSEL_LF:3 l- x0 K8 V4 H' b
  1655. JSR PPUADDR_PROCESS
    , E, G0 j  ?0 I& s4 }7 |
  1656. LDA BULSEL_LF_STRING,X. s) y; v* n+ i' d  r$ T
  1657. STA $20078 J. U# Z) ^6 ?1 v; ]
  1658. LDA #$00
    : N, ~: A4 b) Y, n
  1659. STA $2000
    / d$ Y5 X. j7 P4 r' G
  1660. INC $BA
    % u3 Y. S$ s3 e5 L
  1661. INX7 F  e2 [+ B# u4 L
  1662. CPX #$09
    2 j# g# g2 {' \5 O+ h* u% n; Q
  1663. BCC BULSEL_LF
    2 }2 ~" t8 t  w+ X. a8 I
  1664. RTS/ V7 r" T, K( e* w
  1665. BULSEL_RG_WRITE:
    $ T9 [% T2 k$ |3 h
  1666. LDX #$00, v" m) c, c1 ~9 \
  1667. BULSEL_RG:" l" X8 R7 ^; F) y. d! p
  1668. JSR PPUADDR_PROCESS* v& i( o/ M8 h) L3 m' w  w, G. \
  1669. LDA BULSEL_RG_STRING,X1 F$ v- G/ L9 i( o3 a- m- U
  1670. STA $2007
    8 \' }. F/ ~% i% L7 m& O
  1671. LDA #$00
    ! Y0 b& L! E, E* x
  1672. STA $2000+ a: k5 v/ @: w
  1673. INC $BA+ s$ q- y$ o7 |0 N. K
  1674. INX
    , w7 Y6 {; M3 J1 y$ m4 d
  1675. CPX #$09
    / w  F, i2 l* o7 }% f  L
  1676. BCC BULSEL_RG' r, r* o) T# ~' E$ d" H6 A
  1677. RTS; v2 h- W, V# p. Y( k9 D1 N
  1678. BULSEL_B_WRITE:0 E1 ~7 W, `7 Q8 P8 `
  1679. LDX #$00' w- Y# B( g2 R$ R. I% l
  1680. BULSEL_B:( g1 K! y/ s& u" I7 x5 q; r! s
  1681. JSR PPUADDR_PROCESS
    7 M  @- R  D+ o( Y  |
  1682. LDA BULSEL_B_STRING,X& m8 K* \* a0 @6 {3 g, a
  1683. STA $2007$ Q: _  C- k% {2 l2 |& y& C. y
  1684. LDA #$00/ u& N$ T! ^% j8 U
  1685. STA $2000$ e# _( Z$ \5 X5 @3 ^
  1686. INC $BA
      Q/ {) b& A' v; e
  1687. INX
      F6 W9 l4 x& P0 L5 [1 S
  1688. CPX #$096 ]; T9 Z4 A! T0 I7 I3 ?
  1689. BCC BULSEL_B0 y  p% i' u7 S1 k$ I6 |5 D
  1690. RTS$ |& b" g& Q# E6 j) O
  1691. BULSEL_A_WRITE:
    ) F' l/ I$ g+ G: c' J8 e' L( i
  1692. LDX #$00, J$ Q) V( L  d: i7 u
  1693. BULSEL_A:
    " B8 W! N: w% L3 W- X. e
  1694. JSR PPUADDR_PROCESS
    % h- T2 ^) k9 k
  1695. LDA BULSEL_A_STRING,X
    5 M( k+ a% k0 d1 {  T! S
  1696. STA $2007
      Y2 I' ]. i& \
  1697. LDA #$00
    " X* A' e; O) o4 l" K% G
  1698. STA $2000$ w& H" p7 W2 V) }9 c
  1699. INC $BA
    2 t* v7 `7 f' v, Y0 V# V: t
  1700. INX  W& Y+ ?) O) Q; ^! i  c6 |8 y3 G4 R
  1701. CPX #$12
    - |! h/ n6 l' y  q& q# d
  1702. BCC BULSEL_A, _2 @7 U- y  g3 p
  1703. RTS
    6 t' i2 m0 p- D9 j

  1704. . Z" U  |3 f8 {" E/ F
  1705. 2 s2 `( L4 ?7 h- g( {6 \% C2 N; I
  1706. ! V* e% n8 A/ s7 w% `, B
  1707. BULSEL_PPU:
    6 y! S+ r( c8 q3 [
  1708. LDA #$6C
      P4 y3 z, B5 P& n
  1709. STA $BA
    & x( A! c% Q- q% F4 [8 C
  1710. LDA #$21
    4 m6 s: p" ?# H  q5 i, m9 k; c
  1711. STA $BB
    8 }2 n6 R/ i6 b( C' q' W
  1712. JSR BULSEL_UP_WRITE
    * M% }; E7 w; o! m: B

  1713. ) t! i% N7 p& k, G  B$ R. `
  1714. LDA #$AC
    9 a+ r  t$ j6 ~% }8 V) y
  1715. STA $BA  i" ^& S# J$ k- |
  1716. LDA #$21
    + t( E- Z: F" i/ K3 U
  1717. STA $BB
    + Z0 s5 {: E2 P3 s! r
  1718. JSR BULSEL_DN_WRITE
    ) t% L+ H! w' z% J$ n
  1719. ' s. g- |) c5 |1 q% D
  1720. LDA #$EC% t' H7 I' _7 M
  1721. STA $BA; j2 c) ~( z+ \0 b* {
  1722. LDA #$21( R% f' C( j) E- w, I- S; L- j" R
  1723. STA $BB' T. @; k: y& t  o/ R& N- i
  1724. JSR BULSEL_LF_WRITE1 }; k  h4 ?" N$ u. B2 D3 T

  1725. 5 H& x# T2 h. d: x# P' l
  1726. LDA #$2C
    ) P7 c& }- I$ I, ^5 g
  1727. STA $BA$ r+ f$ o: S0 F+ d6 R, O2 G
  1728. LDA #$229 {3 J' G3 z$ K: N5 d0 ~: b
  1729. STA $BB
    & P, B. o, H6 m. A8 x
  1730. JSR BULSEL_RG_WRITE# Q! s- B$ s6 P  P3 S

  1731. 3 x% N% ^& c) s1 ?. H! e7 y& i- E
  1732. LDA #$6C
    9 g9 _/ J, l% {' a* P9 b
  1733. STA $BA
    8 ?. T) h7 n1 f8 a$ x9 K' V
  1734. LDA #$22  [8 r2 E. D$ n% _) a2 q/ _
  1735. STA $BB
    * c( R+ r5 m+ ]! j; B/ x
  1736. JSR BULSEL_B_WRITE
    * R8 C- ^: }0 U$ R+ j) B+ g6 d. k
  1737. 7 v  Z  K0 [0 f/ N
  1738. LDA #$A7: ?, z( t: Z/ }  B; T
  1739. STA $BA1 Z7 f( s3 |' n3 |6 w) C# o4 B
  1740. LDA #$22& N& h3 ^5 v6 H- a( f
  1741. STA $BB
    3 r4 I8 u7 u- }$ C* u
  1742. JSR BULSEL_A_WRITE
    ) C& G5 t, X$ @/ ]4 [
  1743. RTS7 C6 h0 K5 A9 }/ L# X% R: V: S7 j

  1744. : l% ~( N+ ^  H0 [' i6 U
  1745. 8 t# g# k9 f* b, c6 T1 l5 W4 |

  1746.   w" p7 M* _0 t2 [  P- J& d  T
  1747. UP_STRING:
    ' N* H, u( n6 u  E$ ^& g' s, \
  1748. .BYTE $9F,$9A,$80
    ( V- \; b/ {6 B2 u8 d" u

  1749. ! t/ }9 ]) {. X
  1750. DN_STRING:
    8 s: B5 m- \" h3 d. r3 W* I
  1751. .BYTE $8E,$98,$80
    + j5 }/ q/ A- E4 C, |1 b5 u1 V
  1752. 8 @- J+ L8 u9 y
  1753. LF_STRING:
      Q' ^, b, x! {* K5 f
  1754. .BYTE $96,$90,$80
    , P9 J0 W. ]; o, q% d

  1755. 7 T* [4 X! v' R. d9 U7 e
  1756. RG_STRING:
    # z) w- L* {$ a% \( v" B4 w
  1757. .BYTE $9C,$91,$80  z( i3 C" z  |3 \
  1758. 1 q6 H+ G, L/ f7 I1 P
  1759. B_STRING:- E5 w  P4 L5 \" `# `! Z; g
  1760. .BYTE $80,$8C,$802 x6 ?9 R) G, f  L4 Q, G

  1761. 9 T6 E9 n' i# ], e& ?3 H- _$ G, x
  1762. A_STRING:
    ! `' x1 D7 ?/ w* i! }5 X% p& f
  1763. .BYTE $80,$8B,$808 l/ w9 g- T# h! j

  1764.   D2 b( G; k& t9 k, u
  1765. ) M9 {2 K2 m( k
  1766. UP_WRITE:" K% P, M: A  `) I0 ~
  1767. LDX #$00
    3 p8 H' s. S. b0 o9 x; F% x# s
  1768. UP:
    ; d1 I* `1 E5 e' Y  k4 h& w
  1769. JSR PPUADDR_PROCESS
    * ?( @. r* ?) `
  1770. LDA UP_STRING,X2 j9 R" I# T* m& g
  1771. STA $2007
    9 e2 G9 [3 S* j) L0 S' ^
  1772. LDA #$002 J: [: {' H  u0 T3 w
  1773. STA $2000
    % W; {- F1 _$ _2 @8 Q) |% |
  1774. INC $BA
    6 u/ ?  ?1 X! G1 C
  1775. INX
    ! s- z& S  z1 g# v9 R; P. g
  1776. CPX #$03
    ) h+ f0 b0 H4 k+ Y- R8 X
  1777. BCC UP* f5 h2 c, m8 b/ @8 x# ^8 @3 c2 B! X5 U
  1778. RTS
    & `! d( |4 {3 Z9 ^! R0 I

  1779. # L2 [% F% M1 l9 t6 s9 p
  1780. DN_WRITE:
    - X! t  B& G9 q
  1781. LDX #$00
    $ d9 V$ V% f2 E! F  t
  1782. DN:
    0 y) L. r# F, l' C& o- b
  1783. JSR PPUADDR_PROCESS
    * Y% R& n% R& R0 }
  1784. LDA DN_STRING,X
    5 Q0 @4 l1 Z2 W, c6 j
  1785. STA $2007  ^- M; S+ T' Z; R5 B) O6 ?5 M$ s
  1786. LDA #$00
    , N, G. e6 }+ W1 y" {
  1787. STA $2000
    . ?) e, I, A6 P! }4 e/ N
  1788. INC $BA
    ; R5 Q+ X6 y7 F. `6 b
  1789. INX
    ! r! d# R; h/ T9 `' g& |. ]
  1790. CPX #$03
    ; O& }' _4 S1 c+ S
  1791. BCC DN- \1 z: V5 A$ b8 D( I* O
  1792. RTS
    0 W! L9 Y+ q/ Z0 j
  1793. ) P7 `9 V5 O/ E" l% m8 N' _
  1794. LF_WRITE:
    , ]( _+ X) o) P1 W( L
  1795. LDX #$00
    9 P& ?- y% }! @, z* R% f
  1796. LF:
    ( m9 Z4 I' k( v  M/ B
  1797. JSR PPUADDR_PROCESS. E. s* p9 t& b! G& G8 n% b
  1798. LDA LF_STRING,X
    + f. r  F. R' @# `' |/ r) M
  1799. STA $2007
    7 w. {" a( I$ X% w6 K2 t
  1800. LDA #$00$ J/ u6 x- g& S% d/ ~% B3 @
  1801. STA $2000
    0 v* R' Z; n6 m( W( k
  1802. INC $BA
    9 _7 \9 b/ l% V+ ]) @0 `  f( U
  1803. INX% R" |: L: j5 l% t
  1804. CPX #$03
    2 g- [& K3 C5 ^: I  y
  1805. BCC LF
    : ^: y: T7 e# \8 S  r( M; p4 D
  1806. RTS# h% h" ^5 B7 v' Z5 [

  1807. & Y3 m3 S2 p4 ]" b2 \
  1808. RG_WRITE:
    + f" r9 n+ g6 {" f
  1809. LDX #$00
    * u, ~( P1 ?$ T& x. o
  1810. RG:* ^$ q; z' |7 V( z
  1811. JSR PPUADDR_PROCESS$ |& w+ q/ b* A4 v% i+ s. q
  1812. LDA RG_STRING,X1 V4 s. G! Z3 R4 A/ Z
  1813. STA $2007
    " A, Z2 @1 Q$ @+ N: v3 x- L* M
  1814. LDA #$00' K5 M6 R; l5 L6 Q* H% E
  1815. STA $2000( @. K, ]4 g: o; B. n* w
  1816. INC $BA, y* i, \; @. [5 s0 E) P
  1817. INX" J, o$ ]$ M8 \
  1818. CPX #$03) t: E  w# U2 Q
  1819. BCC RG
    7 n1 C& e. r0 t6 x3 X9 ~* p
  1820. RTS1 k8 Z  p6 z$ q  v3 N. z

  1821. 8 ]: F. T% A$ Y- v/ w
  1822. B_WRITE:) n; B: h6 Z4 f( |+ I( @
  1823. LDX #$00
    # B- f& n1 J# K, C' `" x8 I( y8 z/ X
  1824. B:
    * \3 a/ Y- G7 S+ C. C! |
  1825. JSR PPUADDR_PROCESS
    9 j7 e# ~) y' q# C
  1826. LDA B_STRING,X
    2 V# {& N0 r7 v2 I+ L
  1827. STA $2007
    7 f( z# {8 D: I/ O, j! M- M
  1828. LDA #$00% F  L4 I# g0 A: z1 H5 T
  1829. STA $2000
    3 N8 a3 l- E) _) X
  1830. INC $BA
    - B# p8 n4 c, K/ C6 ]/ b
  1831. INX
    . ?9 M4 j$ p" M% I4 B2 p/ ^
  1832. CPX #$031 y: n; X) i9 [: N* }
  1833. BCC B3 Z# [' W/ b7 Y; v) m) M8 Z+ @
  1834. RTS
    ; i- s' m( u; D% j9 }8 v
  1835. & u& j% M+ H' }$ x. G/ P  Q2 a/ U0 f
  1836. A_WRITE:! w  ], f! T: B" x0 \$ e  P
  1837. LDX #$00- h: i# u7 ^- l
  1838. A:% c9 v0 j. d2 p; T7 B8 `2 `
  1839. JSR PPUADDR_PROCESS9 u; S6 B% R+ R4 M
  1840. LDA A_STRING,X7 O  D4 h2 s/ L& y/ ~+ i
  1841. STA $2007! ^* n8 ^; l' Q: C5 }
  1842. LDA #$00
    3 {. m" r! T7 ~0 _1 y2 H0 \
  1843. STA $2000
    4 U. m% a8 l8 t- X- {3 I3 ]
  1844. INC $BA( R5 M; Y" O9 W8 u
  1845. INX
    1 E0 @; P. g& }3 N
  1846. CPX #$03
    ) A2 }+ Q' m: u
  1847. BCC A
    + U; F7 a4 x" g% c# V# i
  1848. RTS1 ^$ n% H( Q7 T$ [1 n) V; d9 B
  1849. 6 a; `' M1 ~+ u
  1850. 2 w; {) f3 k$ Q9 f1 g( f
  1851. UP_PPU:; P' H/ T4 X+ L5 S$ n$ @
  1852. JSR UP_WRITE& A7 ~) m/ a: w" L, T( p
  1853. RTS
    ! c/ _& D( v" n' C& R

  1854. 6 v. W$ f7 M2 M/ r4 G& e6 P
  1855. DN_PPU:7 w/ _' b- O* G1 {' p) O! [) f3 X
  1856. JSR DN_WRITE
    1 ~: D# q5 y$ `9 [3 I: G
  1857. RTS% {! m* M- b8 |5 g; j) K

  1858. - |+ n( F" L' a, G0 I+ [
  1859. LF_PPU:
    9 P/ `. p; R. @8 F  V. d2 X8 x
  1860. JSR LF_WRITE
    % N4 ]# H. j  s: U
  1861. RTS
    " k, {! q; w$ z  z  v6 f1 M

  1862. 4 ^2 f* `' W/ _: {5 N& V) E
  1863. RG_PPU:
    7 {2 e0 ]6 ]* a, i. Z8 E
  1864. JSR RG_WRITE9 `8 J0 U2 U2 I' M: F% e
  1865. RTS1 f% L& j5 |6 }

  1866. , Y3 Y/ x6 C; M, A7 S" b
  1867. B_PPU:# O! T' s; X$ F% t' s( i: {
  1868. JSR B_WRITE
    % _0 ]+ s, l5 U( [
  1869. RTS' L0 u: l; c+ A* b  z1 e

  1870. 1 |0 ^% T6 X' X" _. z  E' I' w
  1871. A_PPU:$ z% s: v* w0 O9 x1 l
  1872. JSR A_WRITE
    2 x8 S. i) G' i! U$ `9 e
  1873. RTS& r( v7 ]$ [; r+ Q6 s: f
  1874. / r; l% A$ t. J7 I2 D/ F

  1875. ; P4 N" a% ~( F: Y
  1876. PAGESELECT:
    9 Y0 s$ `& t4 {, \( i" W. z: T7 l
  1877. PAGE0:
    " Y: v. ?8 Z% b* O8 i
  1878. LDA $07AA( W5 [1 Y6 h7 K9 ?$ v7 I9 Q4 r- a
  1879. CMP #$00
    . V+ {6 E1 t2 z
  1880. BNE PAGE1
    * }! p4 ]- c& J, v3 l  T5 b4 \( s
  1881. 0 j/ y% V, U1 D& i
  1882. PAGE_00:/ o% x. h: K: Y6 y& C) @
  1883. JSR BULSEL_PPU* \" s5 `2 S7 D+ f1 X0 q) p* n
  1884. RTS
    $ @; H! \& Q1 Y$ R% ]0 |8 P
  1885. 1 o( P; o6 E+ @
  1886. PAGE1:
    ; c+ T. e3 w& G9 k1 J- |
  1887. LDA $07AA0 E5 d% a# K+ h/ o, C; w
  1888. CMP #$010 o0 F+ `  L( g' C8 F# J
  1889. BNE PAGE2. F4 M8 k' w9 \' |
  1890. + b: h* O# j9 }' ~% p, ?0 @
  1891. PAGE_01:
    $ J8 n" |$ ?1 r" k- L% Q% h
  1892. JSR INVINC_PPU
    - f* Q' T, y, P6 R2 F. F
  1893. JSR LIFELC15_PPU. e" e7 ^: c9 G6 Y
  1894. JSR DOUCON_PPU9 K) L+ c% K/ p4 b5 t9 M
  1895. JSR KILLON_PPU8 [. K8 D/ }0 F  U# L( ~# A. g
  1896. JSR SKYFLY_PPU6 J/ c: E5 Q3 f+ ?
  1897. JSR LIFELOW_PPU( @$ m9 v& B; @8 E5 u* m: T9 v' y
  1898. RTS% _" X. U, E+ ?. u: Y9 y
  1899. 9 Q- z( s$ ^! n/ v( z, ~
  1900. PAGE2: ; s8 M( p) r  c7 i  \4 @
  1901. LDA $07AA
    2 Q: e7 O8 x& s! e
  1902. CMP #$02
    ) b; l" |4 ?4 a
  1903. BNE PAGE3
    9 h* }3 _/ `  X

  1904. 8 I( `& t; W* S6 ]) l# N; f
  1905. PAGE_02:
    7 \) x1 D! b7 t2 }; h
  1906. JSR BULADD_PPU
    8 ^3 y, n& Z4 y* M/ y
  1907. JSR SKINGE_PPU
    9 ]; t3 V  A) V: J( B3 E2 i% x
  1908. JSR BULMIX_PPU
    ! ?- m* v0 \% c. s" M% P
  1909. JSR ENELOC_PPU
    ( U, a2 q& l" w1 L9 y, V
  1910. JSR FOCFUL_PPU
    ( {2 |# w  g7 |% ~6 f
  1911. RTS- F1 b' s: ~% ?) f" L8 ]

  1912. / o7 S+ I6 _1 _5 s5 F8 |9 y
  1913. PAGE3: + [; o; X* F! g8 u
  1914. LDA $07AA
    # Y( u/ I% A( b7 }: j  A# ?* o
  1915. CMP #$03* y6 s3 f# A: v* ~, |' I2 G
  1916. BNE PAGE4
    * \% s% Y! u4 H+ N
  1917. 5 z: h4 H) f" V5 `' _$ d; ]
  1918. PAGE_03:2 ]7 r) p# ]0 E6 f8 a! \  m
  1919. JSR BULCON_PPU
    # ?' _& z- D( }- {7 b
  1920. JSR SPEBUL_PPU
    8 U' m* c0 x# K+ _9 C! L# {
  1921. JSR CLEALL_PPU$ O! X; c5 z3 [- H& ]0 u5 _! M! _7 k
  1922. JSR HARDMODE_PPU
    2 X1 H) K) {6 {9 A( _/ k
  1923. JSR B_TO_JMPSTG_PPU) v5 A' Q# _, H0 P+ O9 w' [! p# u) u
  1924. JSR A_TO_PLAMOD_PPU- |5 ^, n0 G$ M2 r2 q
  1925. RTS0 K! ]; K( ~' W" @4 i
  1926. ' C& {( D6 @  }! t3 e3 O
  1927. PAGE4:
    $ |* [" {( P1 [9 @6 o- {
  1928. LDA $07AA, O  _0 H& F3 }/ x" F
  1929. CMP #$047 U1 ^2 x( j5 ], l& @" N0 s& ~+ |
  1930. BNE PAGERTS
    2 E3 |# S/ ?5 a% k- V; i3 o

  1931. ( C* k6 l% \" H4 I! c
  1932. PAGE_04:
    9 s: W& B0 Z. ]* v1 v
  1933. JSR MOVSPE_PPU9 s" ]$ |7 I+ M( M
  1934. JSR UNLJMP_PPU
    " ?& _6 l. P$ K. p+ P6 j
  1935. JSR DESTRO_PPU$ i$ o; P- a2 n( L
  1936. JSR EQUBUL_PPU' n9 G8 c. S6 ^
  1937. JSR MOVESPEED_PPU
    : b8 r: }; R& t* O
  1938. PAGERTS:
    / y7 [' H9 h$ B) g3 y* a
  1939. RTS( M6 {; A1 ^8 z% S) l
  1940. ; d/ a# u& i6 Z9 M
  1941. + b3 O7 J5 b# w$ g3 }) r7 I
  1942. PLAYER_01_STRING:! v1 V$ K. y# A% F
  1943. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$82,$801 n" X! _, _5 E- i' {5 j
  1944. ; ~* x* A% X- Q5 n/ R
  1945. % U; G. e6 L6 l
  1946. PLAYER_01_WRITE:
    7 v- V, n# M- u8 a% F, t
  1947. LDX #$00
    " p+ ?- C( j- Z) e3 E) @/ P
  1948. PLAYER_01:
    / g" L/ Q1 ~9 Y) A( c- `( _( L9 Z, ^
  1949. JSR PPUADDR_PROCESS
    / P; a1 M; `; p7 @9 B
  1950. LDA PLAYER_01_STRING,X* M  X7 Z4 m' D0 T( \* s# E( y
  1951. STA $2007
    / h1 T! C$ X0 l
  1952. LDA #$00, ?; q) f9 l9 b# p
  1953. STA $20004 p$ ]& }# s* R1 s. I( }; U
  1954. INC $BA
    8 w5 l# Z& t1 r/ H
  1955. INX
    + k0 l6 e0 G; g1 l! }
  1956. CPX #$0A+ n1 X$ z3 k9 A/ I1 t9 v
  1957. BCC PLAYER_01
      c6 g$ w) V2 @' M
  1958. RTS
    ' \! M( Y1 o0 @
  1959. 6 H6 i5 H+ o9 E2 _6 k( a( [
  1960. PLAYER_01_PPU:
    " S( G: C" Z- k5 ?& d
  1961. LDX #$00
    1 X8 l3 z8 f1 Y! a' p
  1962. LDA #$64
    $ _- g% {# x* v* H7 }' o6 _
  1963. STA $BA* t  ]- l. z' h+ @$ ?
  1964. LDA #$20
    8 _3 v- x5 n. [0 ]- t. k
  1965. STA $BB
    2 _1 c. l; B6 L  O. v1 Y' ?
  1966. JSR PLAYER_01_WRITE+ U  Y1 P" r. |6 m* y, n/ F, q
  1967. RTS
    7 T3 O4 k9 J8 Q7 g

  1968.   S' j' ~' p* a7 \. E, c( F' v
  1969. PLAYER_02_STRING:3 b+ U0 w5 s- Q/ P5 J% \) w( _
  1970. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$83,$80
    % j9 F% v" h! f, u  e

  1971. : Y  g, J  [& g
  1972. ' T# f& n+ f( k( X; E; E
  1973. PLAYER_02_WRITE:4 b6 O4 g! r! F% H4 V; c- u
  1974. LDX #$00' h! U# u9 O% k$ F' u& c2 K; m
  1975. PLAYER_02:7 N7 y4 o% K- {1 j- D9 a. Y( [$ E
  1976. JSR PPUADDR_PROCESS4 m  b2 [3 m! s5 r$ i
  1977. LDA PLAYER_02_STRING,X
    ) Q( S* D6 m. |/ @, V0 t' b
  1978. STA $2007
    # \% ~7 m; q( D+ |+ j1 s7 x) L
  1979. LDA #$00
    4 f/ Q0 `; c( B8 N/ G6 k% v
  1980. STA $2000! X$ P) T7 `, z6 v
  1981. INC $BA
    ) ~9 T# W. H4 b3 [' i, n
  1982. INX2 G. G, D2 s0 K
  1983. CPX #$0A- Y. q4 ~' S7 T$ c9 _5 t. g
  1984. BCC PLAYER_02
    6 o7 f& ]3 G& e$ {1 a9 C/ O) U
  1985. RTS7 I  y+ F2 n0 U/ K. ^. ]5 a% a
  1986. 9 P$ f4 M! ~# q' C  I3 @, l7 h& S
  1987. PLAYER_02_PPU:' k; M+ `( O/ o$ P& S
  1988. LDX #$00- o5 A0 \: k7 \+ X) H4 v
  1989. LDA #$73) a3 h2 }) W3 A* i* x
  1990. STA $BA% [6 {5 ?8 h; y; i$ ^0 |
  1991. LDA #$20
    - R% r6 h2 \6 j
  1992. STA $BB) y0 b- z0 y+ s" _! U
  1993. JSR PLAYER_02_WRITE
    6 U' O8 B; S0 `8 w. e
  1994. RTS3 T% L5 G, w0 N: N# z
  1995. + {( |! c0 c  F6 t( }) Y2 c- m
  1996. PPUADDR_PROCESS:
    ) y; R* J1 T% Y/ F* ?
  1997. LDA $BB; j5 X/ U% L- n
  1998. STA $2006$ W; K! B# x* C2 f' t
  1999. LDA $BA
    3 M! t6 f, d# r7 O* _) k# z% s
  2000. STA $2006
    ; B4 r4 E& ^! [; W! z; G
  2001. RTS
    5 }! X2 v# e7 T, v( n

  2002. # N1 ^% y7 q9 c4 o9 j: d/ i

  2003. & M% ?& J* ^: i8 {0 K

  2004. : l" B" S9 T9 _
  2005. ONE_STRING:
    % q$ n( [3 N3 c( ]2 J% a  q2 P
  2006. .BYTE $99,$98,$8F8 b* q. s! f5 Y

  2007. . i9 J- d6 V2 S" W7 l9 n  \9 e
  2008. TWO_STRING:7 d. c+ _2 B% |( J3 |& V
  2009. .BYTE $9E,$A1,$99
    0 c5 n& ~! q, B

  2010. + U! {4 {0 R6 x6 |0 W; q
  2011. ONE_TWO_PPU:
    # o  O( T7 U9 [( K) m, G. ]
  2012. BNE ONEWR6 h; C& m6 Q' U( S
  2013. TWOWR:' v" z$ c& x9 m, T5 _. M
  2014. JSR PPUADDR_PROCESS
    + G; F, t, B; \! Y$ J
  2015. LDA TWO_STRING,X
    - w2 }* L6 }6 s3 W; ^* B+ O- @- g
  2016. STA $20077 E3 m* e1 `3 o
  2017. INC $BA
    . q; b9 S; \; C( X/ |2 c6 W
  2018. INX2 D/ t+ `/ [# n
  2019. CPX #$03/ D$ p& Z: j1 j
  2020. BCC TWOWR6 I. m5 e+ C0 O( R- [) H, a
  2021. RTS$ K5 _+ G1 |7 Y6 H
  2022. ONEWR:
    # W+ S; S0 X. o- A, o
  2023. JSR PPUADDR_PROCESS
    5 A+ Q3 X+ k  v% S
  2024. LDA ONE_STRING,X
    9 B. C% t, j3 }3 z2 G% b, ]3 t; k
  2025. STA $2007
    : W. x. g. L  o$ K! _
  2026. INC $BA! m& g0 i8 O% z, n6 Z% u: ?
  2027. INX
    6 z! ~- m: q+ C$ `, @- C0 n
  2028. CPX #$03
    0 s1 ]) _0 |1 G# E
  2029. BCC ONEWR, [$ Z& [7 i- L" N" g/ t
  2030. RTS
    0 ?' v6 P. I. [  h
  2031. 3 C2 p0 u; W( t8 I% ~/ p
  2032. MOVESPEED_STRING:) V# v& @& J' v: ^
  2033. .BYTE $97,$99,$A0,$8F,$80,$9D,$9A,$8F,$8F,$8F,$80
    / i7 F! s2 O5 y, O: d
  2034. $ g2 z8 G% ~$ Q  v: o$ o5 Y( e

  2035. # \: B' [" d! L+ B$ w
  2036. MOVESPEED_WRITE:
    ! L' ^+ }" C5 i4 }$ D
  2037. LDX #$00. J2 T4 S$ C. Y5 ~
  2038. MOVESPEED:
    0 V* H9 C& k- B
  2039. JSR PPUADDR_PROCESS
    3 O5 c4 T0 V3 C7 ]5 x) K, z; C7 G
  2040. LDA MOVESPEED_STRING,X
    ! [+ L( T, x; K: r5 v% l
  2041. STA $2007
    ( B0 Y( \* w2 j" N' {
  2042. LDA #$00+ \. ^' X: W  ^( F0 p3 o; A* G
  2043. STA $2000
    ! s: ~+ O% K2 @% @! a( f
  2044. INC $BA0 x" z$ B: K. [0 y9 a( [: O
  2045. INX
    & B4 A- P3 [; j4 c" }9 x" V
  2046. CPX #$0B
    ' Y& K, E2 P' j: X7 \1 j
  2047. BCC MOVESPEED* U/ c6 A8 X; h; T; q: j
  2048. RTS
    ! ~: ]7 n- ?$ U" B4 _7 A6 ?

  2049. % O. k  n+ Q& I& |% ~% I
  2050. MOVESPEED_PPU:
    4 H3 H7 F% }; \
  2051. LDX #$009 t7 {* R& u. z6 T4 a
  2052. LDA #$AA$ ?! T/ L. J# E) t
  2053. STA $BA! m: T3 ]* u0 \) \8 I3 m9 _" B
  2054. LDA #$22" `) G  W; l$ Z
  2055. STA $BB: X7 g0 n  E9 Z9 r4 }8 E
  2056. JSR MOVESPEED_WRITE
    5 e8 d% N3 o+ \7 S7 O7 y
  2057. LDA $7003
    ) r  w3 l2 X( W' i8 R
  2058. CLC
    - J0 H, f6 ]* Y4 S
  2059. ADC #$82
    . h% T- \$ r/ Z6 G+ k) J: @- `8 t/ ]" m
  2060. STA $20071 |- v3 s  [6 a& a+ X9 f/ I
  2061. RTS
    * F& V9 E% H7 l# C6 Y" \
复制代码

本帖子中包含更多资源

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

×

评分

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

使用道具 举报

签到天数: 3145 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 852 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 1279 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 2139 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 135 天

[LV.7]常住居民III

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

使用道具 举报

签到天数: 2366 天

[LV.Master]伴坛终老

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

使用道具 举报

签到天数: 2275 天

[LV.Master]伴坛终老

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

使用道具 举报

头像被屏蔽

该用户从未签到

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

使用道具 举报

签到天数: 347 天

[LV.8]以坛为家I

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

使用道具 举报

该用户从未签到

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-8-5 10:25

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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