summaryrefslogtreecommitdiff
path: root/licenses
diff options
context:
space:
mode:
authorwiz <wiz>2016-10-10 08:56:54 +0000
committerwiz <wiz>2016-10-10 08:56:54 +0000
commitf27cba8e241c6d42af375a05cf860ad540493be9 (patch)
treecb55eaec75a81458eeedf4125795df096c405c2b /licenses
parent5437f85f4f3c1cbc676fdb7427eb42e6a56ef94f (diff)
downloadpkgsrc-f27cba8e241c6d42af375a05cf860ad540493be9.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-license288
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