Skip to content

Latest commit

 

History

History
41 lines (28 loc) · 2.01 KB

r.md

File metadata and controls

41 lines (28 loc) · 2.01 KB

R

reset68k

trap #10命令によるソフトウェアリセットを行います。

X680x0のネタとしてNJの2文字をR形式実行ファイルにするとソフトウェアリセットができるという話がありますが、 プロセス起動直後のd0レジスタの内容は不定なので厳密に言うと確実ではありません (pxNJなどであれば問題ありません)。 このプログラムではd0レジスタに'X68k'を入れてtrap #10を実行します。

COMMAND.Xで下記のコマンドを実行すると同一内容の実行ファイルを作成できます。

echo \L\L $NJX68k>reset68k.r

rewind

コマンドライン引数で指定したファイルをDOS _OPENで開き、ファイル末尾-1の位置に DOS _SEEK (mode=2, offset=-1)で移動し、戻り値(移動先位置またはエラーコード)を表示します。

ファイルサイズが0バイトのファイルは移動できないのでエラー$ffff_ffe7になります。

CD-ROMなどのドライバ(リモートドライブ)によっては、mode=2の場合のoffset の扱いが逆方向になっているため移動できずエラーになることがあります。

run68_dos_test

run68の-fオプションの動作確認用に作成した、 ほとんどのDOSコールを呼び出すだけの特に機能を持たないツールです。

途中でコンソールからの入力待ちがあるのでリターンキーを何度か押してください。

Warning

実行しても害はないと思いますが、確実ではない(保証できない)ので、 普段使っているシステムでは実行しないこと!

runwaitchk

メモリを読み込むループの実行時間を計測します。厳密な計測ではないので目安です。
実行コードがメインメモリ上にある場合とGVRAM上にある場合、読み込みアドレスがメインメモリの場合と GVRAMの場合、それぞれの組み合わせで合計4通りを計測します。