サイトトップへ
OSASK.NET
  サイトトップへ       新掲示板(閉鎖済)   Wiki(凍結済)   旧掲示板(廃止済)   ニュース(廃止済)  
7: 2009-01-11 (日) 20:33:57 ソース 現: 2024-01-08 (月) 12:58:42 k-tan ソース
Line 1: Line 1:
-* ぐいぐい01に関するメモ-22+TITLE:x 
 +* ぐいぐい01に関するメモ-22 [#i32c90fd]
-(by [[K]], 2009.01.09) -(by [[K]], 2009.01.09)
-メモのうち重要な部分をそのうちまとめてまともなページを作る -メモのうち重要な部分をそのうちまとめてまともなページを作る
-*** (37) 2009.01.09以降の近況+*** (37) 2009.01.09以降の近況 [#fc598b90]
-以前の近況ページ([[GUIGUI01/memo14]])がもう長くなってきたので、以降はこっちに書くことにします、気分も新たに。 -以前の近況ページ([[GUIGUI01/memo14]])がもう長くなってきたので、以降はこっちに書くことにします、気分も新たに。
-現在efg01の仕様変更は予定していません。検討しているのは、仕様拡張だけです。ただし.g01アプリのほうは、仕様変更したいことがいくつかあります。 -現在efg01の仕様変更は予定していません。検討しているのは、仕様拡張だけです。ただし.g01アプリのほうは、仕様変更したいことがいくつかあります。
Line 16: Line 17:
   /* fomrat.code.align:1 でも同じこと */    /* fomrat.code.align:1 でも同じこと */
 }  }
 + 
 file: {  file: {
   ../z_tools/guigui01/golibc.lib    ../z_tools/guigui01/golibc.lib
Line 22: Line 23:
   /* このセクションはin:の後に指定したものと見なされる */    /* このセクションはin:の後に指定したものと見なされる */
 }  }
 + 
 label: {  label: {
   startup    startup
Line 38: Line 39:
-現在文字コードを(互換性を乱さない範囲で)改良したらどうなるか研究中。このアイデアの細部は僕の考案物ですが、大枠はneriさんのほうが何日も先です。・・・なおここに出ているabcdw012は仕様変更を伴わない単なる仕様拡張なので、急いでリリースしたりする予定はありません。だからもうすぐか?なんて期待しないでください(笑)。 -現在文字コードを(互換性を乱さない範囲で)改良したらどうなるか研究中。このアイデアの細部は僕の考案物ですが、大枠はneriさんのほうが何日も先です。・・・なおここに出ているabcdw012は仕様変更を伴わない単なる仕様拡張なので、急いでリリースしたりする予定はありません。だからもうすぐか?なんて期待しないでください(笑)。
-やっぱりこの表がないと楽しくないので(笑)書いておくことにします。 -やっぱりこの表がないと楽しくないので(笑)書いておくことにします。
--以下にここまでの成果(多分これが限界でもあると思う)を書いておきます。[2009.01.10更新]+-以下にここまでの成果(多分これが限界でもあると思う)を書いておきます。[2009.01.14更新]
|          |hello      |hello-c    |chars      |echo      |echo-c      |cpy        |cpy-c        |makefont-c  |sjisconv-c| |          |hello      |hello-c    |chars      |echo      |echo-c      |cpy        |cpy-c        |makefont-c  |sjisconv-c|
|abcdw006用 |RIGHT:27    |RIGHT:86    |RIGHT:33    |RIGHT:?  |RIGHT:156  |RIGHT:?    |RIGHT:612    |RIGHT:691    |RIGHT:912| |abcdw006用 |RIGHT:27    |RIGHT:86    |RIGHT:33    |RIGHT:?  |RIGHT:156  |RIGHT:?    |RIGHT:612    |RIGHT:691    |RIGHT:912|
|abcdw007用 |RIGHT:18    |RIGHT:69    |RIGHT:14    |RIGHT:13  |RIGHT:71    |RIGHT:?    |RIGHT:342    |RIGHT:347    |RIGHT:507| |abcdw007用 |RIGHT:18    |RIGHT:69    |RIGHT:14    |RIGHT:13  |RIGHT:71    |RIGHT:?    |RIGHT:342    |RIGHT:347    |RIGHT:507|
|abcdw008用 |RIGHT:18    |RIGHT:69    |RIGHT:14    |RIGHT:''6''|RIGHT:51    |RIGHT:''45''|RIGHT:138    |RIGHT:207    |RIGHT:395| |abcdw008用 |RIGHT:18    |RIGHT:69    |RIGHT:14    |RIGHT:''6''|RIGHT:51    |RIGHT:''45''|RIGHT:138    |RIGHT:207    |RIGHT:395|
-|abcdw009用 |RIGHT:17    |RIGHT:68    |RIGHT:''13''|RIGHT:''6''|RIGHT:''50''|RIGHT:''45''|RIGHT:''134''|RIGHT:''203''|RIGHT:''389''| +|abcdw009用 |RIGHT:17    |RIGHT:68    |RIGHT:''13''|RIGHT:''6''|RIGHT:''50''|RIGHT:''45''|RIGHT:134    |RIGHT:203    |RIGHT:389| 
-|abcdw012用 |RIGHT:''16''|RIGHT:''67''|RIGHT:''13''|RIGHT:''6''|RIGHT:''50''|RIGHT:''45''|RIGHT:''134''|RIGHT:''203''|RIGHT:''389''|+|abcdw012用 |RIGHT:''16''|RIGHT:''67''|RIGHT:''13''|RIGHT:''6''|RIGHT:''50''|RIGHT:''45''|RIGHT:134    |RIGHT:203    |RIGHT:389
 +|abcdw014用 |RIGHT:''16''|RIGHT:''67''|RIGHT:''13''|RIGHT:''6''|RIGHT:''50''|RIGHT:''45''|RIGHT:''119''|RIGHT:''188''|RIGHT:''376''|
|COM64plus用|RIGHT:18?  |検討中?    |RIGHT:14    |RIGHT:?  |RIGHT:?    |RIGHT:?    |RIGHT:?    |RIGHT:?    |RIGHT:?| |COM64plus用|RIGHT:18?  |検討中?    |RIGHT:14    |RIGHT:?  |RIGHT:?    |RIGHT:?    |RIGHT:?    |RIGHT:?    |RIGHT:?|
|DOS用      |RIGHT:22    |RIGHT:?    |RIGHT:17    |RIGHT:19  |RIGHT:?    |RIGHT:?    |RIGHT:?    |RIGHT:?    |RIGHT:?| |DOS用      |RIGHT:22    |RIGHT:?    |RIGHT:17    |RIGHT:19  |RIGHT:?    |RIGHT:?    |RIGHT:?    |RIGHT:?    |RIGHT:?|
Line 50: Line 52:
|echo|RIGHT:6バイト|コマンドライン引数のエコーバック| |echo|RIGHT:6バイト|コマンドライン引数のエコーバック|
|chars|RIGHT:13バイト|キャラクターコード0x20から0x7eを出力| |chars|RIGHT:13バイト|キャラクターコード0x20から0x7eを出力|
-|hello|RIGHT:16バイト|コンソールに"hello, world¥n"を出力|+|hello|RIGHT:16バイト|コンソールに"hello, world\n"を出力|
|cpy|RIGHT:45バイト|ファイルのコピーと連結とtek圧縮解除| |cpy|RIGHT:45バイト|ファイルのコピーと連結とtek圧縮解除|
|makefont|RIGHT:72バイト|テキストデータからフォントデータを作る| |makefont|RIGHT:72バイト|テキストデータからフォントデータを作る|
|calc1|RIGHT:86バイト|コマンドライン計算機(整数演算のみ)| |calc1|RIGHT:86バイト|コマンドライン計算機(整数演算のみ)|
 +-512バイト以下で有用なアプリ一覧
 +|hexdump|RIGHT:168バイト|ファイルの16進ダンプ表示|
 +|calendar|RIGHT:358バイト|カレンダー表示|
---- ----
-2009.01.11 -2009.01.11
Line 61: Line 66:
-ちょっとした思い付きで、カレンダーアプリを作りました(夏至とかを話題にしたせいで思いついた)。372バイトです。指定した月だけ表示するのと、1年分全部表示するのを選べます。「ぐいぐい01」アプリの中では、なかなかに実用的といえるアプリです。またフルアセンブラ化したアプリとしても最大記録です。1年分を出力させると2KBを超えるのですが、372バイトのプログラムから2KBも出てくると、なんだかお得感があります(笑)。このアプリのDOS版とかを作ってサイズ比較すると、helloやcharsやechoよりも現実的かもしれません。僕はあまりやる気がしませんが(というか負ける気がしない)。 http://osask.jp/files/ -ちょっとした思い付きで、カレンダーアプリを作りました(夏至とかを話題にしたせいで思いついた)。372バイトです。指定した月だけ表示するのと、1年分全部表示するのを選べます。「ぐいぐい01」アプリの中では、なかなかに実用的といえるアプリです。またフルアセンブラ化したアプリとしても最大記録です。1年分を出力させると2KBを超えるのですが、372バイトのプログラムから2KBも出てくると、なんだかお得感があります(笑)。このアプリのDOS版とかを作ってサイズ比較すると、helloやcharsやechoよりも現実的かもしれません。僕はあまりやる気がしませんが(というか負ける気がしない)。 http://osask.jp/files/
--こんなのが出ます。 --こんなのが出ます。
- >efg01 calender.g01 2009 1 + >efg01 calendar.g01 2009 1 
 + 
         Jan 2009          Jan 2009
 + 
 Sun Mon Tue Wed Thu Fri Sat  Sun Mon Tue Wed Thu Fri Sat
                   1  2  3                    1  2  3
Line 71: Line 76:
  18  19  20  21  22  23  24   18  19  20  21  22  23  24
  25  26  27  28  29  30  31   25  26  27  28  29  30  31
 + 
 +----
 +-2009.01.14
 +-abcdw013を開発中。もちろん今回もバイナリレベルでの上位互換は確保。.g01限定の簡易圧縮形式を導入して、アプリを13~17バイトくらい小さくします。
 +--これはどういうことかというと、tek圧縮では基本的に一般のデータフォーマットとの誤認を避けるために、15バイトにも及ぶ非常に長いヘッダを採用しています。これは基本的にはいい設計思想だと今も思っているので変える気はないのですが、一方で、アプリを究極的に小さくしたいという目的のためには、少々じゃまになっています。
 +--またabcdw012までの方法で.g01アプリを圧縮すると当然2バイトのg01シグネチャも圧縮することになるのですが、これのせいで結果的にファイル全体の傾向の予測にノイズが入るようなことになって、圧縮率が(わずかですが)下がっています。そこで、ヘッダ部分は圧縮対象からはずして、ヘッダ以降のみを圧縮してやるという方式を導入します(もちろん従来の形式もそのまま使えます)。
 +--そうするとg01ヘッダがある時点でフォーマット誤認の心配はないので、15バイトのヘッダはただのゴミです。ということでカットします。こうしてこのカット分だけアプリが小さくなるというわけです。
 +----
 +-2009.01.29
 +-.g01にもsprintf的なものを導入したほうがいいんじゃないかと仙台で思った。でも本当にそうなのか検討する時間がない・・・。
- +* こめんと欄 [#i622c325]
-* こめんと欄+
- 急いでリリースすることはないはずだったのに、結局abcdw012をアップロードしました。  http://osask.jp/files/ まあhelloの最小記録更新記念ってことで。 -- [[K]] &new{2009-01-10 (土) 20:05:36}; - 急いでリリースすることはないはずだったのに、結局abcdw012をアップロードしました。  http://osask.jp/files/ まあhelloの最小記録更新記念ってことで。 -- [[K]] &new{2009-01-10 (土) 20:05:36};
 +- abcdw013をアップロードしました。ドキュメントはhideyosiさんの苦労をしのんで改良しましたが、はたして役に立ってくれるでしょうか・・・。 -- ''K'' &new{2009-01-15 (木) 19:16:01};
 +- abcdw013にはバグがあったので、バグを直してabcdw014を作りました。 -- ''K'' &new{2009-01-15 (木) 22:19:16};
 +- abcdw015をアップロードしました。要望の多かったキー入力に対応しています。まあまだいたらないところはいろいろありますが、これでWin/Linuxで共通に使えるバイナリをコンパクトに作るという点では、コンソールアプリ限定なら、少しは使えるはずです。 -- ''K'' &new{2009-09-23 (水) 17:43:58};
 +- abcdw017をIRCでリリースしたらうまく行っているようなので、そのまま一般公開しました。 http://osask.jp/ からたどれます。APIを増やしてtcnsのゲームを追加しました。 -- ''K'' &new{2009-10-06 (火) 01:35:42};
#comment #comment

トップ   差分 バックアップ 複製 名前変更 リロード印刷に適した表示   ページ新規作成 全ページ一覧 単語検索 最新ページの一覧   ヘルプ
新着

目次
メンバー一覧


最新の20件
2016-10-01 2016-09-08
  • @MenuBar.
2016-09-07 2016-09-04 2016-08-15 2015-09-23 2014-07-30 2014-07-04 2014-02-04 2013-10-26 2013-06-21 2013-06-17 2013-06-15 2013-04-02 2013-02-09 2013-02-04 2012-12-25 2012-12-01 2012-05-28 2012-03-31

トピック一覧
一般用コメント最新
新掲示板lina
2016/9/5 20:58
SandBoxゲスト
2016/9/4 12:01
RecentDeletedlina
2015/6/2 19:29
Old-OSASK-MLlina
2014/6/29 9:14
hideyosi/メールhideyosi
2014/1/6 20:17
hideyosi/募集中lina
2013/11/8 19:56

このサイトは川合秀実から委託を受けて、OSASKコミュニティによって管理・運営されています。