予定は未定……。

 今は「日経ソフトウェア」の特集記事でPythonを勉強し始めましたが、メルカリで「Pythonスタートブック[増補改訂版]」を購入しましたので、特集記事での勉強が終わったら、次に読もうと思っています。実際はまだPythonのインストールとVisualStudio.Codeをインストールして、簡単なサンプルを少し試しただけなので、まだ手を付けていないのと同じです。
「C#」も初めに読むための書籍を用意していますので、Pythonがある程度進んだら平行して学習をする予定です。
 欲張りかも知れませんが、「C/C++」の技術も鈍らせたくはありませんので、ドラクエもどきのプロジェクトも進めていこうと思います。C言語とは専門学校時代から専門学校の教員時代、プログラマ時代と慣れ親しんだ言語なので、このまま錆び付かせたくはありません。
 C++は専門学校で教える時に急いで勉強したので、まだ深い知識は持っていません。一通りの事は出来ますが、プログラマ時代にはかなり苦労して勉強しつつソフトウェア開発を進めていくと言う環境でしたので、今一度じっくりと深いところまで学んでみたいと思います。

 そもそも豚はアセンブラ使いで、高校時代にRPGを作ったときもZ80アセンブラで書いていました。C言語のような高級言語は無い環境で、しかもBASICでは速度が遅くて話にならなかったので、必死にアセンブラを勉強していました。
 次に学習したのは専門学校で、今のIntelのCPU「COREシリーズ」の元祖とも言える8086アセンブラでした。PC-9801シリーズのマシンが揃っていましたので、Z80の経験もあることから熱心に勉強しました。
 そもそも入学した学科は「マイコンシステム科」だったので、ハードウェアを直接制御出来るアセンブラは必須でした。
 豚が卒業後に教員となったときも、一年目は「マイコンシステム科」で担任を持ちアセンブラやC言語を教えていましたので、昔取った杵柄とは言え今でもリファレンスさえ有ればコードを書くことが出来ます。
 しかし2年目には「ソフトウェア開発科」の受け持ちになり、アセンブラとC/C++を専門に教える担当になったので、仕事が楽しくて仕方がなかったです。
 担任したクラスからはカプコンやSNK等にも10人程度就職させました。当時はSNKの入社試験はZ80アセンブラか6809アセンブラの筆記試験だったので、教えている豚も必死になりました。
 全てが懐かしいです。

 話は元に戻って、今年度の目標は「Python」をある程度理解すること。「C#」もある程度、出来ればUnityを使って何かアプリが書ける程度にまでなれればと思っています。
 そして「C/C++」ですが、今現在キャラクタエディタとマップエディタを作った状態で止まっているので、ゲーム本体のコードが書ける所まで進めたいと思います。この「ドラクエもどき制作プロジェクト」は豚のライフワークなので、そろそろ気をつけなくてはならない認知症予防を兼ねて、数年のスパンで作成していくつもりです。何しろ豚が一人でやっている事なので、まだドラクエⅢのアリアハンの街をスクロールさせて移動する所までが精一杯で、しかもそのコードはNASとHDDが壊れたときに消失してしまいました。やっぱりバックアップは複数取っておくのが大事ですね。

 豚はアセンブラやC/C++の知識は持っていますが、プログラマとしては落ちこぼれです。何せ「スパゲッティコードを書くのは不可能」と当時言われていたC言語で、見事に複雑に絡んだスパゲッティーコードを書いてしまい、部長に呆れられると言う失態を犯しています。
 今でも少しでも綺麗に書こうと、何度も作り直しをするのですが、やはり後で読み返しても自分でわからないというコードを書いてしまいます。まぁ今は仕事では無くて趣味だから良いのですが、鬱病が寛解して社会復帰出来たら、もう一度教育関連の仕事に就きたいと思っているので、今のうちに綺麗なコードを書く練習もしなくてはいけません。

 長々と駄文を書き連ねましたが、全ては「予定は未定」。「出来たら良いな」という心づもりで、やって行きます。

 技術的な話題は豚の工房の方に、主に書いていくつもりです。

PC-9801RAを落札した。

落札した PC-9801RA

 ここ数日、レトロPC関係の購入が続いています。
 今回は PC-9801RA(詳細機種不明)を4,100円で落札しました。
 これはDOSアプリの開発(の勉強)用に落札したもので、主に8086アセンブラとCの勉強用に使います。以前この用途で購入したPC-9801RXが有るのですが、カビたフロッピーを誤って読ませてしまい、FDDに不具合が生じていました。
 電源の入る物は動作確認済みとの事ですが、表示画面の画像が掲載されていないので、本当に動作するかどうかはわかりません。しかし、ジャンクではないので返品保証も付いていました。(中古PCショップが出品していました。)

 猫部屋に置く予定なので、本格始動は部屋が片付き次第と言う事になります。このPCが部屋掃除のモチベーションアップの一助になってくれれば良いのですが……。

 午前0時01分

液晶モニタを購入。

 PC-98をWindows環境で使う様になったので、今まで使っていた1,480円の17インチモニタが手狭になってきました。そこで、PC-98専用に新たに液晶モニタを購入しました。
 購入したのは、2,380円の19インチ液晶モニタです。15インチ、17インチ同様に、メーカー不明、型番不明の訳あり品という全くのショップにお任せという商品で、勿論中古品です。15インチと17インチの液晶が、どちらも1,480円にも関わらず高品位な中古商品だったので、19インチも同じ訳あり品を選びました。本当は20インチが欲しかったのですが、2,780円の訳あり品が完売していたので買えませんでした。多分また入荷すると思うので、折を見て購入しようと思います。

 今C++の勉強をしているマシンが、PC-9801RaⅡ23と言うPentiumⅡ233MHzと12GBのメモリを搭載しているマシンで、HDDを全てコンパクトフラッシュに置き換えてSSD化しています。コンパクトフラッシュは書き換えの限界があるので、1年位で寿命が来ると思われます。しかしHDDより高速で、価格も入手性も優れているので、寿命が来たらコンパクトフラッシュを買い換えて使い続けて行こうと思います。まぁVisualC++6.0でWindowsアプリを書ける様になったら、またDOS環境に戻すつもりですが……。

 今日はこのPC-98用に中古で購入した、ATAPI接続のパイオニア製の高級DVDドライブが届きました。買値は1,000円でしたが、当時はかなりの高級ドライブだったと記憶しています。上手くPC-98で動いてくれたので良かったです。もう1台LGのスーパーマルチドライブも届いたのですが、こちらは予備パーツとして保存しておきます。

 これ以上はレトロPCにお金を掛けないでおこうと思うのですが、つい拡張したくなってくるんですよね。今はPC-98のマウスポートにUSBマウスが使えるコネクタを狙っています。コネクタだけで10,000円近くするので、中々勇気が出ないですが……。

 午後7時43分

PC-9821のCDドライブ破損。

 PC-9821RaⅡ23の内蔵CD-ROMドライブが突然故障しました。ATOK2006をインストールして、次に広辞苑をインストールしようとしたら、突然読めなくなりました。再起動しても何をやっても駄目。アクセスランプは光るけど、どうやらモーターがやられている様子でした。
 IDEの内蔵ドライブは、以前大量に処分してしまったので、手元にありません。納戸の中を大捜索しましたが辛うじて黒いCD-ROMドライブが1台、埃まみれで見つかりました。

 取り敢えずドライブを換装しました。一応、通電はするようです。問題はデバイスドライバがあるかどうかなのですが、幸いにしてWindows98の起動ディスクにあるドライバで認識できました。読み込みもOKで、何とかPC-98は復活しました。ドライブだけ黒いので格好は悪いですが……。

 念のため予備パーツを購入しておこうと、パソコンパーツショップをネットで探し歩くもみんなSATA接続の物ばかり。Amazonもヨドバシも過去に扱っていた形跡はあったのですが(800円とか1,000円で売られていたんですね)既に扱いは止めており入手出来ませんでした。
 メルカリでも程度の悪いものか、良い物は高値で取引されています。最後にヤフオクで、中古ながら動作確認済みで比較的程度の良い物を1,000円で入手出来ました。ただ、ドライバが上手く当たるかどうかはわかりません。折角入手しても、PC-98では使えない可能性もあります。何せ入手したのはLGのDVDスーパーマルチなので、PC-98の時代には存在しない形式のドライブですから。
 上手く動いてくれることを祈るしかありませんね……。
 日本橋を探し歩けば、まだ新品で入手出来そうな気がするのですが、流石にそこまで出かける元気も時間もありませんので……。

 午前8時42分

8GBのCFカード。

 ネットの記事でPC-98のR MATEは8GB迄認識するとの記事を読んだので、8GBのCFを購入してみましたが、BIOSで弾かれてメモリカウントから先に進まず。どうやら4GBが最高のようですね。

 Windows環境でもPC-98では4GB有れば十分なので、問題は全くないのですが、少し欲を出したのが失敗でした。
 PC-98でもSCSIのHDDを登載しているモデルは32GBまでのHDDを認識することが出来るらしいので、大容量コンパクトフラッシュが使えそうで羨ましいです。

 しかし、何がおかしいのか豚のPC-98はLANポートを標準搭載しているくせに、何故かネットにも繋がらずLAN環境も満足に使えません。ネットワークには見えているのに接続でいないという……。

 ネットに繋がらない以上、そんなに大容量のCFも必要ないので、4GBで十分ですね……。

 午後5時09分

MIFES 5。

 もうレトロPCにはお金を掛けないと言っていましたが、また使ってしまいました。

MIFES 5のマスターディスク

 MIFES 5の原本です。今までもMIFES 5を使ってコードを書いていましたが、それは専門学校時代にゴニョゴニョして貰った物で、原本は持っていませんでした。
 先日VZ Editorを落札しようとしたんだけど、1万円を超えてきたので途中で断念しました。その代わりと言ってはなんですが、MIFES 5を落札しました。送料が120円で、本体は3,500円でした。

 今、豚のPC-98はWindows環境に移行したので、すぐにこのMIFESを使うことは有りませんが、大事に保存しておこうと思います。またアセンブラを勉強するときにはDOS環境に戻すので、その時に活躍して貰います。

 このMIFESは定価よりもかなり安価に落札できましたが、VZ Editorは高いですね。確か定価は2~3千円位だったと思いますが(思い違いかも。でも1万円と言うことは絶対に無い)、VZは安くて1万円、5~6万円の値段をつけて即決に設定している人も居るくらいですから、貧乏な豚にはとても手が出ません。これからもメルカリやヤフオクで探し続けますが、豚はコードさえ書ければ良いので今回落札したMIFES 5でも十分です。

 しかしこのMIFES 5も、新品未開封だと8万円の値段をつけていますから、オソロシヤ……。

 午後11時08分

勉強に使うテキスト等……。

 基本となるC++を勉強するテキストは「やさいいC++ 第5版」(高橋麻奈)です。この書籍はC++の入門書の中ではダントツに人気が高く、非常に丁寧に解説していると言われる一冊です。
 Windowsプログラミングを勉強するテキストは「Visual C++プログラミング入門」(絶版です)です。このテキストはプログラマに転職した時、この書籍だけ一冊渡されて「これでWindowsプログラミングは勉強して」と言われた物です。誰が教えてくれるわけでも無く、自力で勉強しなければなりませんでした。未だにこの本を手に取ると、当時のことが思い出されてしまって、軽いトラウマに襲われます。1994年に出版の書籍ですので、今は書店では入手出来ません。豚もネットの古本を探し回って入手しました。多少書き込みは有りますが、程度の良い物が入手出来たと思います。300円位で買いました。
 綺麗なソースを書くためのテキストは「C Magazine」の連載や掲載リストを読んで、人が書いたソースに多く触れることと、「美しいC++プログラミング見本帳」(柏原正三)を使います。この本は初見ですが、綺麗なコードを書くことに特化された書籍のようです。今は絶版で新品では手に入りません。豚は198円で古本を購入しました。

 以上の3冊+Cマガを回して、勉強していくことになります。今月中に一回りできればなと思っていますが、どうなる事やら……。

 また途中経過はここで発表していきます。

 午後11時39分

PC-9821RaⅡ23、CF化成功。

 今日届いたCF化キットの2GBのCGを外して、別途購入した4GBのCFをセットし、本体に実装しました。最初は認識しないトラブルが有ったものの、基板にIDEケーブルがきっちり刺さっていなかったというケアレスミスでした。
 後はWindows95のセットアップ起動ディスクでfdiskをかけ、領域を確保。再起動後にformatコマンドでフォーマット。そしてWindows98起動ディスク(フロッピー)から起動して、CD-ROMドライブにはWindows98のCD-ROMをセットして再起動。後は手順に従って普通にインストールが完了しました。
 やはりHDDでインストール出来なかったのは、不良セクタが有ったためだと断定出来ました。

 次にWindows2000のCD-ROMをセットして、Windows上からセットアップしました。しかし、ブルースクリーンが出て断念。Windows98でVisual Studio 6.0をインストールして使うことにしました。
 で、VS6.0のインストールですが、肝心のプロダクトIDが見つかりません。21年前にマイクロソフトから送られてきたMSDNのVS6.0だったのですが、納戸やら腐海に没しているパソコン部屋を引っかき回して、ようやく発見しました。

 やっとの思いでVS6.0をインストールを完了し、PC-98でVC++6.0が使える環境が整いました。
 早速プロジェクトを作成して、Hello C++ World!を表示するコードを書いてみました。ちゃんと「using namespace std;」が使えるかどうかも確認し、無事にコンパイルも通りました。

 もう21年も前にリリースされたコンパイラです。豚が27歳の頃ですから、離婚した次の年ですね。丁度プログラマも辞めて、無職のプー太郎になった年です。いや、実際には親の会社の取締役と言う役職に就いていましたが、まぁ鬱真っ盛りで、自殺未遂なんかもやらかしたりしていた頃です。もうプログラムを書くことは無いと、持っていた資料や開発環境なんかを処分してしてしまった頃でもあります。よくVS6.0が残っていたなと思います。そのお陰で、今、資料を集めるのに苦労している訳ですが……。自業自得ですね。

 取り敢えずこれで、先日購入したMFCのリファレンスやC++の書籍を有効に活用することが出来ます。
 ちなみにPC-98RaⅡ23は、標準でLANポートが搭載されています。ですが、Windows98のサポートが切れて久しい今、敢えてネットには繋がない様にスタンドアロン環境で使っていくつもりです。新しいC++の規格に対応さえしていれば、DOS環境でも良かった位です。リビングのPCとソースをやりとりするときにはフロッピーディスク経由になってしまいますが、それで十分でしょう。

 と言うわけで、これからC++とMFCプログラミングを本格的に勉強していきます。

 午後11時03分