CASIO AI-1000を使ってみる!その2

今回は、本当にAI-1000初心者が苦労する流れを書いている。

AI-1000系に詳しい人が読むとイライラしてくるかも知れないので要注意だ!

 

FA-7を使えるようにしてみる!

f:id:PocketGriffon:20210722084010j:plain

FA-7はAI-1000でカセットインターフェース、RS-232Cを使えるようにする外部ユニットだ。AI-1000を覆うような形をしているので、縦横20cm以上もある結構なサイズと重さ。

f:id:PocketGriffon:20210721205955j:plain

このユニットは1980年代に購入して活用していた。使ってみるのは35年ぶりくらいになるかと思う。その頃はPC-9801UV21に繋げて使っていた記憶がある。当時はRS-232Cケーブルも良くわかって無かったので、ストレートとクロスをケーブル1本1本差し替えて切り替えられる物を使ってた。めっちゃ面倒だった記憶しかないw

 

今回は簡単なものを使うよ!

f:id:PocketGriffon:20210722093957j:plain

このMPRS-225R、本当に便利です!

PC-8201、TANDY200、PC-8801など、標準的な25ピンシリアルを持つマシンだったら何の問題もなく繋がる!

同じものを手に入れるのは(すでに販売終了してるっぽいので)難しいけれど、似たものはたくさん出てると思うので、レトロでプログラミングする方は手に入れておくと良いよ!(^^)

 

FA-7の裏に通信速度を設定するディップスイッチが存在する。

f:id:PocketGriffon:20210722102151j:plain

今回は9600bpsで通信出来るといいな…という願いを込めて、まずはすべてのスイッチをONにしてみる事に。ダメだったら後で様子を見ながら変更してみる!

 

よーしやってみるよ!35年ぶりの電源おーん!!!

f:id:PocketGriffon:20210722095251j:plain

しーん……

あれ??何か必要なんだっけ???

そうか、電源がいるんだったかもしれない…。

ひっくり返して裏を見てみる。

f:id:PocketGriffon:20210722095418j:plain

おおぅ……単3電池6本!これは……結構な数!!(^^;;

持ち運びがラクになるなら電池駆動しようかな…とも思ったけれど、今回はACアダプタ繋げてテストをしてみる。まずは動かしてみるのが大切よ(^-^)

 

f:id:PocketGriffon:20210722095741j:plain

うーんと……ACアダプタはAD-4175という型番を繋げるらしい。

これは…どんなスペック?

f:id:PocketGriffon:20210722095830j:plain

ネットで写真を探してみると、どうやら7Vの出力らしい。

この時代では主流?のセンターマイナス!

この2つの情報があれば、あとはユニバーサル電源で対応が出来る。

 

f:id:PocketGriffon:20210722100003j:plain

私はAmazonで手にいれたコレを使っている。アダプタには極性を逆にするケーブルが付属していなかったので、センターマイナスにするケーブルも取り付けている。

 

これもPC-8201系、HC-40系などいろんなレトロマシンと繋げられている。本当に便利なのでレトロな(主にハンドヘルド)を使う方は入手しておくと良いと思う!

 

f:id:PocketGriffon:20210722100833j:plainf:id:PocketGriffon:20210722100854j:plain

よし、問題なく電源は入った!

こんな久しぶりなのに、ちゃんと電源入るのが嬉しい!(^-^)

これでFA-7側の準備は整った!

 

BASICプログラムをホストマシンへ送信

さて…通信の準備は整ったよーな気がするので、まずはBASICプログラムを転送してみる。

……はて??どうやってBASICプログラムを転送するの???(@_@;

まずはここからのスタートだw

なんたってAI-1000でプログラム書いた事が無い人だ!

みくびってもらっちゃ困るよ!!

 

f:id:PocketGriffon:20210722102733j:plain

MENUボタンを押すとこの画面になるので、ここでbasicをタッチ…じゃなくて該当するファンクションキーを押す。

この画面が出てくるとPB-1000のクセで画面にタッチしたくなるよね!(^^;;

 

f:id:PocketGriffon:20210722102754j:plain

簡単なBASICプログラムを書いてー…

f:id:PocketGriffon:20210722102706j:plain

そのままMENUへ抜けてみたら、ファイル名の無いファイル?が出来た。
拡張子がBになっているので、きっとBASICプログラムなんだと思う。

 

最初、セーブしなくてもファイルとして残るという概念が「?」となった。でもメモリ中にあるプログラムはすべてファイルとして管理されていると思えば、こういったMENU構造を持つマシンだと分かりやすいんだな…と感じる!そうかーなるほどな管理方法。

 

わかりやすくファイル名を付けてみる。

f:id:PocketGriffon:20210722103224j:plain

[ETC.]を押して[name]を選択。

new name?にTESTと入力。拡張子は指定できないっぽい。

f:id:PocketGriffon:20210722104631j:plain

よし、これでTEST.Bという名前でメモリファイルに保存された状態…になったんだと思う。

マニュアルをちゃんと読んでないせいか、ありとあらゆる事が「今起きている現象を元にした推測」でしかない状態が怖い(^^;; これで解釈あってるのかなw

 

まずはAI-1000 → ホストマシンへの転送をしてみる。

私の環境はホストマシンがMacBookPro、送受信アプリはPCG-LinkMacを使っている。

これはPC-G850シリーズ用に開発されたシリアル通信アプリなのだが、実際にはPC-G850シリーズ限定ではなく汎用的に使えるので、ありとあらゆる通信で使っている。とっても便利なのでMacユーザーは使うと良いと思う!(^-^)

 

f:id:PocketGriffon:20210722105218j:plain

↑一番トップのMENU画面から[ETC.」を押す。

f:id:PocketGriffon:20210722105302j:plain

↑ファンクション表示が切り替わるので、ここで[save]を選択。

f:id:PocketGriffon:20210722105241j:plain

↑どこにセーブするのか選択肢が出るので、RS232Cを選択。

f:id:PocketGriffon:20210722105323j:plain

↑通信パラメータの設定が出るので、上記のように変更。

これは「9600bps、パリティなし、8bit、ストップビット1bit、N、N、N、X制御あり、N」という意味だ。Nについてはとりあえず考えなくても良い(^^)

 ホストマシン側のPCG-LinkMacを受信状態にして、EXEを押す。

 

f:id:PocketGriffon:20210722105813p:plain

よっしゃ、ばっちりホストマシンへ送ることが出来た!

これが出来るようになれば、ROMの引っこ抜きとか出来るようになるかもね!

まずは半分成功!!(^-^)

 

ホストマシンからBASICプログラムを受信

今度は逆に、ホストマシンからAI-1000へプログラムを送り込んでみる。

手順は送信時とほぼ同じで、MENU→[ETC.]→[load]→[RS232C]を選択だ。

通信パラメータは前回のセーブ時のものがそのまま残っているので無変更で大丈夫!

EXEを押して受信状態にしてから、ホストマシン側で送信する。

f:id:PocketGriffon:20210722110518j:plain

…あら?エラーになっちゃった。

FR errorってなんぞ??

マニュアルを見てみると「フレーミングエラーを検出した」と書いてある。

このエラー内容の書き方で意味がわかる人って相当な熟練な気がするけれども…汗

 

とりあえず通信速度を落としてみよう。X制御してたら大丈夫な気もするんだけど…。

PCG-LinkMacの設定で、送信時にウェイトを入れる事が出来るので、これをとりあえず「デフォルト(10ms)」に設定してみる。これは1バイト送るごとに10ms待つという意味。

通信速度はどどーんと遅くなるけれども、エラーになるよりはマシ。

 

f:id:PocketGriffon:20210722110911j:plain

そして無事に受信成功!!!

便宜上、受信したデータに「TEST2」という名前を付けた。

なぜか空白のファイルも1つ出来てしまった。これはなんだろ???中身は無いみたい。

おそらくFR errorが出た時に出来たファイルなんだと思う。

 

そして拡張子が「S」。これもよーわからん(ToT)

マニュアルみると「シーケンシャルデータファイル」の事らしい。これをBASICファイルとして変換するのはどうするんだろ???

 

とりあえずBASICを起動して、受信したプログラムが読めるか試してみる。

f:id:PocketGriffon:20210722111414j:plain

直感的に「LOAD "TEST2.S"」としてみたがNF errorとなった。

どうやら「指定したファイルが見つからない」エラーらしい。

じゃあという事で、拡張子指定をなくしてみる。

f:id:PocketGriffon:20210722111601j:plain

今度はロード成功。ははぁなるほど、拡張子というよりは識別子なんだな。

手探りかつ自身の勝手に近い解釈が進んでいく(^^;;

f:id:PocketGriffon:20210722111736j:plain

↑巧妙にもFOR分の数字を10→20へ変更しておいた!

f:id:PocketGriffon:20210722111836j:plain

↑よっしゃ、実行もバッチリ!

これでプログラム開発に必要な送受信通信が出来るようになった!

この先はプログラムの工夫次第だ(^-^)

 

ではまた次回!(^-^)ノ