Silverlight
id:n7shi:20101204のファイルシステム読み込みツールを改造して、ディレクトリやファイルの構造が表示できるようになりました。今まではイメージ全体をZIP圧縮して取り出すことしかできませんでしたが、ファイル単位で取り出せるようになりました。Windows F…
名古屋Geek Bar 5月2日(月)でLTをして来ました。V6関係のツールがメインですが、自己紹介に絡めて独自言語のセルフホスティングも取り上げています。V6 Interpreter (Nagoya Geek Bar 2011-05-02)
id:n7shi:20110330で開発に着手したPDP-11のインタプリタですが、最低限必要な命令とシステムコールを実装して、ようやくV6のコンパイラが動くようになりました。Silverlightに対応した環境ではブラウザ内で動きます。 実行 ⇒ http://7shi.net/v6/ ソース ⇒ …
id:n7shi:20110322で開発したPDP-11の逆アセンブラを拡張して、UNIX V6のバイナリを対象としたインタプリタの開発に着手しました。まだ未実装の命令やシステムコールが多数ありますが、とりあえずprintf()くらいは動くようになりました。Silverlightに対応し…
PDP-11の命令について調査するため、Silverlightで逆アセンブラを作成しました。UNIX V6のa.outに対応しています。 実行 ⇒ http://7shi.net/v6/ ソース ⇒ https://bitbucket.org/7shi/v6/src/e49b87e118af Lions本では8進数に戸惑ったため、デフォルトの出力…
※地震の影響による電力・交通事情を踏まえ、中止しました。まだ少し先ですが、Silverlightの初級勉強会を開催することになりました。初心者を対象としていますので、開発は初めてという方でもお気軽にご参加ください。 2011年3月19日(土) 午後1時〜6時 ア…
※このエントリは F# Advent Calendar jp 2010 第17回目の参加記事です。F#の話題を目にしても「何やら難しそうなコードが掲載されていて、自分には関係なさそうだ」と素通りしたことはないでしょうか?実は、私もそうでした。F#の本を入手してぱらぱら眺めて…
id:oraccha:20101101の手順を参考に、UNIX V6をSIMHで動かしてみました。分析のためファイルを取り出そうとしたのですが、TCP/IP以前のOSのためネットワークが使えるのか不明で、ディスクイメージからファイルを取り出す方法も分かりません。仕方ないのでカ…
id:n7shi:20100727でAlpha逆アセンブラをインタプリタ上で動かしましたが、あまりにも遅かったです。使用しているすべてのlibc関数をfopen()等と同じようにF#でインタプリタ側に実装して、ループの無駄等を見直しました。その結果、約10倍ほど高速化しました…
C言語でAlphaの逆アセンブラ(以下7d)を開発して、id:n7shi:20100712でSilverlight化したAlphaインタプリタ上で動かしてみました。デフォルトでDisassembleのタブに出てくるアセンブリが7dの出力です。横のコンボボックスで従来の組み込み逆アセンブラと切…
id:n7shi:20100710の方法でVWD2010EEでもF#が使えるようになったので、id:n7shi:20100709でF#に移植したAlpha逆アセンブラ・インタプリタをSilverlight化しました。 実行 ⇒ http://7shi.net/betelgeuse/ ソース ⇒ http://github.com/7shi/Betelgeuse/tree/20…
【追記1】いげ太さんより、XP SP3 + Visual Studio 2010 Proの環境でも同様の問題が発生するとのご報告がありました。【追記2】いげ太さんより、Don Syme氏直々のご回答をご報告いただきました。 window.twttr = (function(d, s, id) { var js, fjs = d.getE…
SilverlightでF#を使用する場合、Visual Studio 2010 ProfessionalではC# SilverlightアプリケーションとF# Silverlightクラスライブラリを組み合わせる方法が推奨されているようです。 F# for Silverlight 4 available - Inside F# フリーのVisual Web Deve…
Alphaの命令について調査するため、Silverlightで逆アセンブラ・インタプリタを作成しました。以下でホスティングしています。ページ上部の[Test1]などのボタンを押すとサンプルを読み込んで実行します。 Sirius - Alpha Canis Majoris (名前の由来:最も明…
IMEの状態が検出できるようになったので、内部でTextBoxを利用して独自コントロールで文字入力してみました。 ⇒ 動作確認とソースキャレットは点滅しません。カーソルキーやクリックで移動できません。編集は[Backspace]だけです。たまに変換中に文字を取り…
Silverlight 3でIMEの制御は、TextBoxでの有効・無効の設定しかできません。TextBox以外からIMEを利用する方法はありません。キーストロークから文字を取得(例: [Shift]+[1]→!)する方法もありません。このような状況でエディタを作ろうとすると、全部自前…
デバッガもどきを作ろうとして挫折しました。後で使い回すかもしれないので、ボタンのXAMLを貼っておきます。画像ファイルを用意しなくてもアイコンが作れるのが新鮮でした。
id:n7shi:20090731:1248967824でMonitorを取り上げましたが、AutoResetEventを使った方が簡単だということが分かりました。詳細はid:n7shi:20090731:1248967824を修正したのでそちらを参照してください。AutoResetEventについてはParallel で最適化してみる…
id:n7shi:20090714でXmlXapResolverを取り上げましたが、Application.GetResourceStream()を使った方が簡単だということが分かりました。詳細はid:n7shi:20090714を修正したのでそちらを参照してください。
id:fslashtさんのMIZU GAMEをSilverlightに移植しました。動作確認とソースのダウンロードは以下です。 MIZU GAME for Silverlight オリジナルを初めて起動したとき、流れるような水の表現に圧倒されました。それを再現するため、SDL.NETを使用している部分…
SilverlightではSystem.Windows.Documents.FontSourceでフォントを読み込んで描画に使用できます。GDI+のPrivateFontCollectionに相当しますが、Familiesに相当するものがないため、あらかじめフォント名を調べておく必要があります。mplus-2p-black.ttfなら…
MediaElementをXAMLに記述しないでコードから呼ぼうとしてハマりました。検索しても情報が錯綜しています。 id:beta_magnus:20090625:1245906963 : SilverlightのMediaElementはビジュアルツリーに組み込まないと音声再生などができないらしい、という噂を聞…
id:n7shi:20090801のスーパーマリョーワールド(仮)をSilverlightに移植しました。実際にプレイできます。動作確認とソースのダウンロードは以下です。 Super Maryo World for Silverlight 移植にはid:n7shi:20090730で開発したWindows Formsエミュレーション…
SilverlightのWebRequestには非同期のBeginWebResponseしかありませんが、以下のような拡張メソッドでGetResponse相当の同期呼び出しができます。メインスレッドからは呼べないので注意が必要です(詳細は後述)。
id:m107さんのh01とy01をSilverlightに移植しました。ゲームとしては遊べませんが、実験の一環です。動作確認とソースのダウンロードは以下です。 キャラクタが一人 キャラクタが四人 拡大・縮小・スクロール キャラクタの移動 効果音 フリック動作 BGM アイ…
UIElementをラスターデータで出力するのにはWriteableBitmapが使えますが、ベクターデータで出力するのにXAMLを使ってみました。サンプルではVisual TreeをTreeViewで表示しているため、コントロールの内部構造と比較できます。 ⇒ 動作確認とソースSilverlig…
WriteableBitmapのイメージは簡単にBMPファイルとして保存できます。 var bmp = new WriteableBitmap(LayoutRoot, null); var sfd = new SaveFileDialog { Filter = "32 ビット ビットマップ (*.bmp)|*.bmp|すべてのファイル (*.*)|*.*", DefaultExt = ".bmp…
自作言語AndromedaをSilverlightに移植しました。Win32バイナリを出力するネイティブコンパイラです。動作確認とソースのダウンロードは以下です。 Andromeda for Silverlight Andromeda クラスマップ ツリーのSamplesからビルドしたいサンプルを選んで[Buil…
id:takuto_hさんのCyanとYellowの移植をSilverlight 3に対応しました。動作確認とソースのダウンロードは以下です。 Cyan for Silverlight Cyan クラスマップ Yellow for Silverlight Yellow クラスマップ 変更点は以下の通りです。 ドキュメントリストをLis…
Silverlight 3でTreeViewがサポートされました。デフォルトでは参照されないため、System.Windows.Controls.dllを参照に追加する必要があります。ItemsにはTreeViewItem以外も入れられますが、子ノードをぶら下げられるのはTreeViewItemだけです。以下は親ノ…