パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

太陽電池とボタン押下発電のみで動作するゲームボーイ誕生」記事へのコメント

  • by TarZ (28055) on 2020年09月10日 16時09分 (#3886451) 日記

    ゲーム中にエネルギー切れを起こした場合でも、プレイデータが飛ばないようにシステムに不揮発性メモリーを採用。電源が回復し次第、続きがプレイできる

    さらっとすごいことが書いてあるのですが、オリジナルと同じCPUでどんな仕組みでこういうことが可能になるのでしょう。

    • 詳細 (スコア:2, 興味深い)

      by Anonymous Coward on 2020年09月10日 17時05分 (#3886516)

      電池なしで動作するゲームボーイ互換機を、研究者らが開発。太陽光と、ゲームプレイ時のボタン ...
      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.

      親コメント
    • by Anonymous Coward on 2020年09月10日 16時49分 (#3886503)

      ハード的にオリジナルと同じCPU(シャープ製のLR35902)だと多分無理。
      CPU内部状態が保存できない。電源再開は必ずリセットされる。
      エミュレーションしているとのことなので、ARMかなんかでスリープしているのでは。
      メモリ状態保持するだけならスーパーキャパシタあたりのコンデンサくらいでできるだろう
      「オリジナルと同じCPU」ってのは、多分誤解で、オリジナルソフトカセットが動くくらいの意味ではないかな

      親コメント
      • by Anonymous Coward

        スリープだったら「不揮発性メモリーを採用」とは書かれないでしょ

    • by Anonymous Coward

      DMAジャネーの

    • by Anonymous Coward

      CPUではなくエミュレーターだからね。
      CPUのファームは起動したら自分のメモリ内にゲームボーイ用CPUのメモリ空間を仮想的に用意するけど、その物理アドレスを固定してあげる。もちろんゲームボーイのCPU用のレジスタなども物理アドレス固定。
      メモリなどをレジュームするか初期化するかはフラグ立てておけばいい。
      CPUのメモリはFRAMのような不揮発メモリを使用してあげればできあがり。

    • by Anonymous Coward

      メモリにFRAM使うにしても、CPUレジスタが吹っ飛んだら復帰できんすよね……

      • by Anonymous Coward

        エミュレーターの処理自体を分割すれば良い。
        電源取得→起動→前回のCPU状態の取得→エミュレーター動作→CPU状態の保存→スリープ
        とか。
        エナジーハーベストな機器ならままやっている事だよな。

    • by Anonymous Coward

      ノースウエスタン大学のニュースリリース [northwestern.edu]("SHOW FULL RELEASE"ボタンを押して全文表示)には

      Most importantly, it impersonates the Game Boy processor.

      という一文があります。
      impersonateには まねる/なりすます というような意味がありますから、
      CPUはオリジナル品ではないと思われます。

      おそらくEngadgetの記事がなにかしらの誤解をもって書かれたのでしょう。

アレゲは一日にしてならず -- アレゲ研究家

処理中...