Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
セガサターン
マシン語プログラミング
の紹介
大神 祐真
(@yohgami)
大神 祐真 (@yohgami)
自己紹介
大神祐真
@yohgami
[仕事]
グループウェア
メーカーの
インフラエンジニア
[趣味]
自作OS
レトロPC/ゲーム
自作アーケード基板
セガサターン
1994年発売 セガ据え置き型
初のポリゴン
描画
同世代
PlayStation
NINTENDO64
44,800円
大神 祐真 (@yohgami)
今日のお話
最も簡単な
「無限ループだけのプログラム」[1]を例に
趣味で行っている
マシン語によるセガサターンのソフト開発を
紹介します!
[1]
https://github.com/cupnes/sh_s...
大神 祐真 (@yohgami)
シェルスクリプトによる開発環境
●
iso9660.sh
– セガサターン用のヘッダを付けた
ISO9660ファイルシステムを生成する
シェルスクリプト
– 引数で指定されたバイナリが、
起動時にRAMへロード...
大神 祐真 (@yohgami)
シェルスクリプトによる開発環境
●
include/sh2.sh
– シェルスクリプト製SH-2アセンブラ
– SH-2の各命令をシェル関数で定義している
●
網羅してあるわけではない
●
使いたい命令が出てき...
大神 祐真 (@yohgami)
無限ループだけのプログラム
src/main.sh
#!/bin/bash
. include/common.sh
. include/sh2.sh
main() {
sh2_rel_jump_after_ne...
大神 祐真 (@yohgami)
ありがとうございました!
大神 祐真 (@yohgami)
宣伝
共に、電子版は無料公開中!
物理版は各種ショップ様へ委託中!
興味があれば、
http://yuma.ohgami.jp へどうぞ!
大神 祐真 (@yohgami)
宣伝
セガサターン
エミュレータ
「Yabause」の
コードを読んで
どんなハード
だったのかを知る
https://techbookfest.org/product/5711801452855296?pro...
You’ve finished this document.
Download and read it offline.
Upcoming SlideShare
What to Upload to SlideShare
Next
Upcoming SlideShare
What to Upload to SlideShare
Next
Download to read offline and view in fullscreen.

Share

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

Download to read offline

OSC2021 Online/Aizu 低レイヤ・OS・セキュリテイ LT大会
https://ospn.connpass.com/event/220482/

の発表資料です

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all
  • Be the first to like this

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

  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

OSC2021 Online/Aizu 低レイヤ・OS・セキュリテイ LT大会 https://ospn.connpass.com/event/220482/ の発表資料です

Views

Total views

478

On Slideshare

0

From embeds

0

Number of embeds

234

Actions

Downloads

1

Shares

0

Comments

0

Likes

0

×