page0059
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
* すべてがOSECPUアプリになる?
-(by [[K]], 2013.08.02)
-ちなみにこのページ名は、森博嗣著『すべてがFになる』のタ...
** (0) はじめに
-OSECPUアプリはセキュアです。そしてOSECPUアプリは機能密度...
** (1) きっかけ
-ええとOSECPUアプリでは、画面に絵を描く系のアプリが多いで...
-OSECPUではapp0006.oseで256x256ピクセルのきれいなグラデー...
-でもこれを眺めていたら、ふと思ったのです。・・・「あれ、...
-このアイデアに僕はわくわくしました(笑)。
-早速適当な画像ファイルを用意して(下記参照)これをOSECPU...
--http://osecpu.osask.jp/download/night.png
~''night.png''
-調子に乗ってもう一個やってみました。.pngでは38233バイト...
--http://osecpu.osask.jp/download/osask.png
~''osask.png''
-「.oseは新しい画像形式です。ものにもよりますが、単純な絵...
** (2) こうさつ
-まあこれは半分は冗談です。だからそんなに真剣にならずに軽...
-.oseなら画像だけではなくて普通のOSECPUアプリの実行にも使...
-OSECPUは仮想マシンなので、特定のCPUに依存せずに実行でき...
-OSECPUはセキュアなので、データ形式の候補になりえます。も...
-そしてもちろん、.oseが.pngや.gifよりも小さくなるからこん...
** (3) プログラムについて
-app0080.ask (瑣末な記述は省略しています)
VPtr p:P01;
PLIMM(p, L_PICTDATA);
DAT_SA(L_PICTDATA, T_UINT8, 16384); // 128*128=16384
D8B(4,4,4,4,4,4,4,4,4,4,4,...
(中略)
D8B(6,6,6,6,6,6,6,0,0,0,0,...
SInt32 x:R00, y:R01, c:R02;
junkApi_openWin(128, 128);
for (y = 0; y != 128; y++) {
for (x = 0; x != 128; x++) {
LMEM0PP(c, T_UINT8, p);
junkApi_drawPoint(4, x, y, c);
}
}
--このプログラムでopenWinから最後までのバイトコードは無圧...
--このプログラムで、基本8色しか使わない画像は全て対応でき...
-インデックスカラーを使うとしたら:
VPtr p:P01, t:P02;
PLIMM(p, L_PICTDATA);
PLIMM(t, L_COLORTBL);
DAT_SA(L_PICTDATA, T_UINT?, XSIZ * YSIZ);
D?B(?,?,?,?,?,?,...
DAT_SA(L_COLORTBL, T_UINT24, ?);
D24B(0x??????, 0x??????, 0x??????,...
SInt32 x:R00, y:R01, c:R02;
junkApi_openWin(XSIZ, YSIZ);
for (y = 0; y != YSIZ; y++) {
for (x = 0; x != XSIZ; x++) {
LMEM0PP(c, T_UINT?, p); // c = *p++;
PALMEM0(c, T_UINT24, t, c); // c = t[c];
junkApi_drawPoint(0, x, y, c);
}
}
--多分これがインデックスカラーを使う場合の基本形です。
* こめんと欄
-jpgで保存された写真はどうですか?バイトコードを圧縮して...
-jpgだと多分勝てないです・・・。いや、うーん、勝てるかも...
-pngより圧縮率がいい理由の一つは、OSECPUがtek5圧縮を採用...
#comment
終了行:
* すべてがOSECPUアプリになる?
-(by [[K]], 2013.08.02)
-ちなみにこのページ名は、森博嗣著『すべてがFになる』のタ...
** (0) はじめに
-OSECPUアプリはセキュアです。そしてOSECPUアプリは機能密度...
** (1) きっかけ
-ええとOSECPUアプリでは、画面に絵を描く系のアプリが多いで...
-OSECPUではapp0006.oseで256x256ピクセルのきれいなグラデー...
-でもこれを眺めていたら、ふと思ったのです。・・・「あれ、...
-このアイデアに僕はわくわくしました(笑)。
-早速適当な画像ファイルを用意して(下記参照)これをOSECPU...
--http://osecpu.osask.jp/download/night.png
~''night.png''
-調子に乗ってもう一個やってみました。.pngでは38233バイト...
--http://osecpu.osask.jp/download/osask.png
~''osask.png''
-「.oseは新しい画像形式です。ものにもよりますが、単純な絵...
** (2) こうさつ
-まあこれは半分は冗談です。だからそんなに真剣にならずに軽...
-.oseなら画像だけではなくて普通のOSECPUアプリの実行にも使...
-OSECPUは仮想マシンなので、特定のCPUに依存せずに実行でき...
-OSECPUはセキュアなので、データ形式の候補になりえます。も...
-そしてもちろん、.oseが.pngや.gifよりも小さくなるからこん...
** (3) プログラムについて
-app0080.ask (瑣末な記述は省略しています)
VPtr p:P01;
PLIMM(p, L_PICTDATA);
DAT_SA(L_PICTDATA, T_UINT8, 16384); // 128*128=16384
D8B(4,4,4,4,4,4,4,4,4,4,4,...
(中略)
D8B(6,6,6,6,6,6,6,0,0,0,0,...
SInt32 x:R00, y:R01, c:R02;
junkApi_openWin(128, 128);
for (y = 0; y != 128; y++) {
for (x = 0; x != 128; x++) {
LMEM0PP(c, T_UINT8, p);
junkApi_drawPoint(4, x, y, c);
}
}
--このプログラムでopenWinから最後までのバイトコードは無圧...
--このプログラムで、基本8色しか使わない画像は全て対応でき...
-インデックスカラーを使うとしたら:
VPtr p:P01, t:P02;
PLIMM(p, L_PICTDATA);
PLIMM(t, L_COLORTBL);
DAT_SA(L_PICTDATA, T_UINT?, XSIZ * YSIZ);
D?B(?,?,?,?,?,?,...
DAT_SA(L_COLORTBL, T_UINT24, ?);
D24B(0x??????, 0x??????, 0x??????,...
SInt32 x:R00, y:R01, c:R02;
junkApi_openWin(XSIZ, YSIZ);
for (y = 0; y != YSIZ; y++) {
for (x = 0; x != XSIZ; x++) {
LMEM0PP(c, T_UINT?, p); // c = *p++;
PALMEM0(c, T_UINT24, t, c); // c = t[c];
junkApi_drawPoint(0, x, y, c);
}
}
--多分これがインデックスカラーを使う場合の基本形です。
* こめんと欄
-jpgで保存された写真はどうですか?バイトコードを圧縮して...
-jpgだと多分勝てないです・・・。いや、うーん、勝てるかも...
-pngより圧縮率がいい理由の一つは、OSECPUがtek5圧縮を採用...
#comment
ページ名: