魔法少女くにゅくにゅ a.k.a. 椚座 淳介 @kunukunu わたし昔から人との接し方がわからなくて,後天的に構築した「健常者エミュレータ」を使って生活しているんだけれど,この正体は,過去に経験した様々なシーンを訓練データとして,もっとも穏当な対人応答をモデル化したものなんだよね。これ,やってることは機械学習AIとほぼ同じではないかという。 2022-08-12 23:16:42
健常者エミュレータ事例集Wiki 集合知を構築しよう トップページページ一覧メンバー掲示板編集 トップページ 最終更新: contradiction29 2022年10月18日(火) 00:04:39履歴 Tweet 投稿はこちら→https://hpe-form.vercel.app/ 十選*1 横浜のデートで北朝鮮の工作船を見に行こうとしてはいけない (辛くなる言葉を書かれたり、生命的危機を感じたとしても)他人を刺してはいけない 友人の誕生日を1000日ごとに祝ってはいけない 結婚式をやるなら親を呼んだほうがいい むやみやたらに他人様の家のトイレを借りてはいけない ブラウザにタブを溜め過ぎてはいけない 大学の学生証をレンチンしてはいけない オタクとオタクは恋仲になれると思わない方がいい 相手の声が聞き取れない時は適当な相槌を打ってはいけない お◯ん◯んごっこをしてはいけない 十速*2
一通りちゃんと実装したので、大抵はちゃんと動いてくれるはずです。動かなかったり、画面がおかしかったり、音がおかしかったりしたらバグなので、ご報告いただけるとうれしいです。 エミュレーションコアが2つになったので、せっかくなのでエミュレーションコアのインターフェースを抽象化して、マルチエミュレーターにしました。 リリースページ からコンパイル済みバイナリをダウンロードできます。 マルチエミュレーター エミュレーターを作るうえで割と面倒でバカにならないのがフロントエンドUIの作成です。GUIアプリを作るのはそもそも結構大変で、ましてや昨今のアプリケーションはPCだけでなくスマホやWebといったタイプの異なる複数のプラットフォームで動かしたいというモチベーションがあります。特定プラットフォームにべったりで何となく動くように書けばいいやというのと比べると、取れる選択肢も限られてかなり面倒になってき
ゲームボーイエミュレーター、ゲームボーイアドバンスエミュレーターに続いて、Rustでファミコンエミュレーター"Sabicom"とスーパーファミコンエミュレーター"Super Sabicom"を書きました。 名前にRustっぽさを出してみました。 前回作ったマルチエミュレーターMERUのコアとして実装したので、ステートセーブや巻き戻しなどの機能も使えます。MERUの対応コアはこれで4つになりました。 こちらからWindowsとLinuxのプリコンパイルバイナリがダウンロードできるようになっています。 他のプラットフォームおよびソースコードからコンパイルする場合は ファミコンとスーパーファミコンどちらも一通り本体の機能は実装してあるつもりです。スーパーファミコンは割と細かいところまでちゃんと動くようにしてあるはずなので、動かなかったり表示がおかしかったりするソフトがあればバグですので、ぜひご報
Adobe Flash Playerがセキュリティの問題などから2020年末に終了することが発表され、Flashで作られたゲームなどのコンテンツをなんとか次世代につなげようという試みがいくつか出てきています。 それらの中でも注目を集めているのが、ブラウザ上で動くFlashエミュレータRuffleです。 ruffle.rs Ruffleはユーザーがブラウザの拡張機能やデスクトップアプリとして利用可能なほか、Webサイト管理者側がWebサイト側に設置すればユーザーが特に何もしなくてもFlashコンテンツを再生することが可能です。 つまり、ユーザーかWebサイト管理者側のどちらか一方が導入していれば、Flashコンテンツを再生することができます。 開発は急速に進められており、多くのFlashアニメーションが再生可能なだけでなく、最近では「くまのプーさんのホームランダービー!」「ハム将棋」などの人
株式会社ソニックムーブ エンジニアグループ ソリューションユニット マネージャー 家永 稔之 2011年にソニックムーブに入社。個人ではJavaScriptとTypeScriptを用いて、「swf2js」や「Next2D」の開発を手がける。業務のリモート化をきっかけに地元の消防団に所属し、防災活動として月に数回、消防車両に乗って地域の巡回を行う。 X GitHub Animation Tool かつてインタラクティブなWebコンテンツを支えた「Adobe Flash」。「Adobe Flash Player」は2020年12月末でサポートを終了し、ほとんどのコンテンツはすでに姿を消しました。そんなFlashコンテンツ(SWF)を最新のHTML環境で再生可能にする、オープンソースのJavaScriptライブラリが「swf2js」です。ソフトウェアエンジニアの家永稔之さんが開発し、2015年に
CPUはなんとARMのCPUを採用しています。(そのおかげでLLVMのターゲットに指定できる) ゲームボーイとの違い CPU 最大の違いはCPUです。ゲームボーイ(以降、GB)ではZ80を独自カスタムしたLR35902というCPUを使っていますが、このCPUは8bitで動作するCPUです。つまり命令のサイズが8bit(1byte)しかありません! しかも、LR35902は掛け算命令など現代のCPUでサポートしている基本的な命令をサポートしていません。 これに比べてGBAに搭載されているARM7TDMIは32bit CPUです。つまり命令のサイズが4byteとGBの命令の4倍の大きさになります! このおかげでCPUの命令セットがさまざまな命令をサポートできるようになりました。(まあ後述の理由で実質16bit CPUですが...) またクロック数もGBの4MHzから16MHzに伸びました。 B
RustでTGB-Rというゲームボーイエミュレーターを書きました。 とりあえずWindowsとLinuxで動作確認をしていて、エミュレーションの精度もそれなりに出ているはずです(以下は非公式ROMによるスクリーンショット)。 GameBoy WORDLE 2048gb Hi-Colour Demo Bad Apple!! 名前は、以前私が書いていたゲームボーイエミュレーターの精神的後継だったり、Rustで書いていたりとかでこうなりました。 以前書いたエミュレーターもオープンソースで公開していたのですが、ふと検索してみたら、GitHubにプロジェクトができていて、メンテナンスが続けられていました。 私がこれを書いていた時期はGitHubどころかgit自体が存在しないような時代で、サーバーを借りてそこに手作りのアーカイブをしこしこアップロードしていたような、あまりに素朴な開発でしたが、そんな時
この記事は Rust Advent Calendar 2020 ならびに CyberAgent Developers Advent Calendar 25日目の記事です。 今年のはじめの頃になりますが、『CPUの創り方』という本に載っている TD4 という CPU を実装してみました。TD4 は「とりあえず動作するだけの4bit CPU」の略です。この本に載っている CPU エミュレータを実際に実装してみました。ただし、本書には GUI が載っていましたが、それは省略しました。 CPUの創りかた 作者:渡波 郁発売日: 2003/10/01メディア: 単行本(ソフトカバー) 「最近話題の RISC-V などの CPU エミュレータを作ってみたいものの、いきなり作るにはハードルが高い。何か簡単なもので素振りをして CPU の動作の仕組みをまずは知りたい」という方にはかなりオススメできる教材だ
とりあえずスーパーマリオが動いて一段落したので覚えているうちに感想書いていく。 (この記事の情報量は、デバッグは大変、以上) 動機 単に好奇心。ただ、ファミコンのエミュレータに着手したのはこれで3回目になる。 1度目は10年前の身内ハッカソンのとき。このときはC言語で実装してて強引にHELLO, WORLD!を表示するだけで終わった。 実装の続きをしたかったけど、この後は忙しくなってしまって挫折している。 2度目は2年前で、過去の心残りを精算するためにGo言語で着手したのだけど、CPUの実装が終わった後ぐらいからまた忙しくなって挫折している。 今回は2年前のGoコードの続きからコミットを積んでここまで来たので、一応リベンジ成功....と言って良いんじゃないかな、たぶん。 過程 PPUの実装は最初からinternal register(v,t,x,w)を使う方法にした(PPU scrolli
ミッチェル・ハシモト氏の個人開発によるターミナルエミュレータ「Ghostty 1.0」、12月に正式リリース予定。オープンソースとして公開へ HashiCorpの創業者の一人であるミッチェル・ハシモト氏は、個人のプロジェクトとして開発してきたターミナルエミュレータ「Ghostty」のバージョン1.0を今年(2024年)12月にリリースし、合わせてオープンソースとして公開することを明らかにしました。 ハシモト氏は2023年12月にHashiCorpを退職。その後、個人プロジェクトとしてターミナルエミュレータの開発をしていることをX/Twitterなどで以前から発信していました。 これは2023年5月のポストです。「ここ数年、なんとなく自分用のターミナルエミュレーターを作っていた。過去18カ月、これを自分だけのターミナルとしてフルタイムで使っている」と書いていることから分かるとおり、Hashi
最近暇だったのでPlayStationのエミュレータ作りに取り組みました。そのまとめをしたいと思います。 PlayStationエミュレータ作りと聞くと難しそうに聞こえますが、実はかなり分かりやすいガイドブックが存在し、これに従うことであまり詰まることなく実装できました。 結果として5日ほどで、懐かしいオレンジのロゴが見れる程度の必要最低限の実装が行えたので、紹介したいと思います。 ※テクスチャは未実装なのでロゴが赤い四角になってる The ガイドブック 以下のPDFは、CPUの仕組みの簡単な説明から入り、0からBIOSのオレンジのロゴが表示できることろまで網羅した神ガイドブックです。言語は英語とRustです。 https://svkt.org/~simias/guide.pdf 普段のエミュレータ作りで時間のかかる作業は: 地獄のデバッグ PCのタイミング調整(パイプラインがある場合)
はじめに ブラウザ上で動くゲームボーイエミュレータを OCaml で書きました。以下のページで試せます。 デモページ いくつかの homebrew ROM も一緒になっているのでいろいろ遊んでみてください。おすすめは「Bouncing ball」と「Tobu Tobu Girl」です。最近のスマホならだいたい安定して 60 FPS 出るはずなので、スマホでも遊べます。 レポジトリはこちらです。 スクリーンショット なぜ OCaml でゲームボーイエミュレータ?新しいプログラミング言語を学ぶ過程で以下のように思ったことはないでしょうか? 簡単なプログラムなら書けるが、中規模以上のコード1をどうやって書けばよいのか分からない 発展的な言語機能2も勉強しなんとなく理解した気になったが、実践のなかでどのように活用すればいいのかが分からない OCaml を本格的に勉強し始めてた数ヶ月前の筆者はまさに
電子図書館 Internet Archive で、1990年代に発売された手のひらコンピュータ Palm 用のアプリやゲーム数百本がブラウザからそのまま利用できるようになりました。 スマートフォンのブラウザでもタッチで、雰囲気を重視したいならスタイラスでも操作できるため、四半世紀前の最新手のひらコンピュータ向けアプリやゲームを、現代の手のひらコンピュータで楽しめます。 Palm は1996年の初代『Palm Pilot 1000 / 5000』から始まった手のひらサイズのコンピュータ。当時はPDA (パーソナルデジタルアシスタント)あるいは携帯情報端末などと呼ばれていた分野です。 携帯して手持ちで使えるコンピュータとしては、さらに四半世紀遡った1970年代のLSI電卓から進化した「電子手帳」の流れがあり、1990年代にはすでにアップルの Newton など、各社が多機能な「PDA」製品を投
PI. @xm6_original 最近「X68000エミュレータ開発って、そんなに難しいの?」という声を聞くので解説。1987年の初代機発売(36.9万円)の時点で、シャープのカスタムは勿論、当時のLSIを「これでもか」と沢山詰め込んでいるのでそのソフトウェアモデル実装だけでかなりの量になる→ PI. @xm6_original 一例を挙げるとSCC(Z8530)のマニュアルは現在も入手可能で英文394ページのボリューム。このようなものを10種類以上実装するものと考えて欲しい(もちろん簡易実装で済ませることはできるが、当然実機との差異は出る)→ zilog.com/docs/serial/sc… PI. @xm6_original 難物とされるCRTCやFDCなどは「未公開仕様の挙動」「未定義動作の挙動」も考えないとダメ。あとは数値の厳密性とか。例えばFDCに指定するステップレートは当該
高速多機能なターミナルエミュレータ「Ghostty 1.0」正式リリース、ミッチェル・ハシモト氏が開発。今後はWebAssembly化による対応プラットフォーム拡大も HashiCorpの創業者の一人であるミッチェル・ハシモト氏は、個人のプロジェクトとして開発してきたターミナルエミュレータ「Ghostty」の正式リリースとなるバージョン1.0を公開しました(本記事公開時点でバージョン1.0.1が最新バージョン)。 合わせてオープンソースとしてGitHubでソースコードも公開されました。 https://t.co/39Xj39wheA pic.twitter.com/PH0qejFB4z — Mitchell Hashimoto (@mitchellh) December 26, 2024 ハシモト氏は2023年12月にHashiCorpを退職していますが、以前から個人のプロジェクトとしてタ
オープンソースのMac 68KエミュレーターであるBasilisk IIをブラウザ上でも利用できるように拡張したというエミュレーターの「Infinite Mac」が登場しました。作者はMihai Parparita氏で、Infinite Macの開発経緯などをブログ上で明かしています。 persistent.info: Infinite Mac: An Instant-Booting Quadra in Your Browser https://blog.persistent.info/2022/03/blog-post.html 近年、古いOSをエミュレーションする試みが人気を博しており、v86ではさまざまな古いOSをブラウザ上で実行することが可能です。しかし、古いMacのエミュレーションにv86は利用できなかったため、Parparita氏はこれらを現代のPCでエミュレーションするのに適
最近Rustでちょいちょい書いてたエミュレーターをWebブラウザーで動くようにしました。 現在のところ、ゲームボーイ・ゲームボーイカラー、ゲームボーイアドバンス、ファミコン、スーパーファミコンが動きます。 当初からブラウザーでも動かすことを念頭に置いていたので、コア開発が一段落したら対応させたいと思っていました。実際に動かすに当たっては思い通りに進んだところもあり、そうでないところもありといったところで、ところどころで気づいたところを書いておいたら誰かの参考になるかもしれないので、とりとめのない話ですが書き残しておくことにします。 一応ウェブアプリなのにJavaScriptもTypeScriptも、ReactもAngularも、npmもwebpackも使わない、インド人完全無視カレーみたいなものになりましたが、それでもそこそこに良い感じにできた気はするので、私のようにフロントエンドから取り
はじめに こんにちは。かる(@caru_ini)です! 大学生として勉強する傍ら、日々フロントエンドエンジニアを目指して活動しています。今回は、私がコミッターとして参加しているMagnitoというOSSプロジェクトについて紹介します。 皆さんは、AWSのCognitoというサービスを知っていますか? スマホアプリからWebアプリまで、多くのアプリケーションで認証・認可の機能は不可欠です。その中でも、Amazon Cognitoは多くの開発者に利用されている認証・認可サービスの一つです。この記事では、Cognitoを使う際の課題と、Magnitoがそれにどう対応するかを紹介します。 Amazon Cognitoとは Amazon Cognitoは、Amazon Web Serviceが提供するユーザー認証、認可、およびユーザー管理を簡単にするためのサービスです。これにより、アプリケーションに
西 和彦氏が,MSX2のオリジナル公式エミュレータ「MSX 0」を発表。M5Stack上でMSXが動く 編集部:松本隆一 西 和彦氏は本日(2022年11月17日),「MSX 0」を紹介するツイートを公開した。 ご存じのように西氏は現在,「MSX 3」の開発を進めており,2021年8月以来,進捗状況などを自身のTwitterアカウントで発表しているが,今回は「MSX 3」ではなく,「MSX2」のオリジナル公式エミュレータについての情報だ。 ご報告があります M5stuckでMSX2が動きました オリジナル公式エミュです 名前は MSX 0 stack これからGrove I/OをコントロールするMSX 0 IOT BASICの実装をする予定です これからいろいろなほかのIOTプラットフォームにもMSX 0 を展開してゆきますので、MSX3だけでなくMSX 0もご期待ください pic.twi
2024/12/24追記 WebAssemblyを使ってブラウザ上で動くようになりました! はじめに Rubyでゲームボーイのエミュレータを作って、rubyboyという名前のgemで公開しました! (スターをいただけると嬉しいです!) この記事 Ruby Boyの実装手順を説明しながら、ハマった点や工夫した点を紹介します。 またRuby Boyの高速化のためにやったことを紹介します。 なぜゲームボーイのエミュレータをつくったのか なにか個人開発をしたいが、Webサービスは維持費がかかるので無料で維持できるものを作りたい 業務でRubyを使っていることもあり、以前からRubyのgemを作ってみたかった ゲームのエミュレータ開発は「ゴールが明確&動くと楽しい」ので、モチベを維持しやすそう 特にゲームボーイには思い入れがある → Rubyでゲームボーイのエミュレータを作って、gemで公開しよう!
Mac OSで作業する場合、ターミナルエミュレータといったらデフォルトのターミナルかiTerm2を使うことが多いんじゃないかと思います。 自分は「みんな使ってるからなんか嫌」という理由でiTerm2は頑なに使わずデフォルトのターミナルを使い続けて来た(まあ不満はなかった)のですが、ついにこの度、長年求めていたものを発見しました。 それがRust言語製の新世代ターミナルエミュレータ、Warpです。 Warpは多くの便利機能に加え、モダンでかっこいいUIとコードエディタのような使い心地で、一度使ったらもう今までのターミナルには戻れなくなりました。 本当にテキストエディタのような操作感で、コマンドの入力と出力が1つのブロックになっており、非常に見やすく、コピペなども楽ちん。コマンドの補完等もめっちゃスマートです。 デフォルトで何も設定をいじらずともgitのブランチを表示してくれるのもいいですねー
はじめに*1 原理的には、あらゆる前提条件は特定の個人や状況および主義に結びつけられたステートメントとして相対化することが可能だが、人間の限られた脳ミソを節約するため、この「相対化」は通常特定の範囲内でしか行わない。しかし、前提条件の相対化を厳密かつ広範囲に行い、あらゆる前提条件を無効化していけば「異常者」が生まれる。 「異常者」とは前提条件を共有することができない人間のことを指す。そして「健常者」とは前提条件が共有された人間のことを指す。むろん「前提条件」は集団ごとによって異なるため、ある集団においては異常者の人間が別の集団では健常者となる、といった事態は起こりうる。「異常者」も「健常者」も、本質的に相対的な概念に過ぎない。 異常者による行動は健常者には予測不可能なものであり、認知的不協和を引き起こし、健常者のごく限られた脳ミソを食い尽くしてしまう。そのため、健常者は異常者を排除し、自分
Kernel/VM探検隊はカーネルや仮想マシンなどを代表とした、低レイヤーな話題でワイワイ盛り上がるマニアックな勉強会です。msyksphinz氏は、自作エミュレータで得た学びについて発表しました。全2回。前半は、自作エミュレータの実装とその結果について。 実機が存在しなくてもエミュレータを使えば動きの中身が見える msyksphinz氏(以下、msyksphinz):「Rustで作るフルスクラッチQEMU型エミュレータ」と題して、発表をします。 簡単に自己紹介をさせてください。Twitterだとこういうアカウントでいろいろと活動しています。趣味で「FPGA開発日記」というブログを書いていて、RISC-V、FPGA、CPU、低レイヤプログラミングなど、興味のあるものの記事を書いています。本業はハードウェア開発エンジニアをしていて、汎用CPUの設計などの仕事をしています。 今回はRustとい
健常者エミュレータ事例集Wiki 集合知を構築しよう トップページページ一覧メンバー掲示板編集 結婚式をやるなら親を呼んだほうがいい 最終更新:ID:NYf8mVE4IA 2022年08月24日(水) 12:39:28履歴 5W1H+Then状況説明 Who(誰が)筆者がWhen(いつ)結婚することを親に伝えたときWhere(どこで)自宅でWhy(なぜ)「まだ結婚するには早すぎる」「相手には会わない」と述べた親の発言を字義通りに解釈しWhat(何を)義親にもその意思を伝えHow(どのように)親を、全てのプロセスから排除して結婚したThen(どうなった)縁が切れた 健常行動ブレイクポイント 通常、親に結婚を反対された場合は、対話に基づく説得を試みて合意が形成されたのちに、両家顔合わせ→食事会→婚姻届への署名→(親らの意見を聞きながら)式場や主賓などの決定→結婚式の準備などを進めていくが、その
Haskell Advent Calendar 2024 3日目の記事です。 TypescriptやZigでゲームボーイエミュレータを書いたことがあったのでHaskellでも試して見ました。CPUまで書いて力尽きたのでゲームは遊べません。自分でゲームボーイエミュレータ書いてみたいという方はgbdev.ioを見ればだいたいなんとなくおおよそたぶんわかるかと思います。 エミュレータはCPUの命令を実行するたびにレジスタやメモリなどを逐次更新していくことになるのでミュータブルの方が効率が良いと思います。素直にIORefやVector.Mutableなどを使うのがよいと思うわけですが、StateMとLensを使えばミュータブルっぽいインターフェイスですっきり書けそうな気がしました。気がしたんです。 type CPU a = StateT CPUState (StateT MBCState (Sta
AndroidのエミュレーターとしてはBlueStacksやLDPlayer、Genymotionなどがありますが、いずれもホストOSとカーネルを共有しない仮想化方式を採用しているため、オーバーヘッドが生じてしまいます。無料でオープンソースの「Anbox」は、カーネル部分をホストOSのLinuxと共有するコンテナ形式を採用し、軽快な動作を目指したAndroidエミュレーターです。 Anbox - Android in a Box https://anbox.io/ AnboxはSnapパッケージマネージャーで配布されており、以下のコマンドを実行すればインストールすることができます。なお、今回はUbuntu 20.04でAnboxを利用しています。 sudo snap install --devmode --beta anbox インストールが完了するとアプリケーション一覧にAnboxのアイ
マイクロソフトは、Visual Studio Codeでクロスプラットフォーム対応のUIライブラリである.NET MAUIを用いたアプリケーション開発を容易にする拡張機能「.NET MAUI extension for Visual Studio Code」(以下、.NET MAUI extension)をリリースしました。 .NET MAUIは、.NETアプリケーションにおいて単一コードでクロスプラットフォーム対応のユーザーインターフェイスを構成できるライブラリとして開発が行われ、昨年(2022年)5月に正式バージョンが登場し、11月に登場した.NET 7にバンドルされた「.NET MAUI for .NET 7」となりました。 今後.NET MAUIは.NET本体と同時にアップデートされる予定です。 Visual Studio Codeの拡張機能として公開 .NET MAUI exte
健常者エミュレータ事例集Wiki 集合知を構築しよう トップページページ一覧メンバー掲示板編集 えっちな同人音声を、安易に自身の声で販売するべきではない 最終更新:ID:BwsFDR5ahQ 2023年01月26日(木) 15:56:18履歴 5W1H+Then状況説明 Who(誰が)私がWhen(いつ)社会人のときWhere(どこで)インターネット上でWhy(なぜ)友人に「お前の声で抜ける」と言われたからWhat(何を)えっちな同人音声の演技指導用に、自分自身の声で録音した音声ファイルをHow(どのように)大手ダウンロード販売サイトで、予定していたタイトルに「○○○○(自主規制)男子」を付与して販売したThen(どうなった)予想以上に多くの人から支持を集め、情緒がめちゃくちゃになった 前提条件 ・筆者、友人共に男性である。 ・筆者と友人はSNS上では比較的仲が良く、リプライのやりとりをす
健常者エミュレータ事例集Wiki 集合知を構築しよう トップページページ一覧メンバー掲示板編集 トップページ 最終更新: contradiction29 2022年10月17日(月) 23:44:38履歴 Tweet 投稿はこちら→https://hpe-form.vercel.app/ 十選*1 横浜のデートで北朝鮮の工作船を見に行こうとしてはいけない (辛くなる言葉を書かれたり、生命的危機を感じたとしても)他人を刺してはいけない 友人の誕生日を1000日ごとに祝ってはいけない 結婚式をやるなら親を呼んだほうがいい むやみやたらに他人様の家のトイレを借りてはいけない ブラウザにタブを溜め過ぎてはいけない 大学の学生証をレンチンしてはいけない オタクとオタクは恋仲になれると思わない方がいい 相手の声が聞き取れない時は適当な相槌を打ってはいけない お◯ん◯んごっこをしてはいけない 十速*2
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く