Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×

セガサターンマシン語プログラミングの紹介

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Hier ansehen

1 von 10 Anzeige
Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Ähnlich wie セガサターンマシン語プログラミングの紹介 (20)

Anzeige

Weitere von Yuma Ohgami (13)

Aktuellste (20)

Anzeige

セガサターンマシン語プログラミングの紹介

  1. 1. セガサターン マシン語プログラミング の紹介 大神 祐真 (@yohgami)
  2. 2. 大神 祐真 (@yohgami) 自己紹介 大神祐真 @yohgami [仕事] グループウェア メーカーの インフラエンジニア [趣味] 自作OS レトロPC/ゲーム 自作アーケード基板
  3. 3. セガサターン 1994年発売 セガ据え置き型 初のポリゴン 描画 同世代 PlayStation NINTENDO64 44,800円
  4. 4. 大神 祐真 (@yohgami) 今日のお話 最も簡単な 「無限ループだけのプログラム」[1]を例に 趣味で行っている マシン語によるセガサターンのソフト開発を 紹介します! [1] https://github.com/cupnes/sh_ss_test/tree/master/011_loop
  5. 5. 大神 祐真 (@yohgami) シェルスクリプトによる開発環境 ● iso9660.sh – セガサターン用のヘッダを付けた ISO9660ファイルシステムを生成する シェルスクリプト – 引数で指定されたバイナリが、 起動時にRAMへロードされ、 先頭から実行が開始される
  6. 6. 大神 祐真 (@yohgami) シェルスクリプトによる開発環境 ● include/sh2.sh – シェルスクリプト製SH-2アセンブラ – SH-2の各命令をシェル関数で定義している ● 網羅してあるわけではない ● 使いたい命令が出てきたらその都度追加している – 各関数は標準出力へマシン語を出力する ● 例えば、sh2_nop()は0x0009を標準出力へ出力する ● リダイレクトでファイルへ保存すれば マシン語のバイナリファイルとなる
  7. 7. 大神 祐真 (@yohgami) 無限ループだけのプログラム src/main.sh #!/bin/bash . include/common.sh . include/sh2.sh main() { sh2_rel_jump_after_next_inst $(two_comp_d 2) sh2_nop } main
  8. 8. 大神 祐真 (@yohgami) ありがとうございました!
  9. 9. 大神 祐真 (@yohgami) 宣伝 共に、電子版は無料公開中! 物理版は各種ショップ様へ委託中! 興味があれば、 http://yuma.ohgami.jp へどうぞ!
  10. 10. 大神 祐真 (@yohgami) 宣伝 セガサターン エミュレータ 「Yabause」の コードを読んで どんなハード だったのかを知る https://techbookfest.org/product/5711801452855296?productVariantID =5652438159720448

×