Manuke Station BBS
RSS
投稿者
題名
確認
内容
URL
《
〈
12
13
14
15
16
17
18
19
20
21
〉
》
全500件のうち、新着の記事から10件ずつ表示します。
4th ROMからの転送
投稿者:
Manuke
投稿日:
2010-12-16 16:48:05 UTC
To PC88さん
> わざわざ詳しい解説までありがとうございます。
> 本当に無知の自分を痛感しています。そこで、恥を忍んで教えていただきたいのですが、
> 4thROMの内容を別のアドレスに移動させたい場合はどうしたらよろしいのでしょうか?
処理内容にもよるかと思いますが、基本はメモリ間のコピーでしょうね。
BASICからもアクセス可能な領域へコピーしてしまえば、後の処理が楽になります。
例えば、BASIC側であらかじめCLEAR文でメモリを確保し、0C000H~0DFFFHがワークエリ
アとして利用可能だとします。(TransRomはここを使用)
この場合、先ほどのコードに挿入するなら、
PUSH BC ; Bレジスタ(71H)をスタックへ待避
LD HL, 6000H ; 4th ROM先頭メモリアドレス
LD DE, 0C000H ; ワークエリアメモリアドレス
LD BC, 2000H ; 転送バイト数
LDIR ; 一括コピー
POP BC ; Bレジスタをスタックから復帰
と実行すれば、6000H~7FFFHの内容が0C000H~0DFFFHへコピーされます。
この領域ならば、BASICのPEEK関数でも読み出し可能です。
(無題)
投稿者:
PC88
投稿日:
2010-12-16 13:32:14 UTC
わざわざ詳しい解説までありがとうございます。
本当に無知の自分を痛感しています。そこで、恥を忍んで教えていただきたいのですが、4thROMの内容を別のアドレスに移動させたい場合はどうしたらよろしいのでしょうか?
4th ROMアクセス
投稿者:
Manuke
投稿日:
2010-12-16 10:51:53 UTC
4th ROMアクセス
To PC88さん
> 今、頑張って、自力でROMの吸い出しに挑戦をしています。
> ところで、4th ROMの吸い出しを行うのにバンク切り替えが必要であるとのことなので
> すが、バンク切り替えはどのようにすればよいのでしょうか?
4th ROM 1のアクセスは、I/Oポート71Hへ0FEHを出力するだけです。
ポートへ0FEHを出力した瞬間に、メモリアドレス6000H~7FFFHの範囲が4th ROMのものへ
と切り替わります。
(SR以降の機種では、標準4th ROMが4つ搭載されていますので更にバンク切り替えの指
定も必要になりますが、無印/mkIIでは関係なし)
ただ、ROMのバンク切り替えはBASICからは行えませんので、基本的に機械語でコードを
記述する必要があります。
また、切り替え中は割り込みが発生しないよう割り込み禁止をかけておくこと、アクセ
スが終了した後はバンク切り替えを元に戻すことにご注意ください。
ざっと書いてしまうと、こんな感じです。
(Z80ザイログ表記。ちゃんと実行を確認してません)
DI ; 割り込み禁止
IN A, (71H) ; 現在の71Hの値を取得
LD B, A ; Bレジスタへ保管
LD A, 0FEH ; 4th ROM 1切り替え値をセット
OUT (71H), A ; 4th ROM 1へバンク切り替え
; 4th ROMアクセス
LD A, B ; Bレジスタから以前の値を取得
OUT (71H), A ; メインROM切り替え
EI ; 割り込み許可
(無題)
投稿者:
PC88
投稿日:
2010-12-15 12:55:28 UTC
今、頑張って、自力でROMの吸い出しに挑戦をしています。
ところで、4th ROMの吸い出しを行うのにバンク切り替えが必要であるとのことなのですが、バンク切り替えはどのようにすればよいのでしょうか?
ネットでは「通常は6000Hから7FFFHまでのエリアは「メインROM」が選択されているので、裏のバンクにあるROM内のルーチンを呼び出すには、I/Oポート71H へデータを出力してバンクを切り換え、CPUから「見える」状態にする必要があります。」とあったのですがよくわからないので、教えていただけると助かります。
あぅぅ
投稿者:
Manuke
投稿日:
2010-12-10 14:20:51 UTC
To PC88さん
うむむ、駄目でしたか。お力になれず申し訳ないです。
やっぱり実機がないとこれ以上は難しいですね。
無印を入手する機会があったら、改めてチャレンジしてみます。
ご協力ありがとうございました。
(無題)
投稿者:
PC88
投稿日:
2010-12-10 12:02:59 UTC
新バージョン再度確認いたしました。
残念です!やはり同じでした。
せっかく2度にわたって対応していただいたのに・・・
本当に残念です・・・ でも、作者の対応の暖かさには改めて感謝です!!!
TransRom Ver. 1, 0, 2 Beta2
投稿者:
Manuke
投稿日:
2010-12-10 11:47:48 UTC
To PC88さん
> 新バージョンのTransRom確認を行いました。
> 残念ながら、前バージョンと同じ(ReadRomの送信、機動(Beep音にて)までは確認。
> しかし、Romの受信はいつまでたっても終わらない(始まらない?))でした。
何が影響を及ぼしているのかと思ってソースを眺めていたら、もう一箇所抑えなければ
ならないところがあったのを失念してました(^^;)
申し訳ないです。改めてBeta2をアップロードし直しました。
(Ver. 1, 0, 2 Beta2)
http://www.cug.net/~manuke/trr_1_0_2b2.zip
> よい報告ができず残念です。でも、わざわざ対応してくださる作者様には本当に感謝です
いえ、こちらこそお手を煩わせてごめんなさい。
ウチのFEでは動いてしまうだけに、やっぱり実機がないとデバッグが厄介ですね。
(無題)
投稿者:
PC88
投稿日:
2010-12-10 07:40:46 UTC
新バージョンのTransRom確認を行いました。
残念ながら、前バージョンと同じ(ReadRomの送信、機動(Beep音にて)までは確認。しかし、Romの受信はいつまでたっても終わらない(始まらない?))でした。
TransT88はちゃんと起動し、今までwav形式では読めなかったプログラムも見事に読めたんですが・・・
よい報告ができず残念です。でも、わざわざ対応してくださる作者様には本当に感謝です。
TransRom Ver. 1, 0, 2 Beta
投稿者:
Manuke
投稿日:
2010-12-09 12:02:41 UTC
To PC88さん
TransRomですが、ROMで機種判定を行い、mkII以前のマシンでは不要なポート出力を行わ
ないバージョンを試作してみました。(Ver. 1, 0, 2 Beta)
http://www.cug.net/~manuke/trr_1_0_2b.zip
お手数ではありますが、この修正版が無印88で正常に動作するか、確認を行っていただ
けないでしょうか。
問題なく動作するようでしたら、正式にバージョンを上げたいと思います。
Re: TransRom
投稿者:
Manuke
投稿日:
2010-12-08 15:46:15 UTC
To PC88さん
> こちらで配布なさっているTransRomを使いBIOSの吸い出し(RS232リバースケー
> ブルを使用)を行ったのですが、うまくいきませんでした。
> やはり、初代PC-88では無理なのですかね?
うーん、そうですね。
TransRomはROMのバンク切り替えに、SRから追加されたI/Oポートへ出力を行っています。
これがPC-8801無印では悪さをしてしまっているのかも……。
手元に88無印がないのでちょっと確認できず、申し訳ないです。
《
〈
12
13
14
15
16
17
18
19
20
21
〉
》
以上は、新着151番目から160番目までの記事です。
4th ROMからの転送
投稿者: Manuke 投稿日: