Version 0http://www16.ocn.ne.jp/~ver0/index.htmlhttp://ver0.sakura.ne.jp/ Linux/Windows/MacOSX用ソフトウェア SHARP PC-G850/G815/E200エミュレータ g800 version 0.9.8http://www16.ocn.ne.jp/~ver0/pc/index.html#g800http://ver0.sakura.ne.jp/pc/index.html#g800
以前、見つけた、まるひろさんのPC-G850V エミュレータを試してみることにしました。残念ながら、PowerPC バイナリだけで Intel 版はないようです。
それで、ソースからビルドしてみることにしました。
Simple DirectMedia Layer http://www.libsdl.org/index.php
まず、最初に SDL をインストールする必要があるようです。
Simple DirectMedia Layer http://www.libsdl.org/download-1.2.php
の Source Code:
SDL-1.2.14.tar.gz - GPG signed SDL-1.2.14-1.src.rpm - GPG signed SDL-1.2.14.zip - GPG signed
のいづれかをダウンロードして
./configure make sudo make install
するだけで /usr/local/bin にコピーされるようです。
今回は Source Code からビルドして /usr/local/bin にコピーせず、
Simple DirectMedia Layer http://www.libsdl.org/download-1.2.php
Runtime Libraries: Mac OS X: SDL-1.2.14.dmg Development Libraries: Mac OS X: SDL-devel-1.2.14-extras.dmg (templates and documentation)
をインストールして SDL.framework、Xcode テンプレートを利用してビルドしてみました。(試していませんが、実行ファイル内のフレームワークに SDL.framework をコピーするようにすれば、SDLをインストールせずに実行できるので便利かもしれません。)
SDL の知識もないので、
ただ g800.c の
int main(int argc, char *argv[])
を
int g800_main(int argc, char *argv[])
に変更し、
SDLMain.m の先頭に
extern int g800_main(int argc, char *argv[]);
を宣言し、
static void CustomApplicationMain (int argc, char **argv) 関数内で
/* */ g800_main(argc, argv); /* Start the main event loop */ [NSApp run];
g800_main を呼ぶようにしました。
z80.h で ビッグエンディアン (big endian)、リトルエンディアン (little endian) の判別ができていないようなので
#include <stdio.h> #if defined(Z80_USE_SDL) /* 省略 */ #endif #define Z80_LITTLEENDIAN 1
上のように Z80_LITTLEENDIAN を宣言しました。
Xcode でビルドするため、ソースを UTF8 に変換し(本当は、文字コード : Shift-JIS のままでも問題はありません。)、文字 ¥を置換を使って、すべて \ (Option + \) に変更しました。何とかビルドすることに成功しました。
また、
Linux/Windows/MacOSX用ソフトウェア SHARP PC-G850/G815/E200エミュレータ g800 version 0.9.8http://www16.ocn.ne.jp/~ver0/pc/index.html#g800http://ver0.sakura.ne.jp/pc/index.html#g800
の copyrom.zip を使って、PC-G850V の ROM を吸い出す必要があります。ここで、はまりました。
base.txt rom00.txt rom01.txt rom02.txt rom03.txt rom04.txt rom05.txt rom06.txt rom07.txt rom08.txt rom09.txt rom09.txt rom09.txt rom0a.txt rom0b.txt rom0c.txt rom0d.txt rom0e.txt rom0f.txt rom10.txt rom11.txt rom12.txt rom13.txt rom14.txt rom15.txt
PC-G850V の場合 ROM BANK 15 ( rom15.txt ) まで吸い出す必要があります。ソースを覗いたり、動作を追跡したりしましたが、結局、ホームページを見て気付きました。動作した時は、本当にうれしかったです。
拙作 MINE [Minesweeper ver 0.2]
と
COSMO PATROL http://orange.kakiko.com/cosmopatrol/
咳めぐさんの 箱入り娘。 モッピーのアルバイト
を実行した動画を添付しておきます。
拙作 DUMP [DUMP ver 0.1] EYES [Eyes version 0.1]
の動画については、
PC-G850V http://kyoshiaki.sakura.ne.jp/osx/pcg850v.html
で公開しています。
また、転送するテキストにカナ文字が含まれている時は、Sio / Format の parity を none にすると良いようです。
ESC キーを押して電源を切ると空のウインドウが開きますが、Xcode 内のテンプレート main.c でウインドウを作成しているためだと思います。もう一度、ESCキーを押して終了する必要があります。
動作環境は
Mac OS X 10.6.2 ビルド 10C540 Xcode バージョン 3.2.1 64-bit コンポーネントのバージョン Xcode IDE: 1613.0 Xcode Core: 1614.0 ToolSupport: 1591.0 SDL-1.2.14.dmg (SDL.framework) SDL-devel-1.2.14-extras.dmg (templates and documentation) (Xcode テンプレート)
です。
[ MINE [Minesweeper ver 0.2] ]
[ 箱入り娘。]
[ モッピーのアルバイト ]
おまけ、前回紹介した iYKTwitter にプロフィール画像を追加してみました。画像を添付しておきます。
はじめまして。以前からブログを拝見していました。
こちらの記事を参考にして、
OS X でもビルドが容易に可能だと思われたので、
実際にビルドしたところ、呆気なくできてしまいました。
(ソースは全く変更せずに make できてます)
まるひろさんに許可を得て、OS X アプリ版として公開を行ってみました。
ウインドウが表示されるのは SDL ライブラリの導入方法で生じるものなので、
これも .app 化でライブラリを同梱する事で解決しています。
お礼とご報告をかねまして。ありがとうございました。
ふうせん Fu-sen. さん、はじめまして!
お役に立てて光栄です。
私も早速ダウンロードさせてもらいます。