PC-G850VS購入、PCG-LinkMac 公開

予約した iPad の 28 日の到着を首を長くして待っている状態ですが!

以前 ‘PC-G850VS 販売’ で検索した時、工業高校生のための需要も一段落した5月に入荷予定と書いてありました。今回検索すると

Robot Shop Technologia ( ロボット専門店 テクノロジア )
http://www.technologia.co.jp/index.html

で販売していました。思わず購入してしまいました。

話は変わって、Unix の基本的なプログラミング知識がないので、Beginning Linux Programming

kindle 版を購入してみました。kindle 版は少し古いのですが、サンプルをダウンロードして確認すると問題なさそうでした。実際、読んでみると良書でした。Unix でプログラミングを始める人はぜひ読んでみるべきです。5章の Terminals と 15章 Sockets を読むと

Index of /jerm
http://www.bsddiary.net/jerm/

jerm のプログラムを完全ではないのですが理解できるようになりました。

ポケコンとパソコンをつなぐ前に
http://www1.plala.or.jp/kurikou/pokekon/trans/intro.html

でダウンロードできる。’PC-Gリンク’ の Mac 版を作成してみました。

PCG-LinkMac

PC-G850V
http://kyoshiaki.sakura.ne.jp/osx/pcg850v.html

を公開します。

PC-G850VS、PC-G850V と Mac を接続するには

高松製作所
http://tss.ram.ne.jp/

のパソコン接続ケーブル (USB)を利用するのが一番簡単です。ドライバもダウンロードできます。

私は “VS-60R USB-RS232Cシリアルポート変換アダプタ (サン電子)” と”共立エレショップのポケコン学習キットに付いていたシリアルケーブル RB-PCIF (配線を二対変更)”を持っているのですが、新調してみました。

凡庸汎用にしたかったので、高松製作所からパソコン接続ケーブル(シリアル)を購入し、

パソコン接続ケーブル(シリアル)

USBシリアル変換ケーブルを

秋月電子通商 - 電子部品・半導体 【通販・販売】
http://akizukidenshi.com/catalog/default.aspx
USB・シリアル変換ケーブル(延長ケーブル付:グレー色)
通販コード M-02747
メーカー GLORYMARK
発売日 2008/10/20
※Mac 及び Windows XP-64bit版は動作保証しておりませんのでご注意ください。
※変換チップにPL2303を使用

ここでは撮れていませんが、延長ケーブルも含まれています。

から買いました。秋月電子通商では Mac OS X には動作保証がありませんが、Mac OS X 凡庸汎用ドライバを直接

Serialio - Products - USB RS-232 Adaptor
http://serialio.com/products/adaptors/usb_serial.php

から、ダウンロードしてインストールすれば問題なく動作します。

また、USB シリアル変換器 ELECOM UC-SGT USB to シリアルケーブル

Amazon カスタマーレビューを読むと

Serialio - Products - USB RS-232 Adaptor
http://serialio.com/products/adaptors/usb_serial.php

同じくMac OS X 凡庸汎用ドライバをインストールすれば動作するようです。

折角、拙作 PCG-LinkMac を作ったので

ポケコンリンク集
http://www.sharkpp.net/pokecom/pclink.html

を参考にアプリをいろいろダウンロードし、拙作 PCG-LinkMac で送信できるか試してみました。

入出力の設定は、メニュー ‘PCG-LinkMac/環境設定…’ で設定できます。


大きなファイル TheRuinForce の転送にも成功したので、大丈夫だと思います。

PC-G850VS から送信されたファイルの受信で、最初の1バイト読み飛ばすバグがあります。原因を特定できませんでした。注意してください。

改行については、mi

mi - Mac OS Xテキストエディタ
http://mimikaki.net/

で判断できますが、テキスト終了コード 1A の判断にはバイナリエディッタ

0xED
http://www.suavetech.com/0xed/0xed.html

が役に立つと思います。

Pocket Game Library - PC-G850 GAME
http://pocketgame.web.fc2.com/game_g.html

で SDCC について知り、

SDCC - Small Device C Compiler
http://sdcc.sourceforge.net/

早速試してみました。大人の科学マガジン Vol.27(8ビットマイコン)そっちのけで、PC-G850VS プログラミングにはまっています。SDCC で作った実験段階のプログラム実行画面を添付しておきます。BASIC ではなく SDCC のC言語アセンブラで作成しています。

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 と Mac の送受信

PC-G850V と Mac の送受信方法を説明した文章

pc-g850v.zip [ http://kyoshiaki.sakura.ne.jp/osx/pcg850v.html ]

を公開します。jerm のパッチも同封しています。

usleep が意味があるのか自信がありませんが!何とか動作しているようです。

月に1回ほど魔が差して PC-G850V のマインスイーパーを楽しむことがあります。

いつものように PC-G850V の電源を入れ、遊ぼうとするとエラーがでました。ファイルが壊れているようです。
マインスイーパーのソースはパソコン上にあります。以前は iMac G5jerm を利用して転送していました。

今回 InteliMac で改造した jerm をコンパイルしてみました。うまく動作するようです。
試しにパッチを作ってみました。パッチを作ったのが初めてなので自信がありませんが、何とかなっているようです。

追記。最近では ‘サンハヤト【CT-441】ポケコンUSBアダプター’ という便利なものがあるようです!