EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2016-11-19 22:19:45 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2016-11-19 23:11 编辑 6 a) r9 \9 A: h) q' f

. w2 q6 }5 b& Q  c  q
     [FC][魂斗罗旋风终板END暂停显菜单]

0 j* |0 K; Q3 l; e0 u5 Q; W( z作者:FlameCyclone(flamecyclone.ys168.com)+ ~3 ^( q& t$ a0 _1 U7 ^
时间:2016/11/19 21:46:00
* {" `3 [2 M  K- ]* Y更新日志:

% S5 U4 Y/ H  D$ f2016.11.19:加入暂停显菜单(共5页).. B" t  N% {1 r
2016.11.12:加入无限跳跃.
" i: t% Z" `" z2016.11.12:加入速度调节.
% C$ x4 _# M$ V: i" q+ U9 J
2016.11.11:加入敌我子弹对消功能.
( y- s' v6 i7 X: I6 S: ^- V1 q4 ^2 v. u2016.11.11:加入全屏闪灭功能.4 Z( X. x; ^$ ~3 o: \# {
2016.06.08:加入全屏瞄准功能., i# t/ P& g7 z, {  T# U6 h  o
2016.05.31:加入弹速调节功能.# `5 P( f7 t; i7 V% S* i4 M+ L1 x* i
2016.01.01:加入高难度模式.8 A6 P/ e/ l8 X* c
2015.12.12:修复消除威胁不足,使得移动BOSS关卡(第2,4,5,6)正常通过./ i6 K" @. G/ N3 l9 v- h. q
2014.07.05:由于对打功能不完善,直接去除,更改为生命锁定.
3 z9 ]& {0 X  _- J4 }; E' ]2014.07.05:双人切换功能优化.
4 b: I+ A( ], W1 A2014.06.01:修复第三关浮空到BOSS前必须关闭浮空后跳跃才能见BOSS的麻烦.
; f- X$ B! j8 l; a1 f2014.06.01:取消生命锁定,改为生命锁定模式下剩余生命不会少于一条.7 D5 A" @3 ?/ Z' v1 N+ Q
2014.01.18:修复GAME OVER字样只有G和O的错误,原来想拉大字母间距离,看来行不通.1 J2 a  i0 @2 e  {
2014.01.18:浮空模式下,P2飞行高度未限制导致死亡,原来是指令本该用绝对X变址的被用成了绝对寻址., c' V8 t5 u+ C/ L+ x4 s
2014.02.08:拿手机无聊时又发现一些错误,所以修正生命剩余勋章显示的错误(某天用读卡器插在DVD上测试发现机器读不了卡,原因是目录级数超过三级,只有刻录成光盘来测试,结果发现生命勋章的显示竟然无压力!), U8 Z) `; H, U
2014.02.13:加入自动演示通关.
0 W; N$ C6 }2 [+ P内容:  L' G/ t. x' [
23.暂停菜单:        暂停后,自动显示菜单,选择键翻页,方向键和BA键进行各种功能的开关操作.) G7 `' [' j' a4 d1 Q" C
22.无限跳跃:        暂停后,选择键4次,按下开启,开启后游戏时无限跳跃.& k: K4 n% D3 l! h: B! e& h
21.速度调节:        暂停后,选择键4次,按左右调节行走速度(0-3级).

, X; V# ]& S) O5 x2 n% g; v& y: r20.子弹对消:        暂停后,选择键4次,再按A键切换,此时敌人子弹可以打掉.* X5 e; n6 W5 c, q$ A- V0 b
19.全屏闪灭:        暂停后,选择键4次,再按B键切换,开启后游戏时按选择键屏幕内敌人闪灭.& k& B  f+ t- P7 z/ k  O6 K
18.全屏瞄准:        暂停后,选择键2次,再按B开启/关闭,子弹对消开启时无效.
; A$ g: U1 y' ^/ M17.弹速调节:        暂停后,选择键3次,下开启,非暂停时按选择键调节,默认为1级,共5级.0 W: _3 H1 {% n2 h; G- }
16.困难模式:        暂停后,选择键3次,右键切换,我不相信你能够无伤通关.
4 F- p0 S/ U( ^/ ?' n% o01.子弹切换:        暂停后,选择键0次,上=快S,下=快L,左=快M,右=快F,B=快普通,A=取消当前子弹加速状态.
7 y. v  C" z6 j7 G. V02.无敌锁定:        暂停后,选择键1次,上开启/关闭,不用讲了,金身无敌.
0 t; N# W5 z! i6 I3 T) f1 Z2 x- R03.生命锁定:        暂停后,选择键1次,下开启/关闭,生命锁定为16条.
+ ^" @! a0 `6 F04.角色双控:        暂停后,选择键1次,左开启/关闭,无非就是主机控制副机.
+ g6 u; D' [* ?05.生命底限:        暂停后,选择键1次,右开启/关闭,锁定剩余生命数不少于1条.
1 J; U# H  Q, `06.一击必杀:        暂停后,选择键1次,再按B开启/关闭,即使是第8关BOSS,一发花生米依然要其老命.0 o) m6 P) P5 o" {) q  O
07.角色浮空:        暂停后,选择键1次,再按A开启/关闭,第三关浮空时按选择键向上卷画面轴.4 D* [8 r( _9 f1 l* t
08.弹数加强:        暂停后,选择键2次,上开启/关闭,此时所有子弹发射数为15发.% y! Y! N* n" z( E
09.皮肤更换:        暂停后,选择键2次,下开启/关闭,主机开启时橙黄色,副机开启时为蓝色.6 ^1 X% Y+ v9 q8 `9 L# N
10.混合子弹:        暂停后,选择键2次,左开启/关闭,此时连射时所有子弹混合.
& i2 E- H( |: w2 A9 W$ R11.敌人锁定:        暂停后,选择键2次,右开启/关闭,此时敌人原位跑不动.
/ w5 V% [0 U% v, H* z1 M- f12.跳过一关:        暂停后,选择键3次,再按B使用,使用后可以直接到下一关.
6 ~2 m: s9 W: e5 A; p13.单双切换:        暂停后,选择键3次,再按A键切换单双人游戏模式.
7 ?( y/ D, K. s  z7 f8 I; h14.子弹方向:        暂停后,选择键3次,上开启/关闭,开启后发射的子弹攻击方向会随着操作的方向按键变化,第二关和第四关的小关建议关闭(开启的话打中敌人太难了哦).
8 B4 K! ~0 G2 e6 |15.消除威胁:        暂停后,选择键3次,左开启/关闭,此时游戏时按B键使得移动物体被消除。2 z3 b( E: \% M, l
A.做了一些汉化(小字体),剧情,关卡名及通关后的文字未汉化.2 h1 X$ E6 J$ [0 ^- P3 a- Q  `, N. ~
B.自动演示通关,双人合体打通关,演示时有背景音乐,通关后一样会有结尾及恐怖台词,之后游戏进入选关(相当于游戏自动开始了).注:通关后P1及P2会获得16条生命!也就是说看完演示自动开始后第一版有16条生命!* g  ^1 Z& w( U, B+ q3 i* t; L" m
C.生命显示加强:最大显示15个剩余生命勋章!电脑端请开启精灵超过8个(这样勋章不会闪烁),手机端认命了,不过不影响正常操作.5 n6 M6 D6 o# n. x7 {0 O0 S8 d
$ q$ ]) ~) X* p& E
    如果有什么好的修改建议,恳请通过QQ(1490868135)联系我(也许我不在线,可以留言在QQ里)
8 c* g7 ~. F% L; S( v欢迎大家转载,转载时必须注明出处.
5 a: b/ {0 w6 m
3 Z7 y8 j. e7 {% N
游客,如果您要查看本帖隐藏内容请回复
+ n# H+ g; L9 `% w8 {+ q2 k; F

+ b4 R* R% N* C+ B+ @4 g忙了一个星期,觉都没睡好,眼睛也疲惫不堪啊.终于找到解决方法了,目前VIRTUANES运行不了,请使用其他模拟器玩.0 K  C) w! a+ T1 Y0 v2 C
这几天的劳动成果如下:
  1. .ORG $B400
    % ]! @0 a- |/ U1 K

  2. ! [1 |; Y. @6 i/ ^; H

  3. , V1 w5 n2 t3 r7 N
  4. PROREG:
    ' ~& @! J% u4 S
  5. PHA
    2 J9 n3 D, ?( |; B' V! \
  6. TXA
    ) @9 j& u5 C& t  N3 v5 w- p8 v
  7. PHA6 f& L* d6 R& [, U7 f; G
  8. TYA: L) S3 W! \8 ^0 H
  9. PHA
    # u% B# M: k2 `
  10. LDA $253 e$ _* @; {% z" c
  11. CMP #$01# i1 q* Y5 `8 p5 l
  12. BNE RE; L( j$ r2 ?' ^& j1 P. o
  13. LDA $010A
    0 ^+ I* ]& }4 x, s
  14. CMP #$003 u6 w( b, r6 }1 d
  15. BEQ P1$ y7 B/ d/ W/ p! W5 V" q- W$ Y

  16. # ]/ {  a, o$ w8 U& w9 b% m
  17. RE:: _  y0 Q7 h: Q: k# i' f
  18. JMP PPUWRITE
    0 _4 \2 i5 T! u
  19. 9 C9 i7 r% q# o' ^" f' r
  20. P1:                ; 条件判断+ }9 O, X$ p( M. d! c) M! H/ M
  21. LDA $7FFF
    7 ^9 ^* y# f' ^( R0 M: P
  22. CMP #$FF
    0 g; }% ^! |0 f8 ^. D
  23. BNE P1RP( g. K( y0 S4 N8 k+ a2 u
  24. LDA $7FA0
    " h/ \6 Y1 m6 M" i; i# c; ], s' K
  25. CMP #$00  }2 j2 J4 S- @8 x  m2 _6 ]
  26. BNE P1CMP" U# ]" @5 F7 H3 l
  27. LDA $2001
    * b( w- B5 R( m2 J3 B) K- O' A; `
  28. PHA7 S  G# E& S) |6 f: I
  29. LDA #$00
    0 `/ u1 g% E' z2 h
  30. STA $20016 G- d( E, Y6 y5 Z
  31. LDA #$FF
      M& J( i# ?( t6 y; L
  32. STA $7FA05 e7 ~! f5 G6 |$ j
  33. JSR CLEANA  Z0 V( W3 a  m  i  y: [
  34. PLA
    7 q' N# N8 b; a" D$ u' N  w
  35. STA $2001
    ( G& V! h: Y! L0 c/ A( A  f! x- {
  36. JMP PPUWRITE3 R1 L& A8 V9 P8 Q$ s) T& a
  37. P1CMP:
    ! P1 o- T# v; a; r( r; `5 E
  38. LDA $7FFF
    1 P# Z0 ]' k" L) C
  39. CMP #$00  R! v7 Z+ v0 Z
  40. BNE RE
    " m2 p& C* D9 b; M5 c2 q$ `
  41. P1RP:
    ' {. u& P: h" h) }1 A
  42. LDA $2002
    / x' u8 y! ^7 C: d( c+ |# v
  43. LDA #$00
    - [( \. Y0 `9 L
  44. STA $20016 U3 S2 y' ^$ D) o6 d: P
  45. LDA #$FF' \- A; z5 V: G6 L
  46. STA $7FFF
    * h* \& \9 j$ a# Z% b) x% ^; o4 J
  47. STA $7FA0
    + O/ W& a. g! c2 w
  48. JSR COPYPPU
    8 [, g5 }) y6 h8 C  Y
  49. PIRP2:! p0 h' k! T. S7 A2 o* e4 h
  50. JSR CLEANA
    ) c1 ~8 x* u2 r8 [# f! h
  51. JMP PPUWRITE
    + ^7 t' R/ y9 w4 j. E; }) A" |
  52. " _5 Y6 X) j/ d
  53. COPYPPU:; ]7 X  N+ B; t; G& r" w) @, J
  54. L0:/ U. h" U, ?+ z7 a2 `4 S4 U- l
  55. LDA $30$ O) h; O2 s8 k( `& U7 m
  56. CMP #$02
    * `" T5 ^) K; k  F3 C+ @$ p
  57. BNE UNPROFC
    ; _+ w  R0 Q0 |# E
  58. LDA $FC) P" r$ s% S/ }  }
  59. STA $7EFC* o- \9 E. \+ i' G5 d
  60. LDA #$005 X5 D4 G3 u" n" X9 {
  61. STA $FC9 q7 a0 [: ^  T
  62. UNPROFC:* x  M2 l8 h* `6 i1 J9 O: Q+ E
  63. LDA $FD1 X8 b* C5 [4 N/ T# ]' m+ M9 l
  64. STA $7EFD8 P. c4 ^$ _6 g7 o1 s
  65. LDA $FF
    $ N2 e9 J( n: a8 j( @0 W7 D
  66. STA $7EFF
    5 Z) ~, I7 |, ]5 O, O0 m
  67. LDA #$008 |6 ~. o; q- x5 G
  68. STA $FD2 F. ~% y, X& g* a5 ?: j% h
  69. LDA #$B0" }- y1 D( s/ p/ b4 H8 @
  70. STA $FF
    4 ]* b7 G0 a; ?: }2 l; j$ W7 F- @5 z
  71. LDA $07C1
    ; }7 |% n% ?/ D; A7 s
  72. STA $7FC11 X' C# D) x0 [( O7 j% I8 D
  73. LDA #$3F
    ) o' {, R- O3 w, r0 O/ S+ A9 L
  74. STA $20063 T" k9 f' ]2 V# B4 r* t
  75. LDA #$01
    ) x+ J) V% O; F6 J: u% Q  }- o
  76. STA $20060 U; z5 `, O* i" B( k9 c6 I
  77. LDA #$24+ s; c1 _4 u# ]( a: O
  78. STA $2007
    " J& S# j: b/ T
  79. LDA $07F6' g) r) W  n9 U& M, h
  80. STA $7FFE/ I; a) v+ ^9 a" v. R. r0 U
  81. LDA $00FE' Y) Z1 l* ~9 ^9 Z0 N
  82. STA $7FFD) q6 o; r1 L+ W/ W! s; c( U
  83. LDX #$00
    . P4 w  D* B0 F. d) B" |# }" P
  84. LDY #$00
    ) ?4 i/ I. h, b# ]
  85. LDA $BD: C! f: p. U: ~5 {4 H5 `
  86. PHA
    8 _$ V( h$ l$ K( o3 o, ?
  87. LDA $BC
    + i% ~: B6 `$ g2 |
  88. PHA
    1 ^; P: y; T& H& s, }
  89. LDA $BB
    ( S7 S2 F9 }7 @# X3 J
  90. PHA
    * F9 ~6 V6 d( o
  91. LDA $BA) t9 _! p5 W* ?) x" f& F) D
  92. PHA3 H' i9 L# I; {/ y
  93. LDA $B9# |1 w1 g5 g# N9 h* _: R9 ]# g7 M
  94. PHA/ I: A( L# O6 P
  95. LDA $B8. {) X# x" C* h$ p0 u
  96. PHA
    / B4 G# Q( L0 w
  97. LDA #$00: M6 q$ }; \% a4 o; P0 j- `
  98. STA $B89 h! }/ s0 p1 O! ]
  99. STA $B9
      B# ~  H8 m8 Y) s
  100. STA $BA
    . \# K- L5 v7 [, P
  101. STA $BB4 P4 k5 H% X8 [. F! Z0 c3 g0 s
  102. STA $BC$ m# v% W7 Q# ~, |/ n' D9 m+ Q  b
  103. STA $BD6 p( U: F* \% C4 u8 p% T
  104. LDA #$00
    , p7 k4 |- U; ~4 N- n
  105. STA $BA$ p5 D3 t) `$ J1 h  M
  106. LDA #$20/ T0 r1 T6 p! @! X6 @1 Z
  107. STA $BB
    . I& V; D, R  o
  108. LDA #$002 E- ]% i* l  q
  109. STA $BC) A/ ^$ m. L) q
  110. LDA #$60
    - S. |. S# V8 ~# r, j4 a- H
  111. STA $BD
    0 B+ I5 \7 Q9 i/ }- `2 u) ~  |
  112. 6 E" a/ ]# y0 |6 s
  113. L1:                ; PPU复制
    7 x" f; V" T5 T4 I# \8 G' t( C
  114. LDA $BB
    ; i) b! t! M2 e
  115. CMP #$30& P4 m3 m/ Q" M3 {$ [, t  f
  116. BNE L27 R! W% o1 n1 w
  117. LDA $BA
    6 M8 F! i0 V0 }- m' W8 O
  118. CMP #$00
    3 M4 N1 z. z9 @. t% w
  119. BEQ PROADPLA6 I) N% i+ v2 }5 g

  120. % y8 L  K6 }) M4 w* G/ h$ O
  121. L2:
    1 n$ F. O" Q- Z2 D3 E) T6 N
  122. LDA $BB
    4 T( q8 ~1 ?+ z1 t: h: W+ X4 D
  123. STA $2006
    5 r3 A# p9 X9 i; S7 P
  124. LDA $BA
    * O+ {" K  T8 x, K/ [
  125. STA $2006% K/ i( ]4 e$ A  N% v& r

  126. - q; a$ d0 Y, e4 }9 n
  127. L3:
    + D0 m: h7 B! }) z8 H6 Q* x
  128. LDA $2007
    8 d1 Y4 ^6 m" I, |
  129. LDA $2007' w1 _  r3 B% O8 Y- w2 m: c
  130. STA ($BC),Y) d3 y) L0 m0 Z; N
  131. ; W* i7 m' a4 E$ g& |, N9 v, t
  132. L4:
    % U% ~7 p- C; o% j
  133. LDA #$005 k! W. l+ r8 S7 `3 R! q
  134. STA $2000" M# ?- ]' b& C: E" e- ]! }# Y. b
  135. INX2 ^0 p! U6 j, U" t! L& l
  136. INC $BA7 Q; f( `7 M8 e8 J. ~6 x
  137. INC $BC
    7 M0 L; U, C. @& S" m, p
  138. CPX #$008 u, u( E4 I6 W8 s4 F, ^: F, W" g
  139. BNE L10 {; U6 @# |" e% q
  140. INC $BB0 v" _! u* b- T
  141. INC $BD
    . n# a) t* A6 P4 E" T
  142. JMP L1( u- P% W9 U% A) r5 |

  143. + r# T; p& T5 u9 d# b: W4 ]! a. o" v* _
  144. PROADPLA:                ;出栈  ?5 P4 f( @  {: S0 T: U
  145. PLA7 I/ p3 F+ ?6 a& J
  146. STA $B8  G, |& p  x& N+ O+ Q+ Y
  147. PLA
    ' ?) {" ^' e7 L* E" W" u) k& Y
  148. STA $B9# j+ _1 e' d# j! z5 d
  149. PLA
    " t' [7 o& M5 {8 B8 P$ S8 E
  150. STA $BA* ]& g# T* w% J  p% e
  151. PLA* R6 m+ `) o' K
  152. STA $BB
    6 ?; z# g8 K$ E
  153. PLA7 c; M! M6 L. S* Z- W0 `) @) ^
  154. STA $BC
    3 c5 F. {# I% o* ?
  155. PLA
    3 h2 O+ r7 K8 X+ I" K. D0 W
  156. STA $BD- }- V0 `% x  m# r* P
  157. CPRE:
    2 y& w: s. Y; X
  158. RTS: A- N! b6 J; N' b

  159. 5 e5 k3 M$ ]- X1 ?# K: s! q- d
  160. CLEANA:                ; PPU清空
    4 m6 H; i& V4 o6 K7 c7 U
  161. LDA $BD
    , d4 q$ R/ m4 d' o9 X9 I/ A
  162. PHA
    . g# t7 N# @$ t# Y; K; W4 y  E
  163. LDA $BC
    4 M2 b+ X3 \4 u4 x4 a
  164. PHA" |" B6 D+ B# T; j+ E" g
  165. LDA $BB9 ^& v+ w( T$ u5 L+ S
  166. PHA
    4 I+ G" H$ I- L: h/ n+ N7 |
  167. LDA $BA
    4 v7 u3 O$ N1 v. A) u' `, g2 s
  168. PHA8 h/ y& z5 u) h" Y& s
  169. LDA $B92 m9 g9 E* X! X" m
  170. PHA
    ! w7 ~" k1 B; K9 J7 p& {/ b; i% v4 V" [
  171. LDA $B8* Q; P+ A" O+ Z1 \
  172. PHA
    % c' C2 J7 ?$ i" d
  173. LDA #$00
    , b: r7 @, o4 g( k! M, L& R: m3 W
  174. STA $B8. \1 {/ z; d2 ]3 H
  175. STA $B9
    * J% f/ h" @3 t3 N" ^- g
  176. STA $BA
    ; t- w- [' g  N  I/ t9 g0 ]
  177. STA $BB
    , ~6 @/ X6 S* V6 Z9 ^9 M
  178. STA $BC
      x1 [8 T, j4 W. p+ W
  179. STA $BD
    3 _& v- J* g: ]+ |5 c% ?6 ^
  180. LDX #$00
    6 I$ T/ d9 R( y- k; D' [
  181. LDY #$00" _: O6 ^$ G: e1 S' p* l
  182. LDA #$00
    . f7 p% Z- d. |1 a0 q5 ~) ~
  183. STA $BA
    & s5 _$ T( g7 C6 t
  184. LDA #$20* J! @! y$ e$ H) W
  185. STA $BB# r8 u+ k, f* G3 B

  186. # c  \7 c; O7 O1 ^
  187. CL1:
    ' R% f: e# c  J. U( z4 o. q
  188. LDA $BB
    - K! g4 V' H( z$ ]/ T
  189. CMP #$300 d4 _5 x: m4 S4 J3 u
  190. BNE CL2
    0 X; r/ X% N; p) ^; T; o* c
  191. LDA $BA
    6 |1 p9 T/ w8 t. B! \' D& P
  192. CMP #$00
    0 x) S" B8 k) o% A' x) p
  193. BEQ FREEWRIYE
    4 ]& b% I" Z5 X8 G# o: D

  194. * E* W) O" G  t' a0 G$ A; \
  195. CL2:* K" V/ K5 c! \1 U- F. }+ E1 M
  196. LDA $BB
    , D) L; |( I  R/ t& G/ H% s$ d/ m8 D& X
  197. STA $2006
    % L" r( K8 m; X  S  D' h3 e8 P
  198. LDA $BA
    ! F. h6 B8 p& f3 A
  199. STA $2006' T  C0 J$ v" I- g1 D$ y

  200. * M3 y+ F) [+ L3 p0 x
  201. CL3:8 H. T: r" T* I0 m0 q3 }9 \
  202. LDA #$00
    2 x$ E2 y- l8 E' ]: c5 H
  203. STA $2007: }$ X4 R9 t. [" Q! S2 S! J

  204. $ b4 k' g7 w  H/ e  {. m# d
  205. CL4:2 A6 ^8 [. z" z* G- C# a& f' A& f) Q
  206. LDA #$003 j8 A3 k& x. }: J
  207. STA $2000
    - L0 m5 w& v8 R) D5 e
  208. INX+ K+ Y5 u& B( a
  209. INC $BA
    8 w' x( y; V$ K* X+ x4 }& A; q
  210. CPX #$00
    9 R1 g- A: Z6 D' l  P- w: `
  211. BNE CL1
    + L5 }/ C5 {2 C. g2 T
  212. INC $BB
    ' w: ~7 J+ r2 f$ \" [
  213. JMP CL1 $ p- a$ G/ \% }6 w

  214. 4 ]3 L' t; |5 ~& D, F( K+ o
  215. $ c, ?$ _3 X; b+ j) T8 d
  216. FREEWRIYE:9 b" C( N4 w1 ~# a- J
  217. JSR FREE: @" o& |0 t2 C) X  t* @8 E) \1 G

  218. 9 K% l! u9 w" w, V6 }  }2 l4 q
  219. + g2 f$ c. O0 x

  220. ! ^3 `: d4 I% u) \
  221. ' f! |6 Y/ A& p' N! Q
  222. . `2 y3 r! ?( @/ U1 g. \' V" J. H
  223. CLEANF:                ; 恢复现场* N8 J! E% g/ K; e: _
  224. LDA #$08( C' i' D6 F9 j7 N3 j0 }1 i
  225. STA $FE
    ! R4 y5 Y, m) d1 Q9 L# `3 U1 O
  226. LDA #$00
    1 [9 ]4 ?6 ]8 i. O" b
  227. STA $07F67 p, q* E( Y1 D/ o# k. [
  228. LDA #$24
    ) Z* R+ l/ U, r! g
  229. STA $7FC05 u0 `: J: h; F+ R7 c: w) l3 E
  230. PLA
    " ?/ |+ w* s! W, l) D
  231. STA $B8: m0 b  L5 F, H5 T
  232. PLA+ {, }4 D8 t  s7 |& \; q5 S. `
  233. STA $B9" h6 {  z6 E9 ^) J1 J' a+ |
  234. PLA
    # q; w( W7 W5 t- z, U
  235. STA $BA+ `2 d; m& c6 Q" `
  236. PLA# `; |- ^$ C3 y& u- v; U, j
  237. STA $BB
    ; r0 `; ?8 a  k; S: p- k
  238. PLA
    ; P; y" v6 d/ f7 i$ k* Q+ Q9 P
  239. STA $BC. l# O! A1 H5 ~' {+ \, }7 e& e
  240. PLA' e" {# Z$ y8 P1 s
  241. STA $BD
    4 R% \- J. o3 i2 k% ?" d+ C" X6 ]
  242. CLRF:
    1 N/ ^! v! P, r& P0 d% _
  243. RTS
    5 m8 y; o: e% O: @+ y0 n
  244.   B7 C8 z& r" C. F- ]6 ?
  245. W_DATA:
    1 J/ p+ Y2 G% R
  246. .BYTE $00,$01,$02,$03,$044 J( p' J* D, \4 h% f
  247.   $ r" j  d* S1 c" o
  248. W_PPU:/ {; p' T4 a; \- I5 z2 D% {
  249. .BYTE $98,$97,$90,$9D,$96
    : A2 ~  O" U: s( }7 n7 E
  250. # f% l5 s  q+ O: F& e' g9 ?
  251. P1_STRING:
    . I( u  L" c: v6 s/ z6 A2 l
  252. .BYTE $9A,$82,$00                ;"P1"
    " I( o( D) t0 E3 ]0 O7 s

  253. $ N" H$ [* \( ~; Z& K
  254. P2_STRING:
    ) o, ^$ \1 A# G2 W5 I  r
  255. .BYTE $9A,$83,$00                ;"P2"0 y9 ]; U: H6 O) O3 Z
  256. ( f: u; i3 n$ ^% f$ y) K
  257. WEAPON_STRING:( {/ n" K; {, O- P9 ?( |' _
  258. .BYTE $A1,$8F,$8B,$9A,$99,$98,$00  ;"WEAPON"8 H; [; N+ A+ _0 K2 E3 T
  259. % c9 b/ _8 Q6 F5 ?- D8 }
  260. RELIFE_STRING:
    # H( t& K- Z3 s4 S2 u" B, I
  261. .BYTE $9C,$8F,$96,$93,$90,$8F,$00  ;"RELIFE"5 i$ f8 [$ A5 @' ~3 G. l
  262. ' m+ q+ I0 D  h
  263. P1_PPU:8 f; s9 b. I, {3 [% j! ^- d. p
  264. LDX #$00. ^0 B1 {* Q. p" f$ A; s* C

  265. ' s4 q9 v# e8 k  [& q
  266. P1_PPUW:
    8 S! ^* [4 ?1 c3 o! I
  267. JSR PPUADDR_PROCESS& _) `; ^1 T4 b% W9 b- r6 m
  268. LDA P1_STRING,X2 p' M+ e& T- }  H4 ~
  269. STA $2007: E) u8 T; L2 j) G( N7 D9 X
  270. INX% L+ w9 t: V% o6 Z& D
  271. INC $BA" [5 e, j; q, J/ ], ~- [
  272. CPX #$03
    2 Q$ J) u  u4 P! e
  273. BCC P1_PPUW1 B2 D" K* r7 ^% d7 `1 r9 ]
  274. LDX #$00
    & v# D; Y& Q: b
  275. RTS
    ) h4 I2 M$ w' I& E. Q

  276. 6 A* J# e9 G: R0 ?' p, c
  277. P2_PPU:# y4 ]2 j+ \( c* y
  278. LDX #$00' O9 G  u% y9 P  p  B: _5 y9 x
  279. + P7 u# ?: x/ z) k7 J1 J
  280. P2_PPUW:
    : e) O1 c) j! {6 O/ \! ?
  281. JSR PPUADDR_PROCESS
    $ R- i. O/ n4 W, E- b* o) l0 U% }6 P
  282. LDA P2_STRING,X
    ' P' a9 p8 f9 @, T, e
  283. STA $20073 x7 x8 r. z" s# W
  284. INX
    0 ]; b3 R9 j# f7 g2 P! H
  285. INC $BA
    9 c* G1 c7 y$ |. r8 X% A
  286. CPX #$035 {' S7 M  ]/ A/ K0 U
  287. BCC P2_PPUW9 j$ p  a# ]$ d
  288. LDX #$00* o9 D0 B( ^$ U4 S( u; n
  289. RTS5 X4 o$ q9 z9 F- A( M
  290. " U& v) r& w  f# }0 N% q  P  A+ U
  291. $ X, ^7 C5 V5 e' h, a: {
  292. LDA $BB3 _8 Z3 z2 {7 n  ~: W
  293. STA $2006
    ; t2 P* \7 c, N* C; g
  294. LDA $BA0 M9 ]) O9 v9 E" O2 r# U+ h7 J
  295. STA $2006
    ; Y( N3 g' {# Q+ L8 e( d" C" U
  296. RTS: p( Y, G% o; s3 v* X
  297. 2 g6 L) O  G: n* A! ~. c5 U9 o
  298. 1 _3 x% g! W% I. F* z9 F
  299. 2 a* r9 C  F1 B: O+ `% Y( Y
  300. PLAYERLIFE:. ~9 z& _- Y1 b# r
  301. JSR LIFETODEC9 {8 S* d" z" g. G; y( ~
  302. LIFEPPU1:* `0 H8 l: Q1 x0 g8 j5 c  w# l
  303. LDX #$002 {! i" V! \0 b
  304. LIFEPPU1RE:
    " R' D; @8 U$ W+ w( d6 s
  305. JSR PPUADDR_PROCESS
    ! z+ u6 P5 u' a* \. |
  306. LDA RELIFE_STRING,X$ y( U" \- Q7 I9 k" |
  307. STA $2007
    ! J7 `2 Z4 w' w$ @2 m; }
  308. INX7 v9 y0 |' j0 M7 x. }* \
  309. INC $BA
    3 _8 k: ?/ L/ W9 M/ u
  310. CPX #$07* m7 j6 E& S8 f  e
  311. BCC LIFEPPU1RE/ I9 w8 ]" r) G. z

  312.   m) K+ A4 f# X; v6 h; a$ ~
  313. LIFEDEC:                ;生命显示写入
    ' w5 V& E3 k8 L! L" U: V
  314. LDX #$00
    , l9 P" d) [9 O5 _1 v3 I- |
  315. LIFEDECRE:
    5 o( i. _* l+ N. N$ q" O* D
  316. LDA $7A03,X
    0 j2 u, [: f6 M9 G$ R* `
  317. CLC
    # }) g- s9 G1 r
  318. ADC #$81
    ( z+ }) b2 M0 e2 [
  319. STA $2007' p4 ^' b" P, i
  320. INX
    ) @: ~: K3 {  d4 n/ i+ n
  321. INC $BA
    . @! f/ x% _1 r& C1 S& i( ]  q
  322. CPX #$037 s6 R) K- x. z8 C: l, n
  323. BCC LIFEDECRE
    # j5 W( c4 u. K0 N. X
  324. LDX #$00
    % V/ v: b1 d, p" P
  325. RTS
    $ ?% v4 T0 n* O/ i) \  l

  326. % h' L& h: V, I" h: ^/ b
  327. LIFETODEC:                ;十进制转换
    # ~* e1 o. y, S# r
  328. LIFEL1:        ;initialise1 g7 I# T3 i) Z& f; v
  329. STA $7A00        ;$7A00=F3& u5 j2 d/ z- a0 }
  330. LDA #$00! f7 z0 W; F! D% G  x
  331. STA $7A03        ;$7A03=00) o  E* w0 J1 l. [6 j& c
  332. STA $7A04        ;$7A04=00
    + [2 g% j6 F4 @! J# f, N' Q4 `# b4 }
  333. STA $7A05        ;$7A05=00
    ( _% L- U+ O" [. @2 [5 H( Y
  334. LIFEL2:        ;copy data $7A00 to 6001
    " |& s; x& x2 B; o3 f
  335. LDA $7A005 E( n, p" F2 \( l( k
  336. STA $7A01, F( y4 [" w! w# l6 w9 [
  337. 4 s  L& {$ p' R$ q* f
  338. LIFEL3:         ;hundred7 I  z, ?1 X9 p7 _# x
  339. LDA $7A013 B# y% t7 L. p. n
  340. CMP #$64
    ; W! O$ h. l: ^9 G
  341. BCC LIFEL6                ;$7A01<100 goto L6
    ! Q7 E$ z& K" f; P0 A- J
  342. LIFEL4:
    5 l! a0 }! L, X7 \8 n
  343. LDA $7A01
    / {# ], _4 m) b: {/ a' V
  344. SEC
    : P+ t/ n+ O( g( Y# M& y5 W9 O5 D
  345. SBC #$64        ;$7A01=$7A01-100: S: n9 W4 p/ g; {: o
  346. STA $7A01
    9 Q$ v7 w2 [% C( G
  347. INC $7A03        ;hundred++. c8 q( i) h$ S5 R
  348. LIFEL5:
    ; o5 n, e" y. H- t( ?
  349. LDA $7A018 O# l. A5 j7 m: h2 C% i$ ~' S
  350. CMP #$64
    4 L: c( D2 F+ h1 s9 g1 E' C
  351. BCS LIFEL4                ;$7A01>100 goto L4# a2 E6 n6 P; K$ k* q, j/ s
  352. . w1 A" R* F+ @( j9 O
  353. LIFEL6:        ;decade: X$ l, p) D9 e4 c" O6 b/ w
  354. LDA $7A01
    * O+ q* _& |  B3 w6 _% a$ {9 B
  355. CMP #$0A
      P7 z  `' r& C7 {& k+ Y" U9 W3 w
  356. BCC LIFEL9                ;$7A01<10 goto L9
    " B: z! b) c5 w( S. D
  357. LIFEL7:        ) A4 I0 i8 L2 E" N5 I- u' b
  358. LDA $7A01. o1 l3 I- Z% \( c; _% U& H
  359. SEC6 `  [+ I7 Y0 W; C& V! k( d5 x
  360. SBC #$0A6 d; k, M# h, P' j- t
  361. STA $7A01        ;$7A01=$7A01-107 g! Y5 E3 P/ s1 b( p
  362. INC $7A04        ;decade++
    ) [  A% b9 a' L% _
  363. LIFEL8:
    & d3 V( A/ j' T( l% b$ z+ f
  364. LDA $7A01
    : b+ w  G& N# @1 T0 O: E
  365. CMP #$0A6 I& o0 e. i9 G- J+ _( I9 J
  366. BCS LIFEL7                ;$7A01>10 goto L7
    # Y' s5 _+ K( w$ L6 k7 U8 I6 y
  367. ;unit
    1 {+ s& p# I, C& ?1 F* z
  368. LIFEL9:; Q7 n) w8 V! ~
  369. LDA $7A01        ;$7A05=$7A01
    8 R9 f2 ]1 j+ n2 K' H* Q3 g" H8 G
  370. STA $7A05        ;unit
    % C" y: ]$ D; Z
  371. RTS        ;return6 [( f" E+ h8 p6 B' X& z' ~) B

  372. / }2 d3 r# P/ @9 k/ X

  373. 5 L/ e; T3 a9 m( f0 Q/ E9 d
  374. 8 `6 X( g% l! H) K. G
  375. WEA:                ;武器ppu写入' `; X0 y2 d( ~3 ~1 t2 \
  376. LDX #$00
    # X" N$ h4 N# e  F8 _4 W# u
  377. WEARE:, u6 C  o4 f* ]) V% p; Q9 Z) I
  378. JSR PPUADDR_PROCESS
    ( ^6 W& B' L% L3 `, o- R) r  J9 r
  379. LDA WEAPON_STRING,X/ Y) _/ j5 T5 u2 I9 U8 D- Q
  380. STA $20077 b6 G6 M- V9 {9 ?# N
  381. LDA #$001 I/ {' J6 z$ g1 Y
  382. STA $2000
    ) Z6 j9 z+ P" Y( i$ p0 W
  383. INX
    8 @' t# l* A* d2 f3 v( l
  384. INC $BA8 p" I7 ?& o9 C) ]" z6 K9 N. {
  385. CPX #$07; s" O+ H' v. O- L2 y4 i4 F
  386. BCC WEARE
    9 w' _0 V) i9 W3 C* u& s( W
  387. ) n. q6 L: A( h* \1 U
  388. READ_WEA:
    $ p3 i$ J* \! \0 S+ P, [, o  B
  389. LDA $B9. F+ r) b+ k6 E! E1 E0 C1 v
  390. AND #$10+ V1 g# {$ E. U" p0 F
  391. BEQ NWEA/ E$ }9 ?" R  f
  392. SWEA:, A. N! i2 Y. N: L) s

  393. & L; `. \# A4 O# ^& i2 \% K; }- T
  394. LDA #$9D
    $ d) w& |7 V. I( F
  395. STA $2007
    ; l' F% V. v3 ^) Y* |3 c
  396. LDA #$00' V8 s; O6 K' }# ]. h  `9 `
  397. STA $2000# g7 T4 B. }) p' K' g( O- o7 o
  398. INC $BA% k. A* x2 I" V/ S: ]2 K0 m
  399. LDX #$00/ t+ |" ~  z; g1 Y& L
  400. JMP WEAREAD6 d  a! D$ e/ U8 X* ^2 ]
  401. NWEA:
    * {3 ^# Z2 T1 |! {

  402. ) E, }9 d! j/ v6 c* @; r! |
  403. LDA #$8D
    / }5 }  [  B5 T
  404. STA $2007
    ( r, R. ~9 ]0 h8 D/ c
  405. LDA #$00
    : p0 n. W1 Z8 A; R. m: U
  406. STA $2000" X2 y2 ^; Y; M+ z0 w" H- M4 i
  407. INC $BA4 d# U* n: Y5 Q: D4 R4 F" g( N
  408. LDX #$000 w( ~0 Y9 I0 b$ Q- C* y
  409. WEAREAD:
    / T7 l- |  p* q
  410. LDA $B97 E' |: ]# R- r( n
  411. AND #$EF2 O/ c1 ?( _- C8 Z+ @
  412. CMP W_DATA,X" W; F% \' B4 Z) X# G
  413. BNE WEACMP  ^4 u4 F. i+ B! M& C( i9 T' B# c; H

  414. " w1 q* c& _0 R% @+ \4 U6 d0 g' s% P
  415. LDA W_PPU,X
    8 X/ s6 K0 ~, K/ m
  416. STA $2007
    . a* \. X* r& V) B/ g
  417. LDA #$00
    ) n! v5 H( ~- ^$ b/ F. A
  418. STA $2000
    ( h' F7 O0 `9 O% q
  419. 9 x0 X$ o8 X3 e9 P0 G
  420. WEACMP:
    7 Y2 }; a, B- t* Y9 ^
  421. INX
    * i( v! g' s5 f1 P4 ]& M! I
  422. CPX #$05, ]8 t; |% h# X, Z  \% I: X
  423. BCC WEAREAD5 Y9 f, u9 F$ K+ D/ B$ J
  424. RTS
    7 ^3 L! T2 o2 F8 h3 h
  425. 1 y4 o: c! d% S7 t% B

  426. " y/ K3 T) R! ^( w2 J/ \
  427. PPUWRITE:8 L& V2 x* |8 s2 K: e% Q
  428. PLA0 _7 u3 K4 w7 m. L- D; {! N+ L- b3 p3 M
  429. TAY) X/ `3 n" l1 ]* b4 s$ p7 R
  430. PLA
    3 ^- g5 p' l9 ^% B
  431. TAX
    # c, _, E: {/ ~3 O
  432. PLA+ Q( D  Q- p- G3 e4 }
  433. LDA $25% E+ K# l) E* X- A7 m" s
  434. CMP #$00" Q; k0 F. \; c
  435. BEQ WP1: s( z4 ?! X% }" _1 A& n
  436. LDA $25
    7 H' z4 z; t+ ~5 a4 Q7 U
  437. CMP #$016 z9 S* l( h$ D* r) p% e: L
  438. BNE WRE
    5 b0 ]; P# H& N& G) _
  439. LDA $F5,X$ i2 q3 y7 ?0 ]4 `
  440. AND #$EF5 b8 U: T* A  z# l6 {8 Q+ p) l
  441. BEQ WRE- d6 l: x' ]; f' H" Z* J
  442. LDA #$00
    5 d( k, f2 L# B6 Y, [
  443. STA $7FA0
    $ \$ B* y# ]# a* a& b6 v% l

  444. 0 U6 ~- T2 d2 C8 {1 V
  445. WRE:
    $ o) M, e( T. ?+ m; X
  446. JMP $A000
    3 M$ w! c, s$ [$ L% C) }

  447. 6 V0 r/ C' I# g/ n8 W1 ]
  448. WP1:
    * E+ A/ J; z3 D% p6 S) U+ {
  449. LDA $7FFF
    - ^3 ?! \9 B" n# V3 G# z# D4 ~+ `4 d
  450. CMP #$FF
    - R/ d7 }' N  B) H- c- d
  451. BNE WRE
    $ M# _8 [% k7 V0 g: R
  452. LDA #$00
    . s9 K. Q# Y8 B% D
  453. STA $2001. O( g2 {% Q1 W0 Q
  454. LDA $BD. |- h( [; J9 V) e
  455. PHA/ @; K! C- G9 T
  456. LDA $BC' ^3 v( l' i& v4 c: r9 N
  457. PHA
    2 [! v' |( |3 T
  458. LDA $BB- ]4 {: _/ h3 J  r; }" {
  459. PHA+ {9 K4 X8 X' t9 b4 @
  460. LDA $BA& ?" p4 u4 [1 P, f/ f4 S
  461. PHA
    : j/ X, y/ |' p& G0 G4 ]
  462. LDA $B9
    5 j! a( V' E7 x+ o- d6 j5 i3 m$ R
  463. PHA8 T( P6 p# J6 ]: {, Q
  464. LDA $B8
    " f' C% @8 S* ^& p$ P4 k
  465. PHA" ~4 ?3 B! b& J# m3 o2 W
  466. LDA #$00
    " o3 N, \' _* B9 q" `7 L
  467. STA $B8) _3 z8 n8 U9 g& v6 a
  468. STA $B9
    * n( D2 D! s; U) ]
  469. STA $BA0 W1 b' \, v. d7 |2 E8 F! v8 T
  470. STA $BB& p( v4 A! Q1 ?4 T
  471. STA $BC/ j6 B6 {) |' f5 L  J; \1 N7 D
  472. STA $BD
    ' W0 E7 I. [/ |
  473. LDA #$00. M3 \8 t+ h, H8 M& l
  474. STA $7FFF! K0 N' w" U1 y  O" |# ?
  475. LDA $30
    6 e7 a& X/ N- o( v4 f! r
  476. CMP #$029 a  g2 n2 g) O. y8 K1 T
  477. BNE UNPROCPL) I& w3 ]; G1 ^5 ~
  478. LDA $7EFC) e% ]# I' k: w$ A' f4 r  K
  479. STA $FC% @  b1 \& P1 b" G3 p0 }3 Q1 u
  480. LDA #$00
    # h6 _$ T8 @  v0 ]1 }& C
  481. STA $A4
    ! y3 m& u7 K% V, Q* C5 @# B- ?2 ~
  482. STA $A5
    ( J' A+ Q4 d. ?7 H0 |/ R* |
  483. UNPROCPL:4 C) X3 `- n$ \1 t
  484. LDA $7EFD! s8 m$ C  z8 H* ]* G
  485. STA $FD, ?+ ?( U: A$ c8 l" V' S8 J
  486. LDA $7EFF3 K2 C3 K& g, r' `
  487. STA $FF
    ( b- R3 r# y; C# [  R' k- ]
  488. - D' u  |/ p7 e, n. H" i/ Y9 h
  489. WL0:
    ! c% N( |# F. d3 p8 {$ @" \5 b9 X0 A" N
  490. LDX #$00: I8 X; z- K( |" t
  491. LDY #$00
    8 _2 ~) j. h/ g4 n3 |: ?" U( w
  492. LDA #$00" Y( J" G) y% B% f! j
  493. STA $BA
    $ c* z9 e* a) ]2 f( X( @  Q
  494. LDA #$20
    * K7 o) [* Y- p( t8 V8 N
  495. STA $BB
    . N  C; m0 J8 x! Z
  496. LDA #$00
    ( L' @' l. R( U, [* Y! R+ Y6 H
  497. STA $BC
    5 r3 Q) {7 {" u8 |. K
  498. LDA #$60
    / I6 x5 \2 D- d/ S2 C
  499. STA $BD
      X3 O) D$ }" o2 E" b

  500. ' s$ I( T7 t; @& [
  501. WL1:9 Y+ \7 B7 [3 P4 g( b/ Z0 Z
  502. LDA $BD
    / o) c5 g% y7 y3 o$ o
  503. CMP #$70% G8 @5 A3 `' Z4 ?! K5 S: A! z( @
  504. BNE WL2; {; {( g  x" d5 x" @- O& b: L
  505. LDA $BC2 n1 h; E) r* m* G3 C7 b0 j
  506. CMP #$001 S2 b8 s4 k  E9 _
  507. BEQ WLR
    - M2 B- X% h/ D' Q% t

  508. 6 J9 W8 _/ Y/ {
  509. WL2:; ^- E" ^3 r* J: Y
  510. LDA $BD# F3 e1 y; M7 A
  511. STA $2006
    - n! I) v4 E& I
  512. LDA $BC$ x3 g( Y' E5 p
  513. STA $2006
    6 A3 j- N( P: c0 ]) X
  514. + g# C0 Z- I  {& C
  515. WL3:8 U" q. w* b  v7 X5 @
  516. LDA ($BC),Y+ x/ A" ~4 S! T
  517. STA $2007
    : D/ {# b$ t3 T2 X  Y9 _8 f

  518. 0 X$ O/ h2 z; _3 u
  519. WL4:& v+ D7 ~9 O/ w1 a2 n0 p
  520. LDA #$00
    9 A1 y5 y! p3 C' J
  521. STA $2000/ ?: ^4 V( y3 Q2 r2 M4 q
  522. INX. z% }; E) S! w6 \9 Q* P; W( J
  523. INC $BA+ {1 A( a1 i/ w. T) w$ }8 [
  524. INC $BC$ m6 M6 @0 b2 b; B4 c, R0 c
  525. CPX #$00' ]% A4 y$ c' a2 s- N% W% O
  526. BNE WL1. K! n5 y& I4 d; M0 _4 v6 k
  527. INC $BB
    , `6 n/ l* \/ v' d- g+ S. O
  528. INC $BD$ E* Q. b  E! s
  529. JMP WL1/ M# [4 s5 I0 T9 @, V8 e

  530. & l, V9 g+ X1 s. B4 `5 y0 |
  531. WLR:
    % l8 g7 h% g' n" Z2 r% y) ?7 E
  532. LDA $7FFE8 _/ b8 }' @3 @- d5 C
  533. STA $07F6$ Z9 s6 c) G2 n( C
  534. LDA $7FFD) A8 h6 l" j0 k. F6 _) J9 H
  535. STA $00FE% ^5 o5 T8 _# N2 J8 O, f
  536. LDA $7FC1
    * J6 ]; J. d# g1 o/ V1 i
  537. STA $07C1) N) z2 x8 @; i! H3 V+ P* \
  538. LDA #$3F8 A: y& f2 V- G
  539. STA $2006
    $ d  R' [2 j6 g+ w
  540. LDA #$01
    . ?! Z; {! g3 Z8 c# o% y  V9 A
  541. STA $2006% p5 i' O* m/ D& i
  542. LDA $07C1
    ) I0 ^+ J5 o1 V/ C
  543. STA $2007
    0 R: q; i' i( q+ u2 H& _% Q% A
  544. LDA #$006 V' }' t6 B/ S. F
  545. STA $20006 n. z. M+ M  _+ R2 w# c9 G/ k4 a
  546. PLA
      q$ @! S8 h5 G5 ~( x. i7 C
  547. STA $B8
    ( {3 h$ m/ d: e3 n" T4 i1 ?
  548. PLA
    4 g4 c5 L0 f  s; t7 w$ a6 |
  549. STA $B99 v1 G8 P1 G. n( g, R- h
  550. PLA
    : G( R$ m  O2 D! g! Q& N
  551. STA $BA2 j8 X' b' t$ |5 d
  552. PLA% a8 E% O. Z) Q  i
  553. STA $BB
    7 Z+ h/ n* M3 {
  554. PLA/ N) |+ p; K7 w+ `
  555. STA $BC
    6 ]' j2 F: x& m+ k" V: r
  556. PLA0 P3 q8 I% i3 R) P8 L' H
  557. STA $BD/ @; f- z- `  k2 D3 N  e* V
  558. JMP $A0002 `  Z% M* c: u% v& E
  559. , J: {4 S3 B& u
  560. FREE:                ; 暂存器保护
      q, {3 B  v' i* n4 Y- i  n) Q- U
  561. LDA $BD
    % [, j& e# _5 H8 |
  562. PHA
    # x& g- m8 C/ U' U$ V
  563. LDA $BC6 F& w1 \- [4 V  s& y+ g
  564. PHA, Z4 g1 P4 @4 W: B' g
  565. LDA $BB" f7 s/ f# d) E1 F* L1 Q( C/ [6 i
  566. PHA
    + C5 h" T% U( [
  567. LDA $BA7 M5 x0 V2 ^6 h, o
  568. PHA( [; F6 p$ R' ~: z
  569. LDA $B9
    + ~, L1 _0 T1 b1 P- t
  570. PHA0 k$ q/ E: |! T9 e( A7 Y
  571. LDA $B8; T. E2 d# I9 G$ g; m! s
  572. PHA
    * U& [% i+ q& z! i
  573. LDA #$00
    - P1 W- k' m: }8 K
  574. STA $B8& P/ G0 J+ a+ q
  575. STA $B9
    . j7 G1 V* L, B& \! x3 S
  576. STA $BA
    ; t. @  \5 G, k# L
  577. STA $BB
    * D+ ]5 v  K2 D  T
  578. STA $BC% P3 X& w, t" g6 h& P) `
  579. STA $BD
    0 _4 d% }. ?6 M1 n; D

  580. 2 H. X5 [8 U! r3 ~9 f
  581. WEAWRITE:                ;武器ppu写入
    1 @# B" I, O+ x  ~- u
  582. LDX #$00
      R! j3 |4 n/ G9 x
  583. LDA $AA
    ' d8 X; [2 u: |$ L0 I
  584. STA $B9
    2 Y& Z  f/ ]) s. r* M$ T  ]
  585. WEAINI:                ;地值初始化
    + @8 h: H& M7 E' C4 Y1 v* H
  586. LDA #$A4* X( z4 U% u0 ~$ G6 H4 Q$ Z
  587. STA $BA
    2 V" |4 V  G) L( v6 G" `
  588. LDA #$20
    ; J/ J6 c' Z7 i% |8 Z) x, @
  589. STA $BB' u" w# M0 N8 H+ [$ q: ^4 I7 b
  590. 9 q. m* m2 U) q" n: f# D7 z4 \: U4 [0 B

  591. $ P0 q; G5 ?7 m. D6 u1 o0 F
  592. JSR WEA' _7 X+ j9 o8 \+ k
  593. LDX #$00                ;武器ppu写入
    - |1 J% M* e0 c. Y( X
  594. LDA $AB4 M( C% p3 [; c0 _3 `
  595. STA $B90 \1 T9 \6 {6 A+ T: q. N4 B! Y9 a$ [
  596. LDA #$B33 d4 o( ^0 S! d% J. @
  597. STA $BA% r! M- k3 j: Q; L: ~
  598. LDA #$20
    $ C/ |+ g+ Y0 _+ N
  599. STA $BB4 P: }: K! }5 S" F# N% |

  600. , I, `' u8 o( r( v
  601. + X& ]& t, v6 o% F
  602. JSR WEA
    0 m( m7 F" ?$ F( z; P( g6 @* x
  603. 5 b0 e; f9 X' E0 r
  604. LDX #$00
    ' _  l6 L# i9 q' D+ W, }
  605. LDA #$E4$ P1 X2 P& N  h$ r! N# ^1 w1 l3 {
  606. STA $BA
    7 R5 z! H( D6 ?# \/ [( N$ ]* v2 g
  607. LDA #$20' D( a- o0 ^! E0 Q+ d6 H% F
  608. STA $BB1 V1 H% w4 @2 e& t) `: O

  609. % P/ x) X) k$ a6 T: Y5 R% S
  610. # _9 R2 G# F4 E1 n' G+ w
  611. LDA $32
    4 ]8 b  P& l; f, C" Z
  612. JSR PLAYERLIFE7 M% [1 b# Y( y3 c% y! n, f

  613. " p+ C* n' ]! E7 z
  614. LDX #$00
    - A7 K8 f# S% r
  615. LDA #$F3
    ' g9 b+ t1 c( k3 n; [3 H4 R
  616. STA $BA
    ; N( x0 t0 p2 ^
  617. LDA #$20$ M; u' Z" G9 \/ X6 d" X* A0 U: d: Q
  618. STA $BB2 m' ~6 k) w* a, j( w8 e- J

  619. : F5 }+ ]: y8 {% \  |1 _: ?
  620. 7 X; h$ D+ x' s3 ~  S  ^" E* j8 v
  621. LDA $33
      C1 j" W2 C4 m  n7 m! A
  622. JSR PLAYERLIFE* b6 {5 ], d, H2 x" d' ?/ C

  623. ' E0 b9 R  {9 T* O" M  m0 s
  624. ) o, X8 L. @1 u) _( j$ e+ o
  625. JSR PLAYER_01_PPU
    ! S9 B* e; G* r  M
  626. JSR PLAYER_02_PPU
    6 c6 M! ^2 |. B
  627. # j2 A! l6 k( |/ G% ~# I" r" W

  628. $ r# c+ r' b& c" W' m- K
  629. JSR PAGE_PPU
    , G% |' M/ R$ |
  630. JSR PAGESELECT
    4 I' n1 P- O: C; J: X

  631. 1 e  p; i1 J; k: ~3 @

  632. " Z& j4 `2 {( i4 B% y0 J+ P2 ]

  633. 0 D. J- T; x  h7 j2 A! d
  634. 4 _, `$ `* S; L$ E4 Q7 ~) o. [$ n+ i1 @
  635. ) K! T9 o8 I% R% @- _

  636. 9 w  ]4 s) v% g* k6 Y( s

  637. ) q# K1 C' _2 c9 H  N
  638. 6 m; Q6 U4 z* M* D" z# ]

  639. 3 M" V7 W* [: N0 r

  640. ' B( u  v" j+ D) f, d2 n

  641. : d3 Z& ~' D$ g

  642. 6 d" C& m* I* ~, I6 t7 Z

  643. : f! t4 [. l1 H6 X
  644. PLAPRO:                ;恢复现场
    ' ~) m2 o6 ^3 H
  645. PLA& \7 ?1 R! Q% D3 T. B9 j3 f! P
  646. STA $B8: `0 }- u( V1 j3 @
  647. PLA
    . K+ f# c' a: w- \. A! l0 u
  648. STA $B9
    ( ~( }$ S3 q" l: F4 F! h/ t7 e
  649. PLA
    * H' N' R. B1 e+ R' L
  650. STA $BA# G% e+ o# B& W9 D" i3 B8 q: M+ ]6 o
  651. PLA
    - U$ d' Q' z- }) f: M
  652. STA $BB
    ) F) C1 Q9 I! e
  653. PLA7 V$ ?: g3 c& i3 X, m2 w- [
  654. STA $BC6 n" E2 }; l+ f* J1 L. G
  655. PLA( |" U, @6 `6 V) l+ `
  656. STA $BD6 e9 H8 X8 I5 J$ V+ o( a
  657. FREERTS:
    ' C# M6 q# X. {% H+ }" u
  658. RTS
    ) E( U' f) [: u+ U6 x9 C

  659.   R) |) i. _; f; I6 V$ E  I( D
  660. INVINC_STRING:                        ;invincible
    % T9 a; }3 M. N* w/ \1 N. T- \
  661. .BYTE $93,$98,$A0,$93,$98,$8D,$807 ^. y# E6 h9 U* F; T
  662. ) y( Z, g# D3 s! F
  663. INVINC_PPU:+ ^! r3 U, f: P8 E; T: I1 K
  664. LDX #$00- B/ b  r# ?+ j; @4 P! s: O
  665. LDA #$627 h8 c& c9 A' i. F5 s
  666. STA $BA
    8 v9 `; W+ S5 p& ^
  667. LDA #$21
    * t  {6 N) c% I' o0 n2 ]
  668. STA $BB8 ^- J$ E" p" u% M

  669. 6 A& U4 ?7 ~) N! s3 c4 D
  670. & h; V  c5 Q) l0 a! ?8 |
  671. JSR UP_PPU" M, F2 _; Q& _  u# o: [+ ~4 Q
  672. JSR INVINC_WRITE+ B; q9 ?5 }  O. _# G; y
  673. LDX #$00
    * Q  W5 n8 k1 `
  674. LDA $07A06 s& X8 C4 i3 R/ |. E& [
  675. AND #$016 r6 f- w) Q* S/ g+ _2 u4 V! r
  676. JSR ON_OFF_PPU
    - r/ u! [5 n! |! Q& o
  677. LDX #$00. j8 [1 w1 E' `5 q  L" p  S
  678. LDA #$713 o. f8 l/ l* a9 m+ ^
  679. STA $BA: {+ ?) l. K! k6 T- C- L1 j
  680. LDA #$21  L1 n, i! \2 a: v; _, A: N! e
  681. STA $BB
    3 e" N3 X# |. ~' r  j8 Y

  682. 8 D+ I3 g0 L) o$ x* U* q
  683. ' Y/ N1 h$ w2 S% R: v
  684. JSR UP_PPU1 ^5 g2 x! A% K- q
  685. JSR INVINC_WRITE
    * D& H/ T9 ^4 g! c- A( D
  686. LDX #$00
    ! O: u9 C$ c9 o) z9 N0 A, ]* ~
  687. LDA $07A1
    / |; K! ]' X: X
  688. AND #$01
    % J3 ^% r% @! S
  689. JSR ON_OFF_PPU
    & h2 a; P$ B9 g" u! K' K4 ~( O
  690. RTS7 W2 y7 w% @$ F( ^

  691. : a% w6 _4 N" u
  692. INVINC_WRITE:
    5 F+ d# i+ S7 f& v" \$ }5 Y
  693. LDX #$00
    5 t4 M2 l( g8 h) j9 `& U! p
  694. INWRITE:: ]! N  H6 T& O* v
  695. JSR PPUADDR_PROCESS- z0 P( L( K9 s8 E
  696. LDA INVINC_STRING,X+ P+ w/ j. f" Y( d% _/ ^( ~. L
  697. STA $2007! @. U# `: r* N% I7 U) o* J/ U' v, ^
  698. LDA #$00
    - f: |2 ~, ]9 ~5 \  ^- F
  699. STA $20006 B9 u0 W' g4 _& A
  700. INC $BA) c% \6 L, G6 r% h# t  b
  701. INX, W4 H. y6 W# g! z1 o+ {4 N
  702. CPX #$074 Q( R* e0 b  H% n# _
  703. BCC INWRITE
    , d/ k. Z" N4 D' U# N! [, k; h
  704. RTS/ Q' E+ {% |" @# R3 p; T/ @4 S: |

  705. 0 O3 L  c+ }) W: i
  706. ON_STRING:
    " f6 I6 q  ?9 d3 y
  707. .BYTE $99,$98,$80
    1 O8 H+ o% e* ^

  708. ' j4 H, N" [& s
  709. OFF_STRING:
    ! x, `9 I% p1 i% U
  710. .BYTE $99,$90,$90% K  k+ u6 z9 M1 m1 x$ U! _

  711. / U' u& u$ w' o' x% g7 ]
  712. ON_OFF_PPU:, F5 _# T* F( f  c  \
  713. BEQ OFFWR
    ( e0 t6 _4 U  d, U
  714. ONWR:
    ' n1 H9 m" `3 g+ R/ B2 F7 \6 C, G
  715. JSR PPUADDR_PROCESS9 m' d; }9 M9 t" R/ |
  716. LDA ON_STRING,X# V8 S1 D0 j+ g2 o9 \3 h
  717. STA $2007
      a" F  S6 R+ m4 @+ ^* }9 v
  718. INC $BA, N  a9 ~; i2 U9 q$ W& Y8 F& D
  719. INX7 C6 m% T3 ^+ w; r
  720. CPX #$03# ~1 D+ W* Z/ P
  721. BCC ONWR! G2 x* W+ T& B% n% ]
  722. RTS0 U. p- q2 u9 c* B! A( w
  723. OFFWR:
    " J+ j) {3 H  z4 |+ v
  724. JSR PPUADDR_PROCESS# H; }/ w$ w+ C* [# \
  725. LDA OFF_STRING,X1 q4 Q4 e+ Y9 R+ y- y) @- q' F
  726. STA $20079 X0 c- E' |( u& S$ k
  727. INC $BA
    , U# a# B8 T: S4 l
  728. INX
    8 P3 w1 R) X3 J# S$ g; x. k0 y+ U  u+ m
  729. CPX #$03* S# Y0 ]7 v) A8 `  B0 C
  730. BCC OFFWR0 ]3 r- L" f9 f, ?5 Z) N
  731. RTS
    1 Y! ~. r& K! j
  732. $ l  o! F: ^; ?
  733. LIFELC15_STRING:
    8 p9 y4 ^3 l0 p- E* L9 e
  734. .BYTE $96,$93,$90,$8F,$82,$86,$80
    4 m( ^8 j* [& N$ Y
  735. # R1 @" h- l/ a: Q  \$ b5 `% W/ O
  736. LIFELC15_WRITE:, R$ i  ^, h9 S3 E
  737. LDX #$00
    , @3 f* t  y1 z) _! u
  738. LIFELC15:4 r0 h# L  @( G0 t, v2 X6 T
  739. JSR PPUADDR_PROCESS' S2 d( b: e- P; L( K4 J7 l/ X" o4 Z
  740. LDA LIFELC15_STRING,X6 x& Y% o  j# V
  741. STA $2007
    1 x" a; F3 M  W6 _
  742. LDA #$002 U3 w) L) C" c5 M1 c
  743. STA $2000
    3 v7 p) A$ T5 ?' y/ ^
  744. INC $BA) U8 ^7 i& ~8 J* O: J
  745. INX
    1 ]/ f& }  g% q7 A1 A& U2 s
  746. CPX #$077 A# `9 t  @, g6 q' I( ?
  747. BCC LIFELC15
    7 O( e1 q! }3 [
  748. RTS
    , d) |4 t1 @: Q: p9 U' r) Z: G
  749. . {- H0 @" E$ {# ^  `% C; u" ]9 v
  750. LIFELC15_PPU:
    ! M( s$ Q% D/ L( ~& w( c
  751. LDX #$00
    ! t! R' b6 D. x
  752. LDA #$A2
    0 I$ r3 B# _. t$ c" \6 M) B- l' j, L; l
  753. STA $BA( d" y. t1 h" D2 W) W- d4 n0 Q
  754. LDA #$21: v7 r1 ~* N' f% Z( F' `
  755. STA $BB" M% M) H- D! c, F# k$ L, @
  756. JSR DN_PPU
    ; w5 M- d" N1 W) }
  757. JSR LIFELC15_WRITE5 ~3 S; H& `( M
  758. LDX #$00
    9 v1 z/ d( c# T$ B5 m' S( ]4 p1 ?
  759. LDA $07A0
    ; N2 ]' h8 F, H( u
  760. AND #$02
    * d% m3 I  O9 O; I& x9 ^
  761. JSR ON_OFF_PPU) W+ t* k# R! o* {2 `
  762. LDX #$00
    / d5 K) `& l, S- j( w' Z1 b4 p
  763. LDA #$B1
    % H0 [) w; a0 O5 i7 B
  764. STA $BA- t9 V8 _# Q' V9 U# J
  765. LDA #$213 p# n# j' r3 N% q
  766. STA $BB
    4 N# A1 c2 ?% V
  767. JSR DN_PPU( Z8 O, ?" F: ?" @8 J+ F, d
  768. JSR LIFELC15_WRITE
    + B" J6 n! r) @2 d: K" v
  769. LDX #$00
    0 \5 N* g( w( X% ~4 O. t9 M
  770. LDA $07A1
    ; v  A* h0 Q  S0 s* e4 `  b* ?1 _
  771. AND #$02& s+ W' e* p3 T! r& X& I! l  y4 D
  772. JSR ON_OFF_PPU
    & w1 b0 V/ P( t: L
  773. RTS
    / ?: W* i! U+ c! w2 L4 j( {
  774. ( m; `7 I) @/ K' n1 ?
  775. DOUCON_STRING:" q7 S5 A- z0 J& n% l9 o3 Q
  776. .BYTE $8E,$99,$9F,$8D,$99,$98,$80
    8 Z$ ^) ^. w' b0 E
  777. 3 u/ p* `  |% L- O0 b
  778. DOUCON_WRITE:4 f- z) I* Z+ s/ N& C
  779. LDX #$00) k" B% T. |$ t
  780. DOUCON:9 z' j% h' _5 S; H  H/ b# `
  781. JSR PPUADDR_PROCESS
    . J; v8 I' I* h1 {& ?4 E8 m
  782. LDA DOUCON_STRING,X: d' r7 q! N2 L* r
  783. STA $2007
    ; _% L$ u4 [6 r/ f
  784. LDA #$00
    " W% s. t9 r" u
  785. STA $20009 w" ^8 }/ h! g' e1 R" Q
  786. INC $BA# u1 n% _' i  B- K& }0 z, B& p
  787. INX. S3 h; B3 J) c# X
  788. CPX #$07
    % r6 y! B( f6 k3 U+ h% S  L; _
  789. BCC DOUCON5 q7 C" c# E. i5 B6 Z8 X0 H
  790. RTS
    ; l' \8 s- T* y# _* Q) D

  791. & t2 o: T% r: i8 h/ A6 I
  792. DOUCON_PPU:
    * B, a2 m" J6 |) K
  793. LDX #$00
    / G- [. u- s6 h
  794. LDA #$E22 g7 |2 ^. t$ ^  N1 i- E! g
  795. STA $BA/ ]6 c/ l/ V4 |
  796. LDA #$21; s+ H0 ]! M* x, N2 t: G- U
  797. STA $BB
    1 k+ J; ~0 Y; X) h
  798. JSR LF_PPU7 A* z+ D" G; e1 u+ h; G1 d
  799. JSR DOUCON_WRITE
    9 Z# q7 [$ l3 e  |7 y
  800. LDX #$00
    " K# q  N  a( Z  x  Y
  801. LDA $07A04 }7 y2 x% E& V0 }/ O2 l+ \
  802. AND #$04
    4 t) f& r" p4 ]% W0 {/ X
  803. JSR ON_OFF_PPU
    6 m+ j8 i: v+ b3 d
  804. LDX #$00
    ) {: Y% x  r- C  s* a, k2 V/ O1 X
  805. LDA #$F11 \' ]8 i, T  R. F: q5 n9 b. k; Z# n+ G
  806. STA $BA, z+ b. e" i  z/ w$ L9 N4 B  S
  807. LDA #$21; _, e3 P# {4 e$ ?( |# G# W0 S" j
  808. STA $BB) A5 a; W5 g) q, [3 R" [
  809. JSR LF_PPU' i( a; I- a9 v, l" q0 ]/ N& Q, |% K1 w
  810. JSR DOUCON_WRITE
    ! H5 }* k# h$ W" u7 n! E
  811. LDX #$00
    8 S$ Y. j% {/ s. G+ g  Z  L. e
  812. LDA $07A11 H1 |* m* g7 b. Y- f
  813. AND #$04' n" D  A, e4 C
  814. JSR ON_OFF_PPU$ Y8 f% B8 d' Z
  815. RTS( O& J, K9 g2 k0 p) ]+ B$ Z! N
  816. : B" P! N6 P1 K* z5 b$ `
  817. LIFELOW_STRING:
    3 z& R" Y4 _$ P
  818. .BYTE $96,$93,$90,$96,$99,$A1,$80
    9 B; F% X6 k0 [5 U/ ~2 Q

  819. / ?  W4 A/ `; L$ h
  820. LIFELOW_WRITE:
    & d  o; W/ m/ u) O/ O: b! H
  821. LDX #$00! u( c9 i6 |% ]
  822. LIFELOW:; {+ E0 t5 c) X% R, N+ m: u
  823. JSR PPUADDR_PROCESS% u5 I% j* x( ], n7 c* ~0 ]6 P7 c
  824. LDA LIFELOW_STRING,X
    ) c8 D/ s" O/ W
  825. STA $2007* y, z- n# J0 H: e. G, N
  826. LDA #$00) C1 u6 Y2 e" x) [3 O$ q% }
  827. STA $2000
    , f% S! @4 }0 |3 b, ~: n2 x+ N8 Z
  828. INC $BA
    7 Z) U, ^1 G6 z+ v, [- l$ T
  829. INX! D% d2 {& k. N7 k! K9 k$ l' ]4 ?/ p: o
  830. CPX #$070 S1 P# `, a: U; n; F& Y" D
  831. BCC LIFELOW. x* i0 O! ~  E$ I: ~  Z5 {) l) U
  832. RTS# m/ Y, l+ p% g; j7 ]0 |4 n

  833. 9 y* ]- N/ H$ ^5 N. p: j
  834. LIFELOW_PPU:$ o) y. L0 ^6 t
  835. LDX #$00
    & D- e' J0 [( l8 W% D3 U( G) P
  836. LDA #$22
    $ Y7 ]- f6 c+ g: q* g+ c
  837. STA $BA
    ( m" g7 p# D6 A" s- e6 d' l! \
  838. LDA #$229 q7 [1 y4 S; a% t+ f
  839. STA $BB
    - m( k/ k8 p! H4 x' j- }8 T7 J
  840. + g+ @% s) n4 G: D+ S: }
  841. / |, Q* i# Q. y8 A
  842. JSR RG_PPU
    & ~$ D" P9 \8 _
  843. JSR LIFELOW_WRITE
    , U* G; p; s5 z* r- ?7 d3 `
  844. LDX #$00
    4 \5 }; w& F$ R3 D, S
  845. LDA $07A01 u2 E- w: m+ H7 D
  846. AND #$08
    # y( T5 u$ n! v, ~8 i0 m) s
  847. JSR ON_OFF_PPU- c- s. ]8 X  n2 `. n
  848. LDX #$00* `# [) ~  g* b/ G. [* i& B2 E
  849. LDA #$31
    9 s) h2 m, d0 _
  850. STA $BA
    0 A( ^. ~: Q) \
  851. LDA #$22
    3 V7 y4 s5 w1 h. }. q; a
  852. STA $BB" T' A6 i$ S9 A
  853. 3 o. U+ Z1 ~5 Q" q7 H( ]0 ^0 D
  854. . M' f8 t- `( c  e- q; }$ v
  855. JSR RG_PPU$ Q4 E- R2 L; Y$ s. u5 Q" e! P" [
  856. JSR LIFELOW_WRITE' W3 S+ v  e) x
  857. LDX #$00
    9 P- y' t. U) E5 s! m1 `
  858. LDA $07A1
    2 x3 u" t8 B) U/ F
  859. AND #$08" b& V& B, ]: J1 Z& ~) D( Y
  860. JSR ON_OFF_PPU
    ( t% j3 J) Z3 z9 W; p
  861. RTS, }  V) [+ @0 u5 x" I2 x
  862. 3 ^& o0 @( X8 H, a6 E; c- @8 \
  863. KILLON_STRING:
    6 V4 A8 ^* r+ L& c5 D  ?
  864. .BYTE $95,$93,$96,$96,$99,$98,$80% t9 L5 V6 |6 i6 O
  865. 7 F3 s! x9 a$ b+ u2 O4 a7 H/ a
  866. KILLON_WRITE:
    , n8 f5 N) f5 |# F: {0 @$ b
  867. LDX #$00/ g/ t0 [7 J6 w7 U
  868. KILLON:: r( z/ s6 O' W! b
  869. JSR PPUADDR_PROCESS
    8 E1 f6 Z& R9 B7 e+ h5 f$ v. Y
  870. LDA KILLON_STRING,X
    2 J9 [) X" l5 y1 U( y2 m
  871. STA $2007
    / s. g- K7 n/ f
  872. LDA #$00
    * V" l6 d" O! R  s
  873. STA $2000* |& Y( A) f" b4 x  m) y
  874. INC $BA
    1 u% @' R3 g% j1 B9 I
  875. INX  ?) X1 d2 X! ?
  876. CPX #$07" o. i4 r' R! Q- I
  877. BCC KILLON
    " D3 }* S" ^* j: V: T
  878. RTS
    , j+ l1 d- d" J- m, v  ]

  879. % I3 n% p' b+ c4 c6 l( G" N3 M
  880. KILLON_PPU:
    - U3 J5 I9 _- S  n0 M- a
  881. LDX #$00
    ! b8 n9 f, k, ?6 ?
  882. LDA #$62% f; a! e+ B/ s# J  H, S
  883. STA $BA' `* |' @+ q1 s! }* Z% L) S- N0 `
  884. LDA #$22
    9 y2 S0 x9 R8 g! h
  885. STA $BB
    2 [& C' E7 W4 v( h  ~! a0 W

  886. / |- h& G, D) n7 ]  z

  887. 8 |# V8 o+ R# Q" ^$ t3 ~$ q: ]
  888. JSR B_PPU& e$ [8 l6 @4 O5 k- F( i. a% Z" W
  889. JSR KILLON_WRITE4 g5 p2 e: K, w6 Q' }  y* s
  890. LDX #$00
    . v/ p7 N+ P7 }* W/ E  y* `
  891. LDA $07A01 n0 _1 W  G6 D7 r  U5 Z3 X5 y
  892. AND #$10
    ! x5 z6 q. @# x. W& N6 Q6 O/ u
  893. JSR ON_OFF_PPU
    ) w% Q: @0 [8 f. C2 ^! w
  894. LDX #$00; H( m) u8 S) G+ l7 L
  895. LDA #$71) U; J6 A. j5 Z- X: t
  896. STA $BA* j8 k" O' ^5 o: n2 s
  897. LDA #$229 x/ R/ S+ l0 s/ i/ u7 g, V
  898. STA $BB, i, d6 b7 G5 I$ a$ p7 P& S
  899. ( b' M, T3 Q. |& A7 P
  900. 1 E3 s* O/ r9 D; z
  901. JSR B_PPU5 K  L9 d8 _! u) k  p
  902. JSR KILLON_WRITE
    9 }+ w2 {7 N" O5 p
  903. LDX #$005 c' r% G1 M* p. S# P0 z
  904. LDA $07A1
    * ]2 ^7 ^' ]& Z- c3 Z4 W, ~
  905. AND #$104 C$ E. b) {5 g5 l6 F
  906. JSR ON_OFF_PPU
    ; V! ]; V- s4 f. V+ r3 E
  907. RTS$ t! s  Q! S- _

  908. 4 B3 w  B6 l  ~5 w6 v' U
  909. SKYFLY_STRING:
    * Z* u9 I0 d, R# ~; G# B
  910. .BYTE $9D,$95,$A3,$90,$96,$A3,$801 `2 z/ d. i. i& J. ~
  911. ) F) o" U2 D' p" ~
  912. SKYFLY_WRITE:
    : O* h( x$ x* C3 |6 w
  913. LDX #$00
    1 [, o( X4 e) V- V) n& U
  914. SKYFLY:; B% y# Y+ V9 ]
  915. JSR PPUADDR_PROCESS
    ' s. e5 w0 i; |4 S: W5 \8 P
  916. LDA SKYFLY_STRING,X& ]7 @) M, `, o: M
  917. STA $2007
    ) _+ a' g# l0 G4 r
  918. LDA #$000 F- i" q5 t; i, N! y! ]8 k
  919. STA $2000
    $ n& ~$ W( _. ]
  920. INC $BA6 M+ j. t  J% a
  921. INX
    7 I' i/ Q# S! L, ]* z# t1 _9 G
  922. CPX #$07: W6 q* w5 h) h8 w$ p
  923. BCC SKYFLY) l0 @* _$ D3 ?) v
  924. RTS
    " Q5 V# B. }. a! V$ l; Q

  925. 3 [8 ]' d" C+ b8 ~8 a8 P
  926. SKYFLY_PPU:
    $ t5 Q* J! H/ V  P; c6 K
  927. LDX #$004 i$ C+ L) v, C. G. p( e% J- k
  928. LDA #$A22 L# |4 p5 W( r9 l6 P2 V) L! t
  929. STA $BA6 s" G  l) b. m
  930. LDA #$225 l3 Q4 j( Y, D4 W( s. K
  931. STA $BB
    & W* \: @1 t$ ~% F/ `8 y; x& J
  932. 9 X; A* f% G% e
  933. # ?0 T- @4 j8 H$ e" i
  934. JSR A_PPU
    4 @4 M- r# g0 ^* K3 ~* y7 }* Q
  935. JSR SKYFLY_WRITE
    % b: B# g/ k0 Y4 b- I" j3 i& j/ x3 L* Q
  936. LDX #$00
    7 P9 Q  B' {+ B9 Q% r% C
  937. LDA $07A00 d+ o$ y3 D1 h" ^
  938. AND #$20
    ; ]. ?8 h4 @6 t1 ]
  939. JSR ON_OFF_PPU
    * i" h8 b+ M: M4 S0 _( B
  940. LDX #$00" A. Q0 R- p, P
  941. LDA #$B1
    & [- \7 n+ ~+ x. Y$ S- `
  942. STA $BA" S7 @* t# b; e2 e5 n  T& j1 B' G
  943. LDA #$22
      _$ ]% [* I, k( F7 v7 @8 O+ K
  944. STA $BB
    1 |0 t0 o* r% x" ^; r0 ~
  945. # X' l' c6 z8 G& u8 D% U
  946. & c6 S" c; L7 M
  947. JSR A_PPU
    + f, O- ~' L& Z$ Q7 G
  948. JSR SKYFLY_WRITE6 `, _" o& ^9 J: j; b3 p
  949. LDX #$00
    $ P' h8 c, A. D
  950. LDA $07A1( b# h4 ~6 I: M; \8 G
  951. AND #$20, x; k; b1 J8 _! {, H
  952. JSR ON_OFF_PPU
    8 E8 s* w, E1 G' c
  953. RTS
    0 U# P1 S. _$ i

  954. - W/ w0 ~& u  T" ]/ O
  955. BULADD_STRING:9 D2 F1 z* _( v8 u' s) v
  956. .BYTE $8C,$9F,$96,$8B,$8E,$8E,$807 b) n# p- g# v+ j
  957. 8 }. r5 Y# F% u' g) F: W2 J. }
  958. BULADD_WRITE:
    , e4 D2 k1 P4 O( [% x8 d# r0 I/ s
  959. LDX #$00% R: Q3 B, O8 C8 c) J8 S- p: h0 T3 `
  960. BULADD:
    1 V, ]! o% T0 k  l! ?+ L
  961. JSR PPUADDR_PROCESS
      v0 i! o$ z; \8 B
  962. LDA BULADD_STRING,X
    & k: n* \* j9 z: G# g
  963. STA $2007$ J3 F* {# e8 M* o
  964. LDA #$008 l4 a7 \4 p6 a: y
  965. STA $2000; e9 {6 F$ w2 G2 m7 j3 _: N6 L8 j
  966. INC $BA
    ' r4 D# {2 M; {4 h$ c
  967. INX! Y+ J' w; v8 L# g: w" x( B: C
  968. CPX #$07% U( M- h  i/ M1 s" g. o
  969. BCC BULADD
    # ]5 `; q# D$ \! l- L- Z( E
  970. RTS1 _4 u2 `" `0 m7 z+ `/ x* }

  971. ) R  F$ y1 j, t. S
  972. BULADD_PPU:
    3 @( j1 j& [5 i* j
  973. LDX #$00
    2 N: s6 L/ [' P9 i/ T
  974. LDA #$62
    ' ]8 |3 \$ u* M" R$ o/ j1 A2 P3 O
  975. STA $BA9 F4 d( N* U* e2 N" H( J
  976. LDA #$216 v4 e3 }  h5 Z5 W8 h* A+ l! @4 I
  977. STA $BB
    9 d% g! K/ x9 x* O- B

  978. 4 q$ U" F4 r+ v/ F# g( y
  979. 6 Z* [7 j& s6 F. j( l8 e% x; S3 B. g* n
  980. JSR UP_PPU3 m, K+ c5 V5 w" z
  981. JSR BULADD_WRITE1 h2 F$ m% u0 X# C$ s
  982. LDX #$009 C) K0 Y5 R% r" B. w0 `( r
  983. LDA $07A2
    ! ?- C: a) N3 ]( `
  984. AND #$01
    1 M6 d8 w" @( e- k* }( U
  985. JSR ON_OFF_PPU
    : O5 L, W: |8 [
  986. LDX #$002 o/ ~; l# k6 `8 Q7 X
  987. LDA #$716 q9 t5 _" w4 U9 D* g/ B2 ^2 ~
  988. STA $BA7 k" P) c6 j0 v- `
  989. LDA #$21
    8 G9 o/ ~& }( s4 u6 w
  990. STA $BB
    6 j7 {& n+ w# p

  991. , g0 S' h7 p! L2 N

  992. 8 N) S0 b5 }$ a6 O' M
  993. JSR UP_PPU8 j7 W, r" m' ]( U  h/ c
  994. JSR BULADD_WRITE2 [$ a. R8 [9 M* q
  995. LDX #$005 {. g/ ~+ y$ f6 t/ t% u- g
  996. LDA $07A3
    . j6 l3 T0 h+ o! H! `( J: R
  997. AND #$01
    : M/ I/ o- X. x4 Q( j8 S
  998. JSR ON_OFF_PPU( f4 Z/ P7 n; {
  999. RTS4 p. U9 A6 {2 D' H
  1000. & v/ {! u. T2 w' K! V% f
  1001. MENU_PAGE_STRING:# Z+ H+ k: b+ k
  1002. .BYTE $97,$8F,$98,$9F,$80,$9A,$8B,$91,$8F,$80,$81
    . J( ]+ r/ p# q. u! k
  1003. ( e8 M9 D4 ^% K+ N
  1004. PAGE_PPU:# L+ B+ z& K) z3 c
  1005. LDX #$00
    8 Q* `* n+ C0 b: ]" M% a
  1006. LDA #$0A  W$ K! o! X4 ?- K, n
  1007. STA $BA
    0 u5 Y0 N# L; {* U1 x
  1008. LDA #$23- ^7 m" Z8 y! b/ j
  1009. STA $BB
    4 d: N4 h% i( a3 ?# G% @( g" Y+ H

  1010. : K1 J' P8 N+ L
  1011. # M( x& o5 R$ B! m
  1012. MENU_PAGE:: ?, t  Y7 j: z1 r
  1013. JSR PPUADDR_PROCESS
    1 e5 ^4 u: Z. k
  1014. LDA MENU_PAGE_STRING,X
    6 P+ z6 w  [" E
  1015. STA $2007: ^  f- t  A! R& ~2 T; B' e# g
  1016. LDA #$00" y7 ]' Y( B/ z1 B  @1 o7 i2 \
  1017. STA $2000
    : ?& i$ j; L( _# m5 q) L/ Y
  1018. INC $BA9 c5 x9 L0 x5 H6 N' h1 G; }- n" B
  1019. INX# M" ~5 ^) F2 K4 s0 X7 R0 n
  1020. CPX #$0B
    4 g- o1 v$ [4 @  u' P0 e; y& w
  1021. BCC MENU_PAGE
    / F7 v/ r% q( z: ]" t" \
  1022. LDA $07AA
    * x7 D* y+ @5 v1 k; q% ?& \
  1023. CLC
      w, q3 U% \/ w
  1024. ADC #$82
    ' {7 w! T3 X! D
  1025. STA $2007& `6 C, Q1 o2 F/ T) ]
  1026. LDA #$008 {1 m& b* x7 ?1 N$ _
  1027. STA $2000
    * B5 l$ i  o* i
  1028. RTS7 s1 y2 k- E0 o  O* {

  1029.   _+ ~# ]$ F& t1 H

  1030. % W8 U& }8 u  m3 Q; R+ ?* _
  1031. SKINGE_STRING:: H0 x2 K- C  V8 g7 g+ z, k
  1032. .BYTE $9D,$95,$93,$98,$91,$8F,$80
    ; w& T% O  {3 ~* u

  1033. - D; q! O( _3 u. M5 w3 {8 z+ z
  1034. SKINGE_WRITE:
    3 a4 y  v9 d- d# Y0 q9 `$ C; `2 Y
  1035. LDX #$00' E/ S$ g5 W0 l4 O* G8 Y
  1036. SKINGE:$ g) v' r, N: H( u
  1037. JSR PPUADDR_PROCESS) d( I" }- m7 N$ U# e5 r/ \9 I
  1038. LDA SKINGE_STRING,X( X9 t: t( x# g+ ^8 V2 ^0 q
  1039. STA $2007- {: \6 I8 A9 t
  1040. LDA #$00
    ( ^5 b/ k% }$ ^7 r8 H- M$ M+ E
  1041. STA $20003 Z9 M: c$ d( D* W0 |4 B# C
  1042. INC $BA* g1 [# w, {; h4 Y& Z7 R- ~2 d
  1043. INX
    ' b1 y0 b! u0 W# Q
  1044. CPX #$07  m) \3 {+ e; \4 H- A  p
  1045. BCC SKINGE7 D3 d# f' F4 I  A, F$ z
  1046. RTS
    ) Z5 o' T% C! D. e( r0 s
  1047.   \: z+ t/ j/ @1 ?# y2 b
  1048. SKINGE_PPU:; m% _2 }& @8 A& K! N+ \
  1049. LDX #$00
    % I0 s% t0 z$ U
  1050. LDA #$A2* N; L0 `/ T$ C/ u3 x0 g4 ^# |
  1051. STA $BA
    3 E2 [" d' G$ b* g6 p
  1052. LDA #$21
    : z4 m8 Z4 `9 e+ d8 i
  1053. STA $BB. i( u! X5 o/ F+ S+ J# x

  1054. * J" s2 n8 a9 o  j+ o+ N

  1055. ( a. }1 F: Z2 R+ n* u6 k# @
  1056. JSR DN_PPU
      i' I1 K* l* T0 {3 [9 E% a
  1057. JSR SKINGE_WRITE" E/ [+ d) v/ r7 j3 Z0 Z
  1058. LDX #$00
    8 J6 V/ }" ?0 r; O/ i2 ~3 X
  1059. LDA $07A2
    6 \$ G- N& n. ?% S7 M
  1060. AND #$02
    $ y% Q$ X  T& o: l
  1061. JSR ON_OFF_PPU& m4 o5 }) W. ?, n! G- t! k! @
  1062. LDX #$00
    2 J4 |8 b% W) y2 K0 _# J
  1063. LDA #$B1
    8 \; D# z2 K* H+ ?. B3 H
  1064. STA $BA3 A& [8 s' D: b) @
  1065. LDA #$21
    8 j9 I: h2 A+ S% Z. m
  1066. STA $BB, |$ ]0 C& N! G
  1067. # y7 [- I! `/ a9 D/ y9 _
  1068. 5 x7 k1 l8 ]! Z- ?
  1069. JSR DN_PPU1 e- h+ a6 l; L' B- T9 V, Q! ~0 O
  1070. JSR SKINGE_WRITE
    . t0 V- f: k& R# z. g/ q+ ^
  1071. LDX #$00: d% u/ _, ], x4 b/ O3 f9 _6 }
  1072. LDA $07A3" ^9 }8 {- `0 P2 [
  1073. AND #$02
    . F3 l8 c/ y3 E9 F! e
  1074. JSR ON_OFF_PPU
    ! N5 b$ h& w6 j1 c1 y% l2 c) x
  1075. RTS! B/ \" u/ h+ o, y

  1076. 0 m: e' e1 x. \
  1077. BULMIX_STRING:3 Y( x4 X4 _0 W- J6 Q
  1078. .BYTE $8C,$9F,$96,$97,$93,$A2,$80
    4 a! w, _9 m( B4 b3 ~8 n

  1079. / B9 I) n- C+ v
  1080. BULMIX_WRITE:
    8 l" [3 I  x) P# J# h
  1081. LDX #$00
    & }( p& `: G% ]4 r+ p, }
  1082. BULMIX:
    - ^" ~; j9 F, i2 x* e, \
  1083. JSR PPUADDR_PROCESS
    * u" ]( L, j* `
  1084. LDA BULMIX_STRING,X  G; P; O* o- R  G4 L4 }
  1085. STA $2007
    ! s0 d9 B1 v8 ?8 c1 D: ~
  1086. LDA #$00) i" d5 ~2 F: X5 ]4 x% a
  1087. STA $2000; G4 D2 t) t9 t( P5 J
  1088. INC $BA
    ! ?4 O: H& X# W  `# d( Z% d6 G  L6 T
  1089. INX
    2 f& i9 b- l. \! R
  1090. CPX #$07* g* B# }& Q/ e" e
  1091. BCC BULMIX' M$ ~' k+ z/ r6 w
  1092. RTS  Y$ m$ t" Q& \
  1093. " C( `# g- I* ?  O: ~; e0 R. T+ Z
  1094. BULMIX_PPU:# r0 }: }. a8 t8 L% ^: l
  1095. LDX #$002 b5 e; V  P0 x8 n9 f) O8 G5 G3 _
  1096. LDA #$E2
    7 b  b/ J7 E8 r  K/ O0 l3 |( w4 P
  1097. STA $BA5 `( ?# Z" ^  K; V
  1098. LDA #$21
    : i0 {5 W3 a8 [* I
  1099. STA $BB1 w) i. @: k" F- K( ^" M  ^
  1100. $ R; N: m! I9 u7 i4 e5 J* p4 a

  1101. * K! Y' C# l9 ~0 ^8 z+ c1 i
  1102. JSR LF_PPU& w9 s- `% `& M
  1103. JSR BULMIX_WRITE
    8 ]- |* w6 @/ c1 o; G6 r3 O5 r; E/ G5 Y
  1104. LDX #$00
    1 v4 \# A9 z# u, W" D% I8 L9 y
  1105. LDA $07A2
    6 n9 F/ e5 M5 \4 Y7 \! s; Y4 s
  1106. AND #$043 j) P, a; `: w2 ^& W" f9 w$ D3 x
  1107. JSR ON_OFF_PPU
    : c7 {4 e$ a2 y1 b6 Z2 v
  1108. LDX #$00+ V2 [2 z& w; Q" M
  1109. LDA #$F1
    ) N1 ]0 n. m, W" o' M
  1110. STA $BA4 I8 j; M& V( U" T* h+ \
  1111. LDA #$21
    . ?: ?  F* }! k; t& J3 ]/ V
  1112. STA $BB
    $ D% |  C3 F0 u+ Z0 ]  B

  1113. 0 w% }+ r+ w! I

  1114. 0 T( K, A7 m8 c
  1115. JSR LF_PPU
    6 ?: C8 }0 w7 k. ?: M
  1116. JSR BULMIX_WRITE
    - m- p! A0 m" F( _; J1 P, L& F
  1117. LDX #$00  J, I0 i- M1 B4 [
  1118. LDA $07A3' w. w; A2 u. W- I* _
  1119. AND #$04
    % i1 ?9 v$ Z" j1 `, T
  1120. JSR ON_OFF_PPU
    ' }4 R+ y$ [" N# ~2 o
  1121. RTS$ k/ W3 {7 F' M& w( v- Q4 k( K+ h
  1122. & Z# s2 B% q6 u( d' r" V3 ~* o
  1123. ENELOC_STRING:1 ]1 z  ]3 Y& N6 j* _' O
  1124. .BYTE $8F,$98,$8F,$96,$99,$8D,$80
    4 _0 t& K( E7 f9 q, L$ V# c+ P

  1125. ' `; y( }: m3 P
  1126. ENELOC_WRITE:' h$ ^2 n. m$ L% y: }
  1127. LDX #$00
    ' a. r9 a3 M4 U5 e3 [) x- A
  1128. ENELOC:4 v6 C# Q, U! f
  1129. JSR PPUADDR_PROCESS
    + _! N& Z& k2 F) F0 j% f8 ~
  1130. LDA ENELOC_STRING,X
    / s8 Q9 ^- {; M( M0 g& H
  1131. STA $2007
      \- s- E! h" G
  1132. LDA #$00
    * g( }% H! K5 a( E+ H+ h6 s
  1133. STA $2000
      _: F( C  K" n6 F4 U
  1134. INC $BA
    & l4 Z- Y- l% n2 n* K' O9 s" d: x
  1135. INX
    ! u, s, a4 e) z2 m9 a. E. b
  1136. CPX #$07
    / D6 c  T9 {' Y7 i8 ]9 g5 T
  1137. BCC ENELOC" X9 f9 g7 R; r( u/ Z
  1138. RTS
    1 \+ |) x( O7 ~9 c3 w4 f: I
  1139. 6 ?4 W  n8 R1 B) f: h
  1140. ENELOC_PPU:
    * ?  m: ?% F, J& b1 t6 B2 x
  1141. LDX #$00
    8 k) `  _) }% J
  1142. LDA #$221 @( z7 l0 {5 @) [) S' x' j% y
  1143. STA $BA
    0 v! E$ m; A% `& |" |0 y. }9 O4 e
  1144. LDA #$220 \9 A' h, i1 ^5 `# J) M7 m
  1145. STA $BB$ ^9 `4 Y  ^" q5 u% e0 Z

  1146. # e3 j9 P* \. H2 R
  1147. 1 B  V2 g. T, q5 Y* E' I& q8 I
  1148. JSR RG_PPU  J5 ], A5 m* k
  1149. JSR ENELOC_WRITE- k) d' S% e% H* N5 c
  1150. LDX #$00
    9 M( `$ J& s  _2 a
  1151. LDA $07A2
    * ]7 D, q2 S7 {
  1152. AND #$08
    ) ?, R$ i. R% P
  1153. JSR ON_OFF_PPU% M/ C+ i( Y+ Z5 M
  1154. LDX #$00; j$ i2 ]6 E3 i; h
  1155. LDA #$318 N- ~, {/ i/ v
  1156. STA $BA
    / |0 D- i/ }7 K; W. y( N
  1157. LDA #$22
    : V1 l' ~5 `% d% N% n
  1158. STA $BB
      L  P' z! f& i+ }
  1159. + l& E! h: i5 z- N

  1160. ( t' e( D" H" N' H' \
  1161. JSR RG_PPU; |( x% F0 [1 v; N2 U
  1162. JSR ENELOC_WRITE% i" f9 n; J6 {3 z% n9 A
  1163. LDX #$00
    7 g6 [% n5 G9 z; k& J7 Z
  1164. LDA $07A3
    & K9 G9 c- v$ _$ U+ ]
  1165. AND #$08
    : T2 X1 D/ D& @& B0 P! Z/ }
  1166. JSR ON_OFF_PPU
    , j0 u9 z1 d7 f8 k1 o
  1167. RTS
    # C! V7 B: o3 O: e+ l6 _

  1168. 1 {8 u7 Q: d: s# c! j
  1169. FOCFUL_STRING:
    / _# o- k& [0 c1 k3 o( T8 f
  1170. .BYTE $90,$99,$8D,$90,$9F,$96,$80# |5 [/ O3 ~) i8 E/ e
  1171. 0 t/ L  l) C1 a) s1 o
  1172. 3 W" D  ?6 v+ a# c9 _) A9 u2 l
  1173. FOCFUL_WRITE:/ L2 ?( R0 |7 h" {9 X; J+ A8 r( k& `, Y) O6 p
  1174. LDX #$00& q3 P; q) _, C' ?0 j' M( [9 d: w
  1175. FOCFUL:
    # K* s9 U6 e4 i1 |, g* a# N
  1176. JSR PPUADDR_PROCESS
    8 @( M9 s  e' H: R$ g  V3 P: E, r8 P
  1177. LDA FOCFUL_STRING,X
    " |: D) p7 k' o  A- D
  1178. STA $2007
    6 O) s/ n: ?9 Z
  1179. LDA #$008 b8 K  |2 y2 \) S# i# B
  1180. STA $2000: o# h1 S  H8 v3 D$ p1 ?+ F
  1181. INC $BA
    $ w. d0 T, H( P% J( k. ]
  1182. INX
    ; k1 C% }0 d8 I7 v4 L
  1183. CPX #$072 p) H9 O/ S# T( T4 U2 ~8 C7 B# k8 n
  1184. BCC FOCFUL
    6 G( \) q$ d. n+ \
  1185. RTS
    ! K2 w: }" g! S4 R  w
  1186. % D) u1 G* C2 j/ N3 H; `# u
  1187. FOCFUL_PPU:3 }: Q! z! J" |2 q+ |$ A
  1188. LDX #$00) K. f  F4 H: ?# [  Q9 @& R" M( r
  1189. LDA #$62
    + [! u- a9 d2 j, x& O; b+ ~3 X
  1190. STA $BA* r( {. Y5 @5 e% N" `
  1191. LDA #$22
    9 d  B& V$ g1 o% T7 f$ T
  1192. STA $BB- n, U& m/ R% T% i

  1193. # N* o% B1 Z3 V
  1194. 0 P' f% E  |. S' S
  1195. JSR B_PPU8 f0 |3 v) I( W" j8 {1 z
  1196. JSR FOCFUL_WRITE. J5 u5 Y" ]( L- \" E( \
  1197. LDX #$006 T) b% d3 D% u$ W
  1198. LDA $07A2
    : {7 F. u9 ~2 E; k& d6 Z& n
  1199. AND #$105 }1 b2 q( C3 Z3 T' n( ]
  1200. JSR ON_OFF_PPU2 h% ^- g# l* x4 C3 g
  1201. LDX #$00
    6 L7 t, X# R7 F7 I* I
  1202. LDA #$71
    9 X  _4 V& A; m4 D3 Z: W" V" V8 r
  1203. STA $BA7 w1 m( O6 p3 `& ?' N
  1204. LDA #$22/ c+ @( h' v1 I; b
  1205. STA $BB1 O5 n4 Y8 x$ F& o( Z5 j
  1206. . p6 a" Z) Q' f# u0 z' X
  1207. # g  w2 m% F. O2 x5 d) A
  1208. JSR B_PPU1 y* \4 h  I5 o  h. R& ~, }
  1209. JSR FOCFUL_WRITE  b* [8 ?5 ^5 o8 m+ @! X  v- u4 V$ |
  1210. LDX #$004 x4 L: ?6 v2 Y' i9 z
  1211. LDA $07A3
    / v7 p$ S  q6 H4 ~
  1212. AND #$10, ^0 Z6 q9 G% }6 d6 C9 v7 p% c( b
  1213. JSR ON_OFF_PPU3 Z# `4 [5 @  d- I
  1214. RTS
    + ^+ l  ^, i' E1 @
  1215. " G* R  u9 W$ d+ r; K) ~" D
  1216. BULCON_STRING:* [1 |9 q( x; f/ C
  1217. .BYTE $8C,$9F,$96,$8D,$99,$98,$80) }9 v  S9 y  F) }

  1218. - l  D/ z4 q( }; R" z- c2 O. f# J
  1219. ; `) D7 _, X- H) _
  1220. BULCON_WRITE:3 T. g0 B) m/ D
  1221. LDX #$00& N9 q0 G4 |. z3 }8 I* a( n( q
  1222. BULCON:0 Z$ Z; s% X' o6 F! K  d
  1223. JSR PPUADDR_PROCESS6 f0 p2 m6 E! T- ^$ t
  1224. LDA BULCON_STRING,X& T5 X8 T' D8 Y) E
  1225. STA $2007! r% m" o+ p( `, h: E. q* I4 v3 T
  1226. LDA #$00
    7 U: H6 E3 p" L$ g: {
  1227. STA $2000
    1 P. s( g+ n& j2 S
  1228. INC $BA7 u' v1 J2 `  _; O
  1229. INX% r; g3 o# y0 q9 s4 ]
  1230. CPX #$07
    5 A0 v( V" P+ M4 C: D' ^
  1231. BCC BULCON  U3 C' H2 }3 u2 Y9 v
  1232. RTS  ]. t4 K; g: K8 b2 c7 u# M; d6 l

  1233. + A0 }" U8 v  k! D' f
  1234. BULCON_PPU:3 \  x  v* _7 G( Q; z
  1235. LDX #$00
    6 h$ m8 x8 U& ]4 z
  1236. LDA #$62. u7 S) Z; I: c
  1237. STA $BA
    6 M# {  E1 r4 K4 D9 i4 O
  1238. LDA #$21
    % c& O, z0 Z5 q; Y) ]) ]
  1239. STA $BB
    $ k8 c8 P- C7 q4 t; V3 d

  1240. 4 `# s0 P% e0 J3 r) D9 E! H" s
  1241. ' T# b5 x  H$ S+ S+ N$ \& v
  1242. JSR UP_PPU
    $ r% J( R- D- a; U
  1243. JSR BULCON_WRITE
    1 S! N( S5 Y3 |8 y
  1244. LDX #$007 }8 z) i  g* C+ r
  1245. LDA $07A4
    1 W% q! u) U& K- @' e2 M
  1246. AND #$08* d7 w' ?/ l3 E, _0 y
  1247. JSR ON_OFF_PPU  W4 I: x; y+ X4 M) k, |6 k5 V
  1248. LDX #$00
    ) g" d; a9 u6 o  [" N3 V& o+ Z
  1249. LDA #$711 g9 P2 n# O5 a
  1250. STA $BA
    1 X$ j( Z3 `. p* D5 ]: W
  1251. LDA #$21
    . p- B, |9 \( Y7 u$ O# w
  1252. STA $BB
    % v) W& }- z% E- ^& ^( p; U1 J
  1253. 8 g# F1 W* T" `. i- E/ Z  @1 J

  1254. & B7 M6 n5 s6 v( e' K" T
  1255. JSR UP_PPU  ~7 t6 a/ r/ a  d0 x- ^0 z+ w* p
  1256. JSR BULCON_WRITE
      o; X2 X  R3 N, L( u! ?- A" U' B9 q
  1257. LDX #$008 p8 v5 ~3 i. J# D7 C2 @
  1258. LDA $07A54 O0 _3 X3 i/ s% M: g; B
  1259. AND #$08
    1 }/ w6 K! x: _; K
  1260. JSR ON_OFF_PPU
    6 {7 F" d. }2 L6 f, B
  1261. RTS
    6 k3 P4 U0 `/ r' A& B9 |5 m+ K

  1262. 7 U( q% f/ U, n& }3 w, Z5 K2 @
  1263. SPEBUL_STRING:
    ' V* P' H0 f3 h, A3 y& Q* M* O
  1264. .BYTE $9D,$9A,$8F,$8C,$9F,$96,$80
    7 t; o" o2 x: X2 U6 _% Z/ L& W2 o0 r
  1265. 1 \8 c9 X3 ]( w
  1266. ! n7 z  ^8 u! c2 n
  1267. SPEBUL_WRITE:
    ! {0 L- X% P" T3 N* J" U8 ~
  1268. LDX #$003 @( `# n( a/ E! `2 q1 Y# @+ F
  1269. SPEBUL:
      t2 b9 x; I6 ^: m* `
  1270. JSR PPUADDR_PROCESS
    " y' ^: ]6 P$ Z8 T* O
  1271. LDA SPEBUL_STRING,X
    $ t5 q3 ^3 e! A
  1272. STA $20073 `" {3 [  b( I6 N8 R2 B% e! ]
  1273. LDA #$00% R4 D* \, V& j' @# V
  1274. STA $2000
    + S! }; f; @3 P' w6 e. W
  1275. INC $BA& Z2 o! F/ E: R! r9 l7 V# Q
  1276. INX
      l- Z4 Y2 ]# r8 @2 G- ?9 ~7 t* h
  1277. CPX #$07" C# w2 s, f/ t, v; i/ G6 E* X  p
  1278. BCC SPEBUL
    - M3 j+ f3 e- w5 {( H9 ^# L+ B* r
  1279. RTS
    + {% u; C0 v3 _: c

  1280. 5 g/ @$ u" c; F
  1281. SPEBUL_PPU:) N; ^$ b; S' t" W3 V* Q
  1282. LDX #$00( O# O; Y: e" Q# f
  1283. LDA #$A2
    / n/ u# f! E. r, r! n
  1284. STA $BA
    ) |( x3 M# S6 n: C- a  O1 K
  1285. LDA #$213 v! U- w7 w- M
  1286. STA $BB
    9 ?" J! B% f" k, k
  1287. ( u- K( E& L; \7 q

  1288. - e- R+ s% [  f, ], d+ m
  1289. JSR DN_PPU7 S9 q. J6 _4 N9 q$ P  n
  1290. JSR SPEBUL_WRITE
    / }& ^1 v! T4 s. i
  1291. LDX #$00
    7 \( e& o  {) m7 M
  1292. LDA $07A4& i' z8 A( h. a4 d
  1293. AND #$02& o, a, Z7 U8 V8 A4 t
  1294. JSR ON_OFF_PPU
    9 Q1 p: o0 g  v3 G/ ?
  1295. LDX #$00* M9 R% c3 H# V1 E! S3 X/ v
  1296. LDA #$B1) e$ o4 J( N# e- p
  1297. STA $BA- |/ d- M4 T( r# M, F! y
  1298. LDA #$21
    / U0 K! K, z3 Q" G: P5 n
  1299. STA $BB: R; y, s: @0 l2 r2 S) _) E) B% Z* a
  1300. ' W& W9 E* ^& z) }% \# @2 b

  1301. " v5 G1 F' E/ u
  1302. JSR DN_PPU% n: b; ~- A7 r  E9 F
  1303. JSR SPEBUL_WRITE
    2 b$ z/ h0 [) w4 h
  1304. LDX #$00/ y1 g$ d" p: u( G3 P
  1305. LDA $07A56 \6 j: ^$ u, z( X* i& M
  1306. AND #$02
    / P4 ?" y$ d1 Z# C3 ]
  1307. JSR ON_OFF_PPU! ?: Y0 o9 {# Y5 n7 c9 S+ s
  1308. RTS; l: d) S* p' Z9 s6 h7 Q3 r1 L

  1309. + D/ e9 D1 E  H- ~
  1310. .ORG $A500
    ; V8 c" X4 U% s" q  L
  1311. CLEALL_STRING:
    , z) j$ l+ J" A
  1312. .BYTE $8D,$96,$8F,$8B,$96,$96,$80% L# ^# Z9 {$ h- d0 |

  1313. ! @$ O6 L! }/ P- k$ F
  1314. 8 w, d( s2 w1 A
  1315. CLEALL_WRITE:: d( ~8 t+ D& W4 Y% A
  1316. LDX #$00" ]/ ?- C, ~4 R* t
  1317. CLEALL:
    6 r/ P& T" X0 I, m0 Y, A$ m
  1318. JSR PPUADDR_PROCESS# w. A, W. a2 R  h8 o, ]: D% M( n
  1319. LDA CLEALL_STRING,X* R$ U- @/ p, H- ]  x) |
  1320. STA $2007& T$ o% l- w7 {/ v
  1321. LDA #$00
    / W  s& Z  ?/ R( K& }0 V
  1322. STA $2000
    # S5 S5 y% g5 [8 o. T: \
  1323. INC $BA# D) G- @4 U. b
  1324. INX& o0 P2 L, @$ f, l
  1325. CPX #$07/ i, \: W5 U" K8 ]9 R
  1326. BCC CLEALL
    & o4 a" R- R% D* F+ j- J6 c
  1327. RTS
    1 Z3 W7 G% \# p7 `
  1328. + H# w6 G/ h, V
  1329. CLEALL_PPU:
    , N# e- ?8 s5 V% c4 q; s9 N
  1330. LDX #$00: E6 `( ]2 j) {1 ~6 }4 I3 a
  1331. LDA #$E2
    / f1 h3 p9 b# Z
  1332. STA $BA6 f9 ^/ A9 W' l: o) h+ W  v: |' P
  1333. LDA #$212 g( `' m4 r8 r$ u! p) p& n9 Y
  1334. STA $BB
    0 N: S0 q) P: `  A& z' h

  1335. % A' ]* U- G+ D, U; d

  1336. ( d6 L3 X. Y) x! M7 q
  1337. JSR LF_PPU
    4 K. \# g) j/ `2 t' N. n
  1338. JSR CLEALL_WRITE
    % C$ }& V5 A7 q3 i# [/ j
  1339. LDX #$00/ e" x2 F4 n9 w8 A
  1340. LDA $07A4
      x/ K) u" T7 G
  1341. AND #$04
    % ?# Y0 Y* e  ?: A; Z& }! v: A9 s" g. P
  1342. JSR ON_OFF_PPU9 e  }6 ]; W" x7 R: }
  1343. LDX #$00
    : K  m: `( A2 u  A9 H/ P% x( Z
  1344. LDA #$F13 n8 p7 V. c6 N2 u
  1345. STA $BA6 `1 P4 b: z, n0 \: y, Z) D& [  V7 L
  1346. LDA #$21
    ' K5 p2 X' n, t
  1347. STA $BB2 \# D0 N( L8 S8 M

  1348. ' e7 z9 i# U( Q3 L# X' E% H& N
  1349. ( \6 y# g0 I' x5 @  C. y, w! B
  1350. JSR LF_PPU# L+ ?( N* R5 d/ N
  1351. JSR CLEALL_WRITE: |8 N5 k5 w: z- R+ o% N- T" n
  1352. LDX #$00; s% ~4 Z. e1 ]4 s' |+ p
  1353. LDA $07A56 n% y; V/ R3 i' ~  T3 P# B& b
  1354. AND #$04. i( V: n# z8 Q  n
  1355. JSR ON_OFF_PPU: _6 p5 A9 L+ D( l2 }1 a
  1356. RTS/ C$ o! S5 m* C5 ^8 {0 \0 a

  1357. $ p& q- v+ |* Q) V( n4 a
  1358. HARDMODE_STRING:- S8 W( j0 B( R6 L8 A  R
  1359. .BYTE $92,$8B,$8E,$97,$99,$8E,$80
    : i- Q2 W8 l9 E7 m
  1360. % f6 y; h) N& T; d
  1361. , d6 Y4 w" E9 D! T' w; X8 L
  1362. HARDMODE_WRITE:
    $ L, t, t. A% ~6 ~  f$ Z$ {, O
  1363. LDX #$00  X9 i4 ?* s) \) ^* u
  1364. HARDMODE:
    - _1 G1 [3 Z& r2 G) W% C3 o
  1365. JSR PPUADDR_PROCESS
    ; D. r! i) Y# w$ P: f, R
  1366. LDA HARDMODE_STRING,X
    ) o) B  I0 ]% h# U* q/ ~+ ?, a/ A
  1367. STA $2007
    * n# P: }4 T2 f% ?, Z) S" O! e2 G3 q, |
  1368. LDA #$007 a, }6 A6 J+ f6 o) E) Z  d, k0 p
  1369. STA $2000
    . V3 Q5 E$ A: `2 R) f
  1370. INC $BA
    ) D# V3 e9 w; ?, \) J+ H; J" |
  1371. INX0 r! M. [5 u. V  E- W
  1372. CPX #$07
    ! \! M- Y4 K$ k2 D% Q. K: x
  1373. BCC HARDMODE
    9 V9 D# G: C1 Y2 V2 q; y7 c
  1374. RTS
    ; Y8 s  T6 X! w
  1375. 0 h( y# Q: e5 r
  1376. HARDMODE_PPU:
    1 g+ e# Z2 p- {9 P. A: K* X
  1377. LDX #$00
    & \# c, e9 a6 Y3 d7 |) r
  1378. LDA #$227 O, U# y. X+ `) a, I
  1379. STA $BA) M# M7 }! {, n5 S; \5 j
  1380. LDA #$22
    . I  _; B* D9 v9 h! }% q9 t1 N
  1381. STA $BB. n9 o: s9 x  J/ D0 O
  1382. JSR RG_PPU$ O7 Z( k7 w- B
  1383. JSR HARDMODE_WRITE
    ) p: x, Z3 S3 F) x5 I- h* `7 }
  1384. LDX #$00
    ' U8 K6 ?3 H' Q" r
  1385. LDA $07A4
    ' u# K& l* [% k6 X- X
  1386. AND #$01- `* ^$ g# P2 ?9 b0 @
  1387. JSR ON_OFF_PPU  F3 N$ m. m1 o" g$ _7 ~
  1388. LDX #$00$ p- p# I0 ~' u7 d: i
  1389. LDA #$31
    ; p3 h1 J' D4 F* e( f  [
  1390. STA $BA
    : p3 n% d: G+ w2 Z2 n
  1391. LDA #$22
    ; [$ B0 d9 u/ T% P7 i
  1392. STA $BB
    ) C$ E# w% M5 T3 [( s8 q' U' L/ b

  1393. 1 V! o8 A# h' t6 {, K; Z2 n& |5 K

  1394. 1 [0 ~, H6 s% N
  1395. JSR RG_PPU
    4 `. [1 C5 S! x3 n+ p
  1396. JSR HARDMODE_WRITE
    * w0 v7 T. X$ [1 c  H! [3 X; x
  1397. LDX #$00
    5 S1 c% s' z* `5 i  U) I" Q
  1398. LDA $07A5( b& K( ~6 N2 N# k, |: j" p
  1399. AND #$01% }1 D" F1 |+ E; n
  1400. JSR ON_OFF_PPU
    0 r! R& \/ p+ w0 B" h* b$ _
  1401. RTS# w9 l( v$ [8 r% a) [$ x6 V' `

  1402. 4 T# O# g( r8 r* k, d- G7 d# g
  1403. B_TO_JMPSTG_STRING:
    $ E7 U& n7 q- H, V9 \
  1404. .BYTE $80,$8C,$80,$9E,$99,$80,$94,$97,$9A,$9D,$9E,$91,$80
    7 \- U) n4 U! ?& Z( a

  1405. 9 w1 w, R% i6 R2 }  m2 a" I
  1406. ! p* W0 g9 {* T( i# Q
  1407. B_TO_JMPSTG_WRITE:
    / h! s+ }$ o  I6 T1 w
  1408. LDX #$00
    & @$ {8 W% d- \' x+ }
  1409. B_TO_JMPSTG:
    . Z2 L, }5 ^6 F9 _
  1410. JSR PPUADDR_PROCESS
    & ^& `6 l" v. Y% i, K' M
  1411. LDA B_TO_JMPSTG_STRING,X, m0 L; l+ P& y7 n' I
  1412. STA $2007
    . V. m+ _8 M% k# O7 U6 l
  1413. LDA #$00" k# j2 d* n; s9 F( S& O& h' e
  1414. STA $2000$ A) Y/ @, F, W
  1415. INC $BA
    0 x4 y/ Q1 z+ G2 K% |
  1416. INX
    6 K' h# p. f+ P9 Q
  1417. CPX #$0D
    & ?/ o, _& H8 \, D7 q0 q% G6 `/ m
  1418. BCC B_TO_JMPSTG
    7 v: G$ _/ e$ @" j& z" n
  1419. LDX #$00. F/ _7 x$ E% |/ |) m$ n# a# `
  1420. LDA $7FE0
    / e' Q  b+ I2 c& Y& D
  1421. JSR ON_OFF_PPU0 ^* s1 f% ?5 a" h. f2 m! U
  1422. RTS% w0 f9 J5 E$ m3 r8 M- ^

  1423. 0 T! i4 m, S+ h: _- T
  1424. B_TO_JMPSTG_PPU:
    7 w! f( d+ G2 h8 ~1 G, i3 n
  1425. LDX #$00: h( R. E( ~7 o/ K# m* V. ^6 _+ ~
  1426. LDA #$683 `+ b% F  U. Q) Z: y
  1427. STA $BA
    ) m+ f$ j/ C( J5 P0 Y4 p
  1428. LDA #$22$ O1 t6 {8 W: _3 `
  1429. STA $BB! B7 a# h* O; X' k" K5 ^8 @/ e
  1430. JSR B_TO_JMPSTG_WRITE2 ~  D9 Z* Y9 k6 w
  1431. RTS
    2 C  S: o$ a6 [- t/ G% ~

  1432. . d+ c0 [; |- e4 [
  1433. & u. F# C" }/ Z3 |& K/ h" e
  1434. A_TO_PLAMOD_STRING:7 L/ l- q& Y: u& k5 c
  1435. .BYTE $80,$8B,$80,$9E,$99,$80,$9A,$96,$8B,$97,$99,$8E,$80
    1 p9 Q2 M* F5 ^4 {4 I! O  [; _
  1436. 6 j) G4 _; j- a* i, v
  1437. + K/ k8 C& j/ @, N" N
  1438. A_TO_PLAMOD_WRITE:" Z2 @  z0 s) `) E
  1439. LDX #$00
    6 b) ~% z# u5 E* W  ?7 m
  1440. A_TO_PLAMOD:! D3 Q) j2 S9 ], A* X1 R8 n
  1441. JSR PPUADDR_PROCESS
    ' I# |; l4 e) F. U/ t- b1 Y, r- S; \6 g
  1442. LDA A_TO_PLAMOD_STRING,X( r; e& Z% [5 o/ `) N2 _  f
  1443. STA $2007
    , q5 P: c0 V' J) c2 R
  1444. LDA #$000 b! g1 L. [9 G7 H. ^
  1445. STA $20008 T' L7 A9 F! [+ k) X* I
  1446. INC $BA% {  D" ^+ E, N" `5 b1 J
  1447. INX$ g; s" k+ j% S$ w
  1448. CPX #$0D
    ) c7 {: v: v$ N$ Q) V
  1449. BCC A_TO_PLAMOD
    ( x0 r( D; [2 M+ m5 Z# v+ t& P
  1450. LDX #$003 W4 O7 f& ^0 ?" ^& {: d6 I
  1451. LDA $39
    : W- A. V% Q2 S1 F( d
  1452. JSR ONE_TWO_PPU
    ; P2 f1 c; j: s) c9 v
  1453. RTS- \( g6 Z$ I/ j: b$ \
  1454. . l5 p$ W4 I' Q# Z8 [# O
  1455. A_TO_PLAMOD_PPU:% V* O8 U0 ~+ ]3 R9 {
  1456. LDX #$00) A  R/ x% C( _- u& q! U
  1457. LDA #$A8  U! A, B+ ~7 L' D
  1458. STA $BA
    1 |0 u" P6 o* n$ y# S5 a
  1459. LDA #$22
    " N- q8 M8 h3 H7 x; c4 N
  1460. STA $BB
    ' l  G' |  b4 q2 T5 x1 b( M, C
  1461. JSR A_TO_PLAMOD_WRITE8 u4 l) c/ c) U, S& T$ ~0 m" Q% H
  1462. RTS2 s& J$ M8 D8 X' |  M
  1463. 8 a5 G) ]) s! l$ U; o" y) F
  1464. MOVSPE_STRING:
    $ V7 X1 a. \* `8 s/ @
  1465. .BYTE $97,$99,$A0,$9D,$9A,$8F,$80
    ' h0 V( E9 [1 m+ m7 H1 u

  1466. 4 `/ n7 C. P* C  F

  1467. ' v0 Y$ @9 I; _& c- O& @5 ?
  1468. MOVSPE_WRITE:
    1 v+ v, w. {0 `6 g1 \
  1469. LDX #$00( o6 N) Z& x5 H. ~1 j7 }
  1470. MOVSPE:, Y1 V) g! F/ G# g0 A
  1471. JSR PPUADDR_PROCESS
    ' m) ?7 K, U2 R- D+ W- A
  1472. LDA MOVSPE_STRING,X
    ' z: Q2 \: `! G3 c
  1473. STA $2007
    3 w/ t. w* b; v" Y* U3 D
  1474. LDA #$00) Q+ \# _, w) f+ q3 {/ v  ~4 Q& r
  1475. STA $2000  H) G! p4 t6 Q" b' L, S4 _
  1476. INC $BA
    " B, Q) q" E( g: L+ o; k0 ~
  1477. INX1 v0 i) g/ D, ^+ p9 D
  1478. CPX #$07
    6 Z* H; e, A1 L- ~, c
  1479. BCC MOVSPE
    * P: R; f2 Y. t$ K5 ?. h! ~
  1480. RTS/ |: z5 i5 x& c
  1481. : a1 K) E' I7 `, _
  1482. MOVSPE_PPU:
    8 Y+ T1 P1 ^3 N5 q# V
  1483. LDX #$00
    # O$ I( S! y1 e. ]
  1484. LDA #$69
    . i* v: }8 u/ n7 g% m9 s% |: m
  1485. STA $BA, g" @4 P( q# m0 {/ O1 }; y* `1 Z3 h/ Q4 S
  1486. LDA #$21: I/ S/ m- y" }6 i7 E' Y& y1 D
  1487. STA $BB( Y/ u. M7 @4 H" m5 I; L
  1488. 6 X# l8 \1 B8 h. u3 `
  1489. ; h/ y" C1 H; W
  1490. JSR UP_PPU4 j$ o  p. v9 j. l- i* S
  1491. JSR MOVSPE_WRITE
    % `4 h( C9 w7 B: u
  1492. LDX #$00
    3 `: V4 l9 C" H( ~$ v
  1493. LDA $079F9 w- m, [* Y& f& m: I0 [  r
  1494. AND #$08
    . ?- d5 G! q  H6 ^) M- j
  1495. JSR ON_OFF_PPU
    ! t% U7 M6 w/ s( v+ _7 K8 \1 V4 B
  1496. LDA #$80
    / k& t, Q: ^& ]$ X- J
  1497. STA $2007
    & _. W9 g& B1 C  @
  1498. RTS. _; T& o+ T. ]/ d6 j

  1499.   C' j+ F' H  w: t1 F3 \- `9 V
  1500.   
    3 F; G1 A  |4 d3 o% k* x9 ?0 p
  1501. UNLJMP_STRING:0 H  y* F8 k! }, I$ S- [
  1502. .BYTE $9F,$98,$96,$94,$97,$9A,$80
    & m  k$ |) _0 P1 L

  1503. " a# a+ ]. ^  z7 l% Y
  1504. 4 j6 e% ]2 D* c
  1505. UNLJMP_WRITE:
    ; g% G$ a0 A8 R5 T, C
  1506. LDX #$00( \' m1 G& }8 }. q$ W3 D% ^9 T0 z
  1507. UNLJMP:& R3 ?! l- K2 s# K
  1508. JSR PPUADDR_PROCESS* k" V" O1 Z/ {; V* l! B1 X
  1509. LDA UNLJMP_STRING,X
    5 u: C% S3 O6 ~2 B, _. }
  1510. STA $2007
    4 S% B7 x  U) H/ t( c/ v) ]* y, D
  1511. LDA #$009 P2 p* n  E/ i6 s$ Z
  1512. STA $2000
    0 J$ Q7 |% w% |7 \1 e; Z
  1513. INC $BA8 B1 l8 [: h5 a& G6 |' ?
  1514. INX
    0 F7 A' x4 ~" c2 {5 V) c, p
  1515. CPX #$07
    , p! D# I- d5 A' q" w4 H
  1516. BCC UNLJMP( g- n  H& `4 i2 O& B/ @. _$ p2 R
  1517. RTS" X/ k) e$ r/ i/ t6 J0 q) D: A

  1518. * g) I  Q' `; m: ^& d
  1519. UNLJMP_PPU:! E" I8 C. O' n, u
  1520. LDX #$00
    % Q! R$ m; q5 l! t1 z6 ^  V
  1521. LDA #$A9) d$ i0 r4 j4 {
  1522. STA $BA
    2 v+ A7 A3 }; ]8 ^
  1523. LDA #$214 K- L, w+ L% M* u2 q
  1524. STA $BB
    * `, d0 C/ P& k- w7 C

  1525.   E7 o' _, W' c
  1526. - Q7 a# i9 R. d0 n, n. f* p
  1527. JSR DN_PPU
    / X4 Q: O0 C  G0 m+ B
  1528. JSR UNLJMP_WRITE1 l: h  V* O, e6 `6 Q
  1529. LDX #$002 K; a: }/ c8 B
  1530. LDA $079F. p* `% m! y8 l* Z) J
  1531. AND #$04
    7 W' G6 s, |: C5 _( O
  1532. JSR ON_OFF_PPU
    ; |( N3 n3 E* X3 D
  1533. RTS
    2 }* ?) n) a5 z6 j0 n& i
  1534. 5 i  v7 ?4 B$ \" ]

  1535. # s: N! d- ?# B* Z  K. i; X
  1536. DESTRO_STRING:- Q& T  U" x! e" ]; S8 _
  1537. .BYTE $8E,$8F,$9D,$9E,$9C,$99,$80. \" z: c% r) x+ c* a

  1538. ' o: C5 P: R' j4 C

  1539. 7 u" Y, {; s8 m1 S, S' U' N
  1540. DESTRO_WRITE:" L8 M. `  r2 p1 N& U4 l
  1541. LDX #$00
    5 A! k, D- U+ g* i2 {$ D8 v
  1542. DESTRO:
    . m9 z  M  y- @* l5 I+ e, L
  1543. JSR PPUADDR_PROCESS! I  u1 p6 u8 ^" o3 Z% U: K  S. `2 M5 _
  1544. LDA DESTRO_STRING,X/ ]* n! Q6 F; C; a
  1545. STA $2007
    9 Y0 m; D7 @/ h% y$ `" @" ?
  1546. LDA #$000 @+ A0 H9 e& n. [; G4 C, F/ `
  1547. STA $2000" Q: Q9 k7 [6 q- m# F$ l
  1548. INC $BA
    0 M1 j: f0 ^/ i3 j5 W/ d$ G8 V; I
  1549. INX
    3 B" y+ F$ K! }0 S1 j8 z. {$ N
  1550. CPX #$07/ L3 ?9 v2 B% e/ X: m8 r1 k
  1551. BCC DESTRO
      j0 S! F9 {8 |8 _2 r% G
  1552. RTS
    6 `4 b: k2 c2 F2 c
  1553. - n5 S* z& ?5 I+ w+ j1 Q+ F6 F
  1554. DESTRO_PPU:
    ; r2 n& M/ T5 ^
  1555. LDX #$00& V3 X& i; _' w. e- p+ X: P, C
  1556. LDA #$E9
    , r, ]. d. j: f0 e$ N& L* e
  1557. STA $BA
    / Q& v* s1 o0 S# }+ E
  1558. LDA #$21. b) O9 m( d% z2 @$ w7 j& G
  1559. STA $BB9 L8 y; q" F) p. b  n7 k

  1560. 3 ^% J% u6 L  e4 g* p! j1 f

  1561.   o$ w/ A- m, Z
  1562. JSR B_PPU8 ]1 Y6 y8 D' V. ]  [0 `
  1563. JSR DESTRO_WRITE
    # H- B# f8 C9 v: a
  1564. LDX #$005 L  E; r$ {% N, K
  1565. LDA $079F6 a7 U; y& z7 E1 e
  1566. AND #$40
    . d- v+ `" y9 p" c7 C7 e5 O+ n
  1567. JSR ON_OFF_PPU
      K- b3 L  D- I! m
  1568. RTS
    & C  W2 D4 {, j7 }( D6 E

  1569. 2 P3 E9 l& {# H. y9 @
  1570. 9 ]% Q" t: Q, z
  1571. EQUBUL_STRING:+ [1 @* |/ q% b& J8 L+ `
  1572. .BYTE $8F,$9B,$9F,$8C,$9F,$96,$80, A6 b( x2 d1 A" o: m" v9 Z
  1573. 4 s8 o$ M$ x8 a8 W( H' `
  1574. 2 t) N' H2 j9 @$ }! h6 P( r$ O, c
  1575. EQUBUL_WRITE:  N2 ]! o$ q6 T! Q' A, f$ s) T
  1576. LDX #$00
    9 Q2 c1 G; g$ Y
  1577. EQUBUL:! {9 u" G9 Q! A+ Z4 s7 x3 T0 h& _) ~
  1578. JSR PPUADDR_PROCESS
    0 n0 D' E4 |7 u
  1579. LDA EQUBUL_STRING,X
    9 f' w0 g0 B  R; S6 N& {4 y) R
  1580. STA $2007
    5 E5 v4 O( ^3 B
  1581. LDA #$00
    / [: q0 W8 p/ a( i) V
  1582. STA $20009 w# M0 l# x* l% Y# l0 o$ ?
  1583. INC $BA
    + G2 ~- s. h$ i& O; s
  1584. INX1 v- h, s- h( Q' J! h# x  {
  1585. CPX #$07( t8 {0 x& L( v1 W
  1586. BCC EQUBUL
    # ?: l% u$ |" x+ D; w) V9 o1 l
  1587. RTS
    6 P  \3 ]8 `( V
  1588. . ^0 @. D+ R* K% }
  1589. EQUBUL_PPU:
    " ?9 R/ l( y) i/ ?
  1590. LDX #$001 p$ T- k' l$ J
  1591. LDA #$29& O* O. ?  P9 m) Y) m8 U
  1592. STA $BA
    4 C7 P8 C8 n8 p- y: C" p
  1593. LDA #$22' K7 D& @- z& E  {$ l* W) h
  1594. STA $BB
    % ^4 c, j9 }4 W; }. x- ]: p. K: k

  1595. + x2 D5 ^+ I+ h: N( x& }. Y& D$ R

  1596. 5 a- z% R* f0 _6 \) R, [8 ?
  1597. JSR A_PPU
    : n' K! ^) O9 W- C/ J) f( U) F
  1598. JSR EQUBUL_WRITE1 k# z: j0 ?. s, ^: e# Q. F( m
  1599. LDX #$00
    " b  x2 K9 @! R3 X
  1600. LDA $079F
    3 i, O8 Y7 o% l' T$ n
  1601. AND #$80
    " U( ?5 V1 s7 o( @+ [
  1602. JSR ON_OFF_PPU
    * i0 R( }9 n: {/ X/ e4 G; K5 B
  1603. RTS" z6 Y) X+ I- k" r% a, X; {, p

  1604. 8 G: T" f( |- |. i% W! C. c2 V
  1605. * h; N9 T9 S3 t4 ]7 |

  1606. $ `1 f4 u# E; V: n5 o
  1607. BULSEL_UP_STRING:, O5 N' k5 d7 P. E3 R
  1608. .BYTE $9F,$9A,$80,$9E,$99,$80,$9D,$9D,$806 Z+ @8 h) q* x. A! L# v
  1609. 6 l+ ?# X. P- b9 m# l
  1610. BULSEL_DN_STRING:( t! ^0 N4 m" t1 T  e
  1611. .BYTE $8E,$98,$80,$9E,$99,$80,$9D,$96,$807 J5 ~( C3 ^( T# x! D
  1612.   F# q  M+ S8 `& i
  1613. BULSEL_LF_STRING:$ o; T8 Q6 P7 J) X. s
  1614. .BYTE $96,$90,$80,$9E,$99,$80,$9D,$97,$80
    8 H+ g$ C! W- A4 y1 p
  1615. 3 G) g- |" g! G2 p
  1616. BULSEL_RG_STRING:, P: o4 J; u( A6 m5 f
  1617. .BYTE $9C,$91,$80,$9E,$99,$80,$9D,$90,$80
    2 x, a( t+ h: w8 F* M6 G! @

  1618. 0 i' A0 R' {0 o+ p0 w
  1619. BULSEL_B_STRING:% H: @4 N5 l& a. h8 ^  V
  1620. .BYTE $80,$8C,$80,$9E,$99,$80,$9D,$98,$80
    ! E5 @6 [& j" _! b+ Z( k$ l

  1621. , ^7 G: _: r* W
  1622. BULSEL_A_STRING:# F. C' N% X; g0 o
  1623. .BYTE $80,$8B,$80,$9E,$99,$80,$8D,$99,$97,$97,$99,$98,$80,$9D,$9A,$8F,$8F,$8E
    6 T' }8 ]- u  V
  1624. 6 i+ \4 l' x( X3 T
  1625. % \$ x$ a1 Z7 f5 `4 [
  1626. BULSEL_UP_WRITE:
    9 I/ m- P/ K7 _
  1627. LDX #$00
    1 T2 g5 R5 B1 A" Z: G
  1628. BULSEL_UP:
    " [( g8 z- A  D& k
  1629. JSR PPUADDR_PROCESS
    , }$ {& I& a- A" R
  1630. LDA BULSEL_UP_STRING,X
    # `/ x; t, B+ b# L8 {" x; l' I
  1631. STA $2007
    & p5 N+ t9 m3 h$ O% U( A/ x' P
  1632. LDA #$003 b7 x/ C$ f# _5 ~+ V# i1 ~+ e
  1633. STA $2000) i* l" {& y! ~
  1634. INC $BA: W/ q" y9 R+ o& ~' q
  1635. INX
    " R3 v3 }/ T& h. x
  1636. CPX #$09
    ! X7 U" F. c# D
  1637. BCC BULSEL_UP8 K9 b% n8 V: s0 s+ q; F
  1638. RTS
    " @* y6 z8 H/ {! n3 }& J. j- H/ b
  1639. BULSEL_DN_WRITE:- ?4 ]. r8 t6 g
  1640. LDX #$00
    - ]! R6 W2 \' e" F
  1641. BULSEL_DN:
      L. E( u4 i/ A! ~1 H3 `' o1 S$ x
  1642. JSR PPUADDR_PROCESS  A$ ]1 r1 y4 p0 u! r
  1643. LDA BULSEL_DN_STRING,X$ Z7 F2 S: t: ]
  1644. STA $2007
    , E( L+ ^( f" O! h& s5 s/ Q+ r
  1645. LDA #$00( m! `, ?! R; U5 _
  1646. STA $2000
    3 c" }# p- J( Z, j
  1647. INC $BA
    $ ~; S, K/ T! T( m. k
  1648. INX% v% D6 F3 }" x- o* s9 e7 E4 P
  1649. CPX #$09; a+ U0 r& L8 t- }( f" ~6 X. t: L
  1650. BCC BULSEL_DN/ c) \; I! k  P  M! U$ O6 |! f
  1651. RTS
    0 F+ |! W0 t. n3 u' p% `
  1652. BULSEL_LF_WRITE:
    , q( u: j; q7 Z) h" L$ H
  1653. LDX #$00
    # m0 X) i8 N* a
  1654. BULSEL_LF:" o/ R( Q4 ~7 W" `4 r+ \
  1655. JSR PPUADDR_PROCESS2 z( A9 d8 b1 [  y6 C
  1656. LDA BULSEL_LF_STRING,X
    2 U6 i2 |4 l3 Q4 P
  1657. STA $2007# v7 t8 P) N- c
  1658. LDA #$00
    4 s" \. W$ K! d/ Y$ C
  1659. STA $2000
    8 ?; L- z, o1 e5 Y# V- e/ U
  1660. INC $BA
    , o. R0 t$ }7 T: m; Z5 h3 u7 p
  1661. INX7 x% {& D7 u" R( C1 U& a0 s
  1662. CPX #$090 h+ p( ?6 d; q3 `% c7 U! i$ `7 v
  1663. BCC BULSEL_LF3 n* B' b3 R8 u" i: K3 W7 P8 Y0 ]
  1664. RTS
    7 w6 h$ u% f  Q
  1665. BULSEL_RG_WRITE:
      y  u$ e' n. \5 v& }
  1666. LDX #$006 e4 U& A) _' t4 @1 c
  1667. BULSEL_RG:
    % N- h# v$ {  M3 n
  1668. JSR PPUADDR_PROCESS
    4 k3 J' T9 S1 r' S
  1669. LDA BULSEL_RG_STRING,X8 s% W% ^% s- }% d( N6 v' B
  1670. STA $2007
    ' W6 M: |( E5 C1 x& G( n0 a7 b
  1671. LDA #$00
    - A" D' d( k8 c2 u# E
  1672. STA $2000
    8 S. b' Z: h0 J1 E: Y6 r$ o
  1673. INC $BA3 Q, E$ z8 Y& ~% s& s9 F* C
  1674. INX
    ' h' I" ~1 Y$ D/ n$ d
  1675. CPX #$09
    / p9 P/ D3 ?: A- g. U9 a
  1676. BCC BULSEL_RG
    ' _, _2 N8 H+ l7 r6 l; E
  1677. RTS1 R4 E' Z) B0 ^' i: U% @: K8 V& T
  1678. BULSEL_B_WRITE:
    6 H& d; i$ E. u- [3 L& q4 U
  1679. LDX #$00
    3 _( }* Y4 q3 V% Y6 y: r1 D, J
  1680. BULSEL_B:  m  c  o8 G& R: k
  1681. JSR PPUADDR_PROCESS
    * h9 h) z* c$ a
  1682. LDA BULSEL_B_STRING,X
    * M3 |% p5 U3 q) I* K# a# a
  1683. STA $2007$ \/ @* d! f8 g) O) u7 Q
  1684. LDA #$004 f8 z+ m1 K0 }
  1685. STA $2000
    ' O& s( e$ X0 Q" a+ g% f2 s9 Q
  1686. INC $BA
    0 J0 K8 t+ r% ?9 g
  1687. INX7 U& X1 }% o; |
  1688. CPX #$09
    % o0 k6 u& y- o) b
  1689. BCC BULSEL_B
    & a& N! M' Q6 D) v' U7 v
  1690. RTS
    6 _0 ?* K% I4 c0 Q7 r$ F3 H
  1691. BULSEL_A_WRITE:- J) ?$ n5 T% X) a% s/ T; {4 b
  1692. LDX #$00# b# a$ o; X' ?3 n! `
  1693. BULSEL_A:+ z! }9 B/ `% V! ^1 V
  1694. JSR PPUADDR_PROCESS) \% V& Q! x  ^" R: j  Z+ f: K
  1695. LDA BULSEL_A_STRING,X
    $ F2 f) M( p- D2 ?' ?+ M
  1696. STA $2007
    8 M' X9 ]: |- K/ O4 ^% {
  1697. LDA #$00
    7 ~; x/ k' J+ m1 t7 w* G
  1698. STA $2000
    2 D- M% f  L& R. b" s3 n5 k/ I4 K
  1699. INC $BA
    , B2 d. i6 g( C& N
  1700. INX
    & z7 i( z% {" @9 o9 P) n* d
  1701. CPX #$123 a4 d4 G) B! I' E! @
  1702. BCC BULSEL_A6 x  t6 k' g* _# v- M  W8 h) L
  1703. RTS  U! t9 F$ T. d+ `
  1704. * V. E4 R; [- t9 w
  1705. 9 I& o* X0 i0 H

  1706. , E1 l, X- a$ K3 Q
  1707. BULSEL_PPU:
    2 b7 [9 ?1 x$ y6 i1 G. _6 d' @
  1708. LDA #$6C
      C7 E8 V9 o7 e8 d# k
  1709. STA $BA: p" ~1 [5 V! y. I. `6 @. i! h
  1710. LDA #$21
    1 V( U7 Z) P2 _9 C+ K
  1711. STA $BB5 S; W4 L1 Y# }& ?8 ]- O) x
  1712. JSR BULSEL_UP_WRITE
    7 |+ J  V* w( {4 m" L( ?
  1713. 2 T: t5 }7 u+ U- u' E% \
  1714. LDA #$AC
    ' A' `8 Y6 z# L+ H. ?3 K7 b
  1715. STA $BA5 e% I& D5 V( d# O8 o
  1716. LDA #$21
    3 u5 X; Y/ r" Y: F
  1717. STA $BB* Z9 P7 {/ h+ y6 i
  1718. JSR BULSEL_DN_WRITE- w  _0 j0 `; l2 D/ J

  1719. 5 Z: d3 S5 Z6 F% V' }8 v
  1720. LDA #$EC+ W+ v& i3 l' T% E
  1721. STA $BA% D0 W* q" W0 e% e) |9 K% C6 c+ s
  1722. LDA #$21! e! n/ o) t% C  z) H5 S
  1723. STA $BB( Z, m# z, T9 X; G# O$ A
  1724. JSR BULSEL_LF_WRITE; g4 V8 n3 ]( b( \: N! P
  1725. & V1 j# @  r- N' q% i7 S
  1726. LDA #$2C  \5 H/ w: E- T( K% x
  1727. STA $BA) g, l2 d1 v9 r0 h7 `# @( I# Q
  1728. LDA #$221 h* q  t& z. `0 f1 X
  1729. STA $BB
    5 t0 g# f1 z1 Z# W8 n3 ]
  1730. JSR BULSEL_RG_WRITE
    , q- }, M7 D1 c' ^
  1731. 8 h5 |- k( y9 G* p4 _3 b% f$ h
  1732. LDA #$6C% H+ G3 e0 \  U% G( C
  1733. STA $BA+ F$ L  ?- a- R
  1734. LDA #$22
    + I2 k: f3 d* V7 e& ]7 a, J
  1735. STA $BB
    # {0 J* d# m- _: `: M
  1736. JSR BULSEL_B_WRITE
    " f; B9 L4 n/ b! c

  1737. 9 {  s0 f1 S# D5 L7 G& v
  1738. LDA #$A7+ Y& Y2 c/ f" c& H: ~' k; Q) @7 J
  1739. STA $BA
    9 {* {$ l6 j+ a* d
  1740. LDA #$22
    : L2 ^. S9 a! Z; I
  1741. STA $BB
    5 s0 ~- G. K5 Y& C
  1742. JSR BULSEL_A_WRITE% H9 i6 g& k; n/ i! u/ Z+ w7 @' y  @
  1743. RTS
    / _% k1 y/ ~3 R9 j

  1744. 2 a2 j: G0 c, V
  1745. 4 }; \: Z, }. T
  1746. 9 d4 q4 N% `5 o' O( @% T* O
  1747. UP_STRING:
    ) O7 z- Y- }" c7 K& c% A# d8 M
  1748. .BYTE $9F,$9A,$80  ~/ ]- L( u" I5 u
  1749. $ l" s6 X- f8 h; u; |; ?1 Z1 }
  1750. DN_STRING:7 T$ [7 P* f* ]( O3 T: |
  1751. .BYTE $8E,$98,$80, k0 o7 @5 E6 i* y' H0 V1 x( c
  1752. % {: S  f4 _- c% H
  1753. LF_STRING:0 N2 O2 F7 u( ^9 c
  1754. .BYTE $96,$90,$80
    & P7 c0 V6 `( [/ ]2 l6 a0 d

  1755. * b5 I9 S5 A1 [2 d+ t( Y# }
  1756. RG_STRING:2 H& A) N- S  b) Z
  1757. .BYTE $9C,$91,$80% i. S& p7 \7 P, e+ G8 C) G
  1758. # M: S- Z5 U  S6 \/ H5 I- K
  1759. B_STRING:
      W9 [5 [! K. s8 n
  1760. .BYTE $80,$8C,$80
    8 w- u0 q; H" U) o) T7 ~+ s

  1761. 4 M" Z( F5 B2 K4 J1 Z
  1762. A_STRING:$ Z4 e5 I2 H4 h. Y
  1763. .BYTE $80,$8B,$800 [: i" P+ T" }

  1764. & b0 |) H+ x# e# ^$ d

  1765. / V- g, a+ I5 U* z* j0 {; I# H
  1766. UP_WRITE:. f3 j. `0 Y- p
  1767. LDX #$007 ~4 N* t2 N# S9 a
  1768. UP:1 D* K5 U' o% [* J% r# t2 l
  1769. JSR PPUADDR_PROCESS* l" K2 R# h8 \# I8 c5 {8 X
  1770. LDA UP_STRING,X8 d+ a7 T; F# n# Q. [" i) ]
  1771. STA $2007: S) X; e2 G/ t) D" W) J" g  h" v( k
  1772. LDA #$00
    ' n% O4 A9 B+ {$ ]' U
  1773. STA $2000# b8 e" j6 r7 A
  1774. INC $BA
    5 N8 Z: X0 o' l- c% B4 u5 M( N4 v! Y/ _
  1775. INX# |9 Y! H  r$ |, G2 R
  1776. CPX #$03  n7 g5 h: `) h& W# C* e
  1777. BCC UP: X( q# _4 k' x
  1778. RTS) t4 T$ L7 [, f3 u6 r' h3 \  c  h
  1779. 4 r% s+ A$ ~- ~% ]5 Q6 h
  1780. DN_WRITE:! I! S; y" I$ L; N
  1781. LDX #$00$ I6 |  m. U) C. e' ~# e
  1782. DN:; a6 K( w. N6 |; c6 O) M1 h  ]; X
  1783. JSR PPUADDR_PROCESS
      O6 q/ e1 I# O- d! \+ c6 P
  1784. LDA DN_STRING,X! i7 ^$ l$ I3 o7 G5 @5 P' q# b9 {
  1785. STA $2007
    8 P$ J: b' _; O+ E& ?  v
  1786. LDA #$006 l: }+ n5 x; Y  s# E' b0 {; n
  1787. STA $2000- [) J3 f' f8 u+ C  L) E" r$ b
  1788. INC $BA  [+ J: V9 \! i% M& A3 a
  1789. INX
      p, X  ?3 y' G
  1790. CPX #$03; ?5 L8 x" n. P, u0 D2 E. E2 L  l
  1791. BCC DN
    4 w) N, u: y8 U% S
  1792. RTS
    " K( h  q6 S$ k6 Y' O. \: M, ]: u
  1793. % [3 c% x% V- A" Q& V
  1794. LF_WRITE:& _2 s/ e' Y9 |  N7 n! m& ^, k7 {
  1795. LDX #$00
      _$ F" J1 R; K$ C3 m" [5 J2 q8 s
  1796. LF:
    5 q5 V% a: c2 K. ^- [$ ~
  1797. JSR PPUADDR_PROCESS
    $ p- v, n' R+ Q+ j8 }- z  _
  1798. LDA LF_STRING,X0 B# D" W& K+ d5 ?3 l4 u
  1799. STA $2007' k! n! \) {0 d! q7 B; _! L
  1800. LDA #$000 a) O. T. J# @7 e. }2 h
  1801. STA $2000" G$ W: @+ U5 a/ i
  1802. INC $BA
    7 A" h+ h2 u/ ~$ P1 W3 n
  1803. INX
    - @8 G, {$ ]( x9 o; G7 w; j, i
  1804. CPX #$03
    3 r/ C; U8 ^7 A1 O
  1805. BCC LF) I, Y: r- D! e( c
  1806. RTS
    , O  p0 z* d! T
  1807.   b" P! }8 a6 f: e- [
  1808. RG_WRITE:
    7 I( m0 G' }& t. {
  1809. LDX #$006 M2 ~( X# B- H7 w  m9 q
  1810. RG:, U# p' ^0 u' m: p
  1811. JSR PPUADDR_PROCESS0 y8 {# v1 `( {, Y5 q
  1812. LDA RG_STRING,X5 ?' i& p* E' E; f: i
  1813. STA $2007
    ' ^9 ^) j" S2 _1 `( x& e
  1814. LDA #$00* h) }$ C! p/ R/ x. f- b
  1815. STA $2000
    , d$ \! \: @# \7 J, T  z- ~6 g
  1816. INC $BA9 ^& c; T* f0 Y/ ?& ?" A1 S3 H
  1817. INX
    + o, ^/ m9 a2 o2 i- X5 T
  1818. CPX #$03, i% h8 W  C) X: v
  1819. BCC RG  L9 D4 O. b& ?# h7 O+ J  o- t
  1820. RTS  @$ q$ a* H( V! d' L% b
  1821. 7 x: U" X; |) \; R
  1822. B_WRITE:
    / E2 v  k% }( C7 C7 l; b
  1823. LDX #$00$ d. N5 G/ v) y2 d5 s" I- N
  1824. B:( N+ ^2 `# G5 ^; Y/ M
  1825. JSR PPUADDR_PROCESS% l, j0 v8 @8 i4 B& D
  1826. LDA B_STRING,X, G* @* K7 a4 o4 X
  1827. STA $2007. m6 J7 X4 ~: Y
  1828. LDA #$00% D* N! a5 z9 o; r# R& B; J
  1829. STA $2000) k3 g- c0 i4 Z5 x: P
  1830. INC $BA
    5 l. i% y- }  c; d: |+ l
  1831. INX  B1 U% b$ K) {8 g: A6 L) x
  1832. CPX #$03
    " D. E: U) N6 R, C- t
  1833. BCC B
    0 t1 t) S" @0 ?8 b
  1834. RTS
    7 _3 {  L+ z! s$ o, m1 v# A

  1835. 2 _# X; H2 C2 H+ ^, {( Q( _8 R6 }
  1836. A_WRITE:
    3 W5 ]9 T0 v0 |$ H) U
  1837. LDX #$00
    0 n: Z1 g: [) y0 M' M! E
  1838. A:! K% b, O% e, |+ M1 c# F( T0 N) ?
  1839. JSR PPUADDR_PROCESS5 ?) S/ ?! z6 `7 U5 V$ v5 r
  1840. LDA A_STRING,X
    8 x$ i6 X/ Z2 Q# I: `* E8 S; N
  1841. STA $20076 P9 g+ ~1 }. Z3 T; Z$ S
  1842. LDA #$002 E2 b0 h3 V8 K! ~$ @! H+ J
  1843. STA $20008 F  t1 ^5 u" g+ m
  1844. INC $BA/ ]! T2 Z) Z7 ?8 n# V7 ^) o# y
  1845. INX4 i8 K' a- `7 J4 [3 F* r4 _* c
  1846. CPX #$03! \2 u) X$ Q6 H2 s' j3 L4 r' u
  1847. BCC A
    1 m4 H6 ]6 W' q" t# O
  1848. RTS
    & O) [1 Y# `; g. h- S& }

  1849. 4 ~  m; m- m, u7 i, c1 D4 x

  1850. ' F1 s# T, i$ u, ^9 Q- I
  1851. UP_PPU:( e: X4 W+ e' ]5 e6 H( Z
  1852. JSR UP_WRITE8 O! F5 }: R! ~$ z* W; g
  1853. RTS
    " f0 W2 C0 |0 U5 i# O% x
  1854. ) G' k" N7 A4 [3 \: L" G
  1855. DN_PPU:9 p/ h% o, h% k; S& G& Q/ l
  1856. JSR DN_WRITE* R+ }5 I5 v% O0 _* ~8 M+ L$ n/ ?
  1857. RTS* T2 \2 Z4 T- U/ M5 j' H2 }

  1858.   [! i3 l/ m) K' j; j
  1859. LF_PPU:+ i* D1 y, E( F0 J: E. S
  1860. JSR LF_WRITE
    ! h6 T& F0 X6 ~' k/ ]
  1861. RTS
    " e: e' U4 _8 A: N4 L9 f
  1862. 3 T  {) X6 r: n" T" I; ]  G
  1863. RG_PPU:
    ; I$ [# x6 l. o$ L3 G  m
  1864. JSR RG_WRITE
    8 F0 ?' n. r9 F/ r3 e7 `- R
  1865. RTS
    2 T& {5 j. a( X4 |+ b/ T

  1866. ) g, q) W0 N) \( {0 G
  1867. B_PPU:
    1 _9 F6 N) V2 ]
  1868. JSR B_WRITE
    7 o5 t! g) [8 v! N( y
  1869. RTS" s, o" C( k9 Z+ _' k" k; c

  1870. : x5 I# F- ~4 h% O) D
  1871. A_PPU:
    3 S' H3 Q4 g4 Y/ V6 b- h* P/ z* E* R
  1872. JSR A_WRITE) d& ^4 G* z/ R- l7 W
  1873. RTS
    + D( o( I) J2 \9 i
  1874. ' l" E/ s: h: f
  1875. ( a" p" E6 I. K' d' c6 K
  1876. PAGESELECT:; I! }$ h' r* S# q9 X
  1877. PAGE0:
    ( v9 G9 x9 I2 _7 m/ _
  1878. LDA $07AA
    / x# ?  W. B; d( q" Y
  1879. CMP #$007 R0 k; d9 w" M
  1880. BNE PAGE11 O1 m7 y; R% ?/ K$ b) f' I6 Y  m- j
  1881. 4 J8 _& |4 v: L, Q5 K2 K' [' K
  1882. PAGE_00:# A& S' _6 l7 y$ S( S1 B4 Q: R! k
  1883. JSR BULSEL_PPU
    2 f' R' M4 f' d" g1 W1 J$ V
  1884. RTS) M& r2 Y3 t4 y
  1885.   b% c: q* x, O! f) Z# N4 R6 a
  1886. PAGE1:! J2 Q0 f' |$ ?) r1 M+ a
  1887. LDA $07AA
    6 W* J* _" b$ A/ e9 E0 I+ b& N
  1888. CMP #$01# s8 }6 n2 m, f# F' R5 s
  1889. BNE PAGE2, F9 B+ s# t' z+ b5 W" z
  1890. ! |7 E1 E  h1 `
  1891. PAGE_01:$ g6 G& b$ V; \  c* q7 `9 C
  1892. JSR INVINC_PPU- ^0 d/ K+ i' ~- W* s8 T
  1893. JSR LIFELC15_PPU6 n8 S2 B) H8 ~2 L: a
  1894. JSR DOUCON_PPU
    7 Y8 O/ P1 c5 X+ D4 E
  1895. JSR KILLON_PPU) {/ E* u+ h! `' d9 ?
  1896. JSR SKYFLY_PPU# g0 y" `. r  v
  1897. JSR LIFELOW_PPU
    & v) h/ \' O( x. Q; u
  1898. RTS0 n$ B  X: ]. L) U+ f  u
  1899. $ D5 V8 H: `! k( ?! p
  1900. PAGE2: " T* v8 X: y( @- E& z
  1901. LDA $07AA0 y$ Y3 d, M2 ^) Z( t. S# M
  1902. CMP #$026 \+ l& I1 i  Q! ?' M1 ]
  1903. BNE PAGE3
    1 H% J1 i- ^8 U1 \/ X# m; q
  1904. " b4 j4 F: X  I0 y
  1905. PAGE_02:
    $ ?  C: t! L9 g& A2 h( h  U
  1906. JSR BULADD_PPU
    : q6 z3 y, E+ \9 ?" l# a
  1907. JSR SKINGE_PPU' Z& z- D) B8 n( ?  y& {9 H( B, j
  1908. JSR BULMIX_PPU8 N, X, L5 I5 z2 L  j/ z; l# e
  1909. JSR ENELOC_PPU
    6 W4 D7 x  x' H
  1910. JSR FOCFUL_PPU
    ; t$ j1 o0 R7 x# t% |* @+ i
  1911. RTS' i7 S: l+ Q. u6 B( S

  1912. . Y( e7 i! [+ d! q
  1913. PAGE3: 0 K1 F& Q7 m; D9 f8 k
  1914. LDA $07AA  d  v4 L  R5 @
  1915. CMP #$03& N+ Y5 m, ~7 {" L) Z
  1916. BNE PAGE4! E& p" e' t9 g. k8 z* D3 N  u) l
  1917. % g; }. O$ ]3 T( `% w: W! D# V" k
  1918. PAGE_03:) v4 V( n& v8 S* `0 w
  1919. JSR BULCON_PPU
    # B7 e* M% y& u9 r  N) s
  1920. JSR SPEBUL_PPU1 U0 ~( |+ c& t4 n
  1921. JSR CLEALL_PPU
    7 Z# N* p, E& M; ^  X) ^' G
  1922. JSR HARDMODE_PPU
    9 t' u& \. N5 F
  1923. JSR B_TO_JMPSTG_PPU
    # x1 \8 `7 C; Q/ ?2 A  |
  1924. JSR A_TO_PLAMOD_PPU
    ; H" E) T+ k$ O: D% m+ S
  1925. RTS- b2 a3 W& `9 w1 y# E* S! F) k
  1926. & F* Q) y' M; y& h
  1927. PAGE4:
    ; B# H% W3 s4 c$ N  B
  1928. LDA $07AA' H5 b9 [0 }1 t, ^& u5 Z
  1929. CMP #$046 v  e: U( b& ]; s6 ]3 p
  1930. BNE PAGERTS4 \% y3 B$ F1 x, a4 V
  1931. : q+ t* ?# z- j2 `
  1932. PAGE_04:
    : e3 l$ u3 [! ]- p4 Z5 M
  1933. JSR MOVSPE_PPU
    & n3 B8 T& X0 r0 J# u+ g3 D
  1934. JSR UNLJMP_PPU
    ) X: c% Z0 _# ]6 i) L2 s
  1935. JSR DESTRO_PPU
    3 d/ g( b& |# F5 n+ j. S
  1936. JSR EQUBUL_PPU% q  o; r  k) a* _2 C( `
  1937. JSR MOVESPEED_PPU: _; Y9 L3 w& I/ R8 @1 I
  1938. PAGERTS:
    + B' x0 [  s) D
  1939. RTS
    3 o  g- Z, s1 G3 G9 B- w

  1940. / d+ H" x4 j) n+ q* T8 r1 |
  1941. , I- f3 l7 N0 `, S- s) o4 V% _
  1942. PLAYER_01_STRING:
    " C7 M) d0 Z' n) [9 O
  1943. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$82,$80
    - d- I' I: J& N7 i
  1944. - Y2 I6 k! F1 h! g2 ]- N
  1945. 0 {/ {( `, w& T/ {
  1946. PLAYER_01_WRITE:  I% s9 H2 F0 v
  1947. LDX #$00
    . B9 F4 c* ?5 L* Y$ J: X7 t
  1948. PLAYER_01:
    3 G- b- i  V1 a1 }8 Y* x" `0 S8 b
  1949. JSR PPUADDR_PROCESS% }6 I9 x% w9 V# r% P4 \+ [2 ^
  1950. LDA PLAYER_01_STRING,X. r; E" f; d  q! p! j# R
  1951. STA $20076 p: H. A6 W( f# ^
  1952. LDA #$00
    5 ^% k) p4 n, _6 z" c- ~3 x% y
  1953. STA $2000
    ' o4 w) Z, W: _) `+ O4 C0 R6 J
  1954. INC $BA
    . o* C0 s5 K/ V, O7 i/ V
  1955. INX  K+ z  }( y$ w2 M
  1956. CPX #$0A
    # z: ]2 j; w* J0 O! p# z
  1957. BCC PLAYER_01
    - ^1 q  h- d( @- D
  1958. RTS
    9 W5 D: a) i9 ?' ^$ s. @' m
  1959. ) N6 t  K# [5 j+ s
  1960. PLAYER_01_PPU:: [* ~( ]+ n  H" u9 U3 ^! X: P
  1961. LDX #$00
    : v7 O' C  ]. b# o$ t+ y: i! y
  1962. LDA #$64# H5 v& H& n  H! W; j( R3 O
  1963. STA $BA
      t$ J0 c2 R/ P
  1964. LDA #$20
    2 U4 U4 j2 i; P0 [9 n5 x
  1965. STA $BB
    1 y( ~6 M8 a4 L4 p1 e% \% D) R
  1966. JSR PLAYER_01_WRITE
    6 z2 R2 O) X$ S& B  u( p# d, O1 V
  1967. RTS- _- Y8 g6 C7 `7 d
  1968. 8 @' p5 ~# Q0 f. p4 R& E  y! W
  1969. PLAYER_02_STRING:, s, @5 c: K8 e" e
  1970. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$83,$80
    ! y! |& u# _, H) [& s

  1971. 7 d9 R3 c/ \/ k& H0 k8 G
  1972. - @, s7 ~5 [7 N# l0 u0 M8 A/ _
  1973. PLAYER_02_WRITE:  P7 L9 B! K/ X6 |! a; }
  1974. LDX #$00
    ( [/ D& d4 v  B; O2 [! v
  1975. PLAYER_02:
    ' {2 t9 s) d) t$ A% B  y$ E2 _  {
  1976. JSR PPUADDR_PROCESS
    ! A. ~: q! _5 h: }
  1977. LDA PLAYER_02_STRING,X! `8 h+ a  |& j! e, t" \
  1978. STA $2007" s1 q4 d9 k8 I
  1979. LDA #$002 L5 _$ y* S  [# s0 |
  1980. STA $20006 ~5 O% j$ b8 U; m  y
  1981. INC $BA
    # O# X% V7 I5 b1 h
  1982. INX! |6 c8 y0 \7 x. N9 j& q1 q
  1983. CPX #$0A
    * ^$ \$ H! r6 ~# B& @0 M
  1984. BCC PLAYER_02
    + l9 ]- k5 E  e
  1985. RTS, K$ ]0 d3 ~# y* f. R$ F" x, X$ h
  1986. + b2 z7 l3 O3 y" k
  1987. PLAYER_02_PPU:
    ! Y; T- g( h+ K
  1988. LDX #$00
    % p* x, A, R+ r* [( _5 i) [& H
  1989. LDA #$73' P: B3 L5 X. d9 s7 V; T
  1990. STA $BA0 d2 I' |) d$ b' |* h! y
  1991. LDA #$20
    1 C# L) y  M6 K4 S
  1992. STA $BB  p0 ]% T. }1 }, l! X8 C
  1993. JSR PLAYER_02_WRITE& f( t# q' t0 ^* i) w1 A
  1994. RTS
    , L! K, ^1 }0 Q, n

  1995. : n( p2 p" W7 ^  B
  1996. PPUADDR_PROCESS:
    ! c5 I( `  C" N( J7 }
  1997. LDA $BB1 ^' E* h4 e% y
  1998. STA $2006; X0 i0 r( V  T& B, Z
  1999. LDA $BA6 p& h+ b. U4 k, Z3 X
  2000. STA $2006' _: n+ r% Q: A9 F$ b2 z# o4 ^
  2001. RTS
    : Y1 ^9 S( d+ `/ y0 @1 V
  2002. : ^7 W# T3 _' S1 |  Z% c- |; T. X

  2003. ; ~; n/ [3 B! n

  2004. % r+ P+ b; B+ Z: T, v3 \5 A
  2005. ONE_STRING:4 K' q0 v9 t7 V3 O! X/ X: b& C% I3 C
  2006. .BYTE $99,$98,$8F. B/ v+ A) e& G+ a" s$ y8 F' Q! ]. Z
  2007. ( X( b+ t* [; j$ S% R, e
  2008. TWO_STRING:: c; E) r, _" Q2 _2 w
  2009. .BYTE $9E,$A1,$99
    : @9 x9 f  [7 F* p, T1 Q
  2010. + E$ ]9 e: D) n7 c
  2011. ONE_TWO_PPU:1 a* }* J1 @' Z5 D6 W6 f: T* Y) l
  2012. BNE ONEWR
    7 {; Q1 {8 {( X
  2013. TWOWR:6 m0 L7 B0 o5 y7 x
  2014. JSR PPUADDR_PROCESS
    ( Y- W& [: ?/ {1 G6 ^  S
  2015. LDA TWO_STRING,X
    ; V6 _+ x% {2 C2 W$ E) O1 s- o
  2016. STA $20077 \+ ]5 @6 H- O4 e! {
  2017. INC $BA
    ) H6 [* D0 B, E' I6 z6 O- k
  2018. INX: V/ @# E7 d& T" x$ A
  2019. CPX #$03
    ; g$ P1 l2 l/ f  L# n+ V
  2020. BCC TWOWR
    * d  q, F9 g. p' M, z% {
  2021. RTS% R' u4 p% Y& Q6 g$ @' _* \
  2022. ONEWR:6 v7 d4 y7 q3 q7 i1 J
  2023. JSR PPUADDR_PROCESS
    % r' O& d+ P  e
  2024. LDA ONE_STRING,X9 I6 }7 ~. N! x
  2025. STA $2007
    9 E" p2 a- l& p. Z3 t7 h) t0 A
  2026. INC $BA
    5 J0 T3 f) {* ~$ _
  2027. INX
    # F: ^2 Y& G7 z  a0 x: n, X# f* h: @% R
  2028. CPX #$03
    ( g3 {  G. I8 v' {  T5 j
  2029. BCC ONEWR
    9 M  }; p# i& q
  2030. RTS7 s0 Q8 b3 ^4 h% |- m6 `! l3 p+ p
  2031. 3 c7 U( `% y" w, U) r
  2032. MOVESPEED_STRING:) j5 N: ?1 }  i3 w
  2033. .BYTE $97,$99,$A0,$8F,$80,$9D,$9A,$8F,$8F,$8F,$80
    7 W( ?) {4 ~0 |0 o) e# G! P6 D6 R

  2034. 6 F- }5 z9 |/ J8 S: I* S

  2035. , ?0 x8 D5 o: J% `, A
  2036. MOVESPEED_WRITE:; R* m' \9 |! v6 U* t# E7 t
  2037. LDX #$007 h/ m( D' U, f3 C' @) ?
  2038. MOVESPEED:2 T! m3 U# Q# c! ~+ d
  2039. JSR PPUADDR_PROCESS# I. T, V! R9 b# S4 }+ u+ Z) _
  2040. LDA MOVESPEED_STRING,X( |6 v" ~- v# |
  2041. STA $2007, e! ^, w7 f& g9 A7 Y! a( U
  2042. LDA #$007 J6 ]) |! `# i9 k% {) g. u
  2043. STA $2000* r0 r. W. B0 n, O  |6 T4 {
  2044. INC $BA+ }5 c/ G# E9 I0 @: G3 ^
  2045. INX
    1 j% p) e% W3 a
  2046. CPX #$0B) |$ k" N7 _# }, I4 j
  2047. BCC MOVESPEED% U; x& p2 K. @, G
  2048. RTS
      B5 ]* Z2 G3 ^9 d4 R- i
  2049. , r  r6 V+ V: R9 Q
  2050. MOVESPEED_PPU:0 u0 `. q1 s+ W6 E2 e( v! F$ L! Q8 k; o
  2051. LDX #$003 E4 ^# Y) [, J/ E/ X0 ?3 K
  2052. LDA #$AA+ X8 N) r& g& T& u7 y  q
  2053. STA $BA
    - f% i& V7 @6 o. a
  2054. LDA #$22- B0 d- a/ f0 v9 j7 G
  2055. STA $BB
    + s1 J5 H2 h, Q
  2056. JSR MOVESPEED_WRITE
    ; q+ @2 Y8 }1 ^  {& O' `( h
  2057. LDA $7003
    5 m$ \. N: a9 ~% U! k6 C
  2058. CLC
      p* o: X- \4 r: m( c: u
  2059. ADC #$82
    $ i7 ]' `2 K; `- M5 u  J; L
  2060. STA $2007- p, t* ]0 f) T4 c* _+ t
  2061. RTS
    , b! `2 k& O- k" \- \( ?" F
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 549 天

[LV.9]以坛为家II

发表于 2016-11-20 00:59:08 | 显示全部楼层
真是太強了,感覺樓主可以直接當D商了.
[发帖际遇]: hanjungex 发帖时在路边捡到 3 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜

签到天数: 7 天

[LV.3]偶尔看看II

发表于 2016-11-20 01:30:16 | 显示全部楼层
不错谢谢分享!
[发帖际遇]: huanhuan05花4 个 柠檬买彩票,血本无归T_T. 幸运榜 / 衰神榜

签到天数: 2060 天

[LV.Master]伴坛终老

发表于 2016-11-20 03:01:53 | 显示全部楼层
这个修改好厉害、、、、
[发帖际遇]: liujunbtx为灾区捐款 3 个 柠檬. 幸运榜 / 衰神榜

签到天数: 3030 天

[LV.Master]伴坛终老

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

签到天数: 852 天

[LV.10]以坛为家III

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

签到天数: 1279 天

[LV.10]以坛为家III

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

签到天数: 2156 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

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

签到天数: 2366 天

[LV.Master]伴坛终老

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

签到天数: 2155 天

[LV.Master]伴坛终老

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

该用户从未签到

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

签到天数: 347 天

[LV.8]以坛为家I

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

该用户从未签到

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

使用道具 举报

签到天数: 12 天

[LV.3]偶尔看看II

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

使用道具 举报

签到天数: 767 天

[LV.10]以坛为家III

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

使用道具 举报

签到天数: 37 天

[LV.5]常住居民I

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

使用道具 举报

签到天数: 174 天

[LV.7]常住居民III

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

使用道具 举报

签到天数: 16 天

[LV.4]偶尔看看III

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-10 13:35 , Processed in 1.168945 second(s), 34 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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