I would love to win the <a href="http://guyoic.com">Carhttsopaic</a> History of You and Me. Well, the title... It's really catchy, plus I think it's got plenty of humor and it received a lot of good reviews! Thanks for the giveaway! * KH-FDPL以前の成果のまとめ -(by [[K]], 2015.03.18) ** (1) V98 -富士通FM-TOWNS専用のNECのPC-9801VX2エミュレータ -1996年?月ごろから開発本格化 -[[K]]が主に設計・開発を行った。 -仮想86モードを利用しており、9801側でプロテクトモードに切り替えようとするとエミュレーションがうまく行かなくなる。60KB程度。 -詳細ページ準備中 ** (2) ASKA (x86用) -x86用の独自文法のアセンブラで文法はC言語にかなり似ている -1996年?月ごろから開発本格化 -[[K]]は言語仕様を主に設計して、ODP氏、RisaPapa氏が主たる開発を行った。 -EAX = 3; if ((signed) CL < DH) { ... } みたいな書き方ができる。 -詳細ページ準備中 ** (3) 第一世代OSASK -PC向けの超軽量型の自作OS -2000年04月ごろから開発本格化(構想は1996年かそれ以前から) -詳細ページ準備中 ** (4) nask -x86用のNASMっぽい(=つまり普通の文法の)アセンブラ -2002年02月ごろ?から開発本格化 -[[K]]が主に設計・開発を行った。 -自称「世界最小x86アセンブラ」を主張している。Jcc命令などで後方参照してても十分に近ければちゃんと自動でshortになる。アドレッシングで[EAX*6-EAX]などが使える。 --win32版でnask.exeが27,648バイト。第二世代OSASK用のバイナリではnask.g01が22,824バイト。 -詳細ページ準備中 ** (5) GO -GCC-3.2をベースにx86専用にして移植性も高めて少しコンパクトにしたCコンパイラ -2002年10月ごろから開発本格化 -GCCに対する差分部分に関しては[[K]]が主に設計・開発を行った。 -cc1.exeは871,424バイト。 -詳細ページ準備中 ** (6) KHBIOS -OSのための互換化レイヤみたいなものでKHBIOS用のOSは機種やCPUに関係なく動く -2003年02月ごろから構想 -[[K]]が主に設計・開発を行った。 -しかし構想の割に実装力が足りなくて中断。 -詳細ページ: [[oldworks06]] ** (7) SGO -最適化機構をほとんど持たないシンプルで素直なCコンパイラ -2003年10月ごろから構想 -[[K]]が主に設計・開発を行った。 -そのうちやろうと思いつつ、まだやってない。 -詳細ページ準備中 ** (8) tek5 -LZMAをベースにした可逆データ圧縮 -2003年10月ごろから開発本格化 -LZMAに対する差分は、[[K]]が主に設計・開発を行った。 -本家のLZMAよりも安定した圧縮性能だが、その差は1~2%でしかない。 -詳細ページ準備中 ** (9) khaba -KHBIOSのためのバイトコード体系(Javaみたいなもの) -2005年04月ごろから構想 -[[K]]が主に設計・開発を行った。 -しかし構想の割に実装力が足りなくて中断。 --後の(11)や(13)に生かされた。 -詳細ページ準備中 ** (10) 「はりぼてOS」 -「30日でできる!OS自作入門」のための教材自作OS -2005年04月ごろ?から開発本格化 -[[K]]が主に設計・開発を行った。 -詳細ページ準備中 ** (11) 第二世代OSASK (OSASK-HB) -PC向けの超軽量型の自作OSの作り直し版 -2008年04月ごろから開発本格化(構想はkhabaから) -[[K]]が主に設計・開発を行った。 -efg01.exeは14.5KBだが、これを使うと第二世代OSASKのアプリをWindows上で動かすことができる。 -以下に示す通り、ぶっちぎりでアプリが小さい。 --コンソールに"hello, world\n"を出力 : 16バイト --Win-COFFのライブラリアン : 2,386バイト -詳細ページ準備中 ** (12) blike -C言語向けのグラフィックライブラリ(キー入力支援関数もあり) -2010年07月ごろから開発本格化 -[[K]]が主に設計を行った。実装は主に[[K]](win32)とtakeutch-kemeco氏(Linux向け)が行った。 -画面に線を引いたり四角を描画したりするのが簡単にできる。こういうものがあればC言語で簡単に絵を描けるので、C言語入門者に役立つと考えている。 -詳細ページ: [[oldworks12]] ** (13) OSECPU-VM, 第三世代OSASK -OS志向でセキュア志向の言語処理系VM -2013年03月ごろから開発本格化(構想はkhabaから) -[[K]]が主に設計を行った。実装は主に[[K]]、Liva氏、takeutch-kemeco氏、hikarupsp氏、ryna4c2e氏が行った。 -osecpu.exeは29.0KBだが、これを使うとOSECPU-VMのアプリをWindows上で動かすことができる。 --コンソールに"hello, world\n"を出力 : 14バイト --インベーダゲーム : 430バイト -詳細ページ: [[oldworks13]] ** (14) KH-FDPL -2015年02月ごろから開発本格化(構想は数年前から) -KH-FDPLのオブジェクトの永続化というアイデアは、実は(3)の第一世代OSASKに起源を持ち、当時は「メモリレスアーキテクチャ」と呼んでいた。これはすべてのオブジェクトをファイルとして表現することで、メモリという概念をOSから一掃しようというものだった。 -KH-FDPLが教育志向なのは、 (10)の「はりぼてOS」や(12)のblikeの影響である。そもそも教育志向になった最大の要因は、(3)の第一世代OSASKに多くの人が集まり大きなコミュニティが形成されたことだ。このとき[[K]]は、この人たちにはOSASKに関わったことを後悔させたくない、だからOSASKに関わったおかげで○○について勉強できた、というような流れにしたい、と考えた。それで良質で汎用的な教材を作れないものかと考えるようになった。 -[[note0001]]の(4)では、ファイルという概念も環境変数という概念も全て「KH-FDPLのオブジェクト」で代用しようと提案しているが、このように概念を統一して構造を単純化しようというのは、(3)の第一世代OSASK以来の伝統である。 -しかし構想をうまくまとめきれず、ひとまず中断。 ** (15) KHPC (persistent-C) -2016年2月ごろから構想 * こめんと欄 #comment