稚拙なソフト達 Mini-Mini Softwares
簡単に,使用例のみ示します。
exe/
PORN.EXE (ミニチェスゲーム,各自 porn×3を持ちます)
XXX> porn
*** small chess ***
player =?0
:
:
BIGTEST.EXE (筆算による巨大数のかけ算)
XXX> BIGTEST 12345678 95462
NCMP.EXE (数値データ専用圧縮,試作二号,解凍機能無し)
XXX> NCMP PI_500.TXT PI_500.NCP
BMPD30.EXE (24bit色BMPのダイエット, v1.30 正式版)
XXX> BMPD30 PICT.BMP PICT-.BMP
BMPD30L.EXE (24bit色BMPのダイエット,v1.30β LFN対応版)
XXX> BMPD30L LFN_Picture.bmp LFN_Picture-.bmp
注意:BMPD30L LFN_PI~1.BMP LFN_Picture-.bmp としても処理できません。
それ故β版なのだが。(笑)
BMPD32L.EXE (24bit色BMPのダイエット,v1.32 LFN対応版)
XXX> BMPD32L LFN_Picture.bmp LFN_Picture-.bmp
XXX> BMPD32L LFN_PI~1.BMP LFN_Picture-.bmp
姑息な手段により,~1形式の指定も可能に。
ただし,相変わらず1ファイル限定処理。
BMPD34L.EXE (24bit色BMPのダイエット,v1.33 LFN対応版)
XXX> BMPD34L LFN_Picture.bmp LFN_Picture-.bmp
XXX> BMPD34L LFN_PI~1.BMP LFN_Picture-.bmp
v1.32のBugFix版。_dos_lfn_findfirst
がフルパスで返すと思ってたら違ったらしい。
仕方ないのでパス名部分を抽出してそこにLFNをくっつけることにした。
でもこれだとパス名部分のLFNには未対応なんだよね‥‥。あ,ShiftJIS漢字対策はしてるけど。
ま,そのうち直そう。v1.32→v1.33 に14か月‥‥。次は何時になるやら。
# BMPD 1.33 は,2001とすべきを2000としてしまったので差し替え。(笑)
BOUZ03.EXE (坊主の屏風絵 Archiver v0.03)
XXX> BOUZ03 a ARCHIVE.BOZ FILENAME.TXT (符号化)
XXX> BOUZ03 e ARCHIVE.BOZ OUTPUT.TXT (複合化)
とりあえず複合かルーチンを作りたかったため,
元のファイル名の抽出はひとまずほったらかし。(笑)
FAC3R6.EXE (階乗の計算, 19400!位まで計算可能)
実は,メモリ確保できるか否かで上限に揺れがあります。
19400!まではまず大丈夫,19500!は多分きつい。規格上の上限は21060!です。
FAC3R6F.EXE (階乗の計算, 21060!まで計算可能)
データ領域を640KB空間から拾うので,空いてさえいれば上限まで計算できるはず。
ただしデータ参照が遅くなるので,上の奴より15000!で20秒程(Pentium75MHz)遅いです。
FAC3R6_.EXE (階乗の計算, WIN32 console版, 上限不明)
計算の上限は調査していませんが,100000!はまず大丈夫でしょう。
XXX> FAC3R6_
n=100
:
:
参考:WIN32 console版の方が,2倍以上早いです。
32bit instruction を使用しているのでしょうね。
MALLOC.EXE (メモリ確保可能量の確認)
XXX> MALLOC
参考:メモリをひたすら確保します。
確保できなくなると,確保できた量を表示して終了します。
結果的に,最大限のswapが発生しますので,そっちにも使えます。
尚,一部のソフトとの相性が悪いという事態が考えられますので,
実行は自己責任(own your risk)でお願いします。
LS06.EXE
FindFirstの実験で作った,DIR /A/S/B 相当のコマンドです。
従って,DIR A:\/A/S/B と同等にするには LS06 A:\*.* としてやる必要があります。
つまり,面倒でも *.* は必要です。なお,ボリュームラベル属性も引っかかります。
あと,カレント及び親ディレクトリの「.」「..」は無視させています。
LS07.EXE
UNIX の ls -al 相当のコマンドになります。
LS06.EXEに,更新日,サイズ,属性の表示を追加したものです。
ただし,コンパイラの都合でファイルサイズが2GBを越すと表示を誤ると思います。
DOS7は64bitで返すらしいが,32bit型までしかないコンパイラなので,
上位32bitは 0 としてプログラムしてあるのさ。‥‥ただの無精だよ。
LS10.EXE
LS07.EXE では「ディレクトリ検索も」指定ワイルドカードで行います。
つまり,「*.BMP」でやってもUNIX の ls -al 相当のコマンドになります。
そこで,「*.*」で検索して自前ルーチンで判別させてみました。
ついでに,ワイルドカードを「正しく」解釈する‥‥ようにしたつもり。
「*log*.*」等の指定が可能になってます。
LS11.EXE
LS10.EXE のバグ修正。並びに日本語(2バイト文字)対応。
ワイルドカード解釈をDIRコマンドに合わせたつもりだったが,
やっぱり趣味の問題でLS12.EXEの時には少々変更する予定。
com/
FACTOR.COM (素因数分解,試作品)
XXX> FACTOR
Please input a natural number... ? 6408
6408 = 2 ^3 x 3 ^2 x 89
MASTER.COM (ご主人の機嫌,数当てゲーム)
実行すれば,やり方はすぐ分かると思います。
画面が消えてしまった場合は,何も入力せずにリターンを押してください。
それまでの経過が表示されます。
XXX> MASTER
****** MASTER MIND ******
COM: これから私が4桁の数を思い浮かべるから,当ててね。
チャンスは10回,4つとも全部違う数字だよ。
COM: (え〜と‥‥うん,xxxxにしよう。)
COM: よし,決まりました。じゃあ始めようか。
****** GAME START *******
COM: さて,私の考えた数はいくらでしょう?
YOU: じゃあ‥‥8192?
COM: はずれ。今のだと,当たった桁が0個で,含まれる数字は1個です。
YOU: じゃあ‥‥3420?
COM: はずれ。今のだと,当たった桁が1個で,含まれる数字が1個です。
YOU: じゃあ‥‥5670?
COM: はずれ。今のだと,当たった桁が0個で,含まれる数字は2個です。
YOU: じゃあ‥‥(4回目,確率50分の1)--> ?
:
:
BMPD26.COM (24bit色BMPのダイエット, v1.26 正式版)
BMPD27.COM (24bit色BMPのダイエット, v1.27β)
BMPD28.COM (24bit色BMPのダイエット, v1.28β)
BMPD29.COM (24bit色BMPのダイエット, v1.29β)
XXX> BMPD29 PICT.BMP PICT-.BMP
ub/
IL68.UB (ののぐらむ解答プログラム,人間思考型,試作品)
RUN "IL68.UB"
class/
Telnet.class
TM04.class
TuringMachine.class
lmhosts.class
Fac3r.class (階乗の計算, Java1.1版, 上限不明)
計算可能な上限は未確認ですが,確実な上界としては 4294967294! (32bit上限) 。
1000000!までは正しく計算できそうです。(Pentium75MHzが3日半占領されました)
exe/FAC3R6_.EXE の,さらに2倍ほど速いです。(Sun JDK1.1.8 使用の場合)
XXX> java Fac3r 400
Factrial on Java, v0.20
INPUT STRINGS : 400
ORDER NUMBER : 400!
:
:
dtd/
KCOM01.DTD (近況連絡文書用 DTD)
<!DOCTYPE KCOM PUBLIC "-//AJ//DTD KCOM 0.1//JN">
KCOM02.DTD (近況連絡文書用 DTD)
<!DOCTYPE KCOM PUBLIC "-//AJ//DTD KCOM 0.2//JN">
KCOM03.DTD (近況連絡文書用 DTD)
<!DOCTYPE KCOM PUBLIC "-//AJ//DTD KCOM 0.3//JN">
KAM-2000-0204-2130
<NO>2000#029
<MEAL>本日のお食事
<BFAST>御飯,滑子汁(20th-4),コロッケ(薩摩芋)
<LUNCH>御飯,赤味噌汁,菠薐草御浸し,下ろしハンバーグ,御茶
<DINNER>御飯,滑子汁(20th-5),コロッケ(南瓜),牛乳,プリン
<NOTE>朝は7:20,昼は13:55,夕は20:10
:
:
COPYRIGHT (C) Ascal-J 1999-2001