・abcdw017アーカイブについて 2009.10.05 川合秀実
このソフトウェアはバイナリもソースもドキュメントもすべて川合に最終的な著作権
があり、ライセンスはKL-01です。
---
abcdw017の(abcdw016に対しての)バージョンアップ点は、mandel59さんが指摘した
問題を解決したこと(POSIX環境で画面消去がうまく行かない場合がある、関数load_g01
の変数宣言に問題がある)、そして乱数の種を提供するAPIを用意したことです。
なおPOSIX周りについては、mandel59さんによるバグ修正をほぼそのまま使わせてもら
っています。
今回も仕様の拡張のみで仕様変更は無いので、abcdw009以降対応のすべてのアプリが
そのまま動きます(バイナリ互換)。
なお、コンパイル方法が少し変わりました。普通にmakeで作ると、キー入力などが有
効になりません。これは GO の標準ライブラリに windows.h などが無いためです。それ
でもしこれらの機能を有効にしたバージョンをmakeしたければ、以下のようにしてくだ
さい。
Windowsの場合:
(MinGWを使って)
>gcc -Os -DUSE_WIN32 -o efg01 efg01.c tek.c _gasfunc.s
>strip efg01.exe
>upx -9 efg01.exe
Linuxなどの場合:
(gccの3.x系で)
>gcc -Os -DUSE_POSIX -o efg01 efg01.c tek.c gasfunc.s
>strip efg01
>upx -9 efg01
Linuxなどの場合:
(gccの4.x系で:gcc-4.xはif文の最適化コンパイルにバグがある模様)
>gcc -O0 -DUSE_POSIX -o efg01 efg01.c tek.c gasfunc.s
>strip efg01
>upx -9 efg01
---
guigui01.hは書き足りないところを補いました。guigui01フォルダのほかのものは
abcdw009のものを使ってください。
---
以下は簡単なアプリの説明です。このアーカイブに入っていないものもあります。
<非tolsetアプリ>
アプリ名 サイズ 最新 ソース 説明
hello 16 abcdw012 abcdw012 "hello, world\n"を表示する
helloc1 67 abcdw012 abcdw012 helloのC版
helloc 68 abcdw009 abcdw009 ソースが普通のhelloc1
chars 13 abcdw009 abcdw009 キャラクタコード0x20から0x7eを出力
echo 6 abcdw009 なし コマンドライン引数のエコーバック
echoc 50 abcdw009 abcdw009 echoのC版
pi 189 abcdw014 abcdw009 円周率算出(高負荷テスト用)
calc 1,503 abcdw014 abcdw009 コマンドライン計算機(.hrbベンチマーク用)
calc1 86 abcdw012 abcdw012 calcを.g01向けに作り直したもの
cpyc 119 abcdw014 abcdw009 tolsetのcpyのC版
makefntc 188 abcdw014 abcdw009 tolsetのmakefontのC版
dmparg 1,082 abcdw014 abcdw009 コマンドライン引数のテスト
calendar 358 abcdw014 abcdw014 カレンダー表示
calendrc 538 abcdw014 abcdw014 calendarのC版
cntup0 997 abcdw016 abcdw016 数を数える(sleep1のテスト)
testkey0 995 abcdw016 abcdw016 キー入力のテスト・C版
testkey1 118 abcdw016 abcdw016 キー入力のテスト・C版
cclsc 65 abcdw016 abcdw016 コンソールのcls・C版
ccolorc 120 abcdw016 abcdw016 コンソールのカラー設定・C版
tcns00 206 abcdw017 abcdw017 コンソールの色見本・C版
tcns01 232 abcdw016 abcdw016 テンキーで@が歩く・C版
tcns02 484 abcdw017 abcdw017 一人テニスゲーム・C版
tcns03 467 abcdw017 abcdw017 文字早うちゲーム・C版
tcns04 595 abcdw017 abcdw017 走って星を集めるゲーム・C版
(註)pi.hrbは229バイト。calc.hrbは1668バイト。
tcns01は、テンキーの2468で動く。スペースで色変わる。Enterで終了。
tcns02は、テンキーの46で動く。
tcns03は、落ちてくる文字を入力する。大文字小文字の区別なし。だんだん速く
なって難しくなる。誤入力すると減点。1とIや0とOの区別が難しい。フォント
によっては見分けられず、両方押してみるしかないかもしれない。
tcns04は、テンキーの2468で動く。壁にぶつかるか、自分の軌跡にぶつかると
終了。バックすれば即死。
<tolsetアプリ>
アプリ名 サイズ 最新 ソース 説明
cpy 45 abcdw009 abcdw009 ファイルのコピーと連結とtek圧縮解除
bim2g01 1,542 abcdw014 abcdw009 .g01用リンカ
nask 22,824 abcdw014 abcdw009 NASM風アセンブラ
gas2nask 4,559 abcdw014 abcdw009 cc1の出力をnask用に変換
obj2bim 6,272 abcdw014 abcdw009 OSASK/.hrb/.g01共用リンカ
naskcnv0 1,491 abcdw014 abcdw009 ASKAの出力をnask用に変換
sjisconv 376 abcdw014 abcdw009 cc1やccp0の前に使うプリプリプロセッサ
golib00 2,386 abcdw014 abcdw009 ライブラリアン
bim2hrb 384 abcdw014 abcdw009 .hrb用リンカ
makefont 72 abcdw009 abcdw009 テキストデータからフォントデータを作る
bin2obj 477 abcdw014 abcdw009 ファイルの.obj化(char配列化)
aksa 4,700 abcdw014 abcdw009 逆ASKA(逆アセンブラ)
bin2ucc 436 abcdw014 abcdw011 ファイルのCソース化(char配列化)
hexdump 168 abcdw014 abcdw014 ファイルの16進ダンプ表示
rjcg01 225 abcdw014 abcdw014 .g01ファイルにrjcをかける(普通は使わない)
tekmin0 174 abcdw014 abcdw014 mini-tek5生成ツール(前処理)
tekmin1 497 abcdw014 abcdw014 mini-tek5生成ツール(後処理)
mtek2org 534 abcdw014 abcdw014 tek圧縮解除(mini-tek5にも対応)
---
次回予告
おやすみ中。春が来たらまた再開予定。
---
・リンク
http://osask.jp/boyaki04.html
http://wiki.osask.jp/?GUIGUI01/man0000
http://wiki.osask.jp/?GUIGUI01/memo02
http://wiki.osask.jp/?GUIGUI01/memo04
http://wiki.osask.jp/?GUIGUI01/memo14
http://wiki.osask.jp/?GUIGUI01/memo22
http://wiki.osask.jp/?OSASK-HB
http://wiki.osask.jp/?OSASK-HB/0001
http://community.osdev.info/?GO