EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2016-11-19 22:19:45 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2016-11-19 23:11 编辑 $ F# w+ o9 s5 T1 h8 o
4 v9 F) v. [) Q- B* D
     [FC][魂斗罗旋风终板END暂停显菜单]
& l. L+ P8 l) c: ]; t
作者:FlameCyclone(flamecyclone.ys168.com)' Q% I6 g/ b( y# G! o. _; m: g# C
时间:2016/11/19 21:46:00# g- a5 r: a' |3 k; h9 M1 ?6 |$ z
更新日志:
1 L* T* U6 T+ j( [
2016.11.19:加入暂停显菜单(共5页).
# e' C6 u5 n1 N3 F2016.11.12:加入无限跳跃.8 m  K) X: d* Y! M; M& B8 y" N
2016.11.12:加入速度调节.
# _( l1 z' n, A& h" E" q4 M3 ]
2016.11.11:加入敌我子弹对消功能.$ M' M- h9 F. _; U* X; z
2016.11.11:加入全屏闪灭功能.8 L$ d# n# P1 F0 B) s1 R
2016.06.08:加入全屏瞄准功能.
- e* i6 T0 ~" _: J) m: s2016.05.31:加入弹速调节功能.
0 O+ V7 ^% Y0 R6 ]1 E2016.01.01:加入高难度模式.% c5 g/ n$ H5 {) J# F
2015.12.12:修复消除威胁不足,使得移动BOSS关卡(第2,4,5,6)正常通过.
% y' u1 D, |% J$ v  k* k- c2014.07.05:由于对打功能不完善,直接去除,更改为生命锁定.& I# _2 v1 k" \8 ]
2014.07.05:双人切换功能优化.- k6 G# U0 K, x/ w: K
2014.06.01:修复第三关浮空到BOSS前必须关闭浮空后跳跃才能见BOSS的麻烦.# H# e7 o7 F" L/ C5 e* }- c
2014.06.01:取消生命锁定,改为生命锁定模式下剩余生命不会少于一条./ [) O/ F# [. L) H" {: \, @$ ~$ U
2014.01.18:修复GAME OVER字样只有G和O的错误,原来想拉大字母间距离,看来行不通.
  t8 O8 t& w  B4 y( |2014.01.18:浮空模式下,P2飞行高度未限制导致死亡,原来是指令本该用绝对X变址的被用成了绝对寻址.
9 J6 d" n% r# z( N2 q2014.02.08:拿手机无聊时又发现一些错误,所以修正生命剩余勋章显示的错误(某天用读卡器插在DVD上测试发现机器读不了卡,原因是目录级数超过三级,只有刻录成光盘来测试,结果发现生命勋章的显示竟然无压力!), o6 Y6 B: ^  D( m0 z
2014.02.13:加入自动演示通关.) r8 X4 l, C: U. z
内容:
5 ]+ o. Q/ Y/ `0 F; ~6 g1 n. k23.暂停菜单:        暂停后,自动显示菜单,选择键翻页,方向键和BA键进行各种功能的开关操作.
6 f0 B7 H. f6 Q: p6 E0 e22.无限跳跃:        暂停后,选择键4次,按下开启,开启后游戏时无限跳跃.8 C3 ]5 E* h; d2 H# Z& c# R! V& l' P
21.速度调节:        暂停后,选择键4次,按左右调节行走速度(0-3级).
' @0 c. S2 ^  P( G$ }4 f7 D
20.子弹对消:        暂停后,选择键4次,再按A键切换,此时敌人子弹可以打掉.
. d; H9 U1 D- z: I5 x$ ~# \19.全屏闪灭:        暂停后,选择键4次,再按B键切换,开启后游戏时按选择键屏幕内敌人闪灭." [5 J/ Z% U9 V3 \  X
18.全屏瞄准:        暂停后,选择键2次,再按B开启/关闭,子弹对消开启时无效.
" ?+ G/ v0 W: ^5 k) w! h# {17.弹速调节:        暂停后,选择键3次,下开启,非暂停时按选择键调节,默认为1级,共5级.+ u1 z1 c& |4 t% [! e) E% F, R4 g' J
16.困难模式:        暂停后,选择键3次,右键切换,我不相信你能够无伤通关.$ M1 n! f  W& U" N' I7 g
01.子弹切换:        暂停后,选择键0次,上=快S,下=快L,左=快M,右=快F,B=快普通,A=取消当前子弹加速状态.) I( ^1 A* G# F/ q
02.无敌锁定:        暂停后,选择键1次,上开启/关闭,不用讲了,金身无敌.
! ?9 F0 j  i. j& B0 Y( Z9 ]03.生命锁定:        暂停后,选择键1次,下开启/关闭,生命锁定为16条.9 b; X/ L+ A3 L) U* B
04.角色双控:        暂停后,选择键1次,左开启/关闭,无非就是主机控制副机.
4 t  \/ u# k, ], I05.生命底限:        暂停后,选择键1次,右开启/关闭,锁定剩余生命数不少于1条.
, a  L; t- M3 f, B& X06.一击必杀:        暂停后,选择键1次,再按B开启/关闭,即使是第8关BOSS,一发花生米依然要其老命.
8 ?( E  p/ [% _- A07.角色浮空:        暂停后,选择键1次,再按A开启/关闭,第三关浮空时按选择键向上卷画面轴.+ a* d3 c- B4 s) E
08.弹数加强:        暂停后,选择键2次,上开启/关闭,此时所有子弹发射数为15发.; |8 N- k, e4 k5 V
09.皮肤更换:        暂停后,选择键2次,下开启/关闭,主机开启时橙黄色,副机开启时为蓝色.
% s3 p: \. v" A8 f7 D10.混合子弹:        暂停后,选择键2次,左开启/关闭,此时连射时所有子弹混合.: J+ z4 R5 W9 J, p9 A
11.敌人锁定:        暂停后,选择键2次,右开启/关闭,此时敌人原位跑不动.) u3 |  E% M7 u: i9 Z
12.跳过一关:        暂停后,选择键3次,再按B使用,使用后可以直接到下一关.
2 E* d! T! _3 R; }% `13.单双切换:        暂停后,选择键3次,再按A键切换单双人游戏模式.
0 r, r# @, q, z! H- v$ ~- P# b8 X14.子弹方向:        暂停后,选择键3次,上开启/关闭,开启后发射的子弹攻击方向会随着操作的方向按键变化,第二关和第四关的小关建议关闭(开启的话打中敌人太难了哦).) _, ]' N# H) O& M
15.消除威胁:        暂停后,选择键3次,左开启/关闭,此时游戏时按B键使得移动物体被消除。
8 ^; m, c/ D5 o" n2 qA.做了一些汉化(小字体),剧情,关卡名及通关后的文字未汉化.
- i+ ?& W7 E5 \1 o& o. @B.自动演示通关,双人合体打通关,演示时有背景音乐,通关后一样会有结尾及恐怖台词,之后游戏进入选关(相当于游戏自动开始了).注:通关后P1及P2会获得16条生命!也就是说看完演示自动开始后第一版有16条生命!# b1 o! }' O. o. ?2 s9 ?
C.生命显示加强:最大显示15个剩余生命勋章!电脑端请开启精灵超过8个(这样勋章不会闪烁),手机端认命了,不过不影响正常操作.2 }2 ~& i0 `% [+ l1 Z  w4 n1 u

) K" s" h( L9 b6 w. ?    如果有什么好的修改建议,恳请通过QQ(1490868135)联系我(也许我不在线,可以留言在QQ里)1 B! i9 u( J' y5 ~
欢迎大家转载,转载时必须注明出处.+ _: d4 R) F9 O/ P: e

3 @  w8 F( d3 D( m3 A
游客,如果您要查看本帖隐藏内容请回复

4 ?$ F9 m& y; w' ?9 y
2 T- L1 k. d9 D9 n忙了一个星期,觉都没睡好,眼睛也疲惫不堪啊.终于找到解决方法了,目前VIRTUANES运行不了,请使用其他模拟器玩.. \  a' x0 h$ O* b8 R, H; q7 N* x
这几天的劳动成果如下:
  1. .ORG $B4009 n5 B$ V# {( Q8 |( o! }; ^) e
  2. - Q$ t# |& F) D4 e5 n" h

  3. ! j. ^! [, w) w2 H- |
  4. PROREG:. H2 M; ^. g- a
  5. PHA, H6 `1 p! y" K3 g. z3 h" w
  6. TXA
    $ L2 v6 _" V- \3 h' x( S- n6 ^
  7. PHA
    ) H$ K/ Y# ?+ z( L/ t
  8. TYA. X: k7 f+ Z7 t/ E, A" Q
  9. PHA7 C! J" \0 v; T# d1 ?, D6 M
  10. LDA $25
    7 S* R: l% D  x" b/ l$ K
  11. CMP #$01
    2 h6 a3 W3 N: g& ?5 C4 I/ U* ^
  12. BNE RE
    5 n5 }  K# s1 x7 {  ]5 U& M  f
  13. LDA $010A9 C6 L7 a+ D2 J# @
  14. CMP #$00
    # p4 d( |9 i8 k  `3 c; l( _$ m
  15. BEQ P14 L3 ^! [0 ^, [: Q

  16. . F! y. f% |0 B: N8 j$ R7 a
  17. RE:
    . V0 n+ j2 J' a6 [! L' N
  18. JMP PPUWRITE3 [! u  Z: W3 y# c( n

  19. - N* Y% E; L1 ^9 M& X+ Y
  20. P1:                ; 条件判断
    & Y/ b: z2 O7 E3 U2 X' D) i
  21. LDA $7FFF
    0 E1 v- `3 c, j2 V) h2 |
  22. CMP #$FF
      v0 D" v1 \1 t6 p
  23. BNE P1RP
    ( u4 q* _! q3 C& u7 x" s
  24. LDA $7FA0
    3 C, N/ ?" R- U4 b# Y
  25. CMP #$00
    & V2 H# o# N5 ]; K9 @2 R
  26. BNE P1CMP4 m/ m( ]. K0 X: d: H& U4 ~
  27. LDA $2001
    " n# P) ^' C4 U  I
  28. PHA
    - T" ^8 B4 L! e
  29. LDA #$00, u4 }- @8 R2 n4 R& Z
  30. STA $20011 C1 `  i/ y- d5 t  P5 `" D" r
  31. LDA #$FF6 g) c  r7 q# c
  32. STA $7FA0) v1 ~9 W& u2 |( b  w
  33. JSR CLEANA7 [1 p6 p6 j/ Q6 B' B  @
  34. PLA
    . f4 M) `, n4 c
  35. STA $20019 ]. U$ f/ H" y) Y4 H3 t# A
  36. JMP PPUWRITE
    : V) s1 D- k, O7 d" _. w
  37. P1CMP:
    ' ^( I, o2 W. {( Z% f* Z5 R
  38. LDA $7FFF' H& ]1 ]9 t' t& W" {
  39. CMP #$000 [/ G+ L( L) v! y
  40. BNE RE9 ]$ s2 Y* |1 g+ K0 O* M
  41. P1RP:
    2 N5 t' c" Z0 [! E& ?- R
  42. LDA $2002
    / N0 {' Z: M5 S% ^3 [" M7 b
  43. LDA #$00- C" s1 t# z+ g5 l+ d0 K
  44. STA $2001
    8 l- z# ^' ^3 |5 A. W( F9 P
  45. LDA #$FF% z& M: M, H6 H7 k3 Z
  46. STA $7FFF
    ) d$ s! P3 T* c' @1 h  m3 \
  47. STA $7FA0
    ! T; q2 ~8 |! `
  48. JSR COPYPPU9 y' a. F* i) E& @. k4 H
  49. PIRP2:# B% Q5 F/ ~0 O5 ?9 G; U. M+ M* z+ Q
  50. JSR CLEANA
    5 Q2 ~) N2 h* I. H; [& h
  51. JMP PPUWRITE* i* H; a" D' `2 c2 F9 d1 Y

  52. ( f' s( b0 J! e( x
  53. COPYPPU:
    0 j  a+ l0 V. n4 T5 e0 T' P
  54. L0:
    0 @$ l/ {0 h8 Y- `
  55. LDA $307 w5 g6 v7 [0 d4 B& Q
  56. CMP #$027 H8 @( r% Y$ C' {1 i0 K
  57. BNE UNPROFC6 _9 u$ a; q9 r8 [  H# a7 h
  58. LDA $FC( b( `; F4 a  r$ W4 W
  59. STA $7EFC, h" j- t) W/ w! Z: _. y
  60. LDA #$00
    % \7 I1 O. S% G0 {3 o
  61. STA $FC2 `+ n0 B, z) F! L7 I/ }
  62. UNPROFC:
    3 G5 Z( X. A' H5 L7 E. _5 J
  63. LDA $FD! C  E% |7 v% G" Q
  64. STA $7EFD
    0 c+ r4 c( _. }. D
  65. LDA $FF1 d3 v, R6 T1 |0 a0 G6 i# f# u' w3 Z, U
  66. STA $7EFF
    . ]% {! q" x  L0 O( A& _& w
  67. LDA #$00
    ( k( d( [& b5 \
  68. STA $FD# h4 ], M0 w! D  ~7 {- V
  69. LDA #$B01 V5 b# o3 N7 X  O2 G6 i0 ~
  70. STA $FF
      Z' K! H: ^) ]: f0 ^9 D
  71. LDA $07C1
    ; H/ I* w5 f4 `. A9 W) {  q
  72. STA $7FC1+ s9 u0 K9 w+ [& ?! S1 J2 q) i  [
  73. LDA #$3F5 Y5 N( A5 E! z9 U  j
  74. STA $2006
    6 w& d3 f. T' E$ r( Y. {( q& d6 x
  75. LDA #$01
    ( ?* }" {: U( {' Y$ H, L
  76. STA $2006
    ' X; a4 o9 ?! D% g& E, g6 b& `( }
  77. LDA #$24
    ( g1 n0 M2 Z4 m* J" y0 Q
  78. STA $20073 D. s9 P  K: h; p% n
  79. LDA $07F6, r  z! Z3 P% s  F: o" D2 u
  80. STA $7FFE1 i2 p! p& w# ~5 Z
  81. LDA $00FE# |; w$ p, m5 k
  82. STA $7FFD) z* |# y+ n2 X" I. r$ Q$ S
  83. LDX #$00
    $ S2 a. M0 ?  L$ A; M
  84. LDY #$00
    3 n$ {1 H; R3 x! i
  85. LDA $BD
    7 S7 v) m, s. E! l
  86. PHA" @0 G& h" a7 d- e8 n2 {
  87. LDA $BC1 P; q( W) L3 n2 j$ v
  88. PHA
    9 }4 x6 i/ n" a9 R6 z  _
  89. LDA $BB
    + j* d- ]: {5 |& b, U9 {6 f- k5 r8 w
  90. PHA
    3 s% p* x6 W& _4 U# X
  91. LDA $BA) F; t" `* O* ^$ a0 c: X
  92. PHA* J. U& m0 M; F5 N) T* |( u' a4 W
  93. LDA $B9
    ) G1 l1 B. `: ^. l1 X: F' D
  94. PHA- F1 o- n; Q' t8 Z: {& {* k
  95. LDA $B8
    - s7 v* K7 \$ D! c* M
  96. PHA
    5 ?" k1 n, s8 k& k3 r' l7 G; X
  97. LDA #$00; Z; X# C2 D8 l! {* X- b( H
  98. STA $B8' u5 c' k# [  o8 U, O9 H9 z1 V
  99. STA $B9* a- G; |0 t" S7 |, g
  100. STA $BA8 s, p- s' n+ N# Y; a; H  a; y: u1 Z
  101. STA $BB
    $ D% E7 M: Y+ i; e2 k: y3 f
  102. STA $BC" I: U2 t' C/ \
  103. STA $BD: ~- T8 ?$ s4 b6 n8 k
  104. LDA #$00
    0 f0 ?( T! F- r; b2 g
  105. STA $BA8 T* i$ b- U/ g0 H! H0 Y1 i8 [/ f- G
  106. LDA #$20
    - G% t: F+ y$ U4 T0 X
  107. STA $BB
    7 V0 z; c5 j7 @1 M" z. s
  108. LDA #$00- @: Q* }% [+ J$ H7 ], n& O) r
  109. STA $BC+ }7 O( F7 M# S* z" T3 x7 c7 Z6 F
  110. LDA #$609 d& H- ~  U5 w8 ^8 H2 |
  111. STA $BD
    , Y, ^+ f* ~( v: F9 S3 E$ s3 V
  112. 0 W2 u) I( F1 R% H
  113. L1:                ; PPU复制
    7 r1 D: ]" I( x
  114. LDA $BB
    , @* y% R# V8 @2 R! H) D$ I+ {3 A
  115. CMP #$30
    # c7 w% I- ~4 `: H$ b% q
  116. BNE L2- n4 O; g- `! J  ^9 P: M0 s" [
  117. LDA $BA
    5 a' h% M7 {8 q4 k& v- m
  118. CMP #$00( a7 x  k8 r7 n
  119. BEQ PROADPLA+ u! |5 R( ]: z* ]& W* e! U& D! U
  120. ' C, m) A6 U. E' j
  121. L2:, X$ i8 I7 c+ z3 Z1 [& V5 s
  122. LDA $BB
    % Z0 @1 ^) c$ n  l5 \: t5 Z0 }- X$ S
  123. STA $20064 b# Y6 j; H6 V+ h7 j4 a
  124. LDA $BA
    ( Q/ ]1 ~4 {8 i5 \
  125. STA $2006
    , A/ G# L9 w: M; G" m4 @0 |
  126. - y7 n8 m* W. }) j3 O8 @
  127. L3:' Z1 N0 Y6 y; I
  128. LDA $2007
    & I. H. U7 s* J- p6 X4 E
  129. LDA $2007
    $ e4 J+ z. Y, b
  130. STA ($BC),Y
    7 \  g+ E( c1 t) J, B: x6 z) o; {0 M

  131. ; v0 I$ |3 H9 f4 H
  132. L4:5 s& q1 s  a. T' ~) ^3 }
  133. LDA #$00
    ! n8 I; T/ s0 ~/ |$ c
  134. STA $2000' ~3 A" w. ]* G2 y
  135. INX& L( X% G$ y/ k' m: f, ]
  136. INC $BA
    5 r9 T2 l2 c$ ]5 i9 x6 C
  137. INC $BC2 n3 R" _1 O) G; `+ }, [
  138. CPX #$00
    / V8 \9 c# E6 ~: [: q- b( ~
  139. BNE L15 M! l& k) t& L
  140. INC $BB
    % M4 z) V2 S: ~( x& |0 Q5 E
  141. INC $BD1 J# B8 ?7 P5 d2 M* b# q
  142. JMP L1& A5 q% t* z& g$ {% R. m% b, h3 D

  143. 1 j- ^! D5 I9 W! m5 u& m
  144. PROADPLA:                ;出栈
    , g' x( t6 z( ?4 `
  145. PLA+ b+ q6 S. L$ c8 I& s% M6 L- ~
  146. STA $B8
    7 J3 y8 g) E, K( B; p
  147. PLA( s  a. C9 I1 n7 B
  148. STA $B9- v6 n# S7 j7 a' U6 ~
  149. PLA
    ' D/ |5 g9 z$ a. P& v- [
  150. STA $BA
    % b  `/ e0 S2 p1 z
  151. PLA+ {$ ^! |; v" J/ K5 W3 U
  152. STA $BB
    " ^, a7 P$ V$ q2 R( `+ q
  153. PLA# x7 o" \" U# s* ]+ |8 q
  154. STA $BC
    " H% n: X% H" {  @! E. A" E
  155. PLA
    * c$ V- e5 @8 q8 c" ]9 L
  156. STA $BD
    . d. h" s5 A4 q
  157. CPRE:- n+ B7 L9 Y$ z6 o: M' @" }
  158. RTS
    " y8 J0 v8 T! C# ~
  159. 4 r. @6 U( `. ~% _/ o2 ?6 N5 j8 Y8 f
  160. CLEANA:                ; PPU清空4 V# e* j" h5 C& q! M
  161. LDA $BD
    ' D( T% J/ o# Z7 Y; ^) M
  162. PHA" M# `6 Q4 J/ y, D' w# L6 W3 B
  163. LDA $BC
    3 |$ \( x; `. T
  164. PHA2 @: d) T, C% A
  165. LDA $BB
    : l( W6 T% a. C
  166. PHA0 z8 R' ^/ q; c5 Y1 ]; z, [$ ?
  167. LDA $BA; d1 T; }8 }8 t4 a; E. Y* ~0 L
  168. PHA
    9 o6 F5 {7 [* N0 I2 h9 J
  169. LDA $B9
      {" L3 K& P1 F& f. j
  170. PHA# |- ?3 u0 p( l! L2 Y
  171. LDA $B8' m! ?0 h8 Y4 W/ T6 r
  172. PHA
    / \: G1 P% i2 j& {
  173. LDA #$00
    # d2 G) C/ I+ @$ h
  174. STA $B8
    + F* V) F. \  ]0 R8 x0 l
  175. STA $B9% r% l6 v0 K, W4 o  E
  176. STA $BA
    3 t: T( j6 |: j1 Y* O7 U9 N  @
  177. STA $BB0 ]4 S8 x9 B* t4 r+ ~
  178. STA $BC/ a- q! ?. J4 g" H# G
  179. STA $BD. k' r" ?, H" V, U" A+ v8 M+ g
  180. LDX #$006 A5 I; {! Y3 `4 h
  181. LDY #$003 \8 g2 y4 B: }; L, E- o
  182. LDA #$000 s+ n1 C" J/ V
  183. STA $BA6 f! [! {, z3 L, D
  184. LDA #$20
    / l/ T+ z! t+ T, d7 x
  185. STA $BB1 V7 q3 i" r9 O; z8 b

  186. 4 R# e/ E9 @- A4 Q7 M
  187. CL1:1 ^6 A8 x( L/ e5 A1 _1 h
  188. LDA $BB
      ^3 I( p$ ^$ m  ]+ _
  189. CMP #$30
    & Q# ?$ L! B4 F3 h
  190. BNE CL20 ~7 D; T0 I  r6 M7 o
  191. LDA $BA& k6 ?; D3 `$ y5 Y8 R) d
  192. CMP #$00- \- o5 }' |7 Z; K9 J$ M/ [0 {
  193. BEQ FREEWRIYE
    # e8 c0 F5 j8 X( q) X5 F
  194. % l/ N, R( G0 `6 o- Z, f$ j
  195. CL2:
    ( m+ J; d6 V5 Z% J; G  g
  196. LDA $BB
    - k! ^, k; J  t5 _# b: j# \" l
  197. STA $20069 h4 _4 J& a1 C  @2 T" A) X/ Y* s9 N
  198. LDA $BA
      Z2 [1 a, S! b% F3 R' m3 W
  199. STA $2006- k6 v0 M6 t" b# b4 s
  200. 1 b0 k% d1 D4 f
  201. CL3:( g% G! k; d  n4 L5 P/ U
  202. LDA #$00
    3 K& N7 f' T4 ?& d! r* t
  203. STA $2007
    & @. N$ d) x& `

  204. ' c+ d: C% m: p  {! e+ P
  205. CL4:8 {1 O) O' L, K% b% t; H5 U: G
  206. LDA #$00
    - s+ v+ C- E& W- [6 R0 m
  207. STA $20009 W: U7 V+ c* d6 _4 \
  208. INX. o3 J1 g5 X5 \8 L
  209. INC $BA
    # N# `0 P0 I! b7 }) G6 g) H  ?
  210. CPX #$00  ]8 k( r- p6 l- }; G5 C/ w$ e- U
  211. BNE CL18 h# K: a& @# _5 U
  212. INC $BB0 _0 R+ {: m, @$ \" r
  213. JMP CL1
    - [; }: G1 Z) T0 s0 E, V

  214. / e7 L& @1 K, t% |4 y* Q7 l" @! w

  215. " P. i1 r, H0 q$ E1 \! N
  216. FREEWRIYE:
    * l; x. _4 d( C
  217. JSR FREE
    / D4 u% I0 |' ?% ]4 S  }
  218. / u- d- Y% E7 b3 J2 b
  219. $ s* `$ q. Q3 q2 V7 t0 c
  220. 6 `( B# R3 Z' Q& r. ?6 j

  221. , s+ k, }) ?2 g, S
  222. - a$ d1 H# j) A! y' s" _. `# H
  223. CLEANF:                ; 恢复现场
    - u. \2 G9 }) o3 p8 E
  224. LDA #$08
    1 _- s: g* W7 x% O- V
  225. STA $FE
    * J. p1 Q6 |4 |4 l( N
  226. LDA #$00
    ; q! j, R4 U: p4 Q
  227. STA $07F66 q' h! R, F2 b
  228. LDA #$24% c2 Y- r& k. g6 J* p$ n# I4 W
  229. STA $7FC0) |( i# U/ A! ?6 A  t9 m  s; ]1 K
  230. PLA8 X$ @4 `% ?& `5 X& Z+ {( i0 v
  231. STA $B8
    9 O9 u. z4 H2 L" ^
  232. PLA
    2 \) Y, Y+ G6 r& _2 e
  233. STA $B9: f4 {. M; |8 P$ b) h9 u+ M
  234. PLA$ _0 K. t5 c6 J% p- g8 P
  235. STA $BA( H; y3 ^: w+ x1 \- G" T% ~" k
  236. PLA! k; w- i8 S/ o% W
  237. STA $BB
    , l, r+ d2 f9 s. ~: d6 R( Y
  238. PLA
    4 F8 u+ Q" t8 K* u
  239. STA $BC+ I( i) i. S7 f7 d
  240. PLA1 u$ d; D. E0 y/ A4 d  Q
  241. STA $BD
    + g; C. R0 x- z( l
  242. CLRF:+ `* Z- h! w7 N3 M. I( M! h
  243. RTS
    : J+ ?6 }5 S  B/ S+ y3 P( _

  244. & ^$ n7 n9 `3 I: |
  245. W_DATA:
    . i7 N+ w. u% @- N& C8 p* k
  246. .BYTE $00,$01,$02,$03,$04
    ' i) t+ f& Q- t1 C: s& ~0 k
  247.   
    $ a4 d3 {7 q/ x2 F  r
  248. W_PPU:+ Q( o, w+ A1 y4 N% x  e( b
  249. .BYTE $98,$97,$90,$9D,$96* t# B2 X6 ]' E. ^

  250. 3 [% F' k6 ], g, L8 j1 G5 E9 G
  251. P1_STRING:
    9 ?/ n9 ^) |2 G
  252. .BYTE $9A,$82,$00                ;"P1"0 k: @  V- Y& @1 f/ K7 s0 y& W
  253. 1 s- {3 t% }$ _. I" ]" q) Y- u
  254. P2_STRING:
    ( x& K2 T" c' C" i& n; M" f
  255. .BYTE $9A,$83,$00                ;"P2"1 K* t8 }, s% n  P3 k# r3 R% d

  256. : `. l% o# A7 P7 ]* V
  257. WEAPON_STRING:
    * H$ [8 v  N) F" v9 n: v# U: l
  258. .BYTE $A1,$8F,$8B,$9A,$99,$98,$00  ;"WEAPON"' o4 |, l0 `4 q4 M
  259. 5 m5 @# e$ K0 ]& b  V6 q
  260. RELIFE_STRING:4 o& `8 ~$ `. S/ @; e& P( P
  261. .BYTE $9C,$8F,$96,$93,$90,$8F,$00  ;"RELIFE"" ]$ E* w+ r5 C2 m

  262. 0 }# }4 Z  b9 \  B9 c/ D! f
  263. P1_PPU:
    1 c7 X/ ]5 k7 v# ?$ V( |# L: D" W( d
  264. LDX #$00
    4 U! V& m8 o% I) F4 M
  265. . w( \4 D1 \! I4 y; D+ p
  266. P1_PPUW:
    # D8 f3 b4 Q; u, ~
  267. JSR PPUADDR_PROCESS
    8 _- k4 Q" ^; R% R1 l4 z
  268. LDA P1_STRING,X
    # B, J1 z: R' Q$ Z; ^. J) ^8 e
  269. STA $2007
    6 C& _4 ~# P4 B. w4 H
  270. INX, e# `* x. T( \2 t
  271. INC $BA" W0 d2 ^, F) f! k  W
  272. CPX #$03
    , h6 h5 n$ ^7 f8 L/ E, Z
  273. BCC P1_PPUW# \8 Y% }. M+ z% H* ?
  274. LDX #$00
    4 v+ _  o; j" Z/ Z
  275. RTS4 _8 b0 K0 S2 P) P. l7 ~: R

  276. 9 p/ y- J. M8 t5 d; }
  277. P2_PPU:
    : _$ D1 e+ v% y/ T5 Q  n
  278. LDX #$00" c. I5 D3 A; N
  279. 0 Z* U# v* @' N% I7 |
  280. P2_PPUW:& l3 Y; }: g) v" p  @0 _% c
  281. JSR PPUADDR_PROCESS
    ' u' K, P5 o' i3 E  s
  282. LDA P2_STRING,X
    : d0 O* B- ~( g  ~8 v6 b" W. m
  283. STA $2007
    1 l5 K( x% f9 |) f; v6 U
  284. INX
    2 S% o. W* I4 D
  285. INC $BA6 C7 k( m+ x7 M, W4 R/ S  m. O# |+ W
  286. CPX #$03/ e2 _: L, [3 n2 Y8 `( [- X4 q
  287. BCC P2_PPUW: q; S, ~, @. D  U
  288. LDX #$00
    " `0 h/ g2 q, R
  289. RTS& `2 B. s0 E$ ?' Z4 ]1 _6 L
  290. ( }5 G- j, l7 h  f& K
  291. 3 K0 g- H9 C! r' j5 X5 ~  F+ [
  292. LDA $BB
    - e# R$ D9 D. q- x1 S' t6 u+ z
  293. STA $2006$ z& \* M9 V5 N3 s9 A
  294. LDA $BA) {2 @# i+ x( _, r0 j9 v
  295. STA $2006
    0 O$ m9 U& ]3 o1 M- P- g+ R
  296. RTS8 R2 h: [: R% l+ [/ P
  297. % c0 A" e' E6 K& o
  298. * z- X2 S, _% z% X

  299.   G6 c2 n6 t+ u. S
  300. PLAYERLIFE:* T9 I8 w  D2 Z7 w
  301. JSR LIFETODEC" {) Q9 y+ R2 F0 \
  302. LIFEPPU1:
    / r' U+ B, M8 P8 i0 F
  303. LDX #$007 c. x( A+ |" W( k* d. E8 p5 H# ]
  304. LIFEPPU1RE:5 W/ r8 U' ^9 F
  305. JSR PPUADDR_PROCESS
    9 v3 ^2 e& ^4 \/ I$ i3 s5 H
  306. LDA RELIFE_STRING,X' K" p% i3 }3 W* }! G: X, N5 }( l3 {
  307. STA $2007
    1 _6 U0 t; j: I7 M$ h8 Y- N6 V: C
  308. INX
    ! ], F6 t! [% x' f6 K& e  p# G1 w
  309. INC $BA, u  S& i! w) T" Q& }, S( }* e0 U& G
  310. CPX #$07; W' G+ W' E4 r/ x3 q
  311. BCC LIFEPPU1RE
    ( ^- M/ I% w6 L  u" J( Q

  312. " |$ g- Z2 T: g6 o1 }3 U6 W0 j: s% N- E
  313. LIFEDEC:                ;生命显示写入/ ?$ S; h  A, f9 ^/ O$ V: C  u
  314. LDX #$00
    ( b. r7 o" T/ u. O0 i& B# M, ]' x% ~
  315. LIFEDECRE:5 ?, m1 w' k! I% X5 p6 h
  316. LDA $7A03,X
    1 F, Y# q& {8 y+ v) F
  317. CLC8 |. @4 e9 n) Z( ?5 [% \% s+ Z
  318. ADC #$81
    2 h- R( E$ l7 u" T. z: K4 \
  319. STA $2007
    2 H- J8 i5 M9 O; C5 m; ~
  320. INX" [8 U3 U- w! n8 e; T
  321. INC $BA5 O- Q9 \8 J% g2 V! x
  322. CPX #$03
    5 D& W0 |# u" J2 I9 M
  323. BCC LIFEDECRE9 H- d7 c9 f. z. A( W4 l
  324. LDX #$00
    2 a* ~1 K8 t/ |5 z, \7 F5 K9 }8 k; @
  325. RTS
    * L) C( p6 C5 K; x1 ~: i

  326. ) p; m4 ]) J& Y! [, r! L
  327. LIFETODEC:                ;十进制转换
    5 A* H. g) K$ B! I- j. ?% @% U7 l
  328. LIFEL1:        ;initialise
    4 B3 m9 A0 y  _: F. m
  329. STA $7A00        ;$7A00=F3) C1 u# p4 h" q  {/ k
  330. LDA #$00
    % T, a" y( D$ y9 u
  331. STA $7A03        ;$7A03=00% I4 u0 Q- J$ y, K7 b6 T
  332. STA $7A04        ;$7A04=00
    ( l* K6 j% b$ Y" O5 k: f
  333. STA $7A05        ;$7A05=00+ g# b' I; [$ f! |4 W# V. y- _4 e: o
  334. LIFEL2:        ;copy data $7A00 to 6001! P0 Y/ x$ e! I. w8 o
  335. LDA $7A00
    7 _1 I# K% ^+ @, ^0 {; R
  336. STA $7A01
    / ?. x2 t# l. h. q. ~
  337. * F7 K# f" Z, G9 X
  338. LIFEL3:         ;hundred) z2 n3 E" L7 r/ o5 t8 [* D
  339. LDA $7A014 U) F& e. d0 F( T! j; r
  340. CMP #$641 e3 D' n. G4 z: J3 p
  341. BCC LIFEL6                ;$7A01<100 goto L6
    3 h5 k. l1 |6 ]6 q* G0 g
  342. LIFEL4:6 B1 N4 Y# N5 z7 g
  343. LDA $7A01
      P# F! _5 r9 z. ~
  344. SEC9 [# n! |- A6 B" @0 {
  345. SBC #$64        ;$7A01=$7A01-100% m" j: I9 Z& i4 }7 K3 \
  346. STA $7A01
    ! ^6 z( X7 a$ }. ?" J
  347. INC $7A03        ;hundred++# Y9 k2 c0 y7 b
  348. LIFEL5:
    ! h( b9 _4 q, e# `
  349. LDA $7A01% F  Q# q5 s. ^6 \9 x- v
  350. CMP #$64
    . `% @( g3 O& r# L# a
  351. BCS LIFEL4                ;$7A01>100 goto L4" x& K) e$ A( |$ P* I1 y

  352. , N  e$ E& u; J! ^: A5 n
  353. LIFEL6:        ;decade3 H6 B9 G2 K" _6 G) a$ T8 }
  354. LDA $7A01
    : i, P7 ?. t" j6 B% ^" p& _
  355. CMP #$0A0 ?. p- c3 ]! t( T& C% D9 ?
  356. BCC LIFEL9                ;$7A01<10 goto L9
    0 h& k6 g& ?+ B( I5 h
  357. LIFEL7:       
    . Q6 i5 a$ K6 w' O) X4 j' [
  358. LDA $7A01
    6 D; ~) u' d5 r4 t5 f8 {1 n
  359. SEC1 ^/ t! q: T/ B; G4 c
  360. SBC #$0A0 y; u5 }8 b4 X! J: q( g  _( v
  361. STA $7A01        ;$7A01=$7A01-10- G/ R1 }' I5 W
  362. INC $7A04        ;decade++
    ( ?2 |3 U6 ^$ z. t
  363. LIFEL8:' }" F& k7 G( o2 W" A
  364. LDA $7A01
    : ?9 p% R* n$ W% e  j9 P" p
  365. CMP #$0A
    0 s  z$ a$ |. p+ [
  366. BCS LIFEL7                ;$7A01>10 goto L75 k$ `0 s3 g1 B+ v3 [9 O
  367. ;unit
    / s: f6 }) ]1 i4 c8 p
  368. LIFEL9:: j& h* {$ T5 r+ p( V( r
  369. LDA $7A01        ;$7A05=$7A016 c. _0 t1 t+ v) n1 e1 N/ W
  370. STA $7A05        ;unit: F( p0 w9 k8 z$ E' Z
  371. RTS        ;return# M1 z: m* X6 `
  372. 5 j. @5 j9 Y2 x- m. n$ _" ?

  373. ' \* a0 C/ l% b
  374. : j' q( R) r1 ^8 ^& p
  375. WEA:                ;武器ppu写入
    ; c. x7 x" d& |" h
  376. LDX #$00- L; f1 O% b& ]( |5 G
  377. WEARE:4 L- N7 c4 z( Y, D. C
  378. JSR PPUADDR_PROCESS
    $ l+ |8 z: ]9 F+ O3 a
  379. LDA WEAPON_STRING,X/ t7 u& w7 U' b, A1 I. F9 U
  380. STA $2007/ K0 U& |, r; b0 t7 M  H
  381. LDA #$00  c0 w( ?: j3 }
  382. STA $2000
    * O7 H/ g! a" [: t
  383. INX
    6 [& J7 c+ g  r; H# `
  384. INC $BA% N- c/ _2 W7 ]+ k* H
  385. CPX #$07& q' l! F) d$ M" ?4 W8 O5 Y
  386. BCC WEARE/ Q- P( a9 X5 H- ^/ w' f9 E
  387. ' `' ~2 Q0 e) P5 H4 K3 W$ P
  388. READ_WEA:- E4 x; m: i/ N. R/ b) Q
  389. LDA $B91 i$ z$ t7 W: z# x8 k! `7 w' e
  390. AND #$10
    0 o) i$ C7 A7 X" t# O  K" Z
  391. BEQ NWEA2 p0 Z0 h% y, y$ v. F
  392. SWEA:) M" n! b) b$ V* L3 m' s5 P: }* H

  393. 9 ]7 x; D9 @8 w3 ~* ^3 e2 i5 X( T
  394. LDA #$9D+ ]4 \: s- }0 F4 Y4 a
  395. STA $2007( `& A- C- X# p( t6 Z9 u" I
  396. LDA #$007 M  V" o! t: q' N1 E( u% R6 [
  397. STA $2000
    9 d( v' ]( ^+ s6 v3 E
  398. INC $BA
    0 o: J) O; l" f( u" [* I
  399. LDX #$00( |  X! T1 P+ C1 M# f
  400. JMP WEAREAD! V3 W+ `9 Z7 k, P7 A: O: G: V5 N
  401. NWEA:
    8 A; s" j8 r# K1 u. ^1 N

  402. 9 q2 Y& V" C/ x+ z9 ^. ~# k5 |
  403. LDA #$8D
    9 X4 {6 F& z0 _0 G, Z
  404. STA $20072 q* E! s2 Q9 u+ c. o# A
  405. LDA #$00' ~6 }2 n" `2 T& ^3 g
  406. STA $2000
    . j6 w1 ?) e8 z, Y8 v2 k% M) O
  407. INC $BA( E( m% T* e' z% Q
  408. LDX #$00
    ; J# ?$ K3 P; Y% G3 y3 P. G2 u
  409. WEAREAD:
    ) S, m' Q' J; M5 R1 X  A* z% ]& @
  410. LDA $B9
    2 O, N# [# b+ J! {4 p
  411. AND #$EF5 |1 y# T+ S4 H0 E% I$ [: T! L: b7 [
  412. CMP W_DATA,X
    " @: i7 g; c3 s& L! |% H) O
  413. BNE WEACMP
    % c1 e0 u; v! w

  414. 7 u( h$ Z% T  G9 Q! ^- Q1 t6 L# `
  415. LDA W_PPU,X
    6 l# w+ Q" k' Z2 {+ P" B
  416. STA $2007& A) c  @: F3 P: Y2 L& @
  417. LDA #$00/ u3 _3 k% ]' W! S8 k0 I9 D
  418. STA $2000( N2 n5 `+ H* v) w# u; h' f
  419. $ G  o" P( q3 `( j# P) R
  420. WEACMP:
    0 T& P! ]& @' @8 e* ^9 W/ J
  421. INX& T; o0 w3 p% w6 h& d% M
  422. CPX #$05
    # C) |: p& M3 E* d
  423. BCC WEAREAD
    ; L  k( ?0 m/ f: l
  424. RTS
    + |. d: n9 I+ a% t
  425. ; F  R$ l2 d6 W: w% o6 [6 p. W  ~

  426. , F9 K& P& U& B6 u9 X" M
  427. PPUWRITE:
    " n5 n/ ?/ h* m5 H) r+ S
  428. PLA
    $ Q3 |/ H/ U2 h. Q% Z$ Q" f
  429. TAY. w+ D! h# M0 K* Y4 W" ~* a' z+ `/ A
  430. PLA
    8 g( Y+ {$ H4 d$ r
  431. TAX
    $ }: w& p$ D5 V) C4 e
  432. PLA
    ; S; b5 h" d9 ]" D
  433. LDA $25
    9 \2 V6 C9 q- L# G
  434. CMP #$007 e* L/ V1 A" }! l% T
  435. BEQ WP1
    9 H9 O/ l  O. o3 T& k* [) x' j
  436. LDA $25+ R, @0 y. _3 ~6 `9 r4 q+ V" r! w
  437. CMP #$01# x9 g4 p, @7 T1 h: _) o  m
  438. BNE WRE1 ^- E- R: y! @  g6 m2 K
  439. LDA $F5,X3 \# U/ g" S1 ?9 E8 M9 x
  440. AND #$EF2 D8 C1 [# Z9 S$ h& T, k! q* i
  441. BEQ WRE4 w+ `3 E9 ^7 T
  442. LDA #$00
    1 x( [1 [7 a( G2 ~
  443. STA $7FA0
    * D4 j$ `- E/ l. A0 H* v
  444. 6 f  ~. t  \3 s; J; R7 ~
  445. WRE:
    2 S2 v, b. P3 ^3 ?3 C9 R
  446. JMP $A000
    8 i  Z3 l5 e6 G
  447. 8 B$ h1 F* j4 B& X/ q8 }
  448. WP1:: c* C/ u; _& n/ d. x# _. X
  449. LDA $7FFF* {8 ]6 R0 s  _- M: ^0 _
  450. CMP #$FF5 [, q. K! A- t  Z1 k
  451. BNE WRE
    , D; l2 L4 |" @. X! h* s
  452. LDA #$00
    ( ?6 d+ S9 E) d' q  i& Q
  453. STA $2001
    , T! O5 x* k2 L" B3 r9 g$ V
  454. LDA $BD# s8 A- E' E  v* ^
  455. PHA" K: {; C: m  e
  456. LDA $BC& g( s% H0 e) Y* v' b
  457. PHA5 \1 v& ^3 J7 n. _$ }
  458. LDA $BB) v1 m! y1 m, X+ ?9 ?1 f
  459. PHA) `; L/ e6 ~3 Y
  460. LDA $BA- G7 U6 Y! W0 I
  461. PHA
    ' z: {' P6 ^; e( Y
  462. LDA $B9
    . z9 n; f: d5 P
  463. PHA
    ) f  @( `0 D4 C" x8 C+ \
  464. LDA $B8: h. W2 }! w5 A+ M. A4 n
  465. PHA
    * c& B; N3 g# ~. i
  466. LDA #$00
    0 i, X  o/ Y1 Q* ?; c& c& W; P
  467. STA $B87 z6 r9 C0 E- @. Z( P" x  `
  468. STA $B9
    4 B. m- w3 `! J( s7 c- n
  469. STA $BA: Z" {/ m0 N' H# V$ C1 |3 e
  470. STA $BB
    & E8 M( I& l- w, w3 F! d, J  `' G
  471. STA $BC$ Q# p2 u& J% N2 y2 }" w8 X; [
  472. STA $BD
    & \; D/ `1 a8 U7 Z; _3 I) A5 W) e
  473. LDA #$00* Z# o' L( M; x$ L% t
  474. STA $7FFF2 W/ y5 [( X0 e% Z8 C
  475. LDA $30; o7 S; R- O/ R. G! Q5 D
  476. CMP #$02
    ; X2 B" i: K+ x' v& A; v
  477. BNE UNPROCPL6 W" B. {- ^( S; M6 _6 h; J
  478. LDA $7EFC$ f' q0 x: B! {
  479. STA $FC
    7 _% C6 e* @0 _% @, E4 j
  480. LDA #$00
    * T$ g" f/ X, [7 I( o$ |9 j
  481. STA $A4
    . M! Y: k$ c; i
  482. STA $A5% E( P# ]  ~/ B/ A" E
  483. UNPROCPL:
    + z+ y: t( [. ~
  484. LDA $7EFD
    8 [9 h) E& ?& k- B# J' H3 y
  485. STA $FD
    ; Z+ U( M% b* @% c$ Z0 o
  486. LDA $7EFF( U$ O" }9 W6 d( g' Z$ U7 m
  487. STA $FF- t" p; ~8 Q. |3 s% w
  488. * Q! ?6 H) h. y3 M3 {" ]7 T( ^
  489. WL0:: `" B1 c+ O0 x4 \9 a7 @
  490. LDX #$00( f/ J" f, I5 q. u' E
  491. LDY #$009 P9 g3 F* ?2 e" Q  K
  492. LDA #$00; K7 C0 l+ s1 }8 J& [! g
  493. STA $BA& Z8 N* z& l$ Z% b0 u
  494. LDA #$20$ I, z1 u% a$ |# q! \' `) Y$ _3 v  W
  495. STA $BB
    # c9 u( v' S1 @6 i0 o2 H: w; N7 l5 S
  496. LDA #$00: R2 C9 E. M6 b1 s1 A* \  m% k
  497. STA $BC/ s# T! h7 }* ?5 d; i$ @
  498. LDA #$60
    8 `+ `( a1 d% _+ B% s/ E* I
  499. STA $BD
    2 a  u" W" y* d

  500. - |& Z# J# k; F9 F2 f8 n
  501. WL1:
    , F, L# j& G2 v& |6 r& s/ ~# _
  502. LDA $BD, x) T- s) B3 O# f) l
  503. CMP #$70: z7 i* w( I3 C1 s$ v
  504. BNE WL23 B2 y5 l+ h. g' d
  505. LDA $BC, r, e4 ~: \. a  J8 T
  506. CMP #$00
    & y0 I! ^6 d& v( w- i' k, t& v
  507. BEQ WLR! e% y* o: T. n6 f

  508. % K% d, M; u: o' S* c# O
  509. WL2:
    7 t9 |9 l. v+ M% W' N! B
  510. LDA $BD- s4 ]) U% F3 d2 R  d- y6 z9 }
  511. STA $2006/ @: |6 q" V3 @" g4 H1 V
  512. LDA $BC4 [# g* ^7 C# A, a; `
  513. STA $2006
    4 ]; M' d" T( m* H, S8 I
  514. ; G, V# s% A. g& @5 c- Z
  515. WL3:! z/ t4 v0 R1 m  x4 `, u' |$ ~
  516. LDA ($BC),Y% `6 [* c; v5 U; \4 _
  517. STA $2007: o$ N- V5 B& \9 P; k4 {- k
  518. 4 I% {1 L+ ^$ z' t4 ^
  519. WL4:8 L) \7 w: s  x8 V9 k' u( \3 Z
  520. LDA #$001 h: L# i7 k: l, T
  521. STA $2000; Q& `' B2 q, a
  522. INX
    8 c3 y, c0 [2 _4 @2 F
  523. INC $BA% B/ }4 F" a  m: x
  524. INC $BC5 E6 _6 Y; g: u* T5 x' [
  525. CPX #$00  W. x  Y$ B! O3 Q9 L
  526. BNE WL1
    " d& r* k+ p- Q/ W* `9 E; Q
  527. INC $BB  Q7 A8 J$ r! X: p0 A" r
  528. INC $BD  `( f8 N+ i: S2 G9 @# g
  529. JMP WL12 y  h* r' _+ R- `
  530. 8 b. U* {; R# b& n! n; i
  531. WLR:* K7 g6 g9 D5 M3 ^; M
  532. LDA $7FFE
      B  w- G7 ^: P& u& C6 K0 P
  533. STA $07F6' q' R: c2 ~. T
  534. LDA $7FFD7 Z. g2 q+ ]# B  G
  535. STA $00FE1 G5 E( {+ ^$ `3 T, \$ i2 ~5 t' R2 o
  536. LDA $7FC1
    0 B# G3 g% {! _8 `  s5 U
  537. STA $07C16 P, b" z. @7 H
  538. LDA #$3F! ?/ u6 k, M% r4 a' e$ W0 X+ i
  539. STA $2006
    5 ]1 O- _8 z0 i% i( |
  540. LDA #$01
    2 y: [1 B+ y- S* {; B& s1 ^
  541. STA $20068 z# Q& R  q* r( u
  542. LDA $07C19 B! h  b- b; o1 t
  543. STA $2007
    4 ?+ ?: A6 o: V3 ]1 V; L) y0 b8 |  x
  544. LDA #$00! X" p' ]% D' S" q/ u& t+ c
  545. STA $2000
    ; W: j3 L7 Q, h: [5 ~, J+ p! U
  546. PLA
    2 M0 Y! }; M+ d0 I+ ?& p6 H; h
  547. STA $B8" W% K! z* o& e' O6 @
  548. PLA. C8 q; }4 U. N# X5 i
  549. STA $B9
    ! C5 N8 {2 v* T
  550. PLA
    3 b" @( ~5 V3 F, a
  551. STA $BA
    2 ?  d8 F7 X' D" s  T' S" t/ ?
  552. PLA
    6 S( H. t+ L% }. d" f
  553. STA $BB! u; p+ x/ n5 a
  554. PLA
    ! {( M! _7 O; a7 t
  555. STA $BC9 j. l) S, d  ~8 ?; k
  556. PLA
    - `% Q# e. }8 R; c6 ^
  557. STA $BD; O* G! Z( @6 I2 ^
  558. JMP $A000+ u! _1 m8 V3 r. K! v# L

  559. ( l* B9 V, _0 y% t0 O
  560. FREE:                ; 暂存器保护
    ; z% w: V( H( y( N9 K
  561. LDA $BD
    / V6 Z9 [' ~5 e3 W$ e  |# g
  562. PHA
    " o5 |4 c5 `- \$ c) t# ?1 ?1 [
  563. LDA $BC8 [, I& u, F2 A) r& f# P# n
  564. PHA
    2 S/ x2 E4 q+ m
  565. LDA $BB( N8 ~. _) N1 o7 ^2 N) a6 P
  566. PHA9 z. G! A/ a# z9 ^
  567. LDA $BA7 f4 h+ z' N6 e% H& K2 b* Y% J
  568. PHA4 C& {6 j$ ~$ i( z, b5 `/ Z& _4 Y
  569. LDA $B90 V3 U- W! r* F4 S* _
  570. PHA$ {, s' j. _: U3 k
  571. LDA $B8  Z9 ]/ W& }' Q1 |! F! [& d
  572. PHA0 G$ B" U7 a. w9 A: C! i) v
  573. LDA #$00
    4 S9 s: y' L' k$ \* z
  574. STA $B8+ T* Q( D# b. f: i
  575. STA $B9
    0 n! C8 H) X7 d$ O4 R- c! n0 @
  576. STA $BA
    7 ]" L- L- v9 U" }9 V" Y* P, Y
  577. STA $BB
    3 B' t; \6 i* U  w; r* Q
  578. STA $BC# I) T' r& G  `' E2 x
  579. STA $BD
    0 V7 O% ]" c% c+ h
  580. 0 z6 S# w4 ]8 Q; i: U2 ^3 u
  581. WEAWRITE:                ;武器ppu写入
    $ R1 z& Y( v. e; {1 Z* v$ C
  582. LDX #$00) T, P! h! x+ \- T' j! {
  583. LDA $AA
    % |2 \& z- u) {8 U
  584. STA $B9
    $ p% B% \- _5 ~) h
  585. WEAINI:                ;地值初始化
    0 A; f- n9 x  f( E+ X! Z$ c8 Q& L
  586. LDA #$A4
    9 x& t) }0 r, G' m
  587. STA $BA
    ) A+ B1 g: d0 `; c0 t5 ~( }/ D! `2 P
  588. LDA #$20
    & ~  ~; m$ b; V* C1 O/ x
  589. STA $BB
    . s, e2 `  X$ s8 [) C7 w
  590. ! S4 L- ~& s# z& z  U* l' g* a
  591. : W" ], q- ?; o  }+ B7 w
  592. JSR WEA* j& W" W' D. \1 T( o% K- x
  593. LDX #$00                ;武器ppu写入; \6 m  c# o5 v- D' W
  594. LDA $AB1 m: E7 x. m' a) j* w2 u1 `
  595. STA $B9
    / S- s% [. G% U$ g6 I' a/ Z. M3 b1 }7 F
  596. LDA #$B34 D+ @5 X+ Q, z& f4 W* k
  597. STA $BA6 f6 f! U2 B  `- ]
  598. LDA #$20
    2 }! {; r- @" L. i
  599. STA $BB/ W0 e) A# Z' O6 w/ t5 \9 Y2 j

  600. 9 b" Q; G7 G) a9 `- Z" |% A2 K
  601. " @. ~- \! l! ^; W9 k5 r2 K8 \
  602. JSR WEA
      @1 A- Q# ~% p+ L% z2 D
  603. 0 @) K' E- b* F6 |. @& o% }
  604. LDX #$00
    # f" q: n3 W8 \+ O7 O( M5 ?3 a
  605. LDA #$E4
    $ b3 S" V9 l# ]  D* A
  606. STA $BA
    " x7 ?& T( z+ ?: }3 @2 L
  607. LDA #$20" m+ C* h5 S' g% |
  608. STA $BB$ `3 j6 k9 ~0 ]( \

  609. / \# u0 k& T( N& z/ i! x& F7 m9 |% o

  610. . y% F  t0 t! y* ^( K
  611. LDA $322 {5 f8 i. Y& a
  612. JSR PLAYERLIFE: g* m# n/ {1 X, _
  613. 7 ~8 a* Z, }/ d- u/ a
  614. LDX #$00
    7 u: ]. C0 U, m' j8 X* W& F7 ~
  615. LDA #$F37 d9 d1 {& x; n) `2 `
  616. STA $BA
    # g! K/ s" k: n& C( x/ T
  617. LDA #$20: `! E8 ~5 i( D5 t
  618. STA $BB
    ; V% c* ]! R* u' X, M0 z: {

  619. 7 {" f& K$ m5 E) F" l

  620. ; m) o* A& N  N
  621. LDA $33( K, D, _% L) E% K0 D3 u9 L
  622. JSR PLAYERLIFE3 C. W# ]* `0 P6 Y' R* i9 z5 _
  623. 8 D! k+ a( H5 D  {) q2 F( F; U* z

  624. 9 _4 `! S) L; _$ ?
  625. JSR PLAYER_01_PPU
    ) s# T' a, L1 L; k
  626. JSR PLAYER_02_PPU. u3 o5 C  R  L. Q* S; M% q6 z

  627. * s, R% c2 D# N2 p
  628. . c7 F% H5 w0 B/ E5 ^: Z; Y
  629. JSR PAGE_PPU
    3 o1 D7 T6 {) U$ S' Z9 }% Q
  630. JSR PAGESELECT. K; w* k( _0 b) C: ^* `; O3 a

  631. ! w! s3 k6 Z' W3 j

  632.   z6 ]1 y% W9 c+ D# v# _0 D
  633. 3 `3 O+ a/ ]* M. ?4 h
  634. * ~9 S' S, \. a: y6 |4 ^8 X
  635. + T3 z  q2 s6 Y8 D! r' a
  636. / V" T5 {4 i9 S  A: ?# z
  637. # V0 B4 A( M: x! K- Z0 R2 {

  638. ' F6 z: k$ B: s( d: d) D  m# Y
  639. # V' b# g! K- V* }

  640. % s: V. M$ Y) u4 G# f
  641. 6 S! ?: c$ A& U+ q1 u9 v

  642. + D. X3 U) y7 F8 o
  643.   c0 p8 X7 }$ y9 x; A# d" n  e1 x
  644. PLAPRO:                ;恢复现场* I, C2 |: l- N& c9 I$ f
  645. PLA
    # d+ p9 V/ }$ n+ ~6 j
  646. STA $B8& e3 A1 U# u+ x: s. e" _$ s5 q2 J
  647. PLA' n) b2 T3 j2 H; j8 Q) d+ c
  648. STA $B9
    , E1 A; A2 k& A3 P3 A. k4 f7 B- b% b. p
  649. PLA- a, Q& V7 U4 w/ n
  650. STA $BA4 m, Y) k: G. n$ [' V
  651. PLA8 @% y- R: u- D6 P! E7 p
  652. STA $BB4 g+ N8 ^8 \- c- o: e- R
  653. PLA
    3 f, J. d' Z8 U8 U  g& }
  654. STA $BC' N; \& r0 n. n9 q$ P
  655. PLA* K. t; v' c0 i3 y* @! w% `
  656. STA $BD
    # Z# R1 o( h! f/ G4 S8 ~- S
  657. FREERTS:0 Z) T) k( P1 W, M
  658. RTS- e! `! P- y, l' E9 \
  659. 6 Y; q% S* T- d9 F
  660. INVINC_STRING:                        ;invincible
    . K% T% s, [# r  M' H& R6 V
  661. .BYTE $93,$98,$A0,$93,$98,$8D,$80
    ; q0 _7 L0 Y- U  S; X
  662.   ^. y$ M; l7 B- R# s* z$ [
  663. INVINC_PPU:
    8 ]% R& N) o& e% c; p4 a/ {
  664. LDX #$00+ f) @; X( w4 x( i1 v: N
  665. LDA #$621 V3 v: m! B5 |
  666. STA $BA( w3 A" W: t. q  ?) J4 T7 \
  667. LDA #$21
    5 b5 s6 p6 `6 r: D& s! D4 Q/ H( N+ o
  668. STA $BB
    , H! B& l4 h0 e' |, ~9 p
  669. + u2 w8 _$ s" }9 ?6 t, j! b) g- o
  670. ) W! D# f7 b  w) ?, A
  671. JSR UP_PPU  R, }# @) v. B. x
  672. JSR INVINC_WRITE2 \) [- c9 ~4 x6 U1 h4 y
  673. LDX #$00
    / |* k8 j* U  u+ I
  674. LDA $07A0
    0 ?  I$ k, }. Z  \: @$ N
  675. AND #$01; g& H2 B$ [7 M
  676. JSR ON_OFF_PPU  P; |& f1 P# [& j; _' k; @* a8 Z
  677. LDX #$00
    - m6 B2 w" A' t/ L, O7 G
  678. LDA #$71
    ) J( p, |; y' h. B- O: _
  679. STA $BA% o8 j# T: K$ A( C6 J$ `( l
  680. LDA #$21  M  {" k3 G! S9 v
  681. STA $BB( ]6 ~# p* R+ B. P. P1 Y

  682. / a6 b1 T5 \' ?8 Q1 h
  683. % o, e) v& k' `; I/ q
  684. JSR UP_PPU
    + n1 J) Z3 w: x* L6 Z/ l( a3 o# t$ y
  685. JSR INVINC_WRITE# M$ }3 @2 E1 U
  686. LDX #$004 m; I% X5 @/ N; f8 X1 e
  687. LDA $07A1# O+ U9 H# c' ]5 i  O
  688. AND #$01
    2 D9 u* x( ?3 W# I
  689. JSR ON_OFF_PPU
    ' J. p& N& v! S  F
  690. RTS  H! G# {8 I6 @4 ]- J
  691. , H3 N) o/ ^9 E! S+ q2 J0 j( z! O3 v
  692. INVINC_WRITE:
    & M9 Y. Z+ F. a, Z5 [7 k
  693. LDX #$00& f* v0 b* x, M# R3 n1 F
  694. INWRITE:
    & @& {/ p; v' ^/ U" S8 W
  695. JSR PPUADDR_PROCESS
    0 ~+ g) Z# r- |+ ?0 O2 m! m
  696. LDA INVINC_STRING,X
    9 b; s" h3 t- d9 M' t: ~6 T
  697. STA $20074 l5 d3 H: ~  I# O. ]* r
  698. LDA #$00
    - ^2 C( ?. D4 p, o, [  _7 c
  699. STA $2000
    2 ^, J. ~/ q' j, s: G* ]
  700. INC $BA
    7 P. J) X% W+ e3 A( K5 o
  701. INX, Q$ d( }+ E/ [" D* v
  702. CPX #$07+ d' b9 M4 i3 D1 k2 J. q, B
  703. BCC INWRITE
    # y4 N6 y& n) u( l' {6 c
  704. RTS
    . L. F( A! t% i* [/ M# ]

  705. & {& Y+ _3 ~" M; E/ V; k
  706. ON_STRING:0 u3 `0 U" {- m  a% g
  707. .BYTE $99,$98,$80% e2 [& J% T1 d2 v5 S& ?4 B! x
  708. . n7 ^; u; l. T
  709. OFF_STRING:
    9 j  @4 v; I  b2 Y6 {3 D7 T
  710. .BYTE $99,$90,$90  }" i  |/ v; s+ W4 [, ?( W9 m

  711. ) \4 L; V7 n8 a% H, i9 @1 M, C& j
  712. ON_OFF_PPU:9 v- O& T, Q+ R7 Z# v; `) G9 O' i
  713. BEQ OFFWR/ w* L* e+ z& H0 \* s' _
  714. ONWR:
    $ `7 P! o" F8 q' T/ k& \0 l0 U
  715. JSR PPUADDR_PROCESS
    2 r* f- A9 r& _1 Z2 k& r2 b$ f
  716. LDA ON_STRING,X
    ( P' j6 J8 u  m& _/ F5 I: F
  717. STA $2007
    3 z& F5 h3 G' R1 R, P# Y6 m/ `( T4 O
  718. INC $BA$ L+ C: `/ J' o1 T1 f
  719. INX
    " O( A' L- \! Y& T. r1 P
  720. CPX #$03
    % D' V8 q  Y; `; o
  721. BCC ONWR
    ' z3 n' e5 d, E& K: h
  722. RTS+ V( M6 r7 D/ S. O9 Z
  723. OFFWR:
    : ]2 d. {" X: @3 p5 U
  724. JSR PPUADDR_PROCESS
    $ O1 @8 ^6 A7 l- i) N6 Y
  725. LDA OFF_STRING,X
    ) N% _8 R' h$ S; h
  726. STA $2007
    9 x5 c9 {" {  I; S  k" z  r
  727. INC $BA
    5 i- [- {$ `( N- T
  728. INX
    6 p5 P2 h1 K1 n' L, X
  729. CPX #$032 W9 {% m' @; W0 L# U
  730. BCC OFFWR
    * }1 H5 s/ e+ |$ y
  731. RTS9 _  u* ~7 ~: j+ L% d6 f

  732. * ]+ A, J1 X# N& D
  733. LIFELC15_STRING:6 o  M) f0 c0 y: W, n
  734. .BYTE $96,$93,$90,$8F,$82,$86,$80# Y1 \$ x: t% g* r

  735. / |0 ^5 a& ]: j8 W; [' y
  736. LIFELC15_WRITE:
    ) A7 n3 z5 A" d/ C# {& z
  737. LDX #$00; s' C3 o' V" G/ t8 m# a
  738. LIFELC15:
    . K( e2 B5 Q. k& s3 r$ A* {- L
  739. JSR PPUADDR_PROCESS
    % U( z+ U, @- `
  740. LDA LIFELC15_STRING,X
    * T5 a7 D+ c# L) l# w
  741. STA $2007
    ' w3 f4 ^, j8 r# Z
  742. LDA #$00
    : c8 {& E7 ^+ \+ M! P7 _* y
  743. STA $2000
    * q0 U- h5 ?' u% h9 G/ O
  744. INC $BA
    8 c* t# p# T/ o  A* z2 d
  745. INX& m, @% i. S) @: [; Y+ |, l) g
  746. CPX #$072 ^0 E& k* L1 g7 K: c+ e( q
  747. BCC LIFELC15
    ; P/ ?. {1 c  Y7 N
  748. RTS
    5 I, V& V3 d( a2 {' F: Q
  749. # [! N4 S# k: {8 f
  750. LIFELC15_PPU:: o" v9 Q! z5 h- S8 i/ {
  751. LDX #$00; M8 S( {5 X" t1 [* U  j  M  a
  752. LDA #$A2
    0 ], `* a. i+ D, _7 J( E
  753. STA $BA
    3 A. M( w. Y" I. A
  754. LDA #$21
    " U7 B( d: Y8 `5 d% H
  755. STA $BB
    , D4 O. h9 g  J- U1 G: t
  756. JSR DN_PPU
    . U% y/ `% a+ c) i
  757. JSR LIFELC15_WRITE
    ! R& }. C9 U  `) |/ P
  758. LDX #$00
    . k* [$ x  Q: n3 b$ q
  759. LDA $07A0
    . l/ R1 l3 g2 |4 a* {- F  J* X" h
  760. AND #$02
    4 Q  }* @1 G3 B& E4 h/ x! I0 A
  761. JSR ON_OFF_PPU7 g3 P2 a) n( J
  762. LDX #$00$ S$ D4 B( V- f
  763. LDA #$B1
    7 S1 P* q; R+ r6 p4 t1 V
  764. STA $BA
    0 X" K/ p# M; m& R# y6 g
  765. LDA #$21  U: ^: y. N- O+ U- A
  766. STA $BB& p9 n5 V( z8 E8 E; w1 q
  767. JSR DN_PPU
    0 W! C/ F& J1 L9 x3 q! _
  768. JSR LIFELC15_WRITE
    ' N: ]" @! P2 f/ q" E
  769. LDX #$00
    ( P) K' l' a2 y6 G4 S
  770. LDA $07A13 u/ P: e. B! W! ~- }8 A2 B
  771. AND #$02# h7 |/ }7 B3 r/ H
  772. JSR ON_OFF_PPU- r+ ~- F- I5 d% P
  773. RTS. K$ {  c  d$ N% r6 h* c

  774. 6 n, P6 `. C! j& o7 q( r; }; i' B- ]
  775. DOUCON_STRING:
    : q9 q" |. b+ T6 L0 |3 Y3 h2 A
  776. .BYTE $8E,$99,$9F,$8D,$99,$98,$80
    & D; k: V* d* K$ `

  777. & W+ j- [% ~5 r6 ^9 C3 L
  778. DOUCON_WRITE:
    5 o5 m  V2 U, W" t1 Q8 R0 W
  779. LDX #$00
    1 O# F0 @( K4 ~: [
  780. DOUCON:
    5 B' |2 F; K% {/ d& ~
  781. JSR PPUADDR_PROCESS0 _7 W7 s3 P1 t* [
  782. LDA DOUCON_STRING,X% \0 L: l5 ~* S2 _
  783. STA $2007
      `4 U% e, L( w$ |2 i. ]
  784. LDA #$00+ \: d) @9 T& j
  785. STA $20006 i, J- c9 y- k1 n1 k( j; h
  786. INC $BA
    3 [) |3 Q4 t5 |
  787. INX0 q5 s6 ^8 ^' |# |
  788. CPX #$07* \6 U/ l5 n7 U  c  U
  789. BCC DOUCON
    5 @. F" g& v* `9 Z1 @- |. q  p
  790. RTS
    1 u# o: B" S- ^% R* p$ j  k, K7 P

  791. , G1 _/ z( D& S( E4 z0 Z/ {8 R/ w
  792. DOUCON_PPU:' p% s  d+ K8 r) R- I
  793. LDX #$00
    ( f' s$ S& O# n
  794. LDA #$E2
    , c1 U. _  o* P. j7 _  C
  795. STA $BA
    5 n8 M+ @& O1 t  G8 J% l; T# Q, ]
  796. LDA #$21
    # h; t# U  y3 h( E, b% r7 b
  797. STA $BB( \4 M# s4 P+ ^" |9 H" t
  798. JSR LF_PPU4 @7 A! w' T* l$ X  n
  799. JSR DOUCON_WRITE
    ) d$ _! T7 D1 W
  800. LDX #$009 s7 E. q# b% s& O# f
  801. LDA $07A0
    ' {4 N' k( t- V7 P% ~; c( V& P
  802. AND #$04) ~+ p& b0 U6 n$ x3 N# K8 {! m
  803. JSR ON_OFF_PPU0 a! ^$ o; @, z) L% U8 d
  804. LDX #$00" b2 y2 a9 T0 `3 F) }' s* ?
  805. LDA #$F1
      s" p7 w( |/ i
  806. STA $BA7 B/ q( [* H1 ~2 w
  807. LDA #$21% T% i: |2 O9 [$ n9 {
  808. STA $BB8 h; n6 ^4 y( [, j1 d
  809. JSR LF_PPU1 X' c4 Z6 x) k. O: p' l% p
  810. JSR DOUCON_WRITE
    / T% l' P' H9 J9 K( h1 m7 z
  811. LDX #$00
    0 Y9 H; d- g- C
  812. LDA $07A1
    1 [6 r0 r# C& w- e% s
  813. AND #$04
    0 X9 E$ @0 _6 H, Q. I
  814. JSR ON_OFF_PPU) N' [% n6 f% ^1 D1 l! c2 i0 R
  815. RTS. R- y7 ~6 Q" c- G9 o) K8 l: x

  816. 9 l& h" r7 b# u
  817. LIFELOW_STRING:
    7 ~) g- m, o0 P1 T
  818. .BYTE $96,$93,$90,$96,$99,$A1,$801 F" m, Q) a" c. ]) c; h

  819.   \* K# x, K) [7 \
  820. LIFELOW_WRITE:
    9 G9 ?. x0 I, I" o
  821. LDX #$00! b' k) w8 y' r; F+ n
  822. LIFELOW:' U4 o& f( D$ K3 N" ?
  823. JSR PPUADDR_PROCESS- c% i0 ]1 h) y
  824. LDA LIFELOW_STRING,X0 W% N7 ^. `, W0 @2 b9 b' y
  825. STA $20071 |. {8 Z* E. n0 Z5 a9 T
  826. LDA #$003 }" d9 O) }' E5 u7 e
  827. STA $2000# |9 G# ]$ _" X& t1 P
  828. INC $BA0 d: ]) F' D4 D: {2 R* g
  829. INX
    4 d7 p& q& J, Z" b% M( T* i5 H7 n
  830. CPX #$07
    & C9 ^7 A! v* m+ W1 V5 B0 `
  831. BCC LIFELOW& o" H, T/ U& V
  832. RTS! v3 F$ N4 `4 h- ?$ u* F
  833. ' O* _4 h7 s5 @
  834. LIFELOW_PPU:
    0 P5 Z* m4 h: q% ]" e
  835. LDX #$00
    ! x: ]* |6 t# n" D' R/ [, u" q+ E
  836. LDA #$221 q0 o- ~" [9 ]/ Q
  837. STA $BA
    2 |  p. ]; l& k8 M, X
  838. LDA #$22
    ) g; W, @% S# n- R4 b1 ^
  839. STA $BB6 }9 E+ B$ q8 ^1 t! M% P, A

  840. ' u0 X$ Y2 D6 A! q/ {, u* T( ~
  841.   H2 G5 {! ?7 A* E+ X+ ]
  842. JSR RG_PPU
    % }$ p$ u( c; ]$ p" G* ~: J, A9 M  T
  843. JSR LIFELOW_WRITE
    * K( D. W9 ~3 h5 b9 _0 H
  844. LDX #$00- ?8 V% Q( N/ y5 k4 j
  845. LDA $07A0
    9 K' o8 A% S5 t# r
  846. AND #$08
    2 u2 R: l: Q- H7 z2 ?
  847. JSR ON_OFF_PPU1 v+ |7 y0 n# ?' ^; T
  848. LDX #$00# ^. \% @9 G6 {; w/ d2 p
  849. LDA #$31
      `$ |# F* _  R; `0 S! o
  850. STA $BA
    8 V/ w; A& c, I5 R  P0 j* ?( C
  851. LDA #$224 b  ?3 v  d. n6 q3 q
  852. STA $BB
    ) ^& l" ]3 C1 W& n/ Y+ `

  853. 2 D6 p4 x  I: }

  854. ; {; x: A" w) L/ g. b9 L
  855. JSR RG_PPU% m2 m+ |' m" [/ {
  856. JSR LIFELOW_WRITE3 B9 ~+ g( y' D
  857. LDX #$00: i8 A6 c+ q7 \) V3 m1 [; V
  858. LDA $07A11 c  a# n. T+ p. p: Y
  859. AND #$085 C& L5 n( o0 X+ V; Y( {
  860. JSR ON_OFF_PPU
    1 G/ ~: P- ~& r1 G
  861. RTS
    ' v8 s+ f  ^/ }' c3 H& W

  862. 5 B+ S/ O5 T- |! e
  863. KILLON_STRING:1 N# F: Y! j% l7 h+ Y5 B
  864. .BYTE $95,$93,$96,$96,$99,$98,$80
    + C' E; K, f) V1 ~- J

  865. 5 V8 S- f/ Z' h
  866. KILLON_WRITE:
    4 o$ u/ g, F5 h% g4 t! E/ Q
  867. LDX #$00
    2 s( K, a) e5 c1 P
  868. KILLON:8 ?, i& @0 p: H# e9 B' D% G
  869. JSR PPUADDR_PROCESS4 w' F: p2 e) ^) _
  870. LDA KILLON_STRING,X! e5 H& k  Q+ Z/ y" u8 j8 r$ b
  871. STA $2007
    : a1 C; F* e$ G2 H; |5 s
  872. LDA #$008 a) l4 m- B$ A0 j0 o3 _7 e6 N. D
  873. STA $2000
    7 d, `$ Z% F/ D. Q
  874. INC $BA
    " M* C& b: ]. r$ S7 v
  875. INX' k6 {9 @1 t' I) c
  876. CPX #$07: v# g/ x8 }0 l9 E# t$ x# C4 o
  877. BCC KILLON! x7 G+ r! M. s* r2 A
  878. RTS, o) l' m* _& g) n+ g; ~
  879. ; O5 R% _2 b% `% V& @: w
  880. KILLON_PPU:0 e9 e" y  A0 J9 }% M3 V) Z
  881. LDX #$00
    4 M* t# ~5 _* m$ F1 j  y% o
  882. LDA #$62
    + F; q/ z% s% w
  883. STA $BA
    4 @' v" a9 g+ U4 q' n# _
  884. LDA #$225 U4 @: f) S3 v* f0 I- u: `% d" C0 I
  885. STA $BB9 J0 {5 Z/ @3 O% }* {( k

  886. . X- v; o: s$ O0 b- ~( d  c% I
  887. 3 f* W4 h8 v2 U- L  u
  888. JSR B_PPU7 ~0 W6 ]. J, Y: l
  889. JSR KILLON_WRITE) X5 S2 C+ g, g
  890. LDX #$00
    4 b7 V# o+ y. q' O$ P
  891. LDA $07A0  T" X4 K9 @6 W2 e
  892. AND #$10
    # C. D1 K9 s1 C6 q4 K" y
  893. JSR ON_OFF_PPU& o4 H, V4 [+ L. u2 x2 x
  894. LDX #$00
    : k7 v- C8 `8 I0 y1 {
  895. LDA #$71
    ; B& m" P  n; z1 I. W9 {: `+ \
  896. STA $BA8 |% Q! ~% Q/ y/ C0 G, M
  897. LDA #$22
      ?* b) r% o* U: }2 X' A  x" B: O
  898. STA $BB3 k9 ?8 q& _- m! V( e  T/ `
  899. 9 V& \% m( I# F- P* t) {

  900. / z. D9 j, c7 S- W& Y! J
  901. JSR B_PPU
    % N. f- g2 |  Z$ k0 ?
  902. JSR KILLON_WRITE
    2 C+ W7 l. i+ t! m, v4 Z! {
  903. LDX #$000 o( Q6 H! G  E$ |
  904. LDA $07A1
    9 d4 S) n) B% ]/ r7 C
  905. AND #$10
    4 D# Q4 B$ @. c! ?5 ]
  906. JSR ON_OFF_PPU
      d% ]& M) S: X5 D) J' p
  907. RTS
    5 u: f+ h2 K  {5 c( G- Z' r9 |* T

  908. * R3 G0 E5 N/ ]
  909. SKYFLY_STRING:
    + e3 J5 Y7 a$ ]2 J3 R& q; n; [2 n
  910. .BYTE $9D,$95,$A3,$90,$96,$A3,$80
    * \& _, U0 [3 a+ O# X

  911. , l; X4 M  H: I  L& n8 e7 g5 L
  912. SKYFLY_WRITE:
    2 [% W$ l& J+ P$ Y; D  o
  913. LDX #$00) U5 t, K: Q2 U
  914. SKYFLY:
    1 h* o' L% Q/ `5 ~
  915. JSR PPUADDR_PROCESS7 T  P+ w  u' s' g: c, h
  916. LDA SKYFLY_STRING,X9 n8 j5 R. @, [2 A# [9 F  P) R
  917. STA $20070 a7 @+ g- y3 w
  918. LDA #$008 i4 E5 D9 Q, m# [% G* c. ?
  919. STA $2000* B4 r: o8 v; v: `5 f
  920. INC $BA; M0 `" _. i0 Z  @) z0 Y
  921. INX6 _& g0 ^: l# _
  922. CPX #$079 J' ?3 o( B$ h
  923. BCC SKYFLY
    ' G( o% b/ ?8 m9 |9 q  M
  924. RTS
    1 `8 w( Q- m9 s! e
  925. 4 L( ~* D% Z; m+ Q4 S
  926. SKYFLY_PPU:, i! _! d0 B! X. p9 @, O: V
  927. LDX #$00
    , }3 I1 p. @1 j, Z: J4 ]" j
  928. LDA #$A2
    6 O! r3 d: y9 U2 Q- Q1 |! c
  929. STA $BA1 O$ C  a8 B/ [  t6 t( {
  930. LDA #$22
    ! L+ C/ r+ J' o, q) `
  931. STA $BB
    3 }  x0 ^4 _: E* e, A# d
  932. ) x% ~) d  }& O" n
  933. ) e5 e2 R6 V, g
  934. JSR A_PPU
    $ A8 G, L: Y, {( H
  935. JSR SKYFLY_WRITE
    , T% E/ B( n# M- C, u' T
  936. LDX #$003 v& y2 Q5 u9 ]3 p  `4 W* I
  937. LDA $07A0; a) \, o. n7 b- V6 ^- G6 x
  938. AND #$20  }$ q- H0 Z& m
  939. JSR ON_OFF_PPU
      i. d' c) g2 O( R% f. `
  940. LDX #$00
      |6 b6 f9 m4 x5 J1 x  z
  941. LDA #$B1) [5 O) [. Y$ m, w* ?$ ?; n+ k
  942. STA $BA  O( c" }* M6 f& d! q% Q
  943. LDA #$22$ T) W$ h5 f& ?8 S* Z  ^6 V! Z
  944. STA $BB6 x# o4 A- D5 w  r; w

  945. & P. @: T  Y$ A) F, U  A
  946. ! H1 n) W. E% Y# ^0 I9 z
  947. JSR A_PPU; W) E0 b( ]5 \, `- {
  948. JSR SKYFLY_WRITE
    + }& F" A2 T7 ^; r, A
  949. LDX #$00
    2 h8 t" c7 F* R: l) C
  950. LDA $07A1! q9 G3 X# v7 C9 z9 r
  951. AND #$20' K0 X3 E# n; \) a: ~
  952. JSR ON_OFF_PPU
    1 U8 U- p# j& r1 G9 J
  953. RTS+ T* N3 q8 I- |, [; |" |  J
  954. ; R! [' C" j$ p& A3 Y! I3 ^
  955. BULADD_STRING:# O1 t  d+ I7 \* L; {: K
  956. .BYTE $8C,$9F,$96,$8B,$8E,$8E,$802 r, }: S' r/ I, a, ^+ B
  957. 1 n- t  I" P, n
  958. BULADD_WRITE:: [! h. V, V/ O3 l/ L+ b6 ?
  959. LDX #$00
    / @- A8 f$ s6 f+ z" P
  960. BULADD:
    / k! o7 X; J) s5 l9 h( z  z3 A
  961. JSR PPUADDR_PROCESS
    3 ~# S& w& A$ e: P$ }7 O
  962. LDA BULADD_STRING,X$ P9 P# I. n9 B% m
  963. STA $2007
    6 S+ F- |9 Z$ q2 L& X
  964. LDA #$001 L7 X4 Y6 C3 T6 D
  965. STA $20004 @* f& Q3 c+ O/ C  X
  966. INC $BA+ R% ^- G* ~  s7 V  \2 t2 a
  967. INX4 @8 P' s- T, i7 p+ Y7 g2 K
  968. CPX #$07( I; ?, @  r/ F/ C, d
  969. BCC BULADD
    / q3 E, {8 I+ s1 n7 b0 b( ]% X* G
  970. RTS# y; r  w4 o4 O
  971. % _* E* i3 E$ j
  972. BULADD_PPU:6 F" a/ Y1 F: r; U+ X) h* _- j# E; F
  973. LDX #$00
    : b7 [$ X  `1 ?3 ^
  974. LDA #$62
    # j: H9 Y# V  g9 h; n
  975. STA $BA2 u; ?/ ?7 w4 x  ]# ~/ h
  976. LDA #$21
    2 V, Z8 H* l7 t9 l
  977. STA $BB
    0 y3 F0 ]7 C% b* l" u, `0 A7 q3 J6 [

  978. 9 W. [; `# m6 s5 u0 A3 h

  979. - j( h- w) Z- }
  980. JSR UP_PPU' \5 Q1 P! _; y4 b: l. d9 e
  981. JSR BULADD_WRITE. W8 W  d2 O! [( U/ C
  982. LDX #$00
    / L: s9 h$ }. H- E
  983. LDA $07A24 H+ q; r+ `- R% F$ u/ }: w) C
  984. AND #$01
    4 j4 w' N6 s* N4 r5 R9 [
  985. JSR ON_OFF_PPU' Z+ ~8 M& m" u% ~- W, \
  986. LDX #$00
    ) I$ G( C1 N4 U7 d$ \
  987. LDA #$71
    ! M1 F+ P1 _! v6 j9 o+ R+ u
  988. STA $BA7 [7 E+ o* k$ Q
  989. LDA #$215 L$ p; L: P  f' o
  990. STA $BB1 i, C# N" I0 v* ]
  991. ( x0 D% `, F# R5 c- m$ z9 K
  992. . ^8 N% e  F$ K7 x
  993. JSR UP_PPU. C, J2 T; V2 q4 @4 b. k% ~) h
  994. JSR BULADD_WRITE8 b3 ]% b2 C# v
  995. LDX #$00
    : w3 u, Q6 K3 ]$ ^$ Q  U4 k
  996. LDA $07A3- }: j4 E3 ?  ^2 }0 ?1 ^4 E* {
  997. AND #$01
      x) n* N1 q. F% ]  b  O
  998. JSR ON_OFF_PPU
    4 a5 @7 W  U# f! Q( E0 Q; m9 |
  999. RTS
    , i3 P1 Y4 _1 l' r4 z
  1000. ; e  @! D0 x5 N2 P4 n9 K8 O
  1001. MENU_PAGE_STRING:
    1 e  h  ^) a9 e# p. A
  1002. .BYTE $97,$8F,$98,$9F,$80,$9A,$8B,$91,$8F,$80,$81
    9 Q$ B/ ~- r/ L3 a
  1003. " Q% r2 O' u7 t" y: O
  1004. PAGE_PPU:
    $ ~3 s, p1 u5 w4 F; @
  1005. LDX #$00* o( E% u- ?0 R% e8 i9 ]
  1006. LDA #$0A
    ! b" u; W# n% ?: k2 D+ w  z: a
  1007. STA $BA( X# W7 o6 K7 c0 p
  1008. LDA #$23! i  J' w7 R. o
  1009. STA $BB  z: K9 ^5 L1 M/ P- e! `
  1010. & T/ ]% A8 T, y2 |& X

  1011. ; H7 m# t$ X# N1 k
  1012. MENU_PAGE:
    2 _5 n+ e% Z) M7 X- K; D% K) V0 S
  1013. JSR PPUADDR_PROCESS( D  Z' |. B5 J$ ]/ U- i
  1014. LDA MENU_PAGE_STRING,X
    0 Q3 m- B; z. l9 D( g
  1015. STA $20079 G* L  X% M  A# m  ~/ W: U
  1016. LDA #$004 q) i4 j5 K4 Y
  1017. STA $20004 g% A0 }) d7 M. ]! C: x
  1018. INC $BA4 c# A7 J0 w2 s2 d1 I1 T& V8 u6 Q
  1019. INX2 b0 B0 G: @+ L1 \0 b# p8 o" i( g  [
  1020. CPX #$0B$ i. w6 Z* h& C/ L( Y+ L8 [- p
  1021. BCC MENU_PAGE
    ) S! L* R; j1 |
  1022. LDA $07AA  Y+ a* N% |( _" ~, ]2 F" ]8 @# R) Z
  1023. CLC
    / E# j' B3 y4 T
  1024. ADC #$82
    " R5 W: b8 D& b2 @0 h) ~4 c4 P& \
  1025. STA $20074 \( Q6 t. z: `. }- M& G; O- [& {' z
  1026. LDA #$00+ P" |' G* s9 \9 W1 _: y: N
  1027. STA $2000
    1 K% h- M: u; W# k" X, Q; Z1 E- U
  1028. RTS, P0 P( C$ B' _& y" N6 s* l

  1029. " G# M- G3 y. D, D6 Y  P, \3 e% Q0 q6 u

  1030. 3 H7 m( p: S- B
  1031. SKINGE_STRING:
    : m$ K" `2 o7 j  U5 O
  1032. .BYTE $9D,$95,$93,$98,$91,$8F,$80* m% l: ~; m: x' v; N

  1033. ( y  G( p) F+ _3 x
  1034. SKINGE_WRITE:' D* l% ~' Q% t. I: F# N
  1035. LDX #$00
    , j% v  `% b$ F2 A
  1036. SKINGE:+ ?. ~! g1 F1 ^4 L3 N
  1037. JSR PPUADDR_PROCESS  @% m) r9 L) j  T/ E1 Y8 s5 Q( i2 M
  1038. LDA SKINGE_STRING,X) D4 H0 z; |, x  M6 m
  1039. STA $20074 w* v6 D" L9 u) T. v- G+ o
  1040. LDA #$00$ C1 v4 B% g1 |6 P; Z; c+ w9 l
  1041. STA $2000
    " H; e2 ^. D$ t' P9 I$ I
  1042. INC $BA
    * B+ r! L" w' k9 c2 |# ~5 \
  1043. INX
    ' Q4 o2 J# S, l; z' _+ @
  1044. CPX #$07% u$ F5 S9 q) J
  1045. BCC SKINGE
    + |6 T8 r6 n; v# ]0 |
  1046. RTS
    6 c6 g6 c! T: D+ Y7 L
  1047. & I$ y; h) `" R% _; F
  1048. SKINGE_PPU:
    ! Z5 k" }' Z1 D' b9 l& b
  1049. LDX #$00- f4 c1 S! r$ [( j& m0 |3 w
  1050. LDA #$A26 i8 [! l. N# L
  1051. STA $BA
    3 t; v' @) g0 F+ \9 P2 I( X
  1052. LDA #$21# x- K7 b7 j3 @; h' Q
  1053. STA $BB
    , ]. l' O* D$ K) w, g+ f
  1054. 1 r! c/ b& U- `2 }/ U* V

  1055. 5 t& e4 A9 Q% H
  1056. JSR DN_PPU3 V. z7 F/ @" B& D; V8 ]: u
  1057. JSR SKINGE_WRITE
    , o; G  l$ Q0 h2 X& k
  1058. LDX #$00' x0 T' I: D2 L: D
  1059. LDA $07A2- P5 A/ z5 t4 G: n7 Z( x8 b
  1060. AND #$02! g. P) i. y7 R* n: O" s5 Y7 j
  1061. JSR ON_OFF_PPU( N; @5 J7 a, A  M+ R7 R
  1062. LDX #$00
    " x" j) ^1 q" r* f
  1063. LDA #$B1
    7 W# t  h- n: t1 {9 _
  1064. STA $BA) J, `* D0 r; e
  1065. LDA #$218 d& L7 C+ H1 v( R
  1066. STA $BB% _- }$ y8 N% a
  1067. " b+ u  i( ~: ~7 y  M, j5 D
  1068. 4 i6 H6 e6 w6 P' u. g( N
  1069. JSR DN_PPU6 m+ e6 z" l( g, ?
  1070. JSR SKINGE_WRITE7 ^0 u$ a% g: a2 q) k4 c
  1071. LDX #$00* T* |0 s0 f6 |# c- B1 |& _& p
  1072. LDA $07A3
    : p, k, g0 Z6 L
  1073. AND #$02
    ) P- Q$ ?& i; Q5 Y
  1074. JSR ON_OFF_PPU
    9 n2 L/ o8 l1 M7 U
  1075. RTS. x( u; ^% h1 r7 l+ _* [3 X8 W  m
  1076. ' A0 {* w: N! |0 J* R( b( {
  1077. BULMIX_STRING:
    5 }$ _. R: G- z
  1078. .BYTE $8C,$9F,$96,$97,$93,$A2,$80
    " n  M- J3 X+ g2 g
  1079. 0 ^" b( s5 I0 S; k& e
  1080. BULMIX_WRITE:
    " m. l* n' d- a- c) V4 ?( ?- m& R" M, ?
  1081. LDX #$00
    9 H) g; d7 p, r- x" Q
  1082. BULMIX:
    4 Y/ w2 u7 G0 Y: `" N5 S' z9 E5 c1 Q
  1083. JSR PPUADDR_PROCESS
    " |9 }& [$ L1 c/ Y- G
  1084. LDA BULMIX_STRING,X
    / o) j, P9 C5 a& R1 T9 z
  1085. STA $2007
    : O; Z% ^/ M/ S8 W
  1086. LDA #$00' d: Z5 o0 _' Q
  1087. STA $2000
    8 G4 d6 f" R4 \& X2 v8 j2 n5 Y
  1088. INC $BA
      J4 [  Y) n; M7 @
  1089. INX, w$ I# ?& I& Z
  1090. CPX #$071 P0 S% m6 `( a
  1091. BCC BULMIX
    " l3 Q  Q! X# Y! Q* W6 O
  1092. RTS
    . k1 P* u; ^6 W0 I) L% ^& g

  1093.   J1 H+ _3 l1 u, c0 {" @
  1094. BULMIX_PPU:
    ) P: P/ l% P7 R- ]/ x
  1095. LDX #$00# _# ~7 I- B' N' R, e  r" z% }2 m2 z$ Q9 d
  1096. LDA #$E2
    ! r- y; g* T! |# V4 ?1 m
  1097. STA $BA
    ( @+ T0 b. s- q) U1 Z5 y
  1098. LDA #$212 ~% A5 r, `& [
  1099. STA $BB
    9 N, O4 {" k6 A% ^' u& @. m9 d
  1100. 2 q2 z; W$ c' P; E

  1101. " w, O1 w) y) a: O9 L; C
  1102. JSR LF_PPU, b4 V! c$ q* X2 E
  1103. JSR BULMIX_WRITE
    ! s% a$ a( ]0 b  h$ {
  1104. LDX #$00
    7 l8 @. p3 E7 O1 B- P: q; P
  1105. LDA $07A2
    1 W& m+ G' w6 m- g+ h' }
  1106. AND #$04
    / X* I" ?+ r8 [# k9 Q
  1107. JSR ON_OFF_PPU
    , w4 q' A4 t. ?* h
  1108. LDX #$00
    . @+ w1 c* o. I+ `; \1 R& h: w0 o
  1109. LDA #$F1
    7 Z) e% ]. h6 J5 ?
  1110. STA $BA" k5 {# h9 w# ]
  1111. LDA #$21
    5 x+ U6 A5 k, L( B2 F% b# u
  1112. STA $BB
    - }/ l3 H+ w7 R$ i. A
  1113. 9 P/ b5 p. E$ A# v$ q+ d. F! a
  1114. ; K4 P' A. M; p: X; @& k/ {' A
  1115. JSR LF_PPU
    + F1 |7 j' _5 g, X+ @; ?3 ]
  1116. JSR BULMIX_WRITE# F" L: V- g" o" i" `7 M* h
  1117. LDX #$00
    + x- d" \* R7 w/ S3 j, o% T  [# j
  1118. LDA $07A3
    . {8 T3 r$ C8 e3 Y! C
  1119. AND #$04
    " M* Z  m5 M8 |) a; |, X) E
  1120. JSR ON_OFF_PPU
    0 Z: {7 _1 P% l) I: b
  1121. RTS  P/ I% r* B% P  L4 ?
  1122. ' J& k1 n! r" k0 p" W2 t
  1123. ENELOC_STRING:
    0 \1 M" L$ O* b; p) C& H
  1124. .BYTE $8F,$98,$8F,$96,$99,$8D,$804 j( B# s* h$ J. I
  1125. ( V  x4 t* o6 j
  1126. ENELOC_WRITE:+ ^6 ~# K$ g* j( n# M" u3 f
  1127. LDX #$00
    " ^; g' ]; m$ V: O
  1128. ENELOC:
    9 x$ v' P' L3 U" k5 z5 i
  1129. JSR PPUADDR_PROCESS
    * f% Y  t9 m+ I8 c2 z+ V( D5 y# f
  1130. LDA ENELOC_STRING,X
    : c" i1 a/ f. p
  1131. STA $2007, {: a8 b$ H1 `/ |# w
  1132. LDA #$00
    7 C, ^1 y$ ^2 D2 D* u
  1133. STA $2000, D5 Q! Y9 W5 }* ?  v% I
  1134. INC $BA; ^+ y- t* v* `" u0 x
  1135. INX
    ( A) ?* i) O) o, E
  1136. CPX #$07
    " @) E# a1 J. w8 {
  1137. BCC ENELOC2 g2 J5 b& l% i. J+ A9 O" M+ w. j- n
  1138. RTS2 V- H( B  q: @) D1 Z  l
  1139. 5 a, H' ^3 j% k! _6 y' ?0 _2 N
  1140. ENELOC_PPU:
    7 g% x  A+ P) R  U/ w
  1141. LDX #$00* c  K: q6 E6 l0 l( o2 a. `
  1142. LDA #$22
    , y1 o2 U$ o, f; s  D0 ^+ g
  1143. STA $BA8 J8 z: N. }7 P% Q+ u6 E
  1144. LDA #$22
    7 [0 C9 K+ J, O: B  u
  1145. STA $BB
    5 v6 t3 x- i+ p+ I- q4 v0 z0 J7 d9 l

  1146. , t7 ?8 q% g. t+ M% R- \
  1147. 0 A& y; k7 q) }) i4 c& K9 r
  1148. JSR RG_PPU" c! T5 `* c  D. G6 J
  1149. JSR ENELOC_WRITE/ d8 }8 j; ^+ Y& n+ ~7 U" x
  1150. LDX #$00
    3 {' F( l8 Y* X& |/ u
  1151. LDA $07A2
    7 h; X* H9 S% z# Q3 W
  1152. AND #$08
    ) N  V1 @+ a# r4 r9 x& a2 A7 Y) M
  1153. JSR ON_OFF_PPU7 i! v& u' x3 h. E/ F0 f* [& U
  1154. LDX #$000 e5 z; R7 T# ^8 K* [5 c
  1155. LDA #$31
    5 D  u" S8 y* o4 L; A: T! x
  1156. STA $BA+ u3 r* d8 V; M
  1157. LDA #$222 O3 j* p! _6 t/ U" }8 n. g
  1158. STA $BB7 q: m7 X" z# W" H" C7 G# q
  1159. ' H& W& q* E9 I  p, b
  1160. 4 Y) c3 D3 w4 c
  1161. JSR RG_PPU
    - i  r2 D8 o5 b) @
  1162. JSR ENELOC_WRITE
    * z% B7 d6 n3 [4 C
  1163. LDX #$00' v9 c! ?  |$ p& i% Z
  1164. LDA $07A3
    5 Z( l; P  y  v4 u) I5 }+ p
  1165. AND #$08% A& ^0 U  l% K" w9 v
  1166. JSR ON_OFF_PPU
    5 z! j  N2 E. K4 |+ R
  1167. RTS* F" {6 u' [% Y9 _1 u
  1168. ( T6 U3 z' J: X7 b$ S
  1169. FOCFUL_STRING:) `/ }' b% x" P- z
  1170. .BYTE $90,$99,$8D,$90,$9F,$96,$804 k, {3 m0 K# x; {, y8 U6 ]3 A

  1171. 3 E, {( v& `# K# \  X- u8 T

  1172. 0 o& P! w" D( t3 A; A% c* `
  1173. FOCFUL_WRITE:
    & n% q% m& n/ u5 p; f- Q
  1174. LDX #$002 v0 A5 H+ K, t" h
  1175. FOCFUL:
    $ {8 D  B  q$ ^3 a9 Z/ {
  1176. JSR PPUADDR_PROCESS" I9 A( T! k0 E
  1177. LDA FOCFUL_STRING,X: p0 j) x: \4 x& k( z
  1178. STA $2007
    5 t5 H6 B  m* \- t1 b6 ^; n
  1179. LDA #$00
    0 Z: e0 V& B! w) e
  1180. STA $2000
    " f  B; b# q" b9 `" t
  1181. INC $BA/ t5 x# r" o8 E5 g
  1182. INX
    4 W+ A. z$ y  ]. Q5 d& E) r
  1183. CPX #$072 X# K9 V0 n' d+ V3 `. f! Q
  1184. BCC FOCFUL* a, ~6 p; t% `' a6 @2 C
  1185. RTS' m: g& q: Q7 P7 o( S% K& i3 A% H5 e

  1186. : F9 ?$ L$ n( p
  1187. FOCFUL_PPU:
    $ \7 [. C  I! ?
  1188. LDX #$00) I; `$ r& p# S. V/ B* e
  1189. LDA #$627 d5 Y% x7 z$ F1 B% r
  1190. STA $BA7 E/ S4 v3 s7 n. K/ l. T
  1191. LDA #$22# n) L9 J7 S  w/ t/ j
  1192. STA $BB
    ' a3 T4 N2 b3 r! a' N
  1193. + Y. J+ C  R2 x( O& c) y% A
  1194. # [9 \3 u# E- V* S& u
  1195. JSR B_PPU/ Z+ m, o. a* [1 `) ]2 j/ i; n2 T
  1196. JSR FOCFUL_WRITE7 G" g& V  O2 S; T. i. C
  1197. LDX #$00! n. k$ }5 J; t+ I
  1198. LDA $07A2+ k( m" ^: L8 s1 F! ~/ C
  1199. AND #$10. c* s2 n$ d# y: b: k/ s1 [2 S+ d
  1200. JSR ON_OFF_PPU
    , v& I* V; n, ]& B* E( P" S
  1201. LDX #$00
    ( N: W  S& o5 n% a5 [( t3 N
  1202. LDA #$710 i1 d  o& l3 E7 d4 {( P3 b
  1203. STA $BA
    ! K0 p4 u  t! r1 U- ~4 r/ u- g+ Z" V1 }
  1204. LDA #$22+ u4 j3 q. e" Q$ m7 k' |( _( h
  1205. STA $BB
    ; T5 d4 Q! J- F, X/ f: @- s' n
  1206. ) s1 w" b% Z5 A  [0 N

  1207. 0 b6 U+ Y; o; M* p: o# a* d# T
  1208. JSR B_PPU
    # b" M3 q+ p; f
  1209. JSR FOCFUL_WRITE1 K, D$ g. X# @+ }" x
  1210. LDX #$00
    3 r; h0 C2 ]. r  X) K
  1211. LDA $07A3! w2 R; \1 i1 j9 [
  1212. AND #$10
      p3 ?! a/ T+ v/ R" Y( V
  1213. JSR ON_OFF_PPU
    6 \( X, h8 p1 T: F" i/ C9 Q$ ~9 h
  1214. RTS
    1 h$ R. J  D) K5 w
  1215. - l9 r1 X* u( q5 n+ q
  1216. BULCON_STRING:3 ]) K/ J& U3 }
  1217. .BYTE $8C,$9F,$96,$8D,$99,$98,$804 _# ^: q# U( G! c# o

  1218. " \! t- O- l. T5 n" V
  1219. 9 t9 J& ?4 j. X0 n* q# C4 Y
  1220. BULCON_WRITE:
      V! t  K. v1 ]' j  Y! R" x2 o5 L
  1221. LDX #$00* o8 w6 a- A, m9 S( r1 R
  1222. BULCON:
    , y, M& @+ ]  ]4 O- ]9 _) d
  1223. JSR PPUADDR_PROCESS1 b; h& g2 X7 O& F( |3 a
  1224. LDA BULCON_STRING,X" l* _" _- v9 {; X; `5 A( ]. G
  1225. STA $2007$ h. T$ u3 ]( [& x, G) w
  1226. LDA #$00& P1 A2 A3 r2 W7 ^/ b
  1227. STA $2000
    ' j' z! B9 c/ H7 D' h& E0 W
  1228. INC $BA
    " q* Y8 s! D! s4 E+ b
  1229. INX
    & ~& e0 N' H) M1 a# S) E3 o
  1230. CPX #$07( h1 q9 D- o. f" L" v( b( A
  1231. BCC BULCON: N" |% i: y/ C; N
  1232. RTS1 L- W& x- R$ W+ K
  1233. ' y0 v7 ^+ `2 F; k3 h
  1234. BULCON_PPU:
    $ C! t4 Q" q' J" k+ I/ W% D
  1235. LDX #$00% b. @4 P* y+ R3 `4 _% X
  1236. LDA #$62
    ! @1 l& d# K: H! H4 u
  1237. STA $BA2 J/ p+ `. W* Q3 m' M, l! o
  1238. LDA #$21
    ( w5 W$ Y* B, C: ?+ b
  1239. STA $BB
    % }9 K; b1 P0 J( ~- M  p  O

  1240. 3 D6 o* Y; p  y" B$ G( G0 Y

  1241. 8 {! [( v$ |+ j! p7 ~/ F
  1242. JSR UP_PPU" g8 Z2 W2 ~% q0 u
  1243. JSR BULCON_WRITE
    ! B! g; @) E# w9 a6 k2 D
  1244. LDX #$00% K$ m: V2 U- O8 x
  1245. LDA $07A4
    2 {6 Q* t" x) s2 m; y! B! i6 T
  1246. AND #$086 b& z( S9 h$ n
  1247. JSR ON_OFF_PPU
    - }$ G' N# r: d& e
  1248. LDX #$00
    5 p8 J- {# ^/ A5 E% W" |, r! N5 {
  1249. LDA #$71
    ! f5 B4 W$ S* L9 [8 `* g4 z' }
  1250. STA $BA! w$ {3 P/ O0 @1 J) w7 T. t9 g0 C
  1251. LDA #$21
    ) A2 v7 u5 D! b  Z
  1252. STA $BB+ m# G' X4 u4 l: {8 W* U- a0 [

  1253. 1 p; z" y2 ?1 P+ W6 V; I% _
  1254. * x6 ?8 k. E' i. @% g
  1255. JSR UP_PPU
    0 b# X# P. N' I9 A; I
  1256. JSR BULCON_WRITE
    & g4 |/ ?! {0 p: I
  1257. LDX #$00
    9 f! s$ x! D; v' s% W: V
  1258. LDA $07A5
    * ^$ w7 f* G* M9 a# i- s
  1259. AND #$08
    ( f, \+ \, T' A# {9 u  `4 K3 g7 f
  1260. JSR ON_OFF_PPU
    # i5 S3 t# i; i4 p# p
  1261. RTS
    * W* @" j& i% D- [

  1262. " \  T. g7 N" Y* F! X6 N  R- t+ C& M
  1263. SPEBUL_STRING:
    8 O- H6 j# c  F9 q$ h- ~2 E
  1264. .BYTE $9D,$9A,$8F,$8C,$9F,$96,$80
    0 V3 x4 z' x7 M% w8 s) b
  1265. ' |4 s  X( K: V

  1266. 7 n2 |- @# Z' h5 v8 Z$ \. z
  1267. SPEBUL_WRITE:+ p1 w' z. P$ n) Q( U7 j
  1268. LDX #$00
    $ K+ J8 _5 u2 N, s9 S4 ^6 h0 ~
  1269. SPEBUL:+ c5 |! C& C' `# P/ B
  1270. JSR PPUADDR_PROCESS2 X: c1 Z' @% Y. |% g  F8 L
  1271. LDA SPEBUL_STRING,X/ j& t3 T1 _  s* i- T' @
  1272. STA $2007
    6 @' v/ ]3 U8 I8 B$ ~6 o& [! a
  1273. LDA #$00% U" I* L1 g0 N  e. w+ j& o
  1274. STA $2000, O7 e0 u# A+ W: ^% [
  1275. INC $BA/ ?- u8 ^3 b/ t" `$ n" u, f
  1276. INX
    * n' @6 ~( s+ G9 a
  1277. CPX #$07
    / J7 d$ ~7 ~; b/ E/ p! H3 B( p
  1278. BCC SPEBUL" J* T+ P. C$ V% R$ [$ M
  1279. RTS4 T9 p6 r& u7 D4 @
  1280. $ {3 u& s2 Q8 S, `! {* ^& c" J6 X' Z
  1281. SPEBUL_PPU:
    # U) c1 D, i9 n$ F+ A
  1282. LDX #$00
    3 j* z1 m1 Q5 l
  1283. LDA #$A2
    1 y  l6 \  S( F; p
  1284. STA $BA) C4 Y& o0 J/ z# M
  1285. LDA #$21
    $ h/ y1 ^9 h; U- l% ^
  1286. STA $BB8 Y# a! G8 I& a6 |5 H: r5 ~
  1287. * X4 c. E: [7 B! m# f, q
  1288. # e& E6 J) _; `7 n
  1289. JSR DN_PPU2 n& L) r1 v: w2 O
  1290. JSR SPEBUL_WRITE
    ) P) Z: k& K' I5 H
  1291. LDX #$00# I7 I. {7 B6 ~1 J4 @, g, F! K  f% X. Y
  1292. LDA $07A4" l# z& R. ?2 J
  1293. AND #$02
    ) q( H$ g3 w9 e( Y# m( T* [. z( a) e
  1294. JSR ON_OFF_PPU
    ( g' m: _, h  i9 b. W
  1295. LDX #$00
    + K9 E8 G- B( d5 b
  1296. LDA #$B1& N. L' _# Z) c$ J5 R
  1297. STA $BA6 L9 G4 a! Q! U6 U- k' ]3 @
  1298. LDA #$21; P( G* w; e  e& A) T* p) Q
  1299. STA $BB5 S  D5 R% X) _: S+ p; g9 ]! h

  1300. & Q! Y, i& c7 y% |. N: `

  1301. 8 B9 N  r+ H+ B; E" q+ k, c
  1302. JSR DN_PPU/ i9 ?( S6 a3 P
  1303. JSR SPEBUL_WRITE) {: g+ Z# ]% a0 @
  1304. LDX #$00
    + o" v  c& D4 m* W! Z
  1305. LDA $07A5
    $ N7 n! _/ Z( X* t4 v+ M) I
  1306. AND #$02
    * x, |7 J7 K% x+ D( q. q3 i
  1307. JSR ON_OFF_PPU
    7 i, ~; ^% q. Z0 s0 ?3 M
  1308. RTS0 ?4 H3 w; L& p( D. t
  1309. , `! q1 Z7 s: i+ j$ u3 y4 M
  1310. .ORG $A500
    2 a  t# |- b* W0 N
  1311. CLEALL_STRING:
    6 q6 x$ [- z& z4 u1 H, M
  1312. .BYTE $8D,$96,$8F,$8B,$96,$96,$80
    8 v9 h1 d: ]8 z7 h
  1313. 0 {6 ~+ K+ H7 T7 L) N" @
  1314. $ u+ J2 s( X$ f
  1315. CLEALL_WRITE:* i) k- _4 ?! n4 ~
  1316. LDX #$00: E+ ~' z7 Z! ~1 ?6 M0 H0 V
  1317. CLEALL:/ W, c4 q2 T4 |, ~
  1318. JSR PPUADDR_PROCESS
    8 [4 @2 [0 M% t, O% f1 O) Z
  1319. LDA CLEALL_STRING,X
    2 k9 |4 R7 h$ }3 s; q
  1320. STA $20070 J3 j4 ]" z6 P( D" a8 A
  1321. LDA #$002 w' N2 t/ V2 A
  1322. STA $2000
    & G, Z* G' n6 S; m! c, d0 _
  1323. INC $BA7 t0 J1 s$ Y- |1 ]- D, L0 e; {2 ^' h
  1324. INX0 @1 W- ?' P" c) I
  1325. CPX #$07' V- o6 D6 h( i; p5 Z( l
  1326. BCC CLEALL
    3 q+ |  {! U2 H4 b# s( K3 p
  1327. RTS1 K- V7 F8 O  L% s+ ?: z! k, [

  1328.   ]7 F( A* ~5 B  g2 _
  1329. CLEALL_PPU:! Y. [. b9 \* F! v
  1330. LDX #$00
    # ^& w0 [$ G( u. ]: Q% L' [
  1331. LDA #$E2
    ' X6 o  p( g( ?( v& S: O
  1332. STA $BA
    3 f; f+ K' F) n7 \4 h
  1333. LDA #$218 n* p8 {6 M: T
  1334. STA $BB8 l& }7 j. E& p. i! ^& [

  1335. , H3 A! A( e; S9 X( {% [! I) p0 ]
  1336. ) H" k7 R2 T) S5 P8 P
  1337. JSR LF_PPU/ w. {! P2 V& L+ K( u
  1338. JSR CLEALL_WRITE
    ; V' W  F2 f8 ~, s
  1339. LDX #$00
    & K$ a: a$ X* P& I$ y  c3 f
  1340. LDA $07A48 m8 ^0 g+ G! W7 E% l# q' S
  1341. AND #$04" [( I% K5 I3 A3 n$ T, ]" Z, \& C
  1342. JSR ON_OFF_PPU
    . Z, {1 O6 J% R
  1343. LDX #$00
    6 _5 A  e  E$ C8 b1 Z
  1344. LDA #$F1
      \. C4 ]% T( H6 @& B7 _) A
  1345. STA $BA: o* P8 G3 O  t/ Y" ]
  1346. LDA #$21
      U9 {3 P/ p( O9 p
  1347. STA $BB( k5 C; s% F, u

  1348. 2 e5 g8 p% L: w5 o' V
  1349. 8 h2 \' W! F) l1 X/ \) \
  1350. JSR LF_PPU$ m1 @2 }9 f* N6 o2 @, S+ z! V: T
  1351. JSR CLEALL_WRITE$ y. ^  S& S* S1 _3 d  b
  1352. LDX #$00
    6 z4 e# Y' i6 ~0 [
  1353. LDA $07A5
      `7 u! |6 c* G: ^
  1354. AND #$04
    1 [* n/ L: {0 ^7 B) p2 V
  1355. JSR ON_OFF_PPU
    % a% t6 A$ }* O* B; T1 o1 i
  1356. RTS% s8 K; q2 \& v1 u

  1357. 9 W3 \! t# I7 l& f/ y3 }
  1358. HARDMODE_STRING:: a! g# U6 x8 @
  1359. .BYTE $92,$8B,$8E,$97,$99,$8E,$807 @5 \; s3 g& c' x

  1360. - z5 `9 Z, F+ x$ i* j0 U* A

  1361. & k8 S; ^7 X5 Z& M6 i) ?' b
  1362. HARDMODE_WRITE:
    9 b% C5 p7 M; |1 C3 B
  1363. LDX #$00
    $ ^: w( n4 P" Z! {5 R
  1364. HARDMODE:
    5 `6 D( l' j' C
  1365. JSR PPUADDR_PROCESS* k0 R+ }: H$ r2 M& j! M& m! k
  1366. LDA HARDMODE_STRING,X8 i! Y3 y' }8 z, B  M
  1367. STA $20076 ^- T) D$ d) ~' i% z2 r
  1368. LDA #$00
    " a, k( w2 {* Z# i5 t! B
  1369. STA $2000
    : X3 w/ V( ?+ I# O/ \; ~
  1370. INC $BA$ a& ?' ^* B$ S1 Y" R( @: G
  1371. INX
    ; Y  E0 w. A3 B& x2 U8 A" C
  1372. CPX #$07; m/ j5 T: ?  v* d* q
  1373. BCC HARDMODE
    , Y& U1 d. y  @1 A, [: S! [2 T
  1374. RTS, K8 [  H0 h; J- b! V
  1375. ' E5 N: D/ ~- R  E+ E; }, h2 B
  1376. HARDMODE_PPU:
    9 ]3 k2 }( ?* p6 W
  1377. LDX #$000 n1 a. S' c6 Y  d" J- f
  1378. LDA #$228 n8 }; S" X/ ?# M  z
  1379. STA $BA
    + K, o8 \, G2 L3 a, ?
  1380. LDA #$227 J+ ~5 _) F6 S! t0 z) M' Y" Z
  1381. STA $BB
    3 ~  X+ ]0 d: t- j& b
  1382. JSR RG_PPU- _8 e; o! P; |4 \* n
  1383. JSR HARDMODE_WRITE" N! z2 m$ T! A2 P9 m
  1384. LDX #$00
    ! Q7 Z, G$ g* V5 _- f4 t
  1385. LDA $07A4
    # ?  ~* b2 ?  B9 I7 K
  1386. AND #$01, S: N0 Z6 B' ~1 c9 b  J
  1387. JSR ON_OFF_PPU
    7 H1 H- t) z3 Q8 U1 P% ?
  1388. LDX #$00% w9 P7 x2 U+ y! `% h
  1389. LDA #$31
    # ~* L& @' c" G! s# q/ H+ |
  1390. STA $BA
    7 p/ g, x! c4 U9 `" y+ |7 e
  1391. LDA #$22# |' G0 {. H6 W* f# b) @- v3 E  s; L
  1392. STA $BB1 b6 ~: |' m; r+ @% C  r5 v
  1393.   h, @1 h# k+ J0 M0 y
  1394. ) X. k& p- A9 U
  1395. JSR RG_PPU8 S8 I2 Q- o/ \0 T3 \
  1396. JSR HARDMODE_WRITE8 X. c3 g) G. y  d
  1397. LDX #$00
    % Y! S5 B6 B9 Z- L) `! J  `
  1398. LDA $07A5
    - c1 Q! ]2 T. H# l3 d
  1399. AND #$018 g  m/ O1 w2 e
  1400. JSR ON_OFF_PPU
      y8 s8 |# j  x9 ^. x* E# M
  1401. RTS- x0 d/ L. g7 z8 j: u
  1402. * L' j5 G) G& L4 ?' u) z
  1403. B_TO_JMPSTG_STRING:
    ( O6 l# v4 |+ b
  1404. .BYTE $80,$8C,$80,$9E,$99,$80,$94,$97,$9A,$9D,$9E,$91,$80/ J# v' G  l. B3 w- e

  1405. ! M! f4 Z% D5 @0 i

  1406. ; n: d) s7 d+ C* R, a
  1407. B_TO_JMPSTG_WRITE:. V" Z: ]1 X+ v' V/ H/ g- D$ @" I
  1408. LDX #$00
    : \8 [: J; I" ~% T
  1409. B_TO_JMPSTG:- h0 A: p& Q, b0 s9 P: N: e
  1410. JSR PPUADDR_PROCESS
    7 n. @: m7 J; F8 y$ A
  1411. LDA B_TO_JMPSTG_STRING,X
    $ [" `' ~1 S4 ~# i' u4 x
  1412. STA $2007& m5 W8 ^# D9 j% [/ E
  1413. LDA #$00" S, B( b5 o# U4 o
  1414. STA $2000) o7 {) S( N9 k; K  z
  1415. INC $BA$ o- `! r  B2 p. m, @5 g, A
  1416. INX: T- B: n" y2 ~
  1417. CPX #$0D  r, `. k2 ^1 I  I; d0 B$ h# u2 x! i
  1418. BCC B_TO_JMPSTG6 ^. Y9 ]$ S; R2 z( q
  1419. LDX #$00
    " B+ n0 d) \# K7 N; T. R8 ^
  1420. LDA $7FE02 s; S$ R& x( X0 O
  1421. JSR ON_OFF_PPU0 ~. L/ ]/ q" c* b9 _$ U4 l: c: y
  1422. RTS. F+ Y7 O. l/ S7 O( \

  1423. * J7 {; r8 T0 o. o. |, o
  1424. B_TO_JMPSTG_PPU:& z4 H' R0 M' C6 K+ v8 m, j
  1425. LDX #$00. O7 `+ E- k9 l" a* B5 V3 e
  1426. LDA #$68
    $ P* j0 ?: v2 T1 M' r
  1427. STA $BA
    3 q: W8 G$ |0 |" S. i% p
  1428. LDA #$22
    / V8 _0 O& r2 F% F  i3 V
  1429. STA $BB6 I/ O& q' \# J! l- J
  1430. JSR B_TO_JMPSTG_WRITE
    ; e/ }$ Y! q& z9 C
  1431. RTS7 K: t- `8 x0 V' ]2 V8 K: w5 e

  1432. - k! q3 C4 k) ~' `
  1433. + ?! K. k  `% f7 G; E+ x4 Z
  1434. A_TO_PLAMOD_STRING:, w: z, z& z' P! s6 Z
  1435. .BYTE $80,$8B,$80,$9E,$99,$80,$9A,$96,$8B,$97,$99,$8E,$80
    % t; S/ v, ~( Q: t& }8 `9 F
  1436. 4 H1 E( W2 k2 o

  1437. 4 i" m% w* C/ ]: c) j( T! }
  1438. A_TO_PLAMOD_WRITE:
    ; L- i& h$ w) O- [! v
  1439. LDX #$00
    0 _6 B! U, l" {
  1440. A_TO_PLAMOD:2 Z- _! G+ s0 o. r! N
  1441. JSR PPUADDR_PROCESS
    7 h: {: l6 F' D0 W* q. h0 u' C( ^; Y
  1442. LDA A_TO_PLAMOD_STRING,X+ E- r9 l+ r5 @, y% V$ w
  1443. STA $2007
      u! d, }; _" R: \
  1444. LDA #$00
    " g  |5 k- Y! K" P. I' [
  1445. STA $2000) ]! t  A  U6 T8 @8 Y* H
  1446. INC $BA
    . J7 ~8 k0 D  f# f3 `8 r
  1447. INX9 |4 O" ]4 V  f
  1448. CPX #$0D3 O1 d: E% n( m& n/ ]( m
  1449. BCC A_TO_PLAMOD1 t$ r, X" B: ]7 n" p& q7 C. H
  1450. LDX #$001 z: _% E$ c& @2 X/ g
  1451. LDA $39
    / Z! T( `! R1 m
  1452. JSR ONE_TWO_PPU
    ! ]9 i  p5 |; D
  1453. RTS
    1 {, z6 B1 G* D: H4 P6 x% P( a" K

  1454. 7 I' K! |# _3 ]% Q4 k* n
  1455. A_TO_PLAMOD_PPU:
    - p, D' ?: y. x8 c
  1456. LDX #$00
    ! C% }2 z" r, `6 _
  1457. LDA #$A81 ]. W5 o1 n: g# \+ G' D% O
  1458. STA $BA  f$ \9 N; ~* J7 f
  1459. LDA #$22% F) ^/ }% G8 Q/ j
  1460. STA $BB0 p% u! r8 w% w  j, H
  1461. JSR A_TO_PLAMOD_WRITE/ s' q$ y+ y- ?9 ?' s- \
  1462. RTS
    6 q+ i" K6 O0 k. g4 B4 Z) R3 k
  1463. 4 {) d( F8 z) X6 g  x+ Z* t
  1464. MOVSPE_STRING:5 L) q; v: J* }7 @+ W
  1465. .BYTE $97,$99,$A0,$9D,$9A,$8F,$80
    # b( ~* T9 B) q  ]! r0 Z: q& _1 s

  1466. & X# ]/ p6 A. N$ [5 j- @+ L; y
  1467. 1 r) U/ W% m" B4 u- S, `- F: M
  1468. MOVSPE_WRITE:
    ' k- H/ E+ T" A% C
  1469. LDX #$00+ F3 T7 a, X  ?, E$ Y9 r& W: |
  1470. MOVSPE:' c2 u& n' r9 V" y
  1471. JSR PPUADDR_PROCESS
    " R. I9 x! p" i9 I. c# z2 Y" s$ O* n
  1472. LDA MOVSPE_STRING,X) ~( c& a0 l/ ]$ a( z; L
  1473. STA $2007$ j+ t9 c: x* `0 m) B" G3 Q& y
  1474. LDA #$00
    , z5 ?0 X( N' `: ^/ e0 Y& P( v' {
  1475. STA $2000
    , q  W1 E6 x+ b9 h" ]/ x4 k% E7 D
  1476. INC $BA
    : J: I( _7 c8 J) n$ N' j
  1477. INX
    7 Y' F3 b. H: q/ K# |
  1478. CPX #$07" |7 r& U9 r8 q4 i5 t/ V
  1479. BCC MOVSPE6 Y2 W  W1 q* N" S& ?5 p
  1480. RTS
    ( t4 y; r9 b3 Y. }4 ~8 [

  1481. 0 S4 a% m9 \# X! v" T4 Q
  1482. MOVSPE_PPU:
    + F, ~9 l, C2 q/ c  C% r' a  a
  1483. LDX #$00- m, h: w4 A9 x5 j; Y9 V4 v+ f
  1484. LDA #$69" I5 v$ j0 Y2 g9 I& b% ?
  1485. STA $BA
    + j; I( R* I0 l1 b
  1486. LDA #$219 a2 n. ?0 U+ o) c- L% A8 i5 b
  1487. STA $BB# @) B7 i* o) p* k0 j7 r5 F8 W0 ^
  1488. 5 j4 V. m3 Q4 l" w$ w

  1489. ' V7 k  h1 X# o; |/ q6 q( D, l
  1490. JSR UP_PPU
    : R0 ]; |8 u. ?! w" [$ K+ S
  1491. JSR MOVSPE_WRITE. `1 @& U" M) E9 b; }# ~
  1492. LDX #$00
    % t0 u, x+ F. X" b* ]( P; t2 Y
  1493. LDA $079F) u! X$ @5 u* E$ \
  1494. AND #$08
    6 ?8 U. q6 t9 ^
  1495. JSR ON_OFF_PPU
    1 |) W  @' {. M9 b: n" d" M& Z  d
  1496. LDA #$80* s' o" w  r; |. j" j$ Z
  1497. STA $2007
    : t) ?. }$ _  `- u$ M8 S
  1498. RTS
    " a' x, y2 F& d. t0 x" m
  1499. 5 J& O# o  b( I: W- E# @
  1500.   " c* Z" ]- N3 ?2 S5 j; E0 L$ `
  1501. UNLJMP_STRING:' ^7 r( e7 {; }/ T* a
  1502. .BYTE $9F,$98,$96,$94,$97,$9A,$80
    4 s! e* v8 O5 s
  1503. ( Q2 P: r, u7 e  {+ B4 @- _

  1504. 8 \. e/ J; @$ L$ |
  1505. UNLJMP_WRITE:9 Y3 T4 z2 d# n  [2 Y
  1506. LDX #$00: g  K) h3 n# P0 u: X8 s% y( p
  1507. UNLJMP:, J6 K. F' [6 F* I% O* x9 t# J
  1508. JSR PPUADDR_PROCESS( u6 }$ _1 m$ f3 C; i0 u
  1509. LDA UNLJMP_STRING,X( d3 f1 z: H7 O1 i. I
  1510. STA $2007
    3 A! x) s$ r# I+ K' H
  1511. LDA #$00
    0 K1 Q" K. d( a! b  \
  1512. STA $2000* D  L" i; y# }% K- A3 m
  1513. INC $BA% W! r/ V2 M( g! N; k
  1514. INX5 ]7 p, D2 z: C8 \4 A9 a/ Y
  1515. CPX #$07# [& R* s- p; H- b1 \
  1516. BCC UNLJMP, D% |* J0 u% P( v  M  p
  1517. RTS2 w+ s/ p3 w( K
  1518. 8 k7 u4 D& l$ [" ]! p
  1519. UNLJMP_PPU:# o8 X( H) K7 ~
  1520. LDX #$00' I* g- M6 a; ^* G! O* u
  1521. LDA #$A98 H% P# i3 V* T9 c: i8 F9 A! s+ f, \. }
  1522. STA $BA. f0 ?2 s0 Z/ Q* a5 {8 T4 ?: I( _
  1523. LDA #$21  F4 J* _: M$ w
  1524. STA $BB
    1 d) I/ o: e, N) Q% y* P) z

  1525. : Z* V6 @' P$ t: r, B! Z2 w
  1526. . G% w- s( u) U9 @! k/ |4 _! x! K% Z( u
  1527. JSR DN_PPU" r1 E' [* N% ?7 D
  1528. JSR UNLJMP_WRITE
    - c& L1 @5 y6 m' T/ @
  1529. LDX #$00! d1 z- z5 t# B1 m0 y1 e
  1530. LDA $079F# ]& r5 v- y/ Q1 ]
  1531. AND #$04) _5 D/ D  Q9 O  f# D& `; i
  1532. JSR ON_OFF_PPU; Y' M# @% w- d, r5 P5 q
  1533. RTS( \* Q' \/ V+ H6 x

  1534. 7 K- i$ O, J% m
  1535. 9 |8 J2 L' x/ x+ P* P
  1536. DESTRO_STRING:
    , r4 d3 l9 D+ h% G  |
  1537. .BYTE $8E,$8F,$9D,$9E,$9C,$99,$80
    3 ]; O2 ?: C: X& R1 T$ n
  1538. ' I5 o. l: b0 {+ Z. {. e0 ?1 }( V
  1539. 2 L7 J8 l* K$ Z" [4 o, C
  1540. DESTRO_WRITE:" ?: z  O& P: F$ [
  1541. LDX #$00- q- _- ^# E- O  v0 y
  1542. DESTRO:
    : x/ z) P% y7 E3 Z4 x) _: o  n
  1543. JSR PPUADDR_PROCESS
    : G  W, S( i! z2 V& n
  1544. LDA DESTRO_STRING,X
    # d: n7 j* N' P. G; n
  1545. STA $2007
    3 M5 P* i: B# d: ~9 x* T
  1546. LDA #$00( @! v$ ?! H( H" e; Q) \$ i+ `
  1547. STA $2000, Z% a- O  j  c" e9 M+ |1 F7 b
  1548. INC $BA
    ( \; U) @* o- i8 r6 |8 Q% y
  1549. INX
    ( g5 B4 q1 D& ^
  1550. CPX #$07
    3 T% R% X8 E9 J( t. ~4 o  ^
  1551. BCC DESTRO
    7 X0 I. ?' N2 I# b5 `/ R
  1552. RTS& }- m! E: |: w6 w6 b

  1553. & C# L* ]8 d) M9 }' E
  1554. DESTRO_PPU:
    # a* O# C! ]. b: q0 V
  1555. LDX #$005 K7 B5 O, C( G& L& p6 n
  1556. LDA #$E9
    / r" [; s+ ^  {( ~" u7 t$ z
  1557. STA $BA
    6 {* b. ]# \, @; f6 |/ s
  1558. LDA #$216 l/ l. q9 V' N: e
  1559. STA $BB
    : s, b. Q0 Q* [  N$ r
  1560. 6 T. U4 r9 D$ x7 c
  1561. . f; ^, d' U+ V3 |" |0 n4 X
  1562. JSR B_PPU
    ! n: W7 K8 [9 d8 O8 }2 {
  1563. JSR DESTRO_WRITE5 T  {$ l; o' Y% {8 S. ^2 T
  1564. LDX #$00, |5 `6 i1 r' i4 y
  1565. LDA $079F' n0 X( x" e: V  r
  1566. AND #$40
    9 E0 {, Z$ @' F* B7 y$ b8 x
  1567. JSR ON_OFF_PPU
    ! G( Z  [9 C! n4 g
  1568. RTS& `. m/ \' w! v) |( ]) H
  1569. & z8 Q0 S' |3 E4 w: c+ G  D
  1570. 9 E$ z. S9 F8 T$ u( [; G8 s
  1571. EQUBUL_STRING:
    5 `0 S0 @9 e7 w/ T
  1572. .BYTE $8F,$9B,$9F,$8C,$9F,$96,$80
    1 ^. }6 \/ W1 `0 z2 U4 J2 ]" R/ o$ o
  1573. 9 L+ Y  u) A. d2 ]2 K
  1574. ) {. p9 c! I7 w6 x
  1575. EQUBUL_WRITE:
    * I7 Y1 {! F% ~) B6 `! [* ~9 D
  1576. LDX #$005 C9 r  T+ r% z. x% \" ~4 Z4 d! F& H
  1577. EQUBUL:
    : q0 S2 D) T7 X# q+ g
  1578. JSR PPUADDR_PROCESS, T% }, ^3 k9 l3 E# B
  1579. LDA EQUBUL_STRING,X
    ( m, O! L: }! X
  1580. STA $20074 M/ ?' Q! \3 w1 {& O
  1581. LDA #$00) \# N: k/ Y+ l; Z1 Q2 G
  1582. STA $2000
    & e6 g0 n6 R0 Z7 ]1 {; Y
  1583. INC $BA! {( N# p  q: r( s. |4 Q
  1584. INX/ O( M) [+ D# n  i
  1585. CPX #$07
    * H5 }6 J- w0 ]/ j2 ~1 k
  1586. BCC EQUBUL
    % O5 U7 J# p+ G$ U
  1587. RTS
    0 R0 B: }$ L' ]9 ]8 L/ k- M6 [
  1588. 0 y; ?. \/ z! {/ Y+ p. i$ v3 {
  1589. EQUBUL_PPU:5 [1 e5 f4 e8 a* c, b% R
  1590. LDX #$00
    2 L  K+ _6 y! K  {
  1591. LDA #$29) s: D6 K# Y& G$ j# A0 I8 K$ w
  1592. STA $BA
      e8 U( `0 Y3 C5 W. I' n
  1593. LDA #$226 I' d, @7 u8 _. A: }# S
  1594. STA $BB
    ( r5 W; y! S, e" \  k

  1595. ( Q9 U4 E" D% Z) ^. z
  1596. ; L. s. c" O% L  _- V- \( \1 [
  1597. JSR A_PPU1 S6 ~1 P$ b8 Z: d
  1598. JSR EQUBUL_WRITE
    9 `7 K# k. Y' N& i0 @# y) y
  1599. LDX #$00
    : ?3 j& Q  R9 d, R0 B& l  x
  1600. LDA $079F
    ' H2 s) P+ \2 y- p& m( @$ y2 r+ N# X
  1601. AND #$80& @: [3 U' e3 T4 o0 R% v7 Q0 T
  1602. JSR ON_OFF_PPU2 O8 u" z7 C# r' Y
  1603. RTS  I4 Q9 @4 A! s5 _
  1604. / k* o2 O; X! ~% h7 \- y

  1605. / U- M  |! m$ f6 S0 [/ u

  1606. % u) I& @  B6 y+ ?/ P3 p
  1607. BULSEL_UP_STRING:
    ' W9 I+ t. G( c2 ]% r
  1608. .BYTE $9F,$9A,$80,$9E,$99,$80,$9D,$9D,$80! f9 O5 q# n( j$ v2 R, R9 z$ F% Y
  1609. % \( C3 n8 D. f
  1610. BULSEL_DN_STRING:
      K3 q3 C+ D+ I$ Z$ a' \
  1611. .BYTE $8E,$98,$80,$9E,$99,$80,$9D,$96,$80
      V7 d6 T: ^! v* x5 \
  1612. 1 Q% r5 y- U  F
  1613. BULSEL_LF_STRING:# D1 T; e/ _6 q. U. K
  1614. .BYTE $96,$90,$80,$9E,$99,$80,$9D,$97,$80
    / ]2 [$ x8 {8 Y, n
  1615. # F' U0 F9 g9 p3 c
  1616. BULSEL_RG_STRING:
    , O" @# q$ r- j- _
  1617. .BYTE $9C,$91,$80,$9E,$99,$80,$9D,$90,$80; c1 U$ ]* V. s
  1618. , b7 S3 t8 h. G. B; p: }: E7 i
  1619. BULSEL_B_STRING:' L7 K- E2 ^5 Z; h
  1620. .BYTE $80,$8C,$80,$9E,$99,$80,$9D,$98,$80! W2 D* [' u" k; ~* {4 p
  1621. # c: G* {, P& R
  1622. BULSEL_A_STRING:9 v3 Z( e1 X& x$ y. c
  1623. .BYTE $80,$8B,$80,$9E,$99,$80,$8D,$99,$97,$97,$99,$98,$80,$9D,$9A,$8F,$8F,$8E+ ^6 h" ]8 J1 i
  1624. * ^2 i# k/ H; k: l

  1625. * w5 O( n' G. G
  1626. BULSEL_UP_WRITE:1 w. F7 B) I) Y; M% g
  1627. LDX #$00
    + S2 ~8 }% T8 N) {9 P
  1628. BULSEL_UP:3 j( Z1 L0 _% A9 a$ \5 X' t
  1629. JSR PPUADDR_PROCESS
    % s$ q  h, B' D. A* J
  1630. LDA BULSEL_UP_STRING,X
    ; G. \  e/ K" G. i$ F2 Z/ v
  1631. STA $20074 j/ d" v2 G3 ?& H1 v
  1632. LDA #$005 C( R9 J3 h" ]) k2 U( q
  1633. STA $2000' k. H. h, B' S4 U" S5 W& [
  1634. INC $BA
    # F$ R9 X  E9 d/ ]! M. [
  1635. INX
      k8 E' W7 w9 W) M, x7 k# ^
  1636. CPX #$096 g- j7 S% l7 H) o# i8 `5 b( p
  1637. BCC BULSEL_UP
    # X4 Q( d8 Y; Z6 n5 _+ Q1 V) V
  1638. RTS+ a5 {- G$ F% T* |5 ]6 b
  1639. BULSEL_DN_WRITE:
    & |" ]2 N! q' r1 ~: c  D
  1640. LDX #$00! X9 k* i$ v0 `/ o+ Q" ~8 H
  1641. BULSEL_DN:
    , |( S$ d/ ~5 |7 [8 y( p
  1642. JSR PPUADDR_PROCESS
    : l3 B9 Z# [! J4 X& W
  1643. LDA BULSEL_DN_STRING,X" ^7 o$ M1 ?7 C. w: \5 o
  1644. STA $2007
    " M$ ?7 e1 |. [; B# P5 J
  1645. LDA #$00) a0 k. o. v/ C' `" N
  1646. STA $2000; E! t( d: k- E
  1647. INC $BA0 Y6 K# n; F- e
  1648. INX
      N% A( @- e+ e' a; @
  1649. CPX #$092 b/ U  L$ @7 S, o. y5 M  i0 N
  1650. BCC BULSEL_DN
    * z0 r( f; [! H- M: y
  1651. RTS, u: x3 L9 J: K, c, }3 [
  1652. BULSEL_LF_WRITE:
    % \4 _( R- U" ^/ |- o
  1653. LDX #$00
    + V/ U* }, n. e4 Y- A- t8 e
  1654. BULSEL_LF:
    6 k/ H5 a6 M# m* X  L
  1655. JSR PPUADDR_PROCESS* W2 t! y" J& v" Q6 d
  1656. LDA BULSEL_LF_STRING,X
    & _" ]. i9 q5 z+ Y: ?% G
  1657. STA $2007
    9 K% z- N9 I# T+ c8 E/ z) c
  1658. LDA #$00" J2 w, Y6 l4 d/ T; g: T+ i
  1659. STA $2000$ A1 c2 U2 n, J
  1660. INC $BA6 i0 ^  x& a! d( }
  1661. INX
    0 \0 O+ N$ L: I$ `6 o4 b6 `0 @2 B, G) N
  1662. CPX #$09
    . ~* h$ t8 G0 p; e4 [$ D
  1663. BCC BULSEL_LF
    5 h" V$ l2 m; Z' Z# |6 ]% a2 ]9 l/ g
  1664. RTS
    . W) ?- w, g7 n
  1665. BULSEL_RG_WRITE:
    7 p% |9 y1 U; q( x
  1666. LDX #$00; J8 U6 ]5 @$ r; \5 u
  1667. BULSEL_RG:
    + h7 F( S6 d" _4 _4 C" o
  1668. JSR PPUADDR_PROCESS' W7 l# P# y" l
  1669. LDA BULSEL_RG_STRING,X
    ( o( G2 t2 U+ A- z( e- P, a5 G
  1670. STA $2007
    8 {7 d& }) h- L' Z* E
  1671. LDA #$00
    8 u- S* d9 i+ e$ B: C! _# z
  1672. STA $2000% l  n- D+ q' n9 F8 H; a
  1673. INC $BA
    / ^) h1 h. p: v1 v6 N
  1674. INX, F' H* ~2 p3 H* j% N
  1675. CPX #$09
    9 [; }) J/ a6 y' D! @
  1676. BCC BULSEL_RG- v: A& d0 X$ v! w
  1677. RTS$ ?; V) q; @2 Y& G
  1678. BULSEL_B_WRITE:  ]0 B3 q( h$ x0 L$ K0 m* `& T
  1679. LDX #$00
    + u* j8 e  C5 G# T* |' M' K2 ~
  1680. BULSEL_B:
    + T" S7 U) P2 F, C
  1681. JSR PPUADDR_PROCESS
    7 [0 f$ L& n/ G2 d9 {0 j
  1682. LDA BULSEL_B_STRING,X
    ' M" m/ ~( V2 R; {
  1683. STA $2007* P- f7 L! k7 g  N/ K6 Z! ?5 \
  1684. LDA #$00' u5 l3 r- w( F8 j; t, `* l
  1685. STA $2000$ ~' W5 r4 i- o# w: A" |
  1686. INC $BA
    / q! c" \, D" @
  1687. INX- V3 q* f+ \; C& M- W
  1688. CPX #$09
    0 X2 J" m/ l0 j/ v  X0 n7 Q) |
  1689. BCC BULSEL_B
    4 Z( r7 W8 u* w/ @& f$ X2 }3 K8 G
  1690. RTS
    + W2 K/ A: g8 Q/ j, @
  1691. BULSEL_A_WRITE:
    * d7 ?1 ?9 S. Y: F6 _/ c( y
  1692. LDX #$00
    ; \! V9 x" L3 G4 O* d+ K
  1693. BULSEL_A:- {5 [9 K2 c/ k& G3 ]$ q
  1694. JSR PPUADDR_PROCESS% p* q  N, v: c* K
  1695. LDA BULSEL_A_STRING,X
    : j9 ]$ L9 O' C  {# l
  1696. STA $2007
    7 O) \0 l; S7 e
  1697. LDA #$009 F. l3 x) \, x- M
  1698. STA $20008 Z8 n/ N# T& v
  1699. INC $BA) f: j7 \- h# s6 |. u: s
  1700. INX8 c, H. q7 B  o1 f8 s7 o8 W
  1701. CPX #$12
    / |' w) k' N# t4 z" l  p' ^, o
  1702. BCC BULSEL_A
    , I# |8 u( z8 i! ?* b. Q) a% n; s
  1703. RTS
    3 j1 [5 N) r0 g( N+ V9 Z

  1704. ( L* u, @3 ?; o3 u

  1705. $ l* H% n) Y+ }. o5 Q. S
  1706. 7 D, C# B# s- M7 {% @
  1707. BULSEL_PPU:% `. d& Q. z: v5 Q  n! Y2 H* E+ l
  1708. LDA #$6C3 E; y/ ^- ~1 B. V, y7 P
  1709. STA $BA* Y& f0 L* j9 I1 f$ x
  1710. LDA #$21$ y/ {) v: [+ x+ l) k+ Z' k
  1711. STA $BB+ X4 c' ?  F% S0 N5 `( u
  1712. JSR BULSEL_UP_WRITE0 O( g- `9 M' P' z6 G  L% e
  1713. # Y" y' ^+ E1 G1 r3 U- h8 [# t
  1714. LDA #$AC! k7 r# A" m5 R! q) c$ U
  1715. STA $BA- ^& }* f% A5 u' }8 Q8 j/ `; b
  1716. LDA #$21/ K' G8 r, X  q
  1717. STA $BB$ z# K2 H6 w  U3 z$ E. }! Z1 v! C
  1718. JSR BULSEL_DN_WRITE
    # c+ L4 O% ]/ n: `0 ?& ^  _

  1719. $ Q7 z; u2 s- N% ^( D. l8 P( |
  1720. LDA #$EC
    . j+ R& \) e# }2 \8 ~: T
  1721. STA $BA% L6 R+ E) N/ L1 {
  1722. LDA #$21* e- O# {: Z% p/ \% A7 {* b
  1723. STA $BB
    4 m1 t' `# c% R: k
  1724. JSR BULSEL_LF_WRITE! [+ l6 @6 E0 S# Y# w

  1725. 4 ]+ d) ^4 Z+ d" i7 U* e
  1726. LDA #$2C+ q( [4 {8 t/ J, s+ J, z9 \
  1727. STA $BA
    + u$ e7 G* x1 {) D: {8 V4 b( s4 X
  1728. LDA #$224 y3 _' \! k/ l& A; w! k* v8 L
  1729. STA $BB
    7 Z6 f3 t- v5 m% @2 K& z6 [
  1730. JSR BULSEL_RG_WRITE$ P; E3 u  N. ]: q7 Q9 H
  1731. 3 F& Y; g- f- g  Q2 m9 O
  1732. LDA #$6C5 s% c0 f, f5 M) o% ~
  1733. STA $BA
    5 |) A/ G. c$ u7 c9 h0 E
  1734. LDA #$22
    ' {9 b  b: |1 U+ i# p* D) b
  1735. STA $BB
    . x6 q( s8 i, w3 A3 x- }
  1736. JSR BULSEL_B_WRITE
    + a3 @% m* G. _3 _. k9 H
  1737. 6 X7 X' J3 m; Q5 ^
  1738. LDA #$A70 f+ H8 {! n4 I; v
  1739. STA $BA
    - _3 x# O2 C$ w! j% L/ c: _: o
  1740. LDA #$22' s% ^- U' x4 \) g2 H. q
  1741. STA $BB
    * S5 y( Y3 Y  Y
  1742. JSR BULSEL_A_WRITE
    - q6 q: }! c3 N
  1743. RTS$ f. o( r& w+ C. B
  1744. ; T- ~. I) L6 i

  1745. " t& P& S, h" D
  1746. ) ?, b/ w& `: O9 U8 R  n4 e; u1 c3 H0 U
  1747. UP_STRING:
    % B! D: k& {, p; u
  1748. .BYTE $9F,$9A,$80
    ) ^. a5 |# E& {1 k- I4 ]

  1749. , _* f$ M- A  X  G; a. q
  1750. DN_STRING:  ~4 W' K" T1 [6 t, s. [
  1751. .BYTE $8E,$98,$80- R3 p7 r3 a6 t2 W! h2 F

  1752. # B. A  h: ~1 l. ?# G8 _8 F2 o" g
  1753. LF_STRING:
    ) Z5 q' s/ c/ x7 k
  1754. .BYTE $96,$90,$80
    ; i$ o: w+ u* \
  1755. / ~+ C$ \9 s+ T/ C& e$ g6 E4 l
  1756. RG_STRING:" L" T& t/ [" n' ]. q
  1757. .BYTE $9C,$91,$80
    3 j- P- g% C( x+ y; l

  1758. * a- w1 t' @/ n7 O
  1759. B_STRING:+ {! x% Q, O+ q; [. {( _
  1760. .BYTE $80,$8C,$80# ]0 m7 O! `1 O% {

  1761. , R; E, ?8 E+ q1 @3 h
  1762. A_STRING:
    - {) W+ z( G* Q' {/ A# c
  1763. .BYTE $80,$8B,$809 J3 h8 s1 V; K8 ]2 _: O
  1764. ; i1 }- y3 O% K8 q$ d9 {
  1765. . n+ n1 R8 T4 q
  1766. UP_WRITE:. `- w& N4 T# z
  1767. LDX #$00
    ( y* Y6 f: l3 J
  1768. UP:/ l% ?5 h7 P( v0 @+ e/ L
  1769. JSR PPUADDR_PROCESS: C6 T+ a9 a+ Z) z
  1770. LDA UP_STRING,X
      e- @6 j3 l" y9 J3 u
  1771. STA $2007
    0 s& i. E" k; k6 h! W2 P6 A
  1772. LDA #$007 L9 [0 e, l! T8 x/ P
  1773. STA $2000
    4 `/ S) A$ F4 @# I6 c
  1774. INC $BA" _4 W6 \$ @. w8 \, K. z4 x
  1775. INX
    9 H! A. L/ F1 `7 P
  1776. CPX #$03, n) O+ [! M. L7 S/ Z" b- H
  1777. BCC UP
    ! B) ]# D3 _0 Z/ C2 P
  1778. RTS
    4 O0 ^2 O3 E; m& P9 O
  1779. 6 {# ^- V: x" O; V
  1780. DN_WRITE:# @) W" x3 B9 l8 N4 a! {+ M
  1781. LDX #$00
    5 K" d, F( l# b& Y+ |
  1782. DN:, A) e! y) ?4 ~( V4 V  R
  1783. JSR PPUADDR_PROCESS
    + _" l- D/ W$ T0 G; l5 U2 B
  1784. LDA DN_STRING,X
    # @7 p3 X9 m7 p8 y
  1785. STA $2007* E$ X7 E( s; A3 J
  1786. LDA #$00/ o! S9 D7 P7 s1 S( ?; q& }
  1787. STA $20007 t7 n+ K8 A8 q/ T$ P
  1788. INC $BA
    6 K. ]+ w' E" @) Q1 g
  1789. INX
    + L; s+ n  q- ?* P+ I# C7 K! X- E
  1790. CPX #$03" ]+ ?- {" t) `1 N# Z  M
  1791. BCC DN+ P! v3 e+ T& \
  1792. RTS0 }, p# ?3 N9 h5 d

  1793. ( u9 o) n, p+ O4 k) j6 W& p0 T
  1794. LF_WRITE:
    , z9 _# L/ @1 P
  1795. LDX #$00
    9 h  C; J8 P- J6 @" R1 h
  1796. LF:
    4 c8 r" t5 B/ N# _" G$ ~: Q! m$ H% G
  1797. JSR PPUADDR_PROCESS
    3 e) z' z. G( l* l+ e1 g
  1798. LDA LF_STRING,X* z% e, |9 S$ C" _1 v! b# J9 ~
  1799. STA $2007
    7 g# L0 y! ]9 q
  1800. LDA #$00
    1 p  K* Q4 E4 v, l1 N
  1801. STA $2000
    7 H7 V7 n; O2 V( z
  1802. INC $BA2 ]! n! f3 i. [/ b  `( I
  1803. INX- P$ i5 ~8 ]5 ~- T
  1804. CPX #$031 r% N2 I: ^4 [
  1805. BCC LF! R" `( y2 j5 K% R5 C
  1806. RTS
    * @  @: K6 K/ K  p$ j, l' z$ L

  1807. 1 L/ l; H. E" ?' v  A2 b
  1808. RG_WRITE:7 ^9 _2 X& d! m' O
  1809. LDX #$006 M4 n- l& \2 z3 _/ \4 r
  1810. RG:
    ) C+ q$ j( T/ E, A' g' T
  1811. JSR PPUADDR_PROCESS
    7 M( j9 p$ C9 x2 t4 e/ q6 ]1 P
  1812. LDA RG_STRING,X
    4 z- @0 z& n7 C. i8 G
  1813. STA $2007
    & B6 C3 d2 ^/ S; w' N1 L. d3 p) i
  1814. LDA #$00
    ! s8 e5 G; v+ o$ y0 o
  1815. STA $2000- E! H2 V: i) f( S% f( a% l
  1816. INC $BA# Q. W# Q$ q; D9 g* W3 h4 V
  1817. INX; u7 A9 Z8 y- h- r
  1818. CPX #$03
    9 f, u7 |) D( |- P; l1 Q# q9 C# u
  1819. BCC RG2 ?4 I& A0 z5 }) ^6 k1 i( e$ O
  1820. RTS
    2 D, d( b9 r5 E' X) A1 @
  1821. 4 x; T7 \* S* b9 |/ v( \7 P4 \
  1822. B_WRITE:9 j# E/ q, R( b. `
  1823. LDX #$00
    ; i- s( L4 w7 ?/ O& R) m% V
  1824. B:8 A/ `% F$ Z- E
  1825. JSR PPUADDR_PROCESS$ K- [' ^( q2 N- T* o9 O( D6 _
  1826. LDA B_STRING,X
    0 g% ?  V7 S/ P4 G
  1827. STA $2007
    ) \7 Y+ G% S* t' `* ~  z- R
  1828. LDA #$00
    9 ?7 k9 {& ]& h$ [
  1829. STA $2000
    8 }8 s- V" q: ]" _0 q1 ]
  1830. INC $BA
    0 T( Z) N1 Y. W8 C
  1831. INX7 `5 I1 U2 W4 |' W: q& ?4 [
  1832. CPX #$03
    3 J6 _, `& E  c. \/ L0 k/ s2 @
  1833. BCC B
    / n" {# d5 G' c; \% c1 [8 @0 |
  1834. RTS# j' ]# h3 j* t4 e$ F8 W8 A4 @

  1835. " S# f7 s$ N- |
  1836. A_WRITE:
    3 R" D8 o* i8 S* G6 I
  1837. LDX #$00. d5 \3 f% }+ v& J* v' G8 h
  1838. A:5 u& n1 d2 `; s- x9 Z
  1839. JSR PPUADDR_PROCESS/ o; w8 M1 @% m6 Y3 c
  1840. LDA A_STRING,X
    9 ^4 c7 A' F6 \4 n. _! D
  1841. STA $2007
    7 `" e, ?) D& `$ N. V" s
  1842. LDA #$00& h+ U$ K2 \. ]6 b- C' }
  1843. STA $2000
    ) D- C& _% F& N6 d0 d
  1844. INC $BA
    & x1 z% i' D$ k/ _
  1845. INX2 z/ n( k" Y5 I9 a
  1846. CPX #$03; u0 L, U2 m9 G0 S* I
  1847. BCC A
    1 r3 u7 e+ F7 s& {2 g/ W
  1848. RTS! n. L" [2 K- u0 _! ~

  1849. ; V$ q. ^, E2 S

  1850. % c& X4 Z" E& i" o0 Y1 t' G
  1851. UP_PPU:
    : u# v& p/ X" o! c2 m) ?
  1852. JSR UP_WRITE
    - e0 G9 q, z. ?) G* Q
  1853. RTS
    % i1 T  i1 V) x
  1854. 7 d: J; W9 D/ _1 L9 S+ J; j  i
  1855. DN_PPU:
    9 G7 F/ Z* ]9 M, Y0 @8 J! j
  1856. JSR DN_WRITE. @; g/ n. B+ P! x" ]$ q" Z
  1857. RTS( Y: X" q! J9 T5 ^

  1858. 0 n% B: \) B& v6 [1 l. i4 S% t8 r
  1859. LF_PPU:1 @) Y. n/ }  e8 i) e, H% m0 d  ~
  1860. JSR LF_WRITE. b  s4 S  J6 G9 Z0 X
  1861. RTS% g: G: d6 j6 {- e2 A  f

  1862. * f6 b# X7 s6 y) Z  j! [; R& j* k
  1863. RG_PPU:% G  M) m9 f  ^" d
  1864. JSR RG_WRITE
      Q& X# e% M! w# \
  1865. RTS8 M  l  }: b6 ^/ n. q" V
  1866.   L9 u- d: N& Y- R, d- ^8 v4 ^
  1867. B_PPU:& }( j& k8 V7 ^! ?! U
  1868. JSR B_WRITE
    . r' x4 Q9 _8 I1 W# @7 B
  1869. RTS
    . r/ U" U, t! i( q" t

  1870. ) b$ x8 V6 b3 r. m- i
  1871. A_PPU:
    ' O. I8 V& i5 U& T' o' k& D2 J7 A' x
  1872. JSR A_WRITE- c" i& f! a5 O
  1873. RTS5 T. l. I2 f; m6 k5 ?

  1874. " P# t% l; z6 C: C* y
  1875. . y0 p1 j( v% C. T( t( G: b
  1876. PAGESELECT:; i" V; q$ I1 U
  1877. PAGE0:2 M- r9 U1 U- }2 u2 e. t
  1878. LDA $07AA
    4 i3 z2 \/ K3 y, D2 R
  1879. CMP #$00
    " Z) F; l7 l1 m! B
  1880. BNE PAGE1
    5 c+ P' _3 o1 \4 ?' O& r

  1881. ) d( p$ S* C4 u4 P0 b) `8 w0 l
  1882. PAGE_00:3 [1 n. I& {: ~# N
  1883. JSR BULSEL_PPU
    2 W* L. ^+ c6 N' O( L! ~
  1884. RTS
    ! q5 i0 i: a! M2 L& B+ x
  1885. . J& Y  v1 W; s0 l
  1886. PAGE1:  x. x  S/ ^$ v( s
  1887. LDA $07AA
    $ I1 v8 [4 o; Z
  1888. CMP #$01
    7 c& d: Z! B$ Q( w# F
  1889. BNE PAGE2( j; ~* m1 J* |, @' r  V9 C
  1890. 3 d# A1 x$ i6 c! C5 S3 S$ b
  1891. PAGE_01:
    , ]2 q& P. W0 P& V, R$ {$ V
  1892. JSR INVINC_PPU1 ]/ U; W! U' o$ S5 N
  1893. JSR LIFELC15_PPU
    $ u" `  `; b/ R: k
  1894. JSR DOUCON_PPU5 R; F  V; N: D# D' Q
  1895. JSR KILLON_PPU
    & o5 Z/ z/ x& y2 O* @2 z
  1896. JSR SKYFLY_PPU
    ! R- `; T$ o3 `5 c- {
  1897. JSR LIFELOW_PPU
    0 R# j, p; D- F2 d
  1898. RTS, ]5 ]$ W( d. j, H( w2 K* {
  1899. 0 B% O( `, g& G; T' W. z# u
  1900. PAGE2: + y" [1 Q" J4 g5 U
  1901. LDA $07AA
    + Q& y9 b  b" z" @$ Q+ v7 `
  1902. CMP #$02
    ' w3 {/ T9 I# p) `1 G' c+ A+ T6 H
  1903. BNE PAGE3
    # O% |4 N' z3 m$ g0 l* c
  1904. + D/ u- Z. h9 T$ f! R/ Q! e
  1905. PAGE_02:0 A2 m, {6 j# @: m1 ~; x
  1906. JSR BULADD_PPU9 P- r% n: f' ?* q) o
  1907. JSR SKINGE_PPU
    8 @( {) J) I6 q. b
  1908. JSR BULMIX_PPU0 m& s. g! d4 q( f( _
  1909. JSR ENELOC_PPU
    ( O5 o% n( a% a$ l# P* h
  1910. JSR FOCFUL_PPU# }* z; g! [9 K& n6 c
  1911. RTS/ T  U) u; y2 v; v4 C1 O
  1912. / r' p. G) k# [9 \7 ?
  1913. PAGE3: # t2 E) J3 ^) q6 q/ C* O
  1914. LDA $07AA
    / {- I' g: `7 b. g
  1915. CMP #$03
    + L6 Q/ n# L9 D
  1916. BNE PAGE4
    8 Z4 e* E* a6 F5 i& j8 G# X2 [
  1917. * V; O) ]- h: I
  1918. PAGE_03:' ~0 c: K% z) h% v! K6 F
  1919. JSR BULCON_PPU4 t* l! ]. ?3 R: b
  1920. JSR SPEBUL_PPU
    $ t3 j% Y) {, R0 F* ?  J
  1921. JSR CLEALL_PPU3 G" ?  k! \$ @7 P( b$ A( a
  1922. JSR HARDMODE_PPU
    9 `# R  `( G/ q/ y8 y3 \* Z" O
  1923. JSR B_TO_JMPSTG_PPU
    2 V  B1 H4 i9 S/ E  s0 f3 W5 M% \6 V
  1924. JSR A_TO_PLAMOD_PPU
    * L& K' d) B6 i- }
  1925. RTS* r2 l+ g1 y$ U6 ?3 [  `# o( R9 ]
  1926. & z3 A) m+ J3 p* o  e
  1927. PAGE4:
      v$ G. E/ r& S1 {3 T$ O8 M
  1928. LDA $07AA
    8 v2 c, R& O0 D& }8 w; u3 u
  1929. CMP #$04
    + S7 b; K4 h3 n
  1930. BNE PAGERTS$ x. _* l) f! g- d( q, X) A" K
  1931. 2 n; c0 r8 m* s  @+ G" |, {. e1 X7 m
  1932. PAGE_04:
    2 y2 M% T3 h1 m  _. v" r  K
  1933. JSR MOVSPE_PPU
    8 P& {6 c2 F' U) f+ X3 C
  1934. JSR UNLJMP_PPU
    % I" `( ]5 R" ~+ a: D3 N# F
  1935. JSR DESTRO_PPU
    , H! `% o" X) u; z8 |- i7 L  p
  1936. JSR EQUBUL_PPU
    * ]1 L* X- m) @; Y0 V0 d
  1937. JSR MOVESPEED_PPU
    6 F9 P* A+ f: n" u4 @7 l
  1938. PAGERTS:
      p& X" c" u- i$ }
  1939. RTS# N, I3 t$ ]. ^, u
  1940. 7 a) L. [( u, D

  1941. ' ^! ~3 c* e* `# A$ c2 Z
  1942. PLAYER_01_STRING:
    0 f( q2 s0 n" l5 x4 m3 D; [% ?7 R" }
  1943. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$82,$80; G( ?+ F/ L( {' g5 L: A" L
  1944. ! E) G8 }6 z: ]% w4 e# J

  1945. * h1 X$ t0 h" _
  1946. PLAYER_01_WRITE:# x4 B, J% _- S; L) R# _
  1947. LDX #$00
    $ E3 z1 o  j* t3 Q6 ]6 I8 Q: k# i
  1948. PLAYER_01:
    / u/ p6 x! O) Q
  1949. JSR PPUADDR_PROCESS. z2 Z9 M8 c$ V/ e$ i& I" a) f/ l& J
  1950. LDA PLAYER_01_STRING,X4 \/ Y2 ^/ d+ q1 @7 K
  1951. STA $20079 L! ?0 _! r& m
  1952. LDA #$00& \8 \# N/ s5 ]& f% t5 {/ c( o1 M
  1953. STA $2000
    ! m/ t- |% a- [& v" ?
  1954. INC $BA6 v8 O* ]5 i; n
  1955. INX
    ( S8 l8 Z0 S  @  d! W$ ]
  1956. CPX #$0A# G8 }2 X# T( c) i( M' l
  1957. BCC PLAYER_01
    & I- K' n' C; N  D6 Q) R
  1958. RTS
    6 X/ d. b! c# ^4 ^: K" @
  1959. 8 B/ O& c- }* M! W9 Z
  1960. PLAYER_01_PPU:) J& }6 z$ ~& S: z9 B
  1961. LDX #$00* ^$ c+ p3 A; }2 z" Y4 I, p8 W
  1962. LDA #$64. ~& t& x8 C# t( c- X! P0 v
  1963. STA $BA
      [6 K& r# g& P+ \
  1964. LDA #$20; @. O: P+ Q' @
  1965. STA $BB% c7 L. W/ p2 R
  1966. JSR PLAYER_01_WRITE
    " L/ U4 m5 Q$ n+ e1 f& A, L( A4 y
  1967. RTS  s& V7 `" L+ r/ M" G. \+ s6 t' h
  1968. 5 F2 U4 I! R2 s. n7 ~& f
  1969. PLAYER_02_STRING:
    7 x# l" G/ n! |' F
  1970. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$83,$808 I$ u6 i, n2 j* `1 ]

  1971. ) |9 S( M: u. v  P1 h
  1972. 5 e6 o- Q) `* J! l; Y4 e# P& @% |
  1973. PLAYER_02_WRITE:. m# A) y4 L% t: i/ I, Q5 B
  1974. LDX #$006 z/ l( u! H: Z* b
  1975. PLAYER_02:
    * y, ~1 C+ }/ m/ X
  1976. JSR PPUADDR_PROCESS
    ' k( J! F! B' d( l: y
  1977. LDA PLAYER_02_STRING,X
    2 ~. K3 M/ Z# \9 Y5 c
  1978. STA $20078 F4 U8 G% F% O% z
  1979. LDA #$00& y( n* v! f# @8 E7 @9 V9 |3 L/ N) A$ H/ n
  1980. STA $2000$ O  V  E! |) P* G9 k. A
  1981. INC $BA
    : Y. ?0 ]7 z8 l) n' y; H
  1982. INX7 w* l8 G! Z& j: W+ P: C) f
  1983. CPX #$0A! e* ]" L2 t4 I+ t0 I
  1984. BCC PLAYER_025 i* K1 H' Y; p# `
  1985. RTS
      s. D7 A1 b4 C' ?" X
  1986. * K8 ^" N4 I9 k% ~6 W' h2 J; i
  1987. PLAYER_02_PPU:
    4 v9 c' k. A3 m9 \3 v
  1988. LDX #$00
    : [0 D3 k3 k9 a# }. Z
  1989. LDA #$73
    5 ~$ ?0 g5 J: e6 r, J# I
  1990. STA $BA
    4 _2 e% @4 q+ p1 H
  1991. LDA #$20& c- q, s. d$ L% `) v$ c7 y( B
  1992. STA $BB* C' |+ N8 v+ `
  1993. JSR PLAYER_02_WRITE1 e/ E2 J" ]% b5 }3 w, M3 A
  1994. RTS
    5 Z5 `1 m  L. M& Z+ ?8 D
  1995. ) c& c% _6 o9 K, a$ K" n0 h: J
  1996. PPUADDR_PROCESS:% i4 k1 O# i- Q/ Q3 S
  1997. LDA $BB! I4 X4 n+ z" t, O' r8 C+ B
  1998. STA $2006% \' l  O7 n9 G6 w+ v0 {
  1999. LDA $BA
    # J/ b8 M0 ~: R4 i9 C
  2000. STA $2006" ^' ~6 @1 t  a; j5 s. I
  2001. RTS
    $ I# x4 d2 Q& a* s( ]$ D, Z7 K
  2002. ' @! s0 ~5 C2 |, S1 \% {
  2003. & ?+ `0 T; ?) e2 [3 @
  2004. 6 w" j" S; T  V9 r& B) Z/ |  s8 r
  2005. ONE_STRING:
    ) I# b% d& ~6 N: @
  2006. .BYTE $99,$98,$8F
    * h3 d2 x' P/ k2 ^
  2007. 5 q: N$ h7 s! x% ]
  2008. TWO_STRING:
    * N0 N1 I0 P0 W. v2 S
  2009. .BYTE $9E,$A1,$99
    ! _, V5 z% q  }

  2010. % U+ r# m3 l# t
  2011. ONE_TWO_PPU:
    + g+ I0 j$ S7 d, L9 V1 {7 h
  2012. BNE ONEWR
    2 E8 _+ A+ w' \; \: t
  2013. TWOWR:
    4 C. S) a* G$ b: O5 E
  2014. JSR PPUADDR_PROCESS
    ( m: d$ o4 r9 c9 i; s& o- _! t
  2015. LDA TWO_STRING,X
    , U$ y8 u2 z* C4 v
  2016. STA $2007  j- }! s+ a: A6 ~% i9 P
  2017. INC $BA2 y( F5 G# S" I2 Y2 \) n
  2018. INX1 X8 T: x# o* k  j; U
  2019. CPX #$03
    - s) B4 O& ~) Z3 n3 R! k! d( c
  2020. BCC TWOWR9 ~+ J. E$ N7 y% {4 K6 l
  2021. RTS, I) U8 }7 ~( `
  2022. ONEWR:
    3 h( |$ M0 S9 d2 u  [) R+ {! m0 T
  2023. JSR PPUADDR_PROCESS
    6 U! D" v- A8 I- K( R
  2024. LDA ONE_STRING,X
    4 z4 c% E  _' a/ S  Q4 t4 [/ f
  2025. STA $2007
    . O/ \6 X$ x: k9 I& t) X
  2026. INC $BA
    . U- V  {! a" k1 g8 b* I
  2027. INX  D" K2 Z# _0 p! U5 a
  2028. CPX #$036 v9 c# ]. v& q: |8 S# Z! ?
  2029. BCC ONEWR
    6 N- z1 p9 |3 K4 A3 J3 x
  2030. RTS7 v9 [  a- r# ~& B! r4 [- D* b

  2031. 3 `6 n/ w0 u- @: r7 c9 _( q5 @# ]# T
  2032. MOVESPEED_STRING:
    3 }" \9 T  G" Y! o1 `
  2033. .BYTE $97,$99,$A0,$8F,$80,$9D,$9A,$8F,$8F,$8F,$80
    . U' ]4 A: M6 g9 n4 r2 m5 L
  2034. 0 J+ D3 F- @& ^) B2 w  }$ c' a% e
  2035. : P4 N' C, c3 T1 _* }1 [/ S( R
  2036. MOVESPEED_WRITE:$ i  J1 z; \* p8 O6 _5 ~
  2037. LDX #$00
    2 ?8 ?; ^! @2 ?3 G* F4 }% p
  2038. MOVESPEED:
    ( f3 h8 w; d5 M
  2039. JSR PPUADDR_PROCESS4 ~; Z8 `4 n9 K% V5 L
  2040. LDA MOVESPEED_STRING,X
    / N7 r5 M( V7 |" S# p8 ?7 n5 Z5 f
  2041. STA $20072 b% E0 t3 ]5 V6 s
  2042. LDA #$007 b, M+ F4 k# R- e
  2043. STA $2000
    ) S  F3 d# b$ {* J
  2044. INC $BA  W) f3 i& B. e& I$ ^2 {" L# {* \
  2045. INX2 A+ ?6 Q9 m: n- v" O" n/ r$ j$ Z
  2046. CPX #$0B' R& e, a; n2 J1 ^7 x
  2047. BCC MOVESPEED6 m7 c2 T+ n- O  e1 L" y: i% k
  2048. RTS$ d. N" d, c5 ~! X: T3 ~" v

  2049. / U, i. {" K5 C
  2050. MOVESPEED_PPU:
    . w7 R6 K% i% f
  2051. LDX #$00) X7 T3 `3 M* b# j( |8 R5 B
  2052. LDA #$AA
    9 w5 {& G; z+ U5 X- M
  2053. STA $BA
    ! ]9 d! R' k. f- V8 h. j( x0 H6 E
  2054. LDA #$22& {  X1 Q0 n; n- y- _' ~  |
  2055. STA $BB
    2 r+ W& V1 t5 \1 P
  2056. JSR MOVESPEED_WRITE
    3 X$ m5 S! v! Z: O8 D
  2057. LDA $70034 }. Z! R- h+ ^3 z% R
  2058. CLC( t- S( |5 l" t; _& M( c
  2059. ADC #$82
    $ A& `/ |  j2 U  \
  2060. STA $2007$ C; G7 H. o, z9 f0 k, }6 _
  2061. RTS3 n5 h' k% R4 r5 D) [( Z
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 550 天

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

签到天数: 3232 天

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

签到天数: 2340 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2016-11-21 09:59:17 | 显示全部楼层
这东西找了好久勒,谢谢!!
" i1 }7 F, ]& a
[发帖际遇]: wjb19780515 发帖时在路边捡到 5 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜

签到天数: 2367 天

[LV.Master]伴坛终老

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

签到天数: 2349 天

[LV.Master]伴坛终老

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

该用户从未签到

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

签到天数: 348 天

[LV.8]以坛为家I

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

该用户从未签到

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

使用道具 举报

签到天数: 15 天

[LV.4]偶尔看看III

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

使用道具 举报

签到天数: 905 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 37 天

[LV.5]常住居民I

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

使用道具 举报

签到天数: 355 天

[LV.8]以坛为家I

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

使用道具 举报

签到天数: 16 天

[LV.4]偶尔看看III

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-11-3 01:58 , Processed in 1.121094 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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