|
# $ + 開発メモ 環境
歴史
展望
# $ + 出来ないこと
16MB超の大きな画像ookina_gazou 8*3以下の小さな画像chiisana_gazou モノクロJPEGmono_jpeg
# $ + 16MB超の大きな画像ImageKnifeを使っているので、たとえメモリーが一杯載っている環境でも、16MB超の画像を表示することはできません。JPEGで圧縮されていて1MB程でも圧縮無しのBMPにした時のサイズで16MBを越えると、駄目です。つい最近まで、16MBのRAMしか載っていなかったので、2MB程のファイルしか扱っていなくて、判りませんでした。Win3.1では、1度のGlobalAllocで16MBのメモリーしか確保できないので、そのせいでしょう。 試していませんが、減色自体は、32K*32Kdotまで可能なはずです。別のソフトで、BMPに変換して、DOS版のpag1tetoを使って、減色してください。
横8*縦3dot以下では、ImageKnifeが一般保護違反を出すので、使えなくすることで避けています。
JPEGには、YUVの内のYだけが入っているフォーマットがありますが、これにImageKnifeが対応していませんでした。Internet上にあったモノクロの写真をダウンロードしてそれが表示できなかったので気付きました。
日付とフィルサイズの関係 丸の近くにある数字はバージョン番号です。 86はver0.86を意味します。中だるみの原因については、先行特許について調べていないせいで低レベルの特許が無数にあるのではないかと、不安になって憂鬱になっていたとか、値上げしたせいで、送金が減ったと公開していたとか、 DOS/Vマシンへの移行期間とか、Linuxに移植したとか、Horoscopeのプログラムのバージョンアップをしていたとか、理由はいろいろあるのですが、何が最大の原因であるかは判りません。
# $ + リソース不足についてWindows3.1Jでは、同時に起動している全アプリケーションについて、Userリソースと、GDIリソースがそれぞれ合計64KBまでに限られているので、たとえメインメモリーを十分積んでいても、リソース不足がたびたび起こります。 プログラムが大きくなるにつれてリソースが多く必要になるので、これまでリソース不足が原因のバグを何度(
残りリソースは、pag1tetoの「ヘルプ」「
まず、90/10のpag1ですが、これは、2画面パラパラのP+アナログK 16色パレットのA+誤差拡散のGという様な意味でした。最後の1は、2画面を同時に作るか1枚ずつ独立して見られるように作るかの意味だったのですが、1はアルゴリズムが変化しても名前を変えずにそのままになっています。 昔のpag1には擬似階調表示時に不必要なざら付きが生じるという欠点がありましたが、それを抑えるための、ドローネ4面体パッチというアイデアを思い付きました。 現在のpag1tetoの名前は、その四面体(テトラヘドロン)から来ています。
今後の予定についてすべて書くと、いつまで経っても実現できずにストレスが増えてしまいます。ですから、技術的な改善のリストなどは、
さまざまなフォーマットへの対応の要望が多いのですが、独自性を発揮する余地が無いのでできるだけ、自分ではプログラムしたくありません。
fwinfに、MAGとPICのDLLがあったので、そのうちに対応する予定です。
また、djpというDOSのローダーの公開されている規格があったので、それにもそのうち対応する予定です。
あと、MSDNのCD-ROMの中に、アルダスのグラフィックインポート用のフィルターの説明があるようなので、英文なので後回しになると思いますが、これにも対応するつもりです。その前にwmfに対応しないとなりません。
お金が無いので後回しになっていることno_money 今後の予定、その他other_yotei
外的環境が変化しなければ、基本的には、 バグ取り>画質>速度>機能>ユーザーインタフェイス>ドキュメント という様な優先順位で進めて行きます。
+ お金が無いので後回しになっていること お金のかかることについては、pag1tetoに対する送金のペースにあわせて進めていきます。
でも、例えば、僕がDOS/Vマシンを買ったりスキャナーを買ったりすると、ユーザーは、送金の必要性が減少したと判断して送金のペースが落ちるという様な現象があるみたいです。ですから、送金を生活費に回してしまって、開発環境の整備には回さないことにした方が、送金は増えるのかも知れません。 Mac版 ●Mac とMacの開発環境 CD-ROMを作る現場の多くのデザイナーは、Macを使っているために、pag1tetoがどんなに高画質だと言ってみた所で、Macでは動かないということで、普及が遅れていて相変らず多くのCD-ROMが、ディザーだらけで出版されていると思います。そんなわけで、Macに移植しないとならないと思っています。 Windows95対応 ●MS MMVのリファレンス マルチメディアビューアー版のヘルプはあまりダウンロードされていませんが、ヘルプコンパイラより親切なエラーメッセージを出してくれるので、今後もこれは使っていきます。アスキーの本には、複数の画像があるときのパレットの与え方など細かい情報が抜けているので、買わないとならないと思っています。もしかしたら、MSDNに入会する方が良いのかも知れません。
●WinMakerPro 6.0 98000円 以前に、CだけによるEXEファイルを作ったときには、WinMakerProのサンプル版を使って書きました。ビジュアルなプログラミング環境で高速なコードを出力できるものとしてはDelphiがあるわけですが、9月に出るDelphi日本語版はwin32に対応していない様なので、WinMakerProとの組み合わせというのの必然性が出てきます。
●MSDN Level2 74,000円/年 Windows95が近づいてきているのですが、まだ何も対応していません。MSDN CD-ROMがDDJJかなにかの雑誌のプレゼントでNo.4が当たったのですが、入会はしていません。持っている情報が古くなってしまっています。
●Windows95 Windows95β3上でVB2.0Jを使ってコンパイルするとKernelで一般保護違反がでました。すでにアメリカでは製品版が出ている段階でのβバージョンなのに、果たして製品版で正しく動くのかどうか不安になりました。もっとも、Win95上でも、VB4.0との組み合わせならOKなのかも知れません。
●VB4.0日本語版 Windows95になっても従来の開発ツールが使えないわけではないと思いますが、新たに、様々なコントロールが標準で付いてくるようになります。例えば、ImageKnife無しで済む様になる可能性もあります。それに最初に対応する開発言語は、VB4.0なので、やはり買わないわけにはいきません。
●BorlandC++4.0用の32bitDPMIツール まだ発売されていませんし、今の所16bit版のDPMIツールがあるので、そんなにデメリットはありませんが、pag1tetoがWin32対応した後で、DOS版とのソースの互換性が取りやすくなると思います。
●Turbo Asm これまでの所は全部Cのレベルで書いています。アセンブラを使ってまで高速化するというのは趣味に合わないのですが。もし、高速なライバル製品が出てくる時代がくれば、そうせざるをえなくなるかもしれません。
●BC4リファレンスマニュアルセット インターネット対応 ●インターネットのホームページ 自分のオンラインソフトをグラフィカルな紹介付きでインターネット上に置いておきたいということと、インタネットのために、減色を行なうユーザーの要望を理解できるようにしておきたいという2点があります。僕のホームページができたら、pag1tetoを使って減色した画像を含んだホームページからジャンプするようにしてください。
●一太郎6.3 これまで、98LT用のサスケしか使ったことがなく、現在、wordを使っていますが、インターネット対応とTVCMをしているので、買おうかなという気持ちになっています。 CD-ROM作成環境 ●マルチメディアディレクター これで作られたCD-ROMが多いわけですが、固定パレットを使っているソフトもこれによるのに多いと思います。256色環境でだけ有効な効果がいろいろあるようです。
●CD-ROMライター 自分で作ってみることで、ユーザーの気持ちが判るというわけで。
●Photoshop プラグインの仕様はダウンロードしたのですが、まだ作りはじめてはいません。仕様が変化したというあたりのことも調べていません。
画像フォーマット ●PhotoCD Developpoer痴 Kit 195,000円 PhotoCDについては、要望が多いのですが、PhotoCD Developper's Kitというのは、バージョンアップして、19万5千円に値上がりしたようです。高いのでなかなか買う気になれません。自分で書けば特許料の500$で済むようですが、PhotoCDを書き込むプログラムを作るのでなければ、大変なだけという気がしています。
とうぶんの間、他のソフトと組み合わせて使ってください。
●ライフボートのグラフィックライブラリ 20万円程度 現在は、ImageKnifeで他のフォーマットに対応していますが、このライブラリは、PICTファイルに対応していたりして、速度も速そうなので、値段は高いのですがそのうち買おうと思っています。
●Video for Windows 15000円くらい パレット切り替えで画面が乱れないように最適化118色パレットで8bit RLEのAVIファイルを作るということも予定はしているのですが、優先順位はあまり高くありません。
●ビデオカメラ、ビデオキャプチャー スキャナーは解像度が高いですが、何枚もの画像を入力するのにはかったるいところがあります。でも、ビデオの画像を8bit化することに、もはや意味がなくなりつつありますが。
●デジタルスチルカメラ いろいろ出てきていて、使っているユーザーもあるようです。KodakからPhotoCDのフォーマットで出力する物も出てくるようです。専用の画像フォーマットがあれば、それに対応するというのも意味がある様な気がします。
●QuickTime for Windows
●ビデオボード3Dエンジン付き MPEG 4MB OS/2 Warp ●OS/2 Warp上の開発環境 まだ、開発言語が出揃っていない感じがしますが、これも、やればできるのでしょう。 サポート関係
●プロジェクト管理のソフト 現在のところ、次々とすべきことが割り込んで、近時の予定がどんどん後回しになってしまいます。こういう状況がなんとかできないものかと思います。
●サポート要員 人をやとえるほどの送金は全然ないのですが、例えば、pag1teto関連のmailを12通も送った日には、プログラムをする余力は残りません。サポートに時間を割いているうちにライバルソフトに画質で追い越されてpag1tetoが時代遅れのソフトになってしまうのではないかと想像して憂鬱になるのでした。
●ホームバンキングの端末 5時過ぎに行っても通帳記入は、出来ない様なので、送金があったことの確認のために、真夏の日中に出かけるのはつらいなあとおもうだけのことです。あと、企業だと、オンラインの送金より、銀行振込ということが多いわけですが、実は、FDを送るとか、印刷マニュアルとか、郵便でのお知らせとか、市販ソフトの形態にすると、値上げしても企業向けの売り上げが増えるのではないかという気がしています。 OEM化に向けて
●PATOLISのID 先行特許を調べるのに使おうと思うのですが、モデムは1200bpsという時代遅れのものを使っている上に、IDを得るのに2万円だか5万円だか必要で、そのうえ研修会にもでなければならない様です。
●特許の審査請求
●海外出願
特許tokkyo_allの出願はまだ日本だけなので、そのうち海外にも出願したいものだなあと思っています。でも、自分で出願するのは大変なので、高くつきそうな気がします。
●フルカラープリンター 今の所プリントアウトの機能は、あるだけのものなのですが、フルカラープリンターを買えば、レイアウト機能も付けようと思っています。
●会社を作る 最近では資本金がいっぱいいる様になったので、TVに出ている頃に作っておけば良かったと思うくらいのことなのですが、なんというか、もっと将来的なビジョンを持ってプログラムを作らないと、バグ取りに追われるばかりの日々では、つまらないなと思って書いています。
●ユーザーインタフェイス部分のプログラマ ユーザーインタフェイスに凝る気は全くないのですが、ユーザーからの要望で多いのはこの部分だったりします。ユーザーインタフェイスが気に入らない人は、pag1min.dllに対応するソフトを自分で作って欲しいと願っています。送金がどっと増えて、ユーザーインタフェイスを外注できるようになればとても楽なのですが。 遠未来 ●PenWindows 1.1 今の所ペイント機能はすぐには追加するつもりはないのですが、将来的には対応が必要になるでしょう。
●ハードウェア化 これは、多分、やればできるだろうなと思っていますが、お金はいっぱいかかるし、需要があるかどうかはわかりません。 その他 ●98のエミュレーター または98 妹に98をやってしまったので、98がなくて、自分で作った古いソフトで使え無くなっているものがあります。このために、わざわざWindowsに移植する作業の必要が出てきています。98があれば、とりあえずは、それ無しで済みます。
●EZ-SCSI 3.5J とりあえず、日本語版でなくても困っていませんが。
●7連奏CD-ROM ●2.0GBのHDD ●3D写真用のカメラ ●RAM DOUBLER
今後の予定、その他other_yotei
# $ + Windows95についてWindows95に対応するために、言語環境などそろえる必要があるので、なにかと しかし、Windows95の時代になれば、 95/9/9頃からWindows95β3を使ってみたのですが、Windows95β3上で、VB2.0Jを使ってコンパイルした場合pag1tetoがkernelで一般保護違反を出してしまいました。プログラムのコードとしては、Load form1などと、フォームform1をロードする命令を実行した後で、そのフォームのform_loadイベントが起こる前というVB内部で起こっていました。
+ 浮動小数点エラー 98では、浮動小数点エラーの扱いに失敗していました。VB2.0Jのせいだと思っていたのですが、NEC版のWindowsのバグだった様です。Windows3.1Jの2回目の改定版のバグ取り項目の中にありました。 このせいで、98で動いていて、でもDOS/Vでは動かないということが、これまでに2度程ありました。
+ 今後の予定、その他 ●Photoshopのplug_in Adobe PhotoShop用のplug_inについては、6月のなかばに、システムソフトに問い合わせたのですが、返事がありません。plug_inは、フルカラーからフルカラーへ変換するもので、
●OEM 他のソフトの
●UNIX UNIX用にもフリーウェアで
+ PowerView用のローダーDLLに対応できなかった経緯 cancerさんがカノープスのPowerView用のローダーDLLをシェアウェアとして公開しているので、それが使えるようにpag1tetoのバージョンアップをしようかと思ったのですが、カノープスに問い合わせた所、許諾できないということでした。カノープスのjpegのローダーはとても速い様なのですが、残念でした。技術的には、PowerViewを買って来れば、DLLの仕様が書いてあるそうなので、可能だと思うのですが。契約上だめということなのでしょう。
カノープスのDLLはともかく、cancerさんのDLLを呼ぶことまで、仕様を作ったということでカノープスが禁止できるというのが、納得できなかったのですが、しょうがありません。
ボーランドは、自社に競合する製品を開発してはいけないという様な契約事項を盛り込んでいたのですが、ユーザーからの猛反発を受け、BC++4.0から、その条項を取り除いたのだそうです。ボーランドは、もともと、訴訟好きの企業ではないし、訴えた前歴もないので、妥当な判断だと「DDJ 94/8」には書いてありました。
カノープスの場合は、メルコのソフトをディスアセンブルし、同じマイクロソフトのサンプルプログラムを元に作った漢字ROM読みだしコードが似ていると言ってメルコを訴えた前歴があります。ですから、たとえ、PowerViewユーザーの圧力があったとしても結論は覆らないでしょう。
「DDJJ」94/9の82ページの記事では、マイクロソフトが、マイクロソフトがStac社を、リバースエンジニアリングによって、MS-DOS非公開インタフェイスを使用したのは、企業秘密の不正使用にあたると訴え、その結果、10行分程のコードに対応する非公開インターフェイスに対して、1360万ドルの被害を認定されたそうです。MS-DOSの非公開インタフェイスを使っているソフトは無数にあるなかで、Stac社だけが訴えられたわけです。
直接は関係ありませんが、PowerView用のDLLに対応したりすると、そんな目にあわないとも限りません。ですから、PowerView用のDLLに対応することは諦めて、代りに
歴史的に、多くの発明家が、
+ ImageKnife VBX 文化オリエント社(〒981-31 仙台市泉区加茂一丁目3-1 tel 022-378-7106 fax 022-378-7170)が定価53000円で売っているVB用のVBXです。 BMP,K TIFF,PCX,K GIF,TGAなどに対応しています。 拡大、縮小、フィルター処理など、基本的な画像処理の機能を持っています。 94/10/6から、niftyに文化オリエント社のフォーラムfbocができました。 ImageKnifeにも、 ImageKnife/VBXの対応しているTIFFフォーマットのバージョンは、古くて、最近のver6.0ではなく、ver2.0です。最新バージョンと互換性のあるのは非圧縮TIFFだけです。
+ OEMについて pag1tetoの高画質な
すでに、オンラインソフトの作者向けにpag1min.dllをアップロードしています。オンラインソフトからpag1min.dllを呼ぶ方法については秘密を守ることを条件に無料で開示します。呼び方自体は無料でも、pag1min.dllでは、僕に対する送金を求めるダイアログが出るので、エンドユーザーから僕への送金が増えるからです。
受注ソフトや、市販ソフト向けには、pag1min.dllから、送金を求めるダイアログを除いたものを有料で供給するつもりです。これまで一律、200万円と言っていたのですが、ver0.87公開時点以降それを変更します。
まず、受注ソフト(雑誌などで広告をしていないソフトかどうかで受注ソフトかどうかを判断します。)の場合、開発者一人あたり10万円です。
そして、市販ソフトの場合、開発者担当者一人あたり10万円+4000円*(のべ出荷本数の0.77乗)とします。ただし、1万円未満の端数は切り捨てです。例えば、プログラマがpag1min.dllをソフトに組み込むことにした時点で10万円、そして、それが市販された時点で、出荷本数に応じた金額を支払ってください。
バージョンアップは、随時行ないますが、締め切り付きの仕様拡張などには応じません。エンドユーザーのサポートは不可能です。コンバイルしなおして、別の形で供給するくらいの便宜ははかるでしょうが、ソースの供給は考えていません。先行特許が存在しないという保証も不可能です。
連絡先profile
# $ + 特許関係の話題●海外持ちだし禁止の理由 例えば、アメリカでは、
●プログラマの憂鬱 低レベルの特許の氾濫はアメリカだけの問題ではなく、日本でも、
●Unisysの GIFに使われているLZW圧縮特許は日本では成立していませんが、発明家が
●空間分割に関する特許出 pag1tetoのアルゴリズムについてはヘルプ中で説明しています。すべて自明に思えていたのですが、他のソフトがなぜ、精度を上げたバージョンを出してこないのか考えて、その結果、ヘルプに書くほどでもないほどもっと自明に思えていたアルゴリズムについて、自分で書類を書いて95/6/15に特許出願してみました。
# $ + 特許の出願95/6/15に
# $ ユーザーとの関係について
オンラインソフトです。on_line シェアウェアです。share_ware 配布条件 海外持出禁止haifu_jouken ライセンス規定license_kitei
pag1シリーズpag1_seri
サポート場所support 被転載場所hi_tensai ネットアドレスnet_adr 最近公開したオンライソフトon_line_today 初心者ユーザーへto_beginner バグレポートのお願いbug_report
以前に作ったMS−DOS上のプログラムpag1で使っている限定色K アルゴリズムと同様なことをしているので、pag1tetoもpag1のシリーズです。なお、現時点で、pag1のシリーズには、以下のものがあります。
PC-VANの星占いsigには全部揃っています。ただし、古い物は今から考えると習作という感じがします。将来的には、Windows版のpag1tetoに統合して行きます。
pag1min.dllに対応したソフトpag1min_taiou
最近公開したオンライソフトon_line_today
# $ + pag1min
お金がないno_moneyので、サポート要員や、ユーザーインタフェイス開発要員など雇えず、一人で、プログラミングからサポートまでやっているので、多くのユーザーの様々な要望に即座に答えることはできないので、気に入ったユーザーインタフェイスのソフトの側に、pag1tetoの画質を組み込んで欲しいというわけで、オンラインソフトの作者向けにpag1min.dllを作りました。pag1min.dllは、
別に難しくはないと思うのですが、まだ
pag1tetoの初期状態オプションでの減色とほぼ同じ性能なので、pag1tetoを除けば、どれよりも高画質です。速度も、十分高速です。
+ pag1min.dllに対応したソフト 95/2/9現在、fwinmm lib 5にある森永 智(GCH02174)さんの、GLView ver1.2だけがpag1min.dllに対応しています。
僕自身では、BC++4.02付属のサンプルソフトと、TWAINのサンプルソフトに組み込んでいます。
niftyのFWINMMの3のボード、もしくは、mailでお願いします。
●理想的なユーザーへ これは、fgalで活動している団体のアンケートに答えたものなのですが、僕の理想としているユーザー像は、以下のようなものです。 { わがままですが、ユーザーに期待するのは、要求仕様、テスト、営業、などのプログラム以外のすべての事柄です。 例えば、要望を出す前には、あらかじめ、いろんな別のソフトを試して、それで解決できないか調べて、世の中にはなかったり、かなり不便な機能について重点的に要望を出してもらえると助かります。 また、ソフトを僕より10倍も使い込んで、例外的な場合に生じるバグを見つけ、バグがあれば、 さらに、僕のソフトの特長を口コミで広げてもらえれば、ありがたいと思います。 }
●パソコン初心者のユーザーへto_beginner
+ パソコン初心者のユーザーへ pag1teto ver0.75はインストールソフトもないくらいですから、あまり初心者向けのソフトとは言えません。
例えば、プログラムのプロトタイプでは、ユーザーインタフェイスはVBなどで素早く開発するのが当然ですが、初心者は、入門用の遅いマシンを持っていて、ランタイムライブラリーをロードする時間が耐えられないかも知れません。(と言っても、作者自身は95/3まで、遅いマシンを使っていたのですが)
初心者は、多くのユーザーを獲得していて、バグが取りつくされ、また誰にでも質問に答えてもらえるようなソフトを使うでしょう。でも、pag1tetoのユーザーはまだまだそんなに多くありません。
初心者ユーザーは、機能の数を比較したりはできても、画質が良いと言われても、画質が問題になるような場面に遭遇していないので判らないかも知れません。ですから、pag1tetoが高画質を誇るシェアウェアであると言われても、不当に思えるかも知れません。
そんなわけで、現在pag1tetoは、初心者向けとは言えません。これは事実ですが、永久にそうでありつづけるつもりだというわけではありません。
+ バグレポートのお願い バグが出たらレポートをよろしくお願いします。ただし、あまりに古いバージョンについては、ダウンロードせずに対処する方法があったとしても、最新バージョンを使ってくださいと返事をすると思います。
バグレポートに入れて欲しい情報 ●pag1tetoのバージョン pag1tetoのバージョンも知らせてください。例えば、以前にも似たバグがあってすでに取ったという場合には、古いバージョンを使っているのではないか? tと疑ってしまうので、それを避けるためです。逆に、古いバージョンを使っていて出たバグのレポートなのに、以前に直したバグがまた復活してしまったと勘違いしないためでもあります。 ●バグの出たオプションの組み合わせ バグが出てもたいていの場合は、オプションの組み合わせを変えることで、とりあえずしのぐことができると思います。でも、だからと言ってそのまま我慢して使っていると、将来に渡って長くそのバグが生き残ってしまいます。
ver0.41で取ったバグの場合も、潜在的には、そのオプションの付いたver0.15からのものであり、Windows版になったver0.20で見つかっても不思議ではないバグでした。
オプションの組み合わせについていろいろ調べるのは大変でしょうから、pag1teto.iniを送ってください。ただし、エラーで止まる様な場合、原因となったオプションではなく、以前に正常終了したのオプションが残っているので、起動後、エラーの出たオプションの組み合わせで終了して、それを別のファイルにコピーして置いて、再度エラーが出ることを確認してからそのpag1teto.iniを送ってもらうという様な手間になると思いますが。 ●一般保護違反の場合は、アドレスを バグの再現できる画像を送ってもらえない場合には、例えば一般保護違反が出る場合は、どのアドレスで出たかが重要なヒントになるので、メモして置いてください。あるいは、Dr.Watsonの出力を送ってください。 ●再現に必要な条件 バグを取るには、僕の方でバグが再現できなければ、なりません。しつこく状況を質問したりするかもしれませんが、怒らないで下さい。こちらでバグが再現できれば、バグの原因を見つけて対処することは時間の問題になります。
ver0.41で取ったバグの場合、100枚では見つからず400枚変換して再現できました。つまり、バグの出るオプションと、バグの出る画像、バグの出る前に変換した画像の3つの要素の組み合わせが判る必要があったわけです。 ●画像に固有な場合は元画像 というわけで、バグが出た場合、バグの出る画像を送ってもらうのが一番ありがたいです。 ●最悪の場合 こちらからデバッグ用のコードを入れたプログラムを送り、その結果を教えてもらって、さらにデバッグ用のコードを追加して、ということを繰り返して、バグの原因を辿っていくという方法になります。
応急処置oukyuu
+ 応急処置
●プログラム開発中にしか起こらないかも知れませんが、pag1teto.iniファイルが壊れて変な動作をするようになったことがあります。こういう場合は、pag1teto.iniを削除したり、名前を変えてから、pag1tetoを起動、終了してください。こうすると、初期状態のpag1teto.iniができあがります。
●K メモリー不足が原因のバグ メモリー不足時の対策がまだ十分ではありません。そのせいで、一度、異常終了した場合には、メモリーが解放されずに残っている場合があります。
|
|
|
[HOME] (C) MATSUOKA , Hajime |