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 にプロフィール画像を追加してみました。画像を添付しておきます。

NetWalker、4ビットマイコン GMC-4 用クロスアセンブラ gmc4asm

上の写真のように NetWalker(PC-Z1-B) を購入してしまいました。他の2台は iPhone 用のケースを付けていますが、両方とも iPod touch です。黒が iPod touch (2nd generation)、茶色が iPod touch (late 2009) です。

まず iPod touch (late 2009) から、今まで、拙作 iYKRSS [ http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=321871985&mt=8 ] ( インジケーター機能を付けたバージョン 1.0.1も公開中です。無料ですので良かったらダウンロードしてください。) で RSS フィードを読んでいるときに、英和辞書として ‘ニンテンドーDSi‘ の ‘漢字そのまま DS楽引辞典‘ を利用していたのですが、iYKRSS を iPod touch (late 2009) で使用し、’ i英辞郎‘ を iPod touch 2nd で利用できるようになり、大変便利です。最近 ‘ニンテンドーDSi‘ でゲームもほとんどしないので、’ニンテンドーDSi‘は、利用しなくなってしまいました。

後、iPod touch (2nd generation) の Safari で Web ページのリンクを長押し、新規ページを開き、元のページに戻ると、Web ページを再読み込みしてしまいます。そのため Web ページの位置が Web ページを開いた位置に戻ってしまいます。iPod touch (Late 2009) ではメモリが増えた分、キャシュが残っているので、前の読んだ位置でそのまま表示されます。地味な機能ですが、拙作 2ch Script Version 0.3 [ http://kyoshiaki.sakura.ne.jp/osx/leopard.html#2ch03 ]で ‘Web 共有’ をよく利用するので助かります。

iPhoneiPod touchGmail Sync を利用することで Gmail プッシュ配信が可能になりました。詳細は下記 URL を参考にしてください。

Google Sync : Set Up Your iPhone or iPod Touch - モバイル ヘルプ
http://www.google.com/support/mobile/bin/answer.py?answer=138740&topic=14252
Google Sync on your mobile phone
http://www.google.com/mobile/products/sync.html#p=apple

NetWalker(PC-Z1-B) は、以前使用していた Zaurus SL-C3200 も古くなったので、代用に購入してみました。Zaurus SL-C3200 は主に外出した時に、拙作 2ch Script Version 0.3 で作成した 2ch データを閲覧するのに利用していました。Zaurus SL-C3200 ではブラウザが Opera 7.25 でしたが、NetWalker では OS が Ubuntu 9.04 でブラウザが Firefox 3.0.13 なので願ったり叶ったりです。

Ubuntu については Mac OS XVMware Fusion 上で利用したことがある程度であまり知識はありません。参考に

を購入してみました。

とりあえず、メニュー ‘追加と削除…’、’システム/システム管理/Synaptic パッケージ・マネージャ’ を利用して

jd     : JD 2ch browser
ttf-konatsu : TrueType Font originally for BeOS
emacs    :  Gnu Emacs is the extensible self-document text editor. 
midori     : Midori is a lightweight web browser based on WebKit. 

を追加しました。念のため

モバイルインターネットツールNetWalker)|Netwalker(PC-Z1) 再インストール用microSDカード作成手順について:シャープ
http://www.sharp.co.jp/support/mit/doc/recovery.html

を参考に、リカバリmicroSDカード作成しておきました。

インタプリタコンパイラなどのプログラム言語を作成する書籍はいろいろ所有しているのですが、興味があったので、上の2冊を購入してみました。

プログラミング言語を作る C言語‘ は、yacc、lex 、’ふつうのコンパイラをつくろう 言語処理系をつくりながら学ぶコンパイルと実行環境の仕組み’の方は JavaJavaCC を利用しています。’ふつうのコンパイラをつくろう 言語処理系をつくりながら学ぶコンパイルと実行環境の仕組み’は、まだ読んでいる途中です。

~ $ info flex
~ $ info bison

ターミナル上で info コマンドを使って flex、bison のドキュメントを一部分読みました。

Vol.24 4ビットマイコン | 大人の科学マガジン | 大人の科学.net
http://otonanokagaku.net/magazine/vol24/description.html

試しに gmc-4 クロスアセンブラ gmc4asm を作成してみました。はじめて lex、yacc を使って作ったプログラムなので無駄も多いし、稚拙です。特に私の技術不足で shift/reduce コンフリクトを取り除くことができませんでした。

Mac OS X Snow Leopard (gmc4asm)

Ubuntu 9.04 (gmc4asm)

NetWalker (gmc4asm)

クロスアセンブラ gmc4asm はターミナル上で動作するコマンドラインツールです。そこで Mac OS X Snow LeopardUbuntu 9.04 x86NetWalker 上で動作するものを別々に作成してファイル gmc4asm.zip に保存しておきました。はてなダイアリーPLUSでファイルをアップロードできるようになったので利用してみました。

gmc4asm.zip 直

gmc4asm.zip
http://kyoshiaki.sakura.ne.jp/osx/Hatena/gmc4asm.zip