EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2016-11-19 22:19:45 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2016-11-19 23:11 编辑 ! P+ o# \3 K) u

4 k% C: v6 U" y% a
     [FC][魂斗罗旋风终板END暂停显菜单]

0 U- p+ V3 M: A- ]作者:FlameCyclone(flamecyclone.ys168.com)
4 w4 Y8 \5 t, J# ^5 r/ g) S时间:2016/11/19 21:46:00  n% H7 Y9 P* e% J; w
更新日志:

. Q1 o( ^" S& D7 a. c! a& V4 H2016.11.19:加入暂停显菜单(共5页).
8 e4 J3 b- Y2 a$ l2 k2016.11.12:加入无限跳跃.
7 ~1 a3 ^/ Q8 r# J0 N6 s2016.11.12:加入速度调节.
6 I1 S' R' Q1 [; p1 f. z- h
2016.11.11:加入敌我子弹对消功能.( ^0 R2 X. {: C
2016.11.11:加入全屏闪灭功能.* S0 j5 H8 G7 I% L% q+ \& P
2016.06.08:加入全屏瞄准功能.1 j3 F# J3 ^$ I2 ^2 A! p1 E
2016.05.31:加入弹速调节功能.
. q! |8 `! c1 s: D! U% v2016.01.01:加入高难度模式.; L* p2 V/ `2 W
2015.12.12:修复消除威胁不足,使得移动BOSS关卡(第2,4,5,6)正常通过.
) b9 f8 M/ z/ w# g2014.07.05:由于对打功能不完善,直接去除,更改为生命锁定.
( n+ t( G! L/ g3 e/ i  G# n6 Z* n2014.07.05:双人切换功能优化.4 r% U) X, S, y7 @
2014.06.01:修复第三关浮空到BOSS前必须关闭浮空后跳跃才能见BOSS的麻烦.
* C8 ~; L' b% J; d- X2 I2014.06.01:取消生命锁定,改为生命锁定模式下剩余生命不会少于一条.
; x1 c, |; p2 [! j4 F7 Y2014.01.18:修复GAME OVER字样只有G和O的错误,原来想拉大字母间距离,看来行不通.9 f+ X& I5 E8 G! N  k
2014.01.18:浮空模式下,P2飞行高度未限制导致死亡,原来是指令本该用绝对X变址的被用成了绝对寻址.* D/ G% x% D  I( Y2 }5 U" S
2014.02.08:拿手机无聊时又发现一些错误,所以修正生命剩余勋章显示的错误(某天用读卡器插在DVD上测试发现机器读不了卡,原因是目录级数超过三级,只有刻录成光盘来测试,结果发现生命勋章的显示竟然无压力!)  J& ?) A( X0 d( |% ?3 J/ ^
2014.02.13:加入自动演示通关.
* c  X( w* }3 `+ Y. ?. B. j7 ^9 d内容:4 H6 f7 O2 r2 U& N
23.暂停菜单:        暂停后,自动显示菜单,选择键翻页,方向键和BA键进行各种功能的开关操作.
2 H% d( @  O" R* |22.无限跳跃:        暂停后,选择键4次,按下开启,开启后游戏时无限跳跃.- x# ]2 J2 \! |' w/ n
21.速度调节:        暂停后,选择键4次,按左右调节行走速度(0-3级).

( ]; G7 G  z! ], P4 H20.子弹对消:        暂停后,选择键4次,再按A键切换,此时敌人子弹可以打掉.7 g) U: ~5 ]  o
19.全屏闪灭:        暂停后,选择键4次,再按B键切换,开启后游戏时按选择键屏幕内敌人闪灭.
9 n$ j7 N; g# [18.全屏瞄准:        暂停后,选择键2次,再按B开启/关闭,子弹对消开启时无效.) _; T1 Q* Z% x( r" l7 Z  c! a  j
17.弹速调节:        暂停后,选择键3次,下开启,非暂停时按选择键调节,默认为1级,共5级.
( i+ x# r  ^- u7 D3 \1 C16.困难模式:        暂停后,选择键3次,右键切换,我不相信你能够无伤通关.
, B5 B$ [1 C$ Y' B- y01.子弹切换:        暂停后,选择键0次,上=快S,下=快L,左=快M,右=快F,B=快普通,A=取消当前子弹加速状态.
) J6 ~7 n9 _6 {2 Q% l# J02.无敌锁定:        暂停后,选择键1次,上开启/关闭,不用讲了,金身无敌.
2 B( ~, p$ v$ t* q3 s7 F7 l4 @7 b03.生命锁定:        暂停后,选择键1次,下开启/关闭,生命锁定为16条.6 Y1 Q( p3 ?: t2 z( ?. C
04.角色双控:        暂停后,选择键1次,左开启/关闭,无非就是主机控制副机.1 v7 `8 F2 k& }. o, {- a
05.生命底限:        暂停后,选择键1次,右开启/关闭,锁定剩余生命数不少于1条.* j7 }7 Q( c  b+ c
06.一击必杀:        暂停后,选择键1次,再按B开启/关闭,即使是第8关BOSS,一发花生米依然要其老命.
8 w, j8 Z5 }& c3 c9 @07.角色浮空:        暂停后,选择键1次,再按A开启/关闭,第三关浮空时按选择键向上卷画面轴.9 D3 _) g3 O$ C4 l0 g
08.弹数加强:        暂停后,选择键2次,上开启/关闭,此时所有子弹发射数为15发.
( b& ^/ e' i- H/ b09.皮肤更换:        暂停后,选择键2次,下开启/关闭,主机开启时橙黄色,副机开启时为蓝色.
+ E1 s! H/ T. v. r& b- }10.混合子弹:        暂停后,选择键2次,左开启/关闭,此时连射时所有子弹混合.+ M' N3 O$ f- ^# ^/ I  j7 x
11.敌人锁定:        暂停后,选择键2次,右开启/关闭,此时敌人原位跑不动.6 f# L: U6 h) V1 i5 V% m; G
12.跳过一关:        暂停后,选择键3次,再按B使用,使用后可以直接到下一关., z6 |3 s: ?2 [- S
13.单双切换:        暂停后,选择键3次,再按A键切换单双人游戏模式.  Q# o8 q  B% C; V
14.子弹方向:        暂停后,选择键3次,上开启/关闭,开启后发射的子弹攻击方向会随着操作的方向按键变化,第二关和第四关的小关建议关闭(开启的话打中敌人太难了哦).
# d) y4 }) a5 R15.消除威胁:        暂停后,选择键3次,左开启/关闭,此时游戏时按B键使得移动物体被消除。" z0 a7 D8 Q4 @3 [8 o# t6 n( d! f1 y
A.做了一些汉化(小字体),剧情,关卡名及通关后的文字未汉化.
* J$ v- u9 O( a+ [0 t9 ?B.自动演示通关,双人合体打通关,演示时有背景音乐,通关后一样会有结尾及恐怖台词,之后游戏进入选关(相当于游戏自动开始了).注:通关后P1及P2会获得16条生命!也就是说看完演示自动开始后第一版有16条生命!  C) c6 k) ]( t* _( T
C.生命显示加强:最大显示15个剩余生命勋章!电脑端请开启精灵超过8个(这样勋章不会闪烁),手机端认命了,不过不影响正常操作.
0 R+ I, Q6 t& g# c
1 P8 ~. [/ N8 C% r  ], {2 N    如果有什么好的修改建议,恳请通过QQ(1490868135)联系我(也许我不在线,可以留言在QQ里)
! E) M( }' S0 w5 ?9 \* y. O/ Z3 H欢迎大家转载,转载时必须注明出处.
4 I7 Q) ^$ v, b9 s8 r4 l5 C; |; o$ {& N2 @2 }
游客,如果您要查看本帖隐藏内容请回复
$ [& K& B1 O  k" d$ N
( q- [) B( _" O8 \' j+ s& _1 A
忙了一个星期,觉都没睡好,眼睛也疲惫不堪啊.终于找到解决方法了,目前VIRTUANES运行不了,请使用其他模拟器玩.- h$ k. X+ u: {( L( W5 W7 [9 s9 [
这几天的劳动成果如下:
  1. .ORG $B400
    ! H8 r7 i0 o# @- W0 z6 I

  2. * a! U$ Z2 A/ Q9 K
  3. 1 X' ?6 w$ T$ t' i7 H. @' ^! m
  4. PROREG:9 V; S5 U! M& U2 d2 n4 G
  5. PHA3 W, n" N& E( U
  6. TXA
    9 @, Q; ]7 M3 J% ]9 @) X% W. J3 Z
  7. PHA
    8 d  o: b9 W8 S, ^2 g
  8. TYA4 j2 `' e7 C2 y0 u2 O! E  c
  9. PHA4 }" S; t+ n4 c, ^
  10. LDA $25* N% G3 t8 A; o* L
  11. CMP #$01
    5 E4 Z/ u6 d! r* b; a+ Q
  12. BNE RE/ a9 N2 `" a$ A/ @
  13. LDA $010A
    ' R- m: Y& W* b& q% b: B9 O
  14. CMP #$00' R$ e( J; N" @8 V  Z( H) D# I
  15. BEQ P1
    - k% R$ L( S( \9 ~  X) S
  16. 1 M2 \4 ~2 `4 L$ Y
  17. RE:2 a: d: z0 U- B* L; b+ s# F' \* [
  18. JMP PPUWRITE
    + J9 v. [& H1 A: L
  19. 6 B3 W4 U! [& |* w! E6 E8 ^: v
  20. P1:                ; 条件判断
    : d: z  ~; M8 [
  21. LDA $7FFF
      m$ T2 }9 a9 l/ _* e. c2 Y# i
  22. CMP #$FF
    + I$ n% n1 U$ V9 Z0 P) |$ r9 a
  23. BNE P1RP
    ' ~7 L; R7 i/ b7 v1 m
  24. LDA $7FA0
    2 ]% M# C6 X* G7 W1 _8 O
  25. CMP #$00
      ]& H" N% A6 i. d, _  r
  26. BNE P1CMP
    7 z  Q4 W4 S9 K& {( H# o
  27. LDA $2001
    5 V, _6 `+ H) ?: j
  28. PHA7 ?7 j5 y* g& \! w! M$ H
  29. LDA #$00- N  g/ g$ v* w6 H6 g4 v
  30. STA $2001
    + _  `8 Z+ a8 F* t) y3 o
  31. LDA #$FF5 x1 g. d/ L1 I3 B
  32. STA $7FA09 R0 [" f" Z. ^9 e8 h+ Q
  33. JSR CLEANA1 h+ d+ H$ o1 b8 Q; p* f
  34. PLA9 H! W1 l& z3 n- k  s
  35. STA $2001
    8 L8 G( v5 E5 f5 r* x
  36. JMP PPUWRITE- X( Z: t5 p' P9 S7 e# g
  37. P1CMP:% |+ R) O# R" {% d" [9 U  M( Y- X0 P
  38. LDA $7FFF
    5 V( D3 I) @& x) \2 Z
  39. CMP #$00- b( h6 V2 }8 x7 g6 Q
  40. BNE RE
    & j$ q9 T  w: y. Z. c
  41. P1RP:$ u& H0 c$ _2 W) @* z
  42. LDA $2002
    - R& u  q; j" t0 m) x- U% V+ _2 w
  43. LDA #$003 E$ t) Q) O; X& g3 T6 @5 c; M
  44. STA $2001$ o7 b8 ~  V8 d4 {( j" G9 m' d
  45. LDA #$FF
    8 e( B2 V, ~: r3 X9 A' `
  46. STA $7FFF
    : a3 K8 Q; `) T& L7 b$ H- q" G
  47. STA $7FA0: g0 P7 Y) [8 z& m+ \
  48. JSR COPYPPU
    - r& c7 {' R* A3 h( j  |% e
  49. PIRP2:
    & f+ n. S' z9 S) q) ^3 _6 x
  50. JSR CLEANA9 t& }& L" H. w: t
  51. JMP PPUWRITE4 Q2 y# G/ h9 F5 m( w, T7 @2 u
  52. 2 {$ B; M! i/ B; ]7 K, h
  53. COPYPPU:
    9 ^" c; \) a- L5 V) [2 t& M, C+ p
  54. L0:
    1 ^+ d! o" s, d4 G, \* e
  55. LDA $30
    $ n$ C+ D0 }3 |3 T: p) Q' A1 [
  56. CMP #$02
    3 ^0 Q' U. h  V
  57. BNE UNPROFC
    * I9 H; F6 z- v* u1 Y# e
  58. LDA $FC
    " S. T$ H' s5 U) D3 }; M
  59. STA $7EFC
    5 c( w0 S' o  U, T- U
  60. LDA #$00
    " H# G% X" T7 T/ `+ x
  61. STA $FC2 k3 u8 @9 g2 H8 _  T
  62. UNPROFC:$ g6 k% A* |- H
  63. LDA $FD
    0 |: b  t8 g/ I
  64. STA $7EFD8 x/ |1 q6 T6 D3 K* s
  65. LDA $FF
    : K$ T& N" T$ p1 N2 A
  66. STA $7EFF
    7 ?* j* M( v/ I( R' m+ P
  67. LDA #$00
    - M$ ]% a' u, Y& V/ X
  68. STA $FD: U& u. v) ]" Y2 i5 W" H) j0 Q
  69. LDA #$B0
    $ [- X5 C0 }- o! G8 l$ I( V
  70. STA $FF, `4 ]9 d. V) `& X6 `" c" n
  71. LDA $07C17 p' a! P+ ?1 t' B6 F: x4 J" t5 C  g
  72. STA $7FC1
    ' T* P2 L/ @$ e" q8 j0 P3 h8 X4 W
  73. LDA #$3F3 g. @8 v: W/ M1 o
  74. STA $2006
    4 ^) P, Q2 V, q) [; V2 f$ z+ A
  75. LDA #$015 x: ~' I; b% c4 _; @
  76. STA $20064 a2 @, e) Q; K" K* v5 K
  77. LDA #$24
    4 h7 \# c0 g6 ?5 G  M
  78. STA $2007
    . l2 B) a$ ?9 H8 ?" \* Q+ \
  79. LDA $07F6. n- B  S( ?- r4 v' |
  80. STA $7FFE( j  a  l! I  n( s
  81. LDA $00FE* }0 o* _6 x6 ?. z5 `0 J: l
  82. STA $7FFD( \$ N. R! C  I
  83. LDX #$00
    ! `6 O# c9 }+ O! |; y) ^2 l
  84. LDY #$002 n& _$ Q: d0 w3 U
  85. LDA $BD4 N0 T0 t. A% f4 G
  86. PHA
    ; l. M8 h) x, [1 `6 @* T# ~4 x9 q
  87. LDA $BC
    $ @! y& ^) P" n4 d! B
  88. PHA
    * [) F7 G* U0 i' o
  89. LDA $BB
    - B, h% Y% p, k- d/ p( G
  90. PHA
    # t/ [! j; q$ `; f5 C3 `# a0 L7 r
  91. LDA $BA
    0 Q- h# D! l  k& `( Y. d
  92. PHA
    4 T$ E5 t% w* ~3 M0 E" K1 J
  93. LDA $B97 R) z* N$ N* ~, T. P
  94. PHA+ x4 v- d$ w3 f8 F* j2 G  Z7 e
  95. LDA $B8
    7 w* e7 M9 c) H  X$ a" U6 n5 o9 W' P
  96. PHA
    7 w0 w6 L1 e/ K0 y
  97. LDA #$00, S! \" t5 T7 l$ B, u# Q) U
  98. STA $B8& g6 ^) I$ ~! j6 ^  o
  99. STA $B9
    4 ^) q, b4 G1 `( X6 q  Q
  100. STA $BA
    3 R5 T( G. Y5 C+ H
  101. STA $BB
    : E1 J: g. }, t0 [# B1 p8 i
  102. STA $BC
    1 I# @/ W; [6 p* l: U  z
  103. STA $BD
    ; L: F, d6 W% d- z
  104. LDA #$00' O: S' k! U& p' {5 ?8 L. ]
  105. STA $BA
    0 z, x; @& {  D/ X; B3 s
  106. LDA #$20
    4 S2 J+ c, L) j4 u2 k
  107. STA $BB
    7 O+ X- D' \6 r
  108. LDA #$00" v2 C% V" e) ^1 L
  109. STA $BC
    : V9 F: f5 v) x
  110. LDA #$60, t0 }$ u- G8 Y" R/ ^: U
  111. STA $BD
      l1 [; H9 @+ B. f; m4 b

  112. 4 E. p8 \; @8 `) @2 P
  113. L1:                ; PPU复制, N. Y6 b1 ^0 [7 d$ @
  114. LDA $BB
    0 d( @. u" s8 B& v" k
  115. CMP #$30
    ' m) O5 Y% P! c) f  G2 e
  116. BNE L2
    , Y& v) V: s! d8 }- Z8 h6 \) x3 e
  117. LDA $BA
    0 z" Z; w9 S9 F% }+ O, {2 N! u* v: D
  118. CMP #$00
    ! o/ K* G, L9 ]( a' X
  119. BEQ PROADPLA0 O7 l' ^6 }0 ^4 Z! J
  120. 6 D* z4 U' \7 U: e# m
  121. L2:7 P& d3 ~9 |! y, `) E0 V
  122. LDA $BB3 K0 d! `8 x5 `! X' v3 ?% J7 R
  123. STA $2006. N+ V/ H( G8 u0 @+ m
  124. LDA $BA
    8 _) d7 Z% k- f9 D) H
  125. STA $2006
    , P1 r! S& d6 |0 c3 w! T  a) w

  126. " n" _, H1 X$ j" O( [
  127. L3:+ P# X, E2 o7 Y) c$ `
  128. LDA $2007
    . B! H& X9 C' r- a( m
  129. LDA $2007$ J3 T) p2 [1 o5 i1 J' Z$ d
  130. STA ($BC),Y
    - k# V% f1 T( |4 J
  131. / ]# f- i4 k% @! ~9 [
  132. L4:. t/ [; s& G8 O9 a
  133. LDA #$006 q9 z) r9 _3 V
  134. STA $20000 \1 [8 H' S; T
  135. INX
    # q4 u% V" i# k) r( L7 D  x
  136. INC $BA
    2 x6 `5 X# b& \: X' b' B1 |
  137. INC $BC
    7 G8 Y# m' z, p3 k& f; D
  138. CPX #$00
    " z3 f4 }, ^6 |9 M
  139. BNE L14 l# z  Z( z0 Y2 [; N) e
  140. INC $BB
    8 ^7 i% ~0 s- F  N4 s
  141. INC $BD1 y7 V+ e7 N6 N1 @) y- a# r  q
  142. JMP L16 a7 y+ l: H. x

  143. & G/ J- L0 j1 _0 j
  144. PROADPLA:                ;出栈; C6 y1 X0 n  _4 }8 A
  145. PLA
    8 W3 Q$ H" _0 A' |" V! h
  146. STA $B8
    * o2 {! H6 s# H' u( G
  147. PLA! l! U1 Z' q' `: w/ f% i
  148. STA $B9% S: b# g; L* k
  149. PLA
    ) P; E) _9 H7 H$ `
  150. STA $BA) I3 I  Q! O/ ?" {9 x
  151. PLA
      N  r1 z/ ?  z7 X
  152. STA $BB
    4 C; `7 r" W8 E2 C) z* J3 `
  153. PLA
    " E+ X# ]0 a& D9 V0 `8 }7 |
  154. STA $BC$ @* h& |* o, V
  155. PLA. D# Q+ F* U9 W% c6 Q+ ~
  156. STA $BD1 }5 ^1 E* \6 M- n
  157. CPRE:! Y5 D( i, L! d/ z
  158. RTS
    5 s+ H1 |4 h* S3 @6 j. K

  159.   t4 G* M& u" I7 e
  160. CLEANA:                ; PPU清空
    ) x# C$ a! L4 v! A- G
  161. LDA $BD
    6 r8 d  b! H, x7 ]1 a/ y. S. |+ E
  162. PHA6 I2 o/ g! w+ c/ W$ |# E& O1 x0 {
  163. LDA $BC" I; {% e  r6 K4 G
  164. PHA3 b% p: |1 U. m" {
  165. LDA $BB
    4 o/ B% e* {+ v0 `
  166. PHA8 Q- N* i' M* o9 G
  167. LDA $BA5 J) P6 `. ^5 X" J) p; Y( s
  168. PHA+ i4 ?1 Q; t7 j5 h
  169. LDA $B9
    % B: q1 c* j# W' j$ Y; c7 {$ m
  170. PHA' S7 r3 G; m! }
  171. LDA $B8' V3 r) a) {( Y4 S% s9 b0 p' k
  172. PHA
    1 d' Z6 x0 w3 _
  173. LDA #$00
    + _7 \1 o9 W2 X8 u1 W1 ?
  174. STA $B8. P: ?! f$ a' A# T
  175. STA $B9
    + n' {2 |# A1 V) h$ h  Q
  176. STA $BA
    5 @2 S, j$ X! O/ B2 H
  177. STA $BB
    / Y+ K9 M$ z% O$ L; ^$ C
  178. STA $BC4 u3 V: L5 {2 m: c% W, g
  179. STA $BD
    3 l( p/ c! L# O& b  Z
  180. LDX #$00
    , y& S2 G: j; X# ?! Z
  181. LDY #$00
    ( ]" I1 k+ @5 T/ \* r- q1 V+ n
  182. LDA #$00' [$ d; R+ S- B) O1 l
  183. STA $BA' M6 r; W- ^/ T! q! u, Q
  184. LDA #$20+ q- D9 ~& r0 @) o3 O# x% u3 B
  185. STA $BB3 M/ n7 d* [( w; O. q5 ^) X

  186. # l' W5 b+ G  [0 m& C
  187. CL1:
    2 `, z6 ~( z3 O, b
  188. LDA $BB1 V# _3 G5 k5 r8 t. h4 [) @
  189. CMP #$30* @% o- D9 Q  A5 s
  190. BNE CL2
    5 W! `( K9 g' R1 D8 O( v
  191. LDA $BA+ z( d0 Z; N  g4 D, m
  192. CMP #$00
    . t* c, W, [' b! U" U
  193. BEQ FREEWRIYE# ?  t( x% g& t( b: m  o

  194. 7 C7 S$ d5 d. Y
  195. CL2:! K6 R) Y6 T# r9 u' _7 Q6 f
  196. LDA $BB: f' q6 T' o; E+ b
  197. STA $2006
      ]8 R7 b. \, p; o. M
  198. LDA $BA+ u$ N1 {' H3 x: B5 M2 u) D1 K
  199. STA $2006
    $ f7 ^6 e5 m$ _* c* |' o( N! N
  200. 4 M* B4 z1 c8 E# l  [' R
  201. CL3:% R, Z- u8 D: q7 y
  202. LDA #$00
      r  {4 b+ {; M7 _
  203. STA $2007
    ( A" y, S4 k4 \. s' C3 f
  204. ! j) j* @. d( l/ F5 l1 @& `
  205. CL4:; E1 n3 v2 P4 c* f5 |1 Q6 X
  206. LDA #$00% H7 D. ^# [: h
  207. STA $2000
    7 }( s, b" {: O9 o! d2 [
  208. INX
    8 W9 e9 E5 W# [0 v7 D
  209. INC $BA) w5 d* v8 ?4 f! T! f7 F
  210. CPX #$00- ^3 m- W) ~) v8 E  ^- o8 `9 J! x
  211. BNE CL1
    5 b7 @; w8 G% j: W7 Y
  212. INC $BB
    ' [& z3 U" ^8 |- y& O# p
  213. JMP CL1
    , W0 ^9 c! d, |+ ~; k
  214. ; q) M" X& T$ I4 i: @2 _

  215. * I0 c) Y2 K/ J3 |8 o
  216. FREEWRIYE:
    6 i  m1 f/ B  R; K+ }! X
  217. JSR FREE
    7 {- D+ D  n3 E4 p6 d5 M! T

  218. 6 }% q: r) ]# {' ~# B% @( L& Y
  219. ' M4 |. E$ E2 B7 }' U- c& p# `

  220. : w" _* `# O. U- T

  221. 8 G4 M- l8 B0 v+ ~- n9 m
  222. : T8 O7 l& R. A' b9 r
  223. CLEANF:                ; 恢复现场& e! \, \% P! h, y, ]; v
  224. LDA #$08/ X( b" v& r2 X
  225. STA $FE' U$ a7 F2 G8 {% `- G
  226. LDA #$008 `' y9 h4 y3 _5 ?8 R& t5 O! X
  227. STA $07F6- Y4 }. L# o# O1 G! a
  228. LDA #$24
    7 K. t2 l+ A  e5 A, Y
  229. STA $7FC0, p. V0 s& I6 K5 Y% S
  230. PLA9 o! B0 X" w  A8 K; x- R! i
  231. STA $B8
    * a- `+ O& k, e7 D3 X4 V
  232. PLA
    / L5 ?: D* M4 H+ v
  233. STA $B9  ]3 V/ b% i8 H" C: j
  234. PLA
    & d7 M3 _3 n8 i+ w5 _; N9 c
  235. STA $BA* P; L6 h/ B! _( z9 b8 `! }  h
  236. PLA
    / ^; r7 _& D+ H- T/ |; V4 G
  237. STA $BB! K6 I! I6 C* t4 Q( A& I
  238. PLA, C4 h% m$ u; u$ t7 s
  239. STA $BC9 |0 Z3 T: c; N1 j
  240. PLA+ x3 B! v5 f1 c+ _9 c9 \; Y
  241. STA $BD2 h0 B" t9 W: j
  242. CLRF:
    + U( @; p  {! N8 k5 n* k
  243. RTS) r; S2 q" }2 C
  244. # z/ G! ?: ^3 k6 U
  245. W_DATA:
    ) l; {+ g2 c+ f2 c5 m
  246. .BYTE $00,$01,$02,$03,$04/ H0 Y4 O: |7 M
  247.   . p) _" W$ M: F. }/ s; R. L
  248. W_PPU:- S; A- `8 s5 V3 k1 l+ |
  249. .BYTE $98,$97,$90,$9D,$96
    * _) X4 h- G/ U$ _$ j

  250. 5 K8 k/ |% |8 o* R! d" P
  251. P1_STRING:
    8 y; O, _+ ]3 j& j
  252. .BYTE $9A,$82,$00                ;"P1"  D' u1 N& t4 D- C% _

  253. ) }, ~& U, ]3 a) _7 o7 m# q0 h
  254. P2_STRING:
    ! h8 z; x3 e7 m6 K
  255. .BYTE $9A,$83,$00                ;"P2"
    0 ?6 ^. O& X( T
  256. - o, `4 k( h7 m- f- m( ^! l5 K  u
  257. WEAPON_STRING:1 @& ?8 {5 R  ]7 `* e
  258. .BYTE $A1,$8F,$8B,$9A,$99,$98,$00  ;"WEAPON"' S% M) y" b% g

  259. $ F; D, ]  h# Y, W: z* h* ^
  260. RELIFE_STRING:$ D+ _8 u8 n" X) j4 ~
  261. .BYTE $9C,$8F,$96,$93,$90,$8F,$00  ;"RELIFE"6 [- z9 h! h0 e1 K" ~' v1 B6 u

  262. , y; N" A) \. h' p1 V4 \. P) D6 ^2 i
  263. P1_PPU:0 l9 \, x2 G! S" r
  264. LDX #$00
    . s' C; Z0 |+ Y9 N

  265. ( |, Z: n" c! |1 r
  266. P1_PPUW:1 a/ l" E1 o- Q; k& a# h& l+ w
  267. JSR PPUADDR_PROCESS# ~( c' S' z# z$ ~) }  |
  268. LDA P1_STRING,X- Q3 y4 R. y0 k7 V8 ?
  269. STA $2007' S' a' G2 u2 C3 ?, H# r+ Z5 p- N
  270. INX
    / l0 v6 P$ h, l
  271. INC $BA
    - M' d# G9 O9 B% g% I8 O' d
  272. CPX #$03
    ' ]. Z* S3 n& q1 x& w7 N, k
  273. BCC P1_PPUW
    + b& e$ D4 F( H7 a1 b$ |1 `, k( |
  274. LDX #$00( ]- Q; q4 q/ v) [; L
  275. RTS
    ( Q& I- X$ r0 ?- M$ U

  276. ' j- ]/ e1 w/ t8 G. W
  277. P2_PPU:
    ; {2 s' n, d) ?$ o" l! b' W% {
  278. LDX #$00
    1 P- k6 l* j$ K; d$ @1 e
  279. ! [  c8 \& C( S2 I) K/ d
  280. P2_PPUW:- W4 R& p) X1 E8 g' e
  281. JSR PPUADDR_PROCESS5 e/ R; J# ?6 t+ t& M4 J6 p
  282. LDA P2_STRING,X
    / B2 Z# L8 m" @5 j$ a9 H) k7 H
  283. STA $2007
    ) C, K6 W) D$ T$ a
  284. INX
    ! g1 q: L& D! m; h
  285. INC $BA
    $ w7 p% G$ W1 K! B( `$ d
  286. CPX #$03
    % W2 d! \/ t/ z0 b& o+ N4 e
  287. BCC P2_PPUW: Q4 C' k! q  f6 M0 s2 A0 w
  288. LDX #$00
    / v: N* g. \4 O2 o5 B' e% ~) G
  289. RTS
    : {, ]( N- T8 s  M

  290. 1 J" X, Y" A7 z  J2 B" G

  291. ) \5 h, |9 Z* X' k3 \4 h
  292. LDA $BB) E4 h% j* K, a
  293. STA $2006  G7 |) p, o' f* l, P
  294. LDA $BA3 x$ I- T8 o: Q0 J0 `1 h
  295. STA $2006
    0 A6 l0 G" M4 B+ ?+ ?6 Y
  296. RTS5 k: W7 X8 m6 ]2 A3 W+ _* h) b
  297.   |7 s6 W7 j0 r9 h$ x, |) s' o- |7 E$ l
  298. & }* {' n* }& L

  299. * `% y! |2 |% m, H
  300. PLAYERLIFE:
    7 p1 C# @( P1 y- j3 ]
  301. JSR LIFETODEC+ W$ i8 p! y7 b
  302. LIFEPPU1:
    / A9 T: Y, H+ \0 l+ F& c  w; A2 {, N% u
  303. LDX #$00
    ' h8 B2 p8 M( X& G
  304. LIFEPPU1RE:& M5 v  S& O+ F6 _
  305. JSR PPUADDR_PROCESS
      B7 P2 W& l2 E: s1 A  V* \
  306. LDA RELIFE_STRING,X8 o2 i* z( f& n  C9 Y; H' g+ z
  307. STA $2007
    ( c& @  o8 q; w! H; m8 B
  308. INX
    ! E, i) ?! @  ?5 w, r
  309. INC $BA
    ; f3 h6 O9 p. ?- h
  310. CPX #$077 H0 r- r" {& C5 Y6 ~" Q. C
  311. BCC LIFEPPU1RE7 D) R8 s6 G( @+ n- y/ V" Z5 H, I2 M

  312. 9 r" z3 u0 @0 J/ b2 J
  313. LIFEDEC:                ;生命显示写入! _+ O/ C% T% `4 f5 k. K! p/ E9 P8 S
  314. LDX #$002 d9 x& c5 |0 P( Q7 f
  315. LIFEDECRE:
      E- ^( T1 O4 U0 i4 T3 M  A  T: ^
  316. LDA $7A03,X
    " ?+ A* U+ `5 `; j$ Y
  317. CLC! Z4 ?. L" I+ E" k" [4 H
  318. ADC #$81
    ) i/ t. W, V; M0 n' O# y+ Z
  319. STA $2007
    8 c% u2 R. w7 ^8 y5 K
  320. INX
    ( G; `% Q# `1 H5 Y
  321. INC $BA, Q. O6 Y* f( @9 }8 p- R
  322. CPX #$036 k5 [* Q5 u9 k0 k4 _, L: H: |+ k7 r( K
  323. BCC LIFEDECRE
    , [# O6 L; m4 B8 Z; p  ~) K$ |
  324. LDX #$00$ M0 ]9 f# s' _. _4 o+ E; ?# f3 M
  325. RTS/ E/ `9 N! w) A: [* s0 \
  326. 7 s) ?# h3 {3 B
  327. LIFETODEC:                ;十进制转换4 v" a+ u* J8 \3 q! e( T
  328. LIFEL1:        ;initialise1 k. z7 e4 q1 W' ]7 N  H/ n
  329. STA $7A00        ;$7A00=F38 w3 d1 g6 I  ^7 S4 K
  330. LDA #$00
    # D: n) Q! w! M
  331. STA $7A03        ;$7A03=00, S& _7 s2 N9 o  \4 R* f! h
  332. STA $7A04        ;$7A04=00
    1 m/ ]8 a( J  \2 v
  333. STA $7A05        ;$7A05=00. p7 ]& p/ g1 b7 J# Z' ~$ A
  334. LIFEL2:        ;copy data $7A00 to 6001. c. [: e- F. _- j& w- a
  335. LDA $7A00( q5 B5 c  d, i4 Y4 L% _( o
  336. STA $7A01- l- s, q% ]3 ~
  337. ' q* l* ~! R. y5 P
  338. LIFEL3:         ;hundred
    5 p% M& U4 h7 g, e. V# t$ }' ~
  339. LDA $7A01
    ) K0 I7 o) |$ q" f
  340. CMP #$647 ?$ M6 _! E2 Y: }9 B3 O7 Y! v
  341. BCC LIFEL6                ;$7A01<100 goto L6
    + H% ~, N. x* v( z$ l* [
  342. LIFEL4:# W: ~& ~$ G2 X, `6 x7 c7 b+ t
  343. LDA $7A01
    * r) ^; T/ W6 h/ b2 \2 x- B9 w
  344. SEC+ S/ V3 t4 a8 N9 n1 A! x: X
  345. SBC #$64        ;$7A01=$7A01-100
    , j( @) R' a7 ~/ v0 a$ k
  346. STA $7A01
    2 d' Q; ~$ Y; l" W6 n, o
  347. INC $7A03        ;hundred++, @( w" f1 @6 W; ^
  348. LIFEL5:) V; m4 f0 H, j" M, g' ~4 ^
  349. LDA $7A01
    8 o) I, [7 u+ J$ s/ R; ?3 ]
  350. CMP #$64
    ' }) |( k  m* @+ {
  351. BCS LIFEL4                ;$7A01>100 goto L4/ x2 x4 O$ s* `' M+ H

  352. * U+ R8 K2 Y# B1 L/ V6 _
  353. LIFEL6:        ;decade
    ( ]9 H2 ~% O8 m" F7 E- u
  354. LDA $7A01
    , W2 r0 `, x  T1 p/ M
  355. CMP #$0A
    3 P  r. c9 `) s; L, J
  356. BCC LIFEL9                ;$7A01<10 goto L9
    ' _4 {4 B& x& U" s: X
  357. LIFEL7:        ) Z' a" c, {& M8 [0 C
  358. LDA $7A01
    * o1 D: h/ O, }: C& w  V. T
  359. SEC
    6 j7 q( i0 P! G, k5 @
  360. SBC #$0A5 |4 W8 S$ T. V. m1 K& e# `3 n
  361. STA $7A01        ;$7A01=$7A01-10
    : K# N6 q+ l+ p/ R! p* O
  362. INC $7A04        ;decade++
    ( R( y# a  o' s
  363. LIFEL8:# t! P; W* v. G( s+ D# @, [+ E& I* p
  364. LDA $7A01& A- v6 X& v2 h4 B
  365. CMP #$0A  _) I4 o. }" d1 D6 u
  366. BCS LIFEL7                ;$7A01>10 goto L7' J% M1 g" `; u( n% t2 ]" G
  367. ;unit
    * z- U: K& e* @+ ?: Q6 v
  368. LIFEL9:& g+ q) ^7 H2 L6 y* B  p0 J
  369. LDA $7A01        ;$7A05=$7A01$ F" T" g& k: Q9 v
  370. STA $7A05        ;unit) U, m# y7 X# S0 w% N0 ]# h4 ]' M; j
  371. RTS        ;return
    7 w# v# i) q, ?; J/ D

  372. ( p4 N$ w' n) t. i
  373. 2 t4 I/ L8 m6 W8 I& l

  374. ) r- r& T) r$ O  H
  375. WEA:                ;武器ppu写入. y; h2 Y5 I: F  ^" \
  376. LDX #$00% X& ?- I9 z% L2 V) z
  377. WEARE:4 G* p2 T) u" F2 H) D
  378. JSR PPUADDR_PROCESS5 `, X" Y% O8 b) p( `
  379. LDA WEAPON_STRING,X% k* k8 K* x+ x2 U! a+ P  ]
  380. STA $20075 ?+ ]9 [8 g! j, f! Y4 O0 r
  381. LDA #$00
    " Y1 @- P3 v% f9 M0 G
  382. STA $20006 x4 F1 f: n; k+ h+ C
  383. INX
    : s5 s4 }& a) ]& T, I
  384. INC $BA
    / y( ?. }2 m) ]
  385. CPX #$07
    * z. n1 g+ |" \8 M6 n
  386. BCC WEARE
    ! d, n2 }% `5 N6 [/ C  @4 T9 O# g
  387. $ \9 b; r9 L3 N7 A/ q* i; ~# e
  388. READ_WEA:' k$ P* v' @9 Q! g0 I
  389. LDA $B95 r" h, W5 P, n; `
  390. AND #$104 y: [+ k1 b$ [
  391. BEQ NWEA
    % i! @3 C. X! m. z( I. E
  392. SWEA:/ ^& b( ~' L4 J3 U
  393. 8 s* U) o" w4 B5 |/ N- m
  394. LDA #$9D) t. C7 Y+ D- S! m7 v  ^5 A
  395. STA $2007; s# s4 j2 J8 }8 K+ v4 {$ T! F
  396. LDA #$004 y! L7 |1 S1 P
  397. STA $2000
    , s4 j1 N; s  J- g- T9 _
  398. INC $BA
    % V$ c" A# N. ^$ M* @
  399. LDX #$00
    : e3 @' q; D" @) L6 c5 [, P8 u
  400. JMP WEAREAD
    # X: e6 T9 I1 D% U. q9 |. d
  401. NWEA:
    0 Z; d+ D3 {7 F4 M& ?4 E! m
  402. ( M  [4 K( L8 J) E" B/ V
  403. LDA #$8D
    3 ]8 s. \$ m( u
  404. STA $2007
    ! L& d& U. D( S) b
  405. LDA #$009 o+ p) H* t8 h  Q/ g0 d( a) X7 C
  406. STA $2000
    / p: D6 P7 H# L! {1 O% k4 F6 O8 m
  407. INC $BA
    * T4 y) ~* w7 [3 n) Y
  408. LDX #$00" W" `0 A5 Q( @
  409. WEAREAD:
    6 h( g- u' _( y( ~% _
  410. LDA $B9! k# R) b; V0 g6 I# |$ j7 k" o
  411. AND #$EF+ I* ?) |$ j( n6 s% J' O
  412. CMP W_DATA,X: a. n4 u$ o2 M; M7 J
  413. BNE WEACMP
    # Z5 k4 i$ |; B9 a! W! w) J
  414. ! N' h+ _* `7 @+ L
  415. LDA W_PPU,X1 r6 E: W% G; X; o1 B
  416. STA $2007
      k; h5 k5 A1 {, O( W9 d. \
  417. LDA #$004 y5 ]) h, x( D% k% X0 c
  418. STA $20006 |7 G% p) f, B2 E$ _

  419. 1 h; @# E; Z6 C; K( j# A
  420. WEACMP:/ D; p; u- ?. y7 ?
  421. INX' q% v4 P5 r1 \0 ?1 X: |8 Y+ v
  422. CPX #$05
    8 \7 |7 k4 d1 A( {0 @* u% @
  423. BCC WEAREAD: m2 k  f7 k; y. G1 l. K
  424. RTS6 b! D" Q2 J5 ^8 W

  425. . b7 ~. W2 I2 N6 l; I2 d
  426. 1 o( M! s0 f% a" s! I$ Q  x
  427. PPUWRITE:' [( o. s) B2 |. A; q
  428. PLA$ o) l3 a, ~0 ]/ u# c
  429. TAY3 G" j" h* i) L" m! a$ E
  430. PLA
    3 e, e/ r3 @7 K# G2 Z. T
  431. TAX
    + O2 x7 c7 y! }! e0 S
  432. PLA' L; J6 v- U; r: l. B$ g
  433. LDA $259 s1 h3 J6 o+ i& e! t
  434. CMP #$00
    1 j4 f5 Z' z9 h3 z% V! D
  435. BEQ WP1% [  D- ~* M& k0 I( M
  436. LDA $25
    4 C- \5 N( R% O" ^; S7 \2 X" |" p
  437. CMP #$01
    , \; Z& [% `. }6 s7 B& |
  438. BNE WRE
    / ]: [  b( w* X- `) e# S  d
  439. LDA $F5,X
    % o7 `5 c9 F8 E& I6 r! D
  440. AND #$EF9 i, {# m3 V, V
  441. BEQ WRE3 ^- g6 ~, f4 i2 Y9 z# t8 E2 r
  442. LDA #$001 C4 C7 L' ?& z) T7 K
  443. STA $7FA0% _5 T& f8 Q$ p* ^( H: _8 {6 G

  444. * e9 }0 W6 f# y' V* @' u
  445. WRE:
    ' c/ a' p8 f; V' `7 I0 b% p! g
  446. JMP $A000
    ! ~0 b' i% @9 L* z. s% M

  447. ! ?6 \* Z8 K5 c" W2 z7 m7 I
  448. WP1:: n+ a4 g/ q0 E: g$ g) m& r' t
  449. LDA $7FFF
    ' {5 [) S4 K; D( ^
  450. CMP #$FF) K# E% @6 H- f
  451. BNE WRE
    ' D! b+ ~9 u& Z$ }8 _
  452. LDA #$00/ E. r3 A5 l+ b, B6 f# H
  453. STA $2001- I* H9 ?6 a- x: Q+ v
  454. LDA $BD" r; |) g0 ~" ?) q' z: v* h3 X8 F. H
  455. PHA
    , ^/ V( j$ B1 C  n: v& g
  456. LDA $BC
    ! W2 c7 }; `* n4 |! }( X5 i2 e
  457. PHA) `3 B6 D) w$ K- u- V9 B# A$ T
  458. LDA $BB
    , P. t7 I. z& f/ @+ h
  459. PHA5 b2 `: t* u; Z( v. j
  460. LDA $BA$ C5 U: @0 r0 R! S
  461. PHA
    5 `- a3 F* u  u, A* p; g/ H* u
  462. LDA $B9
    ( g* H" z$ q6 g; A& G" ]
  463. PHA4 U5 q7 m* P0 |& k* s
  464. LDA $B8
    ' v4 J" G/ R+ ~9 m: s
  465. PHA; I/ f& j% r+ R" w
  466. LDA #$00
    9 G0 B. H. Z: ?& w* e1 A' e7 _7 `
  467. STA $B8
    / X8 c/ a! N1 _8 j- g: f
  468. STA $B91 f! r: W& ?# K  {# G/ o  }1 F
  469. STA $BA% W* M1 m& Q' E" Q8 q* b
  470. STA $BB) p  v. m) S+ Z& k: S
  471. STA $BC
      a. ]' t7 m2 v3 Y0 E- z
  472. STA $BD* \8 O& j! D) U' g
  473. LDA #$00% X' \0 ^* X7 W# B! V; H
  474. STA $7FFF% l. q2 @' i. `/ {0 \
  475. LDA $30: S6 A- A9 x0 {: e) @4 q# r, `) C: g
  476. CMP #$02
    $ ~$ F5 |7 T  M4 z1 p& D
  477. BNE UNPROCPL1 V# R) V5 |/ G* u, P
  478. LDA $7EFC: |4 D0 {$ f0 m+ t" M
  479. STA $FC
    6 H) S: C8 X  n; s" g
  480. LDA #$00
    + B9 C- W3 j9 _
  481. STA $A4
    ' `- n1 o+ P2 A+ s3 Z* [
  482. STA $A50 p0 o0 ?5 t, g9 J: p6 z0 [
  483. UNPROCPL:1 ]# P8 w( T2 ?
  484. LDA $7EFD+ _6 @2 B8 t  Y3 \* E
  485. STA $FD
    & t: J2 l9 \( q1 J* G- N
  486. LDA $7EFF
    4 g; i0 M9 k1 Y3 q2 L
  487. STA $FF; O9 ?( \, Y7 Z" Y7 k+ Q
  488. 5 R* d9 b4 k6 F4 ^
  489. WL0:, m8 f, b( D' l3 c
  490. LDX #$00
    ; _6 W; J2 L7 ]1 T" a8 z9 B( T
  491. LDY #$00+ n7 q3 c) j4 u% U: |% c
  492. LDA #$00: D# d9 R  \0 b) _. i) m4 C) B
  493. STA $BA
    . f) K3 g, i/ W0 L+ f- j2 K
  494. LDA #$20, y( [7 h0 g' F
  495. STA $BB& z6 T2 u9 n( q0 ~; T# f, @2 `. d4 j
  496. LDA #$00) R* D% U2 f+ N$ i. S# t8 N, u
  497. STA $BC
    9 l% X7 r2 N8 r
  498. LDA #$60
    ! }3 |# z, c0 C
  499. STA $BD
    ; A- x: ?- N& B, |

  500. 8 D; p  W+ b+ Y* ^2 x. e2 S
  501. WL1:& t4 W6 h  L! x+ G
  502. LDA $BD
    ! u* `! Z$ P7 n7 ]! X; u
  503. CMP #$70
    ; T5 @4 @( F5 u" h
  504. BNE WL2
    2 x: D$ D; s# _1 ^
  505. LDA $BC* P5 y6 R4 T9 ~
  506. CMP #$00
    ' O6 ?4 H; B- }( n5 T
  507. BEQ WLR( ]8 s! _' q5 m0 f+ H

  508. 7 T, W2 b2 F: _5 U% S- h& `) a, }9 v
  509. WL2:
    7 b9 j& u6 e. G
  510. LDA $BD
    7 ?* `- n" D7 j$ w' j- @
  511. STA $2006" O. t- y! r8 U
  512. LDA $BC
    ) q* ?6 v% y* w% d
  513. STA $20068 P- g9 R1 u/ q' z' }. c
  514. : a1 _9 z6 N5 N: c
  515. WL3:
    0 d. S) l& y* y- |9 k8 R* w1 H
  516. LDA ($BC),Y
    ' A* f8 y0 R* w- U: j, F
  517. STA $2007
    5 ]2 t' H- O4 U6 z

  518. 6 m' M" |7 n  B( @7 h/ ~
  519. WL4:
    8 b  Z3 m$ u* S2 C1 B
  520. LDA #$00+ h+ `' _8 l6 S2 X3 b+ |
  521. STA $2000
    9 `! ], |3 t% E: w% E
  522. INX  F4 V1 ^2 c# `
  523. INC $BA: m' O8 w) @' w! C+ q( M
  524. INC $BC1 n, a- _4 F6 A; q# J
  525. CPX #$00& s  s( R3 {0 u9 e
  526. BNE WL14 A+ u; @. j# @9 e0 j
  527. INC $BB% D7 ?% Z5 U2 a) I( |( w
  528. INC $BD2 Y5 ~" C  F' s: V
  529. JMP WL1! D  N8 L2 X1 O- ~/ r9 |  J
  530. ) x- E+ s# H8 [0 j
  531. WLR:0 C0 b8 u; n0 z8 S* ?! z# x1 L
  532. LDA $7FFE
    7 R! Z) H1 q  L0 s9 U
  533. STA $07F6! t& u4 I+ p1 P& j% N* T
  534. LDA $7FFD# y- N9 K% x& x. Y: r- W
  535. STA $00FE; m5 [& E3 E  W. m: k( y
  536. LDA $7FC1
    6 U/ W1 e3 S% D4 m
  537. STA $07C1" f2 Z0 j& Z" M, K1 \
  538. LDA #$3F
    9 P9 B, A/ M2 K6 Y# [
  539. STA $2006
    ! S0 v. T# [2 v( o# h7 K
  540. LDA #$01
    4 A" L! D5 B2 p) W& L' \: @/ H
  541. STA $20068 y* X: J0 k9 _- U& H$ I
  542. LDA $07C1
    6 n0 w) m$ b- r
  543. STA $2007
    & s( z& ]2 Z; E: B- Y& O5 Z
  544. LDA #$00
    & A% X$ u/ e. N  Y' @7 p# K# u6 F
  545. STA $20008 F  v* Q: d6 G  _" \) S4 M! U( p
  546. PLA
    + l0 a9 Y7 k' I# a* Y
  547. STA $B8
    7 `2 x9 w+ ~, ~! b
  548. PLA, J" G" b& q" J# g: D% x
  549. STA $B9
    7 p" k# b5 Z. i4 p# r( M* P
  550. PLA, t2 @, b. t; O& [" q- H
  551. STA $BA
    . C' h! |( m2 I
  552. PLA
    3 i5 c. |: o2 a7 U; T  d: \' O
  553. STA $BB& n0 F4 ^4 }; g) Q3 R) e! J
  554. PLA) w8 V, a8 J( M! ?8 }
  555. STA $BC, I8 J# i- D# t6 g3 s" g
  556. PLA
    0 X  i1 G# l8 H3 Q. I) f
  557. STA $BD/ \0 c! z8 P- L2 L4 A
  558. JMP $A000; R2 H' q. Z8 L  y/ ?) F

  559. 2 B9 V3 ]5 a( v
  560. FREE:                ; 暂存器保护; i* u% ~# a# a2 z" U/ _/ z2 G+ k& ?" t
  561. LDA $BD, ]4 `3 c, i8 }5 ~6 ^4 w: \- t. F
  562. PHA
    ' T( r/ X$ [! |! [' Q
  563. LDA $BC
    - M6 S  ~# V$ o, h6 i
  564. PHA
    / ^7 A9 {; C3 P9 e
  565. LDA $BB
    ( {+ ]8 G8 p; |( V# Y
  566. PHA5 e1 w- n; [! j. m
  567. LDA $BA
    & c! j$ ]( Q7 p4 S
  568. PHA  x) f6 q4 K1 V. e  i$ c( J- Z
  569. LDA $B9
    ; z: b9 X0 V+ b7 a; u
  570. PHA
    ) e7 i0 r! @/ e% b6 ^! k
  571. LDA $B8, w6 [, I9 c- ]7 ~$ _3 t* A5 f
  572. PHA
    9 |& g2 e7 b; X* f1 a9 `
  573. LDA #$00! V. `$ V! R3 B  ]) q0 K
  574. STA $B81 R6 v0 a9 b$ y# z6 N7 B/ v. E
  575. STA $B9
    ' d' ^4 ?8 |0 G
  576. STA $BA( y& j, W. ~; i" D
  577. STA $BB% g/ j$ N- l) A3 _, ~3 x8 S
  578. STA $BC
    0 M3 J4 i7 W: x8 y" t* w$ j7 H/ N8 i
  579. STA $BD( u9 n8 g2 n2 `. M# D2 c) ^

  580. / K' G% K# U( \% J
  581. WEAWRITE:                ;武器ppu写入5 j* ]% x7 v0 L0 z6 _/ c
  582. LDX #$00
    9 m4 C0 @  r9 S* X; F* Q4 `% ~3 T7 e
  583. LDA $AA: L4 y% b* q1 `. A- B
  584. STA $B9
    " k* D6 C9 h" ^$ D7 Z
  585. WEAINI:                ;地值初始化
    : W( J3 |+ Y, ]
  586. LDA #$A4' w, E8 R4 {1 j9 l" c; E
  587. STA $BA
    - N; [2 \' \* E# }! d# r$ V
  588. LDA #$20
    ) L3 T' v& Q2 d7 Z
  589. STA $BB
    8 S" w5 [; g8 H& D
  590. 3 m) H1 J( b4 a
  591. + i1 z) q" ^5 b: E
  592. JSR WEA, _% z- C7 g5 F$ e9 I
  593. LDX #$00                ;武器ppu写入; D: a8 S; I4 Z4 v9 m
  594. LDA $AB
    5 s  {5 h" H* u+ g+ d  o, x8 {
  595. STA $B99 Q/ o% i( j! m# ^- R+ R; E  ~
  596. LDA #$B37 q0 n# }5 u, a% H+ f, P3 a
  597. STA $BA  r, l* u7 {7 ]% n# n0 n8 t
  598. LDA #$20
    ; _" _. E1 Q. F2 \" Z/ t
  599. STA $BB
    + w3 F) W" ~7 C# J/ J2 ~! V& |' j

  600. ; R( f8 X; F9 u4 x; s
  601. ' _, T( A3 d. x3 S* l
  602. JSR WEA% t( F6 z& x$ D, p9 o
  603. " _4 P2 r) P9 x$ M2 W& ]5 ~
  604. LDX #$00) X8 ^1 c* G' C
  605. LDA #$E4) a& d9 ]" r: i" e. O) l, x
  606. STA $BA% A0 C7 @; f, h
  607. LDA #$20
    . l$ o5 y' W+ p2 M) q# o5 `
  608. STA $BB) ]* q% X! j. T+ F, v5 C
  609. - m6 l4 w, N5 m
  610. ( G( W' z* U$ P/ D4 g3 R
  611. LDA $32
    * {* c6 E) z; u9 O6 \1 _
  612. JSR PLAYERLIFE7 j% a0 p5 R$ C# Y6 N0 _# Y
  613. 2 F8 h6 b  q( g8 @- ~/ D' ]
  614. LDX #$00- A7 E& v% ^* D0 K$ t& V5 n
  615. LDA #$F3: R) N7 z9 X8 z5 B# G2 r1 u
  616. STA $BA# z6 P1 N& [: G  t/ H- h* Y3 l
  617. LDA #$20
    - K1 T9 N/ l  p' N# r- ~1 t5 `
  618. STA $BB
    ' I6 B9 e+ N9 K

  619. & _1 C9 d" L# p9 M/ l9 @4 v' ?& r  |

  620. ; D) W7 B# b. P) J6 _/ R
  621. LDA $336 H1 ~$ H, q/ S3 Q
  622. JSR PLAYERLIFE* r( \7 |7 v; f8 V) M+ A
  623. 8 V7 w& x4 Y6 w5 z. I

  624. , \) I8 M" f3 _  g9 B; I' x
  625. JSR PLAYER_01_PPU
    ) }0 w- d2 R3 U0 S3 I. X% g
  626. JSR PLAYER_02_PPU
    : Z; f7 L' S) b+ [" _5 b. x$ I% Z) {. |& C

  627. . A8 i- Y4 ~1 z4 {4 |7 r- `) v

  628. : |+ p8 ^, ~+ K8 v/ G, }- o
  629. JSR PAGE_PPU
    - j5 A0 f  ~3 ^* z4 W% H
  630. JSR PAGESELECT# A2 S5 _. {' n( q1 J3 K
  631. 5 r: B8 y3 F. K& |* h& U& [
  632. - o9 n* D! f! S. v# C- U- j
  633. 3 L4 p- m; H$ m* O0 o& e/ j2 c

  634. ' }. @2 B( h* }/ L  k

  635. : g0 T2 d4 m  t/ o9 u1 M$ q" {
  636. : U9 O) X4 R6 G" {, f+ p9 r* a

  637. ! o) M4 Q& \! x) U  Y+ W

  638.   x% i* z* M* |, j; E3 W0 ]

  639. . D9 k6 c+ z+ n8 O; {* k
  640. $ G2 ^, H; }% f) _
  641. $ Q4 w$ c) H! }
  642. 3 G( Y$ C; {+ w7 i7 Q  a
  643. " i" b, q% s6 i6 p' S, e7 K
  644. PLAPRO:                ;恢复现场
    ! f6 |0 p/ @3 A5 O8 `
  645. PLA
    : x  i8 n% e5 c! ^, E
  646. STA $B8
    : R/ X+ W5 s$ J; A
  647. PLA
    8 y0 r3 t3 `; Y* Z2 o- X- m4 N7 J
  648. STA $B9
    / [* Z- V. j9 t4 I- Z+ x
  649. PLA0 d( s. V2 L' Q" A/ ~% K  C) e2 w
  650. STA $BA
    / [) v6 t* q9 H6 o9 X
  651. PLA
    " ~7 [. P# d$ f: W1 P
  652. STA $BB# z1 n% U) r$ E
  653. PLA
    ' J# B5 d- E9 ?6 \. B
  654. STA $BC+ ^" i7 ~- J# l. ~! ^. {' Q
  655. PLA
    * G* n2 l6 v2 O+ R
  656. STA $BD0 ?7 M% f/ G% U$ o; h; [
  657. FREERTS:
    8 W8 ^0 K' G% `3 e2 Y
  658. RTS
    ! S9 H4 |& v! }. U/ c& A

  659. 0 Z8 F9 d) ~3 a  o* D
  660. INVINC_STRING:                        ;invincible3 G, p6 T7 h2 ~( T% c! k) N, {
  661. .BYTE $93,$98,$A0,$93,$98,$8D,$80
    6 d- N9 e3 y" w4 F
  662. ' x! y: ]6 a' k5 r6 v) {1 @( ^
  663. INVINC_PPU:5 \4 s9 L3 Y" M. S* h: d
  664. LDX #$00# k0 I4 q/ }3 _, A% h* \5 \
  665. LDA #$62
    2 B4 X0 G0 s* w0 ]3 O+ Y1 m
  666. STA $BA* Q0 @7 c3 d4 s! T2 u* R
  667. LDA #$21
    # l6 g& N3 l5 s, K, T
  668. STA $BB
    6 _. ?1 F" ~- O

  669. . |$ ^! s! n+ _2 ]% ?

  670. ! i: g) S) O# O1 v9 u
  671. JSR UP_PPU! y+ a+ |# C; t' S
  672. JSR INVINC_WRITE
    " ?' U( h( I/ ?0 p! b; ?
  673. LDX #$00
    5 M! e* R+ S7 [
  674. LDA $07A08 z; G+ e) Z6 ?, k4 h+ S; V9 x/ K
  675. AND #$01
    0 P! l7 @" U/ b7 n3 N
  676. JSR ON_OFF_PPU
    - b  L4 @  g3 o" E. ]
  677. LDX #$00: t( I  j* h* v+ w3 d0 ]
  678. LDA #$71- J1 `$ S# h8 d0 m# s% @* k" r# k! h
  679. STA $BA
      J/ r- a# R1 o/ G0 k
  680. LDA #$21
    " ]4 x4 x) `! e9 ]& ^
  681. STA $BB
    : F- p: v8 r% e+ r

  682. : G- M1 _2 l2 H9 q
  683. 6 c, z' ]1 z  L6 h/ A  j4 K- Z
  684. JSR UP_PPU) _$ k' g  ?1 x; u
  685. JSR INVINC_WRITE
    % L: c% F; D5 l8 ~: @0 n
  686. LDX #$00% V3 F+ Y. e2 I3 Q' v: O& i& X
  687. LDA $07A1
    / s7 ]( A3 ?. n. t+ f
  688. AND #$01- z. `2 ]" A) y. j# S
  689. JSR ON_OFF_PPU
    ; P- j$ l1 J" t* f. t7 I7 p
  690. RTS- K1 q9 a0 U7 H

  691. / M1 @" Y4 |' `! s: j: C5 h4 Q' g
  692. INVINC_WRITE:
    ( {: k* x9 x; w" g' G8 A; _: u
  693. LDX #$00
    6 [4 @6 g( Z" t) z/ n- N8 t9 ?+ Q
  694. INWRITE:
    : Y& s( G% W* }: C' r5 K6 M' E: ]
  695. JSR PPUADDR_PROCESS
    6 V, _0 C5 y; q2 C
  696. LDA INVINC_STRING,X# }+ p  R: A* q# N
  697. STA $2007
    $ w& z( G/ {& z# Z
  698. LDA #$002 M9 l: z! X; E5 V2 D- T
  699. STA $2000& F9 y9 p% r' u: ]% K
  700. INC $BA& d" w, @, y; t  ]+ t% p! ~3 P
  701. INX
    ) c% ?: B: ^1 F3 _
  702. CPX #$07) \  u3 }9 S! ]; e
  703. BCC INWRITE
    6 c+ E, c1 J7 {" I3 R; I
  704. RTS
    ! q  c4 Z) [/ b% y! s  o
  705. % G# r; X  B$ V1 F7 u
  706. ON_STRING:" R* E6 N# E( U, q! e
  707. .BYTE $99,$98,$80
    % ]5 A8 v  M( ]

  708. 3 q! I/ U3 y# k3 Y$ W2 Z3 l
  709. OFF_STRING:; O/ w0 E0 B, P, S" z0 w" o7 S
  710. .BYTE $99,$90,$90* L1 u  m* B% k0 G8 O

  711. / x& g% f& F( X3 k) g
  712. ON_OFF_PPU:
    0 z6 o( m$ j1 n' O# j
  713. BEQ OFFWR& `6 u4 e) n. r2 @2 }
  714. ONWR:" w  l8 M2 {1 [- m% X- y; k
  715. JSR PPUADDR_PROCESS" u0 }  M0 Q" O; x4 O" n
  716. LDA ON_STRING,X" n' N" n. w& ~3 x9 {( U- b9 {
  717. STA $20078 c: L- @& ?  d7 y1 b
  718. INC $BA
    & G$ Y% H0 a* f4 f* L  B! Z( ?
  719. INX* ~7 {! [/ c  R( q. w. P0 T
  720. CPX #$03
    % I* \* q8 d- Z8 u; _- O
  721. BCC ONWR
    8 P. Z2 A  F; a9 p. o3 K
  722. RTS
    ! m; e6 e' w( z5 V* x- @! i, p
  723. OFFWR:
    ) n+ B1 I: x* O
  724. JSR PPUADDR_PROCESS
    4 w% ?2 _1 j2 p! [) D; |2 O
  725. LDA OFF_STRING,X
    3 @8 q4 m. f1 T. r
  726. STA $2007( m* m* b! A# K+ v7 y) }
  727. INC $BA
    " {, v2 F% T9 ~4 e1 y/ c) x( z
  728. INX, R  H4 V6 R/ @& x
  729. CPX #$039 L" K/ a9 J% t- M* R8 `
  730. BCC OFFWR1 ~3 O* {! p, s
  731. RTS$ w% ^7 E, P8 o0 b* ?

  732. * `  Z8 H5 w6 g( t* {% h- d
  733. LIFELC15_STRING:
    " I. r" q* d% t  S' W
  734. .BYTE $96,$93,$90,$8F,$82,$86,$808 G( Z) L; o, b% T; c
  735. ' ?' w/ K7 R/ J4 d  W) Q, V
  736. LIFELC15_WRITE:
    2 _. [% O  u* }" m  n9 U
  737. LDX #$004 \' G6 U2 a& y$ |0 q
  738. LIFELC15:2 E: M" [6 w; n( x3 L$ p
  739. JSR PPUADDR_PROCESS% m$ X( ?- r" I: C' y* c  U
  740. LDA LIFELC15_STRING,X
    : k5 N& f! B  ?. x6 i$ ^6 Y
  741. STA $2007& B+ k, @6 D) \
  742. LDA #$00
    ' k, ~5 _- F8 y; G) V% K' @
  743. STA $2000- A. Q5 _6 c8 Z  |* @
  744. INC $BA
    ' ^" e9 f3 a& C3 A
  745. INX, @& O3 H7 p% ~# \
  746. CPX #$07( b$ J" V% t' O" T% p, w
  747. BCC LIFELC15
    ! H9 k- X# k* v& [6 B! P" W
  748. RTS! y% F/ l. h& g& x# T/ o

  749. + q3 i& W% w6 y1 P( L, O" v
  750. LIFELC15_PPU:$ a' ^- C: P5 y: O) h" l6 V0 X. R1 h
  751. LDX #$00# q8 E0 H+ j; v( w  `; B# \: ?
  752. LDA #$A2" A4 {- E. z8 Q8 D/ f4 H5 t
  753. STA $BA
    ( D. `* x) m% q, a
  754. LDA #$21
    9 d  u' D: W9 K
  755. STA $BB' k, ]) \' Y7 p# d* N2 k7 L
  756. JSR DN_PPU9 @( M1 q! Q7 Q+ r9 x( l. [7 V
  757. JSR LIFELC15_WRITE; x. y: C6 s% B5 L5 N
  758. LDX #$00
    * o# W. L: H/ `: A' i. Y; [
  759. LDA $07A0
    / D4 S: x' j+ J% `* _9 D0 v
  760. AND #$02
    0 `  Q, D% ]1 n/ g* t8 L& [1 J
  761. JSR ON_OFF_PPU- W* u& ?+ z. S- N- N
  762. LDX #$00( E# R3 O; U* x, j5 _
  763. LDA #$B1
    0 d6 Z+ b' ^8 a7 y  d5 Z
  764. STA $BA  l1 R4 G) ^% }7 E2 o: |
  765. LDA #$21
    , i% E: A5 _8 n
  766. STA $BB$ o5 h' x  d# k- Y  O. R. P- Y
  767. JSR DN_PPU
    ) \( C9 w. k9 R5 @( s, F: ~" q2 p
  768. JSR LIFELC15_WRITE
    ; A7 d7 |5 ?! g6 r8 e
  769. LDX #$00
    5 O$ L) e5 `( M  r
  770. LDA $07A1
    9 ~1 s! I4 o% Y5 w9 |! `4 G
  771. AND #$02  Q. H$ L! [, ?
  772. JSR ON_OFF_PPU
    9 H' [; ^5 [( K( x
  773. RTS  K" i- h3 ]# N% S* ~- C
  774. ! }" p9 F2 E( J# z2 c  D$ o$ ^
  775. DOUCON_STRING:* `/ P* f6 t: c' Y% d4 F
  776. .BYTE $8E,$99,$9F,$8D,$99,$98,$80
    / `9 J* Q8 Z$ |/ v* F7 z1 z

  777.   X0 o% o' F8 z$ N
  778. DOUCON_WRITE:
    % O- |1 V0 f1 t) S
  779. LDX #$00
    % W) m% Z3 o5 n
  780. DOUCON:8 L: t& i" g) p* O7 W$ c4 l
  781. JSR PPUADDR_PROCESS1 c( N* n/ U+ u+ d7 F$ X2 E
  782. LDA DOUCON_STRING,X6 @& n: W# U2 J1 O& }1 n9 B
  783. STA $2007
    % k6 G+ p, ?/ [8 @$ k6 Q
  784. LDA #$00
    - b2 E1 }& l; c8 L- V$ l' @( Y8 r
  785. STA $2000
    ) ^# z3 q3 r/ ?, e# N7 i* r( P
  786. INC $BA3 R$ _& v' \$ p* M3 H
  787. INX( L. o: H; E) q! ~
  788. CPX #$07
    : Q  Z1 w5 d1 E4 q, t; z( H3 B& L
  789. BCC DOUCON+ A  N7 q+ C$ \, p
  790. RTS
    4 F; a' w9 y# ^+ `) Z. b

  791. ' i  L# H5 S8 F# ]" X% [
  792. DOUCON_PPU:! w6 e6 v* n* s7 P; f
  793. LDX #$00
    ) x2 |) Y8 V/ U2 l
  794. LDA #$E2
    2 v* A' x# i( h3 ?# I' E: a6 n3 T
  795. STA $BA3 g! I/ `) d, b* L! D, i
  796. LDA #$21
    + ?& Y2 O9 U; ~/ e$ M; U
  797. STA $BB; Z+ r! q& a0 }3 Y
  798. JSR LF_PPU1 M/ p/ r7 k: v, ~+ A
  799. JSR DOUCON_WRITE1 w  p  O( C8 D. w% @$ T+ W0 Y$ L; u
  800. LDX #$006 {2 e5 B9 m3 |8 E
  801. LDA $07A0  s( w# p9 i* H+ `, O9 K- q
  802. AND #$04! F5 O* z# W& e4 ?) H6 C7 y1 z
  803. JSR ON_OFF_PPU
    4 A. a, u8 t) Z; Y# T
  804. LDX #$000 M- F/ H6 c/ c
  805. LDA #$F16 Y( j) W7 f$ ]. P
  806. STA $BA9 m" J+ j. F; n9 |5 ?- ?' S$ i- s# a
  807. LDA #$21: ]. s0 k5 K4 }: _
  808. STA $BB
      W. O* `5 `; }, }2 D3 A$ ~
  809. JSR LF_PPU; p3 s: g" `6 @& u. R
  810. JSR DOUCON_WRITE
    4 w5 t: ^: w0 c* X/ N2 X
  811. LDX #$00: l4 a5 F4 u3 h3 ^2 o  S5 k7 G
  812. LDA $07A1
    ) S$ d1 ~' I) y
  813. AND #$041 d: a3 }% [! s
  814. JSR ON_OFF_PPU
    , N9 E; c) k; f. {. Q+ O
  815. RTS
    $ d3 Q6 H( N  e% V3 h: G
  816. 6 S$ `8 ~- D. Q! ~& R/ Y
  817. LIFELOW_STRING:
      f/ i0 b" S$ x( A
  818. .BYTE $96,$93,$90,$96,$99,$A1,$80
    : L; R4 y! d# h; n6 n
  819.   h! \; b! d8 c  f
  820. LIFELOW_WRITE:
    5 u7 {9 D5 p3 \8 x5 r3 G% n: V/ z
  821. LDX #$00# K) f" l. L1 d* }# K. L
  822. LIFELOW:
    # s/ w5 L6 c" _! r! b
  823. JSR PPUADDR_PROCESS2 x) x0 Z2 x# n6 T/ _8 e
  824. LDA LIFELOW_STRING,X" h3 j& t6 |3 h* D7 E' w
  825. STA $2007. A! j2 W0 z% s' f0 B4 z
  826. LDA #$00
    " E; Y* w, B( Z. k7 M0 t
  827. STA $20006 e3 J; X6 `" n! A+ r* N2 N
  828. INC $BA/ d5 f3 a* w# d0 Z* n/ q& ?2 D" _; |
  829. INX- v& r3 j& R) k: S6 G
  830. CPX #$07( f; h: Y% Q9 ?$ L+ G/ T
  831. BCC LIFELOW% N; k; S1 c. i- o
  832. RTS" J7 c0 y1 Q7 Y1 o+ T5 @  ]) \8 [0 m

  833. ' ~0 M0 j  t  r1 X0 O' D
  834. LIFELOW_PPU:/ R4 {' E$ r5 H% K& t
  835. LDX #$00% t- Z/ \! ~1 m/ r; D
  836. LDA #$22
    , M' i: |5 V+ _8 R  ^
  837. STA $BA
    + [3 q, e2 ?# l& [- }4 ?5 L7 o
  838. LDA #$22
    # W% T8 ^5 [- t
  839. STA $BB8 w$ a! t: Q' M5 o1 z

  840. 8 g! w6 W% N0 ?4 S3 o+ G" b. N
  841. ; k* T3 a. [' T& D4 n9 @1 I
  842. JSR RG_PPU3 b/ n: N9 x. x- ^" F
  843. JSR LIFELOW_WRITE8 d2 N% m! E5 V; u: k, K8 y$ w
  844. LDX #$00
    ' Z4 K: L& D. G: U- ~% t% P0 E" [
  845. LDA $07A0! U* F: H: I7 Y+ P
  846. AND #$08) b! m) n* \/ U+ H# o2 I
  847. JSR ON_OFF_PPU
    5 F2 [3 F; U7 q; P1 a' g8 K
  848. LDX #$00  O) G4 B0 J& t2 W  I0 z# ~  L
  849. LDA #$31; }6 n6 i: v. w' z
  850. STA $BA
    ; c# S8 F& M8 b
  851. LDA #$221 k3 k6 k+ g% @8 L
  852. STA $BB
    $ L( Q1 F$ w( A- T# p
  853. , W0 J, l/ n$ G+ o
  854. 6 s' b) @- d0 l% {8 o3 }. t9 V# j
  855. JSR RG_PPU7 @3 F  ^" R) j1 r% @/ n1 Q. F, d
  856. JSR LIFELOW_WRITE4 k" C" [: H2 J2 Z6 v& I
  857. LDX #$00" e* Z4 q" d1 ?8 y* C+ h
  858. LDA $07A1( J. [0 i, w# d
  859. AND #$082 u, U2 i, A* b' Q0 w# S8 c
  860. JSR ON_OFF_PPU& G, u. o) I* y) g/ e! C7 G) x0 E' v
  861. RTS, [) j" V9 U# H. V

  862. 1 \$ j3 {2 G- i' B
  863. KILLON_STRING:- d. X1 |: ?$ X% R% d7 l7 c) i& S
  864. .BYTE $95,$93,$96,$96,$99,$98,$80
    # _, n% [& x  }

  865. 6 j2 H2 z/ i0 S, M5 B  X2 o6 N
  866. KILLON_WRITE:+ B$ T( K( @+ C& {7 k' A$ O
  867. LDX #$00
    ' `. F2 A* J4 I" S
  868. KILLON:( [2 {( k% C: X7 e$ r. [9 U7 Z6 M; x
  869. JSR PPUADDR_PROCESS
    6 W2 }- p  [  v3 F* H
  870. LDA KILLON_STRING,X
    2 j) Y* ~# f/ v( V" X
  871. STA $20077 D. L0 l6 |4 f9 L: c. s" }
  872. LDA #$00
    % z8 n' t# B) ]* D  J  }& a3 g
  873. STA $2000' d: X% R# F7 w
  874. INC $BA" d! o7 Y: E$ F& [" o( I% {0 W. m
  875. INX
    , N) ~2 c+ J: \6 }
  876. CPX #$07
    1 U+ v! R/ Z+ D3 S& v: J5 F
  877. BCC KILLON+ o- L3 F6 y& n6 a5 E
  878. RTS% l1 ~2 ]! E4 P  B

  879. 2 E, I% t1 R* I! w% |
  880. KILLON_PPU:
    ( W5 e! j  T- @+ D1 V. w" G% r
  881. LDX #$006 |- |5 f. @+ C; {, d7 A
  882. LDA #$620 R: R: i5 l$ Y( v2 [8 ?
  883. STA $BA6 o  s! O- [7 A
  884. LDA #$22
    , m" V  u6 K/ |
  885. STA $BB
    " N' M$ i7 w' i! H: a1 A* q# g2 L& u

  886. % p' _, N0 q9 l; n

  887. / x3 g" A" V& {3 E# b$ d
  888. JSR B_PPU
    6 r5 p" `) K( d8 T4 g# G
  889. JSR KILLON_WRITE
    4 _  J% T+ o1 F2 i9 y) B6 d' X
  890. LDX #$00
    3 ?& Y3 m) {6 ^2 o' c
  891. LDA $07A0( _7 G2 Y5 _  r  f) b- r0 F9 V
  892. AND #$10; h& i0 ]( {/ w7 G$ T. y, \  l  h
  893. JSR ON_OFF_PPU$ g* {( v  q8 \  C& W! g2 G
  894. LDX #$006 X! ^4 M& ^, z/ C" x/ c5 b0 T
  895. LDA #$71
    0 c1 y/ x8 h6 `- D) a# f/ r; p. ^
  896. STA $BA! M8 d  m2 Q5 C+ @4 ]( J+ h, u/ m2 ~
  897. LDA #$22( Y, T( @. k$ N# }6 p
  898. STA $BB- s0 C9 T4 }: t9 _' w
  899. & U+ g( @, s8 j$ Z; B) _6 c
  900. % i8 h: N8 X3 w# W# h9 o7 Z
  901. JSR B_PPU+ r+ A8 v% I5 z1 O( ^* ?! b
  902. JSR KILLON_WRITE
    # r6 Z7 C+ y: s5 h, r
  903. LDX #$00
    ' J/ }& c- C9 i6 o- Y, s, ~# F
  904. LDA $07A1
    ! B  q0 u& _. ]0 M" L$ j$ \1 W
  905. AND #$10: b/ ?% x, q0 x/ Z) |
  906. JSR ON_OFF_PPU
    . d" O. h8 M0 J% [( n
  907. RTS
    0 e0 X% ~. D! E( M3 q+ L; ?

  908. 1 Q4 h% ]: g9 K0 P4 ~" [' P, k% u
  909. SKYFLY_STRING:
    / Q0 Z  u4 v9 b9 z
  910. .BYTE $9D,$95,$A3,$90,$96,$A3,$80
    ' ^, F' y6 R! O- q/ G" Z
  911. 8 m+ x1 a& o1 r5 H  l& G+ n
  912. SKYFLY_WRITE:
    9 b& \+ K) m+ R" M% ^6 i; s
  913. LDX #$00
    , u0 ?" b  X& N& [& c
  914. SKYFLY:
    - R; G8 b& H- j3 F" X9 _. s2 p
  915. JSR PPUADDR_PROCESS
    # B$ ^9 k7 I( ]7 c9 D$ Z
  916. LDA SKYFLY_STRING,X' c: `- E+ N* Y: ~: I& ^
  917. STA $2007
    . w3 ~/ W$ x' ~) k1 E2 L7 V1 a
  918. LDA #$00
    " i( [' p" L' `* ^  y5 \; x1 @: I
  919. STA $2000
    % X# m' t5 a, o- E! Q. |, M
  920. INC $BA
    4 N5 N  H8 ]) h( ]: [0 w
  921. INX
    % O1 g' B2 E5 w6 K6 y+ [) n( a
  922. CPX #$07. ?* z) d' H( V2 L
  923. BCC SKYFLY% r- V6 @% `8 h/ d% s
  924. RTS
    - n0 e' ^! Y/ ^% a  v9 [  B, f

  925. ( S! x9 M& ^8 s
  926. SKYFLY_PPU:. N' {3 C$ J' T/ ^" w- R% u
  927. LDX #$00& U; k+ |  [& U" ~5 O7 B$ O
  928. LDA #$A2
    0 q, r* F8 `; \3 d; s3 L; b! H; ?% a
  929. STA $BA% o2 Q4 x: G6 e  d3 Y5 `+ s& P; y
  930. LDA #$22( t( X( n2 {# E, P. o! M
  931. STA $BB( E; h' P2 P# S0 v
  932. 3 `9 w3 r& u1 r" p8 s3 }

  933. ( y. M& f. j  |: f4 D: {, J
  934. JSR A_PPU
    " H; Z, Z% H" D: o: ]7 T
  935. JSR SKYFLY_WRITE
    9 s$ ^0 k/ J. Z& p
  936. LDX #$00* P  C/ J! M. }, r
  937. LDA $07A0
    : y4 h5 b) X( L. o: y3 R- K; R
  938. AND #$209 n3 [& Y/ s3 l3 `4 v0 x
  939. JSR ON_OFF_PPU! J( Y1 Y6 V4 d  A/ T, |% B
  940. LDX #$00
    2 t. I& b9 E) P
  941. LDA #$B1
    & t4 g+ X4 h; A+ ?- t
  942. STA $BA
    5 k! {! A5 m  ?0 I2 d: b
  943. LDA #$22
    & L; w( b- G- A
  944. STA $BB5 a4 X' M' a3 k" H- E; ]6 A; y
  945. ) J* _& r' f& P+ n% t

  946. ; q- f$ \, b* Q2 ?
  947. JSR A_PPU
    " N2 _$ |$ \& e; O! H+ r: q
  948. JSR SKYFLY_WRITE
    6 `# T9 `' ~9 s+ i
  949. LDX #$00
    0 e/ Q: n7 ?6 y& a' f
  950. LDA $07A1
    % D& Z3 e% z; k' P: j
  951. AND #$20
    " [- D# R9 B/ o5 t! R% r9 M; _2 V- c
  952. JSR ON_OFF_PPU8 N5 ~5 k/ o- X& k/ k
  953. RTS
    $ `% ^6 D  i, ?/ x6 X- Z
  954. : f0 D8 a/ M0 ]' z2 k
  955. BULADD_STRING:4 ]# M( T7 E$ }3 R) |
  956. .BYTE $8C,$9F,$96,$8B,$8E,$8E,$80
    ) M4 }! H. Q9 [

  957. & K1 Z3 a% j) f& C. t0 F* P8 b
  958. BULADD_WRITE:
    , l: e& M8 A& v5 l1 v5 X; C' Q
  959. LDX #$000 l! K5 U! Q! v
  960. BULADD:. _. H1 X# u9 ?2 Y! Q+ n7 T
  961. JSR PPUADDR_PROCESS8 f/ M) ~1 C% d4 \- C0 U
  962. LDA BULADD_STRING,X, D" i1 X6 H. F) D+ C* q
  963. STA $2007
    7 ~5 x+ ~9 E; z% @6 s
  964. LDA #$00) G, \; W% J: e$ d- M/ z  M
  965. STA $2000
    ! [  T3 X5 H6 c$ E3 J! t& W
  966. INC $BA
    ( p0 s' A# E7 j- J5 I
  967. INX
    0 e5 ?4 n2 x  D
  968. CPX #$071 U# Y: `3 K7 y2 e5 w
  969. BCC BULADD
    6 s0 f( Q7 a7 D' R8 A% Z! q. V
  970. RTS
    ( J) C: \/ Z$ J/ y; W0 o

  971. 2 h+ B0 `$ q" d: q! |
  972. BULADD_PPU:* {" T4 X# t! Z/ _2 G# R
  973. LDX #$002 |+ `5 ~5 G# n/ m
  974. LDA #$62& B/ j6 ^3 L+ a: Q
  975. STA $BA
    7 Q3 d7 ?# o) w1 c. q
  976. LDA #$212 }9 P' [; _& p" z6 Z/ l7 m$ E9 ^
  977. STA $BB/ Z, e' U, z( {: q' Y

  978. ' H. I. M7 z4 m1 r5 i: p

  979. - ^# L0 ?5 D: O9 t* \
  980. JSR UP_PPU9 u( F& `! T! n, i+ |
  981. JSR BULADD_WRITE
    4 Y& I5 W" v. Y
  982. LDX #$00
    / b! \9 P5 O; Y8 T( e
  983. LDA $07A2
    2 o4 _1 s7 g* P- U2 ^) M4 x
  984. AND #$01
    + N4 W1 l3 y3 {: F6 _- Q& M* _
  985. JSR ON_OFF_PPU
    4 b/ v5 @$ {9 i" L8 h* a8 Z. I, Z
  986. LDX #$00
    7 \% S+ {1 ?# {' p
  987. LDA #$71
    & w- _! ~1 h1 T' i+ g
  988. STA $BA* h+ g! ]" [( W  C2 B
  989. LDA #$216 n" ~# n3 K' z
  990. STA $BB
    ! i. [" H: Z4 k: v

  991. 7 {, {; O$ n, t6 C  i8 D
  992. + d7 n, a# {  e( D
  993. JSR UP_PPU
    : q% Q5 S! c; l  t* `' q
  994. JSR BULADD_WRITE
    4 x) s1 R- f7 j0 r
  995. LDX #$007 i8 b! j& [: B: ?: o$ j% P
  996. LDA $07A32 x3 E) U3 U6 J# D9 N
  997. AND #$01
    ; |/ a, D; b7 [1 i2 C  E
  998. JSR ON_OFF_PPU- u, V& e9 M3 s. l$ `9 }
  999. RTS5 ?! O4 q# g" b
  1000. 2 T4 l4 O2 `  a1 b
  1001. MENU_PAGE_STRING:
      j* M/ |9 Z% r( N
  1002. .BYTE $97,$8F,$98,$9F,$80,$9A,$8B,$91,$8F,$80,$81
    * C! H. ^6 ?% E0 T- e. J

  1003. # s& l  j4 }# k6 i
  1004. PAGE_PPU:
    $ z' E  o" m7 C7 h5 [
  1005. LDX #$00
      @+ Q6 v* s8 ^8 d1 c0 h4 l$ ?6 m
  1006. LDA #$0A$ Q2 b8 \3 c* d( S, M7 L
  1007. STA $BA
    & N) g# L* s! H/ @, }
  1008. LDA #$23
    . c7 X* v; [  ~. A0 l# f' g$ H  @
  1009. STA $BB
    ) k$ J3 Y, S2 I" b$ t
  1010. , F  A& B  I' v2 I! b, u$ ]

  1011. - M+ E9 A. V$ q1 H
  1012. MENU_PAGE:: \+ v* t7 U0 \4 ]& G+ g' }
  1013. JSR PPUADDR_PROCESS
    6 h) ^' S7 x$ }  b' E, j
  1014. LDA MENU_PAGE_STRING,X# b! P* k1 T& X
  1015. STA $2007
    7 O1 R9 q8 |$ c9 h
  1016. LDA #$00
    , H% `- S+ T/ T$ \- O
  1017. STA $2000
    0 x& C8 ]* a; n1 _' A2 v; r; R2 U
  1018. INC $BA# s3 w. Y7 i% {$ N9 f
  1019. INX( _9 F' I  l$ v
  1020. CPX #$0B% X$ q2 Q5 r+ L6 I  _6 y
  1021. BCC MENU_PAGE$ V' \; \& M" U: L6 o
  1022. LDA $07AA
    8 M# {2 @: E" x2 `* Z
  1023. CLC2 T+ `3 U1 ]2 ]
  1024. ADC #$826 C% B% s+ |) E: P( e( x1 M
  1025. STA $2007- X2 n; K, J5 o. A. t3 @+ j& L
  1026. LDA #$00
    : m9 t% {5 v# k1 [
  1027. STA $2000
    ) G  G4 k+ d1 V; ^3 v$ `3 _
  1028. RTS
    2 z! |3 z; k. \7 M8 T2 H! _
  1029. ( e! ]" F/ D8 b5 ]% o3 |! |

  1030. 4 u/ M3 d* |( ^# O4 Z, {8 b
  1031. SKINGE_STRING:/ f% s/ N' a( u3 T+ Z4 k
  1032. .BYTE $9D,$95,$93,$98,$91,$8F,$80
    3 r! R  Y; ~) `8 L0 M. Z

  1033. ( a6 v5 m7 H8 O! A' V
  1034. SKINGE_WRITE:  J& q# P7 i$ d, ]0 [' M
  1035. LDX #$001 z- W5 Q9 r- s, Y* ^# H
  1036. SKINGE:
    ' w0 O# a' ^$ k/ F+ s
  1037. JSR PPUADDR_PROCESS: y: M: O& O5 m4 ~. l! V
  1038. LDA SKINGE_STRING,X- `# m, y/ x1 C+ A* M( P& T* ?
  1039. STA $2007" Q5 T$ {* O( a8 D$ F9 f, Q
  1040. LDA #$00
    % a: E0 f" w2 z# f. {
  1041. STA $2000
    ; W) N# q1 h0 M5 m# r
  1042. INC $BA
    3 O7 [8 h. ~2 i9 u. {
  1043. INX! N3 T/ Q4 n/ }8 S; P
  1044. CPX #$07
    , O& O7 Y) j* U. ^
  1045. BCC SKINGE
    # J2 O+ T6 q/ z/ f7 w! C
  1046. RTS7 L8 m9 w/ ]$ \9 T+ N0 ~/ l
  1047. + U- A# K4 S) _$ `' }/ ~8 [; A( G
  1048. SKINGE_PPU:
    ' L6 a7 O4 N1 g# o' y* h, N9 {  W
  1049. LDX #$00
    ; @% x4 D  Y# x; t" x: A
  1050. LDA #$A2
    . C( _4 t& u0 \, M
  1051. STA $BA+ `0 v: n; g9 H) T9 }- R0 T
  1052. LDA #$21$ G$ U  W( C9 q5 B4 B4 a
  1053. STA $BB
    , ^1 s: A# I: \
  1054. 3 s2 R+ z2 g' b" r; n

  1055. 2 q' k6 Q3 I% H. [
  1056. JSR DN_PPU
    ( F4 J0 L. b' X! t2 F: R
  1057. JSR SKINGE_WRITE9 H" `: W$ r: H% D8 X" H9 w: U/ R9 O
  1058. LDX #$00+ m6 g: s8 r9 U6 H# u
  1059. LDA $07A2# ^) E0 ?' C9 O6 [
  1060. AND #$02$ R* g" k( ^2 ^$ u. Y3 F  U% A
  1061. JSR ON_OFF_PPU2 A( D  B) Z4 d" P  Y) l& h6 c
  1062. LDX #$00  C; P( k1 N% }1 A9 I. i; H! G( }6 w" o
  1063. LDA #$B1* `0 u' \, J' L4 I
  1064. STA $BA
    6 \% U2 p3 _( K7 p( J
  1065. LDA #$21
    " f" j+ g4 S7 v' ]% B7 U
  1066. STA $BB
    " C( Y5 E1 p7 u; H# K7 A0 @, B

  1067. 5 u5 D# E) ^1 q/ Q/ q. ]

  1068. ( {" \3 c" e! T" ^" M
  1069. JSR DN_PPU
    - d8 K1 r8 M! l' H& _+ S
  1070. JSR SKINGE_WRITE4 |  P4 U/ [# \! X3 S" A6 E
  1071. LDX #$00
    ; ]. Z! G- T! O, {/ }( P2 ^
  1072. LDA $07A3
    - J$ L. L5 O# G% Z
  1073. AND #$024 ?* X! ]6 C- Y9 t
  1074. JSR ON_OFF_PPU
    ; P( Q! S7 X2 `' a2 D
  1075. RTS& ?# Z* b' `! D! E" o% {

  1076. 9 k# g, n! ~( m0 @/ p3 P+ E
  1077. BULMIX_STRING:( P: B' j3 [: k7 Q& u$ E: X
  1078. .BYTE $8C,$9F,$96,$97,$93,$A2,$80
    ' N7 {" n8 M* C1 I- m( A

  1079. 9 ^, X* h; A1 j2 j
  1080. BULMIX_WRITE:- q6 ~/ f. F. r4 Z( y. ?
  1081. LDX #$00
    2 p/ P! D5 ?9 ~+ Y- W4 o
  1082. BULMIX:& c; v) i) w/ y$ }( M
  1083. JSR PPUADDR_PROCESS
    ( i5 U6 v& C" S5 o: t( v
  1084. LDA BULMIX_STRING,X
    + U% d% u1 O5 q# z5 E
  1085. STA $20076 o* x* t7 R5 {! w* g( k
  1086. LDA #$00% D1 _" ~! z: a2 k
  1087. STA $2000* r5 \1 S, F& p
  1088. INC $BA
    4 D! P: m' F9 w/ R9 B
  1089. INX
    1 d) d& ]- w% n2 [* V
  1090. CPX #$07+ o) A9 g$ n( |* _# J! s
  1091. BCC BULMIX! h/ ]6 h' _8 \- p/ M& o
  1092. RTS1 G6 m( D. t" Q+ {! T" D
  1093. 0 b3 Y0 ~$ h  F" N. J
  1094. BULMIX_PPU:
    - _' [& q; ?* J! N( w" S& C
  1095. LDX #$00- Z% V1 d( N4 w# U
  1096. LDA #$E2
    2 U- {* o/ C% l. ]9 K1 Z
  1097. STA $BA
    $ ^( R+ H$ E8 J4 d8 n# r3 [
  1098. LDA #$21
    ; z( m5 @8 C& k/ M  N  W% ^8 s
  1099. STA $BB2 n/ s, F2 _% w/ S3 Q
  1100. 9 @" z5 q4 h, K4 m

  1101. ) O6 l+ f8 I7 v$ s, h
  1102. JSR LF_PPU
    2 J5 r( I/ B! x
  1103. JSR BULMIX_WRITE& U% r; M7 }! R0 j
  1104. LDX #$004 ^) L+ ]" F6 h! ~# N0 U/ \/ Q1 C
  1105. LDA $07A2% j0 O# J  A/ X3 I5 \. d, i. {; j
  1106. AND #$043 _/ J  I, P! W$ C8 ?2 O4 |
  1107. JSR ON_OFF_PPU
    2 g4 v8 q5 ~  w, f
  1108. LDX #$005 N( |, a, I. t
  1109. LDA #$F1
    1 X1 c( S; S8 Y3 F
  1110. STA $BA( ]6 {/ S/ P( k$ J& J
  1111. LDA #$210 M5 s  Z9 g1 I
  1112. STA $BB
    , ^6 x, _  ~1 W& o) b: ^+ O

  1113. & x! E4 w  d' Y
  1114. , J0 W' a8 o* u: `
  1115. JSR LF_PPU
    " i5 z% @+ K+ j7 v6 V. Y
  1116. JSR BULMIX_WRITE
    5 ]6 D. O4 j+ G/ Q% ~" ~
  1117. LDX #$00
    , J/ u( C* y5 V
  1118. LDA $07A3
    0 F1 N! I+ r- X3 `- |- r
  1119. AND #$04  C! [8 g0 u8 O6 A  K  k7 M: i
  1120. JSR ON_OFF_PPU
    , _7 A5 @7 o+ `5 l6 t" f
  1121. RTS
    , `  S# z* f6 i: S) m

  1122. % V  ^3 k. x( r' y; C2 U) `
  1123. ENELOC_STRING:+ a) m- N" t) J# h
  1124. .BYTE $8F,$98,$8F,$96,$99,$8D,$80
    2 \  `' O* M: a2 z# J: U( W* B

  1125. ; e0 f) x* |2 j$ Y
  1126. ENELOC_WRITE:, d( h6 a7 W" h) v
  1127. LDX #$00
    : g- C8 C4 o+ F4 z4 \9 k* H
  1128. ENELOC:% ~( {. z3 ^6 j9 u0 s
  1129. JSR PPUADDR_PROCESS
    # `2 r/ _5 N6 v; f- o
  1130. LDA ENELOC_STRING,X
      m2 u* s. [6 E
  1131. STA $2007
    2 K5 W" j3 s5 i6 B! S  r9 y- Q  c
  1132. LDA #$006 H- H' g- l$ f# {
  1133. STA $2000
    * ^+ J+ }$ A' n2 I# f: J5 a
  1134. INC $BA# P7 Z9 w8 a- W  t  G* F
  1135. INX6 Z& M4 z+ Y0 k+ c
  1136. CPX #$07+ j$ z3 Z4 q& ^: _
  1137. BCC ENELOC
    / }# v/ L1 h; z/ z6 I# V
  1138. RTS1 w; L, `2 f( e  I

  1139. * c9 T4 E6 ?( X& d& }
  1140. ENELOC_PPU:
    7 Q; P2 T1 U0 S" w) t' E' D
  1141. LDX #$008 [/ e" p$ \4 `% b  x- A
  1142. LDA #$22* C: ~2 m7 o" P. R0 `( y6 M
  1143. STA $BA& }$ V$ M% p0 m3 |3 _
  1144. LDA #$22
    . C% P# z/ S5 w9 i. p9 l5 h
  1145. STA $BB
    " i% \, y+ v- Y) X" H

  1146. 9 U, t5 W4 M1 F  E5 |' T

  1147. # q0 x7 F' w; a' S7 k
  1148. JSR RG_PPU
    ( c0 ?* h. ?. x
  1149. JSR ENELOC_WRITE1 s& k; G, ]& A- M4 V3 N3 w
  1150. LDX #$00
    / I* u9 @: b0 }* k4 s
  1151. LDA $07A26 P7 p0 w5 a* O  v
  1152. AND #$087 Y# O; U6 G, R0 e
  1153. JSR ON_OFF_PPU
    6 O5 e% r1 A, m
  1154. LDX #$00
    2 G9 @5 g, |. g
  1155. LDA #$31
    ) f/ R" b! m5 @% @2 Q& D: l
  1156. STA $BA
    7 A7 r# ~0 }4 Q$ p
  1157. LDA #$22  v5 J5 T8 Q9 o4 \& C7 B7 L
  1158. STA $BB
    . N/ ]& B2 l# h
  1159. / T- G8 G1 X" k, T
  1160. . a1 D" n% j  B" m7 }2 D5 l7 c2 w" q
  1161. JSR RG_PPU
    9 c  z* t1 m: M. k) N
  1162. JSR ENELOC_WRITE) o( ]4 C! u2 _* g7 H# K
  1163. LDX #$00
    / x9 [( k! g/ F& M# o! J# Z
  1164. LDA $07A3' A# t5 W$ _4 r
  1165. AND #$088 h% [; i0 j) a5 _) f$ X
  1166. JSR ON_OFF_PPU
    3 F3 Y0 W" ^" N
  1167. RTS
    8 a4 C( F9 ~) e9 @  i: w
  1168. # m9 G3 _& u# X
  1169. FOCFUL_STRING:" T% \$ Q0 I) P7 i
  1170. .BYTE $90,$99,$8D,$90,$9F,$96,$80' G2 F$ G3 ]" x1 M, w: P! p

  1171. ) x! B% q7 ^7 ?( T4 U" R' Q* C
  1172.   m& ?. g/ `5 _
  1173. FOCFUL_WRITE:
    - Q2 t9 N$ x9 ~4 E
  1174. LDX #$00
    # k' m" q) `0 o4 Q6 v/ y% ^
  1175. FOCFUL:
    6 p* K2 }* W+ V; q; |) \* g
  1176. JSR PPUADDR_PROCESS( R& V$ M" i  |8 ?$ d1 I( G8 Z- w
  1177. LDA FOCFUL_STRING,X
    - X. \" X5 b' y% K  q
  1178. STA $2007
    . ]/ H9 P; a9 w8 }* X
  1179. LDA #$00) P3 [$ V, b4 A' S& m. j
  1180. STA $2000
    ( I4 I5 Q9 o8 K, R$ H
  1181. INC $BA, B9 \. j6 ?' |- G! S. ~8 W
  1182. INX$ k; t/ u4 Y& H
  1183. CPX #$07
    ' X: c  ], G- X3 W1 D3 o9 X: Z
  1184. BCC FOCFUL
    # Q4 p+ g& f! ?7 v2 @2 Z/ p
  1185. RTS
    ! z6 I  W5 H/ G4 K6 F5 _
  1186. : r8 b7 y9 e9 D* M# h
  1187. FOCFUL_PPU:
      {4 f! W4 y6 Z4 p" O( E/ b) M
  1188. LDX #$00
      S" e- y7 {* l
  1189. LDA #$62& Z- V2 f  b" i# O: k
  1190. STA $BA
    1 [" h; r" X9 o) U$ O  ^+ u: @
  1191. LDA #$22
    . I( o1 y1 L5 Y0 @0 K& n
  1192. STA $BB! S; r2 w+ H* O# F  O

  1193. % Q# m4 T7 X5 O: E( [" i! E
  1194. 2 L( y% p: N0 l2 q
  1195. JSR B_PPU
    6 w. Q2 ]; f2 s1 t0 V( I& Y& N, w
  1196. JSR FOCFUL_WRITE
    9 |% O5 R/ n$ S3 h( R" G
  1197. LDX #$00
    - w" f6 U5 a6 G3 V% }9 ]: m
  1198. LDA $07A2
    * ^8 y* ?! c. }* P, u
  1199. AND #$10
    # e) y6 r* M0 q/ ~- C# v
  1200. JSR ON_OFF_PPU
    5 ?& L# G  Y: f7 T: a9 e
  1201. LDX #$00* m) r5 `( h; L' V
  1202. LDA #$71( }0 Y) m" D8 u; r. K
  1203. STA $BA
    % b/ l/ C/ r# f+ x
  1204. LDA #$22
    . C) `9 Q  J0 `
  1205. STA $BB9 K( l/ K3 }2 U* a3 W4 z

  1206. # h( p; S* F1 E$ F1 l  Q
  1207. 7 q- r" o% ]5 h
  1208. JSR B_PPU" s( ?8 R4 j) K2 x: O) k
  1209. JSR FOCFUL_WRITE8 J  [! ]& ~5 i7 F4 l% T2 f8 r0 h4 g
  1210. LDX #$00" L, |( r6 q# @# [5 v) x
  1211. LDA $07A3
    . Y2 u3 l9 R. L9 \- Y6 K
  1212. AND #$10
    6 j$ I( {* J) B4 C: b
  1213. JSR ON_OFF_PPU
    0 {: k) G+ {2 i8 a- e8 F) A
  1214. RTS
    6 O. y; I" K6 b; s) [) Y
  1215. . l+ h4 p# ?+ o3 Q( W' e
  1216. BULCON_STRING:
    1 |* X7 r4 L' g0 J7 r( R
  1217. .BYTE $8C,$9F,$96,$8D,$99,$98,$80
    7 s  Y# y; |2 D% i

  1218. & F7 P0 E+ {3 Q9 _( V  I# p

  1219. ; g8 i4 P( @6 ]; S5 m
  1220. BULCON_WRITE:
    7 g: Z4 e3 k, Q
  1221. LDX #$00
    0 a3 q% f( Y; e. U# g3 S8 F
  1222. BULCON:
    * o# B* r  Z) M( @% a
  1223. JSR PPUADDR_PROCESS
    0 z: ~+ x0 W6 \+ y9 |6 B( H3 P
  1224. LDA BULCON_STRING,X3 V$ Z; }0 S3 X4 M
  1225. STA $2007
    6 P% g" T8 Y8 H6 j5 B! i+ [8 l
  1226. LDA #$005 X9 U% C9 `! U. l% S1 U' ]
  1227. STA $2000
    % u; }7 \# @; ]$ @. r- O
  1228. INC $BA2 ]& u) E9 _0 b1 v2 b9 j
  1229. INX# D; \: M# x! \3 J
  1230. CPX #$07
    5 ]1 D0 a3 p. c
  1231. BCC BULCON9 N. U0 W, y+ U  p4 l7 H# ~
  1232. RTS  R, }  S& a" P3 j# A
  1233. ' C- U7 S5 t  V1 w. d( j" E
  1234. BULCON_PPU:) z# [5 U: g% u/ F+ Y( C5 W/ [
  1235. LDX #$00" |; f$ O7 s# t4 v; H) u
  1236. LDA #$62
    1 [9 P& l9 a, T' V. G9 p2 d
  1237. STA $BA
    ; H$ h& T4 ~' D" m8 L- @- i' O8 [; V
  1238. LDA #$21- P( n( t' y" y; R9 A
  1239. STA $BB
    0 j* ^+ ^. O' t- f2 L" k3 V: L5 z

  1240. . \. n1 q; B+ B1 A- X6 h( h* K. Z
  1241. 2 T# N9 s7 B0 \7 h  p
  1242. JSR UP_PPU
    , D  }( a/ q2 N. r+ {0 o5 g. d5 T7 V, Y
  1243. JSR BULCON_WRITE
    9 J- U& z" q+ q7 t6 z0 j
  1244. LDX #$00
    , X5 Y# t4 T5 X/ @) |
  1245. LDA $07A4: q: l3 C: X7 M; i4 X
  1246. AND #$084 z; E' z! ^3 X  b3 F
  1247. JSR ON_OFF_PPU
    * r$ M7 h+ F' f5 y  L2 y
  1248. LDX #$00
    % _1 |; ^- p9 p9 D) f
  1249. LDA #$71, m* G! D, N& n0 X% K3 x: Q
  1250. STA $BA
    * P0 Z8 L/ j! I& o
  1251. LDA #$21' `$ ]" `! ^6 K, u/ C, `6 `
  1252. STA $BB' v, f, ~, ]6 b. ?
  1253. ; E' E3 S9 t3 `% U9 y  A
  1254.   E& f: X2 r2 L. q3 M
  1255. JSR UP_PPU
    ) _% ]9 C; O* X0 E+ X$ l
  1256. JSR BULCON_WRITE
    6 A8 c" x- J; o; |9 g
  1257. LDX #$00: i8 O  T/ V7 W  F$ q
  1258. LDA $07A5
    6 a5 s$ ^3 t. l& d
  1259. AND #$08
    ; i: C$ {. D4 E( T8 Z' y3 K0 S
  1260. JSR ON_OFF_PPU
    % i5 ?7 a. P3 d: B% @
  1261. RTS0 I6 r* a( ^% O: c- W

  1262. 1 B; Y$ M+ U! N1 ]6 v2 i4 G
  1263. SPEBUL_STRING:
    . M7 u) v) G. J3 ?. [/ ^* }- e
  1264. .BYTE $9D,$9A,$8F,$8C,$9F,$96,$80- e7 e# v3 K7 a7 W$ Z" Q# n' ~+ m8 n
  1265. , D+ c" Q# F) ]7 ^( a

  1266. 0 Z0 g6 p% B; O, j( C$ y
  1267. SPEBUL_WRITE:
    # `3 x! s& q% v% W* Q4 B/ M, Z' h
  1268. LDX #$00
    . w+ u$ t2 a2 Q  J& t
  1269. SPEBUL:$ x- T8 i$ s: Q, G$ ^% N
  1270. JSR PPUADDR_PROCESS
    ! g" O0 V. n' l6 [
  1271. LDA SPEBUL_STRING,X8 O7 h$ A: S3 r" b6 K5 H7 j
  1272. STA $2007
    ( D6 _+ v8 T2 O. f* n9 {* r
  1273. LDA #$00  E, l- |4 D+ i, S6 O
  1274. STA $20006 G5 [- x5 T8 \9 c2 [2 O; L
  1275. INC $BA
    0 v; K, C- }4 S. \/ \* G
  1276. INX
    ) V8 l4 ^+ M/ G' A/ k5 }
  1277. CPX #$07
      }7 k& \% L' i5 j) A8 _* Q
  1278. BCC SPEBUL, z/ n/ J; @7 X, t) \* {
  1279. RTS
      p! N$ |: X. o* N% I% P

  1280. 7 R3 I+ z2 _; {1 F/ h
  1281. SPEBUL_PPU:
    * N! ?9 Y# [% s
  1282. LDX #$00
    5 A( E! Q% U) g% q; f& S" q
  1283. LDA #$A2
    : W& f3 v2 C8 ^8 ^$ W# d
  1284. STA $BA
    # J4 s  z% n! v+ m
  1285. LDA #$211 y/ B  J% |+ K7 q& S& l& C
  1286. STA $BB9 ^. r3 h. ^; ^  v
  1287. . P! o' g. o6 f. Q7 ?( H# z! z

  1288. 0 U. U4 m+ @' }" F- p
  1289. JSR DN_PPU
      d/ d0 @2 _& K2 _; Y5 ]
  1290. JSR SPEBUL_WRITE
    1 b7 A# N$ Q( k- O. V
  1291. LDX #$009 v( [* m! J: h4 i" N
  1292. LDA $07A4
    ( l' P$ Z0 [6 y4 o% O6 E. a
  1293. AND #$02
    , d$ C/ A7 C/ k. n9 |
  1294. JSR ON_OFF_PPU0 i& l2 s% `: s! w0 G9 V5 V, U: S
  1295. LDX #$007 B; t' ~' {4 l3 m$ ^
  1296. LDA #$B1. F2 L( B% U- t
  1297. STA $BA( @6 J8 A# d) |  g9 l
  1298. LDA #$210 S9 @5 i. n( F* ]- ^9 C
  1299. STA $BB
    ! U7 J0 T4 u9 \+ j8 m$ h6 c# }

  1300. / e6 |8 D* A9 v7 E& `; i. p+ E
  1301. ! B& g. D6 I0 [, c' _9 c! A9 }8 y
  1302. JSR DN_PPU# `" e- p9 q/ i
  1303. JSR SPEBUL_WRITE% c" R: z5 X- n1 D" m
  1304. LDX #$00
    + Y& J0 H; P; D; R: ~6 R1 M
  1305. LDA $07A5
    ) j$ t- n0 Y' i. z2 C0 F' e+ j9 |2 a
  1306. AND #$02
    5 J. z+ G( L: N
  1307. JSR ON_OFF_PPU& I, L  o' y& z+ ?
  1308. RTS
    6 M5 u  j6 E0 @
  1309. 4 t# l% t# v1 M5 {' U" T% n8 X
  1310. .ORG $A5000 ?+ J) ^% G- {
  1311. CLEALL_STRING:
    + ^( G0 D9 k! {1 c
  1312. .BYTE $8D,$96,$8F,$8B,$96,$96,$80
    7 w& q/ T3 ~% j5 B  `
  1313. ) Q5 p9 t$ X% s$ k1 S

  1314. - @# {. H" w+ O$ H4 N$ z
  1315. CLEALL_WRITE:+ I' Q! |* E# r  h! E% t
  1316. LDX #$00
    5 e* C) M% Q3 i8 ^7 X
  1317. CLEALL:
    ; |8 I9 J( i* T, p. q4 u, p
  1318. JSR PPUADDR_PROCESS' Z4 M( @7 `6 E; x% F; J
  1319. LDA CLEALL_STRING,X
    * ]" i8 d) f& }. `
  1320. STA $2007  l  Y. e( f0 l* l
  1321. LDA #$00
    $ I8 G- \: D. D. j4 o( Z8 h
  1322. STA $2000
    5 H4 p: k1 M" E; L
  1323. INC $BA
    * Y& S- w- E* ?, [" c& Q: }" {
  1324. INX8 b& [- Y' n& K* |3 ~- A
  1325. CPX #$07
    - |7 D! D/ H. p0 w5 X' e
  1326. BCC CLEALL
    9 U, j# o* E- i5 {
  1327. RTS% k: w2 u4 z, f6 S4 P' d

  1328. 5 y1 A5 j' E! {! [) Q
  1329. CLEALL_PPU:
    * [# w- ?8 `! P" J% t! }7 T
  1330. LDX #$00
    # R  |7 {; ^* Z
  1331. LDA #$E2
    ' r2 C/ a5 O9 t0 w8 Y4 R' F& [/ h
  1332. STA $BA
    + _6 F5 y2 d5 q7 h
  1333. LDA #$21/ `8 j# a' _4 N! L/ j+ g/ a, K
  1334. STA $BB
    , p; F$ [' H: a

  1335. $ J; |( A! i& n! F6 \( r6 l

  1336. 7 u7 Q/ i9 u+ p$ n$ O  n
  1337. JSR LF_PPU2 k9 {: v( @; r# a9 C# [; U
  1338. JSR CLEALL_WRITE
      T1 L4 i# `  @$ x$ |3 I
  1339. LDX #$00# g6 b* a5 v7 _3 a+ X# s
  1340. LDA $07A4( Q, f5 l  Y$ H+ h/ f; @; K
  1341. AND #$04
      w& c) |7 g, V% Z
  1342. JSR ON_OFF_PPU
    , |! S7 p9 J2 d: m% k/ D9 C) S
  1343. LDX #$00
    & f/ l6 Z, |7 p1 P9 Z: d4 D9 Y
  1344. LDA #$F1; a* s2 W$ K* {, f2 o
  1345. STA $BA' u; J" ]: y" z$ _/ @2 C; ~+ n
  1346. LDA #$21
    ; P7 b  ^0 L9 w" |
  1347. STA $BB8 u& q; D4 G. c, U! Z7 i9 {; d& p
  1348. 3 q1 g" ^6 b  B8 c/ Z9 m/ G: [

  1349. : r6 @& ]8 E# v/ i- i
  1350. JSR LF_PPU
    " m3 ~- Q' E6 o8 W* v0 t! \
  1351. JSR CLEALL_WRITE; E- o0 d& X# T0 P
  1352. LDX #$00' @8 F5 ^0 F7 `& u; _- [
  1353. LDA $07A5+ T4 ~8 D& }' @* F
  1354. AND #$04  E) S, v) j2 ]/ _
  1355. JSR ON_OFF_PPU9 x  Z1 _9 J( Y1 ]. A
  1356. RTS
    : n+ p* p6 _3 i% ]% o1 C

  1357. ! X, {9 H$ J" m  x: m7 ^
  1358. HARDMODE_STRING:. v2 R4 r7 d8 q. q  u
  1359. .BYTE $92,$8B,$8E,$97,$99,$8E,$80
      f- d* i* T6 ]3 ^2 z

  1360. ( f, q3 P4 _4 `5 o0 y% f# H; y3 K
  1361. : t( P! `8 Y- B7 J; J  k+ l7 b, J1 N1 M
  1362. HARDMODE_WRITE:) F  A: X) l6 l( Q1 w
  1363. LDX #$00
    ; z' }3 K9 z' a. ?* ^) Y
  1364. HARDMODE:
    8 @3 t9 N5 U  @( n- C
  1365. JSR PPUADDR_PROCESS' A# T3 b9 X+ n  v" X
  1366. LDA HARDMODE_STRING,X$ ]9 `+ b3 Y) n9 q9 M$ a: C
  1367. STA $2007
      K* u* y  E/ z( R, F$ z, ~
  1368. LDA #$00
    , o! n( i2 M9 A7 k. N7 Z
  1369. STA $2000
    # P+ c% W* j# ?7 m$ n; c
  1370. INC $BA& L+ n; [% o3 f- j1 {' g$ G
  1371. INX; l8 A* D) H* O0 H( ~3 L2 q
  1372. CPX #$072 m9 k: B9 d7 q: Q; q
  1373. BCC HARDMODE
    ' {/ f+ q3 U* Y0 A7 y: K
  1374. RTS8 Y& Z$ ?  E: Y( n

  1375. 1 A( U; H( n8 S, T: L$ w* J0 B: a
  1376. HARDMODE_PPU:
    7 x+ l+ t7 D3 e5 H
  1377. LDX #$00" ]' A6 j3 ?# |0 d" J+ m
  1378. LDA #$22. Q/ ]6 l# Y. ?3 |
  1379. STA $BA7 D% P" O9 c5 |  V" r& h
  1380. LDA #$22; t: _6 t4 P3 k4 r2 P4 d0 k4 L
  1381. STA $BB& T2 t. h2 u5 z$ t
  1382. JSR RG_PPU- h& I3 v$ V. f' Q8 @/ v
  1383. JSR HARDMODE_WRITE3 e" q, s3 A, U1 c1 g
  1384. LDX #$00& P7 Q. {# v, z0 W1 }
  1385. LDA $07A4
    # U6 ~& c$ H5 Z) }$ m( k) M
  1386. AND #$01
    - R) Z; b4 A7 K9 J  v
  1387. JSR ON_OFF_PPU
      I* w0 t5 [  C5 G
  1388. LDX #$00
    ' L1 R# K, j, O8 z! T& E
  1389. LDA #$31
    # C3 w5 r8 c& O* ^/ D% p
  1390. STA $BA
    5 q$ s  }3 A6 a! k2 ~; H& q' Q3 H
  1391. LDA #$22
    8 Z/ C! ]. L) H; T+ b5 {
  1392. STA $BB
    * t1 F/ v8 L  Y" J2 d( h1 a0 J' }
  1393. 8 k/ d' `* o8 v: F9 H0 t6 W; z

  1394. 4 ]( E! M$ S8 }9 i, n+ V
  1395. JSR RG_PPU
    3 X+ k' v* `! T% b- d8 Q2 u( I
  1396. JSR HARDMODE_WRITE
    ( {7 i6 H4 i# k$ g# z- h
  1397. LDX #$00
    ( Q4 z( A0 }* s
  1398. LDA $07A5; ]" g" m& q& q/ ^3 y
  1399. AND #$01: z/ ?& `8 V; y7 p
  1400. JSR ON_OFF_PPU; N" e' N. i1 n" a
  1401. RTS+ M1 {+ B, k+ s/ M

  1402. ( f' s8 Y, R/ ~1 p. z, b& C
  1403. B_TO_JMPSTG_STRING:; S- g5 c; T4 M0 F7 m9 v- d, |! a
  1404. .BYTE $80,$8C,$80,$9E,$99,$80,$94,$97,$9A,$9D,$9E,$91,$80
    4 u7 [7 M1 n- j1 w
  1405. 7 S. x' j; Z/ k: I2 E8 M
  1406. , P3 s& g  ^! G0 t
  1407. B_TO_JMPSTG_WRITE:
      h- R5 J0 X2 ~$ `$ l: _1 @
  1408. LDX #$00
    6 k  E+ {* Z% t
  1409. B_TO_JMPSTG:" A6 D4 M& _. V6 |) g  U9 {2 z; f
  1410. JSR PPUADDR_PROCESS
    7 p" f( p+ T9 d: q  c
  1411. LDA B_TO_JMPSTG_STRING,X
    ; u' @; p$ f. r" `3 P4 r0 `
  1412. STA $20075 Z: x" P$ O% j
  1413. LDA #$00
    + E  d0 P3 D) T* i: x/ P) Y9 \
  1414. STA $2000
    ! }  a" d2 n5 j% {2 I
  1415. INC $BA
    6 h6 V2 W7 ]" e1 A' y% W6 ^! G+ Q
  1416. INX
    2 b* C, Q) t+ Q* y
  1417. CPX #$0D% l7 U9 s0 x1 w9 M6 t& X; ?
  1418. BCC B_TO_JMPSTG* w7 H0 \  q7 M* V! ?
  1419. LDX #$00
      ]+ t% {' K/ M$ q7 o  F9 N
  1420. LDA $7FE0
    ! n. B, g: u9 A" k# o4 g
  1421. JSR ON_OFF_PPU4 [0 p# W6 r- x- N2 u* o' m! Y
  1422. RTS
    * X6 f: A% |) Q0 |0 \# U6 |, k
  1423. 5 p/ k1 @: `  Z6 u3 V5 |7 [7 C
  1424. B_TO_JMPSTG_PPU:/ {+ ?5 N8 {3 A9 Q0 }
  1425. LDX #$008 W  v; t3 a# k) z8 A" k/ D
  1426. LDA #$68# G2 r! h- r, |
  1427. STA $BA
    2 x8 J) M- \$ H( {: D
  1428. LDA #$22
    4 R2 E- H) p1 {; E" p- e
  1429. STA $BB9 @$ \# Z5 w$ f5 O- w7 x8 R5 e3 U
  1430. JSR B_TO_JMPSTG_WRITE
    " c/ M0 {7 B* W+ z) }
  1431. RTS4 d+ e# _0 a( {! @
  1432. # K8 F  w- o0 s6 `# g+ \# T0 ]+ Q

  1433. $ @7 O) Z& C+ I! C; J& N* Z
  1434. A_TO_PLAMOD_STRING:  @3 e0 V& F4 E0 c2 D  ~
  1435. .BYTE $80,$8B,$80,$9E,$99,$80,$9A,$96,$8B,$97,$99,$8E,$80
    0 ~+ a8 F$ s# w3 r* o2 y

  1436. # n8 C. ?- [1 a. Y

  1437. 9 G' x) N( B* {/ t! ^
  1438. A_TO_PLAMOD_WRITE:
    1 I; q8 n0 ~3 q7 T7 [! d9 B4 Z) L1 L- U8 b3 T
  1439. LDX #$00
    0 G4 P: C0 J0 ^
  1440. A_TO_PLAMOD:, [) @$ m' \+ Z9 w  _/ d9 H3 o
  1441. JSR PPUADDR_PROCESS' D) {: o7 i1 y$ ?' W
  1442. LDA A_TO_PLAMOD_STRING,X/ F: V3 J  o# J+ R2 {% W$ B
  1443. STA $20077 O8 v6 p: [5 I* D  D# G& U& y! O
  1444. LDA #$00
      J7 v9 ?: i5 M
  1445. STA $20008 a8 G: R, r( }  ]" f
  1446. INC $BA
    . O) Y, X  c; p  F
  1447. INX4 B# A- E2 L( D5 w. b
  1448. CPX #$0D
    1 P/ \& L2 h  K) a) e3 U& f
  1449. BCC A_TO_PLAMOD  S: n7 v, K. [3 s
  1450. LDX #$00
    . f1 x! V7 R1 V) |; n
  1451. LDA $39
    - D# y( s; I2 k
  1452. JSR ONE_TWO_PPU3 I, b: F  f; s. r
  1453. RTS
    + I+ h5 ]3 u& p8 m: T9 R8 n
  1454. ' _7 \9 j/ s6 _/ ?% U$ ^1 M% x
  1455. A_TO_PLAMOD_PPU:
    6 X9 ^7 c* q3 h' p* T  {* g
  1456. LDX #$00, P9 N! q" @, I) O* f1 S7 L' B1 w
  1457. LDA #$A8
    ; C8 v5 P" r$ I" g: N  G8 [8 Z
  1458. STA $BA# q3 i; k. V" a! M! R9 _5 t" m
  1459. LDA #$22
    : e/ |9 |; `9 m# G
  1460. STA $BB- C' {! W7 r5 X2 q
  1461. JSR A_TO_PLAMOD_WRITE
    9 o, z2 [3 N( E, U; e8 D* l
  1462. RTS+ D  w3 r4 U. E6 z
  1463. - Z' u8 R$ K' {2 a
  1464. MOVSPE_STRING:
    * }3 r5 \% O5 B9 m) E; E2 w- X
  1465. .BYTE $97,$99,$A0,$9D,$9A,$8F,$80
    5 E% V* C2 k1 q: ?
  1466. 3 X& |0 a1 T* J+ ^8 U/ {
  1467. 5 M( ~/ x  O% Y% E' x# M2 v5 @
  1468. MOVSPE_WRITE:
    * ~' W# `% K( ]+ d! B8 _
  1469. LDX #$00( b2 i4 J+ U7 Y& a/ k5 W
  1470. MOVSPE:% ~. h, Q  I& s
  1471. JSR PPUADDR_PROCESS4 c" i. t8 W! h
  1472. LDA MOVSPE_STRING,X$ Q0 r) Q5 m0 D( Z( p% g% N. V7 E! A
  1473. STA $2007& ]; s9 h4 q- b* E
  1474. LDA #$006 K7 V5 v+ }( J8 e" l% S
  1475. STA $2000* D' {& w. T' s- I- U
  1476. INC $BA
    $ m/ n/ j* J6 G/ ~7 g  M
  1477. INX0 O: D( r- J0 Z5 ~  G
  1478. CPX #$07
    + }: o6 B/ D' l& |
  1479. BCC MOVSPE
    3 b3 A! ]$ v) S0 y( Y4 Q0 ?& o
  1480. RTS7 _  M* F0 o* t

  1481. 3 O* N8 x' R" _7 d: v
  1482. MOVSPE_PPU:
    1 B# C6 P" g% [' c/ A
  1483. LDX #$00
    + k7 e+ h9 ], f
  1484. LDA #$69
    ; B# |5 u) U8 V; ~
  1485. STA $BA2 ^8 q) ?/ {* P+ q
  1486. LDA #$21
    : o2 Z4 |+ f: A* ~& r* p7 A
  1487. STA $BB5 g8 B3 T& F6 m  n6 k

  1488. ' Q$ C3 S2 I! K+ ]# X

  1489. ! }9 {  M/ q; |6 U9 p' C4 H
  1490. JSR UP_PPU  k1 b& A" p' @/ _6 u( ]
  1491. JSR MOVSPE_WRITE4 f; A9 R$ \9 v! i* B6 Z, N
  1492. LDX #$00
    % k( j& @5 I- j5 u& A
  1493. LDA $079F) n- I( b- y/ W+ M3 K9 _( V
  1494. AND #$088 q" c1 i$ _& V# ]/ e( I
  1495. JSR ON_OFF_PPU
    # T5 R+ f) |. b5 C
  1496. LDA #$80
    - g. W" l: W$ @2 d
  1497. STA $2007
      n$ x1 z4 x( [, b8 c6 n
  1498. RTS9 I$ b  r6 i, z8 P# F& m

  1499. 0 A" d( ^5 m6 _
  1500.   
      E" h* ^0 J& d" [3 U, |2 [
  1501. UNLJMP_STRING:4 g! k  R# X5 @- b
  1502. .BYTE $9F,$98,$96,$94,$97,$9A,$80
    $ b; r& W. Z3 u  u% i6 q. d$ m4 N8 I

  1503. * F& z" C( w' i6 ?7 w' R, Z% b) F
  1504. 2 ]* C, K8 ^- d9 m0 x5 J8 z
  1505. UNLJMP_WRITE:* _5 `2 m5 K; v0 p8 w' I5 `9 O
  1506. LDX #$00
      F6 h( w9 y8 z- V
  1507. UNLJMP:
    ) \/ C& x- v* a) L, k6 t
  1508. JSR PPUADDR_PROCESS
    9 W( i8 g! v6 D# I" e
  1509. LDA UNLJMP_STRING,X& x( L3 x" e( n8 n3 T# B" w
  1510. STA $20072 j# r- d- |9 N. t& a+ |& c# z
  1511. LDA #$000 g, w' S# D. O1 s
  1512. STA $2000% r& V. n9 f1 L% S  S6 C
  1513. INC $BA1 I4 I2 Q& K" ^. j+ h* n1 Y3 d
  1514. INX
    - U/ l. w$ N2 q9 t% p* d
  1515. CPX #$07
      x) ^; k0 [& v* A( B
  1516. BCC UNLJMP
    ; y" q6 S/ M# Q
  1517. RTS
    0 @- w% b+ I1 `- f# g: A/ w  ]/ R
  1518. ' {: Z8 C) D3 {
  1519. UNLJMP_PPU:
    ' |$ p7 N! w& [' L2 [, D  f
  1520. LDX #$00
    ) n5 k# S. I& K: k  n' H& V
  1521. LDA #$A9
    8 K% J4 L: T/ X9 Y% m; O1 f
  1522. STA $BA
    6 |/ `. L" {1 [- c
  1523. LDA #$21  Y( x! w7 s' U: R; i& |. u$ H
  1524. STA $BB
    9 S* L- R+ Z) H, ^( M

  1525. 4 L' k4 d) N, Y' G) ^# e

  1526. 3 b, P, J' u, Y5 g/ {5 y5 t
  1527. JSR DN_PPU% y2 `& y2 K4 G2 i4 Y% C
  1528. JSR UNLJMP_WRITE
    7 O6 i, q2 p' |; F: o
  1529. LDX #$009 _5 \1 h3 N2 h4 }" {& d
  1530. LDA $079F8 ]4 I8 l( W8 A
  1531. AND #$04, c9 ?9 J8 a1 h# Z# t
  1532. JSR ON_OFF_PPU
    ! G. _+ z* G% |: J7 G
  1533. RTS# e; j$ e0 k% P- a
  1534. : e1 ^% v- _" j" H- V0 N
  1535. 2 |; W0 }' K+ h* P& L
  1536. DESTRO_STRING:
      R4 G& o5 v2 B
  1537. .BYTE $8E,$8F,$9D,$9E,$9C,$99,$806 o& z) w* o' N' U- c

  1538. 9 F0 R- s. U' J! J% t

  1539. - B4 K' U1 h: _$ G- J+ Z3 o! V
  1540. DESTRO_WRITE:
    6 V: }& F$ M+ {# n% O
  1541. LDX #$00
    # E. p9 ?. D" o8 t- r. X
  1542. DESTRO:* d  f1 p- X% G/ H
  1543. JSR PPUADDR_PROCESS
    + o  _7 q+ i# P$ ?# ~+ C
  1544. LDA DESTRO_STRING,X
    ! j1 T, D. S, J+ i0 H
  1545. STA $2007: M; V7 i+ Y# D
  1546. LDA #$00
    0 l5 _+ P' ?+ c
  1547. STA $2000; z/ \% |( |, V4 j$ [& u. ~% q7 z
  1548. INC $BA
    / C% X" d* O  e: W& Q  P8 _+ P
  1549. INX
    $ h% ?. x9 R* \3 v; c
  1550. CPX #$07$ M* }+ z1 _$ Z# p( c
  1551. BCC DESTRO- M/ O) T, `* {- A5 r; r
  1552. RTS9 r/ e" }6 a! S- D3 s& P! D

  1553. , ]9 N% U( \: c0 i3 V8 Z0 n
  1554. DESTRO_PPU:/ O% j9 g/ U) C0 `5 b& F
  1555. LDX #$00: |5 @' I; j+ Y; y( w) ]5 j
  1556. LDA #$E9
    # `7 c3 I! ~: u7 f0 H: Z% g% ~
  1557. STA $BA2 C, s# t+ o" Z% {: n
  1558. LDA #$21* o  ^1 x" `1 A- n( N4 E
  1559. STA $BB1 c( p+ a/ ?. ^/ w4 X
  1560. + z5 J2 L8 {6 }
  1561. 6 U6 ~1 C: ?6 m: ~& X+ ^6 W
  1562. JSR B_PPU: _! k- h6 E- R! S/ V0 O; t* g
  1563. JSR DESTRO_WRITE2 K. x( F. S1 Z( ^0 E
  1564. LDX #$001 T0 B% S/ L3 O- u3 q1 \* W
  1565. LDA $079F
    , D! u, g. A! Z' R& A
  1566. AND #$405 N; E+ V+ b  E" z1 G4 t' N, w
  1567. JSR ON_OFF_PPU
    1 h- @! A* h3 V3 e+ H! V- i
  1568. RTS
    6 n' q2 v) x; D& j
  1569. 9 G# K# D, j- p+ o

  1570. 9 _% \% ]! T$ C- p, x( B
  1571. EQUBUL_STRING:
      D, B/ B% f  s0 m+ q8 l& V4 k* F9 l
  1572. .BYTE $8F,$9B,$9F,$8C,$9F,$96,$80
    # I/ q# ~: V: G( ]0 ~

  1573. ; t4 [# _" u8 T3 j

  1574. & y2 u; h" J7 E* R" I
  1575. EQUBUL_WRITE:# q4 ~2 v; W3 d; r- F- g
  1576. LDX #$00$ F6 M0 x/ n& j8 x, s/ M
  1577. EQUBUL:
    1 R. E  _& K, X4 P0 S% M% ], i
  1578. JSR PPUADDR_PROCESS
    ( x0 t6 m; I. U! p
  1579. LDA EQUBUL_STRING,X  O2 l( P4 O4 h4 j
  1580. STA $2007
    5 |3 l* L  p; U  W# I. K% f! J
  1581. LDA #$003 O, j% s; Y- ]9 y8 ~
  1582. STA $2000. U/ [" N$ j# R* e2 v7 Z6 ^% M
  1583. INC $BA
    6 o, V# @( \5 C# c
  1584. INX
      p( I$ k/ f3 H* V0 \8 W
  1585. CPX #$07
    & P% Y% t& o) r' F* J
  1586. BCC EQUBUL8 R" ]+ w) l& N
  1587. RTS
    # S% z; t+ t: c: R' j

  1588. : S7 p5 q( a- T, Q% j
  1589. EQUBUL_PPU:
    2 L4 S. B% m$ ^& [  [' J9 z$ d4 N
  1590. LDX #$00
    " d8 _8 \6 ~& j* k1 C+ _' R
  1591. LDA #$29$ w( ~, I, l3 j* j7 ^
  1592. STA $BA
    # H' Q; W' f; |: @3 @4 J# B7 a
  1593. LDA #$22
    , X: w: q! o8 p: y- t  m& u
  1594. STA $BB6 S5 O1 [  H- |9 |/ Y# e$ G) I3 X
  1595. 9 F9 a0 x  g* V5 i; l+ Y3 f7 K8 Z
  1596. 8 n4 V* U9 X% c: x( a' q" t7 p
  1597. JSR A_PPU0 k1 s) `: f: `  s( Y& W
  1598. JSR EQUBUL_WRITE1 }6 e0 V6 v1 i: A/ X; z8 Q
  1599. LDX #$00# G* P# K/ F0 j9 p  k% G% c
  1600. LDA $079F# T. k# v& J, p( o; H" W  n1 f
  1601. AND #$80: z2 a- X8 _1 m7 U4 y6 b
  1602. JSR ON_OFF_PPU
    * _& G6 w( Z& P. G( J
  1603. RTS
    - m0 X, N3 m9 l% f9 O
  1604. ! j7 v6 g! d* ]: z3 ]  C$ g/ H
  1605. - `: ~, O" Z/ T7 U5 V
  1606. 2 W1 K, E( K" a6 Q- o& K: b
  1607. BULSEL_UP_STRING:$ }, {" ~4 D, r: ?* O4 [9 z
  1608. .BYTE $9F,$9A,$80,$9E,$99,$80,$9D,$9D,$80
    $ N6 y7 I8 _# v# o) O5 D

  1609. % L5 c$ e0 o+ c0 X5 B+ n
  1610. BULSEL_DN_STRING:
    , c4 s& M8 x6 Z  j( k
  1611. .BYTE $8E,$98,$80,$9E,$99,$80,$9D,$96,$80
    . G. y- r( X0 C( @9 f- u0 {
  1612. : P2 w+ I' S- i6 R7 K# U$ {
  1613. BULSEL_LF_STRING:. w1 \4 o7 K# ~* S+ N, [) `) f
  1614. .BYTE $96,$90,$80,$9E,$99,$80,$9D,$97,$80
      ?3 f0 f9 Q9 U1 h+ N$ a( l

  1615.   s7 b( y2 i/ H6 P
  1616. BULSEL_RG_STRING:. g2 ~3 Q# P8 i  ^* W- @" ]# ^7 {
  1617. .BYTE $9C,$91,$80,$9E,$99,$80,$9D,$90,$80! d) R( q' u% j- e/ O

  1618. 0 ^( h6 k# v# U5 _) A7 Y- ~+ J
  1619. BULSEL_B_STRING:
    : ]( t) l2 ^+ O% ?
  1620. .BYTE $80,$8C,$80,$9E,$99,$80,$9D,$98,$80
    : W2 A9 O$ C, ~* i* _- K9 \
  1621. : h5 @' r& Q! L: I
  1622. BULSEL_A_STRING:
    + _; p8 Q4 r. Y: t' B
  1623. .BYTE $80,$8B,$80,$9E,$99,$80,$8D,$99,$97,$97,$99,$98,$80,$9D,$9A,$8F,$8F,$8E( i& p9 z, h, `) Q) B
  1624. * k  ]! h2 Y  x) @

  1625. ' @# M) V( u# J2 t0 y8 y0 f/ ^9 t$ s
  1626. BULSEL_UP_WRITE:# P: N9 f: i! k! s' n8 d: f4 n; V$ {
  1627. LDX #$00
    9 v. |3 p% q6 h7 n0 v  ?
  1628. BULSEL_UP:% \+ Q" s' ^* o+ z2 L$ S+ D
  1629. JSR PPUADDR_PROCESS
    ' L" c( @1 z; ~
  1630. LDA BULSEL_UP_STRING,X$ r- u4 z0 w$ D/ Y  i/ v
  1631. STA $2007
    4 w3 E9 r% }. C6 n5 D
  1632. LDA #$00
    # A/ J* i; M0 E, V1 q1 x
  1633. STA $20006 H6 }) E) ~( ~( P8 R  O. Q
  1634. INC $BA+ _/ {8 k$ R5 ^% ^5 U* Z6 D
  1635. INX* Z4 b! Q9 G& s- X2 B8 d" Z) V( R
  1636. CPX #$09
    " D: r  v3 R3 o  L
  1637. BCC BULSEL_UP! Q1 g" B5 x/ p& D
  1638. RTS- ~; k. E; u/ ^) N7 q6 D& n
  1639. BULSEL_DN_WRITE:) X" d7 S+ g9 Z
  1640. LDX #$000 M! T+ t$ n: \% i- F
  1641. BULSEL_DN:
    . P* m: n/ q3 U7 ]# i! y0 |8 L
  1642. JSR PPUADDR_PROCESS
    6 g" s" G  @1 v7 e  e+ R
  1643. LDA BULSEL_DN_STRING,X& t7 z9 `6 i0 A+ w# D, q
  1644. STA $2007
    ' A* I3 r. N4 c2 e4 T1 L4 Q
  1645. LDA #$00; m. n7 K! O3 d' p  l0 S
  1646. STA $20006 e. n; g- p: [' D- _. T4 U1 Q
  1647. INC $BA
    ' |- K( x' F, b( C
  1648. INX1 {. s7 T4 p5 }3 B# O
  1649. CPX #$09
    2 F% A2 {$ f/ G# L' F' u
  1650. BCC BULSEL_DN
    # l/ R( t  H4 }& f$ z( W
  1651. RTS
    ) k8 N' p* [9 p0 A# ~% m
  1652. BULSEL_LF_WRITE:$ _6 m8 h- {  Q! b" d$ i+ d, T
  1653. LDX #$00
    + K' M* A( t6 s( v" |
  1654. BULSEL_LF:- D+ o& y# z# X% I! i8 c( s
  1655. JSR PPUADDR_PROCESS8 Z  C$ L1 z$ [/ D& W; I* G6 @8 o
  1656. LDA BULSEL_LF_STRING,X1 c; p6 P1 ~. Z" W& _/ r3 Q/ D7 P
  1657. STA $2007
    - q* l7 A2 J/ q+ D0 l9 R; r
  1658. LDA #$008 i1 f0 @! w9 f  {3 K
  1659. STA $2000- Z& G+ A' ^) i( M
  1660. INC $BA! m" S8 x. D0 D% ^, b$ I
  1661. INX
    3 l/ w+ Z5 L1 B1 a# V+ B
  1662. CPX #$09
    2 v' J; P! }2 F3 T% ^
  1663. BCC BULSEL_LF+ t- B5 }6 @+ K- p+ [
  1664. RTS6 k( @3 P2 u# R0 S
  1665. BULSEL_RG_WRITE:' A2 ]  `! h3 Q$ r7 h3 s6 n* Y
  1666. LDX #$007 |3 r: y. h- q4 d2 D9 J
  1667. BULSEL_RG:8 J! n, q) S9 W) [' i
  1668. JSR PPUADDR_PROCESS4 v8 `  G1 o& Q
  1669. LDA BULSEL_RG_STRING,X
    ) m- W, j' \. [6 [* G( D: o/ {
  1670. STA $2007
    * J: E% X: R# s' ^7 R1 j* V: i
  1671. LDA #$00
    5 |5 M; l& ]7 E
  1672. STA $2000; I0 N6 Q& m0 Y' O) I
  1673. INC $BA
    ( R  \/ k# l/ ]! I4 g# N1 r
  1674. INX
    ! ~- K. A& d* k% r8 s
  1675. CPX #$09
    , o/ i9 \/ B2 m" Y& Q
  1676. BCC BULSEL_RG3 Q2 h/ l+ X- P
  1677. RTS" V- `- k7 V$ o/ e- p0 ~  R) c
  1678. BULSEL_B_WRITE:" B- ^/ }* f- t' a/ B; Z& f! y. n
  1679. LDX #$00
      C1 {/ Q$ r+ g. R% `
  1680. BULSEL_B:
    0 L# G, Y+ ~4 R
  1681. JSR PPUADDR_PROCESS# }9 P$ x( a* W
  1682. LDA BULSEL_B_STRING,X
      U8 p: y5 d( q6 W1 E$ D3 Q  t
  1683. STA $2007- i5 N# J; p  A9 p1 Y
  1684. LDA #$00
    " i2 R1 L6 M0 K: Y
  1685. STA $2000
    1 y: a# X* P" l" Z% j7 F8 T: l
  1686. INC $BA
    7 X" E: `4 U! T% o
  1687. INX2 ~* X8 n) L2 H9 S6 i
  1688. CPX #$09  C  x/ u( N: U% V) d' d
  1689. BCC BULSEL_B+ \* V  I# m# u% S: X# {3 [
  1690. RTS1 Q( J* w7 X1 A9 g$ R
  1691. BULSEL_A_WRITE:6 J7 B/ M  f  D
  1692. LDX #$00/ {& B: Y) a# ^+ E
  1693. BULSEL_A:# J* I  E* I& z; o2 t
  1694. JSR PPUADDR_PROCESS: H' G" Q) q2 K* o
  1695. LDA BULSEL_A_STRING,X/ K. W' r0 R3 U5 A
  1696. STA $2007
    ; R2 I( m: Z) ?5 y6 L
  1697. LDA #$00
    ( [* d- j* j- k# F6 o  n& g
  1698. STA $2000. I, W, D% V5 w, r* w- P  c
  1699. INC $BA. b. i, X4 |. q0 o7 J
  1700. INX
    5 z8 }; ^* f3 r
  1701. CPX #$12# v9 n5 i6 `# Q
  1702. BCC BULSEL_A* J. P& k- ^# y! g
  1703. RTS+ b- L; ~& V) ~
  1704. 1 M4 j1 a7 {1 J

  1705. * n0 p3 c1 D' v, b# l# X: R

  1706. 9 u( t4 X+ a. N0 O% x! {0 h, P$ d
  1707. BULSEL_PPU:7 x: y: V6 I. K+ z
  1708. LDA #$6C
    0 Y- ?! R2 h, W( n1 N& X+ ~5 J
  1709. STA $BA
    ! H, b- H% Q4 t: }, v6 Y" m9 R7 _
  1710. LDA #$21
    1 W) i0 F+ x$ r5 v) K3 s
  1711. STA $BB' T1 D6 A2 i6 O5 C, H" J& |
  1712. JSR BULSEL_UP_WRITE
    $ Q$ _/ b* x: z" a

  1713. & q! d$ e' J: }; f# T6 J
  1714. LDA #$AC
    ' P# o9 E$ w7 s0 X% O& [
  1715. STA $BA
    1 m$ L! U- Y: j0 \$ M$ d% J/ M
  1716. LDA #$21
    3 E  c) r! R/ b8 z/ q  E6 W5 t
  1717. STA $BB
    # R; a* ~( s; Q( f, x; e! ^
  1718. JSR BULSEL_DN_WRITE7 V/ G. U$ i1 X/ K6 g

  1719. " I( N' b) j/ H7 ^; h, i! B# Q% b
  1720. LDA #$EC" R+ U& d2 R7 d0 |( K& {/ }: J
  1721. STA $BA! b& ~' _7 j8 Q7 T
  1722. LDA #$21
    # R, `" V% E1 Y- L$ [. a4 `, t: Y: \- s
  1723. STA $BB
    / D+ k' P( @. l
  1724. JSR BULSEL_LF_WRITE+ N  K+ K- [& _7 N* z5 Y( c

  1725. 1 I: l" ?$ ]( K0 \6 L
  1726. LDA #$2C+ J5 m7 Z6 O, S4 Z
  1727. STA $BA; x% m) C, Y5 |9 I  u! K( W
  1728. LDA #$22# z" C9 ?9 w' Q' j- T% K, E* e' B& \) s1 ~
  1729. STA $BB8 O& v3 @; k! h; ]( B9 E0 c
  1730. JSR BULSEL_RG_WRITE2 L, v* G8 ~' f
  1731. ( i1 v* B9 F' ]) ^! `
  1732. LDA #$6C2 _2 ?( h6 D1 F' _; V$ Y
  1733. STA $BA
    $ ~* O6 n1 d. e( j& A0 Y: O
  1734. LDA #$22; \3 z! z; @9 W( v% L2 m/ `4 I
  1735. STA $BB
    # ]2 @. f4 W% L1 E
  1736. JSR BULSEL_B_WRITE! H, k6 _3 @) L/ u3 J+ t/ o

  1737. 5 o( P7 y$ f% R  E8 _5 N  k3 x
  1738. LDA #$A7
    0 m9 X) x" L8 Q% L# n% T( a
  1739. STA $BA+ F" j+ B% K0 l  i
  1740. LDA #$22
    8 D) F& Y+ u7 {7 P7 ]" W
  1741. STA $BB; |6 d( G1 v6 u8 ^& d: {
  1742. JSR BULSEL_A_WRITE4 z2 a& L( @; Z2 i
  1743. RTS
    3 e! W6 L8 O& d9 G3 j/ b, T- f

  1744. ( H. N+ }4 M& A

  1745. 1 a5 y- j" d3 r, Y6 V2 M6 C
  1746. : L0 O3 R% i9 U" t8 s
  1747. UP_STRING:
      N1 m  e8 Y7 e( m$ X. W
  1748. .BYTE $9F,$9A,$80
    $ O3 }/ h: T- \  v7 R! H

  1749. * F) G! y1 W% J4 O
  1750. DN_STRING:
    + S4 [" v( Q% V5 @, C  _+ T
  1751. .BYTE $8E,$98,$80; c9 W4 P- ]( w" p9 J( H4 t" n
  1752. & ?- T; V* ]1 a+ p1 w1 R
  1753. LF_STRING:
    % l' V+ v5 V5 ?5 T; G$ v. \) d
  1754. .BYTE $96,$90,$806 G' P, A2 P- [6 Z; ^* d

  1755. ( T  ]2 I0 `7 A
  1756. RG_STRING:8 `! C7 C( O, p) {' k/ s
  1757. .BYTE $9C,$91,$80
    . R* W3 W0 N8 K7 m! Z
  1758. 2 j. J+ R' G* V7 k+ J
  1759. B_STRING:
    $ r* S4 @9 Y" L0 o6 {/ R% S* ^
  1760. .BYTE $80,$8C,$80) c' \0 l% h7 ^$ |' Z/ W% q$ O
  1761. 3 U+ F. T' i" n' f+ T, i' }
  1762. A_STRING:
    / W( u' j4 h) {6 f8 t$ G; G4 C
  1763. .BYTE $80,$8B,$80
    9 t' \6 J! d/ k$ @. j% }% ?& K
  1764. ) \7 a2 x$ x$ v0 J
  1765. / ^" ^3 f) Z7 e: o' T% c
  1766. UP_WRITE:
    ' O! H6 s7 |# B& n
  1767. LDX #$00
    7 [- U1 c' U& i
  1768. UP:
    # E7 ]% v+ Z' o: t
  1769. JSR PPUADDR_PROCESS9 O  F' x' X% |6 ]- \  d9 }+ e5 V
  1770. LDA UP_STRING,X
    ) f2 e3 _1 r& z: F8 E
  1771. STA $2007
    , }2 h5 C* h* e3 i5 T
  1772. LDA #$00
    " |" i+ l; s" ?: s. v8 A) K. i- s
  1773. STA $2000
      r$ u, Y" {- u9 B- Q; w
  1774. INC $BA; V1 Y& a0 G* |8 H' B' s! ?$ y
  1775. INX$ L- V' l; W3 S# D
  1776. CPX #$03# h" i, K0 O4 O- Y, _$ Q
  1777. BCC UP' R. c2 t" O6 K; Z6 ]# c4 c( v, P6 }
  1778. RTS3 |( @, i- @' a, M% A
  1779. 0 b! X$ l. d- i, y" P; ]# E5 n
  1780. DN_WRITE:& [# u2 C1 u! _% i# _
  1781. LDX #$004 _% E& A$ s8 h  h( t' S# f
  1782. DN:+ u2 R2 j/ j0 ?  b. Q; C
  1783. JSR PPUADDR_PROCESS8 r% i5 b$ J7 E, H* u% l" f
  1784. LDA DN_STRING,X7 _3 y9 l* |6 T0 z/ Z
  1785. STA $2007
    # y3 K$ W  ^' O" W
  1786. LDA #$005 i9 v0 k3 s6 D4 s4 @; e  V
  1787. STA $2000
    $ I3 q5 R% @! T. |
  1788. INC $BA
    6 l" W4 X) R" N, Z4 E3 `
  1789. INX
    1 G+ b. S. V# ]# T, @+ `
  1790. CPX #$03( M, N, G, D& V( v) E
  1791. BCC DN# f; @5 U: R: g
  1792. RTS
    . `3 J: r2 j; G! K2 r
  1793. 0 }' X0 K' r# r/ o) n- q
  1794. LF_WRITE:
    - n& U  [; G1 p" i& @  @% R
  1795. LDX #$00
    9 m( ?; i5 {+ k. ]
  1796. LF:3 f; O. s- m2 o" E* p
  1797. JSR PPUADDR_PROCESS9 C0 a  R+ s' K9 \$ o4 O" [3 t
  1798. LDA LF_STRING,X" \3 U1 B6 ~/ D, @
  1799. STA $20077 ]& K! b. R! a
  1800. LDA #$00
    % ^1 V9 I7 E: f; f
  1801. STA $2000
    $ {5 K9 |+ z& D& @, ]( @; V3 ]( B
  1802. INC $BA
    ' m5 M5 j2 C; j& ^0 j
  1803. INX3 F  x9 L% v+ g% z0 c) U+ Q
  1804. CPX #$03
    ( b3 W! R/ a, }
  1805. BCC LF# I8 G6 I5 ~+ P' s0 \4 \0 w
  1806. RTS
    " A7 D7 A$ H' Y; |4 I  a
  1807. , V# t9 P( I" U3 w- @
  1808. RG_WRITE:; n" l2 p5 i& Q1 R
  1809. LDX #$00+ X: f& v8 g$ z: g6 b9 ~9 M
  1810. RG:! d, |. X) ^  p% c8 u% J
  1811. JSR PPUADDR_PROCESS
    . |9 d. A2 [8 ^. D* L: a
  1812. LDA RG_STRING,X% k& _4 i$ k8 O0 @  b6 m2 G( }
  1813. STA $2007. q4 V9 A5 {, W5 l9 Q" m* D5 q6 C1 E
  1814. LDA #$00- j& {/ K2 p6 Q
  1815. STA $2000
    , }( P7 u, {+ v- ]
  1816. INC $BA" ~3 j* K# k+ n% p  F
  1817. INX
    8 X5 o' @) N! m8 P3 v9 d  Y) h
  1818. CPX #$03" g2 U. u# x9 D7 L
  1819. BCC RG
    " D" u* r. b3 e3 n
  1820. RTS8 ^' t, ^7 j* ]9 ~
  1821. , }- t1 a1 Z4 D9 o8 t$ ~  \
  1822. B_WRITE:0 {  Z( v3 Y  V, `( e
  1823. LDX #$00' s8 r  a# \1 `/ X
  1824. B:( L# K! ]3 _/ z& Z9 V( S
  1825. JSR PPUADDR_PROCESS: n: o' c- w. F5 Q6 r7 ~  x" u
  1826. LDA B_STRING,X
    % Q: R) K& w/ K* F8 N. V
  1827. STA $2007
    + Z! y2 Q! q, |6 F- t; s, C6 a7 D
  1828. LDA #$000 k3 z; H( y4 ^/ i4 U& ?# S; D8 t7 I
  1829. STA $2000
    $ ?5 p7 b& L1 N; z
  1830. INC $BA% }1 S& t$ [* A2 e# L1 b% Z+ d5 ^5 k
  1831. INX+ y  Z7 l* s: e
  1832. CPX #$03
    2 z5 u; W7 T% O
  1833. BCC B
    # U. N8 ^  E; Y2 z3 E( q- O! [5 ?
  1834. RTS; c5 d8 k3 D, E0 N2 y6 J$ Y& H2 n: D

  1835. 2 z) b. R. C  Q' u1 x! U0 Z1 h8 u
  1836. A_WRITE:+ j9 u6 q! u! q- y
  1837. LDX #$00( E8 j8 @  S! @; x, f
  1838. A:: P2 ]/ O4 f4 q+ I% M3 y) C. q
  1839. JSR PPUADDR_PROCESS3 W8 `" [% [5 q2 k' A8 C" X
  1840. LDA A_STRING,X, w6 b4 r1 F* p
  1841. STA $2007
    5 \, Q( s7 O9 Z/ V" o
  1842. LDA #$00" p- i! j; F7 ]" p1 s; O! [
  1843. STA $2000
    $ x, J* ^) K) X3 r5 K9 U8 D
  1844. INC $BA
    2 p$ G" H& s, s' I7 P3 w1 s' y
  1845. INX% t/ y% d  {9 @$ P
  1846. CPX #$03
    & a2 q* _: x& X5 y* e. V5 Z, ]$ I5 x9 E
  1847. BCC A. q2 G: G/ d5 f9 }7 |7 h
  1848. RTS/ I# Q% `; y7 B+ s, S
  1849. / J" x  f$ w0 B4 f8 f
  1850. * Z( x  u6 I" H" {- Y
  1851. UP_PPU:4 W9 e# X1 q: i& M5 b
  1852. JSR UP_WRITE
    * l) F8 P- h2 ^( I8 G" D% U. E. C
  1853. RTS
    * O" f8 b# M. Y/ t4 g: \. [

  1854. + m7 r$ T- x9 n8 ?. W  }0 _
  1855. DN_PPU:! l# W' r3 K5 w6 u/ x
  1856. JSR DN_WRITE
    3 _2 S9 N) M; g- S7 k: i, X
  1857. RTS# @4 G7 }8 H7 r" \, C& L6 F* o' O  X

  1858. - F% V4 v- E8 |, [$ U0 P* p
  1859. LF_PPU:, q2 F9 v; w. y
  1860. JSR LF_WRITE
    ! t; h, J6 ~. ], W: z8 ]) n
  1861. RTS
    6 s. U/ h8 M. |

  1862. * u& u8 M1 q: s0 H
  1863. RG_PPU:
    # j$ @/ o& y/ z
  1864. JSR RG_WRITE/ j$ J( I$ g6 I5 ^4 N8 w
  1865. RTS
    , ]0 p; P! _1 A' d( H

  1866. 9 I4 Y- t  K# H5 X4 f8 C
  1867. B_PPU:6 b+ r# A7 Z- J* A3 ^
  1868. JSR B_WRITE
    + I# E6 v" T# U/ i; M4 P* Z
  1869. RTS5 L8 }3 k" M3 o5 y, a: L. L. h1 J

  1870. , Y/ D. l% ?; \; J
  1871. A_PPU:
    9 O& _' O$ h) d- ~- h$ |' Y2 H2 Z
  1872. JSR A_WRITE
    9 v& G! ]& l% r5 W0 J) Q
  1873. RTS
    1 g' A5 ~# ^3 K$ [
  1874. 5 V8 T9 `) |. a, D4 F, m. ?6 K

  1875. 0 B! Y; r0 x! y1 F# N0 y
  1876. PAGESELECT:) w$ [: ]2 X$ B& y4 k( j1 k& b
  1877. PAGE0:) n- j; n( H- E3 M# c
  1878. LDA $07AA, u. O! M% F( H9 `
  1879. CMP #$00
    5 W7 @( g  e# G: x+ {1 o9 t
  1880. BNE PAGE1: l* V- Y( Y! ^2 ^
  1881. : f# F! ?$ q; g; v
  1882. PAGE_00:
    & o6 p: y. N" h% a# x/ A
  1883. JSR BULSEL_PPU
    ) K4 x2 }' h* ?/ N+ z$ \
  1884. RTS5 }+ @$ E, o# o8 d% Y% a4 t! I* W( m
  1885. & Q: Z* \# P6 M/ Y
  1886. PAGE1:) i! D3 ^5 Z% g1 [! g
  1887. LDA $07AA- C: J; a3 P1 C' d
  1888. CMP #$01% C2 ~  u1 L$ i7 C
  1889. BNE PAGE2
    : P$ l1 \/ m, S' b1 m

  1890. 8 O3 Y/ O% ?3 N8 T+ U- H3 A2 s% w6 W
  1891. PAGE_01:, _2 m0 ~- m# I- m; Z7 b3 Z1 V
  1892. JSR INVINC_PPU
    ( y7 P+ {/ G% _3 H, q1 J
  1893. JSR LIFELC15_PPU% V$ ?& k6 Z  K* b, b$ l
  1894. JSR DOUCON_PPU
    . K7 l5 ]3 n0 a
  1895. JSR KILLON_PPU
    / D- h0 X( z3 Q2 V8 M) H/ ]/ Y2 k& f
  1896. JSR SKYFLY_PPU1 c; L- ]: k4 Q8 q" L  ^( x
  1897. JSR LIFELOW_PPU
    + q4 s( k% W* U9 v/ D5 i2 V
  1898. RTS+ [0 ?* G! V7 |

  1899. . l( y# b. o1 G: E
  1900. PAGE2: ) ~+ b* b. V7 C/ G& r
  1901. LDA $07AA
    1 e/ Z: G( C+ M# {  d
  1902. CMP #$02
    - e# Z5 T8 Q. c6 M+ |
  1903. BNE PAGE3
    5 o* B  i* F# I# |

  1904.   e( O0 [9 ]$ w) m( K; c" ]9 S
  1905. PAGE_02:* C1 l. O4 p1 u( c
  1906. JSR BULADD_PPU
    $ e/ L9 x+ S3 D
  1907. JSR SKINGE_PPU
    4 o  s. P, K' D/ ~7 ]
  1908. JSR BULMIX_PPU
    ; X% b! b( p; e7 Q7 x$ e
  1909. JSR ENELOC_PPU3 h4 v3 K1 D+ a
  1910. JSR FOCFUL_PPU% D1 h' f0 l  K! k! G
  1911. RTS4 Z) ]" t1 J1 H! o- m( D9 P
  1912. 2 P% x, i( E- N* Y& o
  1913. PAGE3: % d4 a- I- h; E. Q5 B. \
  1914. LDA $07AA2 J5 T8 c  x( K# E3 W; x0 `; z/ G
  1915. CMP #$03
    + a  A% I! _  s6 q8 ]
  1916. BNE PAGE4
    , Q  {; |+ m5 L7 P
  1917. ( u* k: y+ F) s# V) G0 u1 `
  1918. PAGE_03:
    + U' l: @! D0 Q
  1919. JSR BULCON_PPU
    3 V' r- u  j  i0 b; C
  1920. JSR SPEBUL_PPU
    8 _/ P, @! w4 Q4 Z% T" P# p7 E* c
  1921. JSR CLEALL_PPU/ O& t( e" @7 J  @( _: s
  1922. JSR HARDMODE_PPU1 U  T) j. \2 X5 n/ p: Z0 y6 D
  1923. JSR B_TO_JMPSTG_PPU+ x% k3 G, C+ s, }2 x
  1924. JSR A_TO_PLAMOD_PPU
    3 }. c, g, n! W# Q; F2 D
  1925. RTS
    4 Y( L+ ^3 l" D! _
  1926.   ?. W! K7 y2 E( _: w( k  _: h- y
  1927. PAGE4: 5 W' o6 @! r! w! `; d! c' q
  1928. LDA $07AA
    1 e) ]; Z5 B0 H7 [6 g$ M
  1929. CMP #$04* j+ U" K9 o/ `/ l# n
  1930. BNE PAGERTS
    & _+ F' D; {+ R9 k% C! a

  1931. % X: |* q& G$ }
  1932. PAGE_04:
    / i( E$ S& |! n1 j0 v! m. H% \! W
  1933. JSR MOVSPE_PPU
    . X: c, T) N2 D2 M: n3 S/ i! N) H
  1934. JSR UNLJMP_PPU7 ]: i! H: `0 B( z+ ?" g8 E
  1935. JSR DESTRO_PPU" U  q- z$ ~/ B
  1936. JSR EQUBUL_PPU% |5 `# F3 _/ _0 p& _
  1937. JSR MOVESPEED_PPU
    6 R; p- |" ?1 v. _
  1938. PAGERTS:5 A: N) u  z7 M, x( u! m& E. l
  1939. RTS0 i) y9 T* |9 l; _' [. ^" H: w

  1940. $ O+ ?7 B9 Y' X+ F" |/ y

  1941. ) a1 ~' E; M1 F4 @7 o! e% N$ d
  1942. PLAYER_01_STRING:
    ( V8 |+ M1 V# B8 C: x4 t0 u/ h
  1943. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$82,$80& b* w* `8 t$ j3 o% o4 N
  1944. 0 U2 ]8 r; A; I! S; S
  1945. ) O. \9 z1 g2 w3 `
  1946. PLAYER_01_WRITE:4 o2 @3 N* d1 @2 r7 E) v5 L# z2 a
  1947. LDX #$00
    ( _; f* c+ H! `! x" E/ g0 G0 n
  1948. PLAYER_01:! v5 G! S0 I6 r3 w  N- B: E7 Q
  1949. JSR PPUADDR_PROCESS; J' n; m5 w! f/ c
  1950. LDA PLAYER_01_STRING,X
    ; E  h4 c1 Z# j& K2 x7 {
  1951. STA $20071 o% x- Y, W7 t, C
  1952. LDA #$00' B; A" U- _' v
  1953. STA $2000
    6 e5 w& ]: K+ }8 J6 g( `
  1954. INC $BA0 v/ m% g3 b5 L- H) \* k
  1955. INX( z( t" S8 t4 @$ H; R
  1956. CPX #$0A
      [" f2 Q# p+ @1 Q
  1957. BCC PLAYER_01; ]3 v$ x0 N, ?  Q6 a8 W# _2 {
  1958. RTS
    ' {( p6 y' f' R( ~
  1959. $ B- y3 K, G( Z* }1 d8 i' }
  1960. PLAYER_01_PPU:$ T8 ~- c% G1 Q, K* M
  1961. LDX #$00
    9 Y* h" h5 R& |! Z4 I" B: n0 p
  1962. LDA #$64
    2 h8 @& e& A8 q0 _+ Y8 D5 j* z
  1963. STA $BA
    , U" {1 r& v& m. @* J! N$ e
  1964. LDA #$20, y  j; P' M. Z8 a! O) @0 ?+ \5 [8 A
  1965. STA $BB) _4 [: n! b) g& k- ^, g8 f
  1966. JSR PLAYER_01_WRITE$ K! L$ ~& d, y1 I8 f
  1967. RTS
    8 U  r: t* o! D- k8 S; z' ^0 E
  1968. 1 k" `, I7 Q, J; t+ R7 I
  1969. PLAYER_02_STRING:
    0 _) Y5 P6 _; y. \! o: m8 [
  1970. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$83,$80
    3 q: s2 b7 c/ @3 Z$ G, C
  1971. ! `# V" t# h6 I
  1972. 0 l+ F/ s6 A$ i% Y" j! X2 X+ |8 V
  1973. PLAYER_02_WRITE:
    : `" x- V- ~: W" J6 i  F! s' }5 H
  1974. LDX #$00
    / G0 a  a$ {% M, ]
  1975. PLAYER_02:
    + I0 g& ~" I% ?0 G& z  R) l' w: S
  1976. JSR PPUADDR_PROCESS
    7 G* E4 q- |+ H
  1977. LDA PLAYER_02_STRING,X
    % m4 g: ]0 o8 B$ ^% [1 x
  1978. STA $2007; {# m$ P8 ]7 g+ T, |1 k% ~
  1979. LDA #$00
    ( g5 F# s: [) {. c4 b/ f
  1980. STA $20006 D% X0 S, Z' s+ A
  1981. INC $BA
    ! {1 F2 x2 W5 B* a
  1982. INX
    ) w3 Y2 h3 n" H, f
  1983. CPX #$0A
    3 j1 ^) w- m: c1 k. p) k0 c0 u
  1984. BCC PLAYER_024 c; e% L% q! _" w
  1985. RTS" O$ ^. l7 B2 k3 p" {0 j" K$ @( \

  1986. 2 G7 Z7 E3 I4 h+ a. |  o4 C8 t1 g6 |
  1987. PLAYER_02_PPU:1 G5 Y/ M0 u! @* n+ s/ \( O
  1988. LDX #$00
    4 \4 _) b( ]: L8 E$ E
  1989. LDA #$73
    9 ?. p2 S" r! U: c. Y
  1990. STA $BA
    4 i1 o% I' J0 j. A- [' j6 D" i- I7 [
  1991. LDA #$20
    6 i, g+ m* d$ J! `2 D
  1992. STA $BB
    1 s  ~( s" Q, u
  1993. JSR PLAYER_02_WRITE* \" T3 k2 ~) Y/ `, i  f
  1994. RTS
    7 U6 h2 T8 A! m2 C! W6 ~

  1995. # d, O* l* B: O9 B+ g1 j+ w
  1996. PPUADDR_PROCESS:) {+ `6 {, O- [" e
  1997. LDA $BB
    - n9 [. k. X1 ?: V" e; z; d
  1998. STA $2006: i' _& I( Q' G, B, S
  1999. LDA $BA1 W' s* k+ Q" w7 X5 Q0 |
  2000. STA $20068 t* ^" t* b/ H* ~$ C  q! P
  2001. RTS2 F/ I: g  y3 k& |

  2002. - P8 i+ ?+ l, X+ y& S, q
  2003. + U2 J: O/ t# Q5 D$ I: r& j
  2004. : U! g) _% u) x" B9 G
  2005. ONE_STRING:
    , s# v( ]3 {! p0 j* M2 R* ?' E0 y
  2006. .BYTE $99,$98,$8F
    : g2 }$ ?. @: J1 }3 L
  2007. 0 P' y9 U$ r, O
  2008. TWO_STRING:
      ~  V4 N% m% f3 E; W1 s% z
  2009. .BYTE $9E,$A1,$99' d6 T* l& X( Q

  2010. 2 }' t' ^  s0 ~7 n6 I$ ?' P& Q6 B
  2011. ONE_TWO_PPU:
    9 b) Z9 k+ [3 r" m3 _6 X
  2012. BNE ONEWR. {1 H4 [1 [5 B( W
  2013. TWOWR:3 U. @) U2 i# s, R
  2014. JSR PPUADDR_PROCESS2 M  g- D( v1 \9 c: T
  2015. LDA TWO_STRING,X
    $ `4 I! R# T# y: Y% H' {) `
  2016. STA $2007. p  m+ x4 T7 p/ g2 ^9 g- c$ E2 b
  2017. INC $BA6 [# J, q% M5 k" D- j# e
  2018. INX) z7 b. L" ^& P" X) R
  2019. CPX #$03. }1 ]) @! r- ]  h6 n
  2020. BCC TWOWR
    0 I, K# L& l3 J+ v( L
  2021. RTS
    9 y' O) F6 e* U' q! o8 ?* Z+ h
  2022. ONEWR:
    . Q7 w' p9 g' A" Y$ F3 ^
  2023. JSR PPUADDR_PROCESS7 `# K5 @3 b( h9 u* C
  2024. LDA ONE_STRING,X+ e  X5 ?. c% t! z- e
  2025. STA $2007* T2 s! v) K  R' Q: e
  2026. INC $BA6 }, M- p8 G$ s% I2 d/ R, n% {& Q
  2027. INX$ _8 g* J. R) e1 E" B0 C( }! p
  2028. CPX #$03) [6 A$ J% f, _. n/ b# C
  2029. BCC ONEWR
    , o3 F+ x! @" X+ b
  2030. RTS
      u' a. T" K3 H. D- H$ H

  2031. 2 f- C& y( F! u" Q, U; w+ Z
  2032. MOVESPEED_STRING:$ @, \$ D" ^" b0 S. ^0 j
  2033. .BYTE $97,$99,$A0,$8F,$80,$9D,$9A,$8F,$8F,$8F,$805 N/ K; y9 A. p. v* }" e

  2034. 4 i* |! T; N/ i% ]1 x
  2035. . R$ A) Q  z* f# R; L
  2036. MOVESPEED_WRITE:
    - I$ j  V. c- L4 ?# s3 w
  2037. LDX #$00
    & N8 l# E' T1 [4 K6 a9 b$ ?: G9 V
  2038. MOVESPEED:
    5 F  V$ l' o  S9 C' Q  c4 O
  2039. JSR PPUADDR_PROCESS
    0 t1 `9 ?/ z# M7 C: U: _
  2040. LDA MOVESPEED_STRING,X- k/ |. A/ J- q- X: D' O/ b  G& d5 @
  2041. STA $2007
    6 ^: y+ z( s+ ~' a& I' @
  2042. LDA #$00
    ) T  a4 _6 {4 m0 A3 ]$ ]
  2043. STA $2000
    / T3 J) |: |( m- U5 P7 i& f+ V3 R. \# E
  2044. INC $BA
    5 m$ V0 q8 D# [  D$ |" `
  2045. INX; V) P1 C$ v# w, `
  2046. CPX #$0B$ v' r7 S$ H0 {" y* ^
  2047. BCC MOVESPEED" q& I0 g8 p/ v# o
  2048. RTS
    + Q: x/ |4 z& |* w% ^; j8 y  S

  2049. % B, r! ^9 n3 t& W# [! w
  2050. MOVESPEED_PPU:! N2 Z3 J8 H; d2 W0 |4 }: P$ J, O" v
  2051. LDX #$00
    7 y! a7 ?7 e, g( l$ |1 j
  2052. LDA #$AA' V  s' b  ^2 K7 B2 _" Y4 e
  2053. STA $BA5 Y3 d8 a( B, `4 m; a, u, ]
  2054. LDA #$22
    ) _$ Y: ?5 }9 |( h
  2055. STA $BB
    4 `5 }+ ?7 G! ^3 `! u0 N
  2056. JSR MOVESPEED_WRITE
    ! y/ _( |: r- [- `9 {- B( i
  2057. LDA $70036 N7 E1 z4 A7 S/ M$ v; C! G( x
  2058. CLC# P: n/ g% A9 v( N" i8 @
  2059. ADC #$82; T- w5 r$ M6 _# F
  2060. STA $2007
    5 |' }) y: K3 Y
  2061. RTS
    5 X4 q/ v) X* m( Z3 N- _
复制代码

本帖子中包含更多资源

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

x

评分

1

查看全部评分

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

签到天数: 549 天

[LV.9]以坛为家II

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

签到天数: 7 天

[LV.3]偶尔看看II

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

签到天数: 2060 天

[LV.Master]伴坛终老

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

签到天数: 2942 天

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

签到天数: 2090 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

发表于 2016-11-21 09:59:17 | 显示全部楼层
这东西找了好久勒,谢谢!!+ @5 o& A' w: @3 u6 H
[发帖际遇]: wjb19780515 发帖时在路边捡到 5 个 柠檬,偷偷放进了口袋. 幸运榜 / 衰神榜

签到天数: 2366 天

[LV.Master]伴坛终老

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

签到天数: 2064 天

[LV.Master]伴坛终老

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

该用户从未签到

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

签到天数: 347 天

[LV.8]以坛为家I

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

该用户从未签到

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-8 08:07 , Processed in 1.101562 second(s), 31 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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