diff options
author | wiz <wiz@pkgsrc.org> | 2016-10-10 08:56:54 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2016-10-10 08:56:54 +0000 |
commit | faa1418154f4f0d3a8dcea30071782c735b923e3 (patch) | |
tree | 9cc41fa2e103a86e888b87f26a838b7be834e6fa /licenses | |
parent | a755f1802eb4904a0b5ca6ffb9446629b8f1b09d (diff) | |
download | pkgsrc-faa1418154f4f0d3a8dcea30071782c735b923e3.tar.gz |
Add xm7 license.
This is xm7src.txt from the 17020 zip file, transcoded from shift_jis to
utf-8 and with an english pre-amble that explains the license a bit.
Thanks to mef for help!
Diffstat (limited to 'licenses')
-rw-r--r-- | licenses/xm7-license | 288 |
1 files changed, 288 insertions, 0 deletions
diff --git a/licenses/xm7-license b/licenses/xm7-license new file mode 100644 index 00000000000..0ecfe81a62c --- /dev/null +++ b/licenses/xm7-license @@ -0,0 +1,288 @@ +This is the original README coming with the 71020 distfile. +It basically says: + + If you re-use whole part of, or some part of this software, + the following rules should be honored. This applies all the software + versions released historically. + + - Re-use under the VM directory, Copyright notice should be explicitly + marked (reserved) for the source and the documnets. Commercial use is + prohibited. + - Other parts could be re-used freely. But commercial use is still + prohibited. + + Re-Distribution of this archive could not be accepted. You need prior + permission to do that. + +Here's the original: + +------------------------------------------------------------------------------ + + FM-7 EMULATOR XM7 (V1.0L20) + + ソースコード + Copyright (C) 1999-2001 PI.(ytanaka@ipc-tokai.or.jp) + +------------------------------------------------------------------------------ +□ソース公開にあたって + + このアーカイブはFM-7エミュレータXM7(V1.0L20)の全ソースコードです。 + + 私は元々、ソースコード公開に余り積極的ではありません。ただ本ソフトについては + その性質上、実機・資料の入手が難しい過去の機種の、詳細なドキュメント・仕様書 + となり得ますので、電子保存の意味でも公開すべきだと考えます。 + + またXM7の開発の過程で、M88をはじめとする多くのソフトウェアのソースを参考に + させて頂きました。そのお礼という意味もあります。 + + +□使用規定 + + アーカイブに含まれるファイル群は、一部の例外(後述)を除きPI.が著作権を保有 + しています。 + + ソースファイルの一部、もしくは全部を再利用する場合は、次の規則に基づくもの + とします。 + ・VMディレクトリ下のファイルを再利用する場合は、ドキュメントにオリジナルの + 著作権表示を明記してください。また商用利用は禁止します。 + ・それ以外の部分の再利用は自由です。ただし前項同様、商用利用は禁止します。 + + このアーカイブの再配布はできません。無断転載を禁じます。 + + +□例外、その他 + + 以下に示すファイルはM88の作者であるcisc氏の許可を得て、改変の上組み込んで + いるものです。この部分については前述の規定は適用されません。 + + vm\fmgen.cpp + vm\fmgen.h + vm\fmgeninl.h + vm\fmgenx86.h + vm\opna.cpp + vm\opna.h + vm\psg.cpp + vm\psg.h + + またLinuxディレクトリについては、(寿)TM氏が開発を担当し、PI.が管理を代行 + しています。 + + 次にあげるファイルはM.A.M.E. 0.33のソースファイルを再利用し、改変したもの + です。 + + 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 |