wonx/HISTORY
Hiroaki Sakai 103ffe29f1 We implemented mmap (). Specifically, see README.
Added service function.  (A service function dumping information for debugging,
Added service function for screen drawing ON / OFF control) Specifically, see README.

Make the object's destructor called from bios_exit ()
Add appropriate Destroy function to each object.  Delete objects properly
We have checked the termination process as a whole, as done.

Fix to accept interrupts even during key_wait ().
(Previously, only key input was accepted)

Some timer interrupts are improved.  (UNIXTimer.c)

Change the wonx_include directory to wonx.

Changed to search the full path to perl automatically and insert it at the beginning of perl script.

Makefile review, improvement.

Changed ON / OFF of screen drawing to switch according to display level.
(See README for details.)
Also change to display level lowered by F9 and display level raised by F10.
In accordance with that, we have reviewed a part of ON / OFF part of drawing and key input event processing.

Fixed to display message when pressing key.

Obj ObjListData_GetPrev (ObjListData data)
Obj ObjListData_GetNext (ObjListData data)
To
ObjListData ObjListData_GetPrev (ObjListData data)
ObjListData ObjListData_GetNext (ObjListData data)
Fixed to.

Added install, uninstall target to Makefile.  Fixed challsrc.sh.

Version 2.2 - from wonx-2.2.tar.gz
2018-03-07 23:07:30 +00:00

395 lines
10 KiB
Plaintext
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

2002/2/4(月)
wonx-2.2 公開
mmap() を実装した.具体的には README 参照.
サービス関数を追加.(デバッグ用の情報をダンプするサービス関数と,
画面描画ON/OFF制御用のサービス関数を追加) 具体的には README 参照.
bios_exit() からオブジェクトのデストラクタが呼ばれるようにして,
各オブジェクトに適切な Destroy 関数を追加.オブジェクトの削除が適切に
行われるように,終了処理を全般的にチェックした.
key_wait() 中にも割り込みを受け付けるように修正.
(以前はキー入力しか受け付けていなかった)
タイマ割り込みを一部改良.(UNIXTimer.c)
wonx_include ディレクトリを wonx に名前を変更.
perl へのフルパスを自動で検索して perl スクリプトの先頭に挿入するように変更.
Makefile 見直し,改良.
画面描画の ON/OFF を,表示レベルによって切替えるように変更.
(詳しくは README 参照)
またF9 で表示レベルを下げF10 で表示レベルを上げるように変更.
それにあわせて描画のON/OFF部分とキー入力イベント処理の一部見直しをした
キーの押下時にメッセージを表示するように修正.
Obj ObjListData_GetPrev(ObjListData data)
Obj ObjListData_GetNext(ObjListData data)
ObjListData ObjListData_GetPrev(ObjListData data)
ObjListData ObjListData_GetNext(ObjListData data)
に修正.
Makefile に install, uninstall ターゲットを追加challsrc.sh 修正.
2001/1/13(土)
wonx-2.1 公開
パレットデータのダンプ時にRGB値もダンプするようにした
データのダンプ部分を一部修正.
perl スクリプトの行頭を,/usr/bin/perl から /usr/local/bin/perl に変更.
(FreeBSD では,日本語 perl は /usr/local/bin に入るので)
disp.c, libwwc.c の,キャラクタのビットマップデータ読み込み用・取得用関数で,
ビットマップデータの型を unsigned char * でなく short int *, long int * などの
適切な型に修正した.
WWCharacter クラスのビットマップをuchar, ushort, ulong の union とし,
WWCharacter_GetPixel() では適切な型でアクセスすることにより,
ビットマップデータのエンディアンの依存性を無くした.(i386, SPARC で確認済)
WWCharacter_GetPixel() の 16PACKED カラーモード時の値の取得方法を修正した.
(キャラクタが左右反転表示されていたバグが解消した)
F11 で10秒間停止もしくは Ctrl-c もしくは F12 で強制終了,
Ctrl-i でアイコン化の追加.(もともとあった機能だったが,忘れてたのを,
多少修正して正式サポートにした)
表示/非表示の切替えキーを p から F10 に移動.マニュアル修正.
XDisplay.c:XDisplay_DrawLCDWindow() でXColorGC_CreateFromRGB() で生成した
XColorGC オブジェクトを Destroy() していないので,メモリフローしていたバグを
修正.(XColorGC_Destroy(x_color_gc) 追加)
wonx_include/fcntl.h 追加.内容は,/usr/include/fcntl.h,
/usr/include/sys/fcntl.h をインクルードするだけ.
シリアル出力時のメッセージ(output to serial port : )の書式変更.
("" でくくるようにした)
etc.c:wonx_print_character() 修正.(\", \\ などを追加)
sout2str.pl 修正.(\", \\ などを追加.上記のシリアル出力時のメッセージの
書式変更にあわせて修正した)
int2sint.pl, filters.pl, challsrc.sh 追加.
sys2wonx.pl 変更.
wonx_include/types.h の
typedef unsigned short WORD;
typedef unsigned long DWORD;
typedef unsigned short int WORD;
typedef unsigned long int DWORD;
に変更.
README 修正.
2001/1/3(水)
wonx-2.0 公開
カラー化対応GCの管理用にXColorGC クラスを追加.(XFireworks から流用した)
カラー化に対応させてtransparent(透過色)の判定処理を WWPalette クラスから
WWDisplay クラスに移動した.
WWLCDPanel の pixel をunsigned short int * に変更.(カラー対応)
テキストフォントの格納フォーマットを変更.(WWTextFonts.c)
テキスト表示で,表示時に WWDisplay_GetForegroundColor(),
WWDisplay_GetBackgroundColor() を見てコピーするように修正.(WWText.c)
(WWText クラス中で WWCharacter の配列を確保しているのが不要になったので,
いずれ削除すること)
WWDisplay クラスにボーダーカラーのパレット追加.
カラー化に対応させて,その他もろもろの修正を加えた.
(キャラクタデータの格納方法,テキスト表示,ボーダーカラーの処理など)
display_control(), display_status() で,ボーダーカラーのビットシフトが
7 になっていたバグを修正.(8 に修正)
while(1){/*none*/} での割り込み待ちループ中にもF1 などのキー入力を受け付ける
ように修正.(WonXSystem.c のタイマ割り込みのコールバック関数
WonXTimer_Callback() にWonXDisplay_PrintData() を追加)
fcntl_attention.h, filesys.h, indirect.h, oswork.h, process.h を追加.
(中身はカラ,もしくは適当なファイルをインクルードするだけ)
wonx_configure.h で,
#ifndef _WONX_winx_configure_h_INCLUDED_
#define _WONX_wonx_configure_h_INCLUDED_
になっていたバグを修正.
2000/12/28(木)
wonx-1.1 公開
_asm_*() のダミー関数を追加.
FP_OFF(), FP_SEG() をWonderWitch での割り込み設定時のコールバック関数の
設定方法にあわせて,適切に変更.(wwterm に合わせた)
UNIXTimer.c:UNIXTimer_Unpause() で,
((unix_timer->pause == 1) && (unix_timer->interrupt_in_pause == 0))
だったときに unix_timer->pause--; されないバグを修正.
(ポーズ中に割り込みがかからなかった場合に,アンポーズされていなかった)
シリアル受信割り込み,キーボード割り込み追加.(wwterm に対応,動作確認済)
UNIXSerialPort クラス追加.
これによりWonderWitch での,
com_intvector.callback = (void (near *)())FP_OFF(com_handler);
com_intvector.cs = _asm_inline("\tmov\tax,cs");
com_intvector.ds = _asm_inline("\tmov\tax,ds");
sys_interrupt_set_hook(SYS_INT_RECEIVEREADY,
&com_intvector, &com_last_intvector);
のような割り込みの設定が正しく実行されるようになった.
ワーニング用にWonX_Warning() 追加.
WonX_Error() を WonX.c に移動.
comm_send_string(), text_put_string(), text_put_substring() 実行時の
出力メッセージを修正.
カーソル表示機能を実装.(WWCursor クラス追加)(点滅はしない.表示のみ)
カーソル表示をする際にWWDisplay_DrawLCDPanel() 内部でテキスト情報が
読める必要があるのでWonXText クラスを廃止してWWText クラスを
WWDisplay クラスのメンバに移動した.
palette_get_color() 内でWWPalette_GetMappedColors() の実行時に透明色が
-1として返されることを考慮していなかったためにpalette_get_color() の
戻り値がおかしな値になっていたバグを修正.
キャラクタカラーパレットLCDカラーパレットの初期値をWonderWitch での
初期値と一致させた.
サンプルとしてwwterm-b05 を追加.(Makefile に wwterm ターゲットを追加)
2000/11/23(木)
wonx-1.0 公開
正式名称を Wonx から WonX に変更.
MANUAL ファイルを追加.
OMAKE.jpn に文章追加.
2000/11/23(木)
wonx-b05 公開
シリアル通信で,標準入力からの入力の \n は \r に変換して渡すように
comm.c の comm_input() を修正.([WitchFan 00462] のメール参照)
画面外へのテキスト文字の表示時に,エラー終了するのでなく,
ワーニングを出して続行するように WWText_PutCharacter() を修正.
(ワンべぇへの対応)
wonx_include/types.h に #define _WONX_ を追加.(WONX依存にしたい部分を
ソース中でくくりたいときのため)
2000/11/18(土)
wonx-b04 公開
UNIXTimer.c で,コールバック関数が呼ばれるたびにコールバック関数を
設定しなおすように修正.
(UNIXTimer_ON() 中に signal() を追加)
(IRIX ではコール毎にコールバック関数がクリアされてしまうことへの対処)
ualarm() は BSD 依存なのでalarm() を使用するように修正.
UNIXTimer クラスのインターバル時間の設定の単位をマイクロ秒からミリ秒に変更.
シリアル通信をサポート.(WonxSerialPort, WWSerialPort, comm.c 参照)
key.c 中の printf() で,戻り値の表示の際に関数名が表示されていなかったのを
修正.
2000/11/13(月)
wonx-b03 公開
ヘッダファイルを独自に作成Wonx のみでコンパイル可能になった.
libwonx.a のリンク時に Error() 関数がぶつかる可能性があるので,
Wonx_Error() に変更した.
bios_exit() を追加.
sprite_set_char, sprite_get_char で,パレット番号が8を引いた値で
指定されていないバグを修正.
disp.c の font_set_monodata(), font_set_colordata(), font_get_data(),
screen_set_char(), screen_get_char(), sprite_set_data() の引数を
void * から適切な型に変更.
サンプルプログラムと SpeedMac を添付した.
ドキュメントを追加した.
2000/11/3(金)
wonx-b02 公開
割り込み処理の追加.タイマ割り込みサポート.
(UNIXTimer, WWInterrupt, WWTimer, WonxSystem 追加)
割り込みサポートに合わせて,互換関数を UNIXTimer_Pause(), UNIXTimer_Unpause()
でくくった.
UNIXTimer, WWTimer, WonxSystem のコールバック関数などは,
割り込み特有のバグが無いか細かくチェックする必要がある.
(コールバック関数中で割り込みの設定が変わってしまったり,コールバック関数から
コールバック関数が呼ばれたりすることはないかどうかチェックする必要がある)
2000/10/9(月)
wonx-b01 公開
テキスト表示機能の追加.(0127のASCII文字のみで漢字は未対応)
Wonx クラスを作成し,すべてのリソースを Wonx クラスで管理するように変更.
(Wonx.x WonxP.h 参照)
p を押して画面の表示/非表示を切替えたときにLCDパネルの再描画を行うように
改良.
コンパイルオプションに -Wall を追加.
disp.c で重複した処理をしている関数の処理部分をまとめた.
2000/10/5(木)
wonx-a07 公開
WWLCDPanel にビットマップデータを2枚持たせ,一度描画したビットマップは
描画しないように修正Xサーバの負荷を減らした
(WWLCDPanel関連とXDisplay.c の XDisplay_DrawLCDWindow() を改良)
(XDisplay.c の XDisplay_DrawLCDWindow() には,無駄な malloc() があるので,
そのうち改良が必要)
wonx-a05 と wonx-a06 の WWDisplay.c (WWDisplay_DrawScreen()) の
両方を試した結果wonx-a05 のほうが高速だったのでwonx-a05 のほうを
使用することにした.
2000/10/4(水)
wonx-a06 公開
WWDisplay_DrawScreen() のアルゴリズムを大幅に修正.
たいして高速にならなかったX サーバの描画がホットスポットになっていると
思われるので,描画量を減らす努力が必要.
2000/10/3(火)
wonx-a05 公開
XDisplay_DrawLCDWindow() を修正.無駄な計算をループ外に出した.
WWDisplay_DrawScreen() を修正.無駄な計算をループ外に出した.
ホットスポットを調べたらXの描画部分(XDisplay.c の XDisplay_DrawLCDWindow()の
ループ部分)がホットスポットになっていたので,ピクセルごとに配列を
作って,描画速度を上げた.
2000/9/30(土)
wonx-a04 公開
XDisplay.c 内の表示ルーチンを改良し,描画を多少高速にした.
WWLCDPanel のデータの格納方法を変更した.
(2ピクセルで1バイトだったのを,1ピクセルで1バイトを割り当てるようにした)
(高速化のためだが,将来のカラー対応(241色)のことも考えた)
WonxDisplay_Sync() を追加get 系の関数内での無駄な描画を減らした.
スプライトウインドウ機能を実装.(未テスト)
時刻関連の関数を実装.(timer.c)
スプライトの優先順位を修正.(「番号が若いもののほうが優先」に修正した)
2000/9/28(木)
wonx-a03 公開
screen2_set_window()の表示範囲を修正.
マニュアルの screen2_set_window() の説明には「表示領域の横幅と縦幅」と
書いてあるが,実際には「表示領域の横幅+1と縦幅+1」で動作する
みたい?(未確認)なので,-1 しなくてよい?
もしくはWonderWitch での実際の動作は,
ex = sx + WWScreen_GetDrawWidth( screen);
でなく
ex = WWScreen_GetDrawWidth( screen);
なのかもしれない.
スプライトの有効/無効を実装した.
LCDカラーマップパレットキャラクタースプライトのデータダンプ機能を実装
関数呼び出し時の表示メッセージを改良.
2000/9/27(水)
Wonx-a02 公開
テキスト表示関連の関数を実行したときに,(あいかわらず文字は表示されないが)
せめてターミナルに文字列を出力するようにした.
スクリーン2のウインドウ機能を実装した.
2000/9/26(火)
Wonx-a01 公開