6503がようやく動いた報告

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

[高級言語は]Macintosh PlusでC言語プログラミング![やはり偉大]

ドゥルルルルルルルルルル・・・

デデン!

Macintosh Think C!!

 というわけで、今回はMacintosh用のC言語プログラミングソフト、「Think C」のご紹介です。まえに記事でBasicプログラミングソフトについて話したところ

[ソフトがないなら]Macintosh Plusでプログラミング![自分で作る]

68k Macintoshでプログラミングをするために、今回MSBASICでのプログラミングに挑むことに。ChipmunkBasicについても少し紹介。
それを読まれた方が「当時はC言語でMacintoshのソフトウェアは開発した」ということで、ならばぜひC言語でソフト開発をしたいなと考えていたところ頂いたHDDの中にそれが入っていました。なんで気が付かなかったんだろう・・・。

■|実際に触ってみた

怒涛のInclude。しかも独自ヘッダーなので知らないとグラフィックがまともに使えない。

C言語はすべて書いてから後程コンパイルし実行するという形なので、編集の際キー入力のタイムラグなどはほぼ発生しません。その代わり、今のように予測変換といった贅沢な(笑)機能はもちろんありませんので、男らしく全打ち&関数暗記が必須となります。勉強になるわぁ(白目)

また、ほかのCファイルと連携したりライブラリを使うときにはプロジェクトにあらかじめADDコマンドを用いて(上の選択ボタンからプルダウンするだけなのですが)追加する必要があります。しかし、一度追加したライブラリなどは次から選択肢から自動的に外れるようになっているので、そこまで苦労しません。
ここに入れるやり方がわかるまで1日かかりました。
ただ、ライブラリの管理などが結構特殊なのか変なファイルを入れると一気にエラーが続出します。ヘッダーファイルもどうやって入れればいいのかいまいちわからず、正直困惑気味。

■|コンパイルして実行してみる

ちなみにソフトはHDDの中から見つけたのでテキストはもちろん持っていません。なので、ネットでC言語入門のサイトなどを調べてコードを打ち込んでみました。

長文を前提にした画面のため文字も小さめ。きちんとカーソルキーも使えるので編集は楽。

そして実行してみると・・・
コンソール画面。この前にコンパイル画面が入り、コードに間違いがないかチェックしてくれる。
こんな感じ。実行結果はコンソールウィンドウにしたからぬるっと表示されます。ただ、入力町コマンドを入れてないので実行が終わったらすべてのウインドウを閉じて(それまで編集していたCファイルも保存して閉じられてしまう。)プロジェクト編集画面に戻ります。せめてCファイルウインドウは開いておいてくれたら助かるものを、すべて閉じたうえで入力モードをご丁寧に日本語モードに戻してくれるのでコンパイルするたびにイラっときます(´・ω・`;)


■|実際使ってみた感触は

 当時のコンピューターなのでコンパイルに時間がかかって編集つらいんじゃないかなぁって思っていたのですが、正直な感想速度的には今のプログラミングツールとさほど変わらないくらいの速度です。びっくり。(ちなみにMC68000は実行速度が8MHZで1MIPSの実行速度らしいです。)
 また、変数命令なども今とさほど変わらず考え方も一緒のようで、グラフィックに入る前あたりまではネットの情報を頼りにプログラミングも可能そうです。
 逆に言えばグラフィックに関する命令などは当時の文献を手に入れなければならないので、できれば日本語の文献がほしいですが正直どこにあるのか皆目見当がつきません。ネットにある情報も、ほとんどネット自体が普及してからの情報ばかりなのでこのころのとなるとほんと手探りになるんですね。
 しかし非常に強力(?)な開発環境を手に入れられたので、ソフトウェア開発も夢ではなくなってきました!
 Basicも並行してやっていきますので、両方のいいところや悪いところをまとめられたら面白そうですね。
それでは今回はこの辺で。
次の記事:
[機能はシンプル]ChipmunkBASICの使い方[名前はロング]

コメント

このブログの人気の投稿

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

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

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