アカウント名:
パスワード:
ゲーム中にエネルギー切れを起こした場合でも、プレイデータが飛ばないようにシステムに不揮発性メモリーを採用。電源が回復し次第、続きがプレイできる
さらっとすごいことが書いてあるのですが、オリジナルと同じCPUでどんな仕組みでこういうことが可能になるのでしょう。
電池なしで動作するゲームボーイ互換機を、研究者らが開発。太陽光と、ゲームプレイ時のボタン ...https://evinfo.org/modules/d3pipes/index.php?page=clipping&clippin... [evinfo.org]
HW。> ハードウェアはARMマイクロコントローラを中心に構成。電力効率も考慮してクロック周波数96MHzのARM Cortex-M4 MCUと、512KBのFRAMを採用。
キモ。> ゲームボーイの互換に関しては独自のエミュレーションにて対応。オリジナルのカートリッジを使って、基本的にすべてのゲームボーイ向けタイトルをプレイ可能だという。> ただし、ボタンを押す頻度の少ないゲームの場合、発電量不足に陥りプレイ不可となることもあるそうだ。また、太陽光発電にしても常に安定して発電できるわけではなく、> 突然電源が落ちてしまうこともあり得る。そこで本機では、ゲームプレイの進行状況を常にトラッキングし、電源が落ちてしまっても同一フレームから再開できる仕組みを導入している。> 「Battery-free Game Boy」は、環境発電とその断続的な電力を用いたインタラクティブなシステムが構築可能であることを示すための研究であるため、販売予定はないそうだ
This Battery-Free Game Boy Is the First Step Toward Ensuring Gaming Doesn’t Wreck the Planethttps://earther.gizmodo.com/this-battery-free-game-boy-is-the-first-st... [gizmodo.com]
えみゅだと電力消費が大きいのでオリジナルのCPU(Z80だっけ?)を使う。→でもオーディオ再生非対応(オーディオには演算能力が必要)なのでZ80をエミュレートしてるのではという意見あり。電力が足りなくなると電圧が落ちるのでそれを検出→チェックポイントを作成しスナップする。電力が復旧したらチェックポイントを読み込んで復元。これをミリ秒単位で行う。テトリスをプレイした場合、電力が足りず回復させるために10秒ごとに1秒弱停止期間がある。って感じか。
詳細は9/15以降にGithubで出すそうな。> To that end, the researchers will be presenting their work at UbiComp 2020 on Sept. 15, and published a technical writeup with a link to the source code on Github.
ハード的にオリジナルと同じCPU(シャープ製のLR35902)だと多分無理。CPU内部状態が保存できない。電源再開は必ずリセットされる。エミュレーションしているとのことなので、ARMかなんかでスリープしているのでは。メモリ状態保持するだけならスーパーキャパシタあたりのコンデンサくらいでできるだろう「オリジナルと同じCPU」ってのは、多分誤解で、オリジナルソフトカセットが動くくらいの意味ではないかな
スリープだったら「不揮発性メモリーを採用」とは書かれないでしょ
DMAジャネーの
CPUではなくエミュレーターだからね。CPUのファームは起動したら自分のメモリ内にゲームボーイ用CPUのメモリ空間を仮想的に用意するけど、その物理アドレスを固定してあげる。もちろんゲームボーイのCPU用のレジスタなども物理アドレス固定。メモリなどをレジュームするか初期化するかはフラグ立てておけばいい。CPUのメモリはFRAMのような不揮発メモリを使用してあげればできあがり。
メモリにFRAM使うにしても、CPUレジスタが吹っ飛んだら復帰できんすよね……
エミュレーターの処理自体を分割すれば良い。電源取得→起動→前回のCPU状態の取得→エミュレーター動作→CPU状態の保存→スリープとか。エナジーハーベストな機器ならままやっている事だよな。
ノースウエスタン大学のニュースリリース [northwestern.edu]("SHOW FULL RELEASE"ボタンを押して全文表示)には
Most importantly, it impersonates the Game Boy processor.
という一文があります。impersonateには まねる/なりすます というような意味がありますから、CPUはオリジナル品ではないと思われます。
おそらくEngadgetの記事がなにかしらの誤解をもって書かれたのでしょう。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
吾輩はリファレンスである。名前はまだ無い -- perlの中の人
不揮発性 (スコア:2)
さらっとすごいことが書いてあるのですが、オリジナルと同じCPUでどんな仕組みでこういうことが可能になるのでしょう。
詳細 (スコア:2, 興味深い)
電池なしで動作するゲームボーイ互換機を、研究者らが開発。太陽光と、ゲームプレイ時のボタン ...
https://evinfo.org/modules/d3pipes/index.php?page=clipping&clippin... [evinfo.org]
HW。
> ハードウェアはARMマイクロコントローラを中心に構成。電力効率も考慮してクロック周波数96MHzのARM Cortex-M4 MCUと、512KBのFRAMを採用。
キモ。
> ゲームボーイの互換に関しては独自のエミュレーションにて対応。オリジナルのカートリッジを使って、基本的にすべてのゲームボーイ向けタイトルをプレイ可能だという。
> ただし、ボタンを押す頻度の少ないゲームの場合、発電量不足に陥りプレイ不可となることもあるそうだ。また、太陽光発電にしても常に安定して発電できるわけではなく、
> 突然電源が落ちてしまうこともあり得る。そこで本機では、ゲームプレイの進行状況を常にトラッキングし、電源が落ちてしまっても同一フレームから再開できる仕組みを導入している。
> 「Battery-free Game Boy」は、環境発電とその断続的な電力を用いたインタラクティブなシステムが構築可能であることを示すための研究であるため、販売予定はないそうだ
This Battery-Free Game Boy Is the First Step Toward Ensuring Gaming Doesn’t Wreck the Planet
https://earther.gizmodo.com/this-battery-free-game-boy-is-the-first-st... [gizmodo.com]
えみゅだと電力消費が大きいのでオリジナルのCPU(Z80だっけ?)を使う。
→でもオーディオ再生非対応(オーディオには演算能力が必要)なのでZ80をエミュレートしてるのではという意見あり。
電力が足りなくなると電圧が落ちるのでそれを検出→チェックポイントを作成しスナップする。
電力が復旧したらチェックポイントを読み込んで復元。これをミリ秒単位で行う。
テトリスをプレイした場合、電力が足りず回復させるために10秒ごとに1秒弱停止期間がある。
って感じか。
詳細は9/15以降にGithubで出すそうな。
> To that end, the researchers will be presenting their work at UbiComp 2020 on Sept. 15, and published a technical writeup with a link to the source code on Github.
Re:不揮発性 (スコア:1)
ハード的にオリジナルと同じCPU(シャープ製のLR35902)だと多分無理。
CPU内部状態が保存できない。電源再開は必ずリセットされる。
エミュレーションしているとのことなので、ARMかなんかでスリープしているのでは。
メモリ状態保持するだけならスーパーキャパシタあたりのコンデンサくらいでできるだろう
「オリジナルと同じCPU」ってのは、多分誤解で、オリジナルソフトカセットが動くくらいの意味ではないかな
Re: (スコア:0)
スリープだったら「不揮発性メモリーを採用」とは書かれないでしょ
Re: (スコア:0)
DMAジャネーの
Re: (スコア:0)
CPUではなくエミュレーターだからね。
CPUのファームは起動したら自分のメモリ内にゲームボーイ用CPUのメモリ空間を仮想的に用意するけど、その物理アドレスを固定してあげる。もちろんゲームボーイのCPU用のレジスタなども物理アドレス固定。
メモリなどをレジュームするか初期化するかはフラグ立てておけばいい。
CPUのメモリはFRAMのような不揮発メモリを使用してあげればできあがり。
Re: (スコア:0)
メモリにFRAM使うにしても、CPUレジスタが吹っ飛んだら復帰できんすよね……
Re: (スコア:0)
エミュレーターの処理自体を分割すれば良い。
電源取得→起動→前回のCPU状態の取得→エミュレーター動作→CPU状態の保存→スリープ
とか。
エナジーハーベストな機器ならままやっている事だよな。
Re: (スコア:0)
ノースウエスタン大学のニュースリリース [northwestern.edu]("SHOW FULL RELEASE"ボタンを押して全文表示)には
という一文があります。
impersonateには まねる/なりすます というような意味がありますから、
CPUはオリジナル品ではないと思われます。
おそらくEngadgetの記事がなにかしらの誤解をもって書かれたのでしょう。