WordPressでブログを作ってみた

いろいろ実験したいこともあり、WordPressでブログを作りました。新しく作った方は、個人的な軽い話題をメインにする予定ですが、よろしければどうぞお越し下さい m(_ _)m Y.FUJITA::NOTEPAD

Pinball Tristan - Mac App Store版のテスト

Mac App StoreでPinball Tristanが承認されたのでpromo codeでダウンロードしてテスト。すると・・・ xpchelper reply message validation: sandbox creation failed: 1002 Code identity not in ACL for container ~/Library/Containers/com.littlewingpinb…

Snow Leopardが飛ぶ日

Snow Leopardを入れていたドライブが飛びました ( ̄〜 ̄;) 新しいOSを入れてしばらくすると古いOSが飛ぶことが多いようなっていうのは気のせいでしょうかw 久しぶりに復旧作業をしたのでメモに残しておきます1. まずインストールディスクで起動してディスク…

ああ懐かしのリソースフォーク

http://ja.wikipedia.org/wiki/リソースフォークWindows 2000 Serverの中のAppleShareボーリュームの中のDiskCopy 6.0フォーマットの.imgファイルの中にある天然記念物級に古いファイルをMac OS X 10.7 Lionに持ってこようとしたのだが・・・「次のディスク…

Mac OS X Lion

開発機にMac OS X Lionをインストールしました。Xcode 4.1を使うにはLionが必須なのですよ・・・パーテションを分けてSnow Leopardとdual bootにしていますが、なかなか安定している印象です。

iPhone/iPadでゲームを開発しよう - その4

テスト用のプログラムですが、描画速度の変化が見やすいように動くようにしてみました :D モデルを動かすには座標変換を行うための行列を使うことになるのですが、OpenGL ES2では行列関連のAPIがごっそり消えていますので必要なものはアプリで用意する必要が…

iPhone/iPadでゲームを開発しよう - その3

まずは簡単にトライアングルを1万枚ほどレンダリングするサンプルプログラムを作ってみましょう :D Xcode4のOpenGL ES Applicationテンプレートに以下の変更を行います。 == EAGLView.h @interface EAGLView : UIView { @private // The pixel dimensions of…

iPhone/iPadでゲームを開発しよう - その2

さて、OpenGL ES2の性能テストをすることにしたわけですが、まずテスト用のモデルを用意しないといけません。ここでは、あまり深く考えずに「ジーラ君」を採用しました:)「ジーラ君」とはこんなモデルですhttp://lwpinball.wordpress.com/2010/12/08/iphone/…

iPhone/iPadでゲームを開発しよう - その1

Pinball Tristanの開発過程を思い出しながらiOSのゲーム開発について少し書いてみようと思います。まず最初に行ったのがOpenGL ES2の性能テストです。ピンボールゲームの場合は60FPSの維持が最優先ですので、そのために3Dモデルの最適化が必要になるのですが…

Pinball TristanをiOSにリリースしましました

ここ半年ほど本業のピンボールゲームのiOS版を作っておりました。これは20年ほど前に開発したピンボールゲームを全面的に書き直したものです。 当時のコードもちゃんとありましたよ ;^) といっても使えそうなものは一行もないわけなのですが・・・これだけ時…

MAD DAEDALUS Released!

MAD DAEDALUSリリース開始しました。どんなゲームなのかは、下記のURLでみられますよ :) http://www.littlewingpinball.com/doc/ja/special/index.htmlちなみにMAD DAEDALUSはC++で35,000行ほどです :Dとりあえずはご案内まで!

Recent conditions

ここしばらく本体となるピンボールゲームの開発に忙しくイプシロン関連の更新が滞っております :( 新タイトル「MAD DAEDALUS(仮称)」が完成しましたら、その成果をイプシロンにフィードバックいたします、どうぞしばらくお待ち下さい m(_ _)m

JelloBench - A practical garbage collection benchmark program

Shibuya Lisp TT#2の発表の時に使った"JelloBench"です :)テクスチャマッピングされたポリゴンをSDL/OpenGLで描画しています。プログラムはすべてSchemeで書かれていますが、Intel Core2 2.4GHzのLinuxで3500フレーム/秒以上の表示が可能です。JelloBenchの…

YpsilonがPS3で動くようになりました

野田 開さんのご厚意によりPS3をSSH経由で提供して頂きました m(_ _)m32bit/64bit対応でFFIもサポート済みですよ。 :)libspe2を使ったテストプログラムを作ってみました。svn trunkのイプシロンをPS3に入れると動きます^^b #!/usr/bin/env ypsilon #!r6rs …

SDL_ttfのバインディングを追加しました

example/sdl-ttf-demo.scmの表示です :)

MySQLのバインディングを追加しました

やっぱりハッシュテーブルだけだとキツイです・・・で、餅は餅屋ということでMySQL 5.1 C APIのバインディングを追加しました。 $ ypsilon Ypsilon 0.9.6-trunk/r443 Copyright (c) 2009 Y.Fujita, LittleWing Company Limited. > (import (ypsilon mysql)) …

nanoasm version 1.0

Digammaに使うJITアセンブラをtrunkにコミットしました。必要な分の小さな命令セットだけを扱うので名前は"nanoasm"です :) テストでは1000万命令以上をアセンブルしてyasmの結果と比較しています。数時間かかって面倒なのですが・・・ミスアセンブルで地獄…

C++ JIT Assembler for Digamma

ディガンマはバグと戦ってこれを倒した。 ディガンマは経験値とJITアセンブラという名前の武器を手に入れた :) Schemeのアセンブラだけだとブートストラップが面倒なのでC++だけで使えるものを作っちゃいました。IA32とAMD64(Intel64)の基本的な命令だけをサ…

SDL on Mac OSX

id:kazuya_aさんにSDLをMac OSXで使う方法を教えて頂きました :D ypsilon+SDL+Mac OSX! SDLMain.mをスタティックリンクしなくても良いというのは素晴らしいですね!

Digamma - Tracing JIT Compiler for Ypsilon

ネイティブコード生成についていろいろと考えていましたが、Tracing JITと呼ばれるものを試してみることにしました。Tracing JITでポイントとなるのはインタープリタとコンパイル済みのコードの切り替えに起因するオーバヘッドかと思います。またYpsilonでは…

FFIに可変引数(variadic arguments)のサポートを追加しました

こんな風に使えます :D > (import (ypsilon ffi)) > (define libc (load-shared-object "libc.so.6")) > (define printf (c-function libc "libc" int printf (char* ...))) > (printf "test %d %f %s %e\n" 100 100.0 "こんにちは" 0.0001) test 100 100.00…

Gtk, Gdk, Pango, GtkGLExtのバインディングを追加しました

Glib, GObjectの一部も作っています。全部で4000個くらい関数があって、Gtkだけでも1万行を越えています@@。あんまりなので、現在はWidgetごとに細かくライブラリファイルを分けた状態にしています。もちろんCのヘッダーファイルから定義をぶっこ抜くスク…

SDLとCairoをライブラリに追加しました

SDLとCairoのバインディングをライブラリに追加しました。WindowsもOKですよ:D

Shibuya Lisp テクニカルトーク #2に参加してきました

Shibuya.lisp テクニカルトーク #2に参加してきました。素晴らしいイベントでとても楽しい時間を過ごさせていただきました。お世話になった皆様にとても感謝いたしております。m(_ _)m今回のトークでは簡単なゲームを作ってデモを行いました。*1 ゲームはす…

SRFI-48を追加しました

SRFI-48を追加したのですが、そのテストの過程でR5RSで不思議に思っていた'#'をPetite Chez Schemeが出力するのを目撃しました :)

R6RSのライブラリ一覧表

R6RSのBase LibraryとStandard Libraryの一覧表を作成しました。各キーワードからr6rs.orgのhtmlページに飛べるようになっています。飛び先の一覧は逆引きSchemeチームから頂きました。感謝感謝です :)http://www.littlewing.co.jp/ypsilon/doc-draft/r6rs.h…

ドキュメント: (ypsilon socket)

ソケット関係のドラフトを追加しました。 http://www.littlewing.co.jp/ypsilon/doc-draft/ドキュメントは仕様の再検討とテストも行いながら書くので時間がかかりますね。でも、これは貴重なリファクタリングの機会にもなりますので少しづつ進めるつもりです…

FFIでFastCGIを使ってみた

Socket関連のドキュメントを書くにあたりhttpを試していました。lighttpdと簡単なCGIを書いてテストしていたのですが、CGIではイプシロンの起動の遅さが気になりました。そこでFastCGIというのを試してみることにしました。

SchemeからCへの実験

さて、いまイプシロンのドキュメントを書いているわけなのですが、そうすると何か新しいことを試したくなってきます。これは本能なのでしょうか :p

ドキュメント

バグの方も落ち着いてきたので、APIを整理しながらドキュメントを書き始めることにしました。最初に手をつけたのは一番面倒そうなFFIとCの構造体の部分で、下記のURLにドラフトをアップロードしています。 http://www.littlewing.co.jp/ypsilon/doc-draft/