EMU618社区

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

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

[复制链接]

签到天数: 39 天

[LV.5]常住居民I

发表于 2016-11-19 22:19:45 | 显示全部楼层 |阅读模式
本帖最后由 yandagui 于 2016-11-19 23:11 编辑 # G% p+ G) q/ t
3 }% @' {  R$ H% p
     [FC][魂斗罗旋风终板END暂停显菜单]
; y# q9 i' k5 L7 J- L1 b, h
作者:FlameCyclone(flamecyclone.ys168.com)5 r' ~( D' i; K) q
时间:2016/11/19 21:46:00
/ P% S( ^& x' g9 O: a, j& s更新日志:

; c7 w% B. X3 }2016.11.19:加入暂停显菜单(共5页).
) y5 a) k. X: n+ l2016.11.12:加入无限跳跃.
, o8 _4 S1 \0 [7 V8 x7 Y2016.11.12:加入速度调节.

2 _5 V/ y, L+ o( e2016.11.11:加入敌我子弹对消功能.8 S9 X# D' }( P" r; C0 G
2016.11.11:加入全屏闪灭功能.# W2 N* D& h5 C: t+ y, {, B" l7 I! A
2016.06.08:加入全屏瞄准功能.
) D% W- ?$ K; G: {2016.05.31:加入弹速调节功能., {' Q7 N+ e1 `* _
2016.01.01:加入高难度模式.5 c! \: x( g( x6 U! Z6 Y
2015.12.12:修复消除威胁不足,使得移动BOSS关卡(第2,4,5,6)正常通过.5 {4 B/ Y4 x6 P! M$ Q
2014.07.05:由于对打功能不完善,直接去除,更改为生命锁定.
) y5 O. ]% d" H% E: ]2014.07.05:双人切换功能优化.
4 I2 n  A  U( {  H9 n! [) W/ a; Y2014.06.01:修复第三关浮空到BOSS前必须关闭浮空后跳跃才能见BOSS的麻烦.
2 M, m( ?9 I7 f2014.06.01:取消生命锁定,改为生命锁定模式下剩余生命不会少于一条.. ?2 O6 v2 F4 r5 @/ v& r
2014.01.18:修复GAME OVER字样只有G和O的错误,原来想拉大字母间距离,看来行不通.3 W3 D) ]9 y6 E1 X: r$ P& ]
2014.01.18:浮空模式下,P2飞行高度未限制导致死亡,原来是指令本该用绝对X变址的被用成了绝对寻址.
& v% P' }' y/ v" c1 r4 y+ N2014.02.08:拿手机无聊时又发现一些错误,所以修正生命剩余勋章显示的错误(某天用读卡器插在DVD上测试发现机器读不了卡,原因是目录级数超过三级,只有刻录成光盘来测试,结果发现生命勋章的显示竟然无压力!)
* ]% ]" [1 P0 y" U3 P2014.02.13:加入自动演示通关.
. k0 h3 u: m, A1 ~内容:
8 \2 W( E2 V% O  r+ ]23.暂停菜单:        暂停后,自动显示菜单,选择键翻页,方向键和BA键进行各种功能的开关操作.! h6 j4 M; t1 q$ Y( O
22.无限跳跃:        暂停后,选择键4次,按下开启,开启后游戏时无限跳跃.$ Q- ^& R1 D  ?( |  D* f6 S
21.速度调节:        暂停后,选择键4次,按左右调节行走速度(0-3级).

3 ~( j% J5 @, F6 t6 Z. T; V20.子弹对消:        暂停后,选择键4次,再按A键切换,此时敌人子弹可以打掉.2 a+ h& ^* h5 D4 |& j2 N3 E1 S
19.全屏闪灭:        暂停后,选择键4次,再按B键切换,开启后游戏时按选择键屏幕内敌人闪灭.+ {0 g  Y' n$ j6 x: c
18.全屏瞄准:        暂停后,选择键2次,再按B开启/关闭,子弹对消开启时无效.
! c- ~* l* U& T* `  z' m17.弹速调节:        暂停后,选择键3次,下开启,非暂停时按选择键调节,默认为1级,共5级." ?) {! q4 i5 c. @. Z( H, I
16.困难模式:        暂停后,选择键3次,右键切换,我不相信你能够无伤通关.
5 z- X  p$ ^% b5 k, ?. e& @) F01.子弹切换:        暂停后,选择键0次,上=快S,下=快L,左=快M,右=快F,B=快普通,A=取消当前子弹加速状态." e, |7 L8 u6 \
02.无敌锁定:        暂停后,选择键1次,上开启/关闭,不用讲了,金身无敌.
& }1 a' O3 D9 r  P  C0 c$ E03.生命锁定:        暂停后,选择键1次,下开启/关闭,生命锁定为16条.
# H4 a$ P; `0 \* A04.角色双控:        暂停后,选择键1次,左开启/关闭,无非就是主机控制副机.5 w& F* ?' B! U* T* X
05.生命底限:        暂停后,选择键1次,右开启/关闭,锁定剩余生命数不少于1条.% D1 R* q% d& D2 F
06.一击必杀:        暂停后,选择键1次,再按B开启/关闭,即使是第8关BOSS,一发花生米依然要其老命.$ i# v5 r( y- G6 v( y9 R. J/ r3 o) C
07.角色浮空:        暂停后,选择键1次,再按A开启/关闭,第三关浮空时按选择键向上卷画面轴.
7 e0 P  o* j' \+ ^$ m7 I' S08.弹数加强:        暂停后,选择键2次,上开启/关闭,此时所有子弹发射数为15发.% y- H: k3 \" B/ p0 Y0 Y2 k, @
09.皮肤更换:        暂停后,选择键2次,下开启/关闭,主机开启时橙黄色,副机开启时为蓝色.+ O5 W! i  x: s& O1 @7 d$ |# H& N
10.混合子弹:        暂停后,选择键2次,左开启/关闭,此时连射时所有子弹混合.3 ^; x0 t# j5 |+ S
11.敌人锁定:        暂停后,选择键2次,右开启/关闭,此时敌人原位跑不动.* x& A7 b7 O" U: J4 l, l
12.跳过一关:        暂停后,选择键3次,再按B使用,使用后可以直接到下一关.9 k! G8 E, [- i$ K
13.单双切换:        暂停后,选择键3次,再按A键切换单双人游戏模式.* n9 S0 ]6 f2 l
14.子弹方向:        暂停后,选择键3次,上开启/关闭,开启后发射的子弹攻击方向会随着操作的方向按键变化,第二关和第四关的小关建议关闭(开启的话打中敌人太难了哦).
0 `6 f1 b7 d. P: `. d5 x15.消除威胁:        暂停后,选择键3次,左开启/关闭,此时游戏时按B键使得移动物体被消除。( X' \& y0 t; G% x8 |8 E2 C) K: @
A.做了一些汉化(小字体),剧情,关卡名及通关后的文字未汉化.  e8 i% `# |( v& f5 S8 s" _
B.自动演示通关,双人合体打通关,演示时有背景音乐,通关后一样会有结尾及恐怖台词,之后游戏进入选关(相当于游戏自动开始了).注:通关后P1及P2会获得16条生命!也就是说看完演示自动开始后第一版有16条生命!
5 Y+ z6 Y! U2 l% C( I) v# T4 BC.生命显示加强:最大显示15个剩余生命勋章!电脑端请开启精灵超过8个(这样勋章不会闪烁),手机端认命了,不过不影响正常操作.* {6 Y* L( q8 f1 l

3 `% U) I' O) b& F+ o    如果有什么好的修改建议,恳请通过QQ(1490868135)联系我(也许我不在线,可以留言在QQ里)
) ^$ W! H5 P4 ^* o( v! p! u欢迎大家转载,转载时必须注明出处.  [3 {" {4 Q8 z% o

- A9 X' v! U& _$ ?. O
游客,如果您要查看本帖隐藏内容请回复
% C8 A' P  [+ n* y1 n7 \$ t  x9 a% v9 z

: C& t9 m! t! S$ X! p1 T忙了一个星期,觉都没睡好,眼睛也疲惫不堪啊.终于找到解决方法了,目前VIRTUANES运行不了,请使用其他模拟器玩.
9 a  \/ q5 E4 _! O" N) Y这几天的劳动成果如下:
  1. .ORG $B4005 }( L/ D, i4 ^4 e; p5 z2 m
  2. 6 S8 E+ _) ^3 F# E6 n& H; ?1 @
  3. 0 S6 P7 W9 T% h
  4. PROREG:
    # Y8 n$ w" X/ U2 h) l) r" {# v
  5. PHA4 F# D# ]3 a* R* h
  6. TXA2 z3 Y8 {: N" X/ @/ x; I
  7. PHA
    ' n7 k/ _% `( Q  f+ U# |
  8. TYA
    # M9 V) l) h- R0 r5 o
  9. PHA- C9 f' J$ m; F! j- Q* \3 u
  10. LDA $25
    8 |+ i8 J# h8 _  }0 x, R
  11. CMP #$01
    / q. \1 ?. m1 W1 N( ]# b* S/ ~" K+ \
  12. BNE RE. u4 P5 p- q- L4 K0 V
  13. LDA $010A; z6 d6 t! q7 p% Q' J. e/ n
  14. CMP #$00: F) E) o8 l, Z- N
  15. BEQ P1
    . e- N* ^  L5 H2 D  J# X+ Y2 {  Y

  16. ' p( Y+ t# i1 V
  17. RE:
    $ N& A. |! e" ?  R9 o
  18. JMP PPUWRITE
    " Z8 ?# q  _1 O2 h* _+ x- A

  19. : J& d, A  a! z' Z0 }
  20. P1:                ; 条件判断
    ' ~6 p% f/ f' l  X! D2 g
  21. LDA $7FFF7 p' j( M( I# P4 k( y  v
  22. CMP #$FF
    ! H( m9 v0 Y/ [3 ~: R
  23. BNE P1RP
    $ n* q/ R2 I& e7 Y
  24. LDA $7FA0
    2 t" k% t, a" @. o
  25. CMP #$00) f7 Z3 {1 H$ I: Y
  26. BNE P1CMP
    # c% u+ Q% _- Z. ]7 p: _
  27. LDA $2001
    2 U( ]9 o' R* ]2 U1 l  B9 o0 g1 Q
  28. PHA) y* g* b; `) k1 ^, `& s. R
  29. LDA #$00* M+ ?) r( l) Q9 ~" P4 w: W6 G
  30. STA $2001
    ( Z1 P: v0 E) W3 h  V! D9 ^
  31. LDA #$FF: R$ b6 x" a; q% B
  32. STA $7FA0
    - t: T4 A  ^& w8 l& o* R
  33. JSR CLEANA! |* d& h: f9 z5 W
  34. PLA
    . E" C" p1 X6 @; R/ j
  35. STA $2001  \5 v! i" |$ }3 F  f
  36. JMP PPUWRITE
    / F/ i1 E2 S2 q* S( h0 e
  37. P1CMP:
    9 C% p: o/ _. J- X# Y5 O. L
  38. LDA $7FFF
    7 I6 X* M( E9 N* Q. `/ k, q% L
  39. CMP #$00' R3 L: N$ ~4 @/ ~) r
  40. BNE RE
    + L6 O7 m" |4 ?6 L' i/ g
  41. P1RP:
    8 ]+ F9 V# p6 X" E
  42. LDA $2002+ W: b2 r2 n: N4 a
  43. LDA #$002 P# f. ~& [% p$ J
  44. STA $20016 O5 J1 o, z. N: c4 ~* C# Z
  45. LDA #$FF1 F1 U5 P$ a0 w# U
  46. STA $7FFF# P% `' b9 r: c- l
  47. STA $7FA0$ G" g# {' m+ _* E- |$ v" V! K
  48. JSR COPYPPU7 L9 r; Y1 [+ I! q4 x0 H9 s3 b
  49. PIRP2:; p5 M0 b) J- N9 ?: [
  50. JSR CLEANA6 Y4 B' c! o5 J/ {, z5 [( i6 _
  51. JMP PPUWRITE. J- C. i' k3 x
  52. . g7 A+ O; a) H
  53. COPYPPU:5 X0 }0 y2 i+ _& o
  54. L0:4 Z1 U$ l8 b, _1 Q# ]' w
  55. LDA $30
    % W# q/ ]9 }( b6 _! p: v8 g
  56. CMP #$02; `6 c. }$ W  l/ ]
  57. BNE UNPROFC
    & n$ M  J/ D, L: j* ^1 _# r; H+ A
  58. LDA $FC
    ) S9 \- {% a& W1 K5 z0 P- e- {9 |
  59. STA $7EFC
    4 Z/ C  f. r6 x- x( \
  60. LDA #$00
    6 }; Q$ ^3 P) q& X* n% m
  61. STA $FC
    4 J; D2 Z% `. C. Y
  62. UNPROFC:
    0 j0 Z! Q  x: ?3 x; Z  K
  63. LDA $FD$ s# h6 u9 s/ H3 k
  64. STA $7EFD
    6 }6 L# s# ]9 S( p: \
  65. LDA $FF
    , w9 @$ s9 a( E
  66. STA $7EFF
    1 t/ C, U- t& ^0 Z2 k# z
  67. LDA #$00
    ; i2 K# ^7 V. u$ N  A# S4 U! q
  68. STA $FD
    & S  |" z3 M, y( T& T2 ~
  69. LDA #$B0
    & F- O/ I4 R0 |  A8 Q" t1 t
  70. STA $FF! f8 d7 p( P+ e& S" v3 }8 t6 I
  71. LDA $07C1
    3 j6 L3 `* v% Q1 }* p
  72. STA $7FC1& z& Y. D8 ]' p: e& c/ N
  73. LDA #$3F) `- h) z9 L4 O1 {8 R1 t+ I
  74. STA $2006" u. e$ m0 \2 d( T8 i3 P
  75. LDA #$01  ]- r2 Q2 N7 u, A5 y
  76. STA $2006
    ) z, m3 J' `( \) Z- b8 F
  77. LDA #$24, |2 o0 P5 b0 N* s8 W
  78. STA $2007
    $ Z) M( I) W( r, v
  79. LDA $07F6# P+ h* t' {  f$ I" J- |/ O
  80. STA $7FFE
    / Z" t* P, @% T: z/ I+ T
  81. LDA $00FE) f7 ]4 \: {0 N+ {* n
  82. STA $7FFD
    / `7 e' \1 L+ @% K3 O
  83. LDX #$003 \" v3 k0 M  F* g- K# C
  84. LDY #$00& ]  A3 ]2 K' n0 l# G
  85. LDA $BD
      q( R, e7 @9 {( ^& V% Z8 d! K5 Z
  86. PHA+ {9 D/ V) I; t) U0 y6 _; @! l
  87. LDA $BC
    9 v6 X4 t# }0 p: A; |5 q. b
  88. PHA  M8 O6 c$ U8 h$ }; w
  89. LDA $BB
    / g& J8 ~8 v9 E9 A
  90. PHA3 w/ K: N* A- G3 L* p' n$ z3 ?
  91. LDA $BA
    # f  Y9 \  l3 M4 |& D9 n
  92. PHA0 i$ s7 k2 C5 \+ Z
  93. LDA $B9/ g9 x% f, n. B! x
  94. PHA
    + ?: `8 S  l7 T# v& N8 S
  95. LDA $B8
    $ ~' G0 ?0 l0 C/ y
  96. PHA# s7 [( R: k( v  y5 d5 S
  97. LDA #$00
    : }3 ^' `! I% {1 [7 q3 K
  98. STA $B8
    * z) i' _. X$ _
  99. STA $B9
      o- Q. K: B+ F! W& N; C' \% D: ?
  100. STA $BA7 J6 o7 a) m6 q  M
  101. STA $BB+ o* e5 C2 |( W8 i9 i
  102. STA $BC
    3 `7 o/ R& p5 f" b
  103. STA $BD
    9 @  N4 r- h* `
  104. LDA #$00
    6 N1 M' `$ V5 {
  105. STA $BA
    3 \# P) ?8 K. Q3 m
  106. LDA #$20
    7 ^. {; M, ?- R$ [. I
  107. STA $BB2 s2 S" l- W% _' N" q5 i
  108. LDA #$00
    8 C6 V! o: C2 X+ {) a! f
  109. STA $BC. Y$ s! N3 g% r- a6 z5 Q
  110. LDA #$60
    $ T% ^6 Z& Q5 |
  111. STA $BD3 D- |4 I  r% S

  112. ! D3 `" B$ }3 M* E
  113. L1:                ; PPU复制
    * S" g1 {' a; [; m- a$ I
  114. LDA $BB/ K5 B' `) J4 H" l
  115. CMP #$30
    1 l1 J% K# ^# J% ?8 l
  116. BNE L2
    : \& W3 c" A8 R$ w9 H1 a
  117. LDA $BA
    + }/ @. h4 B  Q% Z' O/ V, ^
  118. CMP #$00/ w" \" f. B; g: k8 V% N
  119. BEQ PROADPLA! W" i1 @2 [) B- _; i
  120. " z, M  q5 a3 K! d
  121. L2:
    5 i7 y1 F, Z6 o2 D
  122. LDA $BB( p6 Q+ _3 r% C6 \" _
  123. STA $2006* v0 o$ a+ g, X7 z
  124. LDA $BA
    3 W! R3 e+ I$ R# O1 ]. b9 w2 ]
  125. STA $2006
    ( b) F+ D6 v/ i0 B  [6 ^, B
  126. 1 M2 O9 z) k! \" `7 U+ J
  127. L3:: L+ L* J! o/ G
  128. LDA $2007
    9 y6 ?6 m9 B/ w  |
  129. LDA $2007
    * I$ e$ r+ |) I* |0 X# h
  130. STA ($BC),Y1 A6 g7 ~- p- p: H0 N# J
  131. % `0 a. e) _+ C+ m6 P7 g, J% ~5 O9 e+ h
  132. L4:! d6 D2 ~; x' H8 ^/ q. a0 P8 B9 n  J: [
  133. LDA #$004 n" x; O- L+ O! n
  134. STA $2000' [  e+ H+ H5 a8 s9 |, c
  135. INX7 v( ]' W: a4 D/ L3 q) q
  136. INC $BA
    % n- g, I: F/ K" s( K2 y. T
  137. INC $BC
    ! \( v2 X) C# i4 l% {6 J
  138. CPX #$00
    7 I! u6 G+ B$ h% S5 f
  139. BNE L1' L% f: p; w+ P. Y, ~
  140. INC $BB
    + N& Z# W9 x; I3 x3 e) U! c/ @
  141. INC $BD
    - j& z3 m1 S' |7 U4 t  h
  142. JMP L1
    3 f0 L, x' ], T  h9 `

  143. # ?( U( r  r/ \- l% P2 W9 f) O
  144. PROADPLA:                ;出栈
    8 x+ e% K" P+ F$ [& w9 a5 c8 Z1 X
  145. PLA7 b6 L$ i9 @& ]8 d2 r$ m6 o( w
  146. STA $B8
    / b0 i; Z6 G; {1 m
  147. PLA2 q. n9 ?$ A6 U2 W6 o+ N
  148. STA $B9; V! [4 X4 M- S/ R# a' }
  149. PLA
    4 e& C: X. C; H# p* A7 Q4 [" i5 q# F
  150. STA $BA
    6 M1 e- @. V, n' `
  151. PLA' D0 d2 o0 L3 `2 _
  152. STA $BB
    4 f5 O' M# u# {( E
  153. PLA6 C$ Q+ D0 Y- B
  154. STA $BC
    # [. C& p2 Y. ~0 N% O& K( |$ P
  155. PLA0 ?8 q' p8 q5 |3 l% ~( O
  156. STA $BD
    4 `, d5 \  |5 k2 V. d
  157. CPRE:, m! T  ^" f2 C" x& l
  158. RTS7 \4 ?8 X% c' F7 }" D) \1 b* I
  159. ( q: W: r' t' w- U0 @& ?
  160. CLEANA:                ; PPU清空) a1 P/ J3 F, f8 E; \4 ~
  161. LDA $BD
    * C7 c. F4 L/ J9 c
  162. PHA9 Z0 f. P/ s5 V# V2 ]! o
  163. LDA $BC
    & i" G7 t2 a% {: T  p  E. R4 n3 m/ b
  164. PHA* ]! I! N# \" \0 j
  165. LDA $BB7 B% u' I" Q5 v% [) q8 f
  166. PHA
    0 H2 M5 _7 M7 x
  167. LDA $BA: D- o% b) j& b% P; K. p
  168. PHA0 @2 x7 b# G6 {# `* q6 R, N" ?
  169. LDA $B9
    % n% K- m, e; ~' q" S3 I
  170. PHA$ k/ n4 R) {' c3 }% z
  171. LDA $B87 T) M1 G/ z$ Z5 h4 F  O0 y. c  ?) t  e
  172. PHA
    6 D$ `$ [1 }2 r: h3 p8 M1 H9 G
  173. LDA #$00; Z9 q5 u4 W0 b0 e
  174. STA $B8
    7 w% J1 s# T5 P5 Z
  175. STA $B9
    , j: m2 m( ?) h8 X8 |( j7 R
  176. STA $BA
    8 B9 I. }8 D6 n4 C  X) t
  177. STA $BB0 I4 s/ U0 ~1 C+ \/ b
  178. STA $BC
    5 i# v$ k" h% z
  179. STA $BD5 ]& A$ V5 \$ v
  180. LDX #$00
    ! C. T, Y$ d/ H- L( m
  181. LDY #$00
    6 N% A$ O6 b! w+ ~5 t
  182. LDA #$004 \# x+ _3 u5 k* j
  183. STA $BA
    # p' e* m  }- {4 y5 A
  184. LDA #$207 l% e( n+ m$ ?0 j# ?  j3 H3 t
  185. STA $BB) r7 ~1 _9 H1 K3 M$ W% m4 K
  186. - g) Z! p8 o% ]4 Y% O  g9 Y; d
  187. CL1:
    ! c6 ?; q3 v  k' k
  188. LDA $BB  Y8 E' P" v# z+ E* U
  189. CMP #$308 a5 d2 @1 v6 |0 ?' A+ R
  190. BNE CL2
    $ B" K! @; x1 X5 A6 x( ]
  191. LDA $BA* d+ A! E" _( x
  192. CMP #$009 s3 \- k8 [7 a7 H
  193. BEQ FREEWRIYE
    " Q0 o7 D4 s2 O" W+ {, P3 m) U
  194. ! M1 d. ~) F: _$ N% P7 w
  195. CL2:
    0 Z. R( z0 e* L
  196. LDA $BB7 z3 \. }6 e8 F* K( {; X
  197. STA $20066 y# Q; b. z, K# L3 m
  198. LDA $BA
    , T+ z* N8 I8 u7 W
  199. STA $2006
    & t1 N6 I* h9 I

  200. % e; F4 [( g$ y" z5 T+ ?: C
  201. CL3:
    7 Q# [: X9 l- E2 }
  202. LDA #$00
    6 z8 D+ o, n/ P3 J- w' y% K
  203. STA $2007
    - K( |( s. u; u- X$ ^
  204. 9 `) P  s, p7 N& [# B
  205. CL4:% `6 W! y5 y- V) ^7 N: ]! J5 C! Y
  206. LDA #$00: N% B! n; g7 ?
  207. STA $2000
    * S6 l! c( c. W  d/ v3 [- \8 X
  208. INX5 _) f) q/ h$ @! l& ]& m
  209. INC $BA/ E$ a# H7 e! T
  210. CPX #$00
    $ C+ h5 t: f# v% f$ o
  211. BNE CL1/ z+ n5 l( F# [3 {$ T6 G; x2 |4 ?6 Y
  212. INC $BB
    - g$ n" c3 i# w. o0 k' l% M/ s4 v
  213. JMP CL1 7 ^+ `9 H7 y: t2 O  x  v
  214. , b0 e8 j' Z" u3 i, I: r5 f- C% ^6 q4 L

  215. 3 J1 R4 I9 P! b# t2 a2 L
  216. FREEWRIYE:
    ! s) }5 {( {0 l. D  u* p- N
  217. JSR FREE
    5 z/ @+ a9 V; B  }
  218. ; }1 w. r# L& q% o" I6 ^( ^

  219. ; L' ~2 D  S$ j. h" J8 L! L* _

  220. 6 ?) I2 c# ?) ?; j2 ]# V2 U
  221. . V  _  _; U- z
  222.   y7 J2 M% @' w  p( d
  223. CLEANF:                ; 恢复现场7 h' V% M; p- Z
  224. LDA #$08
    0 p" g4 u3 M7 I. f1 y+ Q
  225. STA $FE
    # X: t  S7 j8 q& e& D! G
  226. LDA #$00$ T9 X3 k5 j% ?) F5 C
  227. STA $07F6) F; p& O2 Q8 s9 j) Q
  228. LDA #$24
    : _6 w3 R0 }3 K) n$ j( e* U0 M
  229. STA $7FC08 }/ `' B1 X' p' B4 F! O
  230. PLA) X7 _8 q- Z/ O: s( i9 N' H) B
  231. STA $B8
    : y! r% g1 J: ]
  232. PLA$ A1 O" N" Q) L8 z/ F) D
  233. STA $B9/ h! M! e  G5 c8 N5 V' B% a9 j
  234. PLA$ A) l& Z% @9 V
  235. STA $BA
    9 ^' E: O+ J4 D% p7 u
  236. PLA
    8 B' S6 L$ F2 @% g& |  u
  237. STA $BB
    ; p% ^; r! t7 M: p% K
  238. PLA- ^1 p' W" N! y% i: J, u2 X
  239. STA $BC% H. \+ p+ t# D+ _  w* C
  240. PLA
    & A; K% Y4 @2 g# H; k  H
  241. STA $BD
    2 `, L$ R8 f6 a1 j% g
  242. CLRF:
    0 i* e' i: G9 H* Y
  243. RTS
    ' n; D# G8 N9 H6 p* S
  244. $ ~" c0 Z, V. O7 V$ v6 r
  245. W_DATA:
    + }- [7 a$ T$ s7 y" q, f" a
  246. .BYTE $00,$01,$02,$03,$04$ R. z9 ^! r$ a4 a3 t* Y- `' ?) V
  247.   . m" C% z1 g5 I0 z0 [
  248. W_PPU:! l9 [+ R8 M; i) T6 O- D4 Y
  249. .BYTE $98,$97,$90,$9D,$960 F( W# R3 V! b- g& z  s9 K
  250. . t. U, Q0 R2 [8 H3 S
  251. P1_STRING:
    % j/ \1 B) W) I
  252. .BYTE $9A,$82,$00                ;"P1", M; k, A+ J! u4 H

  253. ) e% y% d! _2 U  J% K, l: H
  254. P2_STRING:% T( J6 Z, J( L7 u  v
  255. .BYTE $9A,$83,$00                ;"P2"
    ; q9 q$ _( @# v# h

  256. ! R+ l7 G6 j- x/ j% n; F: F: \
  257. WEAPON_STRING:
    ; p) Q' b5 j5 U0 d. ~/ a
  258. .BYTE $A1,$8F,$8B,$9A,$99,$98,$00  ;"WEAPON"
    6 v" I- ?* o9 ]/ E: P9 E4 c

  259. 0 B5 ?+ y% M+ z" v$ _/ w6 H
  260. RELIFE_STRING:# g% O3 M+ R( r! j2 G( [& h
  261. .BYTE $9C,$8F,$96,$93,$90,$8F,$00  ;"RELIFE"  S4 d# H' j/ T
  262. 8 x& s$ y# x4 ?+ g' [, X
  263. P1_PPU:* t% b0 E8 s( B- H( G
  264. LDX #$00
    # }0 p! f  R9 y+ r6 o

  265. 7 U5 l  \* o& Q1 Z  n
  266. P1_PPUW:
    ) [  E5 i+ J, G1 H( I
  267. JSR PPUADDR_PROCESS
    - Z( v/ N* ]: h
  268. LDA P1_STRING,X& p; `1 u  g" Q- c$ I9 O# {
  269. STA $2007
    & z; D; M* d. @! T' S2 j& Q
  270. INX! R6 s; h5 \1 b8 @
  271. INC $BA
    , s& S5 O- Y  D5 g1 x0 V( _: Y; h
  272. CPX #$03
    8 y/ z1 [/ a" t4 F8 A/ c1 B
  273. BCC P1_PPUW
    9 p7 T* I5 c. ~7 B# \" }
  274. LDX #$00
    - s& }  M0 @1 Z; X8 b
  275. RTS
    3 w' S) R* o" h  X7 P
  276. ; W9 \. ^, ]% q( h# p+ a
  277. P2_PPU:
    0 K' \" t2 {: @$ P# ~, H
  278. LDX #$00* s+ Y2 V* f$ f
  279. ' |3 \& Y1 N; |# S1 i3 E
  280. P2_PPUW:' P4 J9 ~+ k$ f- o$ v
  281. JSR PPUADDR_PROCESS
    + `# y, ]2 j! ]# [% l5 p
  282. LDA P2_STRING,X# G0 C. V& H# p
  283. STA $2007
    2 {" x; X$ h4 Z
  284. INX% ?! R& h- h" ~: v5 O6 I
  285. INC $BA
    $ T/ N  ^% k2 i
  286. CPX #$03$ U0 T  L; `( p
  287. BCC P2_PPUW; H" U2 @. V4 m/ t
  288. LDX #$000 Y  @8 G  e+ C
  289. RTS" }, L/ v' j( d( c3 Q, ~; \% h
  290. ' I% [9 |: C0 A6 b

  291. . J9 y7 Z0 z( L, [% R
  292. LDA $BB
    ( `( U: U7 T+ I
  293. STA $2006
    6 K* n! t4 x3 ]9 L! Z
  294. LDA $BA
      Q4 K8 w& J/ y; G  ^3 O2 }
  295. STA $2006
    7 M. d* H' M; g, s* @. S6 T
  296. RTS2 ?+ C; J% |$ E$ u
  297. ! J. l2 Q4 a# ~
  298. 5 G0 u& m- e( g4 q
  299. ( b9 D% B' a' c+ E: k
  300. PLAYERLIFE:( W$ B% [  J  D5 t' \2 `5 Y
  301. JSR LIFETODEC
    3 s$ E6 r* Y: d1 N: e/ K
  302. LIFEPPU1:# P9 Q; C, e; E: i# I7 F5 \5 t
  303. LDX #$00; q- l2 w+ L0 z# p; S
  304. LIFEPPU1RE:, }7 a0 G4 g6 C- I7 {3 X/ ~4 B
  305. JSR PPUADDR_PROCESS
    8 {0 M- E3 c) \1 T7 {! n& j
  306. LDA RELIFE_STRING,X
    8 N" ^& H2 s/ K* X" l6 }" g. v
  307. STA $2007
    3 b  z. B) n; G3 T6 ]- W
  308. INX
    $ J8 I' ]  v/ M  @
  309. INC $BA5 _3 |+ }: h9 R1 d
  310. CPX #$07
    ) h' F  o- Q0 ^3 U! C
  311. BCC LIFEPPU1RE
    + O$ S8 s, ~9 g4 q7 O' S& D

  312. 4 F  ]: Y  K9 V/ l9 O
  313. LIFEDEC:                ;生命显示写入
    4 m- Z! k+ `+ ~0 z3 l9 i$ u" f% ]3 r: Z
  314. LDX #$00
    ; U; U. @' S& n1 X2 a
  315. LIFEDECRE:* R* J* l$ m6 I3 @( q) T9 o
  316. LDA $7A03,X
    * ]5 O- w; u, _8 D7 h
  317. CLC
    8 o5 K( Q( [& @$ j% |& r
  318. ADC #$81
      l! }1 [: W7 F6 e
  319. STA $20072 A6 L% ~) _, ?4 a  H
  320. INX& g1 E4 g% w! b% S
  321. INC $BA
    8 I) k' b) k8 ^; Y/ x+ P
  322. CPX #$03
    - }- r# O& D: T3 B, C7 ?9 O/ M
  323. BCC LIFEDECRE
    5 ]# o0 x) c) j7 ]$ F; Z
  324. LDX #$00
    / l8 M/ s& G/ q  w
  325. RTS
    2 b; i. f. @  S" r( d$ f& Z" [
  326. . x) P! b9 r5 ?4 R
  327. LIFETODEC:                ;十进制转换2 `8 G" Q+ @5 _' _7 a0 q
  328. LIFEL1:        ;initialise
    * ^; K2 d) e; r! n& v
  329. STA $7A00        ;$7A00=F3; v* v3 ^3 K' Q
  330. LDA #$00
    / f' S- O. A! q, F9 B
  331. STA $7A03        ;$7A03=00
    4 r9 c, L* N& g
  332. STA $7A04        ;$7A04=00
    / C& l5 U& c% f
  333. STA $7A05        ;$7A05=00
    6 ^( k* ?1 H7 M  t% j: s( H
  334. LIFEL2:        ;copy data $7A00 to 60019 V) a  R+ `. N: }( [( }3 y/ r
  335. LDA $7A008 L8 @7 O" ?+ }0 I! i
  336. STA $7A01
    / S9 o5 {* S" @6 K

  337. 8 N, T0 s/ G1 [. t2 {
  338. LIFEL3:         ;hundred! r' y' r  ^4 H
  339. LDA $7A01
    ( y& ]4 H  a3 H! I- w- R6 V
  340. CMP #$64" A# r0 n  i5 n7 I% k
  341. BCC LIFEL6                ;$7A01<100 goto L6- \3 |' m: ?, K+ U$ J
  342. LIFEL4:
    $ _# V& |$ x8 E* G6 N
  343. LDA $7A01
    3 p& M: m5 k) D+ R1 x
  344. SEC" X; [" ]0 M3 b& C* u9 L
  345. SBC #$64        ;$7A01=$7A01-100
    % I  k6 J  X: g( P+ Q
  346. STA $7A01( n/ s5 D1 g- y! ~
  347. INC $7A03        ;hundred++
    2 w. _0 l" ]# ~3 O7 @6 F
  348. LIFEL5:
    # c; X. l# O7 h# q; C
  349. LDA $7A01
    - ^0 m6 W! s2 U3 i7 ~
  350. CMP #$64
    2 {0 y7 C6 S: X: c4 z' u. U4 X, g
  351. BCS LIFEL4                ;$7A01>100 goto L4* p  D/ H! _$ n$ H" g

  352. 4 t4 t* E+ M/ y( Q0 u% D
  353. LIFEL6:        ;decade: Z9 {& v' p  ]1 {! o1 ^! x+ i% h
  354. LDA $7A014 |& ?# }4 J9 K( C7 ?; W- T1 k+ u/ M! t
  355. CMP #$0A3 z$ w; O6 `. U( x! r' y3 t
  356. BCC LIFEL9                ;$7A01<10 goto L9+ S, f% k; M! v
  357. LIFEL7:       
    , g5 I. d9 O! {$ m' f; ?
  358. LDA $7A010 H. g% P4 T+ O5 y1 H# y$ w
  359. SEC
    + E  K0 z: w+ d" b2 O& a+ A2 `
  360. SBC #$0A3 C: b* [' R# d1 R8 _
  361. STA $7A01        ;$7A01=$7A01-10( ^1 ^* T' D6 y. V- v, J& p
  362. INC $7A04        ;decade++
    2 I5 U+ f: n* P- {$ ]6 d
  363. LIFEL8:4 J/ r& v, r( K4 I; I8 j% i
  364. LDA $7A01
    4 e! Z9 M0 d% r* ?5 \# I1 G: @
  365. CMP #$0A
    0 V) `; M- ^, A6 ^% B+ |5 p
  366. BCS LIFEL7                ;$7A01>10 goto L7
    , k, D% D- C! C5 K' x
  367. ;unit: C! K" N: d' q  x& f, d. A$ y$ M
  368. LIFEL9:# o" x/ Q4 j4 G7 }9 V; j6 m& v
  369. LDA $7A01        ;$7A05=$7A01' i# M8 {9 A  `
  370. STA $7A05        ;unit
    8 Y. d0 s' N; u( V
  371. RTS        ;return: X6 j0 I( k& ^) q

  372. % O0 ~/ A+ ^4 f' S& K! W5 M9 b6 \
  373. ! A" h# N8 Y2 U$ p# E* h5 w6 g& u

  374. % ?7 I" h( y  Q% j7 }
  375. WEA:                ;武器ppu写入3 o9 S2 {- U# D8 j4 b
  376. LDX #$006 y  L* H. S, x2 d( w3 j
  377. WEARE:
    $ |+ ~$ E9 i8 e# Y! W9 I* ~
  378. JSR PPUADDR_PROCESS: _# |" Z' j3 R) y7 I
  379. LDA WEAPON_STRING,X
    9 i7 L+ ?8 v5 r0 u; b
  380. STA $2007; m$ I$ h! F: Z! g0 n# l/ y3 S
  381. LDA #$00
    4 z7 `( t2 C" p4 `
  382. STA $2000
    " N3 I: C, x4 F' v9 y; j8 A& t1 B3 {
  383. INX
    2 a, V) ?( g' A' O
  384. INC $BA9 K$ ]+ v; Q. K" n8 g. X# Z# E
  385. CPX #$07
    7 S/ p) s4 u& P% t- H% f
  386. BCC WEARE# N0 ?6 ?! V! c

  387. 8 S2 ^# R! a  i* v9 e
  388. READ_WEA:
    5 P% N! i4 k8 a; R! o  B% J
  389. LDA $B9, ?6 n5 I0 x2 r
  390. AND #$10
    ' ]  q  x, R7 r; ~* e' ~7 ]
  391. BEQ NWEA
    ; V7 J. W" [: @+ n2 R
  392. SWEA:( q9 g/ c( X& y, f- D! x; @

  393. ; K2 K& w1 [! `. b+ \- O
  394. LDA #$9D
    : R- Q2 N9 @# e5 n) l" I! {1 \1 m9 I
  395. STA $2007
    5 t' g6 K7 N. }& j( y- `* ?
  396. LDA #$00# V' T& Q, r: c; U& }
  397. STA $2000
    4 R5 A0 S* a' @& \) ^; X  [
  398. INC $BA
    # Z# b$ y( G$ n6 l
  399. LDX #$005 j, ], G/ K8 C; n' M
  400. JMP WEAREAD
    . D9 l$ l! X: u9 ]+ Q& u/ P- b
  401. NWEA:* }0 k3 ~$ y3 H% B

  402. 1 x9 e0 E9 B& G) b+ y% e9 J8 h
  403. LDA #$8D  N7 w) M7 J5 o7 Q# b4 J
  404. STA $2007
    & S. C% r5 A/ O; G9 _4 h' R
  405. LDA #$00( ~, f4 R4 T$ @1 B0 X
  406. STA $20006 j# ~, q$ l9 ]  J% |- i; A
  407. INC $BA# L6 A: f4 P  X1 p6 S% ]
  408. LDX #$00
    9 ]! W$ E" z& A% i5 y0 d, H* J
  409. WEAREAD:
    5 L' s5 i, Q8 j; ?% l2 W9 Z
  410. LDA $B9
    4 g/ m; W. q* d4 O
  411. AND #$EF
    5 f: I/ g& A7 @; ]8 ^! L2 G$ P
  412. CMP W_DATA,X$ v, Y& |2 ]8 r  I
  413. BNE WEACMP
    3 g2 b- R3 W4 i. b
  414. 8 M2 x4 P/ N1 [$ O4 g$ o
  415. LDA W_PPU,X
    . q) Z+ \. B0 e
  416. STA $2007
    ( Z% X6 f8 F5 k' \& z  o4 A9 ]! H
  417. LDA #$006 z4 i4 k# M7 o; |& G( ?
  418. STA $2000
    , A) C$ M: g  X6 j4 `
  419.   o1 Z* `3 C2 }! b. b; H; E
  420. WEACMP:: X# \- W( V0 E/ W& }# d
  421. INX/ h% b, G- ^; J7 y( J
  422. CPX #$05
    + Y: s2 L) x! m& q1 x
  423. BCC WEAREAD
    4 h# b* \$ _) E. g) J
  424. RTS/ Q8 s+ w4 y1 N) n: V9 J& {

  425. 8 L) Q2 @- T: Z. D# u3 g

  426. - A3 F  |, z" R6 @4 Q
  427. PPUWRITE:
    3 X, y9 Z/ R: o
  428. PLA% |$ O3 k- P+ M1 Y" B0 y/ ?. E
  429. TAY8 F" H$ K3 P9 l4 B" h
  430. PLA
    $ z; N( U+ ]3 H- V9 q+ k
  431. TAX8 F8 u4 t7 z7 O! T
  432. PLA
    ; ^1 p6 [5 ~2 ^7 {
  433. LDA $256 @. X5 ^# A: \' `0 P% Q1 h, E8 t) v- l4 `
  434. CMP #$00
    ) d* h" x7 l, z. V* E
  435. BEQ WP1
    ! n4 r  @. U6 O. v( F
  436. LDA $25
    # z6 U  R& y. J! y# P- O
  437. CMP #$01$ L4 H% b6 D8 O) E" q
  438. BNE WRE
    ( S) v' l  ~+ R5 c' ]
  439. LDA $F5,X
    1 h* L+ Q4 k+ c/ m& {
  440. AND #$EF
    . M/ {  i* M, y
  441. BEQ WRE
    0 c# @; H. d& M4 E: V& P2 }
  442. LDA #$00
    ! A# e8 C  r! u' i8 D" _
  443. STA $7FA0: J5 h; S9 J7 K* e5 ]9 T
  444. 4 I9 O+ Q! B$ q* ]/ }1 b5 f" {# q) N' O
  445. WRE:
    9 i" V5 U, @* W% M# D/ @" F
  446. JMP $A000% p# P) F3 }3 c; a. b* K- f. f) V

  447. & z4 u3 x& o; P8 D2 {, _# w
  448. WP1:& f/ o1 ?- x/ Q, k& y
  449. LDA $7FFF
    7 e% @- n7 g0 m% I
  450. CMP #$FF" w9 U  K# }9 S+ m
  451. BNE WRE
    - d: R& q/ W& q8 z- H. `) g
  452. LDA #$00
    + i$ p8 F8 v; g8 u
  453. STA $2001
    * G  i( H$ I) Q- Y# u
  454. LDA $BD1 d5 t3 i! p; l+ B. k! u* c; J3 ?
  455. PHA/ l  ^' L# |4 p+ b
  456. LDA $BC3 V7 T. w2 ]: k5 \5 ^
  457. PHA
    2 j& Y1 X8 c# h4 D
  458. LDA $BB
    & A7 n* ~# w" h( D8 |6 d7 C
  459. PHA/ [% \* n2 \: D0 q) R
  460. LDA $BA
    5 Z' L) W' E+ H
  461. PHA
    ; n& J! L: P& q% \$ N2 h$ t
  462. LDA $B9  }/ I( }1 S, @( o* M) _
  463. PHA9 a- u3 d! U! x1 {% W
  464. LDA $B8' [, s2 ]$ ]3 q+ \9 M
  465. PHA0 r/ M) ^" X1 g% _
  466. LDA #$00' f! h( P! ^. s- o6 U
  467. STA $B8
    4 q2 l& G  C1 d& D, O  s
  468. STA $B9
    $ a1 M+ p3 o$ q  X0 M) T
  469. STA $BA* u, G+ q. _4 }& ~4 \7 l3 U( ]
  470. STA $BB5 k! L/ F: a- t. \4 N
  471. STA $BC1 X# i" [6 f* H: y+ Z* m
  472. STA $BD
      b& U7 `1 i$ C" G+ r  j- ?
  473. LDA #$00
    7 b, ?7 S0 k% j5 y7 E7 f1 j1 |
  474. STA $7FFF
    * N! B: S3 a% s# |1 q+ z
  475. LDA $30$ L; [: d1 o$ p3 [  p7 {6 U+ ?+ u
  476. CMP #$02
    $ y! i0 Q- k; B! h( S
  477. BNE UNPROCPL
    2 j  |: N" i" E& D' ]+ L
  478. LDA $7EFC4 u2 Z* {# y. x6 k( Y
  479. STA $FC
    0 }  M: ]% u4 Z- f  Y2 i; U( r
  480. LDA #$00
    5 _) v6 P6 n6 Q: W% ]! _
  481. STA $A4" J0 ?1 B: f: l+ z& p
  482. STA $A5% G' S5 @9 p1 I8 k( i$ N8 s
  483. UNPROCPL:: G! O4 m: `) Y2 v: B
  484. LDA $7EFD5 [) {3 h( k1 B& J6 ~6 a/ H5 D
  485. STA $FD  S3 H! C3 p, Y+ [: T  l# [# o3 O. B" e
  486. LDA $7EFF6 B2 I7 B3 l  n
  487. STA $FF! {* E0 q3 C2 b$ J9 |
  488. # Z& }9 S% p! K( x5 d$ X
  489. WL0:
    2 [/ j8 Y7 o9 k6 D* f5 `
  490. LDX #$000 ~+ i( _+ o4 w/ C+ e* `
  491. LDY #$000 J" h: o! \# f$ k+ R" F$ L4 H
  492. LDA #$00
    # J( ~1 a( Z/ d) {
  493. STA $BA: U3 D2 v, `$ }
  494. LDA #$20
    5 x' m, E' e1 F9 [3 f6 W' U
  495. STA $BB: K* M% A- B* \, e! |$ M) o$ \
  496. LDA #$00  A. ^* h( k) `/ \9 A9 }+ Y
  497. STA $BC7 E3 A0 T' F" m- [% l
  498. LDA #$60
    0 |: x0 ^8 o; u. N  ^
  499. STA $BD5 }  k' z0 \, g9 {4 V  p

  500. 0 `" k% W& I' [
  501. WL1:
    + P( o* _6 B* w) `3 R
  502. LDA $BD: u+ z* E( Y8 ~5 M
  503. CMP #$700 |7 W/ [; x# g: o( v# z( w! f' W9 t
  504. BNE WL2
    1 K2 ]6 ^7 @# a7 G$ a/ ^" K1 f9 [8 H
  505. LDA $BC; m6 I% o3 L- u* A  C2 l& }
  506. CMP #$00
    & `' w- X3 c3 Y* h3 V6 f
  507. BEQ WLR
    4 K# q* H( o( w1 d
  508. ' i  Z& Z; x0 {4 h
  509. WL2:! G7 z. ]) q4 w2 |# g8 W! W
  510. LDA $BD# T1 D3 X2 m* M1 c1 B6 k( I
  511. STA $20065 [+ ?3 Y7 V6 M, ]1 B8 Q* Y
  512. LDA $BC
    * L. Y4 I2 `+ a# S, B/ V
  513. STA $20060 {! ~4 L' s2 z* {

  514. ) \6 A8 b7 ]! a0 L
  515. WL3:9 D: ?& M# i7 R, e+ a; x1 G
  516. LDA ($BC),Y* x& ]  Y: f! J" ^/ B
  517. STA $2007' H. L1 s) N8 n2 \- a% [

  518. ; Y) r! r4 g6 U9 E7 {
  519. WL4:
      K) h1 o0 a+ O! k
  520. LDA #$001 |6 a1 @8 l+ _- D* g- d0 P' S
  521. STA $2000) O" n- _! {& v' ?& w0 z/ h9 j
  522. INX
    : f' i- Y  s; R* m& {: N# O
  523. INC $BA
    & u3 w' {" p0 x0 i5 K& D/ H2 f
  524. INC $BC) v9 e# ?' P! N* I( l9 M! _
  525. CPX #$00  j2 u1 n8 t. H: W
  526. BNE WL19 V- X4 G' @0 ]+ b
  527. INC $BB& h" s  Q% O. ~5 M  d% C
  528. INC $BD
    1 @: D: e2 ?1 y% S$ v9 l+ I0 T
  529. JMP WL1
    ! @: N* h+ i6 _, H5 S3 x8 j! W3 U

  530. : w0 `; S8 y9 {  }' d+ L/ ]
  531. WLR:
    ( q" e; b, [5 `# V( ]+ w2 a- K
  532. LDA $7FFE
    . v2 m6 t8 A: M' l8 d, m
  533. STA $07F6
    $ `. P- u# [" `( v- U1 a  q2 O9 \) a
  534. LDA $7FFD
    + L2 i+ B; V2 a, A6 n
  535. STA $00FE8 _/ f$ Z- I+ [. E* Z0 @* b5 _
  536. LDA $7FC1& j. N6 O9 }2 B7 x  U. u7 D
  537. STA $07C1
    2 i7 B3 m* K* ^! j7 y" Z7 |
  538. LDA #$3F
    8 d3 _4 M# B9 g7 k" n+ {. F; a
  539. STA $2006
    # N2 q" e; L  h
  540. LDA #$01. N& `! s5 S/ X0 _, w2 _% r
  541. STA $2006
    3 ]! b5 f2 d$ P) u
  542. LDA $07C1
    % k% y- Q0 g2 X8 b+ r9 m# V6 K, ~/ R
  543. STA $2007
    , E, a; O4 `+ `1 K' P+ h
  544. LDA #$00; o0 A, |$ h. u
  545. STA $2000
    & y9 `8 C6 j. q. q4 p( v
  546. PLA
    0 |4 Y$ {2 B2 B) c
  547. STA $B8, N9 _+ ^0 d8 Q% T
  548. PLA
    1 D+ n* @5 z: P* i6 W3 ~# P
  549. STA $B9: F+ J2 w6 C1 l. Y3 P5 J* J! k2 y
  550. PLA
    5 v2 `0 i% N( S% e: `& \
  551. STA $BA6 v, H  ~% T( i1 W7 m# \
  552. PLA: m. x; n# E* W& @$ ^+ U9 g1 ]
  553. STA $BB4 d  o- G8 R' J7 {/ D
  554. PLA
    $ s4 [' M$ H3 D3 D% Q5 n$ v
  555. STA $BC1 P7 K0 X3 N# B0 C
  556. PLA# U. A3 T9 m. O
  557. STA $BD  D2 ~6 k( j4 d! Q
  558. JMP $A0006 L/ g, i6 o' `* _  d& u$ u: {
  559. 7 `$ e8 p# n, T6 `7 ^6 R
  560. FREE:                ; 暂存器保护* A% A' L) Q2 {: l' X
  561. LDA $BD
    ! ?/ O1 S$ z7 {3 W
  562. PHA/ n5 }: A, a9 w( m- Y+ ]
  563. LDA $BC, Q# ]- M3 i; C3 V& X8 t5 \/ I9 r
  564. PHA
    6 u, f* @4 u% b" U
  565. LDA $BB
    & L: @5 f* {1 M0 u+ y4 _
  566. PHA
    ) I! \2 G, H0 U5 n
  567. LDA $BA! {0 X$ k* E: o4 F+ ^' f
  568. PHA
    # Y9 A- [4 |. w1 `" [8 M4 n+ o
  569. LDA $B96 ?1 \# r2 h( h
  570. PHA! r* Z8 Z+ B1 U; b, S
  571. LDA $B8  d/ \. Y4 b: A+ P* C# `
  572. PHA
    ( ?. I( m! T) Q- Q7 k0 a, F/ t
  573. LDA #$00
    8 ?4 a) x& P5 q$ [3 ?& m
  574. STA $B8  C3 F: h$ Y- N, D
  575. STA $B9
    ; v9 x0 ]. T* H. f
  576. STA $BA
    8 ~  m0 e* {! J" h0 J& M2 ?4 x
  577. STA $BB
    " V1 R: v0 @' n3 Y; V, p& A# {! o
  578. STA $BC# ~- _0 L* W+ A) g. P
  579. STA $BD1 e1 o6 w& y, w' O! ~( l
  580. 0 p% s7 ^7 M3 h; q+ C" e/ M7 @, z
  581. WEAWRITE:                ;武器ppu写入
    & i8 D8 [5 I( G
  582. LDX #$00
    9 g3 e4 F2 j: w1 S2 y2 v4 l$ W
  583. LDA $AA' d) r: o. _$ A
  584. STA $B9
    & d, B4 q% ]: C3 w8 V+ Q) h
  585. WEAINI:                ;地值初始化( O- G3 h% S1 i* @
  586. LDA #$A4
    ' r3 _* \7 w- [
  587. STA $BA3 Z3 H: }- b: [( Z# n( s
  588. LDA #$203 f$ I5 M2 \+ A& G  S. G4 U. Q7 }
  589. STA $BB
    ; R+ M7 Z: U6 C7 [4 o4 c3 L9 U
  590. & W* P* ^* E2 C: g4 p+ f

  591. ( j4 @3 H- V# @7 S4 i
  592. JSR WEA
    - Z- |. a' z# z9 A7 f) f+ _( d3 y2 }
  593. LDX #$00                ;武器ppu写入" |: B) u& t' V) ^) a
  594. LDA $AB
    4 L/ N+ l/ [; ~" C3 r0 Z* n! [2 e
  595. STA $B9
    + ?1 l. b5 O, g0 ^
  596. LDA #$B3  z/ u8 z# E) ~& j
  597. STA $BA
    ; y( A; r! B3 z, ]+ Z
  598. LDA #$208 {+ O3 [0 C/ w7 f& w
  599. STA $BB8 I2 N$ p* t5 A% D6 J$ L& d  ~
  600. 1 {3 e7 @/ L8 J7 ~' w7 ?6 i! `9 Y

  601. ) @2 |  u, S0 r1 i
  602. JSR WEA/ e0 x9 k- D% k8 ^' W5 O4 J) P* m
  603. . i, i. p4 s9 ]; t. C4 D+ b; c
  604. LDX #$00" u9 l! Z* ?( t$ X* Z+ K
  605. LDA #$E4
    ( }3 Q5 H' y" j& s) X0 P% M) g
  606. STA $BA
    ! A5 b6 T8 u0 h# t9 y, Q
  607. LDA #$20  l# q5 t2 I+ H% X9 \" z8 D% |, S
  608. STA $BB
    4 S" ~7 N* ^0 d3 }, P

  609. # f2 z$ ]$ s5 k( @3 _( q
  610. ( T8 a9 A% d& m. u" f( B' A9 A6 [
  611. LDA $32
    . q3 x, Y$ q) j; Q
  612. JSR PLAYERLIFE& T2 q3 j8 D( _: z1 S
  613. ) K- Y$ z5 }1 ~0 [/ e6 a
  614. LDX #$00
    & m3 D" o5 `' l: S$ T4 q4 l) q2 A
  615. LDA #$F3
    - Q7 B* m# @- c+ N  N& Y% n
  616. STA $BA8 s0 a9 d8 o- n# V
  617. LDA #$20
    / R/ A" q; o  t. J# g+ U
  618. STA $BB0 L! s# w: k, E& J) e$ v( q
  619. - L5 D4 h6 f# G7 r* H
  620. ' a1 y' i$ w6 e2 f
  621. LDA $33# ]- k* ?. X) ?1 z$ H& r3 T- G
  622. JSR PLAYERLIFE, Q# e5 n! k' d

  623. 1 Y7 \1 V6 t# |2 Z/ S! |5 Q

  624. ) K4 ]. v. ~/ ]: C9 F5 h
  625. JSR PLAYER_01_PPU: Y: F1 N7 c) E$ S. s3 w
  626. JSR PLAYER_02_PPU
    ' X. _$ D1 K6 E. {6 E
  627. 5 |% n  n8 A  Q/ |7 G

  628. # O/ C" G9 i; j# i( j2 {% m; }
  629. JSR PAGE_PPU
    7 I8 |  J" q6 p" a; V' _
  630. JSR PAGESELECT
    6 j1 j/ d7 X8 E5 X( ^! C0 y( Z6 a4 j
  631. 5 ^, {3 N0 D. R7 b
  632. $ _" T6 z  B6 _7 {9 L( i
  633. + R. ^0 T' n8 f4 {3 |: K0 N0 |% o! y
  634. ( Z. o2 l6 [: ~( ^$ u* H) ?& ~

  635. 9 h" z4 B0 a: N
  636. 2 _, `( U4 N8 H2 j5 r# {1 j  A

  637. ; _' U' v, W8 k* }& ~. b
  638. + F3 ^9 M% \9 n) G- V! y* P0 M
  639. 6 E8 F+ t0 t' A  M' W, F: Z- D

  640. . @. |  a4 v- ]! H# }

  641. # B4 n9 n% p' @+ V) y$ k
  642. ! m# ?$ \! _+ B5 F. j# g% [
  643. * e: `9 n7 p' L% Y3 v
  644. PLAPRO:                ;恢复现场! C, o- X! \) \2 T, t+ b
  645. PLA6 D. O2 }& L- \7 q) l" }
  646. STA $B8. M6 [+ A; l" }. T# v
  647. PLA
    9 P* h" j: G" L8 T4 q% X2 K
  648. STA $B9
    0 v& z: v3 I  l4 P& c4 Q4 R: k
  649. PLA
      i, H& }5 }( L
  650. STA $BA/ D+ o! i5 a' q  z7 n
  651. PLA
    8 ?0 ~! L- _  E6 M' ]- O+ e
  652. STA $BB
    $ B, T/ T7 A2 a2 u$ N3 @* M
  653. PLA/ C- }  H0 w. y% o+ A
  654. STA $BC
    : ?1 j. h% C) k$ o
  655. PLA
    3 _& P1 y7 r- m. v8 e) _; j% Q
  656. STA $BD- p2 I8 b2 d/ |. q9 h! B  B1 c
  657. FREERTS:
    ; W: z9 n6 V  e' A8 B" D: T
  658. RTS0 {  i4 H* P. r8 [" B' A
  659. : u4 n/ U: q! G: |
  660. INVINC_STRING:                        ;invincible
    ( Y3 W- S3 t3 h; w) N" Q; a, N
  661. .BYTE $93,$98,$A0,$93,$98,$8D,$80
    ' R" A( p. X$ x
  662. & W# g9 q+ I  k: e5 t" n7 D" I
  663. INVINC_PPU:) `0 e$ k$ X: @
  664. LDX #$00
    8 z2 q" E4 A# Y2 x7 R
  665. LDA #$621 B4 f! _2 A7 R$ T6 t- e0 S
  666. STA $BA! d5 u6 {% W. n! S. c; D1 e! u
  667. LDA #$219 \; f6 y+ B" l, W$ y( _
  668. STA $BB
    6 `6 e- j; ^* ^1 t( b
  669. 1 r/ l- d: G, I: Q+ j

  670. & k6 m* V) V6 X* v+ w7 z
  671. JSR UP_PPU! q8 f4 [& i' ]* k
  672. JSR INVINC_WRITE
    ! g' ]( F9 m/ E: ]( O  c/ }
  673. LDX #$001 n9 J" n5 S, r$ T/ J
  674. LDA $07A0
    ) B  ?. `" K# T: r& H
  675. AND #$01
    % T4 U' U9 }' z" T  g. ]
  676. JSR ON_OFF_PPU- i) Z; ^- O0 `( X* p
  677. LDX #$00: f$ R6 \  R( B) p  @
  678. LDA #$717 Z( E7 ?3 c. h4 a# ^) J) |4 C
  679. STA $BA0 @* _$ D% b" U0 \3 O9 B1 A
  680. LDA #$21; {0 A. S2 ~, K- m; r7 n
  681. STA $BB  c0 U: r* d0 z  L6 G  v

  682. 5 x, Y3 Z4 C  Q7 `  p' ~
  683. # `! ]! P$ {: }. W5 |) }2 S. f0 V
  684. JSR UP_PPU
    " m3 [, J6 {+ {
  685. JSR INVINC_WRITE
    5 X$ `2 n) Y: n3 a$ Y
  686. LDX #$00
    , N2 r4 n5 Q/ k2 g2 ~: R, y
  687. LDA $07A14 T- b8 O3 V$ l3 @" X& K3 l! @
  688. AND #$012 p+ b4 K6 ?, e$ a( L/ K0 H" `
  689. JSR ON_OFF_PPU
    1 D4 I1 I6 {' t" U; x+ f
  690. RTS
    7 V# Y0 f! X8 e9 j

  691. 1 N  n* m, J% a
  692. INVINC_WRITE:
    # v5 ]% K( C1 q9 m2 Q, S( O
  693. LDX #$00
    # K: L+ `- h( j1 s+ h
  694. INWRITE:: a  `7 m5 R" w( o* f& r* |
  695. JSR PPUADDR_PROCESS0 f' h2 `  N" i
  696. LDA INVINC_STRING,X+ F" A3 [7 _+ ?, A2 R0 _% Y
  697. STA $2007
    ) @0 E* o8 r3 e8 a$ D
  698. LDA #$00
    * x, J: D) a; @( K' w0 l0 D6 p( r; o3 ^
  699. STA $2000
    8 r1 m% K# Y7 M+ [
  700. INC $BA
    : h/ w% P* F6 H2 R6 m
  701. INX
    : O3 m: S( \2 K) L4 I" z7 B, D
  702. CPX #$07
    # i- `. J, c6 R* H2 @9 z1 o$ i5 X% {
  703. BCC INWRITE; [, H3 @  ]  N: E( x+ V9 \; d
  704. RTS
    0 m, M( ~8 D3 w8 T* a# j
  705. ( M1 C9 Q. W' a
  706. ON_STRING:) }3 o& @5 _. [
  707. .BYTE $99,$98,$80; ^/ x( F, X$ p' O8 ~% p8 i
  708.   R! w7 G0 R; \, a0 T
  709. OFF_STRING:
    1 u. m0 B! B) U( _* ^
  710. .BYTE $99,$90,$90
    ) q! S" z+ j: x2 d* C

  711. : Z( ^% C9 }* z; ~" V% D: ]8 x
  712. ON_OFF_PPU:, @  x7 B5 y4 J3 V# t+ x
  713. BEQ OFFWR
    - @4 C+ D, ?  @' r) h
  714. ONWR:
    + g( n! H  q2 q; H/ B0 E9 p7 a$ p( P
  715. JSR PPUADDR_PROCESS
    ( Q6 O) A5 q9 ^; q* H. [% O# U5 j
  716. LDA ON_STRING,X
    7 f- ^1 t3 Q) D) T
  717. STA $2007
    ' h0 q% A- _- m. |
  718. INC $BA
    7 \( ^, W3 h: ]) `8 ]6 F! \
  719. INX4 l  z3 c& b# p: G$ l* t7 S
  720. CPX #$03
    3 M. ^  w3 I: _
  721. BCC ONWR7 v1 K; c7 L5 f) E' A
  722. RTS
    ! V- b0 ?7 Q* s7 ]  B" g' E
  723. OFFWR:7 W2 x8 t4 l, H1 U5 f
  724. JSR PPUADDR_PROCESS6 E: o* b* |/ V7 Q
  725. LDA OFF_STRING,X9 l) e' s9 p8 F* B+ \
  726. STA $20070 F5 f! k* d8 y
  727. INC $BA* [5 z, z% p/ d* u
  728. INX8 N' u3 D9 O4 W, K& {$ l
  729. CPX #$03
    , ~5 A& o' {7 K
  730. BCC OFFWR$ U# t2 ^+ T3 Y$ S: n( a
  731. RTS9 T0 }. I# v9 b6 m- ]

  732. 5 X* R1 P% `! w  X
  733. LIFELC15_STRING:! L, g. c7 I8 i% G& k5 W
  734. .BYTE $96,$93,$90,$8F,$82,$86,$80
    + ]  D- T( W4 ]( k8 T* f3 n
  735. " U5 k4 ?: M8 c. t
  736. LIFELC15_WRITE:
    ; [/ w4 ]* \( h, a& X4 p2 ^
  737. LDX #$00$ u, J' j& B. p$ [2 |/ ^. }
  738. LIFELC15:: n9 B" @* g% e" u9 L0 H5 d% [- I
  739. JSR PPUADDR_PROCESS
    7 k6 W' i  w: P6 I* j
  740. LDA LIFELC15_STRING,X3 y$ L) k) @* i* N3 p
  741. STA $20077 Z' l2 e: M% E% P
  742. LDA #$00
    ) A- H3 P1 f0 g
  743. STA $20003 ?$ t3 \5 ?( r& B
  744. INC $BA/ v" J; F1 l& ?" o+ o. t
  745. INX" c1 u$ q0 u& X, I
  746. CPX #$07  d4 ?) ^; [) f
  747. BCC LIFELC15- N8 D, M. a: [* h$ j: R9 W
  748. RTS) |( X  m7 u: @5 d( i/ j

  749.   W4 L* Z9 N' S; n: \2 c
  750. LIFELC15_PPU:
    1 [8 X1 h/ A8 G# c2 L( k6 K* O# ]
  751. LDX #$006 }: p% Q6 M$ _( y* _- s; y
  752. LDA #$A2
    5 J( c9 X* a! S9 ~+ ?" h3 F
  753. STA $BA
    # R8 O; a" t5 O& q2 L# i. b  _
  754. LDA #$21
    # Y6 x9 p+ P8 Q. H
  755. STA $BB5 Q+ o- _( E2 x2 l
  756. JSR DN_PPU
    & ?% u$ S$ }1 G" n
  757. JSR LIFELC15_WRITE
    % K0 X0 p  M" u
  758. LDX #$00. x- L8 n$ a6 n& V% a6 L% j
  759. LDA $07A0
    ; c+ D2 }  V+ A0 l9 \
  760. AND #$024 K( r" S/ J- D3 q. p5 Z
  761. JSR ON_OFF_PPU
    " p  b1 ]/ a0 ]# E# f
  762. LDX #$00
    8 Y! K8 ~  v9 N+ f) i- a+ Q, Q
  763. LDA #$B1# R0 k! h( l! ]: j
  764. STA $BA8 r- B6 ^  w7 B0 c% {
  765. LDA #$21
    + k% ~; z$ B+ C' \5 `
  766. STA $BB6 k# _6 D4 t" t0 i# h! E
  767. JSR DN_PPU
    8 z5 d( u5 z( u
  768. JSR LIFELC15_WRITE7 I0 |- _8 Q  [3 G
  769. LDX #$00: `% j* B/ n7 s+ Y' y" `2 y$ N% R
  770. LDA $07A1
    3 C# W* P- A( t# ~
  771. AND #$02
    + u. s2 T; \3 c" Q' l" e" _
  772. JSR ON_OFF_PPU
    6 M. _  K- \" r( @) o: y
  773. RTS
    5 r% I( d& _* P+ \( ?( y
  774. 5 t9 T( H  g- z, R; o, U- b
  775. DOUCON_STRING:* N: N4 p, J$ `" h
  776. .BYTE $8E,$99,$9F,$8D,$99,$98,$804 M* _# B9 q& ~( z
  777. ; }7 X& l% t, ?
  778. DOUCON_WRITE:, h" m' C/ m0 B  R
  779. LDX #$00. S& j3 u1 }7 L2 `0 j7 @2 i9 Z# e
  780. DOUCON:
    : o7 _. ~( ~7 |+ E/ j# X8 s
  781. JSR PPUADDR_PROCESS4 D2 Z: s  ?' \8 Z/ G' K0 N
  782. LDA DOUCON_STRING,X
    ; l" i5 W# @2 j: @/ ?* p2 r
  783. STA $20072 _2 Q0 v  ?. l" L/ S- M
  784. LDA #$00
    , I; b/ }* ?0 s8 P. A$ m8 f
  785. STA $2000
    * A0 c, K  G  e  g8 R8 [1 p
  786. INC $BA
    / A' p* ?' j" ]3 p! r% E+ \
  787. INX2 H, }- {9 I/ ], W5 N1 Y9 ~3 Y
  788. CPX #$07
    ; i9 Z0 `, I  D) M0 x, q
  789. BCC DOUCON+ V% c) n; i& Z; E* \  [+ q' i
  790. RTS
    3 b% k/ x; ~2 F  F% X1 K
  791. 0 U: Q9 j. \" k
  792. DOUCON_PPU:' |5 s6 A# m* R2 [2 ?- `8 R
  793. LDX #$00
    3 p; U/ W; b( i# t4 ?4 }& v$ I  S
  794. LDA #$E22 P+ A& T: J' ?; o$ v3 J
  795. STA $BA3 c! H. F( S$ K
  796. LDA #$21
    $ b: x7 Q  G. s# _/ {$ g' c
  797. STA $BB5 C, T9 ~2 p+ a
  798. JSR LF_PPU
    , b0 k7 x! E8 C+ E9 u% _
  799. JSR DOUCON_WRITE
    & e' R8 c7 q2 h' r
  800. LDX #$00; H' k  t: m4 t: @: c/ E
  801. LDA $07A09 h9 x( v' C8 ^9 y+ n
  802. AND #$046 a1 A! \; q+ ~) C& k
  803. JSR ON_OFF_PPU
    ; I' G" K- r+ _1 d% M% ?: R% u
  804. LDX #$00" k, x: }* X  n# c/ H, J$ E
  805. LDA #$F1! F7 a) M& A' b
  806. STA $BA
    $ E5 ~+ [- E" l! f& i4 ?0 u
  807. LDA #$21
    + ]6 F" k( J+ b" N# z
  808. STA $BB
    ; ?5 O6 ~: @  h" M
  809. JSR LF_PPU9 H* |  @1 U( L% e9 s5 l
  810. JSR DOUCON_WRITE
    ! b! g6 A: T& F5 R/ F3 B0 X
  811. LDX #$007 t; L6 F: l( B) w9 j
  812. LDA $07A1% G& k+ |! |# F, o6 \# C: c
  813. AND #$04+ T6 D5 P% U& A8 b' |; {
  814. JSR ON_OFF_PPU
    8 Q% N) t; }; W
  815. RTS
    7 M  ^' }& q7 g/ s
  816. 1 y& Z7 ^- I! F' ]' Y& g, i
  817. LIFELOW_STRING:# S& P/ h& M$ l0 F4 F/ [
  818. .BYTE $96,$93,$90,$96,$99,$A1,$80: F9 @% h. Z) _% C

  819. ' o7 `2 P* a$ t" b* s6 p
  820. LIFELOW_WRITE:
    9 y& H$ N) C2 Y0 N
  821. LDX #$004 l- e/ K8 H7 Y$ |- O! T8 q
  822. LIFELOW:. F. z  J+ r9 h
  823. JSR PPUADDR_PROCESS% G1 W9 }2 X* |
  824. LDA LIFELOW_STRING,X$ z' l; R9 H* z2 T* Z9 D, {: K
  825. STA $2007
    + J2 h4 a* G) f" V9 k
  826. LDA #$00
    . z1 B7 h4 m3 w* p3 H% Y  i
  827. STA $2000
    5 z' `' Y2 F* R
  828. INC $BA; a" t* p% G4 p# U' l
  829. INX9 W  H, n# y! a- b; K# X  w  [
  830. CPX #$07
      S; w$ Y: P( V! c% S0 U  o
  831. BCC LIFELOW
    ; L1 V* l2 V+ ]" b# Q
  832. RTS* x# v/ a4 j2 T+ y( k
  833. 7 Y) j: L  e5 @0 C
  834. LIFELOW_PPU:6 {  _; {6 R! x
  835. LDX #$00
    $ G, q! u6 n. o! J* a* ~
  836. LDA #$22% s" Q0 G$ J" X6 K0 C
  837. STA $BA- i- F" B+ M/ l% c, t+ d  K7 O/ P
  838. LDA #$22. Y2 m0 O( ?( D. n! A6 q
  839. STA $BB& l, v/ m) t# D. y: S! X  P
  840. , n; Y8 Q. C' W, N1 _
  841. / M- }! ^5 P7 p( T2 k" e
  842. JSR RG_PPU/ ?. E. k- J% H0 n( z2 v, s& n
  843. JSR LIFELOW_WRITE. l0 O) D# n) V3 x7 A3 i+ o& W
  844. LDX #$00$ l4 q: [& r' Q% J1 A( G6 N
  845. LDA $07A06 ^* t7 k& _  j& k. A
  846. AND #$089 {- b' f: J/ v8 f
  847. JSR ON_OFF_PPU0 C; P5 x. F7 D3 V/ l- o, o9 l$ b
  848. LDX #$009 F. x* f5 p; [0 I; D
  849. LDA #$31
    1 t6 e" \, T2 U+ a8 G
  850. STA $BA
    ( k! r7 e: C/ Y5 N
  851. LDA #$22
      h- p8 Q% @& V& t$ y0 h' z' a2 ~; s
  852. STA $BB
    4 B  h6 R; A/ {

  853.   R. L6 _% i5 q$ O5 o
  854. 9 r* S  a4 P) \( k
  855. JSR RG_PPU
    . S" R' L/ d+ x3 Y) ]5 J8 y2 M4 |* n+ i
  856. JSR LIFELOW_WRITE
    3 Q  F$ u9 G/ i
  857. LDX #$005 f1 ]) v" c3 `. \) P0 A
  858. LDA $07A1% F  j$ i& H$ h& l; u5 }
  859. AND #$08. s- t9 `4 A6 H3 }
  860. JSR ON_OFF_PPU
    ) A; o$ o, R, G
  861. RTS8 e. O# T: E2 y$ o& t/ k) l) F+ O! I

  862. & G( c9 m1 `; w/ Y, L8 g# s
  863. KILLON_STRING:
    % B) e- M' v9 a* k+ A7 U; F5 ^( {
  864. .BYTE $95,$93,$96,$96,$99,$98,$80
      F7 e# t) u; i9 k1 k* p
  865. 8 u3 V- G. r% M0 o: K
  866. KILLON_WRITE:
    * t- |5 b! Z0 u6 c* a, \
  867. LDX #$00
    9 l' n' Y& Z% r7 k7 @- g" v
  868. KILLON:
    8 x' X  f# r2 ^7 z' t; v
  869. JSR PPUADDR_PROCESS( J! o! v$ W) K1 T  Y; G0 Q$ `
  870. LDA KILLON_STRING,X
      @/ F0 _$ {$ \
  871. STA $20071 Q9 n( {, d9 @
  872. LDA #$001 ~* X2 z( e7 {' r
  873. STA $2000& e# M) C1 s# P; f  T' L3 n- N- ?
  874. INC $BA6 K& \+ H1 L9 O+ H
  875. INX
    1 X, d7 V2 x1 e( A( v$ |
  876. CPX #$07* S7 t! u- X. l/ F# b, d) u8 x
  877. BCC KILLON
    2 G6 s0 H6 F6 E: y
  878. RTS* A& m  }+ D  i& Z# A* q% o- e
  879. 7 N7 p6 j* Z4 V, {  t' x5 i
  880. KILLON_PPU:% S  [8 G: I0 M8 A' V
  881. LDX #$00/ E3 J- ?  _# Z2 Q& Z7 k- X4 F
  882. LDA #$624 a, \( T6 F' _0 @' r
  883. STA $BA
    ( v+ V6 K" a& D# x5 P& ~0 g' o4 I
  884. LDA #$22( G" r8 U  k: k8 b  ]( x
  885. STA $BB
    : G% n7 N8 {( M9 Q4 f

  886. 0 l7 G/ \, C3 ~, d& W

  887. . n5 }$ h% b, u: ^+ L" \' H
  888. JSR B_PPU
    7 g% T+ V) @2 D- p* y) t+ b
  889. JSR KILLON_WRITE
    1 \9 `6 H& [- |0 R
  890. LDX #$00$ }" e5 A: a. h0 ~# R5 y
  891. LDA $07A0
    7 q  r" b! P: [* r$ ^
  892. AND #$10+ }6 Y. p4 P5 P) [, M! O
  893. JSR ON_OFF_PPU
    3 }+ ~. M$ `5 W* P% V8 d
  894. LDX #$00/ G( g8 }* B2 ]- `6 z( D
  895. LDA #$71; d3 K9 `2 S+ {! L
  896. STA $BA1 x, E( z/ i* p8 J+ z4 J! s5 w8 r% G
  897. LDA #$22
    6 \: L6 w" p) }4 s' U
  898. STA $BB$ y* E4 g$ m3 P4 a8 T
  899. ( L$ A0 x; I  y6 E8 J/ c
  900. % T* F: s' X! A" v7 X
  901. JSR B_PPU
    , h  [- H6 e/ ?2 u9 B% w
  902. JSR KILLON_WRITE- K2 `  n1 `" B% k# F
  903. LDX #$00/ u$ P4 y* e4 P# {. [$ G! s7 O
  904. LDA $07A1# b# g( B; e' R* ~- T6 m& N
  905. AND #$10
    ! W; }* b/ E+ p7 r5 M) c+ `* d
  906. JSR ON_OFF_PPU
    " f) s  T+ `. y' J3 J8 ^% L
  907. RTS
    % G% R- W6 S6 r& N
  908. 5 ~5 I- U; j. c# Z* O7 F& }4 T$ Y% p
  909. SKYFLY_STRING:' _# n8 R  E+ K2 X7 c0 _
  910. .BYTE $9D,$95,$A3,$90,$96,$A3,$800 c1 w1 X9 j3 @. }$ h7 G5 B/ Y, x( ]
  911. + U; k' |* d1 \
  912. SKYFLY_WRITE:' f% N& V( r) @& I3 k
  913. LDX #$00
      z" C1 f$ c! }: m
  914. SKYFLY:
    # w1 _6 Y# o. r5 p. k& i# r
  915. JSR PPUADDR_PROCESS
    3 d" ]$ e/ C0 g' }2 g" R' e- v% O
  916. LDA SKYFLY_STRING,X
    ; d1 f$ S0 p+ p0 T
  917. STA $20071 {4 O# I8 |8 j+ c
  918. LDA #$00
    $ u) M/ u, W* c5 i! G
  919. STA $20006 T: \- W0 D! l# x" [4 G8 E7 N: Z% B
  920. INC $BA
    0 x' V0 ?& A! e0 Y+ g
  921. INX7 w% f7 J4 o0 \
  922. CPX #$07
    7 a% I, q1 ^  n2 O  T3 t' q
  923. BCC SKYFLY8 C% {" O, ~4 u+ }# i$ L
  924. RTS
    " H" V- {" v4 j  s: h& ^2 M5 G

  925. 2 G2 b' N, K8 P6 m
  926. SKYFLY_PPU:
    " L* {8 j# n# U
  927. LDX #$002 {, o8 |" }6 L6 W) }% `! l9 n
  928. LDA #$A24 F. b/ P$ S( B' @
  929. STA $BA
    + a, b# {$ v. u! U
  930. LDA #$22* R, r' Y  S7 Z. f& d
  931. STA $BB
    : f' A8 P) @4 w
  932. , j! ~7 Q; z: x+ a0 H5 f
  933. # ?2 Z- \$ ~/ b3 c  ?
  934. JSR A_PPU
    * I- E  s5 v# I* |2 k! m
  935. JSR SKYFLY_WRITE6 J& U: [- ~& Z
  936. LDX #$00
    - t; `7 H0 L" W9 k9 ^
  937. LDA $07A0
    " g. P% i: R- w$ D% e6 D
  938. AND #$20
    " c6 R% `5 l9 c& I
  939. JSR ON_OFF_PPU8 X5 I% N+ j, C0 l! _
  940. LDX #$00
    % g; j+ w5 h/ A, T8 Q# _
  941. LDA #$B1, U: S, y6 {' _0 u8 w8 I% H
  942. STA $BA
    ( K. t* S1 h7 s3 C
  943. LDA #$221 `$ r& \# `9 b# R
  944. STA $BB% d! \3 h1 Z! _6 y
  945. + c. s+ p, G: w. O

  946. 6 T* V% z6 X9 X  t) @
  947. JSR A_PPU* W- \( y8 ?7 b6 [
  948. JSR SKYFLY_WRITE
    ' }- G9 X; M$ L# v5 x3 h' y+ H
  949. LDX #$00
    0 A# h2 S8 K- i. U+ u" R
  950. LDA $07A1* Y" Z4 B9 X# ^
  951. AND #$20
    8 p' j/ X# c1 Y
  952. JSR ON_OFF_PPU
    / Y0 t8 q+ G, |# h# P( Q
  953. RTS# ~7 b% }' v. A
  954. : N5 c' Z% x& o* G' x
  955. BULADD_STRING:3 ^7 N. k2 b! E. [$ \
  956. .BYTE $8C,$9F,$96,$8B,$8E,$8E,$80$ S8 D  e: E; ]" r" c
  957. ; E) }+ A" B$ j8 `) p
  958. BULADD_WRITE:  Y, o6 d# }  @  R- C  I9 g
  959. LDX #$00; T& [! _* o/ f% }, O
  960. BULADD:$ S1 d# _4 E  x3 q8 Q
  961. JSR PPUADDR_PROCESS* E& E' {9 b/ R5 m" @$ i
  962. LDA BULADD_STRING,X
    3 J' ^: P2 w) w/ S, g! Y: p! c
  963. STA $2007* P2 T* ^' G1 }- [8 g9 c
  964. LDA #$00' u1 A) `! U% I* X7 N' N1 q+ r
  965. STA $2000
    ( k- x3 L* H. Y2 c' c& `
  966. INC $BA
    6 Y. f8 z8 _- @
  967. INX* ~) _4 k! [( M  L, E
  968. CPX #$078 \( N  M" y0 P$ j) k# d
  969. BCC BULADD1 \$ \' [. t/ s  B2 D$ f( Z( ]- \* V
  970. RTS
    ! s% o. o9 u( I( j
  971. / W4 g1 a2 w3 J1 ~% F6 k
  972. BULADD_PPU:
    - Z9 q! n# W4 Q" Q2 ?3 ^
  973. LDX #$009 a2 d' s9 E+ w. P4 H7 f! ~
  974. LDA #$62, J3 x2 B' M% ^
  975. STA $BA! t$ [5 V" c& T% o9 J8 [/ P
  976. LDA #$21
    8 ~$ |) N% H6 h/ b0 Q8 l" n! d
  977. STA $BB+ f0 q3 z/ _" C( ~

  978. 5 z, K  }, U. A0 p1 U
  979. 5 g& f6 d: C, R5 `* ]4 W
  980. JSR UP_PPU% P% m. n6 s( u, @* ]7 y
  981. JSR BULADD_WRITE1 ?+ f: O0 n. M% X/ D1 D
  982. LDX #$006 s: c; q/ p- q, \& R- Y5 H
  983. LDA $07A2' u4 o! G% F. y0 X, u9 \2 F4 b4 ]# B
  984. AND #$01" {6 L& O9 y5 x
  985. JSR ON_OFF_PPU
    + m  e+ T) w# N' [$ {! F0 d/ Z
  986. LDX #$002 [: K1 {' h# |; X: K) E# x1 X
  987. LDA #$715 [# a8 `& V$ i& X  y
  988. STA $BA
      `6 ?4 j& S& z) ~& b1 t& ]; _
  989. LDA #$21$ [# p$ ?. }" V' B6 @1 S% A
  990. STA $BB( {% W7 ?% y7 M; M

  991. + f: k' T( H  A( q8 ?) c

  992. / G+ {4 ^0 V8 |+ d/ X6 s2 q/ g, V
  993. JSR UP_PPU$ `- @/ U8 v  k* K
  994. JSR BULADD_WRITE
    ; i. }% I6 j& a
  995. LDX #$00
    # P2 W9 a' \+ k" l
  996. LDA $07A33 F8 u; g6 E4 Z7 I2 k0 ?
  997. AND #$01' g- |. `7 \2 ?
  998. JSR ON_OFF_PPU  Q1 B4 n2 _0 L+ L
  999. RTS
    1 K& J+ y, n7 Q

  1000. # y. z1 m6 b9 r5 u' E
  1001. MENU_PAGE_STRING:; a2 a  B, E+ T3 x, {
  1002. .BYTE $97,$8F,$98,$9F,$80,$9A,$8B,$91,$8F,$80,$813 P) |& V& F% P4 ~0 l
  1003. 8 f# f5 K* U5 ~) K
  1004. PAGE_PPU:
    # q. \  p) r5 F0 U
  1005. LDX #$00' y# ]! [) U: B( }7 p
  1006. LDA #$0A# [! I, A% e# ^! P' V, e" _. F
  1007. STA $BA
    8 w% D+ t. U/ b* b2 X/ J
  1008. LDA #$23
    " k4 a) _* L& [- s7 Z
  1009. STA $BB
    8 A& Q7 E8 c( y: J, K( D
  1010. - p( Y1 O. g  Q

  1011. 7 ]+ D1 `3 I( h
  1012. MENU_PAGE:9 @4 h7 E* i' R9 l9 P! u# U' e. A
  1013. JSR PPUADDR_PROCESS
    , ^- _- Q9 s* g
  1014. LDA MENU_PAGE_STRING,X) `4 p3 f" v5 S, H
  1015. STA $2007" x# @$ m8 J0 e* R
  1016. LDA #$00( N5 D' J4 X9 n1 Y, v
  1017. STA $2000$ F  r; D4 Y- ]9 q; \( w
  1018. INC $BA
    $ P' K7 _# b% g$ M3 F' f
  1019. INX4 P# U+ _; K/ T# N% V) I7 i/ D8 ^
  1020. CPX #$0B& ^8 ~7 J. W. b* _# q: I
  1021. BCC MENU_PAGE$ R9 m2 K( a; z" {0 E1 l% H
  1022. LDA $07AA, j! r' F3 z/ ~1 w: H4 a4 k
  1023. CLC# `2 u* ^6 [, D: y
  1024. ADC #$823 `# e) F" |" F: N8 e" r
  1025. STA $2007
    + [* p! r+ |* b" ~; P8 e" r/ t; |* ]
  1026. LDA #$00
      F+ }6 Z+ f- N
  1027. STA $2000" ^% D5 u( C/ k0 u) \  n
  1028. RTS
    , D' A1 Y. w2 K- ^$ h

  1029. 9 n) A3 B* [& @, e. u, j
  1030. 9 x) K! M' T* Y/ P, x1 j
  1031. SKINGE_STRING:
    . G( l; H" ~0 @6 \; q
  1032. .BYTE $9D,$95,$93,$98,$91,$8F,$80  \) n8 K! i! M8 u4 R

  1033. $ U2 S$ U) ?! k: I7 w
  1034. SKINGE_WRITE:
    & r% J: B6 r" h3 `9 X3 `1 j
  1035. LDX #$00: m5 Y$ C4 W% U  q; a! D1 k
  1036. SKINGE:  g; h, G1 q, C! s( V$ E1 g
  1037. JSR PPUADDR_PROCESS
    ; X5 q1 C* `& z6 T6 F- h
  1038. LDA SKINGE_STRING,X0 b2 H, @) \" }2 g* U# Y% ~' Z6 |0 l% N
  1039. STA $2007
      E! q* W8 \  v; f) {5 K! g
  1040. LDA #$00) ?# C# s* d! n1 x+ T. e- ]
  1041. STA $2000
    3 B2 L5 }3 P- f+ R9 |( a
  1042. INC $BA
    ' [  ^$ ^) ^3 E3 Z% S
  1043. INX9 M0 k* o+ F$ C; c$ B6 s8 q; v
  1044. CPX #$07
    " g9 H% T) B/ a% W7 Q
  1045. BCC SKINGE! `* e5 t! A9 t2 y1 ?6 a8 \
  1046. RTS
    , q& R9 _" i% C) B# ~  G8 w9 l

  1047. 4 M) v3 b# o2 y$ o$ S
  1048. SKINGE_PPU:
    # v7 ^. k' n  j  m2 A) E
  1049. LDX #$00
    5 ?" l$ _$ G( v5 |% v
  1050. LDA #$A2
    ) R3 x$ m; U. o% J+ r$ Y  o
  1051. STA $BA: ~5 F/ K5 k% N4 [9 \) j2 H. e" A
  1052. LDA #$21
    ; Z; C8 D/ ]& \' I) N
  1053. STA $BB' q/ P1 [4 g$ D5 b% ?* P% H
  1054. / e# ]6 `7 K& [7 N. _$ C0 Z

  1055. . H! j: t) h& T' l* K5 c
  1056. JSR DN_PPU& V  i& x( A# J; n5 M* C
  1057. JSR SKINGE_WRITE7 T  ?8 w2 r* `/ e
  1058. LDX #$00% D( T* H; A# Y/ f0 a
  1059. LDA $07A2
    6 ]8 _) n* ~1 o& R
  1060. AND #$02
    % l6 G" z3 r! v. x" D) A
  1061. JSR ON_OFF_PPU5 H9 J+ u) |6 ^  x2 d5 {# F
  1062. LDX #$00
    ! b# K/ p1 m5 Z9 k& k
  1063. LDA #$B1
    0 Z# d6 i: m/ d, k; B
  1064. STA $BA6 A8 J! h/ t. i+ Q! ~+ Z8 r0 m2 c
  1065. LDA #$21# T: K! Y. x! H7 C4 u0 w
  1066. STA $BB. A# |+ w& k4 x) r5 j

  1067. ; {$ w0 R$ q7 x1 z. n8 E' @: A7 ?

  1068. $ W; W( H* X) K  E2 H2 L9 n
  1069. JSR DN_PPU& [) f  ~  t8 y* Z; Q
  1070. JSR SKINGE_WRITE
    5 l$ J* b: ?0 L1 Q
  1071. LDX #$00
    . G: s% }- N/ t0 Y) V6 N0 V% U
  1072. LDA $07A3" [' f; V: O/ ~
  1073. AND #$02
    " V  V+ B6 c: t/ O8 k6 w& l
  1074. JSR ON_OFF_PPU
    1 j: i- q- L! O7 t) m( C- c7 ?
  1075. RTS; C5 m4 e! q, ^6 J

  1076. & l2 C$ U. G/ a* K
  1077. BULMIX_STRING:
    1 j2 k/ }( W  @( {% N/ ^
  1078. .BYTE $8C,$9F,$96,$97,$93,$A2,$80
    ( r) D, V" K8 B2 F
  1079. 0 Q0 k2 x1 q) W7 D5 P% a5 C
  1080. BULMIX_WRITE:/ A9 v" J; y3 S/ Z) [
  1081. LDX #$00& c# \: {3 V3 J5 g! u- Q  K* O% e
  1082. BULMIX:1 y6 [; I  ]/ {# F: U# P
  1083. JSR PPUADDR_PROCESS5 i  V! p% m7 A! N! R9 G* r
  1084. LDA BULMIX_STRING,X
    * P  p. S# g- T9 I
  1085. STA $20071 Q8 \$ V$ b, `$ \. u. ~" x
  1086. LDA #$004 L" {$ u9 q7 ^2 A
  1087. STA $2000& j. O& w. h0 H3 d6 b2 }$ O; `
  1088. INC $BA
    8 @6 t3 x3 i( C- t9 }( F- W
  1089. INX
    / p9 s' D2 A! T' S3 z5 d
  1090. CPX #$07+ a3 ^4 W& `! y0 E8 R
  1091. BCC BULMIX" [. P: F8 \) ^
  1092. RTS- T& l5 k! M0 F2 |/ j# W

  1093.   d9 n7 d0 Y. F/ h2 k1 ^  O
  1094. BULMIX_PPU:( y7 \! O  V; O# Z1 i: |
  1095. LDX #$00
    2 y9 y# H  z, W2 P2 E: c
  1096. LDA #$E25 _  \5 D4 R* _9 }+ Q
  1097. STA $BA
    * ?4 ~4 Z1 M' N& b' d* \2 p
  1098. LDA #$21
      Y% ]2 H! d& [0 n4 O: a
  1099. STA $BB) N$ ]) R7 P. F6 g8 ~

  1100. - @3 m5 x" s& ?! O" y# H# T

  1101. # {2 z1 m4 k. C. ~8 d
  1102. JSR LF_PPU# w& F6 p; |/ u) H; d
  1103. JSR BULMIX_WRITE
    0 v' H3 e$ M* S. h$ M% {/ S
  1104. LDX #$006 w) N$ S6 U0 d1 `$ q4 ~
  1105. LDA $07A2
    & g, ~" c6 w9 G9 D0 W" z0 \% |
  1106. AND #$04
    & O- v. g" G/ @7 r
  1107. JSR ON_OFF_PPU+ H: e! n1 }5 X, U+ \$ M
  1108. LDX #$00* _% U9 @  B' J* j- ?6 a% ?
  1109. LDA #$F1
    % x6 }- M$ X3 ]4 b. X% ^9 u
  1110. STA $BA( g% H- K! E5 }, c
  1111. LDA #$21; h+ Z: X' j6 t" f. |0 ?4 d0 E
  1112. STA $BB
    , }0 V" R( z: U2 P# c3 ?& k( w

  1113. 5 c. Y3 f, S; d7 k" M8 m- K& C
  1114. & C5 n0 D; e5 Y) Y5 g. [
  1115. JSR LF_PPU
    7 ?7 F9 K( W% u; X9 y, o
  1116. JSR BULMIX_WRITE( ^8 S: v  [/ z! r" m" I3 S
  1117. LDX #$00) S5 `( J1 E$ g1 V
  1118. LDA $07A3# Z$ w9 I. j3 u& i
  1119. AND #$04: P7 C7 o6 |9 p( f, r8 k5 i  U
  1120. JSR ON_OFF_PPU7 s6 b& z0 q% C7 s) z$ o
  1121. RTS
    % o8 N5 H+ v) k- I: E0 u

  1122. ( D2 \2 I2 }; g0 R% q7 j& S* G' P
  1123. ENELOC_STRING:
    . O' F0 e, V4 Z
  1124. .BYTE $8F,$98,$8F,$96,$99,$8D,$808 t: j6 D: E+ v% C0 i+ O6 {8 H0 ]
  1125. ! m. q3 Q1 _+ S, ]" s- Y* R
  1126. ENELOC_WRITE:
    8 x, T* p8 q3 l
  1127. LDX #$008 @/ N. x, N  _: q( o* y& Q7 z' ?* d
  1128. ENELOC:( v  Q! i  l5 n0 i. F' x
  1129. JSR PPUADDR_PROCESS
    ! \. `' m% a2 D
  1130. LDA ENELOC_STRING,X
    1 n; }" Y1 ]: I6 R& O+ O
  1131. STA $2007
    ! i+ R  Z0 z) M3 Z
  1132. LDA #$00; x5 p0 `' B' Q5 T: @* S
  1133. STA $2000
    ! X  a; y* m# W* e, |
  1134. INC $BA: ~0 m$ b2 F& U6 y
  1135. INX! f1 g# n9 K; w& i1 P4 J# }. W% j
  1136. CPX #$071 i1 R% z* w2 G# e6 _/ U
  1137. BCC ENELOC
    3 K+ ]) G5 N- m4 \5 K0 M& ?
  1138. RTS/ A1 t. a' O4 l" [  \
  1139. 8 `6 ~3 X3 N" n, e& |5 U5 k
  1140. ENELOC_PPU:% N5 h; j9 a  n: X# J
  1141. LDX #$00
    ! b# e7 I% c* g% u* _! c
  1142. LDA #$22
    3 y! K" t4 x4 n, s6 g8 p( S
  1143. STA $BA3 Z' F# Y1 f8 W3 b, s
  1144. LDA #$22+ b/ ]. ]# Y: A, W
  1145. STA $BB; ]: p2 ~; P  I/ I9 W% i; [2 F

  1146. 4 ?! G, E6 k5 K5 A1 Q+ b
  1147. # g! G9 d7 N- Z. L0 ?
  1148. JSR RG_PPU
    6 q8 N: L  Q) y1 O
  1149. JSR ENELOC_WRITE
    , T: p( J/ B5 \
  1150. LDX #$008 N! u  p# Y3 H* u/ i/ O! K. X
  1151. LDA $07A27 L4 y" N# I$ C' _* M
  1152. AND #$08
    1 l6 i; q0 N; ]0 T2 D" H; A
  1153. JSR ON_OFF_PPU  H. u  H  M+ S
  1154. LDX #$00
    ) q- i! I+ V' j
  1155. LDA #$31
    # V0 q9 b, ?; T7 x
  1156. STA $BA
    9 F8 h6 J8 g+ }5 c8 s
  1157. LDA #$22% N3 H# A6 V/ }0 x5 Q) N
  1158. STA $BB
    3 Q9 n2 [# V5 Q/ a

  1159. ! W) u, R3 M4 d; I: @% Y1 A

  1160. 3 R% t! p) P) P! D
  1161. JSR RG_PPU
    : t" {3 `  _6 Y  n- c
  1162. JSR ENELOC_WRITE
    & K. ]; z3 L) E# N
  1163. LDX #$00
    - |# T$ y4 K, l: t+ u$ y+ J3 s
  1164. LDA $07A3
    3 U5 a  E5 f4 F  d  _: d
  1165. AND #$08
    0 a6 y' m: E" O9 L
  1166. JSR ON_OFF_PPU( x- f& P/ n" n: W9 H9 `; i6 m
  1167. RTS, @- ]. O% q3 e$ S+ K" ^- N4 W* X( R* n

  1168. ; p5 f3 r1 c/ i6 i3 @2 `" B
  1169. FOCFUL_STRING:
    + H8 k* @) \- U& c( V0 z
  1170. .BYTE $90,$99,$8D,$90,$9F,$96,$80! p% s( L" o+ J: ]; t+ `7 _
  1171. 2 m" [/ m" {- I( `; m, H$ F, W# b+ A

  1172. - K5 r3 A, Z- z- ?
  1173. FOCFUL_WRITE:
    0 y& P3 m, q, G! K1 o9 g
  1174. LDX #$00
    5 H' R! l$ T/ m3 t
  1175. FOCFUL:) V3 k' |5 ^, Y; w, G, c
  1176. JSR PPUADDR_PROCESS2 K8 X( ]8 |. @) [! w2 \3 G1 C
  1177. LDA FOCFUL_STRING,X" h; c6 D% n0 J! z6 ]9 X* L& V
  1178. STA $20074 A; V2 m/ p9 e
  1179. LDA #$00
    5 y) C% I2 e; L) @7 C5 H
  1180. STA $20003 S( @; l3 t4 [' R
  1181. INC $BA
    - A7 b. v+ M9 I8 J
  1182. INX
    1 Y: a2 D* a# e" j( P. t' C2 P' o
  1183. CPX #$07
    8 H/ g& N8 T" M4 q+ W. H1 d9 l1 B
  1184. BCC FOCFUL
    * E% [1 v+ X6 H; F9 S1 h1 A
  1185. RTS
    1 y1 ]7 x% Q$ ^4 ]3 L, l( b& Y5 l: [
  1186. 3 [0 ]/ k; h. b, [
  1187. FOCFUL_PPU:
    ' V- [( c2 }3 }7 B0 h
  1188. LDX #$00
    ( d9 P' Q* F( g' j4 {$ I
  1189. LDA #$627 _4 E. M1 P8 K2 N. O
  1190. STA $BA
    & I$ t0 {: ]8 b# c) `; T
  1191. LDA #$22
    4 c5 ^2 K# V: B, R* S; k" {
  1192. STA $BB
    ! k4 d" f3 P/ t  z" y- E

  1193. - v& B- A$ R8 _' j
  1194. / h8 u4 A2 V  ?/ u0 X% d8 c! r
  1195. JSR B_PPU
    ) {8 U* T) r# S
  1196. JSR FOCFUL_WRITE
    , N" M' r% v; r' m7 C( q( B
  1197. LDX #$00; ?# @1 X8 ?8 F' P/ N1 n$ F5 M4 x
  1198. LDA $07A2' U- L. t( R, y) t& c
  1199. AND #$10; Z; R# P/ Q6 R
  1200. JSR ON_OFF_PPU- _' S3 ^3 Y: c* ]
  1201. LDX #$006 m1 B1 J' n0 }. D
  1202. LDA #$71
    ; i4 |  P" i0 c# L0 Y* P
  1203. STA $BA
    2 V" Y! B% }& a
  1204. LDA #$225 N  [4 Y' Z! `, U. ~
  1205. STA $BB
    8 [' h( C, F' X

  1206. , t- N* i1 i4 n' z5 c. r
  1207. 1 O+ R. V8 U% N( D7 h/ g
  1208. JSR B_PPU) \" J* A. R$ C( w! u
  1209. JSR FOCFUL_WRITE
    3 l) [0 g: p1 K
  1210. LDX #$00
    6 F0 e( `+ J7 O2 ^" k- A
  1211. LDA $07A3' e; `8 G& G5 j- N- u; p
  1212. AND #$10, `; N* w7 \4 n) d
  1213. JSR ON_OFF_PPU9 j( W7 w1 _+ K' q8 O8 X
  1214. RTS
    # `3 n7 ^. z' h% V: U$ M9 c! @/ p. L

  1215. 8 }6 M, d6 x  }( B4 Z7 Z8 G! D" V
  1216. BULCON_STRING:
    ; ]: T5 W+ e6 L6 A: u) b
  1217. .BYTE $8C,$9F,$96,$8D,$99,$98,$80
    ) f' _! u" P7 J* G: `
  1218. " u; P9 h% E' }$ K* L! L  y

  1219. % l" W* |7 ]- E
  1220. BULCON_WRITE:
    " P% |9 G- `' }3 e
  1221. LDX #$00
    - p7 D$ U0 E# B: i9 v
  1222. BULCON:* H" a8 Z2 j, }+ v% f
  1223. JSR PPUADDR_PROCESS9 m' i  i8 _- [8 {/ a2 A
  1224. LDA BULCON_STRING,X
    2 r; H- ?  Y$ l
  1225. STA $2007; g% F9 H, w# q1 n: e. F
  1226. LDA #$00
    6 P: {% B( {* ]3 r, d
  1227. STA $2000
    6 e/ \8 w" Z* s2 X, W7 Q% Y4 @
  1228. INC $BA
    + Y' l7 K. R1 S1 r
  1229. INX
    5 R7 I6 n& n) x5 w9 ?9 I+ ^; O, y* }
  1230. CPX #$073 N' W1 ^# [$ o, G* t9 w. _: H( ^
  1231. BCC BULCON* T+ |9 E) R% V2 M+ K9 C0 N0 s
  1232. RTS
    ; K: G: x" i1 L9 ?" z( F
  1233. 9 P3 g5 _5 x% b- }3 _
  1234. BULCON_PPU:
    5 p9 T: C+ C. b* o; M* |
  1235. LDX #$005 [3 x( ^0 L$ _) a. N' Z1 b2 @
  1236. LDA #$62
    7 u1 A; @1 \+ x! l. D" s. ]
  1237. STA $BA
    $ @$ R4 ~3 |/ \5 k1 D3 T* F
  1238. LDA #$21
    % z+ o+ l: _- |( ?+ s
  1239. STA $BB& S$ R  {# M' W9 C( {+ Q9 U/ n

  1240. % z& X# Z: T# y3 O5 W1 S

  1241. ) @. h: L$ K5 M8 X+ ~' u# ?
  1242. JSR UP_PPU
    / f' A6 g  b8 Q1 R$ w$ V1 W
  1243. JSR BULCON_WRITE
    ) X  h+ N9 _3 `" s3 }
  1244. LDX #$00% t7 Q) T) A7 Q$ ~8 N
  1245. LDA $07A4
    / q+ W' ~* N0 n$ O* v  I7 \
  1246. AND #$08
    + X' q/ z9 N4 D* V* ?. ]' h
  1247. JSR ON_OFF_PPU
    8 [( D% m+ N, S( P9 z" S1 U
  1248. LDX #$00, @# X6 n" x3 F) I5 l$ b7 z
  1249. LDA #$711 s% A& L7 o' e! K  `1 ^* y7 ?
  1250. STA $BA
    2 W0 O* n. }/ f
  1251. LDA #$21
    ! d# ?% Q! l7 f- ~" Z
  1252. STA $BB
    ( r+ i, S) K6 W  b  H

  1253. 1 K( N, [8 k/ {' M8 `1 v1 ]

  1254. 7 F8 R0 v" |9 _- T
  1255. JSR UP_PPU
    ; [% w! o' h9 i' `0 w( j% p
  1256. JSR BULCON_WRITE, C9 x6 X/ Z4 N: r
  1257. LDX #$00
    ( @% k0 Y" [9 p( W8 B9 @
  1258. LDA $07A5$ l7 }  S9 T: c9 c- f* T
  1259. AND #$08
    7 F% B+ b: i6 c- G# K
  1260. JSR ON_OFF_PPU
    / w5 a. c' j& \5 F+ ^
  1261. RTS
    ; R2 c5 F% ]1 A9 @4 ]2 B5 y
  1262. 8 o: [' o0 y/ |% w+ ~. N
  1263. SPEBUL_STRING:
    ( R2 ]" Y" A! C' b$ {' {) X9 l' n4 q
  1264. .BYTE $9D,$9A,$8F,$8C,$9F,$96,$80
    * t) X! e2 c8 c7 \% h/ f

  1265. 1 `& K% L8 B* ^+ f1 w
  1266. * H" r7 g/ M, U0 [5 G( e2 s
  1267. SPEBUL_WRITE:3 W1 C* _3 ]& ?; G* n/ O
  1268. LDX #$00  ~3 }/ Y2 P. X, n& r5 ?& w
  1269. SPEBUL:0 l* P; t4 w+ s: F, \/ C
  1270. JSR PPUADDR_PROCESS4 M, f+ V/ C6 M; C! a  i+ V% U
  1271. LDA SPEBUL_STRING,X
    5 p, c  U1 r8 p) R! V" w( M
  1272. STA $2007
    ! X. U- l9 b4 i2 ^8 T* Z
  1273. LDA #$00
    % y6 }2 Q$ i# K" ?: {
  1274. STA $2000
    " ?' g0 v$ p+ x2 Z. n
  1275. INC $BA
    0 Z" q7 r9 e9 K9 B
  1276. INX
    ' h2 u. z, ]0 [- W. o4 h! m
  1277. CPX #$07
    ( {; s- Y3 R( C+ e" G2 r9 G  y. z
  1278. BCC SPEBUL
      v7 S$ ^  k, t  Z: e
  1279. RTS9 y8 k7 g1 C4 z) T
  1280. . @& N4 R3 i# v# @( a
  1281. SPEBUL_PPU:
    ( k; w, ~, K; E* W* Q5 p
  1282. LDX #$004 B% P& @6 Z" B
  1283. LDA #$A2" C) h* Z+ p2 x+ o3 f2 Q$ v
  1284. STA $BA  o4 ?! _9 k, j6 ~- [, a
  1285. LDA #$215 R- a: ]  k2 ~9 r; W. \  N3 t; z
  1286. STA $BB
    2 X$ ?- |7 s, L0 ?. d, b7 k
  1287. 8 P6 `4 {+ r! E* H8 p" h
  1288. 2 w# B! v, [/ {' o. ]
  1289. JSR DN_PPU
    ) t3 S3 a5 y' `6 i' c$ U
  1290. JSR SPEBUL_WRITE
    ) R# X: a/ k/ o0 [
  1291. LDX #$00' o/ J, [: L/ ]
  1292. LDA $07A4
    , H) i) D( o- w1 M5 p) k# [" l
  1293. AND #$02
    3 H- B' |2 d" Y. b! _- {
  1294. JSR ON_OFF_PPU
    9 |# I5 g/ s0 i0 P" K: g2 F
  1295. LDX #$00
    8 f6 a$ v' K5 ~4 C
  1296. LDA #$B15 S8 y" K) Z7 A$ M2 O( ?9 ], l: v
  1297. STA $BA( g/ ^2 }4 U  H# c/ ?) Z: p1 K
  1298. LDA #$21
    : M# r% _; f' e& m. Z
  1299. STA $BB) \" m* P0 P( }  D/ v3 F+ t

  1300. 7 u& f7 K. T& V/ K
  1301. + I  n* r! C6 a& a# F; v' m
  1302. JSR DN_PPU* G* m9 W+ a# I
  1303. JSR SPEBUL_WRITE
    2 z' ~( ?5 W( V, s
  1304. LDX #$00
      t$ `4 K7 y( V* U
  1305. LDA $07A5
    9 ?& a( s2 j/ ]4 h
  1306. AND #$023 ]/ j7 W4 U0 Q5 M8 F
  1307. JSR ON_OFF_PPU7 o7 e4 {+ i, n1 L( D# K* p% R! I4 h
  1308. RTS2 v1 u8 \" ?% o
  1309. " v1 W4 U2 K3 w) n4 I, E7 c% l& [; Q
  1310. .ORG $A500) b" B9 l: L# `; q+ n1 n7 R
  1311. CLEALL_STRING:
    : w$ L! j$ V% }5 h6 w' P
  1312. .BYTE $8D,$96,$8F,$8B,$96,$96,$80# f. F  m! B0 h1 k5 d
  1313. $ v! b) G- m  A9 @& k- o- L
  1314. ! R* M$ L2 Z! B2 l7 K& r* q; Q8 ]' q9 K
  1315. CLEALL_WRITE:
    $ C. g( s% e/ W# w% H/ Z; E
  1316. LDX #$000 {; D# I, N8 U4 ]8 [
  1317. CLEALL:
    . R6 [: T( W, R$ V
  1318. JSR PPUADDR_PROCESS+ j' g) I$ C6 V1 |0 }0 I
  1319. LDA CLEALL_STRING,X
    % o  ]9 K# f, o, A7 Y2 D- w6 [
  1320. STA $2007
    + x" S" O- v8 ^1 X
  1321. LDA #$00
    ( y/ m/ Y, O5 X: n3 @) Y
  1322. STA $2000
    , P+ v. _/ d6 w! P8 R/ c) B$ S3 Q; v
  1323. INC $BA
    8 w9 G/ R' c7 k# I) O7 `# p
  1324. INX; h$ d! i) O, u- w
  1325. CPX #$07
    ) m% p5 a8 o. p
  1326. BCC CLEALL) b( `9 b) r% S/ _# \/ I! m
  1327. RTS% p8 d: e1 w$ z, s3 H% H8 y

  1328. - p5 S/ U; ?0 i% R% b2 F
  1329. CLEALL_PPU:
    ! E5 u  |+ D9 f, ?; M9 J2 S- a  t
  1330. LDX #$00, E/ T8 d" ~* |. h2 {" ?
  1331. LDA #$E2. V8 r- B4 T" N1 q* M, g5 a& M
  1332. STA $BA
    7 F3 {. W* e( u& D! X
  1333. LDA #$21
    % d5 L% h$ g, b; r# a; {
  1334. STA $BB
    5 O! x6 q$ n( h3 I% W" _
  1335. ; N7 G4 v6 k" J- ]( {) a

  1336. , o7 B9 X: R+ }& k* c
  1337. JSR LF_PPU
    ( @/ G( e3 x& s! t, M
  1338. JSR CLEALL_WRITE- i: C% u! s' `/ q4 w- |5 [
  1339. LDX #$00! x9 p( [7 ~* b
  1340. LDA $07A4
    0 |. o/ P" P' X; F# m
  1341. AND #$04/ s3 W/ y. {/ f, S9 C7 S
  1342. JSR ON_OFF_PPU2 U& T5 s  |  e4 P4 P2 Y
  1343. LDX #$00+ I( w& r/ y. M$ }
  1344. LDA #$F1- Q9 m6 I% ]! f+ E  f" f' w# Y6 z& `! `
  1345. STA $BA( N2 R+ L9 W/ M1 T  ~6 v
  1346. LDA #$21, X$ S, x' f/ H0 D0 w' O6 G
  1347. STA $BB
    8 X; }) A, i0 y1 v* i+ y

  1348. 9 }" R) Z* n! f
  1349. ) K, ~+ J& O9 p7 y: |' q: f; j
  1350. JSR LF_PPU
    8 r: t" `/ c9 V- R2 w' @
  1351. JSR CLEALL_WRITE# P8 N( }# f  e4 D: n5 X  Q
  1352. LDX #$00( N5 B2 W1 P, x: B$ F- Z8 |
  1353. LDA $07A5( r/ [6 k( l/ c
  1354. AND #$04& s3 x) S* Y- u, W: V  d0 C+ s
  1355. JSR ON_OFF_PPU
    7 u  e' t$ x% a
  1356. RTS; g9 I* j" M  s" Y8 @2 d

  1357. ( t$ }2 `4 Y& S! O
  1358. HARDMODE_STRING:
    4 h+ }: O& ?* Y5 F( M9 t" w! _
  1359. .BYTE $92,$8B,$8E,$97,$99,$8E,$80/ C1 q( L( b2 ?3 d9 t% |3 s* U& l  w0 o  J
  1360. ( b7 ]( o  S' |1 a$ B3 \' b$ u% |6 {

  1361.   {; s0 r) q, B9 q- G  b
  1362. HARDMODE_WRITE:
    8 B; E3 d1 |' I4 R% k* D  C
  1363. LDX #$00# k- o2 S5 H7 w" t3 ?' P$ _
  1364. HARDMODE:
    4 d" ~& W- A$ o, i( r
  1365. JSR PPUADDR_PROCESS/ }8 `# f5 j& c, o; D2 H: K
  1366. LDA HARDMODE_STRING,X
    * Q/ k) S! R& U" |
  1367. STA $2007+ {: ?& t2 p6 `
  1368. LDA #$00
    . c. s( w$ P- b% x
  1369. STA $2000
      ~5 a8 A" b, O  s6 R1 L2 Q& b! p
  1370. INC $BA
    : c# R. a7 Z8 h. H4 u7 I" w! k  j
  1371. INX
    9 q' f5 X% r1 q
  1372. CPX #$07. T/ c: l4 S9 ~) o- [; x3 F
  1373. BCC HARDMODE, d* g( U8 |8 U: O" B1 ?
  1374. RTS% j% o3 j6 e! y- e% }  B

  1375. 7 @, l, _+ y. [
  1376. HARDMODE_PPU:/ _0 _* D/ z: E9 D! @: m4 d4 f
  1377. LDX #$00' t( [+ i2 A* L1 J/ [
  1378. LDA #$22
      v0 J8 c5 Q9 z, O
  1379. STA $BA9 ?. r# a" B4 w: f& P8 ]8 F
  1380. LDA #$22& i3 g& A" Y- X" O' Z2 |7 X/ m
  1381. STA $BB5 ~# r+ w9 T6 [1 x5 J
  1382. JSR RG_PPU
    9 K7 m5 ^/ M, a# \7 `" t1 C: Q
  1383. JSR HARDMODE_WRITE
    . Q5 {( F% s, X/ b5 H6 e4 E8 v
  1384. LDX #$00' E( S0 v2 ^% v9 q
  1385. LDA $07A4
    / s) B( K& @  s- w3 P
  1386. AND #$01
      T# }# _; A0 c0 j" e6 w7 N
  1387. JSR ON_OFF_PPU
    # W) {) o$ w% X" Q  ]- R! W; s
  1388. LDX #$00: l  F1 z  k1 M6 g9 X: T
  1389. LDA #$31& V+ S3 I' }: I( e
  1390. STA $BA
    6 P9 x+ f" \5 ^
  1391. LDA #$22
    4 M$ s% d8 s9 Z$ ~
  1392. STA $BB
    , T" }9 c0 s8 d9 Y' \( U) m
  1393. ; K  o+ a$ k, k+ y9 b& f6 X/ ]

  1394. * o# {6 a4 I1 F* g/ @
  1395. JSR RG_PPU
    * t$ {# K2 H! W9 ~' T, y' K
  1396. JSR HARDMODE_WRITE
    5 ]  X; k, [( Y2 S$ ~5 f% \
  1397. LDX #$00
    ; p. G5 o) q4 q( D- h
  1398. LDA $07A5
      \2 v3 L: r& U9 M
  1399. AND #$015 H7 K5 z; g" l+ h! U2 @
  1400. JSR ON_OFF_PPU0 \+ Z+ m7 ]/ l- B
  1401. RTS
    4 P- c/ a' F' c. g$ v/ n3 a+ O/ u
  1402. 9 `$ d  \! e5 J0 H! J
  1403. B_TO_JMPSTG_STRING:
    $ @% O& z9 D' }* ?
  1404. .BYTE $80,$8C,$80,$9E,$99,$80,$94,$97,$9A,$9D,$9E,$91,$80
    1 @* s7 q& v3 p2 E% ]# @
  1405. 3 r2 y# \+ U+ t' X
  1406. # R9 K' t6 A- M5 M2 F* |
  1407. B_TO_JMPSTG_WRITE:
    9 a3 r+ z, w; r7 @: C! h; ^5 L
  1408. LDX #$00
    3 }+ R" v% `# E7 H; _) @
  1409. B_TO_JMPSTG:
    7 V% @3 g( g! j, r' v9 a' F: n% s
  1410. JSR PPUADDR_PROCESS9 a, s& L' q! n2 j. k
  1411. LDA B_TO_JMPSTG_STRING,X3 P( q, Z8 C1 z0 N* {3 C! p
  1412. STA $2007
    / e% X" b& g% v
  1413. LDA #$00# M/ |, g$ f! q; G$ |  D/ b
  1414. STA $2000" O  k  |$ Q& ~  L0 Y' ^$ Y
  1415. INC $BA  ?: W$ {) N9 k6 P
  1416. INX% Q0 H! T6 \* F
  1417. CPX #$0D
    # b/ `; F; U* ?
  1418. BCC B_TO_JMPSTG5 U7 {! H2 @0 d. ~8 `7 T# o
  1419. LDX #$00
    # Y7 d- ]; A4 G( x9 ?
  1420. LDA $7FE0
      r: H8 B; t4 I# [/ }
  1421. JSR ON_OFF_PPU
    4 ?- i- T) J. K8 U: A# v+ L
  1422. RTS! w) _" c; A1 C0 @' l
  1423. ; ?; p: p2 j: u0 S, N# w) K
  1424. B_TO_JMPSTG_PPU:; X8 T+ [0 c2 L3 ^/ r
  1425. LDX #$00
      p: m" ~* C2 u( {( ~. L1 R2 k3 \" F
  1426. LDA #$688 G0 m8 g0 [3 b
  1427. STA $BA, n; p/ C  I+ X' H
  1428. LDA #$22. Q, L8 u! P. ]& i, ^
  1429. STA $BB
    * I8 B) l/ @9 i  Y, B* O6 s$ l1 D0 |
  1430. JSR B_TO_JMPSTG_WRITE& A1 D- G' Y" G; z
  1431. RTS
    * j3 ?" E; Z* p
  1432. 1 l; C. F# y5 A: B3 W& f6 n
  1433. 1 |& }0 x" k! {1 f
  1434. A_TO_PLAMOD_STRING:  e! S# L7 y3 L6 B. F* t
  1435. .BYTE $80,$8B,$80,$9E,$99,$80,$9A,$96,$8B,$97,$99,$8E,$80+ p- L# \- h& V6 P
  1436. ! T9 Q, x, a% R* R
  1437. $ c; ~+ c% W5 r! {( K! D$ `2 P
  1438. A_TO_PLAMOD_WRITE:
    3 c4 h; h. V. X4 u/ R, A
  1439. LDX #$00
    ! e8 G3 Z6 q3 v
  1440. A_TO_PLAMOD:# e) f5 R& F" V7 c7 c/ ^
  1441. JSR PPUADDR_PROCESS/ i0 I  h7 M$ K) f6 n, \
  1442. LDA A_TO_PLAMOD_STRING,X
      L7 s  o2 \; N
  1443. STA $20075 A. B9 d/ f6 J/ ?" a
  1444. LDA #$00
    0 b& o7 \3 T0 m, G
  1445. STA $2000
    0 v: W: W9 K* t+ r; C% y4 M
  1446. INC $BA3 [- l; n5 f" m$ O: C6 B; ^7 Z
  1447. INX3 f& Y8 r) H" y5 ?. y) Y
  1448. CPX #$0D( V/ l; F5 ?- |: a; S
  1449. BCC A_TO_PLAMOD/ E/ g7 F+ p! u  H7 ~  o) ?0 ]
  1450. LDX #$00
    # \7 {3 `: J7 }
  1451. LDA $390 P" O& m% M& d  T
  1452. JSR ONE_TWO_PPU& z5 P3 N+ @" z6 N+ j/ b; ]5 E  D/ K
  1453. RTS3 x( I( I8 I* z& q" s4 k1 `

  1454. 0 k7 i/ Z( H5 K7 a' E2 N6 c
  1455. A_TO_PLAMOD_PPU:: D3 d0 J. k0 W6 P" I# B
  1456. LDX #$00# q3 J* ^1 m/ k+ ~) M/ E8 y4 B
  1457. LDA #$A8
    $ r3 y8 Z* J& V# l
  1458. STA $BA
    7 @4 }6 e, E, \0 s! r
  1459. LDA #$22! z9 A' I" p  j3 C& }1 h4 j
  1460. STA $BB
    3 W5 ?" v. @+ V- p
  1461. JSR A_TO_PLAMOD_WRITE
    . {0 v% ~3 L) g5 N+ _" M7 \
  1462. RTS: Y2 R1 q7 ?2 G+ u
  1463. 2 G- w, M& Z5 b
  1464. MOVSPE_STRING:
    8 |- G0 ?9 O$ Z3 S. n. w
  1465. .BYTE $97,$99,$A0,$9D,$9A,$8F,$807 t+ Q$ v/ ^+ S; |2 {
  1466. 8 r$ F$ M& h( ?- k: `/ q3 r
  1467. $ F1 N: g5 d7 k
  1468. MOVSPE_WRITE:& z; _; r3 }3 S! w; f+ h7 x& T
  1469. LDX #$00
    % Q& a2 X4 }# g" M8 _
  1470. MOVSPE:
    8 ^9 z! d9 q& Q7 b0 G
  1471. JSR PPUADDR_PROCESS
    ; y: z+ Z' B4 c( D, N9 U* D! Z
  1472. LDA MOVSPE_STRING,X
    . ~. g9 X7 E0 s3 S/ M3 B6 s, L
  1473. STA $20076 d. G3 p' P$ E( L2 }
  1474. LDA #$00$ j; L/ ^+ F" f; j
  1475. STA $2000; A: q$ F9 @: K# E2 R+ U" Q
  1476. INC $BA& V1 U2 M& u; b- v1 K
  1477. INX
    " e& i" x* Y* E2 }  Q8 S7 `
  1478. CPX #$07
    2 `  N# k. N# \, s  d
  1479. BCC MOVSPE6 y/ @& ^/ X1 M: k" \; Z3 ]
  1480. RTS" t0 n/ F5 t) q# R% m. x

  1481. ' w* V1 D5 H& T; f8 Z% C
  1482. MOVSPE_PPU:( m0 H, x' w9 U: r# u
  1483. LDX #$008 {: V( w% a% j+ }' \' g' J
  1484. LDA #$692 @- p& T" g0 n) r! l& ~
  1485. STA $BA
    # e0 k8 @0 }# g: u
  1486. LDA #$211 N. d' @/ A  k0 p
  1487. STA $BB
    : d3 Z$ s2 B8 r3 l

  1488.   D. O6 C  H9 B* j, Z

  1489. ' @% i) [* Z7 _7 }0 x
  1490. JSR UP_PPU
    8 f  a) @; t! x$ e2 V
  1491. JSR MOVSPE_WRITE
    6 J% x# ]/ n; {0 d
  1492. LDX #$00
    4 n' P6 p1 p) C+ F3 o9 b
  1493. LDA $079F1 e, \3 f7 x, b; f2 |- v0 L& h2 d5 _+ G
  1494. AND #$08) T/ E* ]% m: t/ q, y
  1495. JSR ON_OFF_PPU
    $ i1 U& A7 {3 M
  1496. LDA #$80" X. A* h5 B& [: L% J" e; |9 z9 _
  1497. STA $2007/ ~7 g( `$ [# h
  1498. RTS( A) g. a) |% y1 Y
  1499. * t( y  w* _# s8 H) W/ F1 Y/ R  B
  1500.   
    $ l  [3 u$ v( ~' [* `( ]1 P! o% w
  1501. UNLJMP_STRING:( H) F/ Z2 }' ~: E. I4 E
  1502. .BYTE $9F,$98,$96,$94,$97,$9A,$80
    8 A( _) y4 P, L
  1503. 3 a( p  d! H( F$ p) }; v, q6 L

  1504. % R5 S+ ]5 c" s, e: O1 M
  1505. UNLJMP_WRITE:: M; i) H; \# q0 h3 V$ h
  1506. LDX #$002 L5 i+ a& p1 n: R0 j
  1507. UNLJMP:
    0 k! ^9 z: y& ~/ Y! G1 E/ y
  1508. JSR PPUADDR_PROCESS6 m3 F- O. c: ]7 c: B) b& v
  1509. LDA UNLJMP_STRING,X
    * M5 k4 n5 ?) {6 v. D3 f1 ]
  1510. STA $2007
    8 w5 l4 l1 \9 |" y
  1511. LDA #$00
    / E5 [+ @- P: T
  1512. STA $2000
    : A3 h" }+ F1 F  L7 ?' T% E# R
  1513. INC $BA' b0 s- ]( u6 J. T
  1514. INX
    ; R5 c- z1 Z; P: |/ f0 K! r1 S
  1515. CPX #$076 K- b$ S7 Y! I
  1516. BCC UNLJMP: M6 p0 M6 h- ^+ t/ F; ~, p
  1517. RTS6 Q8 M7 o* w8 z$ n1 V( _

  1518. 8 @% f1 L$ h; G1 d$ _9 w+ Z; M, ^
  1519. UNLJMP_PPU:
    : d; B* _( P1 I2 R) J) e
  1520. LDX #$00" G' m5 ?& j2 [7 [( u8 j$ d
  1521. LDA #$A9
    ' W$ B& Y3 F2 C& {4 L
  1522. STA $BA
      `. I5 n* |& p# R& t; [( Y
  1523. LDA #$21
    8 {- q2 r1 J1 m' @. e1 g7 i
  1524. STA $BB* Q: w# D4 t' u; L- T8 h0 j$ O

  1525. . K3 a) l0 a) a7 U# W% [/ H
  1526. ! w9 h% J* \2 W1 w+ a
  1527. JSR DN_PPU
    5 W6 F$ u  m- A* |' x
  1528. JSR UNLJMP_WRITE
    0 C1 K) w. X" I. m: {/ }& ]: g
  1529. LDX #$00
    " |) y" O' f7 k
  1530. LDA $079F
    : {, `+ Q2 h+ Q5 s  T
  1531. AND #$04
    : G1 \! X; c: i1 ?7 C+ q
  1532. JSR ON_OFF_PPU
    ) p9 H/ }1 ?2 ?$ |5 G+ a
  1533. RTS& c. T4 a' c$ Y. D( K4 ?6 q

  1534. 4 m  m: y! d: U; W, ?. j

  1535. $ q) g$ b9 _8 j. g
  1536. DESTRO_STRING:; k8 X+ N3 J4 M/ C0 R( O! u
  1537. .BYTE $8E,$8F,$9D,$9E,$9C,$99,$805 R2 p; O7 ~2 e+ r3 f

  1538. ) ?. r! T) `! e6 V( t
  1539. ! _. ~" I4 p* H, V) G
  1540. DESTRO_WRITE:
    , m& |# O, I$ b' x5 _8 N
  1541. LDX #$00
    " B" \: A4 N* e* ~
  1542. DESTRO:
    * O. v2 S6 n; R. G# D! F8 h- T
  1543. JSR PPUADDR_PROCESS
    5 q. _/ {) P% m2 u( o3 ?
  1544. LDA DESTRO_STRING,X
    ! U9 f& Y6 p8 T# `
  1545. STA $20070 Q5 R+ ?" v% E8 G& S9 Q+ A1 H! Q( j
  1546. LDA #$00
    % t2 H  D- @2 y! ^  ?, ?6 @
  1547. STA $2000# G( C# G. s5 T. U) [
  1548. INC $BA
    & Z, c% Z# T7 X3 r- X2 Z0 q
  1549. INX) T0 \  \. b  U4 Z3 g7 h1 L' s
  1550. CPX #$07+ E  w  y: c4 O' D0 V/ b
  1551. BCC DESTRO
    9 F0 u) S& R! _4 F, Z
  1552. RTS: X4 A. b; I" o; u; C
  1553. 0 ^3 G. M8 B3 i$ _  I$ a; X
  1554. DESTRO_PPU:
    $ ]3 e$ y# |. q' Y9 i' o9 k
  1555. LDX #$00
    ) t( W) Q( \  l
  1556. LDA #$E9/ K5 L) p5 ~5 Z3 E+ t% i/ _
  1557. STA $BA3 R3 h  q9 o( V: `
  1558. LDA #$21' d7 r1 r' h$ |+ ^
  1559. STA $BB
    ' N( r$ f4 R2 I# b0 [
  1560. + I! L" X( O; x: A. e5 Y1 G+ d
  1561. 4 z, B& k" r% ?" n: w- t
  1562. JSR B_PPU
    - g8 ?7 d8 t. x; o" [; A' S  ]
  1563. JSR DESTRO_WRITE
    $ s/ Y" n, G" n* F
  1564. LDX #$001 U# c$ V1 d0 [
  1565. LDA $079F8 N) }& B( q& e& @/ `# {
  1566. AND #$40* i, E2 B$ b) ]
  1567. JSR ON_OFF_PPU
    ! b2 p3 S; t8 _0 U
  1568. RTS
    7 A+ L* t' M5 s+ ]0 z
  1569.   b( `% q9 n. O( I. ^

  1570. ( a8 g* \" x* R8 ?" Q
  1571. EQUBUL_STRING:
    ! Q& x# A! c  y) W. C
  1572. .BYTE $8F,$9B,$9F,$8C,$9F,$96,$80
    ) B* A8 r& o. {3 s' Y1 d6 c2 v& S' g
  1573. 0 a8 ]5 u( i" w

  1574. + Y& U2 r+ D/ G7 N5 D+ p
  1575. EQUBUL_WRITE:' u! e6 d& w) u9 r% |, l
  1576. LDX #$00
    0 |+ U4 C5 Z9 Q9 j* g
  1577. EQUBUL:; v  }% }. u- Q1 A$ o
  1578. JSR PPUADDR_PROCESS! D; m, a7 P) D9 O7 V0 q
  1579. LDA EQUBUL_STRING,X  W4 }) W1 ~' u  H( z0 }
  1580. STA $2007
    + ^7 {5 s" \4 b% t6 Y; r
  1581. LDA #$00' e+ L% ~, a7 i. \3 r; W0 \" O
  1582. STA $2000/ y8 V2 ~& k; A" Z
  1583. INC $BA
    0 v! h+ r2 a- Q4 }
  1584. INX! G# q6 T1 u3 i! N+ T7 \
  1585. CPX #$07
    # R3 X9 f( h8 E5 d5 O/ b3 Z
  1586. BCC EQUBUL
    " U/ `* y$ o; r$ K4 @5 d
  1587. RTS8 r1 z7 w, t) i- v# r. J& _
  1588.   Q( l8 O2 ?' v
  1589. EQUBUL_PPU:! t9 p9 [& b8 N5 u2 p6 A* I( c
  1590. LDX #$00- F& Q+ ]! K; I5 J+ F4 ~6 k# O
  1591. LDA #$29: L1 _' T1 @8 o4 }5 {4 z8 ^8 b) R
  1592. STA $BA+ g  @  K4 G- Z1 J& u  O# i$ f( c
  1593. LDA #$22
    ( E. h7 K% a0 m2 e8 K
  1594. STA $BB
    0 Z& [2 T6 S7 c% i6 o

  1595. ( h# M% M! [, w+ r5 H' z9 {% s
  1596. ) _% O- g3 c5 S/ j& b7 @6 x0 w- u
  1597. JSR A_PPU
    " x, r+ X' L7 Q& [6 d8 [
  1598. JSR EQUBUL_WRITE! Y0 E9 r" W# x* ^( v# m8 [
  1599. LDX #$00
    9 Z2 ^# t6 \( Z2 w
  1600. LDA $079F$ ]' h  l$ w+ ?# q0 w2 y
  1601. AND #$80
    9 ^) N+ @0 N6 b! |0 u  D, ?
  1602. JSR ON_OFF_PPU
    $ M7 d' P: d! _& B7 {
  1603. RTS! c& G" [: h' U. \

  1604. 4 L' C" c9 o- m' W  F1 a% O9 D' ~
  1605. ( g- p8 ]' U* p* C  M- ]
  1606. ' {6 _5 O3 Y- z3 X4 F6 `5 i. I
  1607. BULSEL_UP_STRING:
    " _- D$ Z& T+ c# \- X
  1608. .BYTE $9F,$9A,$80,$9E,$99,$80,$9D,$9D,$80
    7 k& @( x* x9 \% O
  1609. ; Z1 X) P0 b- O; S& Y* t
  1610. BULSEL_DN_STRING:
    : w' {- J; B8 a7 |; L
  1611. .BYTE $8E,$98,$80,$9E,$99,$80,$9D,$96,$802 B2 b* [  q6 y, g$ N
  1612. 2 T, \' ^" W1 G+ L* C, V0 A
  1613. BULSEL_LF_STRING:
    / D( I3 l  _! ]& B/ s% p
  1614. .BYTE $96,$90,$80,$9E,$99,$80,$9D,$97,$80
    ( u" E$ g8 S7 F: d
  1615. 3 {- Q& j- C# y/ k
  1616. BULSEL_RG_STRING:
    . t% H. k& q" I! C: F
  1617. .BYTE $9C,$91,$80,$9E,$99,$80,$9D,$90,$80, [- D% y; S+ [
  1618. 2 }- u' _( i: F) l
  1619. BULSEL_B_STRING:9 _  x# h! H; F; y9 i  F
  1620. .BYTE $80,$8C,$80,$9E,$99,$80,$9D,$98,$80
    ! U7 |1 c' g4 ^* \7 c+ W
  1621. ' ~  n8 Q  q  b2 V5 \' g
  1622. BULSEL_A_STRING:
    8 U0 p3 B! w. y$ j
  1623. .BYTE $80,$8B,$80,$9E,$99,$80,$8D,$99,$97,$97,$99,$98,$80,$9D,$9A,$8F,$8F,$8E% G5 i- e$ Q) B" n

  1624. ( e! z/ T! m0 P0 q- b; i& k

  1625. - i$ [# R7 w. d
  1626. BULSEL_UP_WRITE:
    3 R! O$ f3 P* s4 s; f: z
  1627. LDX #$00
    $ Z1 ^( B, L5 [
  1628. BULSEL_UP:1 x* L+ n9 S3 g- I8 `# B# I% m
  1629. JSR PPUADDR_PROCESS' t. w3 X2 O9 m) U7 i9 F: c
  1630. LDA BULSEL_UP_STRING,X  R6 N: L' o9 V5 g, `- q0 e
  1631. STA $2007
    ( j' V: g  w1 E$ [% \
  1632. LDA #$00
    ' {$ t: W$ k8 g
  1633. STA $2000; L1 ?7 |8 y  j3 a3 ~
  1634. INC $BA+ q% d% D) A* ]% c) X0 ~
  1635. INX
    2 y+ f, h3 a2 Z
  1636. CPX #$092 [0 Y& Y5 P; o4 R' r! j5 x0 g! I
  1637. BCC BULSEL_UP  Q5 F. y- b8 N" }; q6 E
  1638. RTS  U! p' a& Q! m  B& V: e
  1639. BULSEL_DN_WRITE:, c  T  v* ?" L
  1640. LDX #$00
    ; P: X% R" J5 L9 f6 L
  1641. BULSEL_DN:
    / o" G% I+ a/ n; I# C+ b
  1642. JSR PPUADDR_PROCESS
    - ?! J# P. U4 ~* J+ U3 [
  1643. LDA BULSEL_DN_STRING,X
    0 U% a! W4 N5 u% v- K1 R
  1644. STA $2007
    $ o- ?. i/ t! [! i
  1645. LDA #$00
    8 |. C6 C! f& o5 }9 Q( ~
  1646. STA $2000
    5 r( G$ H' c- _: z1 A
  1647. INC $BA! ]; a* B6 y4 j2 ]
  1648. INX
    $ Q2 I& k# k* e: ?
  1649. CPX #$099 e: I8 q$ O: x7 L7 I
  1650. BCC BULSEL_DN
    % o2 {+ m/ p, f# j6 M
  1651. RTS
    6 p9 {( s" p2 l7 F4 ^) X
  1652. BULSEL_LF_WRITE:' \3 V2 L1 g" E8 R: s1 A1 k; X
  1653. LDX #$00
    . q* y2 i1 F8 |1 b/ B) Z
  1654. BULSEL_LF:
    - R% {: @+ j$ ^9 \, U  _
  1655. JSR PPUADDR_PROCESS
    ) z8 E% D" C3 l! U# l' j6 \' M
  1656. LDA BULSEL_LF_STRING,X
    & M- N% @; r* c3 E2 l8 ^
  1657. STA $2007
    " }2 s  f& |# C2 ?1 V; _
  1658. LDA #$00
    4 ?& D' t$ v6 v$ h! l" X! v, a
  1659. STA $2000
    ) Y9 I. _9 A, L) t, @
  1660. INC $BA
    " l  `/ s  k3 j2 T6 |
  1661. INX) i1 Y7 V* A6 g' T
  1662. CPX #$09; h; U( \4 c0 W( u# s
  1663. BCC BULSEL_LF
    # {5 A* o, D) E8 x" W; c6 W! U1 e
  1664. RTS
    ! A& T- c$ R: j( j) H
  1665. BULSEL_RG_WRITE:
    6 V( w' l1 R9 e& H& S
  1666. LDX #$005 ^4 \: C" T' q2 D% x- L1 w3 W8 l4 T
  1667. BULSEL_RG:
    ! }- D+ k, B% h  i: \' A% y
  1668. JSR PPUADDR_PROCESS
    ; I2 H$ z/ j! I6 f5 e. a
  1669. LDA BULSEL_RG_STRING,X
      ^3 U- L+ I& b' _. k
  1670. STA $2007
    0 I7 _% k! t( ^4 C
  1671. LDA #$00" E  L( s0 X1 T) |+ V
  1672. STA $2000: H# Z! ~" O# ^) n, ^# k
  1673. INC $BA
    5 \8 b, F3 x8 C4 [; L* u
  1674. INX) h6 \0 s5 W' Z% E; ~6 W
  1675. CPX #$096 C& L5 H+ `1 L# t5 K
  1676. BCC BULSEL_RG
    ; l, E% ]: H% H, ]
  1677. RTS7 _' b" J  T$ G8 X; u2 f8 R3 O& l5 M
  1678. BULSEL_B_WRITE:& S- P! M! U, ?3 W  S: y, [
  1679. LDX #$00
    # H& l, }! b2 s6 }) }  W
  1680. BULSEL_B:& q' x7 ^0 f+ s2 d. u5 Y3 k
  1681. JSR PPUADDR_PROCESS- F$ Z8 O6 d$ S8 T9 c
  1682. LDA BULSEL_B_STRING,X: f0 ~7 K6 k5 I* x3 n
  1683. STA $20073 G  s) X" Z0 Z% d
  1684. LDA #$00
    5 m1 P9 x" ?$ B  `7 [# R, X
  1685. STA $2000
    & n1 f5 G8 p4 v4 V3 o8 ?6 a" p' m! Q
  1686. INC $BA
    " x8 Z; K* U. ~" B' `6 k
  1687. INX
    ( R1 S0 S- K6 t# E: b
  1688. CPX #$093 a4 d0 M* i+ D# S
  1689. BCC BULSEL_B9 m6 {% S2 d) a
  1690. RTS0 {" X2 _) r( x. ]# ~, Q) C1 R) W
  1691. BULSEL_A_WRITE:* D' q+ M4 @4 I& E5 |1 I1 v: J
  1692. LDX #$00) C' R6 F7 r& Z9 n/ \, L; z0 g
  1693. BULSEL_A:
    + S' H) E5 n  @- W0 g
  1694. JSR PPUADDR_PROCESS
    . {4 M- ^5 y& c# L/ d( K& m
  1695. LDA BULSEL_A_STRING,X5 f) [9 B% l1 I4 b; [' s! V
  1696. STA $2007
    5 e! B' T! l4 T' \, h0 A# [
  1697. LDA #$00
    ) V$ \2 W! ]# g5 ?, {
  1698. STA $2000+ k6 B+ y! |* t9 Z4 X2 I/ ~
  1699. INC $BA
    & [5 ^: l- |3 W& M' c, y3 H1 I
  1700. INX
    0 |, ?+ P( h; e$ O- E4 R& W8 x' {
  1701. CPX #$12% z  I0 C8 e$ G, n$ r
  1702. BCC BULSEL_A
    8 @1 V0 I* }+ t4 |' f' c5 K
  1703. RTS+ s3 x+ {0 l* f2 [; E' h
  1704. + O7 d3 a" z1 _2 P2 n

  1705. , M( Y- n2 J6 l* S; q4 e

  1706. 7 f& @. i# B8 v- d1 B3 `2 ?
  1707. BULSEL_PPU:
    / T" k" J; d& F% Y
  1708. LDA #$6C0 G) R6 _. B; ?0 Q; o
  1709. STA $BA% V: k# _, D; g+ l8 F
  1710. LDA #$213 u  ~$ r. x+ \+ Y  u# p) x! g
  1711. STA $BB
    6 d2 J- W4 U- P
  1712. JSR BULSEL_UP_WRITE8 I& L8 A4 w' M1 V+ W/ S

  1713. * _; o! R* v0 B# ?* b$ W& o
  1714. LDA #$AC
    . s2 R8 e3 K7 B/ u' ^$ B) E% G: d
  1715. STA $BA- h* Z0 @* S  l8 Q) \
  1716. LDA #$213 `0 L: g2 w2 H3 T, h( K* r
  1717. STA $BB0 y% c+ {' D5 o$ g, U
  1718. JSR BULSEL_DN_WRITE
    , J' g5 o) A; y2 C; Z: d
  1719. 2 L" \$ A+ {( f& t) y8 }
  1720. LDA #$EC+ E: e( d5 @. ]/ i% x
  1721. STA $BA) ?1 S' Q, W$ f. Z3 w
  1722. LDA #$213 d7 ?/ Q8 B# t# A3 D
  1723. STA $BB9 y1 j) A2 _/ o3 i0 J- E
  1724. JSR BULSEL_LF_WRITE
    " b. I( K  ^' w* @* v4 n: N5 r. h$ O

  1725. 6 w, T3 o/ o! n* M( `
  1726. LDA #$2C
    " B2 m0 K$ m/ m" e" v* E6 S# m# T
  1727. STA $BA/ G4 s5 N' n" x4 |& `3 e
  1728. LDA #$222 W- Z7 F8 n0 h$ v
  1729. STA $BB
    5 i' D% F: ~3 P; q! s) V# L0 A% f; ~5 z
  1730. JSR BULSEL_RG_WRITE2 O- n+ _" b$ k  Q
  1731. 0 u9 J8 v# a' n2 K  [! `
  1732. LDA #$6C
    2 G  L. x; Q6 B+ I
  1733. STA $BA; E9 G( }& z) P# ]8 J. W
  1734. LDA #$22
    3 Y8 H) j7 A( d" H! W6 D
  1735. STA $BB, f0 K0 i9 b, ]& x
  1736. JSR BULSEL_B_WRITE
    - r/ n8 @$ y4 F

  1737. 0 T4 B1 @0 r, p: G
  1738. LDA #$A76 [. f9 ^( n, E9 g- y" b- ?
  1739. STA $BA
    7 A9 _3 a. n* `; ]6 g' Y3 A
  1740. LDA #$22! h. `9 x; O6 P4 K0 f
  1741. STA $BB  Z5 p/ o0 ?7 J" C- @* d
  1742. JSR BULSEL_A_WRITE2 f# H* \$ O5 ]" n* T; K
  1743. RTS
    6 o" T) @* l' r9 |

  1744. 9 [3 |2 k  `$ t6 |& b) V. k# F2 [

  1745. , |% D% c1 R! L! U, d

  1746. # l. i% |7 J, t
  1747. UP_STRING:
    ! n  m/ p" Q% w( ]8 \0 J0 u
  1748. .BYTE $9F,$9A,$800 `+ x% W1 I# x/ d6 k

  1749. ! O2 e' |- t  m, G6 X0 ?+ T
  1750. DN_STRING:
    8 B- e1 l( M( o2 \* v/ Q; \5 q9 [) P/ Z
  1751. .BYTE $8E,$98,$80
    : p7 Z: E/ m. e

  1752. & q  ?6 {7 {5 A$ Y% n
  1753. LF_STRING:
    ' D$ x; h6 h1 V; X; W
  1754. .BYTE $96,$90,$80; j: q3 p* b/ w1 }* j; `" ?

  1755. / L" S7 r$ j+ x) S3 g$ \/ _
  1756. RG_STRING:
    : n. B& m& Q7 m) |- _
  1757. .BYTE $9C,$91,$80+ ?2 x( \" o1 ]/ p& z
  1758. ; Z) n4 k( h" _! k0 c( L# @& t
  1759. B_STRING:
      [$ b, Q* w  s8 ]* w
  1760. .BYTE $80,$8C,$80
    3 |: D+ t/ R% l/ r

  1761. ! T( B3 b9 f$ Z0 r
  1762. A_STRING:
    / ~" r$ H  V/ E$ u: r6 H
  1763. .BYTE $80,$8B,$80* r7 _' `2 m. j9 Q8 O( L
  1764. 8 w/ a, C  C: E

  1765. ! r* w& y2 B0 T1 ]; M; T; _
  1766. UP_WRITE:
    # C1 L' ]3 s# ~. \
  1767. LDX #$00+ Y* S% Z. U" m* |+ C# B/ L- V
  1768. UP:! |! l' d6 @  ^' Z
  1769. JSR PPUADDR_PROCESS$ r  _' x6 P  \' n' o# Q2 ~
  1770. LDA UP_STRING,X4 b0 ~! s# I: L" j+ S
  1771. STA $2007: V9 r5 M4 {/ X3 O' ~4 M/ d
  1772. LDA #$00
    4 ]' Q+ \1 [# G4 u& i8 }5 {: ^
  1773. STA $2000. H: t& m5 J( \
  1774. INC $BA
    8 I- F2 d6 g$ H3 V9 U+ c9 {
  1775. INX
    ! J7 o8 p9 t3 l2 ?
  1776. CPX #$03
    1 m6 ?% j1 s: j5 X: x1 `
  1777. BCC UP0 G1 X& c) J1 B3 C  G0 A/ @/ @
  1778. RTS
    4 c' r, x: u  U$ V

  1779. 4 {; R8 {+ r0 o$ i, R4 Y
  1780. DN_WRITE:  }8 j0 f# a, B+ |6 Q& y. r
  1781. LDX #$00
    2 ]: Q  \3 q% v& H) w+ S/ W7 Y
  1782. DN:
    / Q; _6 ^2 r# j
  1783. JSR PPUADDR_PROCESS! y8 x8 t- u7 U' j: Z/ U
  1784. LDA DN_STRING,X
    / f* l! j* K% V8 p$ ]8 K
  1785. STA $2007
    1 H" N' A0 h5 z! k+ X7 z8 |
  1786. LDA #$00* s& P5 x* s# M) |* c4 x
  1787. STA $20000 }0 k" }% i. l$ g0 _+ M2 m
  1788. INC $BA
    , k( {) B$ F. l3 s- G
  1789. INX
    ! f% \. V/ P$ _, J# [% w- {: ?8 A. n; v
  1790. CPX #$03# I8 P: t* K" i7 }8 Z1 f
  1791. BCC DN6 L) s4 U) C" t' o
  1792. RTS  }" u, P/ m$ [0 x( V

  1793. ! \% [' A) |6 Z; o
  1794. LF_WRITE:% q0 N5 v+ a" S
  1795. LDX #$00
    ( U3 v% a' w$ y( E: _/ w6 D4 h4 g1 P
  1796. LF:
    7 f" K# [( M  _' H! I* u3 e
  1797. JSR PPUADDR_PROCESS! K+ W' G  @: p& |& T5 w) H
  1798. LDA LF_STRING,X2 d9 p; K3 ~" Z: c* @1 k- l. N' A% h
  1799. STA $20079 i/ h: K) L9 F$ b0 c
  1800. LDA #$00
    ' Z: \2 H7 J! h+ A
  1801. STA $2000
    , A7 b- P3 v0 z# P' B" d, E1 R
  1802. INC $BA
    # b' V5 F4 r7 I$ Q  I6 \: s
  1803. INX0 m& G: j: @+ t( f$ c1 p
  1804. CPX #$03
    ) T& e4 O! z" a8 C2 q
  1805. BCC LF$ v7 A1 r0 l% A  E1 V5 K8 ]
  1806. RTS
    0 M' C7 k. w  y& B$ s# j

  1807. % h5 p; e; Y3 b' P# H
  1808. RG_WRITE:
    / Z( ?: ~# `/ l" L$ m, z; k2 b( [
  1809. LDX #$00
    , _+ E; e' M9 q! f: W# O" j
  1810. RG:
    , M" `! _' c) E- `8 E
  1811. JSR PPUADDR_PROCESS4 }6 v" ]1 E# R! B$ [- D& n
  1812. LDA RG_STRING,X& y0 S! \) ]' f' L( C" N
  1813. STA $20074 w4 Z2 y' K- F3 ~9 a; X' Y3 W7 x
  1814. LDA #$008 `7 q3 o1 b) n1 J- |- N
  1815. STA $2000& O3 w5 [  {7 I. c
  1816. INC $BA
    1 a& b' K4 S3 T, p0 Z: Y
  1817. INX
    ( b8 W. ]  J  J: Q! [
  1818. CPX #$03! T- o3 U+ W( Y8 P: z/ |
  1819. BCC RG6 [* v* C% X+ D) `$ J7 d
  1820. RTS
    / L, I, U: U0 L7 U5 x
  1821. % A# o7 ]4 X7 Z
  1822. B_WRITE:* g2 F7 N" z& }3 Y& D1 q9 `
  1823. LDX #$00
    : E' v, q% e' J# u
  1824. B:
    " v7 G& V+ j% E+ G6 S# H  M/ ~
  1825. JSR PPUADDR_PROCESS+ r" j% ?4 R) |
  1826. LDA B_STRING,X, j: ^' P4 S) \$ h
  1827. STA $2007
    . T/ F) C/ Q8 P+ Q8 h9 S$ P9 M( l
  1828. LDA #$00
    0 T  [; I3 j, ?6 S* P5 x
  1829. STA $2000
    ; W1 o$ \, {/ g, H
  1830. INC $BA
    . u$ Z# V: y0 ~
  1831. INX
    6 N# j2 M( `( f, A+ U* A/ S
  1832. CPX #$03
    + I- }, Z( j+ }, z% \  d1 q
  1833. BCC B
    " V3 M$ J/ [* n/ B2 H
  1834. RTS
    5 d( e9 x5 ~* `& [/ w

  1835. ' t0 Q2 S- Q0 T# @( y3 v: H
  1836. A_WRITE:
    6 H& z3 R2 |# c2 v) `" u
  1837. LDX #$00- k5 h- ?+ o0 \3 @* X4 X. m" X
  1838. A:
    : h, \/ L! T. Z. _4 u, K
  1839. JSR PPUADDR_PROCESS
    2 _9 U  M% U8 q5 V  ?' v& G) l
  1840. LDA A_STRING,X
    ; K# B8 W* V* s8 H  Y" a
  1841. STA $2007
    7 k1 f, c, B/ _0 D% m) [
  1842. LDA #$00
    + w& ?, I$ u# a4 r+ x
  1843. STA $2000
    2 t0 [/ M3 J9 V
  1844. INC $BA
    7 w0 T# T# k) G( Q( ?
  1845. INX. U) e, A) B6 k$ F
  1846. CPX #$03
    3 ~1 T+ l4 @- L  S' Q3 z! C1 M( i3 z5 W
  1847. BCC A  k1 r7 {+ Y: A2 @2 A
  1848. RTS+ q- c+ B! K6 f0 K; z+ A

  1849. 2 ]" r  ~( I# ~/ @1 Z* I

  1850. - ~% r/ i4 K6 N/ p6 z$ |7 r3 }8 L
  1851. UP_PPU:
    ; H( B: q1 o: L( E4 N' D# c
  1852. JSR UP_WRITE6 w1 ?# k% n* Z# W4 }
  1853. RTS
    8 M+ z3 l2 \2 [8 D0 ]. c- {

  1854. " Q5 t/ I5 t& }' P) F; B
  1855. DN_PPU:$ I7 s% ~: D; r( h
  1856. JSR DN_WRITE& a$ z( C8 x! a/ J
  1857. RTS
    5 T! M  T0 j9 X8 D( @! o! x0 F4 ^
  1858. ( C* |/ v5 l8 K0 t: b! G4 K  p
  1859. LF_PPU:
    6 W2 A0 h0 e6 T, N3 [$ ?4 z, d( ~
  1860. JSR LF_WRITE
    / O" f9 K/ z/ l+ }% q
  1861. RTS* s0 B8 n% I. t5 H$ x& t" i5 n& l

  1862. 5 Z4 {8 t- J5 B  E# R8 ~
  1863. RG_PPU:6 B. }, C6 _1 D5 ]. `, j
  1864. JSR RG_WRITE$ i6 Q- X9 i* ~4 v6 m  ^) X4 K1 }( ?3 w
  1865. RTS
    8 T( q) X3 s' `
  1866. 0 @$ r7 ~8 [, z, \% E
  1867. B_PPU:! l0 f! W& b, \- F! o5 W
  1868. JSR B_WRITE
    ; A1 w- H( C% @2 k# ^
  1869. RTS
    3 }1 l2 R" K2 @' a0 }: t

  1870. , j- k% F+ m1 P' G; Z
  1871. A_PPU:, V3 L0 I$ m# y' r; Z' `( n
  1872. JSR A_WRITE
    # v' z. c' ?/ z) {% C; E' `: Y  s
  1873. RTS( j* {  Z" [0 V6 e$ g
  1874. ( q/ S4 h: B6 S' q) D1 [2 m. O2 l
  1875. / k. X0 r7 _0 w# L' n
  1876. PAGESELECT:
    2 [$ d  L+ c/ V5 ]
  1877. PAGE0:
    0 ]5 c) j8 Q- P4 Y2 A# b4 I4 q
  1878. LDA $07AA
    0 _8 F- H% I2 i! C5 _: l1 k
  1879. CMP #$00
    8 ~. D2 ?. i+ h5 `# k1 @
  1880. BNE PAGE1% z1 a* @/ B& }0 y: U% E' Q8 B
  1881. 9 T5 t& i! o* ]" [9 _5 P
  1882. PAGE_00:" V$ |7 N' b3 ~, A/ o8 Q& H. n
  1883. JSR BULSEL_PPU! i' S& Z# `0 S4 s
  1884. RTS
    & s2 x# W  I, Z! M3 S9 J4 u
  1885. 9 |8 k' G) z# {6 Y
  1886. PAGE1:+ Z( R/ N4 S8 c0 l0 ~$ O0 J
  1887. LDA $07AA
    ' u1 R. L5 s2 r" r
  1888. CMP #$01& J7 ^% {, Q/ x/ Y  ?# d" p% H% @" t
  1889. BNE PAGE2  F3 \6 [: C4 D9 r

  1890. ; N" C( E$ t* i& @
  1891. PAGE_01:1 o3 G' r! d+ X# H- G$ V
  1892. JSR INVINC_PPU
    # r5 w& K8 |5 V9 G; ?2 m+ u
  1893. JSR LIFELC15_PPU
    1 f9 S& e' j, g( u6 c% w7 I
  1894. JSR DOUCON_PPU
    , R5 X" y$ l% M5 z2 o. T% _8 z
  1895. JSR KILLON_PPU0 c  A& b. n9 @# {- }
  1896. JSR SKYFLY_PPU7 ?8 B" L$ y, q, Q
  1897. JSR LIFELOW_PPU- D5 C5 q" j2 _$ A0 b* t& ^' M. L/ p; A
  1898. RTS
    $ X6 z& q6 y6 N9 u) t; M

  1899. ! Q) m; z  e3 ^+ p
  1900. PAGE2:
    9 j- o" x1 s6 i; H
  1901. LDA $07AA
    & M2 V/ z. R! i+ {1 ]- a
  1902. CMP #$02  y6 v! N0 ?& O  n. `
  1903. BNE PAGE32 g: e0 F$ q9 B
  1904. / A* E2 m( _. k/ M% g
  1905. PAGE_02:
    ( w5 H; |; Q# V" @4 P
  1906. JSR BULADD_PPU
    / V" v% @3 s1 j& E" P
  1907. JSR SKINGE_PPU( s6 q8 V) y! r
  1908. JSR BULMIX_PPU1 \) F1 V1 Y; a0 r* @
  1909. JSR ENELOC_PPU  G& R  t. t8 L' G  ]/ _/ {7 g+ h
  1910. JSR FOCFUL_PPU
    # e: e4 @+ q0 s# e. I- E0 e. M
  1911. RTS
    6 \& S- H: j/ Y1 c: d- Z$ y3 S* e" ^

  1912. 8 r) m  m1 ^3 c% }
  1913. PAGE3: # s0 b" d7 C+ s# r: l
  1914. LDA $07AA8 n' ~) s; I' i/ e3 r
  1915. CMP #$033 C! `( _" u2 r4 B& v# R
  1916. BNE PAGE4
    $ ^0 d2 L  a( ?, P7 [( Y: S0 C

  1917. 6 u, q% K% g- E) G0 ]
  1918. PAGE_03:8 g9 F; `! z& i4 w
  1919. JSR BULCON_PPU4 ?/ i4 \( X; s& S3 S' W9 I
  1920. JSR SPEBUL_PPU
    3 D: Y. ]3 k/ H# {
  1921. JSR CLEALL_PPU
    2 E3 k' l. X  t7 r
  1922. JSR HARDMODE_PPU/ V6 }8 h- s. R
  1923. JSR B_TO_JMPSTG_PPU6 D9 X: I5 K% G9 Z/ n. W! }2 o
  1924. JSR A_TO_PLAMOD_PPU
    * ]2 c( g3 L" b& D9 g/ Y  O4 K  R
  1925. RTS" ~6 z3 e$ a- z) r2 a
  1926. , M1 f. N7 Q2 \4 a$ J! R
  1927. PAGE4:
    * y1 ]3 Y: u, @9 V0 D# ]
  1928. LDA $07AA
    ) |$ C5 q$ ^3 m+ S3 L
  1929. CMP #$04! S3 W9 l( R2 t: T2 L
  1930. BNE PAGERTS
    ; {! s2 H: [0 @" z# z

  1931. 7 a, W* ]" p/ h
  1932. PAGE_04:
    , n+ [( W4 y3 P9 n+ p
  1933. JSR MOVSPE_PPU
    2 [* Z* y6 z) q
  1934. JSR UNLJMP_PPU3 i& r' `# H: O9 l
  1935. JSR DESTRO_PPU! H: m; z8 l2 |" _' J. b
  1936. JSR EQUBUL_PPU5 r# j3 G( w  v  m
  1937. JSR MOVESPEED_PPU( U) [, A0 `( o: e5 D/ ^* j
  1938. PAGERTS:" `# d0 t$ r* Y: X3 n/ g$ F
  1939. RTS5 O" S  p' C; S* Z6 S' F) W

  1940. ( P6 d2 F1 m$ j* e$ z! S- U2 @

  1941. ) v& }8 e; N9 [
  1942. PLAYER_01_STRING:
    2 d& m- A& r6 ~0 j2 F6 Y, u
  1943. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$82,$80) g$ C' A/ P) a) ~8 P5 p! V1 B; e
  1944. $ L/ l* P% _2 R' M$ G

  1945. ; G& z6 Z- X7 b+ h" A* t0 F
  1946. PLAYER_01_WRITE:4 a/ H$ y0 L) L* t( B5 F
  1947. LDX #$007 D( m9 B( T+ D, p/ `+ ?/ Y
  1948. PLAYER_01:
    5 g: `6 i5 ^& T0 {
  1949. JSR PPUADDR_PROCESS' L0 K0 |; U) k' O$ Q- a4 ?8 `
  1950. LDA PLAYER_01_STRING,X
    ( v. r/ _% ^7 b% H. q5 b
  1951. STA $2007
    1 B1 {- B0 s# O- A7 |+ O; @
  1952. LDA #$00
    7 p: P. K2 j) B! d2 a
  1953. STA $2000
    & L3 L4 ~2 O  O6 `5 s. G: G
  1954. INC $BA
    6 J2 _( e3 I9 W+ _* _6 s5 y8 }% F$ p6 Z3 q
  1955. INX
    + U$ o4 W$ X% z  @
  1956. CPX #$0A
    ' F- {0 E' ?  p' T% c% y
  1957. BCC PLAYER_01
    : C6 \+ A# {; P, W
  1958. RTS
    / d, |. J( W" _! K2 E
  1959. 2 i) C3 o) h; C: r9 ^
  1960. PLAYER_01_PPU:
    7 B3 {  D7 _+ T3 c6 u+ A% N
  1961. LDX #$00
    & o- T  U4 i& X. C4 ~5 L
  1962. LDA #$64; V# G/ _2 d0 T3 h9 ]$ N0 R6 W
  1963. STA $BA3 Z/ v/ G/ n% P; c+ H, i: ^2 P  e
  1964. LDA #$20
    4 f5 }% I1 R+ I( y& n$ w% ~5 G4 ?
  1965. STA $BB9 `3 i  I; X+ K; x
  1966. JSR PLAYER_01_WRITE
    $ i+ r0 M% W) t! Y# s0 w
  1967. RTS+ V/ f+ w7 _% g( h* u

  1968. $ u  C; T2 @5 |% G& X  l2 S& B
  1969. PLAYER_02_STRING:
    : W2 q: k8 j7 E" T8 B) C1 c2 Q
  1970. .BYTE $9A,$96,$8B,$A3,$8F,$9C,$80,$81,$83,$806 S* ~1 X. w) e

  1971. . e( l  _$ p3 \: X" x! b3 F
  1972. & w4 I- _! ?3 v
  1973. PLAYER_02_WRITE:
    2 v  y$ Y; N0 s9 x7 `) z
  1974. LDX #$00
    * L' M0 x/ E6 f% `. a7 q1 m: T
  1975. PLAYER_02:" s( k+ p/ C+ B2 ?" }0 h5 v
  1976. JSR PPUADDR_PROCESS/ \' @& M* O2 D1 ^# ]3 ]/ j. ]
  1977. LDA PLAYER_02_STRING,X
    1 o; P6 r4 R  P$ S4 ^1 \
  1978. STA $2007) Q% P& ]. t' n0 F! A0 z
  1979. LDA #$003 I* R: U# }0 e
  1980. STA $2000# M2 l  _" @$ A+ T1 w
  1981. INC $BA# g0 C: j3 i& |9 Q: H
  1982. INX
    % y0 M" g* J4 }( Q, u6 }
  1983. CPX #$0A
    9 K# J  L( K$ S3 M9 F" N5 i
  1984. BCC PLAYER_02
    8 ~, C7 z. Z) f9 G2 u0 Z
  1985. RTS
    ! x9 e; E; `& d4 Y
  1986. ; S6 O3 D& R5 }6 [
  1987. PLAYER_02_PPU:
    " B2 Q& x9 \' ]/ }% k- Z5 C  |
  1988. LDX #$00
    ) g* i, o, ^! J1 M: G7 z/ `
  1989. LDA #$73
    9 s; D8 q+ \4 n, k) z7 i
  1990. STA $BA1 p6 [) G# [1 P* N
  1991. LDA #$20, t5 C% w  V) i0 B
  1992. STA $BB
    4 k" D5 v2 q0 r/ v( q
  1993. JSR PLAYER_02_WRITE
    - P, M1 k; {6 i- k0 ~' i2 t
  1994. RTS
    3 Q# }" F& m3 X! \# J' J$ k' }" a
  1995. ( P& w" F/ ~. C
  1996. PPUADDR_PROCESS:9 j+ M: y" e, {* h. [% A5 _9 @( }
  1997. LDA $BB- v  x9 @, |! _* u: d
  1998. STA $2006! C2 t, n  Y3 ^' b' K, g
  1999. LDA $BA
    4 G! q% V" l8 T' W3 v1 F
  2000. STA $2006
    9 u( i3 S. e4 t9 H
  2001. RTS
    ! |) w; L. Z# n6 R& t; W! Z

  2002. ; E- Y9 W0 I. |

  2003. 5 f: |' M/ D- M" `( e( w0 G
  2004. / H7 S* [9 i: N/ v/ l! `0 I6 d
  2005. ONE_STRING:
    9 i; O0 T3 n7 m" V% d5 `
  2006. .BYTE $99,$98,$8F7 l( j; j: i/ ?; s$ Y: J

  2007. % I3 l: p: f$ N& U' C
  2008. TWO_STRING:- L5 s. B, O0 t% j1 _1 s, k5 H" d4 g
  2009. .BYTE $9E,$A1,$99
    5 r$ @- Z% M+ H8 [
  2010. 3 D6 I& f  f) O5 }2 S+ K
  2011. ONE_TWO_PPU:
    & Q% H; `7 H5 T' U  e
  2012. BNE ONEWR
    $ e% y7 a; P5 V' O" d2 t
  2013. TWOWR:
    * R. l  l) h6 @' u
  2014. JSR PPUADDR_PROCESS
    & u2 p" Q/ S7 l/ ]# W' G$ v6 u6 x
  2015. LDA TWO_STRING,X8 p0 K2 D" o$ y
  2016. STA $2007
    # J) l7 o2 z$ Q/ l
  2017. INC $BA- l3 G* T( o# Y* q
  2018. INX8 w6 @1 w/ S) E2 G7 o6 s5 O7 a
  2019. CPX #$03# k% i6 q6 r: i$ ~' A
  2020. BCC TWOWR: D/ P; K" p9 `- i# u; L
  2021. RTS
    ' ^1 m4 o1 l/ Y$ g+ s; L, k0 s
  2022. ONEWR:5 |4 N! a5 ^5 w# \, B$ H8 d- N
  2023. JSR PPUADDR_PROCESS6 I% E. |; a9 S7 f) f& o6 ~" `# B
  2024. LDA ONE_STRING,X
    . t" B6 w; V& @0 c5 I
  2025. STA $2007
    3 Z5 B. j4 f/ b% Z5 r
  2026. INC $BA
    - T% W, y% J. d$ a4 c, S- ?% X7 m
  2027. INX
    * v" I! y0 P. N5 I
  2028. CPX #$03
    # \( |( @7 x3 w4 P. z! |9 H! q
  2029. BCC ONEWR
    & n  }6 f7 }# ]9 S5 e; U
  2030. RTS% `: l' y5 i) N
  2031. ( G3 I5 F4 M8 J' G* [7 s
  2032. MOVESPEED_STRING:7 L, k# M$ |7 ~+ z  x
  2033. .BYTE $97,$99,$A0,$8F,$80,$9D,$9A,$8F,$8F,$8F,$80
    9 t2 t% q& x8 T% ]

  2034. ' u! ^% E  X0 M9 B9 Q( j

  2035. ' N! E5 \1 X$ J! z0 N8 E
  2036. MOVESPEED_WRITE:: e; {- N  L1 r
  2037. LDX #$007 A4 H/ K- m( N. \0 T+ `  d8 P7 |8 p9 k
  2038. MOVESPEED:3 i. D; U0 S  {2 l0 P
  2039. JSR PPUADDR_PROCESS
      a  p0 a. {) u& x1 Q5 J( m. w, ~  {
  2040. LDA MOVESPEED_STRING,X+ E. D% \; j% r  D  H
  2041. STA $2007
    7 z7 C9 Y' ?4 w! l% M1 G( m
  2042. LDA #$00
    * c6 y% V4 R  {7 o6 x+ R) \5 V# {+ Y
  2043. STA $2000; z4 x$ e9 e( I( A1 ~: ~
  2044. INC $BA
    5 e2 d" S( y: _( k+ K- V2 Q
  2045. INX/ ~  N" p3 H) M
  2046. CPX #$0B
    " y6 e# N6 T: c- u3 \; v2 Q  L
  2047. BCC MOVESPEED
    ) }, ?1 j4 h& I6 h( J
  2048. RTS* q) d6 i2 R0 Z
  2049. ; E, @! a7 ~; k. Y; ?
  2050. MOVESPEED_PPU:+ @; f  C% h, {6 K$ }( h
  2051. LDX #$00
    9 E) W# y: c+ n( O
  2052. LDA #$AA
    / g) I3 I9 t0 t) v
  2053. STA $BA
    7 |1 a5 R+ B) ~$ }* ~, b' p
  2054. LDA #$225 h  A" Q5 w  Y* Z* f2 R
  2055. STA $BB8 @  c; x; D; x: ]3 Z5 r( F6 |% O
  2056. JSR MOVESPEED_WRITE9 s+ u/ z8 r; G/ Q4 V& V6 }+ a
  2057. LDA $7003
    ) `! _1 k1 \3 o1 A/ U! E
  2058. CLC
    9 S4 s+ E$ E+ E, c3 m# _$ b. s) r
  2059. ADC #$820 z1 A8 Q2 k1 y3 Y
  2060. STA $2007
      O' Y- A# }* ?
  2061. RTS/ R7 Z+ r. [  v9 ^1 ~7 @! S
复制代码

本帖子中包含更多资源

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

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

签到天数: 2731 天

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

签到天数: 1886 天

[LV.Master]伴坛终老

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

签到天数: 135 天

[LV.7]常住居民III

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

签到天数: 2366 天

[LV.Master]伴坛终老

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

签到天数: 1849 天

[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, 2024-6-2 00:16 , Processed in 1.125000 second(s), 35 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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