むらたのおと

50代のおじさん。 趣味で、1980年代の古いCPUを動かしてます。 愛読書は「ギルガメシュ叙事詩」 Xでは四寸五分で投稿しています。

むらたのおと

50代のおじさん。 趣味で、1980年代の古いCPUを動かしてます。 愛読書は「ギルガメシュ叙事詩」 Xでは四寸五分で投稿しています。

最近の記事

CP/M-68Kを移植していく 番外編

MC68010ならではの苦悩 素直にMC68000でボード組めばよかったのに、MC68010を選んだばっかりに引っかかったおはなしです。 CP/Mが起動して試してみると、いくつかのトランジェントコマンドが、Exception $08が発生して実行できませんでした。$08は特権命令違反で、発生するアドレスをDDTで調べてみると、次のコードでした。    MOVE SR, D0 この命令は、MC68000では問題ないのですが、MC68010だと特権命令になっていて違反が発生して

    • CP/M-68Kを移植していく Part 6

      今回は、ディスクドライブの読み書きをするコードです。ドライブを直接扱う部分は、ハードウェアごとに違うので省略します。 セクターリード 下は、1セクターをDMAに読みこむコードです。CP/Mの1セクターは128バイトですが、IDEドライブでは512バイトなので、少し工夫が必要です。 read: bsr   cnvlba cmp.l bufdsec, d1 beq   read1 move.l d1, bufdsec lea.l secbuf, a0 bsr   iderd

      • CP/M-68Kを移植していく Part 5

        DISK I/O を書いていく CP/Mのディスクアクセスは、ドライブ番号、トラック番号、セクター番号を指定して読み書きするCHS方式です。しかし、最近のATA対応のドライブでは、通しでつけられた32ビットの論理ブロック番号でアクセスするLBA方式です。 更に違うところがセクタサイズです。CP/Mは1セクタ128バイトですが、ATA対応のデイスクドライブでは512バイトです。 CP/Mで最近のディスクドライブを使おうとすると、このあたりの変換作業が必要になります。 どうす

        • CP/M-68Kを移植していく Part 4

          Exception $03 を解決する 前回、コンソール入出力のみ実装して、A> が出るところまできましたが、Exception $03 が出ていました。今回は、これを止めに行きます。 Exception $03 とは何なのか? https://people.engr.tamu.edu/rgutier/lectures/mbsd/mbsd_l9.pdf  を参照すると、$03はAddress Errorです。CPUが奇数アドレスを16-bit か 32-bitアクセスす

          熱帯スイレンに冬越ししてもらう

          酷暑の夏も過ぎさって、外は秋らしくなってきました。 夏場にきれいな花を咲かせていた熱帯スイレンも、浮き葉が減って寂しくなっています。最近、夜中にアライグマがやってきて睡蓮鉢を荒らすので、まだ早いとは思いましたが、冬越しの準備をします。 スイレンを抜いてみると、しっかり根が張っていて球根?も育っています。 これは5年位前に水草として買ったスイレンで、ミクランサs.p. とか書かれていました。最初は水槽で育てていたのですが、夏場に屋外で育ててみると 青紫色の小ぶりできれいな花が

          熱帯スイレンに冬越ししてもらう

          掃除して2週間経過した水槽

          水槽を掃除してから2週間経過しました。 掃除したときに底床を掻き回してしまい、水がかなり濁っていたので、毎日1リットルずつ水換えをしてきました。メスカップを水槽に突っ込んで水をすくって、水道水をそのままぶち込むような、セオリーから外れた荒っぽい方法ですが、この時期は水道水との温度も差が小さいし、1リットルくらいなら塩素も気にしなくて大丈夫なようです。 水槽はだんだん落ち着いてきて、水草から新芽がでたり、ヤマトヌマエビがせっせとコケを食べたりしています。 レモンテトラも状

          掃除して2週間経過した水槽

          CP/M-68Kを移植していく Part 3

          アセンブラ 今回のマシンでは機械語モニタに Universal monitor を使っており、このモニタのビルドに、Macro Assembler AS を使っています。複数のクロスアセンブラを使い分けるのは面倒なので、BIOSを書くにも、このアセンブラをそのまま使うことにしてみます。 BIOS のソースコード 以前、CP/M-8000 を移植したときは、C言語で書かれたBIOSのソースコードをアセンブリ言語に翻訳して作ったのですが、幸いにも CP/M-68K には、D

          CP/M-68Kを移植していく Part 3

          CP/M-68Kを移植していく Part 2

          CP/M の入手先 OPERATING SYSTEMS に、CP/M-68K 1.3 のバイナリがあります。 ZIPを解凍したら9個のディスクイメージが得られます。DISK8の中にある CPM15000.SR が、CCP と BDOS をまとめたものです。これにBIOSを作ってリンクすれば、移植はOKのはずです。リンクに必要なアドレスは、同じディスクイメージ中の CPM15000.MAP を参照すると得られます。 バイナリデータを取り出す CPM15000.SRは、モトロ

          CP/M-68Kを移植していく Part 2

          さっそく水槽掃除してみる

          3連休の中日、小一時間ほど作業してみました。いちばん厄介そうなサジタリアかバリスネリアかわからない水草を全部引っこ抜いてしまい、底床を水を抜きながらクリーニングしました。 かなり茂って密集していたので、トレーに乗り切らないほど山盛りです。長めのものと、ランナーから出た子株を選り分けて、あとはバッサリ捨てました。 水槽の中央付近に流木を立てて、田植え気分で水草を植えていきます。流木は、砂に突き刺して小石で根本を押さえただけなので、そのうち倒れてしまいそうです。固定方法はその

          さっそく水槽掃除してみる

          CP/M-68Kを移植していく Part 1

          うちの68Kマシン まずは、いま製作中のマシンを紹介します。 CPU               : MC68010 クロック           : 10MHz メモリ               : ROM 16K バイト / SRAM 1M バイト シリアルポート : 2 ch (Z8530) IDE ポート        : 1 ch   CFカードを変換基板で接続               ボードは秋月のユニバーサール基板に、裏面でワイヤラッピングで

          CP/M-68Kを移植していく Part 1

          うちの熱帯魚水槽を綺麗にしてみたい

          熱帯魚飼育歴35年ぐらいなんですが、アクアリウムって呼べそうな綺麗な水景は作れたことはありません。というか、”維持できたことがない” と言ったほうが正確でしょうか。うちの場合、水草を植えて2, 3ヶ月でピークを迎え、維持できずに徐々に水草が細っていき崩壊するの繰り返しです。 我が家の45cm水槽はこんな感じ 20年くらい生えているクリプトコリネ・ウェンティ バリスネリアかサジタリアかわからない水草 レモンテトラ 5匹 苔取り要員のフライングフォックスとエビ LED

          うちの熱帯魚水槽を綺麗にしてみたい