サブマリンのプログラム解説

サブマリンのサブルーチン
B000- 「4」「6」キーによって母船を動かす
B03D- 母船、潜水艦などの表示サブルーチン(HLにX、Y座標、DEに表示データ先頭)
B053- X、Y座標をV−RAM値に変換(HLにX、Y座標)=>(HLにV−RAM値)
B070- 「Z」「X」キーに応じて爆弾を投下
B0BC- 爆弾を1つ下に動かす
B100- 波1を表示
B10C- 波2を表示
B110- 海底を表示
B117- 画面左上に”SUB−MARINE”と表示
B16A- ”SCORE”と表示
B1A0- HLの2桁16進数を5桁10進のキャラクタにしてストア
B1B8- 上のサブルーチンを呼んだ後、DEに表示するアドレスを入れて呼ぶ
B260- 潜水艦を動かす
B37A- 00−FFまでの乱数を発生
B389- 潜水艦を発生させる
B496- 潜水艦から発生した魚雷を動かす
B522- 潜水艦より魚雷を発生
B590- 潜水艦に爆弾が当たっていないかサーチ、当たっていたら爆発
B66E- 単音発生ルーチン
B6A4- 画面上にスコア表示
B6B1- 母船に魚雷が当たっていないかサーチ、当たっていたら爆発
B708- ”GAME OVER”と表示
B760- ハイスコア・ベスト5表示
B7DA- デモのとき”4<− −>6”と表示
B823- デモのとき”10−310” ”10−650” ”10−1270”と表示
B870- 画面のカラー操作
B8EC- 各ワークエリアの初期化
B92D- ハイスコア・ベスト5のクリア
B939- デモルーチン
B97E- タイトル・ミュージック
B9E0- デモのとき”Zv vX”と表示
BA31- 時間待ち(約3秒)
BA41- 一定時間経つとミサイル数を増やす
BA63- 残りのシップ数表示
サブマリンのデータエリア
B059-B060 母船、潜水艦を消すデータ
B061-B068 母船表示データ
B12E-B169 ”SUB−MARINE”表示データ
B181-B19E ”SCORE”表示データ
B20F-B25E 0から9の表示データ
B36A-B371 潜水艦表示データ1
B372-B379 潜水艦表示データ2
B693-B69A 潜水艦爆発表示データ
B6FE-B705 母船爆発表示データ
B728-B75D ”GAME OVER”表示データ
B807-B822 ”4<− −>6”表示データ
B845-B86E ”10−310” ”10−650” ”10−1270”表示データ
B8C5-B8EB アトリビュート・エリア転送データ
B9B3-B9DF タイトル・ミュージック・データ 
BA0D-BA30 ”Zv vX”表示データ
BA5F-BA60 ミサイルが増すまでの残り時間(定数)
サブマリンのワークエリア
B069- 2byte 母船を消す座標
B06B- 2byte 母船を描く座標
B0F1- 3byte * 5 爆弾のフラグ(1=発生中、0=でない)と座標
B1B2- 5byte 5桁10進にしたキャラクタ・ストア
B1B7 0のキャラクタコード30Hが入る
B20D- 2byte 1次的使用
B2EA- 2byte 1次的使用
B2EC- 7byte * 18 潜水艦フラグ、定数、ステップ、方向、未使用、座標
B388 乱数
B493 上2ラインの潜水艦の次の出現までのステップ
B494 中2ラインの潜水艦の次の出現までのステップ
B495 下2ラインの潜水艦の次の出現までのステップ
B4E9- 3byte * 18 ミサイルのフラグ、座標
B51F- 2byte 1次的使用
B521 今発生しているミサイルの数
B58E ミサイル発生に関するもの
B58F 1画面に発生する最大のミサイル数
BA61- 2byte ミサイルが増すまでの残り時間
サブマリンのROMアクセス
03F3H HLの座標をV−RAM値に変換してHLに入れる
309FH 0F0A8Hから2byteの値をHLの番地より2桁16進を5桁10進キャラに変換
093AH WIDTH
08F7H CONSOLE
045AH 画面クリア

「サブマリン」へ戻る

Copyright(c) 2001 nonchansoft