|
|
1.1 root 1: <!--
2: nono
3: Copyright (C) 2024 nono project
4: Licensed under nono-license.txt
5: -->
6: <?php require_once "common.php"; ?>
7: <html>
8: <head>
9: <?php
10: get_version();
11: print_head_common();
12: ?>
13: <title>nono: runx</title>
14: </head>
15: <body>
16: <h3>nono: runx</h3>
17: <div style="text-align: right"><?php print "nono {$nono_ver} ({$nono_date})";
18: ?></div>
19: <?php linkto("index", "[Back]"); ?>
20: <hr>
21:
22: runx は NetBSD/x68k を含む NetBSD/m68k で
23: Human68k の実行ファイルを直接実行するアプリケーションです。
24: 一般命令を CPU で直接実行し、DOS コール・IOCS コールなど
25: 一部の命令だけをトラップしてソフトウェアエミュレーションしています。
26:
27: <h4>ビルド方法</h4>
28: runx は nono のソースツリーに付属しています。
29: NetBSD/m68k 用のアプリケーションなので
30: NetBSD/m68k で以下のようにビルドします。
31: <blockquote><pre>
32: m68k% cd <path/to>/nono-x.x.x
33: m68k% cd util/runx
34: m68k% make
35: </pre></blockquote>
36: あるいは手元の PC に NetBSD の build.sh による m68k
37: のクロスビルド環境が整っていれば
38: それを用いて一瞬でクロスビルドすることも可能です。
39: <blockquote><pre>
40: amd64% cd <path/to>/nono-x.x.x
41: amd64% cd util/runx
42: amd64% make -j5 CXX="<TOOLSDIR>/bin/m68k--netbsdelf-g++ --sysroot=<DESTDIR>"
43: </blockquote>
44:
45: <h4>使い方</h4>
46: <blockquote>
47: <tt>runx [-t][-d] <i>executable</i> [<i>arguments</i>...]</tt>
48: </blockquote>
49:
50: <dl>
51: <dt><tt>-t</tt>
52: <dd>トレースオプションです。
53: DOS コール、IOCS コールおよびトラップされた命令を表示します。
54: <dt><tt>-d</tt>
55: <dd>デバッグレベルを上げます。複数回(現状2回まで)指定できます。
56: </dl>
57:
58:
59: <h4>サポート状況</h4>
60: 拡張子 .X (と .R) の形式の実行ファイルをサポートしています。
61: <p>
62: Human68k 実行ファイルのうち、
63: ハードウェアの I/O を直接叩いているようなものは動作しません。
64: 現状、標準入出力など簡単な DOS コール、IOCS コールのみサポートしています。
65:
66:
67: <h4>使用例</h4>
68:
69: nono で NetBSD/luna68k を起動して、
70: <blockquote><pre>
71: runx XEiJ/misc/instructiontest.x all
72: </pre></blockquote>
73: を実行すると nono の 68030 CPU の整数命令が正しく
74: 実装されているかを確認することが出来ます。
75: またこれを使えば、他のエミュレータであっても NetBSD/m68k が動作すれば
76: そのエミュレータの 68030 CPU
77: エミュレーションの完成度がチェック出来るかも知れません。
78:
79: <hr>
80: nono project
81: </body>
82: </html>
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.