CP/M-Machineが遅い、だからって・・・

昔のCP/M-80等、Clockが2.0[MHz]の8080Aだったりして、またFDも古い8-Inch-TypeのFDだと、かなり遅いかもしれないです。CP/M自体を、機械語で組み上げてあれば少しは早いと思いますが、Compiler言語を使って、CP/M自体を作ってあることもあります。まず、遅くても動けば良いという悠長な時代の物です。早くしようと言っても、Hardware的に無理な場合が多く、おそらく今現在、部品自体が無いのが現実です。FD-Drive自体、入手することも困難です。Program自体を、M80等の機械語で組み上げると少しは早いかです。その意味で、マシン語の勉強も必要になってきます。8080Aが使われているのかZ80が使われているのかでも、勉強する内容も変わってきます。まだZ80-CPUなら、本やインターネットで検索が可能です。8080Aもインターネットで検索可能です。環境は整っている現在、いかにマシン語をマスターするかも必要です。機械的構造のManualなどを参考に、CP/M-Machineに向かってみて欲しいです。Programを学ぶのに、ある意味ではふさわしいMachineだと思います。C関数は、C関数からC関数を呼べる為、処理速度はメチャクチャ遅くなります。機械語でも、SubroutineからSubroutineを呼び足す回数が多いと、メチャクチャ遅くなります。いかにSubroutineを呼ばない様にするか・・・、また、どうしたら、マシン語Levelでの構造化が出来るかです。Programming技法には、Tableを真ん中に囲む様に作る、Table-Programという作り方や、Real Time Programという技法もあります。また、Hardwareを取り巻く、割り込みを使ったProgramも有ります。Hardware構造上、CP/Mの動く、Machineを中古で手に入れるか、新しく作るかですが、CP/Mに関しての本も沢山出ています。本を参考に、自作するのも一つです。CP/Mが遅い、それを機会に機械語Programを学んでみませんか?またZ80-CPUや6809-CPU等自体を学ぶ機会かもしれません。Machine自体の自作の面白さにはまってしまうかもしれません。『Handmade』ならではのMachineは色々な作り方があります。それに到達するには、プログラムを沢山作り、機械語Levelでの構造化Programを進めることです。Programを進めていくと、Hardwareを進めたいと思う部分に触れ、Machine自体の改良を重ねていくことになります。その面白さにはまっていくかどうかです。今、Machineを作れる良い環境かもしれません。欲しい部品はインターネットで入手可能ですし、いくらでも調べられます。何を作って行きたいかは人それぞれです。僕自身は、結果はSynthesizerと言う電子楽器を取り巻くMachineを作っていこうと思っています。今までも作っては来ました。転職と共に、何回手放したでしょうか・・・。今は、還暦近くと年なので、作ったら、手放さないと思います。生涯最後の取り組みとなります。CPUを選ぶ・・・8085Aか6800を候補にしました。6809を選びましたが、少し難しいとは思っています。Z80-10[MHz]も、一つかと思ったりもします。やはり、CP/M-Machineの魅力もあります。いかに早くするか・・・、と言う課題について、マシン語を学ぶことが優先かな・・・。その前にProgramって何・・・と言う所で、Compiler言語を学んでからの方が良いでしょう。一連のProgramのフローチャートは、Compiler言語風に書いてしまえば良いのですから・・・、それを高級言語アセンブラと読んでいます。僕は、FORTRANやBASIC風に書いています。また、構造化Programも、はまってしまうと面白いと思います。まず、CPUって何?って所からになってしまうかも・・・、またはCP/Mの様な基本Softwareって何?と成るか、また他のことに夢中になるか、人それぞれですね。無鉄砲に『Handmade』に走り、気づくことも多いかもしれません。それは人それぞれです。形式的に学ぶのも一つかもしれません。ある意味、学ぶのには、カリキュラムがあるのかもしれません。今、HardwareやMicrocomputerの通信教育などは無いのが現実です。どうしてもWordとかExcelの通信教育はありますが・・・、8Bit-Microcomputerの教室などは有りません。結果、CP/Mって何?使ってみてどういう物か・・・、8Bit-Machineに夢中になるか、他のMicrocomputerに夢中になるかはそれぞれです。32Bit組み込みマイコンを学んでも一つだ思います。人それぞれですね。結果、電子関係全般も学ばなければならないかもしれません。CP/Mは、かつては、良く出来ていた、基本Softwareですから・・・