iP6 Plus 4.8 Beta のソースリストを公開しました

というわけで、ソースリストを公開しました。
約14年ぶりとか、意味不明ですね。。。(;´Д`)

そもそも、待ってる人はいるのか?という疑問はありますが。。。汗


PC6001VW や PC6001Vや、PC6001VX があるんだから、いいじゃないか。。というのもありますけど。。

それなりに、需要があるような気が(しているだけ)です。(;´∀`)


個人的に頑張った点は、2ドライブに対応するようにしたこととか。。



音声合成周りの処理や、音源周りなどは、かなりPC6001V からぱく。。もとい、参考にしたり、コピーしたりしてしまってますけど。。汗 


音声合成は、mkII/6601 に関しては出ているようですが、SRは全然ダメですね。。「あ」だけでも、かなりぶつ切りになった状態で、「あ あ あ あ あ あ あ あ あ あ ....」となってしまいます。。


mkII/6601 の時は、CPUが、音声合成LSIに対して、ポーリング方式で張り付いたまま、必要なデータを逐次送っていたので、発声中はCPUは他の仕事が一切出来なかったんですけど、その代わり、エミュレータの処理が割とラクでした。しかし、SRになってからは、割り込み方式になり、音声合成LSIで、データが必要になったときに、CPUに割り込みがかかってくるので、そのたびに1バイト送信するという方式になったんですね。。かなりタイミングがシビアになっているようです。。。滝汗
(その代わり、発声を開始しても、すぐにCPUは制御を取り戻して、他の処理が出来ます)



ちなみに、モード5か6のBASICから、talk"f aiueo." で、あいうえおが、出ます。ローマ字が一部違うのがあるのが、独特ですが。。ん→ x っ → q だったかな?


あと、今回気を遣ったのは、ライセンス周りですね。。
元々、このエミュレータの前身はisio さんが作った iP6 というのですが、 fmsx をベースにして、改造を加えまくって、P6 として動くようにしてあったものです。

fmsxの作者のMarat Fayzullin さんによると、ソースリストを無料で使うならいいけど、有料なら、ライセンス契約してね! ということだったです。つまり、「フリーソフトにしてね」ということですね。。iP6 を継承している iP6 Plus も、同じライセンスになっていると考えるのが自然かと。。


オープンソースは、使用目的によって制限が加わるのはダメというのがあるらしいです。なので、オープンソースと、フリーソフトは似ていますが、違います。
ソースリストがオープンだからといって、それは、「オープンソース」なのか?と言われると、必ずしも、そうじゃないという話です。



ちなみに、PC6001Vは、fmgen や pd7752の音声合成LSI 部分などのフリーソフト部分以外は、LGPLらしいです。


LGPLを参考にしたり、コピーして使うときは、原著者と、どこで手に入るのかを、明記すればいいらしいので、そういうのをソースリストの先頭に明記しました。


そういえば、PC6001Vの場合、ファイルの先頭に何も明記されていないファイルが多いのが少し謎ですが。。うーん。