Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
M5Stackサーバーを使って初代プレイステーションでuClinuxのカーネルを起動
Search
kazueda
November 09, 2024
How-to & DIY
210
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
M5Stackサーバーを使って初代プレイステーションでuClinuxのカーネルを起動
kazueda
November 09, 2024
More Decks by kazueda
See All by kazueda
16ビットCPU用FUZIXを実機で動かす「AmigaでFuzixカーネル起動編」
kazueda
0
13
16ビットCPU用FUZIXを実機で動かす「X68000でrootfsマウント編」
kazueda
1
25
16ビットCPU用FUZIXを実機で動かす USBキーボード接続編
kazueda
0
36
16ビットCPU用FUZIXを実機で動かす キー入力編
kazueda
0
41
初代プレステでuCLinuxその2「rootfsが公開されました」
kazueda
0
74
初代プレステでuCLinuxその1 Linuxのinitで「Hello World」
kazueda
0
110
Raspberry pi 400をUSBキーボードとして使う
kazueda
0
520
「東海道らぐ」のブースで「USBガジェット三昧」の展示
kazueda
0
59
Raspberry Pi Pico WでRNDIS-Wifiブリッジ
kazueda
0
150
Other Decks in How-to & DIY
See All in How-to & DIY
JAWS/AWS Community Updates - JAWS-UG新潟 #29
awsjcpm
1
180
JAWS-UG横浜100回記念 私のAWS ジャーニーと日本からみた横浜支部
awsjcpm
0
520
スタックチャンはカワイイの夢を見るか?
syumme01
0
210
M5StickS3触ってXiaoZhiAI触ってみた #にぼし香 #iotlt
n0bisuke2
0
320
スイングやカードをいい感じに立てるスタンドの話
niccolli
1
530
ライブ感を生む 巻き込み型スライドの作り方/Create your slide like a heavy metal concert
ikuodanaka
5
1.8k
ATOMS3R-CAMとClaude SKILLSでタイムラプスチャレンジ #iotlt
n0bisuke2
0
460
JAWS SONIC 2026 オンラインでつながり、オフラインで会おう! - JAWS-UG北陸新幹線で始まった支部とコラボ
pharaohkj
1
370
電子線香で老人を救え
izawa
0
100
タスク管理で人生はもっと楽しくなる
naomik92
2
120
登壇資料を素早く作るための順番
kotomin_m
9
2.4k
2026.6.27 お誕生日会で配布された透明シェルを交換する際の注意点について
mongonta0716
0
260
Featured
See All Featured
Faster Mobile Websites
deanohume
310
32k
Prompt Engineering for Job Search
mfonobong
0
510
Building the Perfect Custom Keyboard
takai
2
910
Utilizing Notion as your number one productivity tool
mfonobong
4
620
Agile Leadership in an Agile Organization
kimpetersen
PRO
0
280
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
77k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
580
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
310
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
450
Product Roadmaps are Hard
iamctodd
55
13k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Transcript
M5Stackサーバーを使って初代プレイステー ションでuClinuxのカーネルを起動 東海道らぐの万鹿博覧会ライトニングトーク大会 in 大阪南港 2024. 11. 9 1 kazueda
か ず え だ
kazueda(かずえだ)の紹介 • 大阪出身、丙午、おとめ座、O型 • 科学者(化学) • 2003年4月から浜松で、働き始める • 自転車での移動が生活の足 •
趣味は「ラジオを聴くこと」、「アメリカの コミックの邦訳を読むこと」 @kazueda 2 slideshare speaker deck
PlayStation(プレイステーション、略称: PS, PS1) • ソニー・コンピュータエンタテインメント(略: SCE)が 1994年12月3日に発売した家庭用ゲーム機 • CPU:MIPS R3000A
ベース • 32ビット RISCプロセッサ (R3051) • メインメモリ: 2 MB EDO DRAM 3 https://ja.wikipedia.org/wiki/PlayStation_(%E3%82%B2%E3%83%BC%E3%83%A0%E6%A9%9F) 30歳おめでとう!
RUnix on PlayStation 1 • MIPS-NOMMUなので、uClinux 2.4.x kernel • RS232
SIO経由のシリアルコンソール • プレイステーションのGPU経由の仮想コンソール • 保存メディアとしてマルチプルメモリーカード • SL811を使って、USBキーボードやマウスを接続 • 上記の環境が構築されるらしい。。。 4 https://en.wikipedia.org/wiki/PSXLinux
RUnix on PlayStation 1 • 起動プロセス 1. シリアルポート経由でKernelをPlayStationにロード 2. ロードが終わると、Kernelが起動
3. マルチプルメモリーカードに保存してあるrootfsをマウ ントして起動 するらしい。。。 • メモリーカードのEXT2ファイルフォーマッターとrootfsの イメージファイル(psx-mcard.0.8.2.tar.gz)が消失。 5 https://en.wikipedia.org/wiki/PSXLinux
RUnix on PlayStation 1 • 起動プロセス(2024年現在) 1. シリアルポート経由でKernelをPlayStationにロードする 2. ロードが終わると、Kernelが起動した後、rootfsが無くて
PANICマルチプルメモリーカードに保存してあrootfsをマ ウントして起動 するらしい。。。 • 原因:メモリーカードのEXT2ファイルフォーマッターと rootfsのイメージファイル(psx-mcard.0.8.2.tar.gz)が消失。 6 https://en.wikipedia.org/wiki/PSXLinux
2007年前後のRUnixのサイト消滅後 • 主に2つの活動 • 現存するRunixのソースファイルを活用し、メモリカード の読み(書き)をフルスクラッチで実現する試み https://github.com/CodeAsm/PS1Linux • 本体のRAMを2 MBから4
MBや8 MBに張り替えて、 PSPの uCLinuxを参考に、 kernelとrootfsをRAMに展開して起動す る試み https://github.com/arkwise/blackroolinux 7
今回の試み • 実機でRUnixを起動して、カーネルパニックを眺める 1. シリアルアダプタを作成 2. M5Stackからファイルを転送するプログラムの作成 3. Kernelを初代プレステに転送して起動 8
シリアルポートアダプタの作成 • 対戦ケーブルのSCPH-1040を使うといいけど。 9 • 330円で入手した初代プレステには、もったいない!!
シリアルポートアダプタの作成 • 初代プレステのポートを見てみる。 10 • SERIAL I/Oは8ピンの特 殊コネクタ • AV
MULTI OUTは12ピン の特殊コネクタ • これらのピン間隔は同 じ <ーAV MULTI用ケーブル を購入して、SERIAL I/Oのコネクタを作る SERIAL I/O ↓ AV MULTI OUT ↓
シリアルポートアダプタの作成 • 300円の「PS2/PS3用 コンポーネントAVケーブル」を加工 11 1. 端子の10番目のピンの側まで削除 2. 9番、10番ピンを除去 3.
端子を覆うようにシールドを加工 加工後のコネクタ ↓ 加工前のコネクタ ↓
LLMでファイル転送プログラム作成 1. 参考にするプログラムを提供して、関数の説明を含めて 解説させる 2. 提供したプログラムからArduinoIDE用のソースファイル を作成させる 3. 動作確認 4.
不具合を修正させる。その際、提供プログラムの機能が 欠落していたら、欠落部分の機能の説明を加える 5. 項目3、4を繰り返して、目的の動作を実現する 12
Copilotを使ってプログラミング • 突然、、、 13
ChatGPTでプログラミング再開 14 無事完成しました。 初代プレステ側で はunirom8という ユーティリティを 起動
実機でカーネルを起動 M5Stackの画面 初代プレステの画面 15
実機でカーネルを起動 M5Stackの画面 初代プレステの画面 16
実機でカーネルを起動 M5Stackの画面 初代プレステの画面 17
実機でカーネルを起動 • NTSC表示ではありませんでした 18
実機でカーネルを起動 • ドン・キホーテTV-171-BKだと、文字がずれてるけど静止画 19
まとめ • 初代プレイステーション用シリアルアダプタを格安コン ポーネントケーブルから作成 • LLMを駆使して、M5Stackで動作するファイルサーバーを 作成 • リセットしたら、自動でファイル転送 •
ゲームコントローラーから操作 • KernelをNTSC表示の設定で、再コンパイル 20 今後の展開 おしまい
まとめ • 初代プレイステーション用シリアルアダプタを格安コン ポーネントケーブルから作成 • LLMを駆使して、M5Stackで動作するファイルサーバーを 作成 • リセットしたら、自動でファイル転送 •
ゲームコントローラーから操作 • KernelをNTSC表示の設定で、再コンパイル 21 今後の展開 おしまい CD-RやMO等に眠っている psx-mcard.0.8.2.tar.gz を譲ってください。