最終更新: keigox68000 2015年03月05日(木) 18:35:35履歴
■元記事
2011-06-11
2011-06-11
00001 C2A3 org $c2a3 ;STARTボタンルーチン 00002 C2A3 163CF9 lbra mod_start 00003 C2A6 12 nop 00004 C2A7 12 nop 00005 C2A8 12 nop 00006 C2A9 00007 CE35 org $ce35 ;パーツ数減算時のデータ保存 00008 CE35 16318C lbra data_store 00009 CE38 00010 CA20 org $ca20 ;1Pstart時のデータ復帰 00011 CA20 163594 lbra data_restore 00012 CA23 12 nop 00013 CA24 0F2E clr $2e 00014 CA26 00015 FF9F org $ff9f ;STARTボタンルーチン 00016 FF9F mod_start 00017 FF9F 8404 anda #$04 ;1Pstart押しているか? 00018 FFA1 1027C264 lbeq $c209 ;押してなければ本来のループ先へ 00019 FFA5 00020 FFA5 B64803 lda $4803 ;入力チェック 00021 FFA8 8401 anda #$01 ;ボタン押しているか? 00022 FFAA 2708 beq skip2 ;押していなければskip2 00023 FFAC 4F clra ;押していれば最初から 00024 FFAD 5F clrb 00025 FFAE FD1F02 std pow_save ;パーツ数に0を書き込み 00026 FFB1 FD1F00 std men_save 00027 FFB4 skip2 00028 FFB4 16C2F2 lbra $c2a9 ;本来の処理に戻る 00029 FFB7 00030 FFB7 data_restore 00031 FFB7 FC1F02 ldd pow_save ;データ復帰、パーツ数読み出し 00032 FFBA DD2C std $2c ;パーツ数書き込み 00033 FFBC FC1F00 ldd men_save ;面数読み出し 00034 FFBF DD29 std $29 ;面数書き込み 00035 FFC1 16CA60 lbra $ca24 ;本来の処理に戻る 00036 FFC4 00037 FFC4 data_store 00038 FFC4 9619 lda $19 ;デモ中フラグ読み出し 00039 FFC6 2621 bne skip3 ;0以外=デモ中ならデータ保存しない 00040 FFC8 9628 lda $28 ;死んだ後かどうかフラグ読み出し 00041 FFCA 271D beq skip3 ;0=一回死んだ後ならデータ保存しない 00042 FFCC 9629 lda $29 ;現在の面数取り出し 00043 FFCE 4A deca ;面数がincされるのであらかじめdec 00044 FFCF B71F00 sta men_save ;面数保存 00045 FFD2 962A lda $2a ;面表示読み出し 00046 FFD4 4A deca ;面表示減算 00047 FFD5 1F89 tfr a,b ;bにaをコピー 00048 FFD7 840F anda #$0f ;aの下位4ビットを見る 00049 FFD9 810F cmpa #$0f ;10進数変換 00050 FFDB 1E89 exg a,b 00051 FFDD 2602 bne skip 00052 FFDF 8006 suba #$06 00053 FFE1 skip 00054 FFE1 B71F01 sta disp_save ;面数表示保存 00055 FFE4 DC2C ldd $2c ;パーツ数取り出し 00056 FFE6 FD1F02 std pow_save ;パーツ数保存 00057 FFE9 skip3 00058 FFE9 CC0100 ldd #$0100 ;本来のルーチン 00059 FFEC 16CE49 lbra $ce38 ;本来の処理に戻る 00060 FFEF 00061 1F00 org $1f00 ;データ保存用バッファ 00062 1F00 men_save 00063 1F00 rmb 1 00064 1F01 disp_save 00065 1F01 rmb 1 00066 1F02 pow_save 00067 1F02 rmb 1 00068 1F03 jump_save 00069 1F03 rmb 1 00070 1F04 00071 1F04 end SYMBOL TABLE FF9F 0 MOD_STAR FFB4 0 SKIP2 FFB7 0 DATA_RES FFC4 0 DATA_STO FFE1 0 SKIP FFE9 0 SKIP3 1F00 0 MEN_SAVE 1F01 0 DISP_SAV 1F02 0 POW_SAVE 1F03 0 JUMP_SAV Total symbol=10 Total errors=0 ==||
コメントをかく