Kの開発メモ #0005
- (by K, 2013.05.29)
- ここは川合の開発の進捗などをレポートするところです。
2013.05.31 Fri
2013.06.03 Mon
- 今日はASKAでも世界最小helloとか世界最小charsを記述できるようにツールを強化した。
#include "osecpu_ask.h"
%include "osecpu_asm.h"
OSECPU_HEADER();
junkApi_putConstString('hello, world!');
#include "osecpu_ask.h"
%include "osecpu_asm.h"
OSECPU_HEADER();
for (R00 = 0x20; R00 != 0x7f; R00++) {
junkApi_putcharRxx(R00);
}
2013.06.04 Tue
- fillRectとfillOvalを書いてみた。サンプルとして日本の国旗を書いてみたら、21バイトで書けた。おお、なかなか小さい!
#include "osecpu_ask.h"
%include "osecpu_asm.h"
OSECPU_HEADER();
junkApi_fillRect(4, 640, 480, 0, 0, 7);
junkApi_fillOval(4, 300, 300, 170, 90, 1);

#include "osecpu_ask.h"
%include "osecpu_asm.h"
OSECPU_HEADER();
for (R00 = 0; R00 != 128; R00++) {
R01 = 144 - R00;
R01 *= 2;
R02 = (320 - 144) + R00;
R03 = (240 - 144) + R00;
R04 = R00 * 0x020201;
junkApi_fillOval(0, R01, R01, R02, R03, R04);
}

2013.06.05 Wed
- いろいろアプリを作っていて、これってもしかしてMS-DOSだともっと小さくなるのかなって作り比べたくなる時があったんだけど、いつもOSECPUが負けることは全くなくて、ついに作り比べようという気すら起きなくなった。
- 近いうちにやらなければいけないと思っていること:
- int32s i:R00; みたいな構文のサポート
- drawStringのサポート
- JIT on JIT
- intro
- 各種セキュリティ機能
- ちょっと最近のアプリをまとめてみるか・・・
app0025 - 18バイト - exitのテスト
app0026 - 9バイト - 9バイトのchars
app0027 - 16バイト - 16バイトの hello, world!
app0028 - 17バイト - 17バイトの hello, world!
app0029 - 8バイト - 8バイトのchars
app0030 - 15バイト - 15バイトの hello, world!
app0031 - 100バイト - 16進数の羅列のテキストファイルをバイナリファイルに変換
app0032 - 82バイト - app0031のエンジン部分のバイト数を計算
app0033 - - フロントエンドコードの研究用に書いただけ
app0034 - 9バイト - 6.5バイトで5バイト出力できることを確認
app0035 - 15バイト - 15バイトのhelloがASKAで書けることを確認
app0036 - 8バイト - 8バイトのcharsがASKAで書けることを確認
app0037 - 33バイト - アセンブラ短歌に挑戦、難なく22BPTを達成
app0038 - 21バイト - 日本の国旗
app0039 - 34バイト - メタリックなボール
app0040 - 122バイト - OS自作入門の4日目の画面、100バイト以上になったのは少しくやしい
app0041 - 130バイト - app0040を別の書き方で書き直してみたけど小さくならず
- putConstStringの中で、\n,\r,\tを使えるようにしてみた。
こめんと欄