SECDV VMのインタプリタできた。後で何か書く。https://github.com/okuoku/yuni/commit/42b819b3ca09f716eb2f180d54065a4291e313e3 基本的にスムースに動いて後はヒープとかコンパイラを残すのみだけど、MIT Schemeの微妙な多値の実装に半日悩んだ。 MIT Sch…
前回( http://d.hatena.ne.jp/mjt/20170505/p1 )はVMで使用するレジスタと実行時の用法を考えた。今回はVMの根幹になるVM命令セットを決める。 今回のVMのコンセプトとして: ゲームのスクリプティングに使うので多少は効率的 - 少くとも元のSECDR Scheme程度…
前回( http://d.hatena.ne.jp/mjt/20170501/p1 )はVMの基本的なコンセプトを考えた。今回はとにかくVMコンパイラを作る上で最初に必要になる、レジスタの構成と手続きの呼び出しプロトコルを考える。 SECDV VM のレジスタ SECDVのレジスタ構成は、SECDR Sche…
というわけで、前回( http://d.hatena.ne.jp/mjt/20170321/p1 )見たSECDRマシンをベースに、多値を扱えるVM(SECDVマシン?)を考えていく。 多値を直接的に扱うことで、メモリ効率が改善できるのではないかと考えている。SECDRマシンでは環境(Environment)を表…
現在配信中のWindows 10 Creators Updateでは、WindowsのオブジェクトベースオーディオであるWindows Sonicが統合され、スピーカーアイコンの右クリックという超一等地に"立体音響"のメニューを追加している。 今のところ、ヘッドホンではWindows標準のHRTF…
コンパクトなVMベースのScheme処理系としてはSECDR Schemeが有る。というわけで、SECDR Schemeのコンパイラを読んでみる。 http://www.maroon.dti.ne.jp/nagar17/mulasame/ SECDR-Scheme https://gist.github.com/okuoku/3f2e469497bbf12575e8 SECDR scheme…
Bash on WindowsのWindows Subsystem for Linux(WSL)は要するにLinuxなので普通にrumpkernelが動いた。まる。 rumpkernelはNetBSDのデバイスドライバやプロトコルスタック類を動作させるためのAPI( http://netbsd.gw.com/cgi-bin/man-cgi?rumpuser )を切った…
追記: TVのオーバスキャンを考慮して表示領域を縮小する機能を備えているが、PS4と異なり画面全体が(システムUI含め)縮小される。また、ARIB標準( http://d.hatena.ne.jp/mjt/20150726/p1 )の90%デフォルトではなく100%デフォルトとしている。このとき、スク…
というわけでNintendo Switchを発売日に(会社をサボって)入手した。 全体的に素晴しいデキで、ゲームコンソールのあるべき姿を提示したのではないかと思う。細かい変な仕様も散見されるが、実装面ではマルチユーザ型コンテンツプレイヤの模範と言って良いの…
https://www.nakabayashi.co.jp/news/2017/release/277 製品のWebサイトが存在しないのでニュースリリース 今迄Logicool M570tを使ってきたけど、ホイールボタンがダメになってきたので買い替え。アキヨドで7000円くらい。M570tは2014/8/15以来使ってるらし…
http://www.avermedia.co.jp/product_swap/avt-c878.html UVCなHDMIキャプチャ。アキヨドで27000円くらい。 実はUVCなHDMIキャプチャはあまり市場に選択肢が無く、以前使っていたSKNET MonstarX Live( http://d.hatena.ne.jp/mjt/20121216/p1 )以来な気がす…
yuniが急にMIT/GNU Schemeで動かなくなったので調べてみると、どうも最近のMIT Scheme(9.4になるバージョン)にはbytevector関連の手続きが一通り用意されているようだ。 https://github.com/okuoku/yuni/commit/ea9d9737ea3b4e08c7228eb0aad56a0e32963ccf yu…
追記: IncludePathは別にWindowsSDK_IncludePathで良いみたいなので変更 Visual Studio 2015以降、MSは.zipを展開するだけで使えるビルド環境であるEWDK(Enterprise WDK)を提供している。 https://msdn.microsoft.com/windows/hardware/drivers/develop/inst…
要約: SoftEtherはWindows上で動作するGUI付きSlirpとして便利に使える。未来型てるろーど( http://hamradio1.life.coocan.jp/~telroad.htm )。 VMをネットワークに見せるのに従来はWindowsのICS(Internet Connection Sharing: いわゆる"インターネット接続…
前回( http://d.hatena.ne.jp/mjt/20170211/p1 )書いたように、FFIのコールバックでScheme手続きを呼び出すためには、Cオブジェクト、要するにCポインタを通してScheme手続きを受け渡す必要がある。 例えばnmoshにはobject→pointerが有ったり、Chez schemeに…
YuniFFIは今のところ10くらいの処理系のScheme→C呼び出しを抽象化している。しかし、コールバックを取るC APIは地味に多いため、コールバックにも真面目に対応しないといけない。。 YuniFFIではScheme→Cの呼び出しAPIをNCCCと呼んでいる特定のCプロトタイプ…
クライアント版のWindows10にはWSL(Windows Subsystem For Linux)と呼ばれるLinuxカーネルエミュレータが搭載されており、これを使用したBash On WindowsとしてLinuxのバイナリ互換環境を提供している。 世間にはいろいろとこのWSLを使ってアプリケーション…
追記: RunaboveのようなARM VPSを使えば良いじゃんというツッコミ( https://twitter.com/nalsh/status/827884020591505408 )が有った。ごもっとも。。 諸般の事情でARM版のCI環境が必要になったので、ついでにyunibaseでも同様に用意した。 http://blog.hypr…
追記: 現在では、より直接的な、"allow-nondistributable-artifacts"を使える: http://www.sonatype.org/nexus/2017/11/28/setting-up-sonatype-nexus-3-as-your-windows-docker-container-registry/ ( https://github.com/docker/docker-ce/commit/8fabd694…
http://www.kingjim.co.jp/sp/portabook/xmc10/ 公式サイト Nintendo Switchの予約のついでに有楽町ビックカメラで購入。ポイントで購入した。(本来の開店時間よりも前でも普通に販売をしているようだ) 世間的な評判はイマイチだけど、それなりに使いやすい…
前回: http://d.hatena.ne.jp/mjt/20160831/p1 Schemeで作ったゲームをどうやって配布するか考える 今のところyuniのアプリケーションはCMakeのスクリプトで書かれたランチャ経由で起動される。単体で動作させるためには、これをなんとかScheme側に持ってく…
前回: http://d.hatena.ne.jp/mjt/20150926/p1 ゲームプラットフォームとしてのスマートTV 現状"テレビに映るゲーム"を考える上で、リモコンを使用した操作体系を考えておく必要がある。...営業的な意味では、ゲームを買う層はゲームパッドも用意しているは…
Android-x86プロジェクトはCyanogenModベースのAndroid x86インストールイメージを配布( http://www.android-x86.org/download )している。これはPC版RemixOSのベースにもなっていて、実はこれらにはIntelのhoudiniが何故か含まれておりARMバイナリを直接実…
YouCompleteMeはvim用の補完プラグインで、基本的にCygwinはサポートしていない。まぁでも手でビルドすれば(動く動かないという意味で言えば)動くので使っている。 ycm_core.dllのビルド YouCompleteMeは、 vimスクリプトで書かれたプラグイン本体 と、ycmd…
前回から1年程経過したので ( http://d.hatena.ne.jp/mjt/20151123/p1 )。 去年から見て重要な違いは: Nintendo SWITCHがほぼSHIELD TVと同スペックで登場した。パフォーマンスに関する考察が同様に適用できる。 逆にNVIDIAはShieldコンソールをほとんど止め…
(追記: http://stackoverflow.com/questions/18497701/emulating-android-jb-on-qemu 検索したら普通にJBをVExpressで動かしている投稿があった。。) シミュレーションのために適当なPDAの動作中の命令トレースが欲しい。まぁ今だとAndroidで良いんじゃない…
追記: nfs.enable_ino64=0 が必要なので追記、あとinit=/bin/shでrootパスワードをセットする必要があるのも。 そろそろteslawireのエンジン側をARM11に載せる算段を考えないといけないので、Raspbianの開発環境をWindows上で揃えることにした。 というわけ…
yuniは基本的にR7RSを基盤としている。が、ゲームエンジンなりなんなりを書いていく上で互換性の維持が難しかったり、マイナーであったりする機能は削って移植性を確保したい。他のScheme共通ライブラリ、例えばslibはもっと心が広い( http://srfi.schemers.…
なんだか偶にLarcenyでコンパイルしたライブラリが動作しない現象が発生するようになった(Larcenyのバイナリを使ったテストがAppVeyorでだけ失敗する)。常に(yuni base match)ライブラリで起こるので、たぶんLarceny側のexpanderにバグが有るんじゃないかと…
追記: SCM自体にはdynamic loadingは有るが、Win32向けのバイナリディストリビューションでは有効にされていない 前回( http://d.hatena.ne.jp/mjt/20160825/p1 )、結局R5RSでのdefine-valuesは諦めた雰囲気を出していたが、結局サポートした。...実際には偶…