summaryrefslogtreecommitdiff
path: root/licenses
diff options
context:
space:
mode:
authorwiz <wiz>2016-10-10 12:12:41 +0000
committerwiz <wiz>2016-10-10 12:12:41 +0000
commitc57a502de261b74f105d8ed554be432dbfa9ba86 (patch)
tree78fe02fb2d1384d2d4dc30962b773a721ba98b8d /licenses
parent5697ed67e634716b0dfc1c9768a26988d6709cd6 (diff)
downloadpkgsrc-c57a502de261b74f105d8ed554be432dbfa9ba86.tar.gz
Reduce to actual license parts of the file.
From mef@
Diffstat (limited to 'licenses')
-rw-r--r--licenses/xm7-license215
1 files changed, 0 insertions, 215 deletions
diff --git a/licenses/xm7-license b/licenses/xm7-license
index 0ecfe81a62c..cce743f0d55 100644
--- a/licenses/xm7-license
+++ b/licenses/xm7-license
@@ -71,218 +71,3 @@ Here's the original:
です。
vm\cpu.c
-
-
-□ディレクトリ
-
- 以下のようなディレクトリ構成になっています。これは便宜的なものです。
-
- VM 仮想FM-7
- X680x0 I/O部(SHARP X680x0)
- PC-98 I/O部(NEC PC-98x1)
- Linux I/O部(Linux, FreeBSD等)
- WIN16 I/O部(Microsoft Windows 3.1)
- FMTOWNS I/O部(FUJITSU FM-TOWNS)
- IBMPC I/O部(IBM-PC Compatible)
- WIN32 I/O部(Microsoft Windows95/98/NT4/2000)
- TOOL 補助ツール
-
-
-□定義済みシンボル
-
- 以下のシンボルを全体で使っています。
-
- _DEBUG デバッグビルドします。WIN32版以外は定義しないでください。
- NDEBUG リリースビルドします。通常はこちらを定義します。
- CPU_ASM アセンブラ版CPUコアを使います。X680x0では定義しないでください。
-
- HUMAN68K X680x0を宣言します。(gccによる自動定義)
- __MSDOS__ MS-DOSを宣言します。(tcc,bccによる自動定義)
- PC98 PC-98を宣言します。
- _XWIN X Windowを宣言します。
- _WIN16 WIN16を宣言します。
- FMT FM-TOWNSを宣言します。
- IBM IBM-PCを宣言します。
- _WIN32 WIN32を宣言します。(clによる自動定義)
-
-
-□ソース解説
-
- VMディレクトリのソースを参考にされる方のために、取っかかりを説明します。
-
- 次の部分を見ると全体の構造はつかめます。device.hで定義されている関数の
- 実体や、mainetc_timer()、keyboard_make()などを呼び出すのが機種別実装の役割
- です。
-
- XM7.h
- device.h
- system.c
- debug.c内 debug_run()
- mainetc.c内 mainetc_timer()
-
- またhistory.cに開発履歴を書いています。参考までに。
-
-
-□ビルド
-
- メイクファイル類は複数ディレクトリに対応していません。このためビルドの際は
- ターゲットとなるプラットフォームのファイルと、VMディレクトリ下の全ファイル
- を同一ディレクトリに配置します。
-
- 全体としてメイクファイルはあまり凝っていません。どちらかというと間に合わせ
- 的なものですので、問題があれば適宜書き換えるなどして対処して下さい。
-
- またIntelプラットフォームではアセンブラとしてNASM(Netwide Assembler)を採用
- しています。無償で入手できますので、別途準備してください。バージョンは0.98
- を使っています。
-
- 以下、プラットフォームごとに説明します。
-
-
-□X680x0
-
- コンパイル時にワークエリアとして2MBを宣言しているので、4MB以上の空きメモリ
- を推奨します。X680x0の実装メモリが6MBあれば大丈夫でしょう。
-
- gcc1(まりこ版)、has、hlkが必要です。私は次のバージョンを使っています。
-
- gcc X68000 真里子バージョン Ver1.29
- X68k High-speed Assembler v3.09
- X68k SILK Hi-Speed Linker v3.01
-
- メイクにGNU make(homy版)を使います。has,hlkはそれぞれas,lkにリネームするか、
- lndrvを使ってリンクをはっておきます。準備が完了したら、メイクできます。
-
- make -f makefile.68k
-
- フルメイクはかなり時間が掛かります。私の環境(XVI 24MHz, RAM 12MB)で、大体
- 15分〜20分程度を要します。
-
-
-□PC-98x1
-
- Turbo C++ 4.0Jでコンパイルしています。一部インラインアセンブラを使用し、
- メモリモデルはラージです。
-
- 別途、アセンブラ版CPUコア(cpu_x86.obj)を用意する必要があります。cpu_x86.asm
- をアセンブルすれば良いのですが、MS-DOS版NASMではメモリ不足で作成できません。
- Win32上でクロスアセンブルしたオブジェクトを持ってきます。
-
- nasm -f obj -d __MSDOS__ cpu_x86.asm
-
- cpu_x86.objが揃えば、メイクできます。makeはTC++付属のものを使います。
-
- maker -fmakefile.98
-
- リンカに386プロセスを指示しているので、286以下のプロセッサではリンクできな
- いと思われます(出来たオブジェクトはV30以降で動きます)。その場合はmakefile
- 内の LDFLAGS から /3 を取って下さい。
-
-
-□Linux(X Window System)
-
- Linuxは若干めんどうです。以下のツールが必要です。
- gcc, g++, nasm, strip, nkf, lha
-
- ファイルを作業ディレクトリに準備したら、nkf, lhaを使って漢字コードを変換
- します。
-
- make -f Makefile.X11 convert
-
- ビルドします。
-
- make -f Makefile.X11
-
- stripを使って、シンボルテーブルを取り去ります。(取らなくても良い)
-
- strip xm7
-
-
-□Windows 3.1
-
- Borland C++ 4.0Jでコンパイルしています。付属のOWLライブラリを使っています。
-
- cpu_x86.objはPC-98x1と同じ方法で準備してください。オブジェクトをコピーする
- だけでokです。
-
- Borland C++のIDEを起動し、プロジェクトファイルXM7.IDEをロードします。
- メニューから「再構築」でXM7.EXEができあがります。
-
-
-□FM-TOWNS
-
- Turbo C 2.0Jでコンパイルしています。メモリモデルはラージです。makefile.fmt
- のSTARTUP,LIBS定義を絶対パスで書いていますので、コンパイル環境に合わせて
- 調整する必要があります。
-
- cpu_x86.objはPC-98x1と同じ方法で準備してください。オブジェクトをコピーする
- だけでokです。fmt_sub.asmは小さいのでMS-DOS版NASM16.EXEでアセンブルします。
- メイクはTurbo C付属のものだと通りません。Turbo C++ 4.0Jのものを使って下さい。
-
- maker -fmakefile.fmt
-
- FM-TOWNS版は全体的に作業量重視、軽めの作りにしています。最初に移植したとき
- は2日間で作業完了させました:-)
-
-
-□IBM-PC
-
- Borland C++ 4.0Jでコンパイルしています。一部インラインアセンブラを使用し、
- メモリモデルはラージです。
-
- cpu_x86.objはPC-98x1と同じ方法で準備してください。オブジェクトをコピーする
- だけでokです。
-
- IBM-PC版は386必須、コプロセッサ必須です。このため/3で386コードを指定し、
- FP87.LIBをリンクしています。makeはBC++付属のものを使います。
-
- maker -fmakefile.ibm
-
-
-□Windows95/98/NT4/2000
-
- Visual C++ (4.0J Standard Edition)でコンパイルしています。またDirectX3
- SDKを必要とします。あらかじめインストールしておいて下さい。
-
- ビルドの前にcpu_x86.objを用意します。次の構文でアセンブルします。
-
- nasm -f win32 -d _WIN32 cpu_x86.asm
-
- Visual C++のIDEを開き、ワークスペースXM7.mdpをロードします。メニューから
- 「リビルド」を選ぶとReleaseもしくはDebugディレクトリにXM7.exeが生成され
- ます。
-
- Visual C++の5.0、6.0ではうまくビルドできないかもしれません。そのときは
- cisc.hの内容をチェックしてください。VC++4.0ではboolが実装されていません。
-
- Resources下に含まれるアイコンは、渡辺 善美氏に提供頂いた物です、99/夏頃の
- 開発が軌道に乗った頃に作成していただきました。
-
-
-□補助ツール
-
- ROM作成ツールSAVEROMは、FM77AV上で動作する部分(6809アセンブラで記述)と、
- 起動ディスクを作成する部分(8086アセンブラで記述)に分かれています。
-
- 6809アセンブラ部は次のツールで作成します。
- HD63C09/6809 クロスアセンブラ AS63.EXE Version1.12Ta
- 8086アセンブラ部は次のツールで作成します。
- Turbo Assembler Version 2.0
- Turbo Link Version 3.0
-
- メイクは適当なツールを使って下さい。TASM付属のもので十分です。
-
- AS63のオプティマイズ機能を使い、6809のブランチはロングブランチ主体で記述
- しています。アセンブル時にショートで届くものはショートに変換されます。
-
-
-□連絡先
-
- ホームページ(PI. Home page)
- http://www.ipc-tokai.or.jp/‾ytanaka/
-
- 公式掲示板
- http://cgi.ipc-tokai.or.jp/‾ytanaka/cgi-bin/xm7/hyperbbs.cgi
-
- メールアドレス
- ytanaka@ipc-tokai.or.jp