PC-G850V のエミュレータ

Version 0
http://www16.ocn.ne.jp/~ver0/index.html
http://ver0.sakura.ne.jp/
Linux/Windows/MacOSX用ソフトウェア
SHARP PC-G850/G815/E200エミュレータ g800 version 0.9.8
http://www16.ocn.ne.jp/~ver0/pc/index.html#g800
http://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.8
http://www16.ocn.ne.jp/~ver0/pc/index.html#g800
http://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 にプロフィール画像を追加してみました。画像を添付しておきます。

「PC-G850V のエミュレータ」への2件のフィードバック

  1. はじめまして。以前からブログを拝見していました。
    こちらの記事を参考にして、
    OS X でもビルドが容易に可能だと思われたので、
    実際にビルドしたところ、呆気なくできてしまいました。
    (ソースは全く変更せずに make できてます)
    まるひろさんに許可を得て、OS X アプリ版として公開を行ってみました。
    ウインドウが表示されるのは SDL ライブラリの導入方法で生じるものなので、
    これも .app 化でライブラリを同梱する事で解決しています。
    お礼とご報告をかねまして。ありがとうございました。

  2. ふうせん Fu-sen. さん、はじめまして!
    お役に立てて光栄です。
    私も早速ダウンロードさせてもらいます。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です