投稿

Macintosh Plusの描写能力〜懐かしのキッドピクスでお絵描きにチャレンジ〜

イメージ
 先日、SCSIのHDDを入手しそれが無事に動いたのでさっそくペイントソフトをインストールしました。そのソフトというのが、 「 キッドピクス 」! 本当はカラー対応のソフトなんですが、モノクロCRTのためすべてモノクロ! でもこれはこれで味があっていい! いやー、懐かしいですね。自分が幼稚園の頃にこれで遊んでいた記憶はあるのですが、マウスで全然描くことができず、もっぱらスタンプの改造にいそしんでいました(笑) 今回新しく(笑)アカウントを作成。なんだか不思議な気分。 これがペイント画面。なんときちんと音が鳴ります。 例のいっこ戻るを押すと「Ops!」と大音量で。 というわけで、せっかくHDDからの起動ができるようになり、動作も前より軽くなった気がするのとマウスの修理が終わったのでどのくらい描けるのかためしてみました。 その結果がこちら。 博霊の巫女を30分ほどで描いてみました。 けっこう描けますね!思ったよりも反応がよく、かつディスプレイのサイズがちょうどいいので集中して描けるということに驚きました。しかし子供向けのペイントソフトであるキッドピクスでは Ctrl + Zが一度までしか戻れない ペンの太さがあらかじめ決められたもののみ 範囲指定がない レイヤーがない ect.... といった感じで、まあ本格的にガンガン描いていくには少し問題ありだなぁと思わずにはいられませんでした。 一時間ほど粘ってこんなのも描いてみました。 拡大縮小ができないから正直細かいところはしんどい! 大きめに描くとそこまできつくないけど、細かい描写をするならやはりフォトショレベルの 機能が欲しい。今のパソコンのソフトウェアの進化を実感します(笑) 一応フォトショップも持っているのですが、そのソフトが入っているMOを読み込むためのドライブが調子が悪いうえにSCSIコネクターが違うため繋げず、HDDにソフトを移行できないという事態に。いろんなソフトが入っているのがMOなので、何とかケーブルを入手してデータの移行をしたいこの頃でした。  あと、プログラミングソフトもあるということなので、ぜひこいつでソフトを一本作ってみたいですね!

MacBook2008earlyのDVDドライブが読み込まなくなったので直してみた

イメージ
ひょんなことから手に入ったMacBook2008early。いまさら感満載なこの子ですが、ちょっとしたテキスト編集やら動画視聴などにはまあ問題ないのでクリーンOSインストールをしてあげようとしたらDVDドライブにOSCDを挿入しても読み込んでくれず(ドライブは動いているものの)、かつ排出もされないという負具合が発生。中身を確認してみると、コンピューターにドライブが認識されていません。 ◼️お約束のコマンド起動をしてみるも・・・ いわゆるPRAMクリアのコマンドなどを試したものの一向に反応しないので、思い切ってMacBookを分解しました。 ◼️ダメでもともと、いざ分解 ※ここから先は自己責任でお願いします 右側に見えているのがDVDドライブ。 黒くて太いケーブルが一本マザーボードにつながっているので、 それを抜き差ししてやればおk。 なんにせよドライブを取り出さないと話は始まらないのでまずMacBookの裏蓋を開けます。 ※分解する際に星型ドライバーなども入っているヘッド交換式のドライバーセットがあると便利です。ホームセンターなどでよくうってますし、アマゾンで探すのもあり。一回買っとくとその後いろいろ工作などするときに非常に便利なのでおすすめです。ただ、最近のmacbookproなどに使われているような星形ドライバーは入っていなかったので注意。 おそらくドライブのデータケーブルの接触不良と踏み、基盤とDVDドライバーをつなげているコネクター(一個だけ)を何回か抜き差しをしてみてから組み立て直し再起動をすると、見事復活。無事にクリーンインストールに成功しました。 無事にOSをインストールし、統合環境をインストール。 おそらく長年の移動などで中が揺れすぎたせいなんでしょうかね。データを転送するケーブルと電源を供給するケーブルが別々になっていることが「電源が入っているのにデータが転送できない、ドライブがDVDを排出しない」原因のようでした。 あとは死んだバッテリーを交換すれば復活成功。ただ、El Capitanもインストールができないのがちょっと痛いかも・・・ 追記: あれからいろいろといじってみたものの、動作の方は特に異常はありませんでしたが(HDDが少しくたびれていたようで、統合アップデートで再起動ができないト...

Apple2のローレゾグラフィックにPOKE命令で書き込むには

イメージ
どうも。Apple2のプログラミングにドはまりしているものです。さて、ドットを矢印キーで動かすことに成功し、大きなマリオの絵も配列とFOR文により移動させることに成功しましたが、いかんせんBASICで書き換えると正直アニメーションにならないのです。遅すぎて。CPUがMhzの時代がいかに遅かったのか痛感するいいきっかけになりました。(仲間に見せて大笑いしました)しかし、せっかく頑張って書いた絵もこうなっては… そこで、Apple2に備わっている機能の一つである「ページ切り替え」とPOKE命令でどうにかできないかと試行錯誤した結果どうなったのかを今回は紹介しようと思います。 ■そもそもPOKE命令とはなにか?  POKE命令とは、「パソコンのメモリの番地を指定してデータを直接書き込む」という動作を行います。「どこどこのこのメモリにこのデータを書き込め」という風に書き込むので、Apple2の場合は POKE 番地,データ と書き込むことにより指定のメモリ番地にデータを書き込むことができます。 そして、こちらがapple2のメモリマップというどこに何のデータが書かれているかが 一覧になっているサイト です。この中に、pageとpage2というものがあるのですが、ここのメモリ範囲を1ページ2ページと扱うことにより高速に画面を書き換えることができるという機能があります。 そこでこれを利用して2ページ目のメモリに絵のデータを書き込んでしまおう!というわけなのですが、実はこの「2ページ目」の扱いが絵だけに割り当てられていなかったのです。というのがこちらの画像をご覧ください。 POKE 49237,0と打ち込むと表示できる「2ページ目」 このようにプログラムデータが書き込まれてしまっているのです。つまり、重要なデータが書き込まれているこのエリアのメモリを画像書き換えしてしまうと次に何をするかというデータが消えてしまい、フリーズして復帰不可能!それまで頑張って書いたプログラムはすべて消えてしまいます(何回か消しました!)  また、それまで色のデータを書き込む際には PLOT Xの位置,Yの位置  と打ち込んでいましたが、メモリーに直接書き込むとなる場合は全く異なります。まず、メモリーとドットの位置は39バイトごとに縦に16ドット分(...

Macintoshフロッピーエミュレーター作ろうとして詰んだ話

イメージ
レトロマックでいろいろと実験していて一番問題になってくるのは、フロッピードライブの問題です。どうしたものかと思案しているとこんなサイトを発見。 http://www.bigmessowires.com/floppy-emu/ なんとあの特殊なフロッピードライブをエミュレートしてくれるそうで、やったぜ買おう!と思ったらいつみてもSOLD OUT(´・ω・`) どうしたものかと思案するうちに、いいやつくってしまえと思い立ちやってみたのがこちら。 無数の配線を何とか終えて、USBASPとAVRDUDEでHEXファイルを書き込みLCDに文字を表示するところまでは何とか出来たものの、 「FATAL ERROR SD card error 1:255」 の文字が表示されてSDカードを読み込んでくれません。とほほ・・・心当たりといえば、SDカードが推奨されている4GBではなく16GBで、かつmicroSDであること。でも水晶ってだけで認識しないとは書かれていないんですよね。あと、8MBのSDでも試してみましたが、こちらはFAT32でフォーマットができなかったのが原因なのかも? もし誰か原因がわかる方いらっしゃいましたらお助けくださいまし…

AppleWin でApple2のゲームプログラミングに挑む

イメージ
Windows10でも動きます。 ひょんなことからAppleWinというApple2のエミュレーターをダウンロードしたので、標準でついているBASIC言語でなにかゲームを作れないかと思案したものの当時のプログラミング方法について書かれた資料が非常に少なかったうえApple2でプログラミングする方法について書かれた日本語サイトも少なかったので記憶の整理がてら書いていこうと思います。 CATALOG:フロッピーディスクに描かれている内容を見る SAVE セーブデータ名:フロッピーにプログラムデータを名前を付けて保存     書き方:SAVE PINBALL LOAD データ名:指定のデータを読み込む     書き方:LOAD PINBALL  IF文条件式の書き方 「~かつ~のとき」と書きたいとき IF (  条件  ) AND (  条件  ) THEN 飛ぶ先なり結果 DATA文 :DATA 1,2,3… このように書けば、複数のデータを一度に描ける。キャラのドット情報やマッピングに必須。 READ文: READ 変数 先ほどのDATA文からデータを読み出す命令。複数のデータも、配列とFOR文を書けば管理は簡単だが、指定の場所のDATAを読み出すことはできないようで。 FOR文: FOR I=0 TO 15 STEP 2 ほとんど通常のFOR文と変わらないが、通常なら1++などと書くところをSTEP 数字 と書くところに注意。 一応、Apple2 program reference と検索すればそれなりに情報は出てきます。ぜひ往年のプログラムに浸るもよし、昔のプログラムに浸ってみるのもいかがでしょうか? ちなみに私は 画面上の緑と白のブロックを取ればクリア。青いブロックが操作するキャラ。 プログラムを実行すると、マリオの画像が左から右へ流れる。 といったものを作ってみました。うえのものはパックマンのようなものを作ろうと思い、まずはマップの表示とキャラクターのあたり判定を確認し、二枚目は複雑な画像の表示と座標の移動を実験しました。どちらもとりあえず目的は成功しましたので満足満足(・ε・) しかし1MhzのCPUの世界なので、非常に遅くこれではゲームにならない…やはりアセンブラに手...

Macintosh plus を起動せよ その8 「マウスの修理と座布団と」

イメージ
先日、コンデンサを交換したことにより起動が安定してフロッピーディスクドライブも読み込めるようになったMacintosh。しかし、マウスが断線してしまいやむなく切断して中のケーブルを結線することにしました。ビニールは接着する方法があるようですが、それでもかなりまずい方法だったと思います。一応いままでのボタンに反応しないなどの不具合は治りました。  あれからいろいろいじってみたのですが、やはり不具合はまだ出ていて、 フロッピーのフォーマットをするときに2DDモードで行うとフォーマットに失敗する フロッピーを挿入した際に、入り具合が悪いと読み込みが極端に遅くなる moのscsiが相変わらずだめ FDDのギアが壊れている という状態になっています。MOのほうはどうもドライブに問題があるようなのでひとまず放置にしますが、フロッピードライブの不具合は何としても改善したいです。しかし、電解コンデンサを交換して油もさしましたがフォーマットのほうはごくまれに成功するだけで(400kの場合は問題ない)、にっちもさっちもいきません。あと交換していないのはタンタルコンデンサだけ。一応、ドライブ全体に油をもう一度さしてみるのも手かもしれません。 問題のFDD。こいつが治る日は来るのだろうか? そんなこんなで問題がまだあるこのMacintoshですが、先日ついに座布団を入手することに成功。あとコリーニョのHDDも手に入れ、SCSIHDDが一挙に3台になりました。 が、正常に作動したのはそのうちの一台だけで後の2台はどうにもうまくいきません。 5インチHDD。とにかく音がすごい。 基板にはEEPROMがそのまま乗っているというもの。 フォーマットで試行錯誤しているうちに、突然Macintoshがこんな状態に。 出ました。画面一本線の症状。この原因は簡単で、アナログボード上の唯一無極性電解コンデンサが使われているところがあるのですが、これが死んでいるとこういう画面になるようです。しかしこの前全部交換したはずなのに…とおもむろに内部をあけてみると、どうやらその時買ったのが85℃品だったようで、しかも日本のメーカーではないどこか知らないところのものでした。(それ以外はすべてニチコンのでそろえていました。)  しょうがないので千石に飛んでさっ...

パラレルEEPROMプログラマ(arduinoで使用)を作成してみた その2

イメージ
arduinoでパラレルEEPROMリーダ・ライターもどきを作ってみた  前回(上のリンクから読めます)、ブレッドボード上で作成したEEPROMプログラマ。書き込みが不安定なのと、広範囲をリセットしたり、読み込みをするのによくトラブルが頻発しました。今回作ったのもところどころバグが発生してしまう(書き損じが起こる、途中で止まるなど)症状があるのですが、ブレッドボード上という不安定な環境からユニバーサル基板の上にきちんと組みなおし、本格的な使用用途に耐えられるようにしました。(しかしプログラムがまだ不完全で、大規模なデータ書き込みは非常に手間であります。どうしたものか・・・) 外見はこんな感じです。  一見シンプルで単純に見えます。確かに構造はびっくりするほどシンプルなので回路図を書かずとも作れるという。しかし相手はパラレル構造なので配線は地獄を見ます。 書き込みにはArduinoのシリアルモニターからコマンド入力で操作します。 ■単純につないではいけない?信号判定と電圧降下  また、今回整流ダイオードの代わりにLEDを使用したんです。そしたら動いてるところもばっちり見えて楽しいだろうなと考えまして。(誤作動していても目で見てわかりますし。)  そしたら、「 電圧降下 」というものが発生することを初めて知りました。これ何なのかといいますと、ある一定のものを回路の間に挟むと その挟んだものの抵抗 によって電圧がどんどん下がるというもの。ケーブルもその仲間に入るので、取り回しを長くしてしまうとどんどん電圧が下がるわけですね。もちろんLEDだって抵抗はあるので、その現象はばっちり起こります。そのため最初LEDを間に挟んでROMから出力された信号を74HC165で受け取る際にトラブルが起こるわけです。今回のライターでROMからデータを出力すると、大体4V~3.6Vほどの電圧で出力されました。そこでもって74HC165のHIGHと判定する電圧の高さは3.4Vほど。あれ?クリアしてるじゃんと思うのですが、この二つの間にLEDを挟むと2.4Vまで電圧が下がるんですよ。そうなると165側ではLOWと判定されてしまいせっかくのHIGHやLOWの信号はすべてLOWと読み取られてしまうんですね。じゃあLEDをつなぐことはできないのかというとそうではなくて、真ん...