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
80
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
創造的活動から切り拓く新たなキャリア 好きから始めてみる夜勤オペレーターからSREへの転身
yjszk
1
130
Criando Commits Incríveis no Git
marcelgsantos
2
170
わたしの星のままで一番星になる ~ 出産を機にSIerからEC事業会社に転職した話 ~
kimura_m_29
0
180
MCP with Cloudflare Workers
yusukebe
2
220
モバイルアプリにおける自動テストの導入戦略
ostk0069
0
110
バグを見つけた?それAppleに直してもらおう!
uetyo
0
170
第5回日本眼科AI学会総会_AIコンテスト_3位解法
neilsaw
0
170
今年一番支援させていただいたのは認証系サービスでした
satoshi256kbyte
1
250
.NET 9アプリをCGIとして レンタルサーバーで動かす
mayuki
1
770
今からはじめるAndroidアプリ開発 2024 / DevFest 2024
star_zero
0
1k
tidymodelsによるtidyな生存時間解析 / Japan.R2024
dropout009
1
730
return文におけるstd::moveについて
onihusube
1
730
Featured
See All Featured
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Optimizing for Happiness
mojombo
376
70k
Designing for Performance
lara
604
68k
Into the Great Unknown - MozCon
thekraken
33
1.5k
Bash Introduction
62gerente
608
210k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
44
9.3k
Scaling GitHub
holman
458
140k
The Power of CSS Pseudo Elements
geoffreycrofte
73
5.4k
Adopting Sorbet at Scale
ufuk
73
9.1k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Building Flexible Design Systems
yeseniaperezcruz
327
38k
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 にすれば何でも 展示・セミナーネタになる!? まとめ