6503がようやく動いた報告

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

漫画「スティーブ・ジョブズ」を読んでわかった、Macitnoshのプログラミングソフトでカーソルキー(矢印キー)が使えない理由


初代Macintosh開発時を振り返る1シーン。ヤマザキマリ「スティーブ・ジョブズ」より

■|128kとPlusでの大きな仕様変更

先日、MSBASICなどでプログラムの編集をしようとすると矢印キー(カーソルキー)が使えないので非常にやりにくいという話をいたしました。自分が使っているMacintosh Plusでは下の写真のように(今とは配置がずいぶん違いますが)きちんとついているのにもかかわらず、INPUT命令でもこれらのキーは入力がNullとなりまともに取得できないのです。

いまのキーボードと比べるともう色々違うが・・・

なぜこんなことになってしまったのかと思い愛読書でもある「スティーブ・ジョブズ」を開いてみると、こんな1シーンがあります。

カーソルキーがないことによりデベロッパー各社が対応を余儀なくされた、とある。

つまり、初代Macintoshのキーボードには「カーソルキー」がないということが切実に書かれています。そのためにデベロッパー会社、つまり開発ソフト販売元はこの特殊な仕様に合わせなくてはならなかったということが書いてあります。
そこで問題のキーボードを見直してみると・・・
HARDWARE secretsより。

か、カーソルキーがない!!

なるほど、この状態ではプログラム上でカーソルキーを意識する必要はありません。なので自然とデベロッパーソフトからもそのキーだけが排除された、ということになります。おそらく、Plusが発売された後のソフトウェアでもキーの認識ができなかったのは128k、512kなどとの互換性を意識してのものと考えられます。

■|ではなぜ「MacintoshBasic」ではカーソルキーを認識できたのか?

ここで問題になるのはこちらの記事で紹介した「MacintoshBasic」の仕様です。いろいろと調べてみましたがどうやらこのソフトはやはり「販売」はされなかったようです(マニュアル本は確認できたところで2冊ほど出ています。)
 ちなみに発表されたのは1984年。初代Macintoshが出された時で、上の写真のようにカーソルキーは影も形もありません。
 が、もし当時の開発者が「やはりカーソルキーはなくてはだめだ」と考え、機能として追加していたとしたら。販売が中止になった理由が、そんなジョブズの考えに反発したために開発者がAppleから追放されたからーと考えると、この機能一つにもドラマが見えてくるような気がします。

 当時マウスが登場し「これがあるならカーソルキーはいらない」と考えキーボードから取り払ったジョブズですが、これは「一部の利用者」しか見ていなかった大きな誤算だったと思わずに入られません。というか、プログラミングだけでなく文章編集でもカーソルキーは必須ではないか?と思わずにはいられない一コマなのでした。

最後に、ヤマザキマリさんの「スティーブ・ジョブズ」、めっちゃ面白いのでぜひ読んでみてください。(意外とマイナーで残念。)




コメント

このブログの人気の投稿

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

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

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