タグ

2024年1月20日のブックマーク (2件)

  • スーパーファミコンで mruby/c を動かす

    はじめに mruby/c という軽量な Ruby 処理系をスーパーファミコンに移植し、標準出力に文字列を出力する簡単な Ruby コードをエミュレータ上で動かしたので、その移植作業を記事にまとめました。 この記事で動かしたコードは次のリポジトリにあります。 この移植作業を行うという発想は、2年前の RubyKaigi 2022 で行われた mruby/c を Mega Drive 上で動かすという Yuji Yokoo さんによる発表(https://rubykaigi.org/2022/presentations/yujiyokoo.html)がベースとなっています。 元々スーパーファミコン上で動くコードを趣味で書いたことはあったのですが、最近スーパーファミコンで使われている 65C816 という CPU 向けの(まともに動く) C コンパイラが存在することを知ったので、今回移植作業に取

    スーパーファミコンで mruby/c を動かす
    buty4649
    buty4649 2024/01/20
    [mruby/c]
  • GPSが1.5秒刻みで時刻をカウントする理由 | コラム | GPS/GNSSチップ&モジュール | フルノ製品情報

    江戸時代の日では、日の出と日の入りを境に1日を昼夜に分かち、昼と夜をそれぞれ6等分して「一刻」を定めていました。これは不定時法と呼ばれ、夏と冬では一刻の長さが最大50分も違っていました。時計が広く行き渡ってはおらず、暮らしのサイクルに刻時を合わせる、当時ならではの作法だったかもしれません。さて今回は、GPSに存在する、独自の時間のカウントの作法を話題にしたいと思います。 週番号ロールオーバーという「ほころび」の理由は GNSS衛星が送信する航法メッセージには測位演算に必要な情報がすべて含まれています。中でも時刻情報はとりわけ重要度の高い情報です。 先のコラムで、最初のGNSSであるGPSを例に、航法メッセージの構造についてご紹介しました。限られたbit数に必要な情報をみっちりと詰め込まれながらも基的には問題なく機能していますが、20年に一度ぐらい「ほころび」が顔を出すこともあります。み