6503がようやく動いた報告

イメージ
  回路図まで載っけて作りましたと宣言した前回。 いざ色々動かそうとしたものの、 プログラムがまともに動かないので試行錯誤してたら何年たってたんですかねこれ 。月日が経つのは怖いですね。 今回ようやく6503と6532が無事に動きました。 何につまづいたのかというと、多分アセンブラの文法です。 6502系のアセンブラって結構豊富で、 いろんなところから出てるんですがそれぞれアドレスの表記とか微 妙に違うんですね。 で、 今回久しぶりにca65というアセンブラを使用してみたのがつま づいた原因でした。 一度設定すれば大体の6502系には対応できるのが魅力ですが、 本当よくわからないmakeファイルの設定とかで地獄を見ました 。 以下何やってたのか簡単にまとめていきます。 新しい道具も作ったよ! ■:まず動かない いや、電気は通ってるしクロックは走ってるんですよ。 なのに6532の挙動がおかしくてIRQはでっぱなしだしcpu は止まるし訳がわかりません。 そこで今一度6532のデータシートを読むと、 「 NMIとIRQはオープンコレクタなので 必ずプルアップすること 」 ってあるんですね。何その罠。 というわけでプルアップ抵抗を追加しました。 これでcpuがすぐに止まる事故は解決… と思いきやまだ止まります。というか出力がよくわからない。 そこで大昔に作りかけてやめた出力確認用LEDパネルを作成する ことにしました。 ■:めちゃくちゃ便利なLEDパネル 5年くらい前にこんなの作ったら便利やろってLEDだけ並べて、 回路に不備があることに気がついてなげたもの。 今ならなんとかできそうってことで抵抗とトランジスタ をばーっと取り付けて、 カードエッジからも表のポートからも入力できるようにしました。 これまでは毎回ブレッドボードでled回路組んでたんでクソめん どくさいし抜けるしで散々だったのですが、 これで見やすい簡単出力もicに負担がなく万々歳になりました。 やったぜ。 まあ回路図書かずにえいやっと作ったので裏はすごいことになって ます。ちゃんと整えて、 入力スイッチもつけて体裁整えたら普通に便利道具になりそう。 クロックパルスも出せるようにしたいですね。 ledドライブのために2sc1815を贅沢に使用してます。 意外と高いですがいつ買ったのか結構あったので奮発...

[ターミナル通信は]MacintoshPlusとWindows10をUSBでつなぐ!?[時空を超えて]



古いマックで絵を描いたり、名刺を作ったりと色々するのですが問題なのはそこで作ったデータを現在の媒体に持ってくる際に非常に複雑なプロセスと多くのメカを挟むこと、また基本的に古いマックを間に挟まないといけないといった問題があります。

しかーし!!!それはあまりにめんどくさい!何か方法があるはずだ!

ということで今回、Macintosh初代より搭載されているある機能を用いてWindows10とMacintoshPlusをつなげてしまう、ということに挑戦しました。ちなみに、68kMacintoshでもPowerMacintoshでもできると思われます。

■初代から搭載!シリアルポートでターミナル通信
Macintoshには「AppleTalk」というネットワークシステムが搭載されており、ファイル交換やプリンターを共有するなど様々な用途に用いられていました。そのシリアル通信機能を生かしてWindowsマシンとつなげてしまおうというのが今回の作戦です。

・必要なもの
USB-RS232シリアルコネクタ
たぶん秋葉原とかアマゾンとかで割と安く売っています。これがないといまのWindowsにはそもそもシリアルポートがないので・・・

68kMacitnoshで動くターミナルソフト

これがかなり重要です。あと互換性が悪いとクラッシュするのでなるべくOSにあったものを選んでください。ちなみに自分はクラリスワークスという事務ソフトについていたターミナル機能を使いました。この中に、SerialToolという機能がございまして、どうやらこれが今回のカギになったようです。たぶんこれが一番入手が難しいかも・・・
「68k Macintosh Terminal」とかけんさくすれば出てくるかと思います。(問題はこのソフトをMacintoshPlusにどうインストールするかなのですが。)

MiniDin8-Dsub9ピン変換コネクタ
これがないとUSB-シリアル変換コネクタと接続するのが結構大変になります。直結型のを作成してもいいのですが、ピンアサインなどに気を付けるのとあのちっさいコネクタにはんだ付けするのがかなり難しいです。1000円と割とお高めですが。

Dsub9ピンメスーメス変換コネクタ(場合による)
コネクタの向きによっては直接つながらない場合がありますので、これがあると安心かもしれません。自分はジャンパ線で強引につなぎました((笑))

■いざ接続!TeraTermでデータ転送&受信

いまのWinodwsからデータを送信したり受信したりするにはターミナルソフトを経由する必要があります。そこでお約束のTeraTermを使い、ターミナル通信を行います。

そしてMacitnoshのMiniDin8PinコネクタをDsub9ピンに変換、もしくはピンを引き出してUSB-シリアル変換コネクタとピンを合わせて接続します。
強引にジャンパピンで接続。
その際に、パソコン同士の接続になるためきちんとクロス変換をしないとつながりません。また、今回使用したクラリスワークスのターミナルソフトの場合は本来RS422ポートであるはずのシリアルポートをRS232出力に変更してしまう機能があったようで・・・シリアルポート設定にしたところ普通のRS232シリアルーシリアル変換接続方式でつなぐことができました。

そしてターミナルを起動し、データを送信!!
XMODEM接続で受信中。後ろの文字化けは違う送信方法で送ったために受信したデータがそのままコンソール画面に出てしまったもの。

見事受信に成功。ただし、これには条件があり受信したデータのバッファとしてこのMacに搭載されているメモリを使用するため、あまりに大きいデータは受信できないのです。その大きさはSystem+Tarminalを起動して、残っているメモリの分だけのようです。
しかしファイルの形式によっては受信できる場合もあるため、正確なことはいまいち謎。

また、数キロバイト程度のデータのやり取りなら問題ないのですが100Kbとかになるともう大変。10分とか余裕でかかります。(送受信の速度を変更すればそれなりになりますが・・・)

というわけでシリアル通信を使えばUSBのない68kMacitnoshでもWindowsやintelMacとのファイルのやり取りが可能ということがわかりました。HDDを共有しているわけではないので、受け取る側にもHDDが必要などありますがこれでいちいちMOに移してデータを取り出してといった必要はありません。また、シリアル接続に対応したものならこのコンソールで操作ができるわけです。つまりArduinoも操作可能!
画像は信号を調べている際の写真。RS422用の回路を組んだものの通信できず、ここでRS232の信号であることに気が付きました。

まあそのプログラムを組む必要はありますが・・・どうやらシリアル通信で操作できるプリンターもあるそうですし、Wifiモジュールもあるそうなので使い方によってはすごいことができそうですね!

次の記事:
[名機?]オセロマルチビジョンでオセロ対決[迷機?]
前の記事:

ファミリーベーシックでゲームプログラミング

先日とあるきっかけでこちらの「ファミリーベーシック」なるものを入手。これはあのファミリーコンピュータ―にキーボードをつないで、コンピューターとして使ってしまおうというモノなのです。



コメント

このブログの人気の投稿

ファミコンの完全自作ROM&カセットを作ろう!!その1~立ちはだかるコンパイラの壁~

ファミリーベーシックでゲームプログラミング

ファミコンの完全自作ROM&カセット作ろう!〜cc65で起動ROMをつくる〜