銀河英雄伝説 (FC) 攻略/解析

Published on: 2022-07-09

PRG 7 マップ

概要

アドレス内容
$C000code(エクスポート) 乗算 (u8 * u8 -> u16)
$C028code(エクスポート) 除算 (u16 / u16 -> (u16, u8))
$C0A3code(エクスポート) 3 次元空間の 2 点間の距離を得る
$C0C0code$E0-$E5$B0-$B5 へコピーする
$C0CCcode3 次元空間の 2 点について (dx^2, dy^2, dz^2) を得る
$C0F1code(エクスポート) A = abs(A)
$C0FBcode3 つの 16bit 値 $A0, $A2, $A4 の総和を 16bit 値 $A6 に返す
$C116code平方根 (ニュートン法)
$C128code16bit 値 $A6 を 2 で割った結果を 16bit 値 $A8 に返す
$C144codeニュートン法の更新式
$C178code16bit 値 $AA を 16bit 値 $A8 にコピーする
$C181code(エクスポート)
$C199code(エクスポート)
$C1DDcode(エクスポート)
$C220code
$C23Ecode(エクスポート)
$C288codeスクリプト処理下請け
$C2C6codeスクリプト処理下請け
$C30Ecodeスクリプト処理下請け
$C325codeスクリプト処理下請け
$C337codeスクリプト処理下請け
$C340codeスクリプト処理下請け
$C367codeスクリプト処理下請け
$C380codeスクリプト処理下請け
$C396codeスクリプト処理下請け
$C3ACcodeスクリプト処理下請け
$C3CCcodeスクリプト処理下請け
$C3ECcodeスクリプト処理下請け
$C3F7codeスクリプト処理下請け
$C402code(未使用)
$C40Dcode(未使用)
$C418codeスクリプト処理下請け
$C41Dcodeスクリプト処理下請け
$C422codeスクリプト処理下請け
$C429codeスクリプト処理下請け
$C42Dcodeスクリプト処理下請け
$C431codeスクリプト処理下請け
$C442codeスクリプト処理下請け
$C446codeスクリプト処理下請け
$C44Bcodeスクリプト処理下請け
$C450codeスクリプト処理下請け
$C465codeスクリプト処理下請け
$C46Fcodeスクリプト処理下請け
$C472codeスクリプト処理下請け
$C482codeu8 値の 10 進フォーマット
$C48Bcodeu16 値の 10 進フォーマット
$C48Dcode10 進フォーマット下請け
$C4C7u16[5]10 の累乗テーブル
$C4D1codeスクリプト処理下請け
$C4F7codeポインタ $00 に 2 を加える
$C4FFcodeポインタ $00 に 1 を加える
$C504codeポインタ $00 への加算処理下請け
$C50Dcode
$C51Dcode
$C55Ecodeスクリプト処理下請け
$C63Fcode
$C656code
$C685code
$C6C1code
$C6FBu8[3]
$C6FEcode
$C70Dcodeスクリプト処理下請け
$C739codeスクリプト処理下請け
$C781codeスクリプト処理下請け
$C798codeスクリプト処理下請け
$C7AAcodeスクリプト処理下請け
$C7B3codeスクリプト処理下請け
$C7DAcodeスクリプト処理下請け
$C7F3codeスクリプト処理下請け
$C809codeスクリプト処理下請け
$C81Fcodeスクリプト処理下請け
$C83Fcodeスクリプト処理下請け
$C85Fcodeスクリプト処理下請け
$C86Acodeスクリプト処理下請け
$C875codeスクリプト処理下請け
$C87Acodeスクリプト処理下請け
$C87Fcodeスクリプト処理下請け
$C886codeスクリプト処理下請け
$C88Acodeスクリプト処理下請け
$C88Ecodeスクリプト処理下請け
$C89Fcodeスクリプト処理下請け
$C8A3codeスクリプト処理下請け
$C8A8codeスクリプト処理下請け
$C8ADcodeスクリプト処理下請け
$C8C2codeスクリプト処理下請け
$C8CCcodeスクリプト処理下請け
$C8CFcodeスクリプト処理下請け
$C8DFcodeu8 値の 10 進フォーマット
$C8E8codeu16 値の 10 進フォーマット
$C8EAcode10 進フォーマット下請け
$C924u16[5]10 の累乗テーブル
$C92Ecodeスクリプト処理下請け
$C954codeポインタ $00 に 2 を加える
$C95Ccodeポインタ $00 に 1 を加える
$C961codeポインタ $00 への加算処理下請け
$C96Acode
$C97Dcode
$C997code
$CA9Ecode
$CAB4code
$CABBcode
$CAD6code
$CB0Ecode
$CB3Dcode
$CB79code
$CBADu8[3]
$CBB0code
$CBF8code(エクスポート) 指定した惑星の惑星構造体を返す
$CC0Dcode(エクスポート) 味方艦隊構造体A配列を初期化する
$CC25code(エクスポート) 味方艦隊構造体B配列を初期化する
$CC3Fcode(エクスポート) 敵艦隊構造体A配列を初期化する
$CC57code(エクスポート) 敵艦隊構造体B配列を初期化する
$CC71code(エクスポート) 惑星構造体配列を初期化する
$CC8Bcode(エクスポート) 乱数生成器の内部状態を更新し、8bit の乱数を返す
$CCB1code(エクスポート) 乱数生成器の内部状態を更新し、4bit の乱数を返す
$CCBFcode(未使用)
$CCD1code(エクスポート) 矩形に敷き詰められたスプライト群をスプライトバッファに追加する
$CD3Fcode(エクスポート) ウィンドウ上でのコマンド選択処理
$CDBAu8[3]カーソルスプライトデータ
$CDBD-$E7FF(未使用)
$E800code(エクスポート) RESET ハンドラ
$E88BcodeMMC1 制御レジスタに値を書く
$E89Fcodeパターンテーブル $0000-$0FFF の CHR バンク切り替え
$E8B3codeパターンテーブル $1000-$1FFF の CHR バンク切り替え
$E8C7codePRG バンク切り替え
$E8E9codeNMI ハンドラ
$E956code
$E97Ecode
$E99Fcode
$E9C9code
$E9D5code
$E9EDcode
$EA15code
$EA23code
$EA3Dcode
$EA55code
$EA5Fcode
$EA6Acode
$EA7Bcode
$EA89code
$EA89code(エクスポート) ネームテーブルを V ミラーにする
$EAB2code(エクスポート) ネームテーブルを H ミラーにする
$EABCcode(エクスポート)
$EAC4code
$EACAcode
$EADAcode(エクスポート)
$EAE2code
$EAE8code
$EAF8code(エクスポート)
$EB00code
$EB06code
$EB1Dcode(エクスポート)
$EB25code
$EB2Bcode
$EB42code(エクスポート)
$EB68code
$EB71code
$EB77code
$EB88code
$EB8Fcode
$EB9Dcode
$EBBDcode(エクスポート)
$EBC2code
$EBD4code
$EBEEcode(エクスポート)
$EC02code(エクスポート)
$EC16code
$EC32code
$EC69code
$EC9Fcode
$ECADcode
$ECD2code
$ECF0code
$ED33code
$ED41code
$ED4Fcode
$ED5Dcode
$ED69code
$ED78code
$ED99code
$EDDCcode
$EDEAcode
$EE0Ecode
$EE3Acode(エクスポート)
$EE70code
$EEAEcode
$EEDBcode
$EF03u8[16]
$EF13u8[4]
$EF17code(エクスポート)
$EF24code
$EF2Ecode
$EF38code
$EF4Cu8[4]
$EF50code
$EF54code
$EF56code
$EF64code
$EF69code(エクスポート)
$EF6Ecode
$EF73code(エクスポート)
$EF78code
$EF7Dcode(エクスポート)
$EF81code
$EF85code
$EF87code
$EF8Bcode(エクスポート)
$EF8Fcode(未使用)
$EF93code(未使用)
$EF95code
$EF97code
$EFA2code(エクスポート)
$EFA7code(エクスポート)
$EFB5codeポインタ $33 に 1 を加える
$EFC3code(エクスポート) (インライン引数あり)
$EFFBcode(エクスポート) (インライン引数あり)
$F033code
$F073code
$F0AFcode
$F0D6code
$F0E0code現在の状態を記録し、PRG バンクを切り替える
$F0E7codePRG バンクを切り替え、その PRG-ID を記録する
$F0EFcodePRG 2 に切り替える
$F0F5codePRG バンクを $F0E7 で記録した PRG-ID に切り替える
$F0FDcode$F0E0 で記録した状態を復元する
$F110code$F0E0 下請け
$F126code$F0FD 下請け
$F13CcodeNMI を禁止する
$F146codeNMI を許可する
$F153codeIRQ ハンドラ (単に rti するだけ)
$F154code(エクスポート) 入力更新
$F181code1Pおよび2Pの生入力を読み取る (拡張ポート対応)
$F1AFcode(エクスポート)
$F1BCcode
$F1C1code
$F1C5code(エクスポート)
$F1C7code
$F1CCcode(エクスポート)
$F1D2code
$F1F1code(エクスポート)
$F1F4code(エクスポート)
$F1FAcode(エクスポート) インライン引数で与えられたルーチンテーブル内の指定ルーチンへジャンプする
$F217code
$F23Bcode(エクスポート) 別の PRG バンクのルーチンを呼ぶ (エクスポートテーブル $8000 を用いる)
$F25Fcode(エクスポート) 別の PRG バンクのルーチンを呼ぶ (エクスポートテーブル $8020 を用いる)
$F283code
$F28Acode
$F29Ecode(エクスポート)
$F2C8code
$F2E2code
$F2FBcode
$F30Ccode
$F345code
$F376code
$F380code
$F3ACcode
$F3CDcode
$F3E8code
$F3F3code
$F439code
$F4A4code
$F4DBcode
$F57Fcode
$F5A5code
$F5C8code
$F620code
$F634code
$F655code
$F7D9code
$F7E9code
$F801code
$F84Bcode
$F981code
$F99Cu8[38]
$F9C2u8[210]
$FA94code(エクスポート)
$FAF8code
$FB29code
$FB41code
$FB55code
$FB63code
$FB6Ecode
$FB9Fu8[9]
$FBA8u8[64]
$FBE8code(エクスポート) スクリプト処理
$FC1Dcodeスクリプト処理下請け
$FC77u8[124]
$FCF3codeポインタ $00 に 1 を加える
$FD03-$FEFF(未使用)
$FF00codeメインルーチン
$FF50-$FFF9(未使用)
$FFFAptr[3]割り込みベクタ