Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OSC2017 Osaka PC-6001 Emulator on NetBSD and pk...
Search
Izumi Tsutsui
January 28, 2017
Programming
0
1.3k
OSC2017 Osaka PC-6001 Emulator on NetBSD and pkgsrc
OSC2017大阪のNetBSDセミナーで発表した『NetBSD + pkgsrc で PC-6001 エミュレータ』のスライドです。
Izumi Tsutsui
January 28, 2017
Tweet
Share
More Decks by Izumi Tsutsui
See All by Izumi Tsutsui
PC-6001のPSG演奏デモを機会にNetBSDを真面目に説明してみる / OSC2024Ehime
tsutsui
0
56
PC-6001のPSG演奏デモをなるべくNetBSD環境を使って作った話 / KOF2024
tsutsui
1
53
OSC展示とLUNAとNetBSD / OSC2024Kyoto
tsutsui
1
81
digital VAX, NetBSD/vaxの歴史と VAXstation 3100/m30 展示 / OSC2024Osaka
tsutsui
0
470
SONY NEWS NetBSD移植作業とNWS-3260展示 / KOF2023
tsutsui
0
1.3k
37年前の Sun 3/60 のために最新のNetBSDと最新のX.orgをメンテする話 / KOF2022
tsutsui
1
480
お歳暮で Sun3 が送られてきたので NetBSD/sun3 を展示デモしました / OSC2020Osaka
tsutsui
5
2.8k
NetBSD/zaurus 8.1 を直したあと ブース展示デモ内容を作った話 / OSC2019Tokyo-Fall
tsutsui
0
700
NetBSD/zaurus 8.1 をテストしたら動かなかったので動くまで直した話 / KOF2019-NetBSD
tsutsui
1
1.1k
Other Decks in Programming
See All in Programming
Monixと常駐プログラムの勘どころ / Scalaわいわい勉強会 #4
stoneream
0
280
テストコード文化を0から作り、変化し続けた組織
kazatohiei
2
1.5k
menu基盤チームによるGoogle Cloudの活用事例~Application Integration, Cloud Tasks編~
yoshifumi_ishikura
0
110
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
130
テストケースの名前はどうつけるべきか?
orgachem
PRO
0
140
たのしいparse.y
ydah
3
120
テストコード書いてみませんか?
onopon
2
130
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
150
Fibonacci Function Gallery - Part 1
philipschwarz
PRO
0
220
テスト自動化失敗から再挑戦しチームにオーナーシップを委譲した話/STAC2024 macho
ma_cho29
1
1.3k
20年もののレガシープロダクトに 0からPHPStanを入れるまで / phpcon2024
hirobe1999
0
500
Keeping it Ruby: Why Your Product Needs a Ruby SDK - RubyWorld 2024
envek
0
190
Featured
See All Featured
BBQ
matthewcrist
85
9.4k
Designing for humans not robots
tammielis
250
25k
How GitHub (no longer) Works
holman
311
140k
4 Signs Your Business is Dying
shpigford
181
21k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
28
4.4k
How to train your dragon (web standard)
notwaldorf
88
5.7k
Six Lessons from altMBA
skipperchong
27
3.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
347
20k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
A Philosophy of Restraint
colly
203
16k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
28
2.1k
Transcript
NetBSD + pkgsrc で PC-6001 エミュレータ オープンソース カンファレンス 2017 大阪
むりやり PC-6001 ネタ ふたたび Izumi Tsutsui
[email protected]
Twitter: @tsutsuii
OSC大阪の 一週間前の ある日
https://twitter.com/tsutsuii/status/822684506545000449
https://twitter.com/ebijun/status/822685193811042304
https://twitter.com/tsutsuii/status/822728091810152448
https://twitter.com/ebijun/status/822779295873404928
というわけで NetBSDとは あまり関係なく PC-6001の話 です
シールも配布中です
PC-6001 とは • NEC製の 8ビットパソコン •1981年 11月 発売
PC-6001 スペック •CPU: 8bit Z80互換 4MHz •RAM: 標準 16KB, 最大32KB
•グラフィック: 128×192ドット 4色 256×192ドット モノクロ2色 •音源:PSG 3和音 •標準価格:89,800円
ホビー・教育向け ターゲット http://www.nicovideo.jp/watch/sm1254646
私も 小学生の頃に 友達の家やお店で いじってました……
•VRAMも共用 → 空きは 7KB •それでもいろいろ作れた時代 いろいろ遊ぶには32KBに増設しないとキツいかも メモリ 16KB
•128×192: 横長ドット •青・赤・緑・黄 (白と黒はナシ) 4色の芸術
ビデオ出力の特性を使った 「にじみモード」という技も モノクロモードもあります
•カセットテープ(死語) に“音”で記録 •1200bps (100バイト/秒) •23KB のロードに 5分弱 外部記憶はテープレコーダー
PSG音源 • いわゆるピコピコ音 × 3和音 • 元はアーケードゲーム用? • BASICだと PLAY
文で MMLという書式を書いて演奏 こんなの→ "C8<D+D+8G8F8G8D+>D+DD+F"
PSG展示@OSC ※詳しくはOSC京都・ OSC広島の資料を 参照してください
35年前のマシンですが 21世紀の今でも PC-6001用ソフトや エミュレータを 作っている人がいます
イース2 オープニング https://youtu.be/dpRihhIxznc
ちゃんとアニメしてる! PSGで音楽も鳴ってる! テープからロードしながら 画面スクロールしてる!!! ※エミュレータでの動作実演もご覧ください この動画がすべてのきっかけです
作者のTINY野郎さんのブログより http://www.tiny-yarou.com/prj006.html
PC-6001用エミュレータ https://ja.wikipedia.org/wiki/PC-6000%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA •WikiPediaより 1999年頃より、Microsoft Windows やUNIX上で動くPC-6001の エミュレータが開発され、 当時のゲームソフトウエアなどが 実行できるようになっている。
PC6001V http://papicom.net/p6v/index.html
•Windows用 •ソースコードも公開! •高速テープロードモード •どこでもSAVE機能 •リプレイ機能 •デバッガモード (モニタ・逆アセンブル・ブレーク等) PC6001V
デバッグモニタが便利!
PC6001VW http://p6ers.net/bernie/develop/pc6001vw3.html
•PC6001V をベースに拡張 •デバッグモードがさらに充実 ➢ファイル→RAMへのロード ➢RAM→ファイルへセーブ ➢VRAMのビットマップ表示機能 等々 PC6001VW
よっしゅさんの PSG音源ドライバ http://park10.wakwak.com/~yosh/p6.html
耳コピ→MML打ちこみ • ボカロとかより簡単(?)です
そんな感じでいろいろ作りました http://www.nicovideo.jp/watch/sm29263535 http://www.nicovideo.jp/watch/sm29939586
エミュレータ上での デモの動作も 見てみてください ※デモ実演
普通に NetBSD で P6エミュレータを 動かしてますが、 当時はWindowsで 作業してました 編集とかgit管理はNetBSD上
PC6001VX http://eighttails.seesaa.net/article/305067428.html https://github.com/eighttails/PC6001VX
•READMEより 「PC6001VをLinux等で動作 するよう改変したものです」 「PC6001VXの末尾のXは クロスプラットフォームの Xです」 PC6001VX https://github.com/eighttails/PC6001VX
•基本的な機能は PC6001V 準拠 •クロスGUI環境としてQt5を使用 •TILT機能などの拡張もあり •Androidでも動作 PC6001VX https://github.com/eighttails/PC6001VX
なかなかスパルタ式 (´・ω・`) PC6001VX ビルド手順 https://github.com/eighttails/PC6001VX
しばらく保留 (´・ω・`) https://twitter.com/tsutsuii/status/745587703056474112
年末になって 「冬休みの宿題」 ということで ようやく着手
試行錯誤5時間の結果 https://twitter.com/tsutsuii/status/814555848257073152
pkgsrc化 ポイント •"*.pro” のある場所で qmake → Makefile ができる •x11/qt5-qtbase とかを入れる
•multimedia/ffmpeg3 も入れる •非Linuxの記述が無いので適当に pkg-config とか追加 •グラボによっては HwAccel が 落ちるので手動で無効に設定 詳しくはブログ記事を参照 http://ch.nicovideo.jp/tsutsui/blomaga/ar1165341
さっそく補足されました https://twitter.com/eighttails/status/814730564494192642
さっそくレポート https://twitter.com/tsutsuii/status/814732932615016449
とりこまれました https://twitter.com/eighttails/status/814857031404224512
https://twitter.com/eighttails/status/814873526192640000 https://twitter.com/eighttails/status/814871184739209216 “Of course, it runs ...”
NetBSDは いろんなマシンで動く + pkgsrcは NetBSDで使える ↓ pkgsrc入りしたアプリは いろんなマシンで動く?
過去の事例
ONScripter
Xnp2
xkanon
mikutter
“なぜそれを動かすのか” https://twitter.com/tsutsuii/status/182102228704825345
謎マシンの代表として NetBSD/dreamcast (CF付き)で PC6001VX を展示デモしようと 1月8日から I/O DATA LANTANKで ビルドを仕掛けていたのですが、
これを書いてる 28日朝6時時点でも まだQt5のビルド中で挫折(´・ω・`) ご報告とおわび
•昔のマシンはこじんまりしていて 結構お手軽に楽しめます •エミュレーターと開発環境も 充実しています •pkgsrc にすると何でも動くよ! •pkgsrc にすれば何でも 展示・セミナーネタになる!? まとめ