EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2016-11-19 22:19:45 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2016-11-19 23:11 编辑
, ?" E# {% D- x) }( J6 |& Z( P. O
. h) K) v: y+ f  U3 }7 o: B
     [FC][魂斗罗旋风终板END暂停显菜单]

" z; B, c' S. G  ]  k& m! r作者:FlameCyclone(flamecyclone.ys168.com)* n  N5 b! T6 v# C8 Y8 G3 T
时间:2016/11/19 21:46:00
" E) c$ E' X, H" O( e更新日志:

9 z5 f$ ]! _7 K$ A2016.11.19:加入暂停显菜单(共5页).
3 O9 \  U1 }; {9 ^2016.11.12:加入无限跳跃.
* a/ {8 \- Q6 J2016.11.12:加入速度调节.

. `: D3 \' Q- i* l! z8 t2016.11.11:加入敌我子弹对消功能.# Z* ?/ E6 }# b+ b
2016.11.11:加入全屏闪灭功能.
5 n6 G) q! r" P2016.06.08:加入全屏瞄准功能.
" V5 b# l4 O3 i& J# G$ P2016.05.31:加入弹速调节功能.$ n6 s3 y  M9 x  P! E8 Z
2016.01.01:加入高难度模式.+ V  J/ i0 |4 A" y8 e8 \
2015.12.12:修复消除威胁不足,使得移动BOSS关卡(第2,4,5,6)正常通过.: X+ w2 ~' f" {# o/ |) |. F
2014.07.05:由于对打功能不完善,直接去除,更改为生命锁定.
: S3 J0 Q5 `- g, ~, Z2014.07.05:双人切换功能优化.
8 [3 ^6 g. V0 d1 `/ U3 t2014.06.01:修复第三关浮空到BOSS前必须关闭浮空后跳跃才能见BOSS的麻烦.
6 T8 p5 u# p  k% ~2014.06.01:取消生命锁定,改为生命锁定模式下剩余生命不会少于一条.# m4 J4 v1 |" F
2014.01.18:修复GAME OVER字样只有G和O的错误,原来想拉大字母间距离,看来行不通.
0 }' F# c) B7 V9 c% W: {3 c2014.01.18:浮空模式下,P2飞行高度未限制导致死亡,原来是指令本该用绝对X变址的被用成了绝对寻址.
- C  m; l5 S9 D* |. I& l2014.02.08:拿手机无聊时又发现一些错误,所以修正生命剩余勋章显示的错误(某天用读卡器插在DVD上测试发现机器读不了卡,原因是目录级数超过三级,只有刻录成光盘来测试,结果发现生命勋章的显示竟然无压力!)( J0 L. V' O( \( o
2014.02.13:加入自动演示通关.
2 ?* G2 T0 A- `6 E内容:
- B% Q$ q" R$ F5 u7 U5 c/ v23.暂停菜单:        暂停后,自动显示菜单,选择键翻页,方向键和BA键进行各种功能的开关操作.$ N9 Q( l# u9 x( D* C, {2 y
22.无限跳跃:        暂停后,选择键4次,按下开启,开启后游戏时无限跳跃.
- {* Z' i0 V$ U% q0 O21.速度调节:        暂停后,选择键4次,按左右调节行走速度(0-3级).
* q) K5 K- L  ?0 |# N( U1 J+ S9 k
20.子弹对消:        暂停后,选择键4次,再按A键切换,此时敌人子弹可以打掉.
" W* `; h3 p7 e$ e3 e19.全屏闪灭:        暂停后,选择键4次,再按B键切换,开启后游戏时按选择键屏幕内敌人闪灭.; [: ?! i+ A. }+ r5 K
18.全屏瞄准:        暂停后,选择键2次,再按B开启/关闭,子弹对消开启时无效.
- A& Q0 _' t' k( ~# H17.弹速调节:        暂停后,选择键3次,下开启,非暂停时按选择键调节,默认为1级,共5级.5 W* N: ?# A; ^! [! A( D
16.困难模式:        暂停后,选择键3次,右键切换,我不相信你能够无伤通关.
" S, j; B/ @+ j3 n4 u7 G+ w01.子弹切换:        暂停后,选择键0次,上=快S,下=快L,左=快M,右=快F,B=快普通,A=取消当前子弹加速状态.
# q$ Q/ s7 b9 B; A$ ^, D02.无敌锁定:        暂停后,选择键1次,上开启/关闭,不用讲了,金身无敌.3 F' b: j$ G+ J0 c
03.生命锁定:        暂停后,选择键1次,下开启/关闭,生命锁定为16条.9 L  w7 I5 p/ \! m
04.角色双控:        暂停后,选择键1次,左开启/关闭,无非就是主机控制副机.$ R- d. t) h) B: x; K0 y! P
05.生命底限:        暂停后,选择键1次,右开启/关闭,锁定剩余生命数不少于1条.
1 X* s* J: o8 H( Q06.一击必杀:        暂停后,选择键1次,再按B开启/关闭,即使是第8关BOSS,一发花生米依然要其老命.& ?# Y1 l+ A: l7 S- c
07.角色浮空:        暂停后,选择键1次,再按A开启/关闭,第三关浮空时按选择键向上卷画面轴." r1 p0 A: M$ e% |- L+ t" D
08.弹数加强:        暂停后,选择键2次,上开启/关闭,此时所有子弹发射数为15发.
' M7 K' p8 f+ Z3 _; f) S) k' E09.皮肤更换:        暂停后,选择键2次,下开启/关闭,主机开启时橙黄色,副机开启时为蓝色.
  B; r) F& V  V( {7 }: o3 b* i+ ?10.混合子弹:        暂停后,选择键2次,左开启/关闭,此时连射时所有子弹混合.
. D' H* d! q: }1 r+ G8 R& e: f11.敌人锁定:        暂停后,选择键2次,右开启/关闭,此时敌人原位跑不动.: I# D, P4 u8 R2 f1 b
12.跳过一关:        暂停后,选择键3次,再按B使用,使用后可以直接到下一关.
+ [/ C: d" F0 L, O( i! J: Y. c13.单双切换:        暂停后,选择键3次,再按A键切换单双人游戏模式.2 S# o( s9 i8 `
14.子弹方向:        暂停后,选择键3次,上开启/关闭,开启后发射的子弹攻击方向会随着操作的方向按键变化,第二关和第四关的小关建议关闭(开启的话打中敌人太难了哦).
8 i% b$ y( E) V- [15.消除威胁:        暂停后,选择键3次,左开启/关闭,此时游戏时按B键使得移动物体被消除。
1 E2 F% X! y1 G$ NA.做了一些汉化(小字体),剧情,关卡名及通关后的文字未汉化.
$ t4 O3 H1 ~# Q6 \; N  jB.自动演示通关,双人合体打通关,演示时有背景音乐,通关后一样会有结尾及恐怖台词,之后游戏进入选关(相当于游戏自动开始了).注:通关后P1及P2会获得16条生命!也就是说看完演示自动开始后第一版有16条生命!
6 Q) g! A  M' S3 w; }: k% z3 E! vC.生命显示加强:最大显示15个剩余生命勋章!电脑端请开启精灵超过8个(这样勋章不会闪烁),手机端认命了,不过不影响正常操作.; c, C8 _% J& d; D- H0 M- p  |# E8 y
. L1 o2 |) i6 N4 x4 N; A  ]
    如果有什么好的修改建议,恳请通过QQ(1490868135)联系我(也许我不在线,可以留言在QQ里)5 f6 H7 V' x9 Y6 W1 ]
欢迎大家转载,转载时必须注明出处.+ z# Q/ l3 A8 ]& o; f5 X* z

, j  J! k: A6 Q( P* W( }9 V
游客,如果您要查看本帖隐藏内容请回复
2 I$ W) u( n+ G3 X. y& @$ a

1 z1 J0 r& f+ \/ @0 g) f忙了一个星期,觉都没睡好,眼睛也疲惫不堪啊.终于找到解决方法了,目前VIRTUANES运行不了,请使用其他模拟器玩.: \; m) _( W/ ^+ K
这几天的劳动成果如下:
  1. .ORG $B400
    3 x. Y3 |" [$ V# w4 o- c; t) y: J( r
  2. + _- q$ |8 u4 z1 Y2 v% g: y

  3. * c: k8 @) r, R, ~8 g9 y( Z2 ]) `
  4. PROREG:
    ; L7 u  O5 v* ]3 n$ }* O
  5. PHA4 c8 v5 v3 S' s3 X1 D
  6. TXA: k2 Y0 f. u- ], Q1 s  Y+ [+ j2 |
  7. PHA
    : e8 N3 x& t4 e$ F4 J: N1 T
  8. TYA- }6 I. o7 O0 o1 |$ n5 j0 H
  9. PHA
    + t% O) r- h9 w8 b1 i
  10. LDA $25. \+ J' ~' p& j! r
  11. CMP #$01
      ~5 Q. g6 k  u: a/ n% V6 U
  12. BNE RE
    : r! c' O) o* g
  13. LDA $010A
    % @) F6 v$ v. ?1 v  Y
  14. CMP #$00
    6 C; ~2 s& M7 f9 _  F
  15. BEQ P1
    ' p. G' m+ u" k6 @3 `( O

  16. - u' C. Y0 s* n- z" N
  17. RE:
    3 ?  o( h% m* v! W$ T$ b" W0 k+ T
  18. JMP PPUWRITE+ w; [7 q$ K+ j8 |" P

  19. 4 `, T% S7 U8 n7 l7 r2 C
  20. P1:                ; 条件判断  k7 t$ E  q" d* i+ S$ g. p: u( }
  21. LDA $7FFF0 x% o1 d/ G/ v6 p
  22. CMP #$FF
      b# n/ K0 ?( Y! M. j) A( B( u* K
  23. BNE P1RP
    2 k0 U1 V0 c0 U, z6 |
  24. LDA $7FA0) R8 v* M5 I$ Q1 ^
  25. CMP #$00
    2 @4 k, \1 ?8 e% G
  26. BNE P1CMP9 ?& N7 M; ]: o- p0 `
  27. LDA $20016 ^8 b4 x# [# X  T6 G* ?; c! @
  28. PHA
    & {, p5 n! b( Y, u8 i$ P% ?) ?
  29. LDA #$00  J5 v3 E9 \1 w2 Z4 g2 S: [7 D3 E
  30. STA $2001" s' R8 _( W4 r2 \
  31. LDA #$FF* p7 Y& I+ m9 \
  32. STA $7FA0
    5 Z6 z" J# I  `2 q1 A8 A6 w5 v6 Z+ H4 s; |
  33. JSR CLEANA
    9 J3 v" P5 a: U8 E8 T  b! V
  34. PLA
    4 c1 Q/ E/ N+ x/ ]% X
  35. STA $2001
    / R, E6 L$ H& }  W, v
  36. JMP PPUWRITE) \1 a  N! t1 o9 R3 L5 z! J
  37. P1CMP:
    ' {* Q# H) l; x
  38. LDA $7FFF
    ( r% [1 ^' ^7 _/ j
  39. CMP #$00
    : t& W4 ]9 |) c7 s
  40. BNE RE- p1 U9 I3 k9 b4 m
  41. P1RP:
    4 O7 _9 d" K% X' q4 b
  42. LDA $2002
    % }7 g  J( _$ N, C0 i4 h
  43. LDA #$00
    6 L, @& Z7 ~  j- @$ \
  44. STA $20016 q# ]8 t% v+ s8 U3 f
  45. LDA #$FF
    9 s: n  F% `; w2 x$ c% Q+ {1 n9 i
  46. STA $7FFF5 j' g6 B/ R' n- y6 m, N7 D
  47. STA $7FA0
      K+ X# O( Y# A  Y5 r1 s! C
  48. JSR COPYPPU
    % O8 K. L! v' j) Y
  49. PIRP2:
    ) E( ~+ i7 n4 |7 L4 ^$ Z
  50. JSR CLEANA0 K- I. M+ r& B: T9 Z. z; H
  51. JMP PPUWRITE( M  w: ^# ?/ i; S
  52. & Y+ l) M1 O' q( ^5 u8 ~( q
  53. COPYPPU:
    ( ]; _& `1 _/ R
  54. L0:
    ) T9 Z+ j+ R# Z2 _2 i9 s) @2 x
  55. LDA $30
    % ]; T8 N4 J! f* i3 q
  56. CMP #$02
    " g7 _* F+ t# C* }: t; s: L
  57. BNE UNPROFC
    3 O& i3 S. \1 [; l2 v
  58. LDA $FC( p8 e3 U0 W' i' k' q. m# n* C" v7 b
  59. STA $7EFC4 C% {& R* P; N" j" H
  60. LDA #$00) ]0 @5 \" \8 B( U
  61. STA $FC+ I( o* p" S3 N1 j' }+ j  T% Z
  62. UNPROFC:8 g" h' H( J, `6 a
  63. LDA $FD; N9 ~! K" o6 a+ z* Z: f
  64. STA $7EFD/ w0 q8 ]) R, L
  65. LDA $FF! Q. N' n! [, I1 P
  66. STA $7EFF
    1 W& W, i( r2 o9 Y: v& e. d6 R  ?
  67. LDA #$000 M+ g% |* S- o+ q
  68. STA $FD1 b+ E) O1 `5 I$ }
  69. LDA #$B0
    1 z2 f8 K4 }5 p& B, X
  70. STA $FF
    - u" S) V# D( G9 _2 }% i
  71. LDA $07C10 ~% F  g9 y8 C1 z& W; q
  72. STA $7FC1
    , K* z; N6 g$ r' z( w8 D( T
  73. LDA #$3F4 p4 Z0 J$ l; D" Y% _4 K
  74. STA $2006
    7 B9 r. i" `% ~  e; P4 @" S3 O+ u' N
  75. LDA #$01. y2 l; u" P$ |. o" k
  76. STA $2006
    - D7 Q. E: A. C0 J/ l9 W
  77. LDA #$24( o, ]/ W  t" V* k3 C5 W) _
  78. STA $2007. b3 R3 g8 r/ S0 L" V
  79. LDA $07F6
    , n' l- ]. ?1 Z5 t/ e2 h
  80. STA $7FFE; F2 l! ~, q8 u  l
  81. LDA $00FE
    3 A) F$ e& o% X
  82. STA $7FFD
    3 u' x& k/ e3 G* }3 p) p# W
  83. LDX #$00
    ! _( A  N# x7 A; a' V/ n# |" ]; C
  84. LDY #$008 U! `/ J% B  I. J* t. Y; o+ X$ J
  85. LDA $BD
      K& F. z( F- T
  86. PHA
    ; a  v/ ~' t1 v' q: @" B
  87. LDA $BC; Q: c  p& v6 ~9 I) B
  88. PHA# @) `4 u8 L, q9 `' C+ [
  89. LDA $BB
    / U: _# n, r7 M. `  M, ^. q+ z
  90. PHA3 m, l6 m6 l! \9 m: x$ _( h# G
  91. LDA $BA" t( _) i  ^) M* g9 Y' H! j
  92. PHA
    % J) J- g: ]2 Q% m" n: \: |
  93. LDA $B9
    ; @( X( b# J* y4 X  X3 c2 V! b2 O
  94. PHA9 t6 _; }3 u. G& k* U% }
  95. LDA $B8- M( ^, k* r+ {
  96. PHA
    3 W& r6 t  W! l" h
  97. LDA #$00
    4 d" G; W6 @' J2 @$ w3 p
  98. STA $B83 ]" L2 b/ w; [" n( J' L1 K
  99. STA $B9) z, @( a7 C: k: t6 q! a
  100. STA $BA
    ) `$ k5 `( s4 N: r
  101. STA $BB/ r( R! B1 w  o1 p' \
  102. STA $BC
    6 O3 J. _/ u4 y- S! T) n
  103. STA $BD
    ! E, ~' [8 _6 b6 P: u
  104. LDA #$00: L" S" G. }  p) F( w6 W
  105. STA $BA
    $ _6 @8 N. C' j5 Y5 ^% [/ b) ?6 V  H
  106. LDA #$20( V* f( m  W& ]; h' {2 S. G
  107. STA $BB" F. [8 {: z, |2 a8 n) v  E! f
  108. LDA #$00
    6 O$ P3 J3 a; H3 e1 Y7 q9 j* D* j
  109. STA $BC
    # C' D5 o* `1 C4 Q
  110. LDA #$60
    * p3 }# n7 n3 ^: d2 F9 L! O% ^
  111. STA $BD0 Y" ?8 A4 f! f. t1 }4 |
  112. 3 t2 n' l1 v; |3 l
  113. L1:                ; PPU复制
    1 Y# `5 c6 V  C5 N; s. a5 [0 r. o
  114. LDA $BB
    / Z. f1 b% X( d
  115. CMP #$30
    : h2 \  v+ Q+ f. U9 T5 u& ^
  116. BNE L2
    % n3 E- T; ]7 |0 h* X, S
  117. LDA $BA
    + _$ s, I9 K/ Z% q9 x2 U) Q
  118. CMP #$00, f7 h$ S! W4 E! p1 A( y% S" V
  119. BEQ PROADPLA
    9 z7 L2 e! l; `3 Y
  120. $ V" b, u& s5 n) T
  121. L2:
    / v4 l5 o/ f( N6 s! ~
  122. LDA $BB
    ( B7 }5 ?; I3 E" s8 I$ }4 x
  123. STA $2006( a" ]/ t" T3 C4 w0 ?5 N6 ^! ?
  124. LDA $BA
    * C6 m0 s( i/ _" i& c/ x
  125. STA $20062 V0 \, S: E. j' H9 a$ G) f

  126. # y  g/ k- R* e' E& t; M4 u
  127. L3:
    4 x$ T; u. R9 {/ X
  128. LDA $2007
    % }9 z: K8 s  T3 \1 W) {
  129. LDA $2007
    : H) f- z5 p: \# h0 k: t: z; D
  130. STA ($BC),Y
    % a1 S7 E  A" W9 Q
  131. % ]) a: Z0 |. k
  132. L4:
    ! p( M7 B+ o* w3 k/ v9 u8 _4 j& J
  133. LDA #$00- F( X: Q; `+ z5 B8 S- L5 r
  134. STA $2000& l2 {  q1 h( H& {/ c. x  o7 h
  135. INX! r8 A) Y9 Z* A
  136. INC $BA: U1 b0 Y0 h% \6 [2 e' `' A& X$ v
  137. INC $BC5 G) C! o) {% N6 V1 N
  138. CPX #$003 V$ \2 ?7 m; n& A
  139. BNE L1
    # o4 g  H0 B  W$ Q% b
  140. INC $BB
    ' k8 B$ ?7 m9 a) m* h
  141. INC $BD
    - k9 }" @. a/ U( |3 W) ]
  142. JMP L1" J) U, Y' ~$ J* n

  143. 6 S% s# `8 E7 m% ~
  144. PROADPLA:                ;出栈
    9 l; s/ X, M6 Q' H% f: a
  145. PLA
    ! z% N; n' X# M
  146. STA $B8! K. q, e$ B' K, l
  147. PLA2 U3 c; m0 u; M1 K  ]9 ^$ v2 o
  148. STA $B95 w8 b" G3 M% l; y! P
  149. PLA& `; w8 ?+ r8 q* s
  150. STA $BA
    * ?; O: P# r: ?" _
  151. PLA( O' Y; O) ?  q" W, r. U
  152. STA $BB1 U- @: ?# A: L4 i
  153. PLA
    + ]: d/ b, B/ H! y3 ^
  154. STA $BC
    5 N( |9 ~- _$ {1 Y1 [
  155. PLA! ^% y4 P8 r: W/ c7 L( q
  156. STA $BD; I0 [) W4 ]- {
  157. CPRE:% m3 ~. r, E0 k6 j8 g
  158. RTS
      b' |1 F6 r5 ~8 h( n$ z  f
  159. 3 Z# C+ Q; k0 C( ]
  160. CLEANA:                ; PPU清空8 W; t8 |4 U5 v/ J5 _  j4 O
  161. LDA $BD
    0 D; n" O  b' E3 h
  162. PHA- M6 p7 s$ a$ c) i" P2 G# g6 v# c
  163. LDA $BC9 m  j  l2 g2 f$ a  O& |
  164. PHA% \1 X% P* F) l5 d5 v8 t
  165. LDA $BB
    . d8 P' r# z. g: E& p
  166. PHA0 a* ^: p. D7 h6 A2 X4 b0 D, B! m
  167. LDA $BA
    . e- X0 H! ]% l: C# O- [
  168. PHA
    , R3 Y8 e$ n# r8 g' w* K
  169. LDA $B9
    ( U& h+ ]. |3 R/ P
  170. PHA
    - }  n5 B- p$ S8 s4 d: o# q8 s. i
  171. LDA $B86 k5 @1 O$ Z/ e0 L# x9 V3 F
  172. PHA
    # ^; M9 ]% A6 m, ~
  173. LDA #$00, i: G6 Q# s9 W8 A
  174. STA $B8, F/ Y( b4 f2 N, y; g! V) i9 i8 @
  175. STA $B9& e9 s1 F5 Y( ]6 h7 F# O  A
  176. STA $BA8 V6 w  ^3 s* p9 m4 ^- s$ h0 m8 u
  177. STA $BB
    & o) R: I! n4 R
  178. STA $BC
    ( a$ W0 y9 L5 A, k6 \
  179. STA $BD
    9 w0 _# Q& N2 I) a
  180. LDX #$00$ m$ W: K* S, a8 a! R
  181. LDY #$00
    2 w* M( C. O' E! S2 B  s
  182. LDA #$007 H) u, a' d4 {$ `6 a7 d1 t" l9 @
  183. STA $BA
    + C' c8 g0 U, l6 U- |4 y  m
  184. LDA #$20
    : [  @+ r: s& g
  185. STA $BB
    ( O( w, c  n* w( q* z, F5 @. G
  186. * T' t' J# @7 m' d0 M; y! m
  187. CL1:! s, w: \) q- C
  188. LDA $BB9 N: ?) k. ?7 p; _3 H
  189. CMP #$30' R: ~1 S3 ~) M' V) n" v  o
  190. BNE CL2, p0 P8 F6 J# q0 l: N9 p
  191. LDA $BA# W: U& u  H3 a) B+ d& f0 ^' @4 H
  192. CMP #$00+ [- s4 w: b" J) U! Y. u, K
  193. BEQ FREEWRIYE
    " i4 N, F3 B* d7 ]0 ~% Y+ T

  194. * r3 w  H! }. p( z
  195. CL2:; o! e$ E# J! Y; ?
  196. LDA $BB. b6 T0 O+ n2 v$ V' p
  197. STA $2006
    8 T8 \6 _& g7 j/ I+ Y
  198. LDA $BA+ g6 Y, M3 c4 p' M) f! f/ c
  199. STA $2006
    ( F+ Z+ w6 W7 K0 \0 r2 t- j) B  f
  200. . O5 h. ?: s7 ^, d% E7 g
  201. CL3:
    7 z+ _" H* S/ V: H" A1 G
  202. LDA #$00
    ) y1 x% T8 E5 g" v% h5 n4 O+ u
  203. STA $2007
    " Q, s2 {  B6 R1 C( C0 J
  204. , j$ G# U7 d& O* H# X  O& G! `
  205. CL4:/ ^3 ~# F6 y" L# `8 l+ I
  206. LDA #$00+ I5 A, v6 U; A- v
  207. STA $2000. p9 [" C2 R' R/ O: S- W& e
  208. INX) N; [" h1 X  Y9 A  B
  209. INC $BA
    + Y; ^! ^  t0 f& n
  210. CPX #$008 e& p2 J/ b8 Y1 V% h+ s& V
  211. BNE CL1
    7 Z2 {8 ]3 ~( |
  212. INC $BB; I. f0 |: h( {' b, u' _% f
  213. JMP CL1 ' A8 }3 z# d( G
  214. 7 ^0 W+ E' @7 m6 P  z
  215. . @$ v. s* S/ J5 ^: @* I
  216. FREEWRIYE:+ M- ~; A9 y; l
  217. JSR FREE
    ) k8 |/ s) \) P. s
  218. + Z/ R6 b$ N# }9 d  A$ ~+ x

  219. 4 s' j. o* p  Q9 R  u+ H
  220. . `4 I. k2 k# n# C6 ]+ _; M. T* R, S
  221. . N- T6 x5 F0 [3 b+ q4 [

  222. 1 G. M- ]$ b: T8 k% c
  223. CLEANF:                ; 恢复现场
    1 D5 Z3 f. L( P% G
  224. LDA #$08
    . a- e; {) b9 s6 m/ }2 R1 b
  225. STA $FE
    ( `' m9 }7 N  Q/ G
  226. LDA #$002 P9 d0 P0 B9 d+ q. K% K- _' G
  227. STA $07F6. h& R' J; b5 g- [" |
  228. LDA #$24
    2 Q2 C, q" x/ p8 Y8 Y. R+ i
  229. STA $7FC03 I8 ~! G) H* X4 O+ u
  230. PLA
    ) ]: J+ x# m$ j. D9 m0 B8 g8 r
  231. STA $B8
    1 T* W( Q* p( ?4 d0 p! c" ~
  232. PLA) {9 ]) D  W' @5 Y
  233. STA $B93 [6 b, ]1 c9 M, s
  234. PLA% I! c4 w, f$ \  r4 B( j
  235. STA $BA3 M' Q$ t9 J3 C8 a( `7 h
  236. PLA& P6 _) v9 D/ P* W  d
  237. STA $BB) x, z! ]2 A( N1 A( b6 H- L/ n
  238. PLA
    1 n, @. E" F$ @8 n: _
  239. STA $BC( G) W+ K1 d" P+ Y! S) d' Z+ g$ q
  240. PLA
    ' Q7 ~. U0 M$ B& K
  241. STA $BD; t  {3 w, R; s7 \
  242. CLRF:/ N8 p' k  J" B! S0 }
  243. RTS
    % N4 m/ A# D3 D) n

  244. 1 X* b: n: ?8 p- N
  245. W_DATA:
    ( i; p. {! d+ G
  246. .BYTE $00,$01,$02,$03,$04, }8 g) d# y' O. X3 D/ v2 d
  247.   
    2 O& V; e$ ~1 A$ r3 U" }
  248. W_PPU:+ q1 J$ E0 j% y0 n; h" h
  249. .BYTE $98,$97,$90,$9D,$96
    ( j0 i2 k2 E3 t6 T8 |2 Z8 }( M
  250. 5 i! d3 Q, I6 U9 V) i9 Z1 c" ]
  251. P1_STRING:
      H5 J. X: E* V  F& D- [
  252. .BYTE $9A,$82,$00                ;"P1"
    " {/ F8 [! Z' r. R
  253. # }* \" {. Q- x% b9 v7 @. e5 k% ^
  254. P2_STRING:
    8 C# r- C* T3 X) e, }8 c, v; f2 p
  255. .BYTE $9A,$83,$00                ;"P2"/ O8 ~" i! m; \5 U

  256. & ]" c2 ]5 I8 v6 v/ D* g2 k
  257. WEAPON_STRING:2 l% V6 b3 R& {# H$ V9 d& o
  258. .BYTE $A1,$8F,$8B,$9A,$99,$98,$00  ;"WEAPON"2 z4 u7 X7 h) ]) T' q/ t
  259. ( Z- ?5 p1 o0 F5 V# [+ r* j
  260. RELIFE_STRING:8 F8 [2 T- e' h, {7 A4 J
  261. .BYTE $9C,$8F,$96,$93,$90,$8F,$00  ;"RELIFE"+ ~2 E6 l) @( z- y) Z* O
  262. " J6 O% }! c/ E1 i8 m* C8 {
  263. P1_PPU:
    5 F$ A, k- H3 n# }( [9 n' Q' `( g
  264. LDX #$004 U' ^3 ^$ e2 Q4 t4 K' m- d5 c

  265. 2 u5 `) R9 k& c' X% r5 h. R
  266. P1_PPUW:) z2 C+ s( j) j! _$ b/ [) J
  267. JSR PPUADDR_PROCESS
    7 q$ z1 s" L9 u+ m! O3 r6 [
  268. LDA P1_STRING,X
    . X6 g# f$ H& ~: X
  269. STA $2007
    2 b1 P) U6 Q) p
  270. INX
    ! F, R, L5 D: N1 `( V- `
  271. INC $BA8 r  t& w6 G7 M$ E
  272. CPX #$03" I3 z7 t. K9 y7 j
  273. BCC P1_PPUW
    ( W' S/ `* W8 A: n# `
  274. LDX #$00. Y7 j5 q2 M# C6 Q  d
  275. RTS) J/ l! U3 V% p6 N0 I3 w* m

  276. - u7 O0 I. Q' w7 w/ q' P/ Z
  277. P2_PPU:# I! k4 G% L  S6 T2 k5 y6 H
  278. LDX #$00
    4 A2 {" \- r9 m" f1 M* o0 ?0 }
  279. # O" ~3 o, ]7 e! o3 H
  280. P2_PPUW:5 x% H3 q1 z/ u4 {2 c4 h% `
  281. JSR PPUADDR_PROCESS
    ! E( k; O1 T; d2 K, W( m6 z( z! O
  282. LDA P2_STRING,X4 [/ g( U" h! s; S7 O
  283. STA $20075 J, x8 }! |( D7 X/ g) G
  284. INX
    ' Z1 S+ M" \  K: K3 f, ]
  285. INC $BA6 m  [; x* V6 ]
  286. CPX #$03& \& n5 D$ {  Z# U) @2 y7 F; R
  287. BCC P2_PPUW; {+ |% s  X+ r6 f" U. `, \  w
  288. LDX #$00
    , `9 t! v3 _* E" N
  289. RTS
    - w' u" v! p# G* B! i- x
  290. 1 M/ @& {3 o: m- I6 w
  291. ' C+ l8 v4 U0 F* I4 J" w9 h
  292. LDA $BB4 ^9 Y) l' r, H! _
  293. STA $2006) o  b5 c. k  D+ }, c: @
  294. LDA $BA% f1 |  S, e5 F: H) R2 `
  295. STA $2006% M; B' S% E3 r
  296. RTS( b: n" a( ?7 w5 x! q, q3 ]

  297. ' J" T) H. ]4 k& E" q# U. f* B  y& R
  298. $ W" j6 y, `* k8 `

  299. 4 g0 R: E4 V0 v2 i, u
  300. PLAYERLIFE:& g! K7 l! K. B+ q
  301. JSR LIFETODEC9 \; r% d! D: `6 Q. B5 Y
  302. LIFEPPU1:6 ~: S/ a! V- G
  303. LDX #$00
    3 x  z9 \* P# j' g. `2 I9 D
  304. LIFEPPU1RE:4 G1 {+ a' u/ N. V5 V8 T
  305. JSR PPUADDR_PROCESS; W; r( v' J- [1 C
  306. LDA RELIFE_STRING,X
    , T  b$ x. y# g) y' l0 ~
  307. STA $2007
    / {4 K7 |8 W# L; o0 `9 Z
  308. INX
    7 J* b# P3 Q- o  Y( `/ q9 ^
  309. INC $BA8 N! n  w' z% `3 U
  310. CPX #$07
      k0 v/ O0 n; f0 ^, u* X
  311. BCC LIFEPPU1RE
    , b/ d) w- v8 o& K/ m/ N. g
  312. . d8 z8 D* ?$ K0 `* L1 L; Y9 a
  313. LIFEDEC:                ;生命显示写入
    ( b: `0 C: K' z# ^" k' m2 ?5 T/ l( g
  314. LDX #$00) G! H' Y: U$ y5 `9 c
  315. LIFEDECRE:, g, v# W4 _/ C. Y
  316. LDA $7A03,X
    # [# U) w5 w: w+ S& c7 q. j" {: S
  317. CLC
    ) W0 e, T7 K. V% v, N. F" l
  318. ADC #$819 b: c  v! k& G4 T1 p" p8 s7 O2 k
  319. STA $20076 J, m# m4 Q* O' a+ B/ X
  320. INX
    3 q; U( I4 q! A7 v
  321. INC $BA- M, U. I: c0 q9 Z! s9 U7 ~
  322. CPX #$036 p- p( B6 }) q" \' s
  323. BCC LIFEDECRE& h; x; m7 {& v0 d
  324. LDX #$00
    9 X* @3 z+ h/ T- b, I" v+ y9 m% y
  325. RTS$ F8 D  }# Y& m! r

  326. 2 y* g' L9 A" c& n* K- Z, _* g
  327. LIFETODEC:                ;十进制转换; E- M8 S: p2 r) P
  328. LIFEL1:        ;initialise" f9 [+ I0 X3 h$ M5 ?& j  m7 K# O
  329. STA $7A00        ;$7A00=F3
    % _) g9 [# `) ]) Z( ?) u
  330. LDA #$00. k4 _; \( N; f1 o/ p& A
  331. STA $7A03        ;$7A03=00: c! ]5 L% y6 v/ H! }1 G
  332. STA $7A04        ;$7A04=00/ I) R& A7 ~- A" ~1 v2 G- Q
  333. STA $7A05        ;$7A05=00! |* c6 U) c  f& Q: U" C  a6 C
  334. LIFEL2:        ;copy data $7A00 to 6001
    # I9 ?1 l' I9 I' Z
  335. LDA $7A00
    ) V8 l% q; ]$ _+ c3 N
  336. STA $7A013 ]0 K# F0 g* `( v1 u9 z

  337. . \. r7 Q  Q9 H* E# Z
  338. LIFEL3:         ;hundred
    9 N; L1 O0 W! S0 D6 P3 n  L
  339. LDA $7A01
    * @+ Y2 q9 I  y
  340. CMP #$64
    6 W3 N5 s) L5 l
  341. BCC LIFEL6                ;$7A01<100 goto L60 N! b3 |: t4 c5 A! m: U
  342. LIFEL4:
      g$ \* ~  Q% l6 E
  343. LDA $7A01
    ; I; G- [9 r4 l( S0 P
  344. SEC
    8 `5 h6 T! ]  Z+ a
  345. SBC #$64        ;$7A01=$7A01-100
    / C( q! F- \( I4 V( O0 @
  346. STA $7A01
    7 P; I) H, N5 Q1 q; _
  347. INC $7A03        ;hundred++
    $ |7 T; w7 m* k$ |5 C. o
  348. LIFEL5:9 Q" p+ H: }0 p. g
  349. LDA $7A01
    6 @! D/ W9 I% b, S2 T4 K
  350. CMP #$648 ]: |5 P6 m% g0 a3 |
  351. BCS LIFEL4                ;$7A01>100 goto L4
    * A" {8 p0 c% E. [: ^1 S
  352. 2 n  i9 Z, O1 y5 a
  353. LIFEL6:        ;decade
      I; L1 n4 A: g! ?7 n# J. C
  354. LDA $7A01# O/ A! C. E+ @8 d* a5 ~
  355. CMP #$0A
      f* Y& J- w4 W" Z6 e' x
  356. BCC LIFEL9                ;$7A01<10 goto L92 G) M' Z. j3 f# u$ ^6 D$ R
  357. LIFEL7:        5 F$ D; s# }) Z; J/ }* E
  358. LDA $7A013 {( D4 [. c) }, ?
  359. SEC' F# Q$ d( ~0 I
  360. SBC #$0A
    . z8 s4 g- J4 x. ]( g* }- n* e  t
  361. STA $7A01        ;$7A01=$7A01-102 ^" E$ q! n5 W  W. y
  362. INC $7A04        ;decade++
    : W  M) x' T/ X- T/ C6 L
  363. LIFEL8:7 X( T9 v" q% n( I- W  n! U. `0 W
  364. LDA $7A01
    4 j1 u7 C; U, @1 l6 s) A
  365. CMP #$0A
    4 ^: u) _8 U" h0 |( a
  366. BCS LIFEL7                ;$7A01>10 goto L7' |. v  S2 L3 I5 h/ f  h' s9 ]. n1 J% i
  367. ;unit
    : Q, e" X. ~3 s$ @. x+ }$ K& ]
  368. LIFEL9:7 M% `5 U8 d5 i( T
  369. LDA $7A01        ;$7A05=$7A01% R% p. b$ E6 y" y% q1 x4 A+ H
  370. STA $7A05        ;unit& c! }# E. T7 w0 I% N& N/ Q5 c! }
  371. RTS        ;return* @" ?$ Y6 E& C% }# Y

  372. + \# ^) R( D/ a) Y( S% F, P
  373. " _- I1 o) }9 ?/ A1 _9 `2 a4 X8 i

  374. 4 ]8 k. O6 z* W. E' `3 K
  375. WEA:                ;武器ppu写入
    ) K; Y+ w2 ?% |
  376. LDX #$00
    * w8 X& \  J& T/ @: l' R
  377. WEARE:
    - o/ \+ A; u2 h# \% w
  378. JSR PPUADDR_PROCESS
    + d+ W+ N2 B  l1 U3 \5 q) l
  379. LDA WEAPON_STRING,X
    5 V9 g: s" x# i1 @0 P/ _; }) I
  380. STA $2007# b; @- d5 D0 r  h
  381. LDA #$00
    3 J8 f+ D% O6 {% k
  382. STA $2000
    ' z9 t) i% d- }* Y& a  g, i
  383. INX
    . y2 m) [3 u/ C+ e, ?6 E, ?( u
  384. INC $BA
    " O( k, ^$ r& q
  385. CPX #$07
    , i3 z# Z& A4 w8 x4 a( J& Y9 Z% I
  386. BCC WEARE- L% W2 j9 H/ O7 g, i: |: }
  387. . K7 f& a# s5 U% \" L  [
  388. READ_WEA:
    ; F; A% ^% t! D1 ~$ W- A4 H% u' J( J
  389. LDA $B9! }/ d! o# R! e" {5 N0 l
  390. AND #$10
    + l0 J( W; z& A2 B3 P: }* {
  391. BEQ NWEA
    4 W4 {( Z0 L) i6 _: D
  392. SWEA:
    7 f* U& X+ B0 e' ^2 w

  393. & `6 w9 o3 @* `( u* B) N
  394. LDA #$9D" S- v6 k- a& {, j+ v$ B
  395. STA $2007' \2 Y6 T5 |, b6 n
  396. LDA #$00  f/ A" |# |% {+ U5 w6 z
  397. STA $2000' k5 u% `1 X+ a7 _, D* s
  398. INC $BA
    ( n) q3 N% p- O3 s9 K' O) B
  399. LDX #$00+ |! Y  h+ [9 Z! s
  400. JMP WEAREAD
    9 F8 P( G: {4 Y6 J
  401. NWEA:& ]! i7 J: b  ]+ a% ~
  402. 4 p! C9 U- |  n& x% g( G! K  `/ y
  403. LDA #$8D9 ^3 }6 L, s. Y
  404. STA $2007
    " l) C# e) J, B# G) g" c& t  u
  405. LDA #$00
    2 k5 Y9 a9 P6 z1 |; Y
  406. STA $2000+ U& t4 h2 G; t* ~4 s9 |
  407. INC $BA
    % P! P! E% Y/ N
  408. LDX #$00
    ( O9 ]+ A# r: k, c7 Y0 ]
  409. WEAREAD:8 V( N$ w0 {, L! n5 w  I. Y
  410. LDA $B9/ q) v, N# S1 |; Q9 b
  411. AND #$EF( F" R. }  M( E, W. `/ ?6 G
  412. CMP W_DATA,X, y) M' p( U3 O" Q6 D5 e' ~
  413. BNE WEACMP
    % n* V* w1 l7 R1 L

  414. ! f8 z+ o1 c" q) V+ d+ `9 a
  415. LDA W_PPU,X0 v* N9 G: G, ?. C9 r2 `8 L* @
  416. STA $2007' d' b+ i, n( Z6 Z+ q+ n5 g
  417. LDA #$002 i3 m0 l* X$ ], i  e
  418. STA $2000
    8 c5 C, s% ~; J& Q( I

  419. # ]2 R9 i) q  Q  X1 ~, S
  420. WEACMP:/ a3 C. v3 Q4 B
  421. INX
    $ k( w. S8 D) U/ P4 U* W
  422. CPX #$05( ?. b* D: @/ C& i2 j9 m& z4 Y, y  e+ n- d
  423. BCC WEAREAD- Y1 y5 w1 G- M
  424. RTS% ^2 A# E  R" d: q; S2 U# `. [. K
  425. 2 m2 u/ x% v/ }  J+ l/ v4 F! O: ?* L

  426. 3 a2 {3 }& g; f4 T2 H
  427. PPUWRITE:, z2 v1 o1 ?1 _* x. J4 p
  428. PLA0 h5 O3 D' A2 X+ ?, [
  429. TAY
    6 ^' [* E# A# j6 _# Z% E% G
  430. PLA
    1 ^0 M3 k# R* t$ x5 Q' u( O
  431. TAX
    % y7 A2 q) [1 p: ?0 f- s
  432. PLA
    9 ~+ H: I" s2 Y
  433. LDA $25
      S* L( N% G( i
  434. CMP #$00
    ; R: T3 x+ l% Q/ b
  435. BEQ WP1
    3 F! _& Q& B  Z2 ]& z
  436. LDA $25
    6 M9 P4 F, n+ e. Q. M& H! S2 w0 {
  437. CMP #$01
    7 J7 E3 g" r: g, O, L
  438. BNE WRE
      z3 ^; Y% [0 y" q; E1 g
  439. LDA $F5,X
    ' p6 y' R5 z/ H9 G+ A* v6 [
  440. AND #$EF2 `2 w" E; ]* R
  441. BEQ WRE8 q$ \/ [7 i8 w0 Y
  442. LDA #$00
    / y2 C# W, @  v) P/ _/ i# {1 {
  443. STA $7FA0. b2 c8 _0 V- X/ l3 ^( Z
  444. 2 R" c2 k# n8 o9 ]; H" P: h$ }
  445. WRE:
    2 X( r7 S7 n7 P2 B* E
  446. JMP $A000
    ) f, M. _: a' E

  447. + c7 K+ {4 ^/ G8 w+ U
  448. WP1:
    + f. U2 U, ^, m
  449. LDA $7FFF  o4 x- Q2 g6 }6 g4 y
  450. CMP #$FF
    * W- q# _3 T* A( ]# R
  451. BNE WRE" M3 G6 M! p4 r6 o2 T
  452. LDA #$00& Y7 N: A+ U  P$ P7 I5 k- i
  453. STA $20011 p* o6 B9 Q/ w6 r# b3 u" T) c
  454. LDA $BD
    , \7 m3 L$ v* ?' {& d! \
  455. PHA
    . \$ R! b8 A# n+ B$ o; G5 ^
  456. LDA $BC
    - d7 S) v: B% S0 n2 b1 Y5 D+ H' ?! r& H
  457. PHA/ g8 h8 z: [: V$ g! A6 V
  458. LDA $BB  ^0 R5 \9 j' W; \8 ]8 R
  459. PHA1 b4 h3 T2 \+ N
  460. LDA $BA6 M1 \9 D: q3 U4 C- G
  461. PHA. I5 ~- k4 T) H$ w8 O6 ]
  462. LDA $B9
    # P/ f; p/ ]! H, |9 r
  463. PHA2 N( R& o" g. Y: f9 w9 {7 a+ M' h
  464. LDA $B8
    0 ?) }( x" X3 @/ ^
  465. PHA6 O& }; @& {. O- p
  466. LDA #$00
    * P4 m/ ~7 o0 f2 `3 h3 _0 }( t
  467. STA $B8" f2 p8 y7 E: R
  468. STA $B9
    7 V+ f! G+ W  L3 k5 h0 s
  469. STA $BA
    ) }+ z/ a$ g4 g# O1 z: v: f
  470. STA $BB
    # v2 F; {9 I8 w% |1 p& K# C8 W! L- k
  471. STA $BC
    " q$ S/ [6 p' ^* n$ y
  472. STA $BD7 ?8 V! C0 a  x1 q7 V4 w
  473. LDA #$00
    $ |5 ]$ d* }; B& u' }8 E
  474. STA $7FFF' n, G' ]( h+ O( ^# |5 E
  475. LDA $30
    # T% g* A4 F& }
  476. CMP #$02
    2 P9 N& T( M+ U  K. v6 ]7 R3 `# Y
  477. BNE UNPROCPL3 @6 i: }! g5 h* v7 V
  478. LDA $7EFC, t& ]  I! C3 O
  479. STA $FC" {  J  z( d5 [4 Z
  480. LDA #$00
    / \+ a% E% E* [/ n4 f
  481. STA $A48 o/ k& ^6 U4 C7 n3 u' L
  482. STA $A5- o8 X8 `& m# d& C) C) `2 p
  483. UNPROCPL:: y. V, ^# V/ U8 i$ P
  484. LDA $7EFD: h2 b/ q6 \: w+ |
  485. STA $FD
    8 V2 J" ~9 i( @: t% Y( V1 n
  486. LDA $7EFF" [' _: L, x3 M) P/ Y
  487. STA $FF
    # i! p& q3 ]6 S
  488. 9 t1 G( `/ i$ n# J! ~
  489. WL0:
    2 t2 F) W& s, w6 |
  490. LDX #$004 O* w4 |1 r% Q% E
  491. LDY #$00/ H* t) N8 l! V7 F
  492. LDA #$00* @0 P$ o  v" s- u
  493. STA $BA0 @; f1 [) d% t0 ?( T8 k; n
  494. LDA #$20" x5 B" |/ Z# O8 k6 Y
  495. STA $BB
    + W( n6 P( ^, D3 r  b  {$ x2 q
  496. LDA #$00  Z, U) t! M- x0 @! f' C
  497. STA $BC
    ! `3 Z& ~; S" x  a7 ~
  498. LDA #$602 G& |4 p* A% d9 j# X) l6 S
  499. STA $BD$ N- n& b( }- C) G  N+ W+ F

  500. ; p+ W" a: T" O, f- e  v9 L
  501. WL1:
    4 i: }& T3 K. t4 c. X0 ^
  502. LDA $BD
    ! y) J$ F$ I2 f
  503. CMP #$70+ R, {  r- N# O' f
  504. BNE WL2
    - R" ]+ j; z9 Z; _& t4 @3 t, Y
  505. LDA $BC
    . D2 b0 `) ~1 F, f
  506. CMP #$00* R& {! t1 `/ h' D2 l1 Z- s2 f
  507. BEQ WLR3 P5 ?: l: @+ V3 z% U
  508. ( M$ g# L1 `+ T$ M# D$ Z& n
  509. WL2:
    8 `% M# |) [: l1 C3 ?# D" u
  510. LDA $BD
    5 h/ ]5 U3 t* q/ a' ]9 J2 w
  511. STA $2006; v1 N5 b- s% ^. h! @  E9 _
  512. LDA $BC+ {, |2 V; l  H9 ~
  513. STA $2006
    $ ?) X9 R, T0 X$ C

  514. # M" v+ ~$ K1 K3 k5 w! C# g/ ^& s
  515. WL3:* r& [0 [+ k. `  R) B
  516. LDA ($BC),Y
    0 Q8 g  z. j+ F8 p
  517. STA $2007
    ( _) V3 k: A# M5 n7 W
  518. . d+ c) I2 ]' T6 |( C' W5 [- z# c
  519. WL4:
    3 F9 M. ]/ Z, l. ]# T1 D
  520. LDA #$002 O9 v$ U/ I. T- w
  521. STA $2000
    8 u* R, J* C' T' I/ l3 C# L2 Y
  522. INX, |# J8 X- H" v. p7 o
  523. INC $BA3 ?2 q% Y! Z! X
  524. INC $BC( R: ]0 |3 g5 L* W
  525. CPX #$00, W4 E0 {& g4 `
  526. BNE WL1% e- r# p5 N% b: R4 z+ k
  527. INC $BB
    9 N/ N  e+ {& d, V; v
  528. INC $BD
    " b) D# C8 W  N! p7 w. d3 c
  529. JMP WL1
    + u8 O8 {- ]" f) b- {
  530. 6 F# Q% Z/ P1 c/ ~9 b# ]* u
  531. WLR:
    ' _; z6 x9 a5 T& a
  532. LDA $7FFE
    6 L2 q* S0 y% X# t0 ?3 D
  533. STA $07F6
    5 k! a* {/ g# Z
  534. LDA $7FFD7 S. e; e# a3 o& b$ K) b( w, ^
  535. STA $00FE
    & T7 d1 N. O8 S
  536. LDA $7FC1! l% D6 f" s' V* C; p+ ?
  537. STA $07C1, h; r4 j, G; l$ t' X) e9 q
  538. LDA #$3F& U& Q' x0 J' [; Z1 _  B
  539. STA $2006
    & \9 i" r0 h1 X# R% s" g
  540. LDA #$012 ~. a# k$ m( J9 J$ ^7 g: b
  541. STA $2006; V8 U4 I5 R0 y6 U$ }1 s& ~
  542. LDA $07C1
    ) G2 h% @* I; Z* D# ~/ [
  543. STA $2007
    / N9 j4 m3 l- _( C/ I
  544. LDA #$004 E8 A+ A' O+ u( l
  545. STA $2000
    - I; \0 d$ ^8 {7 K
  546. PLA0 u2 U7 C2 k6 f& S7 {2 |
  547. STA $B8+ o5 {* Z% w/ B/ p; g
  548. PLA
    % i0 d. N* l* U% t" Y
  549. STA $B9
    ) }+ G' M3 {% `3 N$ o5 I
  550. PLA% o2 y: y4 l; f- R
  551. STA $BA) m- {% _1 q. u1 F
  552. PLA
    . g  t. m' I5 g) ]  H( r
  553. STA $BB' N$ ^! z2 v* U5 R) C! K9 L
  554. PLA
    7 w! Q0 g# W- R6 ^/ K: F
  555. STA $BC
    5 r, ^; W6 X6 u4 u5 _  A& A$ j1 ]
  556. PLA) ~, v  ^4 J8 _
  557. STA $BD# q3 |# r' ]# x+ Q
  558. JMP $A000. C, \6 P6 D$ z5 L- r) R

  559. ( V' `: Z  \5 {+ C
  560. FREE:                ; 暂存器保护- H9 ^+ L" B, y( d1 V
  561. LDA $BD" U4 i, k8 ~4 U/ ?3 T, h8 S6 Y
  562. PHA
    ' G" D0 e3 P& ^' B) d
  563. LDA $BC
    7 m+ u9 J: O( {& S) z$ n% C) g
  564. PHA+ [1 o- O" ]. z9 A, g
  565. LDA $BB/ t& T/ _; o! r
  566. PHA
    ' T) j+ P: k9 `* b2 a; J) a9 {
  567. LDA $BA
    8 v+ u6 d' J+ @2 S& V1 k
  568. PHA
    7 Y" V5 N5 z. L; S
  569. LDA $B9) P: T9 g) g- }+ D' t
  570. PHA
    % Z8 |, C/ q3 J) f: M
  571. LDA $B89 Q% ~1 x4 N* S, A
  572. PHA* z0 `/ M8 ?0 C4 y* }$ {  D
  573. LDA #$00
    1 {9 [: w6 |9 m; N/ W
  574. STA $B8
    0 q: F& q: O3 R) o" U+ c3 n
  575. STA $B9! B) |% n+ }. M9 p# N
  576. STA $BA
    + _# B/ d$ f9 |  @
  577. STA $BB
    # |7 w9 w9 {5 S& [1 V2 a
  578. STA $BC
    : N" [6 x1 q$ w( I* s# U/ r
  579. STA $BD% R! O3 O7 U3 e/ p$ L4 E7 B

  580. + q# `" S/ b( G2 y* j
  581. WEAWRITE:                ;武器ppu写入3 r5 C: `+ z3 o2 A* i
  582. LDX #$00
    ; t& F! |0 x  s& A3 S" O; t. j
  583. LDA $AA5 @" P6 ]& V% m5 v# u
  584. STA $B9
    ' H+ X2 Y: Y( M- }" h1 f
  585. WEAINI:                ;地值初始化
    " G/ h7 Y; ]; }
  586. LDA #$A4
    9 B) |( N* B# @! l
  587. STA $BA8 s( ?+ f$ B7 x  K, p
  588. LDA #$20: Z8 J& V- h- F- E1 T* }: f
  589. STA $BB6 [0 s: D4 X1 \+ s6 G( e9 o/ e; v
  590. ( p" l* j8 v$ K( L' J2 s8 \
  591. * ]% e8 q( M: d/ S( L3 [
  592. JSR WEA2 o" T# \% s( j8 Z
  593. LDX #$00                ;武器ppu写入
      I9 f: X! a( X9 a$ Y( r! A+ D
  594. LDA $AB1 j) ^+ ?$ V' l, x* s
  595. STA $B9% V$ c6 W# |6 l( B2 Z, q
  596. LDA #$B3
    $ a8 n1 C& h& q7 {& L+ J. J
  597. STA $BA3 h6 y! r# e# x* ?. {
  598. LDA #$20
    % H% i" G: T* L
  599. STA $BB2 |4 T4 p3 `9 U0 k7 B, R, L: G5 W
  600. % C4 `. T- V( t1 p9 ?' |

  601.   N6 w4 }) Y0 L
  602. JSR WEA
    + F, |0 R: Q* x+ \

  603. & X+ C' T, t* l3 h, z
  604. LDX #$00; g3 ~9 X2 B$ s/ A4 d* ]
  605. LDA #$E4
    6 ?' q2 n7 _  \: D# K
  606. STA $BA) d: O7 Y: k; D* m" ~7 B! {
  607. LDA #$20- a. g) Q5 L2 k; O
  608. STA $BB
    ' M! N* Q& r) y" m
  609. ' g% \6 i& \) \. ~& I
  610. : `. e- z7 A: b0 X* W; O
  611. LDA $32- u- N6 u) O5 \# p1 x
  612. JSR PLAYERLIFE) h* ~% X) d# d2 c0 }
  613. ) l) g% g6 g% w; I: G
  614. LDX #$00
    : l: e' h7 J% W  e
  615. LDA #$F3! [& T; z+ {6 k" \0 w
  616. STA $BA
    & J# A7 I2 E) R8 g
  617. LDA #$20% v7 V/ v) k  H3 T
  618. STA $BB0 i+ Z& p8 _9 s8 G9 u# p0 D

  619. 9 D4 W. y1 S6 Q

  620. 1 S1 W* z+ ?9 U
  621. LDA $33, t# O7 o, u" m- T' V  P
  622. JSR PLAYERLIFE  q  p) d5 Q* G9 l

  623. 4 g' I1 s0 s4 X. a4 U/ g* N

  624. * F5 V4 f1 V1 }" m6 J1 G8 C& z
  625. JSR PLAYER_01_PPU
    ! ^: E4 o, o# J1 k4 @
  626. JSR PLAYER_02_PPU$ p9 B5 d; a, Y& Q6 w

  627. ) ~5 q/ ?; l3 ?/ u$ [
  628. : j% B! @: Y& `) E' A% f
  629. JSR PAGE_PPU
    3 L+ S: ?; r0 |
  630. JSR PAGESELECT
      ]1 I  h+ J' b- [

  631. : R2 S  J' a$ f
  632. ; D  i: v( Q, d; A1 a9 t

  633. : o- I3 |- t' w+ `# G

  634. 0 Y# N; W' b7 m$ t) t

  635. 0 |! G4 m3 ]" S

  636. ( `1 w5 R8 Q7 H; Q
  637. & \% g$ ~: C9 k2 B- ^

  638. 4 s( g4 P( C% |$ p( l

  639. 1 f$ D5 A& o; _: z1 T. g
  640. * N( B3 X" X7 t8 {: W. f$ b
  641. ; g: `- H  [, N/ m9 r

  642. 5 @/ Y9 x" f7 Q/ J% n* f( K( y  d
  643. ' U$ b& M2 N+ M- T( Z6 I  }% ^, Y
  644. PLAPRO:                ;恢复现场
    % h3 e3 e/ @2 q+ {* T
  645. PLA
    % p; |* W& b# U1 D9 X3 J
  646. STA $B8
    , x$ m- }! i) d" T$ a& {/ Z7 F
  647. PLA. I$ E" n1 q- \3 v! W* U. ~: g/ [
  648. STA $B9
    - F* c) M3 Z; D# }; N! {6 n3 F% ^
  649. PLA: G6 ^( _. b; E6 }
  650. STA $BA
    , b$ J; q1 k* r5 g/ L8 W2 c
  651. PLA
    / f+ b+ k  W0 ?' k; ]9 M' T: d
  652. STA $BB
    # L  E* H( h- D" X3 x, q( q' T" }
  653. PLA
    " j$ i# \; e( }
  654. STA $BC: q0 b% d& \, ]: C; P) Z5 T: v" f
  655. PLA9 i' u8 C4 }' p6 |1 D7 E
  656. STA $BD
    ) x4 C8 C9 D5 M  Q
  657. FREERTS:" N( f; ]& [6 W% a6 u
  658. RTS+ i1 n( ~  W/ n) B$ O8 q

  659. . p% C- @. m! y$ N7 H4 p. U5 U
  660. INVINC_STRING:                        ;invincible  t9 p& B) k1 Z6 |# J8 D
  661. .BYTE $93,$98,$A0,$93,$98,$8D,$80" H* j# U: F, Y2 D$ X

  662. : E, h  a& H7 c# t1 w4 W( k9 y
  663. INVINC_PPU:& Y- [: R2 J0 N
  664. LDX #$00
    7 m; u' A- J" L: L2 M5 h, R
  665. LDA #$626 |' U! ^$ B1 \8 u
  666. STA $BA. p& [: `' q! @0 i) x
  667. LDA #$21$ x! u* W( M: F6 G
  668. STA $BB9 }+ J, I/ C5 s' ?

  669. - h0 o- }) M# w( U
  670. 8 j- Z  S2 X) K9 B5 q/ y
  671. JSR UP_PPU' L) _& a! N8 A  H: j5 z' J6 `
  672. JSR INVINC_WRITE
    . t' D2 r$ {6 }* S+ [  r* ~
  673. LDX #$00& _. L, H$ A/ H: r1 g& c6 B
  674. LDA $07A0: ^! P$ \( N5 s( H
  675. AND #$016 G4 X2 I3 l0 G3 T& r+ a
  676. JSR ON_OFF_PPU1 p% I% u# O, v* t, R! b, ~
  677. LDX #$00
    $ A* V5 ~* V: |2 W9 _& G
  678. LDA #$71
    1 U2 R! @9 Y, z
  679. STA $BA4 K0 n7 f2 L" i' |* S
  680. LDA #$21: e9 q; N) V; R3 v6 @
  681. STA $BB
    ) q. U& f4 N2 I6 d" u" E4 _0 }9 \# B: R
  682. 3 W$ d- V# Z# C! l' l3 {& _
  683. " @5 a4 U& Z$ x- F" |6 \
  684. JSR UP_PPU
    1 i: p" B- V7 x3 |: m- c( t
  685. JSR INVINC_WRITE
    8 g# V$ b5 `/ S' Z- h" Z. a; P( q
  686. LDX #$00
    4 G& q! r& _" g
  687. LDA $07A16 c7 X6 c! @* P
  688. AND #$01/ }; J1 t; B" M5 B( q. L7 r, a
  689. JSR ON_OFF_PPU
    - B8 q: O9 U% ?9 [' [: x* Y
  690. RTS% Q% b/ n- a2 l& {) L* |
  691. . Z) ]& D2 c' C/ f$ r3 r) r
  692. INVINC_WRITE:
    5 J( {; Y: T8 K/ r1 q) H
  693. LDX #$00
    % ?' n- H% M2 s( j. E
  694. INWRITE:
    % n9 _3 q, e* a, M  }! U
  695. JSR PPUADDR_PROCESS
    3 {* U; x2 `% C5 j) x0 X' b
  696. LDA INVINC_STRING,X
    + j6 t5 o2 Z+ k% [' }" f3 Q
  697. STA $2007! u  j% G* J! W6 t7 X' b" t
  698. LDA #$00
    1 |8 y  r, R+ }8 y( ^
  699. STA $20002 y, `- _4 Q. d8 h
  700. INC $BA8 ~& ^) {" _, Y
  701. INX# g) _- ?& p7 ]8 y! R* \1 F
  702. CPX #$077 y! a( [5 _( \  Q. b' X
  703. BCC INWRITE& X$ ~4 b( w% [
  704. RTS
    ! A5 G8 C. L1 M6 T, {

  705. ; n) `4 a) z$ H& z# u2 l- g
  706. ON_STRING:
    0 R* v& N9 d) v( ?& [
  707. .BYTE $99,$98,$80
    . L& c% r4 U8 A0 q# b( y
  708. 0 ^8 _6 p- `3 r6 r/ c
  709. OFF_STRING:% v+ E- T. ?; V+ l
  710. .BYTE $99,$90,$90- [% h& M8 Z: A) I( _+ i  b! _( ?
  711. # u% d  ]$ |0 Q) g( B  N
  712. ON_OFF_PPU:. |0 h: h$ ]: k
  713. BEQ OFFWR
    , K$ a( D6 v: I. @
  714. ONWR:
    ( Z- e1 K' N- V& J- u% p" @9 W
  715. JSR PPUADDR_PROCESS8 r0 W/ P) P' ?! `7 G7 _
  716. LDA ON_STRING,X; U- j  N" b6 ]8 ^( w/ E
  717. STA $2007
    2 A+ u5 ~. J3 D1 I: H+ j; }" d
  718. INC $BA
    / s! ~) G8 ~4 S: q' y7 D0 `
  719. INX
    6 `' Q6 ]( _* H3 A/ c6 v) w  B
  720. CPX #$03
    0 Z$ f( O" f& L2 g' f' |' \
  721. BCC ONWR5 J  z( A0 p5 ?
  722. RTS. i' e- v$ j0 `) }/ ]
  723. OFFWR:2 ]4 }; q! }; K$ D1 Z
  724. JSR PPUADDR_PROCESS( h1 u, a- U4 o0 u$ u
  725. LDA OFF_STRING,X! e( Z. m: n& m  r7 b" P. u
  726. STA $20071 w" c% x, g+ J& I! {
  727. INC $BA9 `( |$ `# m6 `  l: O/ H! x
  728. INX
    5 [7 \8 Z6 G1 [- q* f, H2 T8 R
  729. CPX #$03' y. o- B0 n  h3 z- w8 [  p7 K7 c
  730. BCC OFFWR9 R# b2 a8 F; y& v. w
  731. RTS
    8 e6 Y6 H1 h& D8 ^7 {% l$ ?4 \
  732. ! ]4 |+ X: O6 {& h! d8 H- P
  733. LIFELC15_STRING:0 `* ?+ N; Y, H9 P
  734. .BYTE $96,$93,$90,$8F,$82,$86,$80( x3 l7 x3 M- }, }
  735.   _5 Y  I; p# \2 m" [
  736. LIFELC15_WRITE:+ r" Q# [6 j+ b# O8 c0 {3 m
  737. LDX #$00* G; k8 s, H0 q7 L
  738. LIFELC15:+ v) a1 ?+ \/ g4 @3 s+ I. n7 P
  739. JSR PPUADDR_PROCESS/ `; Y* a  O& o# P
  740. LDA LIFELC15_STRING,X
    6 {7 F1 u9 K. Q2 Y
  741. STA $2007
    & n' t1 i% ^3 ]- g
  742. LDA #$00
    ; D7 w1 M% M& m% n9 A( I
  743. STA $2000
    / J* `! q7 v) h; X
  744. INC $BA/ n4 \: t1 o2 V1 q7 |# l, T
  745. INX% Q$ B# m1 i* u
  746. CPX #$07. L8 q6 L7 r% d/ I( u- t: R! L  ?
  747. BCC LIFELC15
    1 f/ e. B7 J8 V1 C% e& |; Z# \
  748. RTS: I3 p- [! x& N5 K  J" @

  749. 1 m0 d% |7 L: ?( E: h
  750. LIFELC15_PPU:! E; a% S$ I! B- P$ ?5 L0 A- P
  751. LDX #$00/ T7 s$ _4 a5 u/ \2 u; J8 M
  752. LDA #$A2
    , i. `8 D% _+ e$ D( c: }
  753. STA $BA
    # K  M' Z% t4 p) l% Q7 a
  754. LDA #$21
    * c  f" v2 o. w* K0 V! {
  755. STA $BB5 t0 p6 t& ]) C: S- D
  756. JSR DN_PPU1 t+ X6 N+ J% [; k, M; y
  757. JSR LIFELC15_WRITE
    3 e8 m  r# a2 f$ i
  758. LDX #$00
    # I4 l, o3 V. t) S) _
  759. LDA $07A00 m! y9 e9 E4 n- K
  760. AND #$02
    7 l1 D0 S1 J0 G) r6 V9 Z( u  k
  761. JSR ON_OFF_PPU7 z' V  K/ |4 j  V" A2 e+ k" ?
  762. LDX #$00
    + x. h8 B* l: \: [
  763. LDA #$B1, c6 S% S0 t) n- a5 g, c* |2 V5 J
  764. STA $BA
    $ \! P+ \6 C- Y9 F: u/ r
  765. LDA #$21
    9 a! P5 e- }2 `$ P$ ?2 B3 s$ B
  766. STA $BB
    ' K% h6 ^0 @/ Q7 R8 ~3 [5 \
  767. JSR DN_PPU
    8 T% m2 r9 O; R* O$ D
  768. JSR LIFELC15_WRITE1 e* T  a& l. w2 |* u/ x
  769. LDX #$00
    2 r; T( S) x! ~2 t( {
  770. LDA $07A1: T- [+ }- f( h% h+ X5 z7 U" B
  771. AND #$02; s9 g2 L9 b  K  l
  772. JSR ON_OFF_PPU- u7 F! \6 V* D1 }
  773. RTS8 a1 t1 p7 Y: b& O2 z

  774. # F  Y: h/ f9 H  T! P5 y. B
  775. DOUCON_STRING:
    , }7 g9 W$ n3 z7 w6 u
  776. .BYTE $8E,$99,$9F,$8D,$99,$98,$80
    & {$ i; y! N3 D  X
  777. + R: c" S" C. a' Y8 p" o" R1 G- O
  778. DOUCON_WRITE:0 b1 C' D5 v* B5 x& K. l7 n) Q# w( k
  779. LDX #$00
    ; r# J) N3 n: U" O- L( Z7 F7 k
  780. DOUCON:
    + w8 ~5 N4 p) A
  781. JSR PPUADDR_PROCESS" P+ ?  V3 D  K- p0 q) S
  782. LDA DOUCON_STRING,X
    ! Z; P1 @# p% `% B; ^
  783. STA $20070 d/ w, j  B* _/ W' }
  784. LDA #$00
    4 a9 l0 w$ D8 V) d% d! F6 N
  785. STA $2000
    , Y7 U; M' G' M$ j- q  x
  786. INC $BA
    # m! r- T# m9 s4 f2 X. m
  787. INX. T1 L8 o, L* S6 o
  788. CPX #$07  W$ g. T) A. Q
  789. BCC DOUCON0 q0 ]& k/ B. p1 x2 L, p( A- g
  790. RTS# |' _4 l# ^) o$ k7 q' n

  791. / ?3 w0 d+ c; {8 M; T- {
  792. DOUCON_PPU:; L$ y9 K, l1 p9 {5 q  F% H- x! S
  793. LDX #$002 l$ n  ]6 i5 L, l2 ?" e% T
  794. LDA #$E2
    " B+ g& B3 _, R8 L- U+ Z% b
  795. STA $BA- D9 ?5 B$ g0 t6 P0 [
  796. LDA #$21
    2 x, n6 ^6 K7 x
  797. STA $BB" x$ Y  Q2 x' ]8 ]# K0 J! t7 P) F( W
  798. JSR LF_PPU) W+ ]( @( Z( P4 d0 x
  799. JSR DOUCON_WRITE
    1 ~7 F3 ?/ V  |' y
  800. LDX #$00
    ; ^* L4 d+ V- a/ p
  801. LDA $07A0
    ! D4 I3 w5 L. I. f/ B4 t; O; M
  802. AND #$04
    ; V+ W# \, R6 I2 R
  803. JSR ON_OFF_PPU
    8 a: V6 y) d( g$ M- ^& a, t3 m# P3 n
  804. LDX #$00- D: [( L+ G2 s( E: Y/ {, G; F" E
  805. LDA #$F1- E- m, \& B) [5 ^4 }
  806. STA $BA1 ]* h1 S* v' l+ Z3 C- f" I
  807. LDA #$21
    1 V6 Z- o& w# Z
  808. STA $BB
    ! Z! _2 z9 r+ K* O% T" @  p; G
  809. JSR LF_PPU
    6 Y8 H6 _; V+ z  S$ ]
  810. JSR DOUCON_WRITE
    , K4 Q4 _! ~7 G( l1 i8 }0 Q% R
  811. LDX #$00! i' z, ~2 ^3 p0 o6 y
  812. LDA $07A1
    4 i. V( T' D. X; O" i" u+ X7 a
  813. AND #$047 b1 q$ n3 A3 r% D# p
  814. JSR ON_OFF_PPU
    & a& Y% M* @( t' Q- t
  815. RTS
    ( F# j; |' A0 ]

  816. ) {6 y' s6 r: e9 G, m  R0 U
  817. LIFELOW_STRING:# K  }7 }8 u' \3 \
  818. .BYTE $96,$93,$90,$96,$99,$A1,$80- D% B2 V- M" z9 f, D+ M* d4 c

  819. / B+ Q  e$ u( C: A8 V
  820. LIFELOW_WRITE:7 t: n+ N' s' r* [, ~: \
  821. LDX #$00
    % o/ @9 e" `+ k/ C* U
  822. LIFELOW:7 f( ]6 A- ~! _
  823. JSR PPUADDR_PROCESS: n+ \! v/ `" o; ^
  824. LDA LIFELOW_STRING,X
    + g* B, K. g, V! @. q3 ~5 H
  825. STA $2007
    % ?  ?/ d4 j3 `
  826. LDA #$00
    ) |+ F. s* [9 s% w
  827. STA $2000
    3 l3 p/ [/ \* N8 ?" ~' A( r
  828. INC $BA
    ) z! b. W$ ?' C8 Q$ h, O
  829. INX
    % t& U" q' n: j% Z8 O0 ]% G
  830. CPX #$07+ f  P5 S; o; J( J+ B% f+ [
  831. BCC LIFELOW* G0 t3 p- z; L1 U/ n4 e  w  `
  832. RTS( a. q, T, P/ j: I( u1 Y
  833. + ?8 m. }% Z$ m' X6 O
  834. LIFELOW_PPU:
    8 u1 q% o1 ^. w+ H% B' u4 X
  835. LDX #$003 Y+ {! Q- u7 i/ X
  836. LDA #$22  w/ B2 t. a4 N. X# z
  837. STA $BA
    1 j2 V) `& d  M% H4 y  ^  ~
  838. LDA #$22
    1 s1 l1 Q: {. f8 E
  839. STA $BB
    / Z" x6 z6 w7 \1 h0 ?

  840. ; A2 v( {! R  I& Y# q* S
  841. % v, U0 C* ?5 e% I) A/ `8 V, A9 f
  842. JSR RG_PPU
    9 b" g5 X2 V' J
  843. JSR LIFELOW_WRITE
      [6 q' f1 S  O' A
  844. LDX #$00  Z1 m. o8 C3 Z3 ]
  845. LDA $07A0
    2 B6 C4 E9 c2 U; o* s
  846. AND #$08; M+ n4 V# s& L
  847. JSR ON_OFF_PPU
    8 a# `: c9 c6 d  s$ ^& \) @& W
  848. LDX #$00# x1 l! G) O8 Q6 {1 s
  849. LDA #$31
    % F' ]. u) `) X9 f3 ?. u
  850. STA $BA3 @4 `5 w7 u; }8 X  v
  851. LDA #$227 R# F3 S9 l7 z% [! t
  852. STA $BB
    8 L/ l% w6 y' d

  853. 6 _1 a, h! t  Q( W- }

  854. 6 e; c" ]* @! z% v$ ?
  855. JSR RG_PPU0 \6 J! t, a/ ]/ m3 i
  856. JSR LIFELOW_WRITE) F" F/ L) O" o2 M6 _. J
  857. LDX #$002 H5 y( u- \; g2 s. G3 V4 d
  858. LDA $07A11 C/ ^. V2 u4 w3 l/ a! s9 C8 {
  859. AND #$08$ F' h& d0 ~% d, D! \* V
  860. JSR ON_OFF_PPU# }( l- `3 n! l
  861. RTS
    8 f0 k$ {% E% ~% M
  862. * K2 q0 T) j  X
  863. KILLON_STRING:2 U6 j( f0 i5 P7 t
  864. .BYTE $95,$93,$96,$96,$99,$98,$808 ~$ R8 m1 E/ _! J
  865. ) S3 w) Y! @0 F1 Q; D! `  _' R
  866. KILLON_WRITE:; `' l1 [) u# e8 X; B
  867. LDX #$00
    9 r5 j* b* b6 Q7 |- f
  868. KILLON:
    0 d" ^" Q% P$ x; V( ?4 v
  869. JSR PPUADDR_PROCESS& y$ d) @% x4 ?8 O0 h" Y
  870. LDA KILLON_STRING,X
    $ U# {1 x' I5 u: W, I8 v, Y
  871. STA $2007/ j( g. B7 ~  y7 a
  872. LDA #$003 ~; j# P1 M- _% R7 _# N; G9 H- Z
  873. STA $2000" b+ x5 v, W- Q. c- l/ R- j+ |
  874. INC $BA
    - p8 R3 V5 E& s/ R$ {3 I
  875. INX
    4 M$ l& y8 `/ m- I7 N
  876. CPX #$07
    , m  N: E. J7 ?5 }( H* c; l! u8 {
  877. BCC KILLON6 K3 [8 P- {( o0 q. q; R' c# T
  878. RTS2 y* `, R6 y3 T

  879. / |7 C. c$ o) a, x! E. Z
  880. KILLON_PPU:
    $ F4 d/ M+ Z8 C3 _
  881. LDX #$00
      o: E  k+ i2 q* q. B5 ~
  882. LDA #$62
    2 V# _" L% [4 y8 l) f" ]$ j
  883. STA $BA& g' R! b1 Y% S
  884. LDA #$226 V0 |/ `0 I7 B
  885. STA $BB0 H' i9 N" f+ I. p/ j

  886. # n$ x' g3 U$ B0 ~7 ]
  887. 9 z* p4 k; ^2 s& r* P1 i
  888. JSR B_PPU
    , h1 h$ F' i8 A" b& h
  889. JSR KILLON_WRITE
    ; o: l$ K: F8 C  \4 h8 F6 Y" H
  890. LDX #$004 ?/ J7 H0 f: K; t; I
  891. LDA $07A0
    8 b, q+ m- a" h) ^
  892. AND #$10% }) q( C; _% W! t' O
  893. JSR ON_OFF_PPU
    6 e6 s8 z3 V7 X# d$ R
  894. LDX #$00, @+ t  U3 |! w: R
  895. LDA #$712 ~1 p1 h0 K9 @# f" K9 `' N% l/ B/ f
  896. STA $BA* G) h7 ^2 b7 A2 s7 d
  897. LDA #$22
    2 @% X% `4 v$ V- ?1 g# N
  898. STA $BB" s# ~1 y/ w- e" f
  899. ( \7 k+ q) c! v4 g# s3 z' k
  900. , H' o1 r& C) }+ i: t$ ^) D
  901. JSR B_PPU
    0 G& S3 W0 u4 F  [' O9 D
  902. JSR KILLON_WRITE
    . L% K5 s# Y/ d* g
  903. LDX #$00/ d7 `8 z) z9 j6 J* |) q
  904. LDA $07A1
    # K; u. [1 n( q9 x7 i, _
  905. AND #$10
    : z; L$ P8 L% C1 X9 G
  906. JSR ON_OFF_PPU; o6 |  ^4 v5 ]/ e6 `
  907. RTS5 |0 N( ?. O2 n8 L' J2 `% y" Q

  908. . O  p# X" b: L2 T6 W
  909. SKYFLY_STRING:
    - J& q& R: Z0 k0 f
  910. .BYTE $9D,$95,$A3,$90,$96,$A3,$801 c! p: X* B9 t6 B) k0 Z1 X% Y

  911. 6 E2 S4 J: L# S& j) L
  912. SKYFLY_WRITE:7 [7 g9 q0 D+ X$ z% {+ w# f
  913. LDX #$00: `% i1 ~- z: v" f" u1 L% X
  914. SKYFLY:
    7 k2 q* O. H& S2 @+ y$ E
  915. JSR PPUADDR_PROCESS
    $ u3 [# ]& y, B! E" b; J; [4 w
  916. LDA SKYFLY_STRING,X' b# ?; H- ?& C# \. Z
  917. STA $2007" X% X4 Z3 N& s7 v$ |* w3 m  n- y
  918. LDA #$00
    , r# H# x9 @' |0 M
  919. STA $2000
    ! @0 h3 o' t  _. ~
  920. INC $BA
    + L: |0 F! a4 }) P* h! E# t
  921. INX5 z1 t3 }9 A& u3 p3 D% a
  922. CPX #$074 _. Z/ \' C" I& b# M
  923. BCC SKYFLY
    - R) a1 `  p+ _8 J# Y8 b
  924. RTS) w* Z" J! U. e' s
  925. 3 c, K# H: r& x: j
  926. SKYFLY_PPU:$ Z# D9 P0 k6 e1 u. H9 H% ]
  927. LDX #$00
    7 U8 b2 q9 N+ }; x: M* D
  928. LDA #$A29 v. t+ D/ V7 T3 j# y' r4 S
  929. STA $BA
    - z7 l$ ~: `, a* _
  930. LDA #$22; a5 _4 Y* L5 E( b8 |8 B
  931. STA $BB
    9 L5 ?3 m% I, G7 r  p

  932. " C+ A6 N* Y* @$ M- Y' ~, M& Z
  933. : G% U9 y, y" g( N) }
  934. JSR A_PPU
    + x9 [) y7 f+ Y9 b
  935. JSR SKYFLY_WRITE$ H! h5 J( h; @3 U
  936. LDX #$004 D$ Z" t; f* W2 r) ]) c$ a
  937. LDA $07A08 g& a& M# B! r+ y( j
  938. AND #$20
    $ ]( b& X2 Y, E5 q8 e  k
  939. JSR ON_OFF_PPU1 r$ F' {4 n, U' G: o9 q
  940. LDX #$004 K. A/ e" @" r- k& V& R
  941. LDA #$B1
      a- b1 n+ y" V) [- N0 H2 _
  942. STA $BA
    7 h0 b1 Q# q2 P' E7 z  J
  943. LDA #$22
    5 Z) V3 v8 i* n5 g% [
  944. STA $BB- \/ P# }6 N3 j& x5 X
  945. $ ?/ M: B4 k1 v* D- h  E
  946. ; z1 z2 @/ m8 T7 n7 x
  947. JSR A_PPU  `6 |' h' c1 k! N
  948. JSR SKYFLY_WRITE
    3 I7 Q  b; B8 s7 h1 A+ r* Q
  949. LDX #$00
    3 J$ t! X4 y6 B
  950. LDA $07A1
    1 F: h% N' T; |) b' j
  951. AND #$203 R/ s4 K) b5 X. F5 E# D% A
  952. JSR ON_OFF_PPU  Q/ o5 x$ A9 W; k9 n& t/ ?
  953. RTS
    7 a! b, v7 [, W) d

  954. 8 Y" D$ N+ ^/ h/ d: W* l
  955. BULADD_STRING:
    0 R% g. `7 u# e3 D3 v% \# E
  956. .BYTE $8C,$9F,$96,$8B,$8E,$8E,$80( w9 U7 ]3 f# p9 b9 w- ?" {, D

  957. ' O) _. L( j; x, s8 \7 W) t9 \
  958. BULADD_WRITE:
    8 }# e: V9 i' h2 V
  959. LDX #$00
    6 s6 ~" |# D3 R
  960. BULADD:
    4 {  v9 q7 q- t7 s2 L5 Y- i
  961. JSR PPUADDR_PROCESS3 }9 K0 p) v  K( }; e
  962. LDA BULADD_STRING,X
    / C% h# H1 ~6 x( i; m+ t
  963. STA $20074 e9 s8 {7 b3 u+ T: ^
  964. LDA #$00
    ) p: i0 a. b9 c; _( [
  965. STA $2000
    . `( X" d1 F5 @0 e* K
  966. INC $BA7 o7 L' [) S; C8 v
  967. INX
    & t8 D7 D* R- q! @) v4 o
  968. CPX #$074 C. m" e# t( ?
  969. BCC BULADD
    5 z7 ~% [" p$ g) F8 {
  970. RTS4 G( G) ^- {1 q6 d* X4 m4 I
  971. ; H2 G; W! {; }/ _! E- _
  972. BULADD_PPU:) U; m+ B% W4 Y! e6 d
  973. LDX #$00
    6 t, D  B7 E" U
  974. LDA #$62# a; m* ^5 L9 C3 X$ `
  975. STA $BA  O1 p  O. p8 a# G$ M- e) E
  976. LDA #$21: Z$ T6 Y, C4 T# ?9 c! s# _
  977. STA $BB
    . z  l1 }: v* r0 Q) g& e' b4 R

  978. - h! z8 f- o" M- H1 J9 e0 J

  979. . s/ ^# h+ I* v
  980. JSR UP_PPU
    7 M' N2 G: {6 v6 D4 o* d4 y/ ^% }% P
  981. JSR BULADD_WRITE( u/ E, q: W# \/ E4 M# e! ]
  982. LDX #$00
    $ Y& _! s# a6 Q% [
  983. LDA $07A26 d5 {2 z8 u7 x$ s
  984. AND #$01; S) j% P4 B8 K2 ~4 i
  985. JSR ON_OFF_PPU, U* e6 C" W* G( }; y6 Z$ ?1 l6 J
  986. LDX #$00
    7 F0 a/ ]) v% }" f* t$ Z7 a
  987. LDA #$71
    6 L/ ]+ B" S) i+ H" D. H, x
  988. STA $BA
    6 z$ N/ [6 d# s% g1 o
  989. LDA #$21
    ' j; V& g3 K( J, H( {% V/ H
  990. STA $BB5 V* W/ Y6 o$ f- I' W

  991.   k7 K% c1 j# s- {8 F- J

  992. 4 l  W4 x( X/ S( ]* w7 \. l
  993. JSR UP_PPU2 T$ i% W- H4 V, v0 f
  994. JSR BULADD_WRITE2 T, w- q. B- W, _) D  h: n
  995. LDX #$00
    6 u5 \. o0 h" D5 Q0 A3 f6 t8 y% ^
  996. LDA $07A3- w$ G. E! o- z8 A. y$ D
  997. AND #$017 {4 q) ^; j5 N; B! N
  998. JSR ON_OFF_PPU
    ) k* Z, _. \" w, g3 g! U; M
  999. RTS
    0 b7 }, k8 x; `' M

  1000. 9 b( e  z3 k+ ~) g$ N
  1001. MENU_PAGE_STRING:: U$ T1 w. o; `8 G& n+ g% p
  1002. .BYTE $97,$8F,$98,$9F,$80,$9A,$8B,$91,$8F,$80,$81
    3 O. A2 O& e2 h2 a  U# H
  1003. 0 s' |$ ?+ X( Y2 w) J9 S8 Y
  1004. PAGE_PPU:5 [" E4 I# a9 e
  1005. LDX #$00
    6 c9 U2 G. J. L; t
  1006. LDA #$0A
    ) |8 |5 z7 v. s# Y3 @
  1007. STA $BA
    7 T. q4 ?6 u7 }9 p7 D  P1 U
  1008. LDA #$23
    # {7 R; @$ C, ]3 _( q+ G
  1009. STA $BB" v- ~; X6 I# ]1 [
  1010. . U% c6 U+ o/ S) Y
  1011. 1 `- e( r4 X( Z0 F" ~
  1012. MENU_PAGE:
    4 X7 o5 E* M8 M4 w# A! K, w+ C
  1013. JSR PPUADDR_PROCESS
    7 J- m$ L- B, x/ h( A$ Q
  1014. LDA MENU_PAGE_STRING,X  Q9 _" Y  U3 w5 O9 h4 _$ ^
  1015. STA $20071 y4 |; [- K; h; J, I0 `& E7 s* r
  1016. LDA #$000 j/ h& |  b; ?3 |, E
  1017. STA $20009 i2 L3 Y8 v. J7 A+ h6 S
  1018. INC $BA
    - n. f3 I% h1 ^/ E' Z
  1019. INX0 z# b/ y" y6 Q6 @% |' v2 r3 n
  1020. CPX #$0B; ~: O+ R+ ^# R8 s+ t; Z1 w
  1021. BCC MENU_PAGE
    5 D: h/ O4 Q6 m! D* V' L2 Y
  1022. LDA $07AA6 h' z- U* b! v6 v5 B" Q2 D/ V
  1023. CLC4 ~2 p" @% \! K# E5 u7 X
  1024. ADC #$82
    6 ]3 p, j! ~" T, X- ?5 l0 G
  1025. STA $20071 \& l. F) Q6 g" l4 ]' f
  1026. LDA #$00; W! j; O& B( z4 M
  1027. STA $20002 @  T9 \. G+ Y1 w
  1028. RTS
    5 Z- C( R; v4 m& @

  1029. + h6 \9 z$ t1 |6 Y1 k2 K: q, {
  1030. # S* o! I$ W4 x0 ~0 @
  1031. SKINGE_STRING:; P( j+ z7 y( W' {' U* U
  1032. .BYTE $9D,$95,$93,$98,$91,$8F,$80
    2 b6 E& `! u( i4 a& O" s

  1033. : Y( Y) Q, J* t6 ]8 W( |
  1034. SKINGE_WRITE:( h5 X5 E/ A1 f5 F1 ]1 k1 `
  1035. LDX #$00
    . m7 A* s. b% N) Q% D2 [2 i3 W
  1036. SKINGE:3 B9 m5 e3 K3 p4 T) J# P- r
  1037. JSR PPUADDR_PROCESS
    ! z; n: g, g9 t7 ]
  1038. LDA SKINGE_STRING,X
    : J7 X  e! |) {; B8 v
  1039. STA $2007
    % l7 g- C5 [5 U3 U) Y
  1040. LDA #$00+ _9 o4 o) U6 ]9 i. N% Z
  1041. STA $2000
    % {. p" K' p4 G1 N
  1042. INC $BA/ o3 W& V. I4 W9 i- k7 S8 j! ~, H
  1043. INX
    + l7 u5 @) o$ F: g
  1044. CPX #$07
    1 v5 V9 [3 F7 J5 U  N/ {! L2 v
  1045. BCC SKINGE
    ( H  Z( n4 i$ i: L
  1046. RTS9 G& F: ~7 e& ]8 f0 `+ F

  1047. 7 a2 O; F4 r% f8 l. H4 P- }
  1048. SKINGE_PPU:
    ' p% Z+ ~% o9 f6 s7 `
  1049. LDX #$00
    ( k3 [$ G. J) a1 d
  1050. LDA #$A2( f7 p) b' B( m# X: f1 E
  1051. STA $BA
    . s: ^' d# n# C0 m3 ]5 M0 F
  1052. LDA #$21
    8 h' u0 A! C0 B, G  d
  1053. STA $BB
    " r3 y7 j7 E5 g

  1054. $ D1 u' |) L, v8 p7 t

  1055. , H% T' \  j3 b# z; f
  1056. JSR DN_PPU) [3 K0 b/ C/ U: N3 M0 m
  1057. JSR SKINGE_WRITE/ x4 d4 C& O0 i& B6 F% W$ ~
  1058. LDX #$005 W+ h4 G( p+ t; a& [
  1059. LDA $07A2! Y$ x1 }2 q$ Y
  1060. AND #$022 ?# o9 r; K1 @  u
  1061. JSR ON_OFF_PPU1 m' `- f5 N# R% F& O8 u& ~' r& q1 d
  1062. LDX #$00
    ( h+ ]$ L; T& h6 ~. `
  1063. LDA #$B1
    7 j0 E% }5 {7 z! s
  1064. STA $BA
    2 C. y; t' }7 V( [) {/ _# ^
  1065. LDA #$21' `( a9 G- D/ d5 y
  1066. STA $BB' R9 @8 M, [% F# o$ }5 b0 x0 m
  1067. % c; P$ F: @+ ]9 i1 o+ O# D

  1068. - ~- t  r3 ]* h/ |  t( n) d- Q
  1069. JSR DN_PPU, [8 X0 @7 V4 L$ O
  1070. JSR SKINGE_WRITE
      D/ g8 v6 ^* D) i/ b4 P# n, q& m
  1071. LDX #$008 {2 R1 ~0 |2 [) t/ M
  1072. LDA $07A3
    1 Y4 r' t7 P( ?2 e/ S; x
  1073. AND #$02+ v0 M- v' o/ Y5 r% F9 b+ l
  1074. JSR ON_OFF_PPU- I/ ]! E$ y% d/ x3 q  N- d9 F( z
  1075. RTS9 f/ W9 }# |; [+ k8 F2 M/ s$ ?

  1076. & Q2 j# l; f2 M( c: a
  1077. BULMIX_STRING:3 c$ J6 O, [+ s
  1078. .BYTE $8C,$9F,$96,$97,$93,$A2,$80
      ~7 K! M5 U: H6 @
  1079. $ r9 X, n; Z& L* [& e
  1080. BULMIX_WRITE:
    0 H4 u, w6 x; o; Y* o
  1081. LDX #$00; d, t# R% E; V3 _% Q
  1082. BULMIX:9 m1 c5 I3 v0 q$ p; j3 O* N
  1083. JSR PPUADDR_PROCESS
    $ o% h9 [1 |* b4 u6 P. B' B+ r5 g; ]
  1084. LDA BULMIX_STRING,X
    8 d7 O8 B4 r7 D, z
  1085. STA $2007
    6 q0 L; I  r  [8 u2 @
  1086. LDA #$00; C* s# U2 `- O, f' L9 B5 y
  1087. STA $2000- \7 I) m9 G" |1 i
  1088. INC $BA
    0 Q3 @/ y) ]" [; |4 T' E8 v
  1089. INX/ ]/ L6 O( u2 B  Y' }& ]) O; B
  1090. CPX #$07: [2 ?6 E/ k. J: B
  1091. BCC BULMIX
    2 t' l2 |. N3 U" I$ n( u
  1092. RTS
    ! ^" s* w- ?# O$ |& I4 F
  1093. 9 Y& G& T. S, {9 D: k
  1094. BULMIX_PPU:
    ' h/ V# D$ g- G& d, P" Q7 {1 Q; E
  1095. LDX #$00
    1 I. }. p3 S7 O
  1096. LDA #$E2
    ; v4 S0 [, i; @, d* p
  1097. STA $BA
    ' L- @0 w) N* b
  1098. LDA #$21
    $ h" }2 t* T9 ]9 q
  1099. STA $BB
    - D' F4 C' |$ o) _
  1100. " @0 l. V  {! b
  1101. + r& l$ \; D' q, N! b7 t
  1102. JSR LF_PPU3 {, Y( B2 k0 }
  1103. JSR BULMIX_WRITE
    3 C: V0 |# B4 p) s' C) p6 c2 O3 X
  1104. LDX #$00# S6 h: |1 U7 j' J! t" r8 u
  1105. LDA $07A2
    ! M( b) F. R) u1 A4 z: ~3 o$ h# s
  1106. AND #$04- v* o3 \2 {! `
  1107. JSR ON_OFF_PPU) m, B4 C, H) s3 Z+ U/ W# t& o
  1108. LDX #$00
    5 U5 g" N5 N2 P2 a& X; S9 v
  1109. LDA #$F11 b1 a/ ]; T& T$ N# L- z
  1110. STA $BA
    . j7 q9 g' i! C7 s; {! D
  1111. LDA #$21
    " M' W2 r1 x" {$ l, a
  1112. STA $BB
    : t+ c: Q/ V( U& x# s
  1113. + N5 W5 E" |1 x0 k; _# h7 {' N
  1114. ) \; c1 R9 {* M* u. b
  1115. JSR LF_PPU3 g2 d; X8 n. f  L5 O
  1116. JSR BULMIX_WRITE0 ^# @! L- s& _1 j: n7 `9 w* x" ~! \
  1117. LDX #$00- @# s6 O8 M6 W1 N- i# z  d
  1118. LDA $07A3
    0 i* Z8 f$ m2 m" O! v& ^
  1119. AND #$046 k; g% P  \/ _- _; o! ]
  1120. JSR ON_OFF_PPU/ q; [& u: M! a/ _2 i7 A
  1121. RTS2 }  r8 z$ T3 M) B

  1122. . e$ L, M, d( K% E7 Z- W/ r7 S
  1123. ENELOC_STRING:' `  Y, ~2 [( h. d' p
  1124. .BYTE $8F,$98,$8F,$96,$99,$8D,$80
    , V/ V1 i7 ^/ u( [4 q
  1125. ; i0 ]' l! C% f9 @
  1126. ENELOC_WRITE:/ ^- [) _3 I; k  |1 X
  1127. LDX #$009 e7 r- G- w  ?! g9 l# l' m
  1128. ENELOC:6 N" h1 d5 R( }6 F
  1129. JSR PPUADDR_PROCESS/ ]4 J7 O# x' [7 M2 ^1 {
  1130. LDA ENELOC_STRING,X
    8 A- Y1 k, }) t5 ]/ A! d5 `
  1131. STA $2007/ x2 R- ~8 r3 o4 m  E1 T' F
  1132. LDA #$00( V! [8 o+ e6 R  S9 M
  1133. STA $2000
    2 G! F# s! @# l+ `( F% `% U) _
  1134. INC $BA
    0 U; o1 X( r  f/ y, e$ \/ Y" I
  1135. INX
    & b3 O& R3 X) X  J9 x3 w
  1136. CPX #$07
    ; k% |* ?  f( b! j3 O: l8 K
  1137. BCC ENELOC
    - q, l2 x8 Y1 {- }9 ?) I$ R7 }+ A
  1138. RTS
    5 n2 D, Y* g9 C) Y$ ?& [

  1139. & ^9 a' r* N. O7 X* c  I
  1140. ENELOC_PPU:. w8 `2 v$ e% r: _# B
  1141. LDX #$00
    " e) Y9 ?4 {3 U* ^& m
  1142. LDA #$22
    & L1 `& @; ^: C4 t1 W( b3 L
  1143. STA $BA% F9 O5 |+ W, E# E% A4 v
  1144. LDA #$22
      M1 h' l2 H+ b+ ~2 \2 b3 w
  1145. STA $BB
    + p& H& W5 G5 N- y: @9 t6 x4 s

  1146. 9 I* C/ T- H& \
  1147. 2 }. W0 x$ u4 A- y/ S
  1148. JSR RG_PPU
    & ?$ g" p- Z5 F6 v4 x: A* l/ }/ p) V
  1149. JSR ENELOC_WRITE/ E; d" W5 I0 L9 m
  1150. LDX #$00
    % @' @/ f3 E, |* r
  1151. LDA $07A26 O8 t8 |8 @/ A$ ^, n- z3 W2 O
  1152. AND #$08
    , X) t+ g# ^+ {: V4 Y5 N) @% O6 E
  1153. JSR ON_OFF_PPU
    ) W& c& X. G4 g
  1154. LDX #$00
    ; j: C8 k/ }3 D
  1155. LDA #$31! k% n8 d! t7 E, P6 Z- }0 O4 s
  1156. STA $BA5 x. ?1 G+ W+ K  F9 j7 O
  1157. LDA #$22
    ! N7 s- O2 ]4 t: t
  1158. STA $BB
    + j7 n0 C0 }; r
  1159. 9 \" u9 p1 F! S8 m; P
  1160. 9 @8 X7 |/ R1 k& Q
  1161. JSR RG_PPU
    - R' _+ Q. f# v3 g. d
  1162. JSR ENELOC_WRITE0 e, q* x& j1 U8 i( Q
  1163. LDX #$000 ~9 j+ _( j% M) O
  1164. LDA $07A3+ ~+ w8 G/ z% k/ q% t& k) ^
  1165. AND #$08
    * r3 |9 E1 E1 |% B$ f& u. Q0 b4 V0 f
  1166. JSR ON_OFF_PPU. l  B. B" q7 d$ X/ P" g# F% m
  1167. RTS! ]; p0 E6 C# `' T' a( {$ c

  1168. * b$ `6 f" n0 p; z! f
  1169. FOCFUL_STRING:+ P6 Y% b9 T1 ]$ |- I& S; p
  1170. .BYTE $90,$99,$8D,$90,$9F,$96,$80
    4 }, i: j# |+ o8 p
  1171. 7 S) g! m  K0 P% ?
  1172. % y3 m# C+ h0 [' A7 Y1 i. y
  1173. FOCFUL_WRITE:
    4 p1 a& ~( @/ k
  1174. LDX #$00* ~' Z! Y; M4 k; o
  1175. FOCFUL:5 ?! c" v7 J+ u+ b6 O6 L
  1176. JSR PPUADDR_PROCESS
    # ], b: [6 p3 B/ m
  1177. LDA FOCFUL_STRING,X: i' d* V2 \" q) C8 ?0 d
  1178. STA $2007
    + ~. ?* s- ]5 @: A9 t2 J
  1179. LDA #$00
    + B9 c) E  |- ]7 Q; J# _1 `9 r$ g
  1180. STA $2000. z8 @2 @& q% ]5 z8 ]3 y& ]
  1181. INC $BA
    # G8 K6 x$ X2 J+ K8 L
  1182. INX
    & ~5 z, T. h1 I7 j# F
  1183. CPX #$07- q9 X, ]1 _" r
  1184. BCC FOCFUL5 w- q4 U- m3 R
  1185. RTS: h7 R8 d5 C+ j& \

  1186. % z: Y/ e: |& q, A# f. {, H/ h
  1187. FOCFUL_PPU:
    ) a; p( ]$ J# T9 s% T. _
  1188. LDX #$00$ e; ?( x7 x. C) K" g8 a) P: l. v
  1189. LDA #$62
    ) E* b. {7 E# g  m/ K7 j# {  b* F9 [
  1190. STA $BA
    4 s2 G* P% T8 V& y1 K" a
  1191. LDA #$22
      z, X# Y" B( _$ g0 W$ F( G
  1192. STA $BB
    6 \8 u# |( j1 _. }) h, O

  1193. ! u( P; ^4 ^" O. n; }( a7 d

  1194. ; Q: z1 |0 ], `( ^) x4 S
  1195. JSR B_PPU2 M# Q, Z/ k2 q, I$ h" Y9 M; y
  1196. JSR FOCFUL_WRITE7 i! {* O& \& d1 d" }/ P: w/ `* |
  1197. LDX #$00& v8 D+ e* d. Q) C
  1198. LDA $07A2
      v  A& {& N% O5 ~3 e' X0 a9 ]
  1199. AND #$100 A* t2 F2 I4 ?" ^
  1200. JSR ON_OFF_PPU
    : W9 d1 y0 q" ?' K" z0 c8 K% k$ I0 _1 t
  1201. LDX #$00. \: j/ G) w' G# M$ }
  1202. LDA #$71
    0 z& u) o3 u1 P
  1203. STA $BA$ g+ V& l$ }! E- M6 `8 d
  1204. LDA #$22
    ! J$ d! t; ~6 ?7 ]% g
  1205. STA $BB
    : C  g( O' u0 b9 ?6 s" H

  1206. , {" |. R2 U6 s+ J* d1 Q( L

  1207. : q! P$ ~7 [7 `
  1208. JSR B_PPU
    4 y- o/ ^* U( E8 m% C. t$ N8 [
  1209. JSR FOCFUL_WRITE! B( {+ L; d/ P+ F, }
  1210. LDX #$00/ X- z  D! l/ Q$ _9 J
  1211. LDA $07A3
    - f8 W3 z7 n3 [, ~: u8 Q
  1212. AND #$101 R3 Y" A: l, i. j% _9 g
  1213. JSR ON_OFF_PPU  H$ t9 y1 z# w* T( A( }& h
  1214. RTS
    " L4 ?7 ~2 U. y

  1215. 9 D7 j% N  t' O
  1216. BULCON_STRING:
    2 L* [  G4 [1 _' C3 v) A1 r4 K! z
  1217. .BYTE $8C,$9F,$96,$8D,$99,$98,$80
    4 G( d; W/ b% C/ |# g  i6 M9 I

  1218. $ V- ?! ]7 E% Q' j
  1219. ' L& N6 `1 v) y# r( k: C
  1220. BULCON_WRITE:
    + I# ?0 z5 u) X% {3 V
  1221. LDX #$005 Y3 F+ `9 i4 q/ W. h* h% F
  1222. BULCON:% |) ]% ~2 e% a
  1223. JSR PPUADDR_PROCESS$ P1 U2 V8 o7 o$ C; V/ J
  1224. LDA BULCON_STRING,X
    % O' G6 c% Y& V
  1225. STA $20079 u- d6 |9 f5 ~! u
  1226. LDA #$00/ m/ o+ G( r$ [  J7 f3 e9 `* R
  1227. STA $2000
    ( F. ?" _( O, h) p; M
  1228. INC $BA- d# U- b9 T% {& W1 h6 Z
  1229. INX
    6 }& a* {( @5 R1 c- t
  1230. CPX #$07* ^/ I4 ~7 x  S/ I* {, Q" h
  1231. BCC BULCON9 t1 l/ _+ J3 F( n; A0 O# w
  1232. RTS
    4 T" n3 ?- k9 G: b: U, K0 `) F+ j

  1233. : p1 {+ u0 }! D0 q) [, w
  1234. BULCON_PPU:
    ! F( }5 f- t3 C9 U
  1235. LDX #$00
    * K% p9 {, B6 E1 _( X
  1236. LDA #$62
    3 P  s. |* R6 N- Q) k' L) q" `; A& b5 l
  1237. STA $BA' q, J& R$ s3 r- O
  1238. LDA #$21. _$ _+ `; H- a1 i
  1239. STA $BB  `: f' f2 C$ ?: m* C
  1240. / M+ \/ J1 H# y2 w* v

  1241. 6 H3 |: a) g' H: K. n# }
  1242. JSR UP_PPU
    ( r# W5 n; U# f
  1243. JSR BULCON_WRITE2 C2 p$ ]2 Q' H6 ?
  1244. LDX #$00+ r" c* A! \* {' E+ {  B* j; c" s
  1245. LDA $07A4" O9 h/ u+ R0 y
  1246. AND #$08; |& `6 d+ s3 x2 k( B8 K, {  S
  1247. JSR ON_OFF_PPU4 h) F5 W- \4 ], Z4 d9 ^/ x6 p
  1248. LDX #$00. \9 S! ^8 I9 q6 F' g4 u4 s
  1249. LDA #$71+ n, T3 K4 `% M& [0 f
  1250. STA $BA
    ) Y% E" G  t, o8 U/ ]# c6 O
  1251. LDA #$21
    ' N5 u- E* q) _" _9 C$ W
  1252. STA $BB) U; ~) f* k9 _5 U) B) z
  1253. 9 }& K- j5 K  R. U* {
  1254.   W. _3 `2 P$ k- `/ o. v8 P# p+ s
  1255. JSR UP_PPU0 z* c" \/ P# B- k
  1256. JSR BULCON_WRITE
    : A' Z' K1 `7 J- @- ?9 N: T
  1257. LDX #$00
    " l3 k. K4 l# f$ U
  1258. LDA $07A50 C  O/ G5 D& E7 w4 _* {' _
  1259. AND #$08
    " ?- D" a, J/ `2 f
  1260. JSR ON_OFF_PPU
    7 f' V0 i* R; B. u
  1261. RTS
    - ]" ?, b4 O5 g9 M3 P

  1262.   u1 j& z' O* a' q2 k2 X8 a
  1263. SPEBUL_STRING:
    4 q( N4 [( C2 o) a# @
  1264. .BYTE $9D,$9A,$8F,$8C,$9F,$96,$80
    . Z) @4 T8 T2 d. X7 \  Q; y
  1265. 8 G" L2 @* K& F" P

  1266. & t, a7 V/ V6 |7 u1 e3 I
  1267. SPEBUL_WRITE:, L$ E1 E& O3 ?9 r6 H) m* B
  1268. LDX #$00
    ( m' w' {" ^3 w* T* C  i+ @, ]: `
  1269. SPEBUL:0 B: E$ k2 d3 r. j0 p9 y+ Z
  1270. JSR PPUADDR_PROCESS
    4 J4 d7 W. Y, X1 g$ ]& X; k
  1271. LDA SPEBUL_STRING,X
    # [- v5 V" ^& z
  1272. STA $2007
    6 `  J6 V. K8 a' _7 M
  1273. LDA #$00* v% J1 M" m# K# {
  1274. STA $20000 U" N4 T) v% l0 e4 f/ g
  1275. INC $BA8 W/ a& u0 C4 Q0 W+ d
  1276. INX
    3 g2 w% v: P: [' {" Q& C& j2 C
  1277. CPX #$077 D  U8 `! x2 S. ~+ b
  1278. BCC SPEBUL
    5 e% _0 e& |4 X6 m
  1279. RTS; }1 t; U2 w& L, ^

  1280. 2 m! X) L3 s* c/ O9 T" a/ m
  1281. SPEBUL_PPU:
    " f7 ~  _1 U/ f
  1282. LDX #$00
      \1 C3 v- X! }" r
  1283. LDA #$A23 c9 Q# l& U) d: O9 t
  1284. STA $BA$ R0 s8 z5 o, G, Y# K' ~, K
  1285. LDA #$21# r! `& P" ], K: K* j9 A: U
  1286. STA $BB
    8 S6 Q8 W; W: Z  M) n; H; c1 F
  1287. ' J5 L- w! i( a3 N
  1288. ; M; {5 V- s+ G$ i
  1289. JSR DN_PPU  I  Q- A+ q' O# a9 ^4 c9 p
  1290. JSR SPEBUL_WRITE$ H9 Y. o7 m1 ^
  1291. LDX #$007 A3 w; R3 D& J0 [
  1292. LDA $07A4
    , O" Z' G, r: B. C
  1293. AND #$02
    9 V1 _& X. a3 c  `! c+ K1 V( x: J
  1294. JSR ON_OFF_PPU
    ) \' ~0 b: B- c- @2 [1 a
  1295. LDX #$001 p& I7 U1 K. X
  1296. LDA #$B1
    8 b4 `" q, s2 [& x' Q* k1 M4 k* ^
  1297. STA $BA; f* S/ r) l5 R2 T9 o3 y  O
  1298. LDA #$210 R5 E- D* N7 p: k7 j0 w
  1299. STA $BB6 ^3 D2 ]& X; B% `, O) [* ^
  1300. ' J, u# `$ s" ~4 e2 b- A
  1301. % |; \! o/ K1 h1 ^' z( u' \7 e; ?6 X
  1302. JSR DN_PPU$ S' G6 t: O7 m# g% {7 |
  1303. JSR SPEBUL_WRITE! M: f( B9 s: l8 i
  1304. LDX #$003 p1 J- x# X. n, a
  1305. LDA $07A50 \& T. g& D6 c1 O$ u, e; K- y8 b
  1306. AND #$02
    1 z0 @. |, z4 I6 p9 i
  1307. JSR ON_OFF_PPU0 g' L0 T* h9 R
  1308. RTS
    1 V, M  M' h8 C' ?0 G9 w2 [9 v
  1309. 2 z  u! n9 j- o1 I% g6 Z
  1310. .ORG $A500
    ) ?0 n. D7 W1 r; e$ ?* h& J: }. T
  1311. CLEALL_STRING:
    % a4 N% @- b7 H# i$ Q" T( D4 n
  1312. .BYTE $8D,$96,$8F,$8B,$96,$96,$80
    # N# A' P* V. I7 i

  1313. 3 e# ^: A2 i3 F. T
  1314. / a0 |  Z9 _9 r# S+ F: J
  1315. CLEALL_WRITE:
    : M( ?, p7 v8 ~) s5 }8 s
  1316. LDX #$00+ U- _" E  s# d: j
  1317. CLEALL:( Q- F9 C0 f, e1 O" P6 w
  1318. JSR PPUADDR_PROCESS
    9 |7 g8 \/ i! _$ L7 J5 C
  1319. LDA CLEALL_STRING,X' S: L- F( b5 J$ A
  1320. STA $2007
    % I$ {# c. z+ k* y
  1321. LDA #$007 Y4 V5 ?" C7 Z) W6 q4 `( K5 ]/ Y
  1322. STA $2000) o8 ^* A1 }# C6 j: J
  1323. INC $BA* q1 b* M* S) X$ a1 H' T! b/ d
  1324. INX
    . k. ?" w9 L# O! ^
  1325. CPX #$072 M4 a7 B" Y0 A& a/ Y
  1326. BCC CLEALL" I; t4 [) X, W8 z. A# x, F; L
  1327. RTS. i* m3 A) A" U% \  @- R) o

  1328. % R2 X4 l! n* V7 K- s6 T) S
  1329. CLEALL_PPU:
    : P7 ]2 C, I/ h7 N! t+ p+ t3 N: S
  1330. LDX #$00# [6 `/ Y1 x! d% b
  1331. LDA #$E2- P& |( O# z# L4 F) S% \; w- z
  1332. STA $BA
    " T7 _2 G# z4 s( N2 X9 j
  1333. LDA #$21
    * m1 Z7 l$ q8 [& T$ {
  1334. STA $BB
    ' c6 Q. u1 }# }6 V1 Y7 q# S
  1335. 6 w) M" e  t+ k& ?5 g

  1336. 7 d' T8 k2 X- C8 Q6 x
  1337. JSR LF_PPU' y* y  u/ R( x* l! _% l' }, s
  1338. JSR CLEALL_WRITE
    - N8 z' }& E1 w% W" e+ n8 h
  1339. LDX #$00
    % ?( M5 }1 k0 z! c0 L/ P
  1340. LDA $07A4- H2 i, x2 P/ J, W$ }/ k2 `$ Y
  1341. AND #$048 a$ P! X+ W7 |$ w, ]
  1342. JSR ON_OFF_PPU1 {; Y2 y" i9 X- \0 T/ o' Y
  1343. LDX #$00) l. O4 F5 z/ g! f5 H4 y- X$ Y
  1344. LDA #$F1
    6 C( v2 y8 X/ z3 b; z& w# M% ~
  1345. STA $BA2 a: Q7 V' t: m3 ^1 c# {
  1346. LDA #$21# }7 r) x# ^+ c  e$ ]
  1347. STA $BB* b7 N/ y. y1 m- F* j: x3 o& F' J
  1348. / n0 C+ N* F8 g. A  I" j

  1349. $ G% _9 s  s& p8 a; z
  1350. JSR LF_PPU% V  ^& ]8 B5 m1 K; [# G
  1351. JSR CLEALL_WRITE
    $ ?9 t& \- @2 t
  1352. LDX #$00# @; u4 h) G, @% P5 m1 Z
  1353. LDA $07A5( z1 y4 N; a6 P& z6 T# q) l# z' G1 a6 C
  1354. AND #$046 T1 H" u; z3 [- l
  1355. JSR ON_OFF_PPU. n( [7 r( ]2 h. e
  1356. RTS
    9 t2 V5 {9 l6 k2 @3 W1 C% K& }

  1357. 6 p/ `( w& q3 f8 V
  1358. HARDMODE_STRING:
    : e* _* E' k7 o. M
  1359. .BYTE $92,$8B,$8E,$97,$99,$8E,$80  M/ R' @4 D5 R6 I+ m
  1360. 4 z! [( f$ M! s1 T8 T

  1361.   l" E3 [* h8 Y! n0 \
  1362. HARDMODE_WRITE:3 u9 F! C. @$ D" i  Y9 r
  1363. LDX #$00
    3 J0 p$ ?, F$ P( R
  1364. HARDMODE:
    3 A: _+ h. z/ r5 J7 B; X; B
  1365. JSR PPUADDR_PROCESS' L5 _% f5 ^9 r
  1366. LDA HARDMODE_STRING,X4 \5 [$ |% s3 o3 _2 d$ \3 D
  1367. STA $2007% y. Y% F4 _) Z$ g* e
  1368. LDA #$00
    3 b8 X$ C6 H6 s
  1369. STA $2000
    / C0 f9 `) A6 _, ?  B6 w3 N. X, ?0 Y# f
  1370. INC $BA
    9 s) t- e9 H' n
  1371. INX
    - P1 V8 v, m/ @
  1372. CPX #$071 X  p$ U- f( ?* V0 _2 Z8 r
  1373. BCC HARDMODE" t# E, Y7 ^: f
  1374. RTS
    6 K0 E1 }7 M. F  R

  1375. ; b8 l# J$ e' W! C" z
  1376. HARDMODE_PPU:
      B  ]1 G( U0 \  e* t& x
  1377. LDX #$00
    % z# [. C9 X* ?8 v
  1378. LDA #$22
    * c% ~  T% j' p
  1379. STA $BA
    # m% b) L" C; a1 _2 A
  1380. LDA #$221 ~4 z' _$ U6 s) K3 x4 H9 R
  1381. STA $BB
    2 I6 z) `& r; e$ V
  1382. JSR RG_PPU
    5 C1 m4 L1 s% @; E$ L( v3 d* P  o. {' w
  1383. JSR HARDMODE_WRITE' L! N  ]7 n$ C5 K) T) D
  1384. LDX #$005 C; v* |7 v! `; \% o/ m
  1385. LDA $07A49 K0 Y9 t% W  k% s) A8 H8 K6 C
  1386. AND #$01
    1 @% ]7 {$ r6 _+ F8 L! U# j& j
  1387. JSR ON_OFF_PPU4 w  Q& s5 O2 e! U
  1388. LDX #$00
    ) G! ~# z; o! f5 D4 s3 ~0 v
  1389. LDA #$31
    7 Y0 v" q, z7 J. P. s
  1390. STA $BA  s7 F% H) S% i3 k
  1391. LDA #$22
    8 K& c# b3 o1 s
  1392. STA $BB
    ' _' i5 o4 Q  f. _. t3 y) c8 ~; e

  1393. 1 y9 O2 f9 G# G; b; _6 V* l3 {0 T
  1394. . e+ ^% a- ~9 e
  1395. JSR RG_PPU
    * X+ ~/ ]7 h" `" _1 F: ~
  1396. JSR HARDMODE_WRITE
    6 R5 S$ \8 V# h5 H2 K
  1397. LDX #$00- O: H# @1 T- M2 Q+ G' ?( `7 ~7 @
  1398. LDA $07A58 B0 X, ^1 q) c" }- g- {1 m
  1399. AND #$01- x  S. B. B5 ~" X
  1400. JSR ON_OFF_PPU5 o+ A, I6 w3 H! t' Y8 b
  1401. RTS( {) U; R1 q. n1 @) E

  1402. 3 L2 \+ Y9 d8 ?4 w, T1 D# N
  1403. B_TO_JMPSTG_STRING:: g* M* R# k1 B$ h1 C5 [. F7 j* Q
  1404. .BYTE $80,$8C,$80,$9E,$99,$80,$94,$97,$9A,$9D,$9E,$91,$802 A2 ?" |7 ]( h) ~& ^
  1405. 3 J: a3 N' |$ i0 Q9 A" o2 c* w
  1406. & u% o- _- ~6 A$ n! T% }: z  v
  1407. B_TO_JMPSTG_WRITE:: V1 u# M7 o" f$ @
  1408. LDX #$000 U0 n1 [% r% k7 O$ i
  1409. B_TO_JMPSTG:
    1 v9 G4 y1 {) Q, L% s
  1410. JSR PPUADDR_PROCESS9 u, W- S% k0 l; ]( y
  1411. LDA B_TO_JMPSTG_STRING,X
    & i- r( m' t, [0 p
  1412. STA $2007
    + m4 P) w. J7 c8 }% G& z. l
  1413. LDA #$004 k$ ~8 r/ v: h: n
  1414. STA $2000
    3 X: a- t! ~8 [; Z4 h& d
  1415. INC $BA' V' w0 n" L/ \; h( v- l0 z  N
  1416. INX
    ) N8 M4 E: ?, l0 a2 {/ l
  1417. CPX #$0D
    - U; g  I; y  n% ?, B
  1418. BCC B_TO_JMPSTG+ J3 ~2 F9 _/ R8 c/ G3 j" q
  1419. LDX #$001 @1 h: X; m' d$ M4 R
  1420. LDA $7FE0
    8 U+ s. O  f( F# S8 D) b
  1421. JSR ON_OFF_PPU& [/ D3 {# Y$ }  R
  1422. RTS4 j- y" I$ [1 y. }& J

  1423. 0 P9 y& u" q- B! B8 O- F2 @+ C: R
  1424. B_TO_JMPSTG_PPU:
    ) O  l8 P! a( e
  1425. LDX #$00
    ) H3 H9 Z) `. A+ I% }% s. m( i* }
  1426. LDA #$68
    1 ]1 w4 R+ U, Z' R/ J7 y
  1427. STA $BA
    0 z3 r" d3 ], q$ O! ^
  1428. LDA #$22, S( H# ~* ]# W& l6 g
  1429. STA $BB; n) ^8 M$ ?( n$ `
  1430. JSR B_TO_JMPSTG_WRITE
    8 n# N6 @; P' Y6 q. s
  1431. RTS! ~# Y" F, B8 a" c' m2 d' C; U& u

  1432. ; E6 @$ F2 M0 I. [/ l

  1433. - `5 U  R$ q# F& y) v/ p
  1434. A_TO_PLAMOD_STRING:: _* w1 F1 b  e
  1435. .BYTE $80,$8B,$80,$9E,$99,$80,$9A,$96,$8B,$97,$99,$8E,$80  Q- d1 w: p% u; E$ ?
  1436. 7 k  t/ ]' p; m# B6 y

  1437. ) Z  E3 Q. h1 o8 S& z  M
  1438. A_TO_PLAMOD_WRITE:5 F1 x/ @/ a, ?. d- G3 v) D: r
  1439. LDX #$008 J1 q9 e9 L/ |0 `( K" `6 R
  1440. A_TO_PLAMOD:6 M3 i$ A% I9 |5 q4 Q
  1441. JSR PPUADDR_PROCESS& K8 Z6 `  t. m8 E( I
  1442. LDA A_TO_PLAMOD_STRING,X1 [  H# q- ~  S7 {: u! m
  1443. STA $2007- l. Z3 a& |. X. Y5 T% d
  1444. LDA #$00
    , ~/ w+ @. `2 n8 D8 |
  1445. STA $20003 a6 A3 d" u3 K5 B
  1446. INC $BA6 X* S1 k$ T5 Q
  1447. INX: f5 f7 ~) C2 G. @! u# ~
  1448. CPX #$0D2 ^8 g8 w2 a8 Z8 b6 C; U2 \3 S6 {
  1449. BCC A_TO_PLAMOD
    9 }8 v* D% s( }1 L6 H
  1450. LDX #$00* ]2 J, {( }$ `9 }4 [( ^+ V( `
  1451. LDA $395 c  \; s$ H9 U  t4 F2 L+ m3 o% B
  1452. JSR ONE_TWO_PPU2 c0 I/ O+ j! ]- y3 @5 B
  1453. RTS5 B& |# E( T5 b: {) e' a

  1454. 7 V8 h/ n9 Y7 ?: _
  1455. A_TO_PLAMOD_PPU:. w! X1 x# N) M
  1456. LDX #$00! ]: I8 s. ?4 s) v% r/ h) I$ G( ^( B
  1457. LDA #$A8, U) Z7 v: [+ y* f  n: P; ]) I
  1458. STA $BA
    0 |, Y/ k/ X& E& i) o7 g6 i
  1459. LDA #$223 U* N6 l3 T6 M% d1 J0 h
  1460. STA $BB0 _$ r; T, n' S9 q9 l8 g- @
  1461. JSR A_TO_PLAMOD_WRITE
    6 x) t' J/ D/ C
  1462. RTS
    : H& @0 S& U8 L8 T
  1463. 4 a) [: |) i, a5 x5 ?% {+ ~
  1464. MOVSPE_STRING:2 ]  ?' ~' H# k1 Y, Y2 H
  1465. .BYTE $97,$99,$A0,$9D,$9A,$8F,$80
    4 I- n: H8 Q4 [" r: c
  1466. " T, `% a4 T( v1 F* ~6 l
  1467. * r9 Q% w& L) ]) l1 f7 M9 ^
  1468. MOVSPE_WRITE:9 f# ?1 B- a/ e  R
  1469. LDX #$00
    3 i2 w7 a' p# x! U7 W$ E/ Q0 k) V
  1470. MOVSPE:/ M5 `# i* P5 M8 B& r
  1471. JSR PPUADDR_PROCESS1 H7 J( h7 h) F9 R/ T  Z7 R
  1472. LDA MOVSPE_STRING,X
    ' c6 C& v9 S  V! `/ o- u
  1473. STA $2007
    1 d% D# H9 t7 r1 k) \- E
  1474. LDA #$002 W' W+ w/ }" G
  1475. STA $2000/ H9 I' x/ S6 t1 Z2 m5 M
  1476. INC $BA
    - X" s+ I. g% }. }6 `
  1477. INX
    0 K5 J3 ?- f2 f6 a% B
  1478. CPX #$077 j4 {( V, }3 t8 @' Y  l3 D0 J
  1479. BCC MOVSPE
    ' H  }. n( k8 O3 Q, ?, p5 Q* s
  1480. RTS( n  Z8 O* J6 |; ~* Q8 I7 U8 X9 X

  1481. 4 z; Q( E" a0 F" m8 K
  1482. MOVSPE_PPU:0 m) |) {5 j. L9 C0 P( P
  1483. LDX #$00
    6 g/ v. }# I' Z3 T9 K
  1484. LDA #$69
    3 v. s2 {8 @1 D/ ]
  1485. STA $BA
    9 E3 e3 ^  y$ V  E9 G& I9 A5 R/ D
  1486. LDA #$21: H& O' N1 u# s7 \1 e. F) {
  1487. STA $BB' S4 S0 m  ?& |9 I
  1488. 5 D2 Y/ p( E! |/ Y

  1489. % R. H+ M' m/ }9 p5 R9 ?- E6 @
  1490. JSR UP_PPU6 y9 M" d% W) ]* R: c8 W2 \/ `& ]
  1491. JSR MOVSPE_WRITE# k9 E/ ]+ H0 R9 o
  1492. LDX #$00
    8 D! {+ @+ ^( }& G3 ^
  1493. LDA $079F
    1 T& }- p3 `4 b) ~# z1 g
  1494. AND #$089 J6 d/ B$ _0 ]
  1495. JSR ON_OFF_PPU
    9 Y" Q9 X% F. s' F$ l0 {. E4 p
  1496. LDA #$80* B( `6 J) j1 N) F
  1497. STA $2007; M; L; b9 m- V8 \/ C
  1498. RTS
    ( ^/ j' C1 [8 Q% C8 l& d

  1499. * V/ {9 M: M7 J& f5 \
  1500.   
      L# A% n, t3 m. Z# l! ~2 M, o
  1501. UNLJMP_STRING:% l% o# Y- x* a% e5 t
  1502. .BYTE $9F,$98,$96,$94,$97,$9A,$80
    8 @2 B' i% c1 E4 a- S. i# _
  1503. 3 u+ A2 i! h! M

  1504. 6 w3 |0 j7 O. `8 A7 [8 m
  1505. UNLJMP_WRITE:
    ' N) @% {5 o1 Y1 [8 j
  1506. LDX #$00
    # h, I9 R9 x* i2 k' y+ D7 H
  1507. UNLJMP:
    / z$ |# _& _& _; T. ?% r
  1508. JSR PPUADDR_PROCESS
    6 a8 z  V) E. F" s+ O, F! o! i
  1509. LDA UNLJMP_STRING,X
    " M# K5 I' C( n+ G' N5 [
  1510. STA $2007
    7 J7 H8 N, }! S2 G! r  L
  1511. LDA #$00: S) I" A& \, ^0 k$ Y/ K' G+ p$ s
  1512. STA $2000
    . n" B! _" W* J
  1513. INC $BA! C+ H0 s' V4 Z/ ]
  1514. INX
    ; n" d+ ?5 O( c2 N
  1515. CPX #$07) Y7 r0 R( j- O
  1516. BCC UNLJMP; t1 ?" \( A7 T( t
  1517. RTS7 G8 Q* ]' Y; n; ]- h; ~
  1518. 1 T5 P; q+ u* z
  1519. UNLJMP_PPU:
      A( R* n3 n' D& E3 w
  1520. LDX #$00
    8 F% M: z5 M. Q7 h2 ^
  1521. LDA #$A9
    9 o. r$ O) P+ b" n) B  U! G
  1522. STA $BA
    * x" L- p3 v  |* {' p% N) p' s) e
  1523. LDA #$21
    + c- S1 m2 b0 n4 Y, A
  1524. STA $BB/ k+ w" i# ^- t
  1525. . e* q9 q! }5 e' X
  1526. ( L- c5 R) i4 v
  1527. JSR DN_PPU: f  @4 s1 m6 K% Q; z5 N- i
  1528. JSR UNLJMP_WRITE5 i2 r  t3 ?. U
  1529. LDX #$004 g' u7 q6 L: D2 H
  1530. LDA $079F* ^' O2 N; [: `) D, @
  1531. AND #$04
    & ^" \2 E' J/ |7 a
  1532. JSR ON_OFF_PPU
    " W, F6 ?- U6 i- ~/ b; Y$ a" J! i
  1533. RTS/ E8 W' a4 w0 t! v% `
  1534. - `4 V7 K, ]3 ^+ p& T- H, f
  1535. # g) g' ~. ]' p3 [
  1536. DESTRO_STRING:4 b! \8 s. [7 z9 s( l- _9 _. T! e
  1537. .BYTE $8E,$8F,$9D,$9E,$9C,$99,$80, ~) m9 Q* n1 h" B9 Z( c
  1538. : E. A; s1 `: u

  1539. $ R# b+ r. K2 `! [# z( Q$ P- ]. D7 t
  1540. DESTRO_WRITE:
    ; M6 {& d2 G, k/ G
  1541. LDX #$002 u0 |6 i) q5 ?( d8 V( `  V* Y
  1542. DESTRO:
      x( ~* k4 i( Q  i# {
  1543. JSR PPUADDR_PROCESS
    : Y' }1 n$ G( w5 G5 Y. a
  1544. LDA DESTRO_STRING,X7 H0 y- q0 v6 t: I
  1545. STA $2007
    7 ^* J2 b: u% u- w
  1546. LDA #$003 O# Z- f" Z  A1 `
  1547. STA $20001 }8 G  z& m* G; m8 ?
  1548. INC $BA4 y: n# s# }: V% }8 s6 Y" A/ p: t
  1549. INX* V! `) @/ V# f0 g* F
  1550. CPX #$07
    6 P2 S4 {5 l' \
  1551. BCC DESTRO
    % y( |# Y" |# a4 U# F
  1552. RTS
    ) Z( b7 G! M1 _0 b3 t

  1553.   K7 C' p& q  |2 e& K
  1554. DESTRO_PPU:
    , V# T2 W  z- _& f
  1555. LDX #$00# m9 m6 T* p' {* x2 c( F5 Z
  1556. LDA #$E9
    6 I9 f# a, n+ O
  1557. STA $BA" V' F* P* R# `
  1558. LDA #$21
    * n5 b2 j( o2 B! f$ O- A' R
  1559. STA $BB/ C( {; S+ I  O' K9 i
  1560. 0 T  D' M. Y0 z1 D4 b" S1 @
  1561. 9 ^. w: h- F& D7 ^
  1562. JSR B_PPU- _' {+ X% {) _( g) h
  1563. JSR DESTRO_WRITE
    ( V0 `+ a7 e, k& G9 J* `
  1564. LDX #$002 O& `" y2 |1 t& w
  1565. LDA $079F' ]& o6 m" k" A' R' o* ?; A
  1566. AND #$40
    + ~7 x( R! W0 t
  1567. JSR ON_OFF_PPU
    0 L) ^) Q8 n) k# |( [- G8 ?3 j3 F
  1568. RTS1 H  N9 b$ a: C* y& X! t

  1569. ( A+ `5 V8 h  g: N: S
  1570. 3 g* L, Z: m8 m* o; ~: m: D6 t
  1571. EQUBUL_STRING:8 S4 w) k7 v9 T8 m& a
  1572. .BYTE $8F,$9B,$9F,$8C,$9F,$96,$80* S" I( i) `7 g' X
  1573. % ?7 |: @: z) q8 G3 }- ]# R. n

  1574. ' V2 X4 ]3 [* S1 H8 m$ Y
  1575. EQUBUL_WRITE:5 C+ J4 w: k' X" C0 U" c- O
  1576. LDX #$00% K8 w4 p2 h/ W* [8 u0 M3 V7 g1 z7 v
  1577. EQUBUL:
    # Z7 I. q9 D# P9 q
  1578. JSR PPUADDR_PROCESS
    , V: w* e9 ?8 C5 d! X  l: j
  1579. LDA EQUBUL_STRING,X
    & E# c; h3 d, I+ {
  1580. STA $20071 T2 n0 ?  C5 K' ~) G6 @# A1 h8 \
  1581. LDA #$000 C( `- H- u  e% U$ M
  1582. STA $2000# i& S) I) z' f. N) ~4 J
  1583. INC $BA
    + E+ e. A: U. }) `/ b- Q
  1584. INX: F; p3 k' {9 D: C
  1585. CPX #$07
    : B2 c7 n. Q8 H" x
  1586. BCC EQUBUL1 W5 R0 r; I+ S$ L8 K, v
  1587. RTS* _0 r' G0 b/ G
  1588. 0 r! Z3 n) [/ B! o# M5 n5 X
  1589. EQUBUL_PPU:
    ' c+ x. K, E2 U. M) C: y4 z) Q
  1590. LDX #$00
    2 O$ [5 C3 a9 }5 ~0 F
  1591. LDA #$29& Y6 H& i- s. u6 q5 u9 N
  1592. STA $BA+ Q9 P  f- F9 Z0 ?
  1593. LDA #$226 F' Q8 z3 O: n0 Q3 q  d
  1594. STA $BB* D* d" E# \/ g' ]: B+ Y
  1595. . P$ d3 J- [8 g  L

  1596. 6 k6 r! A& j1 X* K7 D* ^8 ?& N
  1597. JSR A_PPU/ J3 r% ~5 p, U( e! N$ F
  1598. JSR EQUBUL_WRITE) C8 r) m5 J1 w/ b8 [4 O
  1599. LDX #$00+ Z' ~9 D: l# i6 ~; f' O
  1600. LDA $079F
    ' D1 i5 v( v$ P$ F0 U
  1601. AND #$80/ A: R0 j) Y  t% z2 x( ?
  1602. JSR ON_OFF_PPU
    ! H" P: ?' N8 U# r( ?% E% w' X
  1603. RTS
    : u( x( G5 ~  V5 H0 k7 D  p( B

  1604. 6 F( V. I' j; w3 Z# i$ ~) G, \

  1605. 1 \& Z* k; {: I8 r; w5 D4 O

  1606. * J) f  y. N9 J0 {, P3 w
  1607. BULSEL_UP_STRING:
    6 v' m3 l, a8 T  K, \- T7 X7 c5 P
  1608. .BYTE $9F,$9A,$80,$9E,$99,$80,$9D,$9D,$805 w6 w# a8 x. z, L! e6 {# C
  1609. * H4 ]5 i$ O$ b; o% ~/ Z8 O3 P
  1610. BULSEL_DN_STRING:
    9 x, t( q! ]6 y* q3 Q% |( a" \( ?
  1611. .BYTE $8E,$98,$80,$9E,$99,$80,$9D,$96,$80
    / A/ j$ w$ o  J$ V, F% E
  1612. : \' |$ b$ e, O- o, W
  1613. BULSEL_LF_STRING:
    + O8 F0 h  h  [
  1614. .BYTE $96,$90,$80,$9E,$99,$80,$9D,$97,$80
    ( c% X' ]) z7 ~4 y: ?
  1615. ) q$ |+ l( O2 \5 r2 z
  1616. BULSEL_RG_STRING:8 g8 s3 B0 V* D# G* _+ p
  1617. .BYTE $9C,$91,$80,$9E,$99,$80,$9D,$90,$80: p: h  `+ \% m" d/ ?$ M. e( B9 R
  1618. ! Q) Q  z' v0 P
  1619. BULSEL_B_STRING:
    ' M5 o8 x2 g5 k' L. a- u
  1620. .BYTE $80,$8C,$80,$9E,$99,$80,$9D,$98,$80" n/ b" f- b* l' N* h9 t
  1621. % p! C) m( v2 @7 j
  1622. BULSEL_A_STRING:
    6 t9 k7 |1 F2 ]
  1623. .BYTE $80,$8B,$80,$9E,$99,$80,$8D,$99,$97,$97,$99,$98,$80,$9D,$9A,$8F,$8F,$8E3 Y+ X' E% y7 |* ^

  1624. 8 Q  H" Y  K( }& ^2 h! Y/ m

  1625. . H- A! t$ a1 w! D# x
  1626. BULSEL_UP_WRITE:
    0 O) W, e& c! v( |) J8 P; u6 r
  1627. LDX #$00, O: n" ^+ |4 e+ z3 k8 @$ e5 L) D
  1628. BULSEL_UP:1 i/ l' B1 [6 u- ^1 l
  1629. JSR PPUADDR_PROCESS% w) R0 b# A: ^3 c+ e0 R
  1630. LDA BULSEL_UP_STRING,X
    & P% a8 }, Q  b2 H, ]3 r/ D
  1631. STA $2007
    7 a$ U9 c' H1 P; R# D
  1632. LDA #$00
    9 m7 l( {7 u  o1 q6 R- r
  1633. STA $2000
    # j, f: b! k' ^0 x7 e4 }$ i
  1634. INC $BA- C& o* Z0 g' ~
  1635. INX
    3 G% n1 _5 o0 R" w( a5 K
  1636. CPX #$09
      q0 m: z( b/ H- u5 ]
  1637. BCC BULSEL_UP/ e5 d3 }- u! p, ]0 o  A. O  y9 x
  1638. RTS
    - X! I/ |& M8 Y9 B- Y. O
  1639. BULSEL_DN_WRITE:
    # L3 v- b$ N7 K. l1 O
  1640. LDX #$00
    0 Z7 I; T! E! o
  1641. BULSEL_DN:
    9 L, k8 Z% E) T* _8 r
  1642. JSR PPUADDR_PROCESS5 }" R# `& u& _: Z$ P# @$ j2 O& i
  1643. LDA BULSEL_DN_STRING,X  O4 W% h6 }6 z3 n
  1644. STA $2007
    * A+ N5 x" m0 [; \
  1645. LDA #$00- U* ^" [  u6 {# F9 |5 Q$ x) B
  1646. STA $20004 T+ X1 \8 U' i7 k3 |
  1647. INC $BA0 g# M  A  k6 G# X* i- ~, u
  1648. INX
    * z5 L" m! \# r% S% b8 B
  1649. CPX #$09+ B: W% W+ y# h# S+ m3 ?0 `
  1650. BCC BULSEL_DN
    ) v# M% Z4 q, K
  1651. RTS; R' ?. ?) ?( Q
  1652. BULSEL_LF_WRITE:
    9 u0 u1 A* m8 S2 H4 O- u
  1653. LDX #$00
    ( U& n; `4 B1 T% y' |
  1654. BULSEL_LF:
    ; X4 P7 `1 X  K7 g. T$ W0 y1 ~
  1655. JSR PPUADDR_PROCESS6 ?$ B4 ^) g* l+ `7 B
  1656. LDA BULSEL_LF_STRING,X: w3 f3 Y- J! `( Q
  1657. STA $2007# _2 ]/ S5 Y$ ?6 [$ b
  1658. LDA #$00
    : H. m8 \6 Y& a
  1659. STA $2000
    1 D0 A1 o, [3 _
  1660. INC $BA
      O6 Y/ r( @$ k) _( M7 d; ~
  1661. INX- p9 J3 D/ z6 Q2 _# |+ X
  1662. CPX #$091 Q+ o6 x+ Q: t8 N) t, ^
  1663. BCC BULSEL_LF
    ! y! k7 L% e/ M  p
  1664. RTS& G4 F* F& t# o0 w
  1665. BULSEL_RG_WRITE:
    ! V$ P0 @  ?  V  x
  1666. LDX #$00
    - {$ W! T% {8 ~( A( H/ e: l
  1667. BULSEL_RG:- g* I  x+ C7 V3 i  [6 F9 E
  1668. JSR PPUADDR_PROCESS% y) T1 @+ r; M0 T% P
  1669. LDA BULSEL_RG_STRING,X6 x5 C! y( E) N5 `
  1670. STA $2007) P7 y) v0 y# T: L& W
  1671. LDA #$00: v* I, q1 i/ C" {! g1 W- b' \
  1672. STA $2000
    6 [0 d& [+ e' m4 t( ^
  1673. INC $BA0 |9 F# k% j( }6 Q) t0 A
  1674. INX
    9 S6 J0 r7 _) t+ Y" }. h
  1675. CPX #$09$ y) [7 b4 b/ D! L2 d7 _+ f
  1676. BCC BULSEL_RG
    # n1 ?0 R' P+ d6 f9 E! h2 a4 A# A
  1677. RTS  W" ]8 q( z+ W* D
  1678. BULSEL_B_WRITE:
    # f* E, D8 b# U2 s: g# k( p
  1679. LDX #$00
    " d2 \) V% H; G7 B, G
  1680. BULSEL_B:
    1 b# G( k8 C: i) C- J" U
  1681. JSR PPUADDR_PROCESS
    6 b) c9 U% c  F/ K. b
  1682. LDA BULSEL_B_STRING,X7 u! b3 t( H* v
  1683. STA $2007
    1 G' l* V7 I  D# M
  1684. LDA #$00
    " c/ R0 M& [' \, m/ s
  1685. STA $2000
    1 f' C, x+ t/ t  X3 ^
  1686. INC $BA
    6 P9 ?" T9 l+ ]: ~5 {' v
  1687. INX
    " L2 u) [0 M- o2 _
  1688. CPX #$09
    ( e3 ^: W- Y9 @" `0 ?, j1 ~
  1689. BCC BULSEL_B
    8 Q: l0 |: r+ i- i, g( c5 E% k8 c# b. ?
  1690. RTS' T# T5 N  K$ z, m
  1691. BULSEL_A_WRITE:  ]2 V0 ~5 \: a, ?  M
  1692. LDX #$00
    8 \# P2 Q: u8 m
  1693. BULSEL_A:
    % Z; P; B7 w0 _% F- B" \& D
  1694. JSR PPUADDR_PROCESS- d6 T5 l  H0 G; w* P& @
  1695. LDA BULSEL_A_STRING,X
    ( B+ s6 r! e) y9 I
  1696. STA $2007# h4 v! K. c4 z+ U% s& X, s
  1697. LDA #$00- q; g) {+ x" M+ n3 w6 L0 d3 Y
  1698. STA $2000
    # t$ l7 d4 S( H6 j1 c  A% L/ k, E
  1699. INC $BA% k  E& u3 o7 n( W9 X
  1700. INX
    $ C, ?( S) D4 L% ]: Q
  1701. CPX #$12
    $ A+ b: h9 \6 r8 X9 i* P
  1702. BCC BULSEL_A# ~7 v7 d2 T) |% |' d5 G( l
  1703. RTS
    0 j) G+ x& g. `! v( g) P

  1704. 7 i# m5 \3 S. T) P: S  b
  1705. - z& a0 _# B, l( J
  1706.   i: B7 [" ?( p) J4 x( ^
  1707. BULSEL_PPU:# q* s: ^; d! e
  1708. LDA #$6C
    ; V; m0 V) z) E" W- Z5 Z
  1709. STA $BA
    % L. P$ {9 a( {. Z8 p& C, D" b
  1710. LDA #$21
    " U$ q# z$ C2 t3 K; O
  1711. STA $BB2 b5 f/ S2 N/ q4 a- R
  1712. JSR BULSEL_UP_WRITE
    ; f$ p& z, Z9 z. S( g
  1713. % l4 {5 S' Y) @  i9 o, J- o: Q1 i
  1714. LDA #$AC
    6 C* _' S* @" |5 J7 v/ K
  1715. STA $BA5 @+ z- K. n* }' m9 _% ]% y
  1716. LDA #$21& O5 h4 e- W! c: m# V: @# {; K" o
  1717. STA $BB
    + d* f' d3 x$ W8 q2 U
  1718. JSR BULSEL_DN_WRITE% Z# Z' m8 s, ?4 T

  1719. 4 t" g6 c; s! C4 Z2 v( I* r
  1720. LDA #$EC9 a! p% T& z& J2 A
  1721. STA $BA
    ; O9 B3 Q4 `6 W$ {
  1722. LDA #$21  b0 ~1 j6 r* C* n% A$ m# O
  1723. STA $BB
    ' l; d6 L+ J- K7 a  j( t
  1724. JSR BULSEL_LF_WRITE; p" P8 R0 J# y3 _9 D& D

  1725. ' @, N2 H# a$ T" G' r/ i
  1726. LDA #$2C1 ~  p+ |/ Z2 c2 B6 n
  1727. STA $BA0 b  Z4 H  X, O4 m5 i( l, l% e
  1728. LDA #$22' `( C, _* ?$ E6 G" q! q
  1729. STA $BB/ c5 n+ X2 n# b5 }# O
  1730. JSR BULSEL_RG_WRITE
    % Z5 O# a1 g5 S7 C

  1731. 5 l* ~+ K9 P6 r
  1732. LDA #$6C' D6 N5 t' Z$ q, f/ P
  1733. STA $BA
    0 L1 J7 b4 @; _& x7 X7 H
  1734. LDA #$22
    8 a$ d6 K/ X% q" f# O9 T
  1735. STA $BB
    : n7 A, J- R, C) Q1 }6 G
  1736. JSR BULSEL_B_WRITE
    / }/ k+ S5 m7 J8 f( ]

  1737. 6 V. Q6 @! p. M2 {9 X" i# b
  1738. LDA #$A7" M( F# L. N% \4 S0 L9 e
  1739. STA $BA( m# Y2 M) _& [0 W
  1740. LDA #$22
    # H5 y! ?" T! o4 u. e
  1741. STA $BB
    , S5 c0 |/ ~; Y5 |, }/ a3 F
  1742. JSR BULSEL_A_WRITE8 S& Q/ {/ S7 ?: F+ E7 O! c) f
  1743. RTS6 T+ H) K$ ~. K7 o# N

  1744. & ?* \: ?* l! _- I
  1745. 5 [8 e' l8 F0 J* w

  1746. 7 T* l' n$ y7 d2 _6 ?# q- D
  1747. UP_STRING:
    " `1 c4 _: H$ \8 e) T0 E7 m! q
  1748. .BYTE $9F,$9A,$80
    ' |% U+ ]+ A- _2 p: t

  1749. - ?# h$ |" ^2 I
  1750. DN_STRING:
    0 {4 G1 c4 @* Z
  1751. .BYTE $8E,$98,$807 K2 Y  R7 u2 q) B1 c' x
  1752. 5 x; P# d( N/ C0 I3 M
  1753. LF_STRING:" e' a1 n/ v4 y" _3 m
  1754. .BYTE $96,$90,$80
    + k2 m9 X8 M& m
  1755.   C4 B1 P2 W- U
  1756. RG_STRING:' ]- _& H; g: Y* a
  1757. .BYTE $9C,$91,$80# U6 E( V9 s3 _( `! ?

  1758. : W) v, @: D) e. E
  1759. B_STRING:9 C! f% Y. Z0 E, o' i: E
  1760. .BYTE $80,$8C,$80
    8 `! l2 n0 X# e! u% n" x
  1761. 5 E* R# o- x/ K" V% {4 |
  1762. A_STRING:5 q. I5 C( L1 u! G9 J! D
  1763. .BYTE $80,$8B,$80
    1 [" D  U+ S% L- _9 ?$ U0 U0 L7 a

  1764. : o: \/ N2 I. \5 g+ n

  1765. ( k! L' j9 o# w/ Q; z
  1766. UP_WRITE:4 {5 ]) d5 M4 C$ N. T2 o0 w* g
  1767. LDX #$00
    , e. C0 v) j4 t
  1768. UP:% }; k: O7 I6 e- D. @/ `4 g
  1769. JSR PPUADDR_PROCESS4 G9 r" Y5 q% g. ]6 {' S. N0 Q
  1770. LDA UP_STRING,X# \/ G3 r. H/ ^, A2 t
  1771. STA $2007
    " ^5 L' E" x9 P. V3 w
  1772. LDA #$00
    ! X3 c0 N: m% R
  1773. STA $2000. a/ w! d+ I, C* a
  1774. INC $BA$ B* I: j( M, k
  1775. INX
    7 T7 _) Q4 ^: U0 Y: G! k7 ^+ i
  1776. CPX #$03/ s2 T& {$ X3 w8 W' [# y$ g. t$ [
  1777. BCC UP* ^* |" _7 p6 a- j. G. J* a+ E
  1778. RTS
    " H% P: A& W2 \+ Q+ S

  1779. 0 a, ]2 x- K. u  N) s9 t
  1780. DN_WRITE:3 u. c  B; x3 n+ O. o
  1781. LDX #$00
    7 _+ P) B* o) a5 A9 |% f. q0 {
  1782. DN:
    - b) J5 A: z$ t
  1783. JSR PPUADDR_PROCESS
    # _9 X$ N  p* p2 Y8 k+ b$ u
  1784. LDA DN_STRING,X) a5 X9 l* U( i3 P, E9 ?9 C
  1785. STA $2007
    ' j+ W2 k6 |( R9 T/ T7 q
  1786. LDA #$009 G2 M- i8 W; P, U. l7 n+ Z% g
  1787. STA $2000
    ' G5 [6 U! z4 {) V8 @
  1788. INC $BA& i  Z8 J0 L1 ~$ q, Z
  1789. INX3 ]+ L# s' T( [6 r
  1790. CPX #$03
    5 X* g* L2 c+ u
  1791. BCC DN
    7 Q, F3 t: q  l4 D  r- [( a2 E
  1792. RTS
    $ l# X" @7 p! A; ?- F

  1793. & y, @8 z6 R' w/ @7 C5 n% _
  1794. LF_WRITE:
    % b6 q( Y7 ]0 [0 Y8 V
  1795. LDX #$00
    : x5 r, {/ c: D( u9 U
  1796. LF:
    , z5 F; {/ H! Q: d4 A# {6 h2 \
  1797. JSR PPUADDR_PROCESS: [- [. A4 w. g5 N
  1798. LDA LF_STRING,X
    8 d( e! f$ r: J8 ~! |
  1799. STA $2007
    ( S- L) Z9 _# Z3 d/ }* ~
  1800. LDA #$006 a+ O5 _. f- _8 B' F
  1801. STA $2000$ L0 h, r1 A% \  J) u$ E: g) X: y
  1802. INC $BA
    & Q$ ~9 r) _6 v9 @$ h
  1803. INX/ Z( A. m' a* ^, }
  1804. CPX #$03; X/ @3 n( `/ N
  1805. BCC LF' U  K/ e- D2 o; p3 T/ m
  1806. RTS- ^  T# y' |7 e4 x: M' W
  1807. ) O$ }3 m% J1 E5 S* I- q( H
  1808. RG_WRITE:
    3 i8 ?/ \" |" j: [
  1809. LDX #$00
    4 U# ?7 f' m& `8 z8 F6 y6 E
  1810. RG:
    . a9 H& b- s: A' \2 C
  1811. JSR PPUADDR_PROCESS+ F& m9 N/ Q% z/ c3 t8 l
  1812. LDA RG_STRING,X0 [& N) T/ D" f' v5 `$ q  U$ Z
  1813. STA $20079 m  a1 d( B$ S) V7 Y
  1814. LDA #$00
    , Z6 L* {9 J+ }# l% }) x2 `
  1815. STA $2000
    * `5 o- o0 ~; o$ E
  1816. INC $BA
    * Y: q: h  d4 W. c* G: v
  1817. INX
    6 Z# }2 B+ H1 C  O
  1818. CPX #$039 M5 W/ J8 {9 ]4 G2 E+ B0 n
  1819. BCC RG
    7 }; m. e8 n  {& U1 {0 x  F- \6 r
  1820. RTS$ Y1 t8 U; m$ k
  1821. ) D) ?% L+ D/ W1 M
  1822. B_WRITE:4 R1 L, ]4 F; \' S( f. F
  1823. LDX #$00. r( q/ d" [8 y1 _
  1824. B:
    7 J/ S. l! O3 x# }, ^" l
  1825. JSR PPUADDR_PROCESS: u* `) c$ C2 ^) m- O# ~9 H
  1826. LDA B_STRING,X
    4 @* K5 R2 K, h* _1 `( Y
  1827. STA $2007
    4 H6 Y" w+ ?' {+ t( i
  1828. LDA #$00% Q& s: [$ Q* C) U3 b% r. S
  1829. STA $2000( B) Z7 p, Q# _! G* |6 `( }$ P
  1830. INC $BA8 G3 k. N( ?9 K
  1831. INX
    2 Y+ O" S3 Z" d! c3 B! e
  1832. CPX #$03
    # C0 `1 q; P" V" G$ r) S- a
  1833. BCC B
    3 t" i; M+ Q" I# X1 G
  1834. RTS- U- {" C1 r4 W6 s) n8 S
  1835. ; H$ f* B+ X$ e% ^
  1836. A_WRITE:9 S! n8 ~; ]( S: e( a
  1837. LDX #$002 T/ J* ]- ]3 A6 n0 t
  1838. A:9 \' ~7 F( F$ d! j! q3 b
  1839. JSR PPUADDR_PROCESS
    " \7 O6 j# s, z" P, `: |  K# O/ O
  1840. LDA A_STRING,X1 p  f' r3 ~7 a$ k" S
  1841. STA $2007
    - ]. [+ C  L( N2 p
  1842. LDA #$002 K0 U) \" F' x% _3 i
  1843. STA $2000/ w5 d+ {! a8 N, ^
  1844. INC $BA1 d0 s' n) W( Y6 R9 X
  1845. INX
    ; t  J8 M  u3 r2 [2 l
  1846. CPX #$03
    ' p* F! V% L( d
  1847. BCC A
    $ d" R9 ]6 w) r
  1848. RTS
    ; F* m& h# ]$ E3 f- k: x9 x
  1849. 8 H( s' n# N4 y8 W# Z, m- y5 H
  1850. 7 \1 c( c5 Q% P' l5 V; M
  1851. UP_PPU:
    9 V3 _0 v: C9 l" U5 y2 N6 a% z3 o
  1852. JSR UP_WRITE
    & y! a& U  Q& R' }! I3 H1 b
  1853. RTS
    6 ^$ V: A$ p* `) H" i3 E
  1854. , O& E3 f& T: O1 ]' m6 {1 c
  1855. DN_PPU:
    , w& C  d/ ~2 K" r8 _
  1856. JSR DN_WRITE
    : N2 I3 t& D$ r* r9 E
  1857. RTS7 |' @5 f! \; f2 E
  1858. 7 a* x" g7 }7 V; P+ e
  1859. LF_PPU:- G. r$ M2 r/ L) f% N9 {5 G
  1860. JSR LF_WRITE
    1 J  ~7 B, y" k4 i3 H1 p
  1861. RTS
    * b' ~- Y4 p* F  n+ e) J
  1862. ' h0 s  ?% N. U" Z& X
  1863. RG_PPU:
    9 i1 K5 Y/ }3 Z6 Z
  1864. JSR RG_WRITE
    2 [& J4 t9 @& c# G5 R+ |. z
  1865. RTS
    ! R+ s. d; z9 V6 W7 P! K
  1866. 4 {% F$ F" d0 i2 ?" D
  1867. B_PPU:
    $ j# c1 `/ v& `
  1868. JSR B_WRITE
    : X: J6 T0 G. |8 |
  1869. RTS
    $ m# l- ]2 v) B: V% J  L6 D. B

  1870. 0 l0 d% r! @' u3 W; J% H# H$ \" a) X0 n1 S
  1871. A_PPU:
    ( O- A3 i6 u% w4 l, V2 D( M
  1872. JSR A_WRITE
    ) D0 m! h0 k$ O& V; K* C+ Q7 q
  1873. RTS
    ) j& n: l5 k0 A. H! v
  1874. 1 {2 P: f2 X5 C2 n5 c
  1875. 4 k: N# e1 o" Z. H" }% F
  1876. PAGESELECT:
      f3 s; S5 M2 K& Q
  1877. PAGE0:  m2 L  G8 F; s8 \* c, [
  1878. LDA $07AA* q7 ?3 k5 x; r
  1879. CMP #$00% `+ {4 b8 O3 F0 E
  1880. BNE PAGE1
    8 T; G# W( e+ B7 H4 B  z3 v1 m! ?

  1881. . e6 o% ?4 T+ n1 \; r. U( `- {
  1882. PAGE_00:
    % K  x. E; I$ X5 t0 U6 _
  1883. JSR BULSEL_PPU
    / P, D/ B! U1 y
  1884. RTS) w" Y0 b: F6 ]' a8 Q

  1885. , |' I# ?$ m! d
  1886. PAGE1:
    ' @0 S' X: v# d9 J  R
  1887. LDA $07AA) j1 S) D: z8 T- m6 S) B6 U
  1888. CMP #$010 [5 c: x: x- K' n6 z1 U5 k
  1889. BNE PAGE2% d$ n* z5 L& o& S$ V- G" V! }
  1890. - r5 F$ X, h7 B9 y9 ?3 [
  1891. PAGE_01:
    & @/ t. Q. n" M) E4 u
  1892. JSR INVINC_PPU
    , n+ V# ?2 g% Q5 w$ L! i
  1893. JSR LIFELC15_PPU, E1 @5 a6 H' B  A  e" F8 ^0 p
  1894. JSR DOUCON_PPU
    + n3 ]" T: X2 Y) N9 s
  1895. JSR KILLON_PPU
    4 c. j: N0 D$ S7 Q
  1896. JSR SKYFLY_PPU- f$ J  L, m: _* j: Y" ]1 D5 l/ t
  1897. JSR LIFELOW_PPU6 ^! X) Z. ]2 H1 Y0 ]/ q5 F
  1898. RTS) H/ d$ Y1 j  s/ U3 u4 o
  1899. + l0 s2 V0 o! M( z* }" D
  1900. PAGE2:
    4 R1 U, m3 C- ~" }  b4 W
  1901. LDA $07AA
    # `8 x' C. T7 X6 X: Z" v+ L( Q
  1902. CMP #$02& z+ E# r2 ?) j/ q1 [; u- r9 e
  1903. BNE PAGE3
    2 Z9 c$ A" ^2 n7 }8 q& ^5 ^

  1904. ) t4 S* T5 _9 O
  1905. PAGE_02:7 m) z9 Z1 @: A; ]
  1906. JSR BULADD_PPU+ g' I* V( m7 X4 w) C( n
  1907. JSR SKINGE_PPU1 Y+ i& ~1 t* c- r
  1908. JSR BULMIX_PPU
    4 B  ^4 b0 L/ p* H5 A3 \( O
  1909. JSR ENELOC_PPU
    * D' b3 p: {3 T. D8 V2 p0 b
  1910. JSR FOCFUL_PPU
    7 f6 Z! m, U: a- j' P- ~; X
  1911. RTS2 N1 @9 V1 |* q& [6 n
  1912. % m$ L  m" [1 L$ K0 b3 Q- R
  1913. PAGE3:
    ) L! c2 \' J) v" P9 p1 O" T4 ^- _
  1914. LDA $07AA
    : c% {6 ]( V( }4 Z( N
  1915. CMP #$038 k9 z/ }& `2 r2 u
  1916. BNE PAGE4
    ) i3 m4 `2 r5 n

  1917. 2 Q) ~1 V; T  K4 i
  1918. PAGE_03:( p3 W8 B, G9 t8 |3 R7 O" Y
  1919. JSR BULCON_PPU" @: W  A* y, U! k" t: l
  1920. JSR SPEBUL_PPU
    0 X$ E) G) w+ m& I# p5 S2 H
  1921. JSR CLEALL_PPU! {( M& O& d. l. v
  1922. JSR HARDMODE_PPU- E% n* g# q3 A  ^$ {
  1923. JSR B_TO_JMPSTG_PPU" R& C# ^- n6 A
  1924. JSR A_TO_PLAMOD_PPU" h1 Y0 E# r# ?0 u3 S/ a6 Y! c
  1925. RTS5 @: Y4 U$ T1 z' D( X' T! x# `

  1926. 5 e) F: q. d* d. i6 `. B5 H' E. c
  1927. PAGE4:
    ' ~1 |9 `  F6 Z. N* i" `
  1928. LDA $07AA
    $ @. l& r  r) ^. v
  1929. CMP #$049 _- R2 _- S  N  B* j3 O" A2 e
  1930. BNE PAGERTS* {: T4 E/ x' W  \- l
  1931. 0 w1 u; d! G9 j3 Z2 |, t3 s% j$ E2 F
  1932. PAGE_04:
    ) m& z  p9 J0 O1 U) o) v
  1933. JSR MOVSPE_PPU
    . l' F9 M4 N3 A2 n& C( s
  1934. JSR UNLJMP_PPU
    4 h" H; }. ^  S
  1935. JSR DESTRO_PPU
    . t! f3 Z6 r; F- ^
  1936. JSR EQUBUL_PPU
    , x# U( }5 g" a' Y1 a. L
  1937. JSR MOVESPEED_PPU. L9 f( L: I0 C" ^- v+ L- M6 H0 \# r
  1938. PAGERTS:3 E8 T9 @6 g& ?* s9 {
  1939. RTS
    5 r5 \5 P+ ~9 c, e% z6 {% d9 r: L
  1940. 7 |( F3 M3 C( ?2 T

  1941. . W/ j1 N# f9 }+ H0 W
  1942. PLAYER_01_STRING:. ~1 f" [) |2 F
  1943. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$82,$80
    6 h$ F; Y% b" Z8 k* X

  1944. 5 y. G$ `* D7 F
  1945. # t; ?- t2 l# t4 d1 Z
  1946. PLAYER_01_WRITE:
    1 a% }3 U, `% C% H9 h' t
  1947. LDX #$00
    / T* A/ A* j' B2 h+ i
  1948. PLAYER_01:0 R& r7 M$ ]6 [# l$ d
  1949. JSR PPUADDR_PROCESS' ^' s8 ^0 J2 ~% o: f; ]3 f
  1950. LDA PLAYER_01_STRING,X0 N0 Y6 t$ `  u# s2 u4 ^
  1951. STA $2007
    9 [9 {# o& b! Z
  1952. LDA #$00$ F! K$ H* {9 M, v. A5 M
  1953. STA $2000
    1 Q1 @& z1 l2 s- N/ a4 v2 E$ @2 c+ m
  1954. INC $BA
    ( u1 v: v% O4 z9 R- P3 y
  1955. INX
    ( l- o) p8 S7 ?3 Q; x: w
  1956. CPX #$0A
    8 V3 ]0 ^1 P5 J; @1 p8 S6 q
  1957. BCC PLAYER_01) M0 s, h0 y* u3 B" G% B
  1958. RTS
    0 z1 x) ^5 }: i
  1959. 3 P# ^7 O' ]5 G6 E& ~7 d0 y  L
  1960. PLAYER_01_PPU:* C; t8 U9 w" M
  1961. LDX #$00
    $ p% b$ }, ~, o
  1962. LDA #$64
    1 R2 T+ h* O6 D# |
  1963. STA $BA
    4 E! Q! D2 G( F/ _
  1964. LDA #$205 K0 @( m. \4 w- Z  W
  1965. STA $BB
    # x+ ?" v* l2 p9 J5 R  \8 ~
  1966. JSR PLAYER_01_WRITE
    ( t- V0 K' z, D! ?7 l2 {  ?; _' i
  1967. RTS4 e7 k0 F+ V4 a7 _
  1968. : y8 N7 F1 A5 R6 [/ |7 G
  1969. PLAYER_02_STRING:
    ( k7 g; M5 L/ F& G$ z# C6 x, ]
  1970. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$83,$80
    2 B8 |% x0 O: O1 a

  1971. . J3 s9 N- }% R1 q% y9 Q

  1972. / U4 c7 [' G, X: H( v4 m: ^+ Z3 i
  1973. PLAYER_02_WRITE:
    $ p- s' f* \3 J! N
  1974. LDX #$00
    . y( v8 o, p2 z- C: ]+ e1 U& u+ B
  1975. PLAYER_02:2 G( ?6 ~/ p; G5 t; X
  1976. JSR PPUADDR_PROCESS
    % x4 v7 ?/ I, V- `( Y  V
  1977. LDA PLAYER_02_STRING,X5 h. T1 f; u6 a
  1978. STA $2007
    $ F; G3 z& J/ B, x4 F  z* }. q
  1979. LDA #$005 N: L4 O6 H" y: A; F4 @; p
  1980. STA $2000+ m9 h, e  e. P7 m! q- Q8 [
  1981. INC $BA* [8 N5 Y" u) O; s
  1982. INX
      |( _6 {& ^; @0 b3 S0 e! j
  1983. CPX #$0A
    ( \  M3 z  I& O: [" J9 T  E& ^- M
  1984. BCC PLAYER_02
    . j( G6 }6 a' V
  1985. RTS
    # x  s& E' x) e- I
  1986. ) E5 {* J; V! ]8 D
  1987. PLAYER_02_PPU:
      p* m- M( T0 d7 N: b/ b$ c$ p( F
  1988. LDX #$006 a, S4 t: o6 f7 M$ ^  G: K& P
  1989. LDA #$73' l5 E) f# ?4 c& n7 I5 P6 `7 }
  1990. STA $BA+ _1 y- J% C: I, J. U3 @
  1991. LDA #$20
    6 }. J: q  c4 h8 t
  1992. STA $BB; s6 V' h' |9 D$ P8 x/ T6 p
  1993. JSR PLAYER_02_WRITE
    : G: x+ b5 i: X0 K
  1994. RTS' j0 @4 y. ]  L8 `  J5 R+ w
  1995. ( e+ Y: O0 a/ ^5 i
  1996. PPUADDR_PROCESS:
    ) z' C( l' j" ?# C& `* N
  1997. LDA $BB
    . A" J- Q2 r, |
  1998. STA $2006
    * r. A$ k6 o/ u, ^
  1999. LDA $BA
    ; T" s  V. X2 s2 d2 T/ b( B# \- {+ e
  2000. STA $20066 N% |2 @: @, ^  N! {( O6 H
  2001. RTS0 r5 ~9 R1 q. o- p6 Z1 X: Q" c9 T& Q
  2002. 8 X) f& g: G# Q( x- M

  2003. 5 S' ]6 P. s  M4 K3 ?5 @% q

  2004. ' P6 |5 H( p3 ^& _4 v* y
  2005. ONE_STRING:+ O  X0 r  p  ~( B: I
  2006. .BYTE $99,$98,$8F7 x9 ~* ?* Z) n: s8 T' e' N

  2007. 2 Q$ b/ }1 z  ^! [' k+ |. L+ d
  2008. TWO_STRING:8 @2 z3 @# L+ s7 R  Y2 P4 u% W
  2009. .BYTE $9E,$A1,$997 Q6 n1 P( t$ Z+ E1 Q0 E1 U) u
  2010. 5 C; [: N9 K: L/ J
  2011. ONE_TWO_PPU:2 l2 K5 ]# q, e0 L# Y
  2012. BNE ONEWR/ a5 Y% ?$ q! g  ]; I/ i& m
  2013. TWOWR:; u) v  O; M- B+ Q- G: h1 R8 F  c
  2014. JSR PPUADDR_PROCESS
    + D4 F! ?1 s2 T4 R" H6 e
  2015. LDA TWO_STRING,X( k' B# T9 R% X6 D2 e
  2016. STA $2007! |: g. y0 ?" I! Q' D
  2017. INC $BA
      w! q0 g* \* {# x
  2018. INX
    ! h  Y- S( w5 x; h! R& _
  2019. CPX #$03, X* k& o& E, E4 e
  2020. BCC TWOWR. f0 C9 n1 {, s8 ^7 O! O$ q
  2021. RTS; s. T3 X. Y$ q4 J2 ?6 w6 s
  2022. ONEWR:0 l. S% g% Y/ }2 F* p
  2023. JSR PPUADDR_PROCESS
    & h4 p/ q5 ~$ G5 q" a+ f
  2024. LDA ONE_STRING,X
      m: r6 h  ]* \
  2025. STA $2007
    % h3 _+ ~) y8 G  }& b/ ]
  2026. INC $BA
    + _/ {! O0 Y# N6 u& [
  2027. INX# Z0 W1 K% b+ \; g. Y% B) K
  2028. CPX #$03
    8 g! u2 X( M5 D& s
  2029. BCC ONEWR1 o+ G- H4 c$ V! e/ \& G. p
  2030. RTS
    + L" P$ e; r* a% F
  2031. - g0 C8 \9 H& O5 j
  2032. MOVESPEED_STRING:
    1 T2 J% I: {& @5 R
  2033. .BYTE $97,$99,$A0,$8F,$80,$9D,$9A,$8F,$8F,$8F,$80- {9 z: Y/ a! j& `
  2034. 1 |" Q- ?" }* B9 z9 P7 M

  2035. # {' {0 T8 I* w6 c) r7 g: L
  2036. MOVESPEED_WRITE:
    7 J5 @6 l, K) V
  2037. LDX #$00: w) [( z" \  ^% l4 {) m! a7 {
  2038. MOVESPEED:
    7 i9 G8 p2 |; A& s& _
  2039. JSR PPUADDR_PROCESS
    3 }0 t5 f1 G( q8 n& v2 H$ j+ y5 U
  2040. LDA MOVESPEED_STRING,X
    ( d8 X3 S: c. G/ s0 w3 m
  2041. STA $2007* Q2 U) r0 Z( b8 J8 S! Y' h
  2042. LDA #$00: e: x; J6 H, |4 s2 A. X  E2 q
  2043. STA $2000
    " ?+ ^/ k9 L3 X1 s! }
  2044. INC $BA
    - Y* I: F8 E" C; x
  2045. INX
    ( b# r+ r6 \% ?0 C) O" o) U
  2046. CPX #$0B9 _" n8 h" m! m/ `) L& R
  2047. BCC MOVESPEED* z; b) `* h- o7 P# v
  2048. RTS3 l9 c) y, E4 O- s1 E

  2049. 6 h6 w# w/ c* e5 B6 s' b5 d
  2050. MOVESPEED_PPU:  R, f( M7 A! [- S; s* v
  2051. LDX #$00
    ! W$ ~* Y; B4 M/ X! G
  2052. LDA #$AA+ B6 i, K  T2 ^% I- K: Y4 l1 J, J
  2053. STA $BA* ^9 A. u- L1 {# H# s& N
  2054. LDA #$22
    5 |5 ?& f. Z) H- L# w- y
  2055. STA $BB0 r4 U) a( N6 J3 V% s6 M' m
  2056. JSR MOVESPEED_WRITE
    : J9 G# R, J0 ^% L
  2057. LDA $7003* U1 Y8 h* A9 N% s0 M
  2058. CLC! V8 u$ ~1 y7 d/ \6 T  |
  2059. ADC #$828 V- v& E5 H5 \  E- Y6 t1 R) ~" e
  2060. STA $2007: p& }3 D& r" }# M
  2061. RTS4 \( ?9 Y. u6 w* {5 w! S  Q
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 550 天

[LV.9]以坛为家II

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

签到天数: 7 天

[LV.3]偶尔看看II

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

签到天数: 2060 天

[LV.Master]伴坛终老

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

签到天数: 3124 天

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

签到天数: 2240 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2016-11-21 09:59:17 | 显示全部楼层
这东西找了好久勒,谢谢!!5 r% V. U6 g& @9 T& o( J! c
[发帖际遇]: wjb19780515 发帖时在路边捡到 5 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜

签到天数: 2366 天

[LV.Master]伴坛终老

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

签到天数: 2240 天

[LV.Master]伴坛终老

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

该用户从未签到

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

签到天数: 348 天

[LV.8]以坛为家I

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

该用户从未签到

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

使用道具 举报

签到天数: 15 天

[LV.4]偶尔看看III

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

使用道具 举报

签到天数: 837 天

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

使用道具 举报

签到天数: 263 天

[LV.8]以坛为家I

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

使用道具 举报

签到天数: 16 天

[LV.4]偶尔看看III

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-7-16 00:51 , Processed in 1.196289 second(s), 38 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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