src
Directory actions
More options
Directory actions
More options
src
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
[This file is written in Japanese (Shift-JIS Code).]
----------------------------------------------------------------------
Susie32 Pi Plug-in Ver.0.21 (ソースファイル)
README.TXT - 説明書
----------------------------------------------------------------------
■このソフトは
拙作ソフト Susie32 Pi Plug-in Ver.0.21 のソースファイル集(C言語)
です。
作者側でコンパイルできることを確認している処理系は、以下のとおり
です。
・Microsoft Visual C++ ver.6.0 SP6
・VC++ Toolkit 2003 + Platform SDK
・Visual C++ 2005 Express Edition + Platform SDK
・Borland C++ Compiler ver.5.5.1
・MinGW (gcc 3.4.5)
ちなみに、正式リリース版は MinGW (gcc 3.4.5) でコンパイルされた
ものです。
■同梱されているファイル
IFPI021S.TXT 簡易説明
README.TXT このファイル
ifpi.dsw Microsoft Visual C++ Ver.6.0 用のワーク
ifpi.dsp スペースファイルとプロジェクトファイル。
makefile.vc MSVC++ V.6.0 用の Makefile
コマンドラインからビルドする場合はこれで。
VC++ Toolkit 2003 や Visual C++ 2005
Express Edition でも使える。
makefile.bcc Borland C++ Compiler Ver.5.5.1 用の Makefile
makefile.mgw MinGW 用の Makefile
ifpi.c メインソースファイル
ifpi.rc リソース定義ファイル
resource.h リソースID定義ファイル
ifpi.def 関数を export するための DEF ファイル
spibase.h Susie Plug-in Basic function library
spientry.c Susie Plug-in API layer functions
spialloc.c Susie Plug-in Memory-related functions
spiio.c Susie Plug-in File I/O functions
pilib.h Pi ライブラリ(ヘッダ)
piread.c Pi 読み込みライブラリ
piwrite.c Pi 書き出しライブラリ(未使用)
memcpy.s これらは、同名のC標準ライブラリ関数の自作版。
memmove.s MinGW の場合、C標準ライブラリとして msvcrt.dll が
memset.s 使われるが、その msvcrt.dll を不要にするために
使用しています。MinGW の場合のみ使用します。
■ソースファイルに関して
この Plug-in では、Pi ファイルの展開を行なう部分を、他のソフトにも
転用が可能なように汎用的な構成にしました(pilib.h/piread.c/piwrite.c)。
このうち、piwrite.c は 当 Plug-in では使用していません。
この Plug-in では C言語の標準ライブラリ関数を一切使わず、すべて
Windows の API 関数を利用するようにしています。ファイルサイズを
小さく抑えるため、エントリポイントに DllMain を直接指定することで、
使用されないCランタイム環境がリンクされるのを抑制しています(VC++
の場合は Release 構成の時のみ)。
■著作権など
このソフトウェアは 'フリーソフトウェア' です('PDS'ではありません)。
このソフトウェアの著作権は、私 宮坂 賢 が保持します。
転載・再配布に関しては、改変が一切加えられていない(オリジナルの)
配布用アーカイブファイルを転載・再配布する限り、(作者への連絡なく)
自由に行なっていただいてかまいません。ただし注意点として、転載・
再配布の際に必要となる実費を配布先などから徴収することは認めますが、
その実費と認められる額を超える金銭の授受は禁止します。
雑誌や書籍の付録ディスクなどに収録する場合には、(多くの場合拒否は
しませんが)事前にメールで連絡をください。それ以外の形での配布に
ついてはそれぞれ個別に対応したいと思いますので、必ず事前にメールで
連絡をください。
ご使用に関しては(会社・法人・各種団体等で使用する場合も含めて)制限
はありません。ただし、このソフトウェアを使うことによって生じた如何
なる損害も作者は一切補償しないものとします。この点を十分に理解され
た上で、使用者自身の責任においてご使用下さい。
また、作者(私)はこのソフトウェアに関して何の保証もしないものと
します。もしもバグや動作不良があった場合には、ご報告いただければ
できる限り対応したいと思っていますが、私はその義務(まで)は負わない
ものとします。
これらのソースファイルに対して、個人的に改造を施したり再コンパイル
して使用することは制限しませんが、もしそれらの改造版・再コンパイル
版を公開する場合には、それらがオリジナル版と混同されることの無い
ように、改造版・再コンパイル版であることがはっきり判るようにして
ください。
■ソースファイルの再利用に関して
同梱のソースファイルのうち幾つかは、著作権表示が書かれていないもの
があります("Copyright (C) ..." ではなく "Public domain by ..." と
いう表記)。これらの Copyright 表記のないソースファイルについては、
例外的に私(作者)は著作権を主張しませんので、自由に改変して使用でき
ます。これらの著作権表示の無いソースファイルは、Susie Plug-in 共通
の処理を行なう部分のソースファイルで、これらを上手く使うことで
Susie Plug-in を簡単に作成できるようになります(Susie Plug-in の
スケルトンとして利用できる)。
pilib.h/piread.c/piwrite.c の利用条件については、pilib.h の先頭に
ある Copyright 表記を参照してください。
■このソフトウェアの一次配布元
以下のホームページが一次配布元です。最新版がダウンロードできます。
"ソフトウェア工房α"
http://cetus.sakura.ne.jp/softlab/
■参考文献
"Pi 16色 グラフィック・ローダ/セーバ 解説版 (2nd Edition)"
http://www.vector.co.jp/soft/data/art/se003018.html
"MG (16色256色MAG,Pi,BMP,TIFF,B1等 相互変換)"
http://www.vector.co.jp/soft/dos/art/se002524.html
"Susie Plug-in関係の工作室"
http://www2f.biglobe.ne.jp/~kana/develop.html
■改版履歴
1999/03/20 V0.10 ・正式版公開。
1999/04/14 ・Susie 以外の、一部の Susie32 Plug-in 対応ソ
フトで動作しないバグを修正した。コールバッ
ク関数のポインタに NULL が渡されることもあ
るということを完全に忘れてた(^^;;。
・ファイル変換ソフトの MG などが出力する拡張
ヘッダ情報に対応させた。拡張情報として格納
されている情報のうち、画像の表示開始点情報
を PictureInfo 構造体の left,top に入れて返
す。
1999/04/17 ・ファイルを読んでいる途中でエラーが起こった
場合、そのエラーの種類に応じて返すエラーコ
ードを変えるようにした。ファイル終端を検出
した場合はエラーコード10(ファイル終端/End
of File)、ReadFile() 関数が FALSE (読み込み
失敗) を返した場合はエラーコード6(読み込み
エラー/Read Error)を返す。
1999/04/19 ・説明書(このファイル)の中の、配布条件を記述
した文章を部分的に見直し・修正した(^^;。
1999/04/20 V0.11 ・Ver.0.11 正式版を公開。
1999/05/01 ・コンパイラを gcc-2.8.1 から egcs-2.91.66 に
変えた。でも、動作速度はあまり変わらないよ
うだ(^^;。
1999/07/11 ・gcc のコンパイルオプションを調整し、コード
セグメント内に初期化済みデータが入らないよ
うにした(-fwritable-strings -Dconst="" を追
加)。ちなみにこれは、Pentium Pro/II におけ
る分岐予測機構の精度を上げるためのもの。
1999/08/13 ・イメージベースアドレスを 0x10000000 に変更。
1999/09/10 ・独自のスタートアップコードをリンクするよう
にした。
1999/09/13 ・開発環境の RSXNT-DJ を V.1.31 -> V.1.50 に
バージョンアップ。
1999/09/20 ・gcc のバージョンを gcc-2.8.1 に戻した。動作
速度があまり変わらないうえ、ファイルサイズ
が大きくなってしまうため。
1999/09/22 ・イメージベースアドレスを、他の Plug-in のベ
ースアドレスと重ならないように 0x20100000
に変更。
1999/09/24 V0.12 ・Ver.0.12 正式版を公開。
2000/03/12 ・ライブラリ関数の memcpy, memmove を、自作の
ルーチンに入れ替えた。でも、動作速度はあま
り変わらず(^_^;。
2000/05/29 ・プログラムを大幅修正。冗長なコードを無くす
などのソースファイルの整理を行なった。結果、
ファイルサイズが 1KB も減って 9.5KB になっ
た(^_^)。
2000/05/30 V0.13 ・Ver.0.13 正式版を公開。
2000/05/31 ・プログラムを一部修正。
2000/10/24 ・Windows 3.1 + Win32s (V.1.30c) での動作を確
認。正式対応した。
2000/10/25 V0.14 ・Ver.0.14 正式版を公開。
2001/02/12 ・Borland C++ Compiler 5.5.1 でコンパイルでき
るようにした。
2004/09/01 ・イメージベースアドレスを、DLL のデフォルト
ベースアドレスに近い 0x10400000 に変更。こ
れは、アドレス空間が分断されるのを避けるた
め。
2004/09/02 ・Pi の展開コードを大幅に書き換え。ビットバッ
ファの構成法を見直したため、10~20%前後高速
化した。また、横幅が2pixel以下の画像に対応
した。
2004/09/04 ・コンパイラを gcc-2.8.1 から gcc-3.4.1 に変
更。さらに 5% 程度高速化。
2004/09/05 ・読み込みバッファのサイズを 8KB->32KB に増や
した。
2004/09/07 V0.20 ・Ver.0.20 正式版を公開。
2004/11/21 ・Microsoft Visual C++ Toolkit 2003 +
Platform SDK でコンパイルできるようにした。
2004/11/22 ・使用する処理系を、RSXNT-DJ (gcc-3.4.1) から
MinGW (gcc-3.4.2) に変更。さらに、ソースコ
ード集における RSXNT/RSXNT-DJ をサポートを
停止した。
2006/02/13 ・Visual C++ 2005 Express Edition + Platform
SDK でコンパイルできるようにした。ただ、C
ランタイム環境のリンクが必要なため、ファイ
ルサイズが大きくなってしまう。
2006/02/14 ・コンパイラを gcc-3.4.2 から gcc-3.4.5 に変
更。さらに、最適化オプションを今までの
Pentium から Pentium II に変更。Athlon 64
と K6-2 でのテストでは、5% 程度高速化。
2006/02/15 V0.21 ・Ver.0.21 正式版を公開。
E-Mail Address : [email protected] (MIYASAKA Masaru)
[EOF]