OSC2017大阪のNetBSDセミナーで発表した『NetBSD + pkgsrc で PC-6001 エミュレータ』のスライドです。
NetBSD + pkgsrc でPC-6001 エミュレータオープンソース カンファレンス 2017 大阪むりやり PC-6001 ネタ ふたたびIzumi Tsutsui[email protected]Twitter: @tsutsuii
View Slide
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という書式を書いて演奏こんなの→ "C8D+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のエミュレータが開発され、当時のゲームソフトウエアなどが実行できるようになっている。
PC6001Vhttp://papicom.net/p6v/index.html
●Windows用●ソースコードも公開!●高速テープロードモード●どこでもSAVE機能●リプレイ機能●デバッガモード(モニタ・逆アセンブル・ブレーク等)PC6001V
デバッグモニタが便利!
PC6001VWhttp://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上
PC6001VXhttp://eighttails.seesaa.net/article/305067428.html https://github.com/eighttails/PC6001VX
●READMEより「PC6001VをLinux等で動作 するよう改変したものです」「PC6001VXの末尾のXは クロスプラットフォームの Xです」PC6001VXhttps://github.com/eighttails/PC6001VX
●基本的な機能は PC6001V 準拠●クロスGUI環境としてQt5を使用●TILT機能などの拡張もあり●Androidでも動作PC6001VXhttps://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/814873526192640000https://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 にすれば何でも 展示・セミナーネタになる!?まとめ