投稿者:Laver(管理人) 投稿日:2000/07/06(Thu) 20:32
管理人のLaverです。
ニデコの「スペースクルーザー」なんですけど、「C-DOS7」の「テクニ
カルノウハウ集」には入っていないので、吸い出しができないでいます。
ただプログラムそのものは吸い出しているので、実行させれば動くか
と思います。
ところが、このプログラムの開始番地、終了番地、入口番地がそれぞ
れ$0000、$5CFF、$3100となっており、このままLOADM"",,R
しても動きません。
オフセット値を指定すれば動くんでしょうか? どなたかご存知ありま
せんか?
投稿者:渡辺 投稿日:2000/07/07(Fri) 06:43
こんにちは、渡辺です。
御無沙汰しております。
リンクの内容変更しておきました。>Laverさん
> 管理人のLaverです。
> ニデコの「スペースクルーザー」なんですけど、「C-DOS7」の「テクニ
> カルノウハウ集」には入っていないので、吸い出しができないでいます。
> ただプログラムそのものは吸い出しているので、実行させれば動くか
> と思います。
> ところが、このプログラムの開始番地、終了番地、入口番地がそれぞ
> れ$0000、$5CFF、$3100となっており、このままLOADM"",,R
> しても動きません。
> オフセット値を指定すれば動くんでしょうか? どなたかご存知ありま
> せんか?
上記内容からすると、プログラムはマシン語ですよね。
実行開始アドレスが、$0000番地と言うのはありえません。
テープでロードした段階で暴走してしまうと思います。
オフセットまたは実行アドレスが、ディスク又はテープヘッダに記載されて
いるものと異なる可能性があります。
対処方法としては、ある程度のオフセットを加えてメモリー上にロードして
モニターコマンドでマシン語を眺めて下さい。開始番地らしきアドレスを
見つけたらすかさず EXEC &H****で実行してみて下さい。
ちなみに、実行開始番地の先頭にはコンデションコード(CCレジスタ)の割
り込み禁止命令($1A,$50 ?)が使用されているパターンが多いので、参考
にしてみてはいかがでしょうか?
後は、貸して頂けるのであれば、当方で内容を確認してみますけど。
投稿者:Laver(管理人) 投稿日:2000/07/08(Sat) 22:03
> こんにちは、渡辺です。
> 御無沙汰しております。
こんにちは。
> リンクの内容変更しておきました。>Laverさん
ありがとうございました(^^
>>オフセット値を指定すれば動くんでしょうか? どなたかご存知ありま
>>せんか?
> 上記内容からすると、プログラムはマシン語ですよね。
> 実行開始アドレスが、$0000番地と言うのはありえません。
> テープでロードした段階で暴走してしまうと思います。
> オフセットまたは実行アドレスが、ディスク又はテープヘッダに記載されて
> いるものと異なる可能性があります。
> 対処方法としては、ある程度のオフセットを加えてメモリー上にロードして
> モニターコマンドでマシン語を眺めて下さい。開始番地らしきアドレスを
> 見つけたらすかさず EXEC &H****で実行してみて下さい。
$1500のオフセットを加えてやってみると、タイトル画面は出たのですが、キ
ーを押すと停止してしまいます。
いろいろと試してみましたが、これ以上進みません。
> 後は、貸して頂けるのであれば、当方で内容を確認してみますけど。
私の力では限界のようですので、お願いしてよろしいですか?
投稿者:渡辺 投稿日:2000/07/09(Sun) 00:45
こんにちは、渡辺です。
> $1500のオフセットを加えてやってみると、タイトル画面は出たのですが、キ
> ーを押すと停止してしまいます。
> いろいろと試してみましたが、これ以上進みません。
>
>>後は、貸して頂けるのであれば、当方で内容を確認してみますけど。
>
> 私の力では限界のようですので、お願いしてよろしいですか?
了解しました。
絶対に出来るとは約束出来ませんが、それなりに確認してみたい
と思います。詳細は、別途メールにてと言う事で。
投稿者:PI. 投稿日:2000/07/10(Mon) 13:09
プログラム範囲が$0000~$5CFF,EXECが$3100とのことで、そのアドレス
で動くと思いますが、F-BASICから素直に起動はできません。
($07xxくらいまではワークエリアのため)
ここはオフセットを掛けてロードして、その後で移動させて起動する
ことをお勧めします。アセンブラで追加コードを書く必要があります。
例としては$1000オフセットを掛けると、$1000~$6CFFにロードされ
ますので、$6D00から次のようなプログラムを書いてやります。
ORCC #$50
LDX #$1000
LDU #$0000
LOOP:
LDD ,X++
STD ,U++
CMPX #$6D00
BNE LOOP
JMP $3100
これで動くようでしたら、このプログラムも含めたファイルを
$1000~$6Dxxまでセーブしてやって、EXECを$6D00にしてやれば
LOADM "file",,r
でその後は起動できます。
投稿者:Laver(管理人) 投稿日:2000/07/11(Tue) 18:28
こんにちは。Laverです。
> ここはオフセットを掛けてロードして、その後で移動させて起動する
> ことをお勧めします。アセンブラで追加コードを書く必要があります。
御教授の通り試しましたら、無事起動しました!
動作のほうも問題ないようです。
早速スクリーンショットを追加しておきます。
PI.さん、本当にありがとうございました。