ソフトな忘却力(67) FreeDOS、FORTRAN-77、READしてWRITE

TREAD0_FOR
Joseph Halfmoon

前回は、古式ゆかしくWRITE文とFORMAT文を使って「ラインプリンタ」風出力を行ってみました。実際は標準出力に印字するだけだけれども。今回はREAD文とFORMAT文をつかって「カードリーダ」(といっても磁気カードとかRFIDではないよん。紙カードだよ)からの読み込みを行ってみます。実際には標準入力なんだけれども。

“ソフトな忘却力(67) FreeDOS、FORTRAN-77、READしてWRITE” の続きを読む

ソフトな忘却力(66) FreeDOS、FORTRAN-77、文関数、DO、FORMAT

runFunc0
Joseph Halfmoon

さて前回は40年以上ぶりでFORTRANでHELLO WORLDするのにPRINTなどと書いてしまいました。遥かな太古、WRITE文に漏れなくFORMAT文がついてきた記憶。今回は出力WRITEに加え、文関数の定義、DO文、FORMAT文など使って計算してみますぞ。ちょっとはFORTRANの雰囲気出てきた?まだまだ。

“ソフトな忘却力(66) FreeDOS、FORTRAN-77、文関数、DO、FORMAT” の続きを読む

ソフトな忘却力(65) FreeDOS、OpenWatcom FORTRAN、77だぜ。

hellof77src
Joseph Halfmoon

前回までTurbo Pascalの系譜を現代に継ぐ?Free Pascalを触ってきました。今回からは「大文字で綴らないといられない」FORTRANです。近代的なFortranではなく固定フォーマットの77ね。「灰の中から不死鳥のごとく蘇った」らしいOpenWatcomの逸品。とりあえずHello Worldからだな。

“ソフトな忘却力(65) FreeDOS、OpenWatcom FORTRAN、77だぜ。” の続きを読む

ソフトな忘却力(64) FreeDOS、Free Pascal、inline ASMの使用

inlineASM_EC
Joseph Halfmoon

さて前回はTurbo Pascalを現代によみがえらせるFree Pascalコンパイラで自前Unitを作製。無事に分割コンパイルできました。今回はFree Pascalのインラインアセンブラを使ってみます。過去回でやったOpenWatcomのつもりで書いたらダメダメ。ビルド環境と実行環境をよく見ろと。
“ソフトな忘却力(64) FreeDOS、Free Pascal、inline ASMの使用” の続きを読む

ソフトな忘却力(63) FreeDOS、Free Pascal、自前Unitの作成

compileMyUnit0
Joseph Halfmoon

前回は、Turbo Pascalを現代によみがえらせるFreePascalコンパイラで外部ライブラリを呼びだして使うところを練習してみました。その際、不完全なインストールが発覚。修正対応したので、各種の外部ライブラリ(かなり大量)が使えるようになったハズ。今回は、自前のライブラリ作成方法を確認しておきたいと思います。
“ソフトな忘却力(63) FreeDOS、Free Pascal、自前Unitの作成” の続きを読む

ソフトな忘却力(62) FreeDOS、Free Pascal、Unitどもの在処

crtSample
Joseph Halfmoon

FreeDOS上にインストールしたTurbo Pascalを現代によみがえらせるFreePascalコンパイラを使ってみてます。今回はその昔のTurbo PascalにもあったハズのUnitを使おうとしてツボりました。結局、インストールが不完全だったのね。まあ、お陰でライブラリ共の在処が明確になりました。

“ソフトな忘却力(62) FreeDOS、Free Pascal、Unitどもの在処” の続きを読む

ソフトな忘却力(61) FreeDOS、Free Pascal、コマンドラインから整数入力

paramiRun
Joseph Halfmoon

FreeDOS上にインストールしたFreePascalコンパイラ、約40年ぶりのPascalは忘却の彼方。とりあえずコマンドラインからパラメータを取り込むところを書こうとして止まりました。どうしたら良かったんだっけ。FreePascalはTurbo Pascalに可能な限り合わせてあると。確かにそのつもりでOK。
“ソフトな忘却力(61) FreeDOS、Free Pascal、コマンドラインから整数入力” の続きを読む

ソフトな忘却力(60) FreeDOS、FreePASCAL、GDBでデバッグ

gdbVersion
Joseph Halfmoon

前回FreeDOS上にFreePASCALコンパイラをインストール、吉例Hello worldできました。今回はFreePASCALで生成したオブジェクトプログラムのデバッグを実施。使用するのはみんな大好きGDBです。FreeDOS上にインストールしたFreePASCAL処理系には主だったGNUのツール共が同梱。

“ソフトな忘却力(60) FreeDOS、FreePASCAL、GDBでデバッグ” の続きを読む

ソフトな忘却力(59) FreeDOS、FreePASCAL、インストールしてHELLO

FPgui
Joseph Halfmoon

C言語は「基本のキ」みたいなイメージ。しかし最初からそうであったわけでなく、メジャーになったのは意外と新しい(年寄からみたらば)気がします。DOSの時代、アセンブラかBASICからCへの移行期、PASCAL系の言語がメジャーになりかかった時期もあったような気がします。FreeDOS上ではPASCALも使えるっと。

“ソフトな忘却力(59) FreeDOS、FreePASCAL、インストールしてHELLO” の続きを読む

ソフトな忘却力(58) FreeDOS、MSYS2、MINGW64のQEMUで実行

VGABlankmode
Joseph Halfmoon

前回はWSL2上のUbuntu24.04 LTSのQEMUでFreeDOSを走らせて、コマケーところを「観察」しました。今回は、毒を食らわば皿までとばかり、Windows11上で「直接」QEMUを走らせ、その上でFreeDOSの動きをみてみます。「直接」とは言ってもMSYS2のお世話になることになるのでありますが。 “ソフトな忘却力(58) FreeDOS、MSYS2、MINGW64のQEMUで実行” の続きを読む

ソフトな忘却力(57) FreeDOS、WSL2上のUbuntuでのキー入力あれこれ

ERROR_k_curses
Joseph Halfmoon

前回、Raspberry Pi OS上でQEMUを実行しているのと同じ方法でWSL2上のUbuntu上のQEMUでもFreeDOS動くだろ~と甘い見通しで作業開始。FreeDOS、動きはするけれどもいろいろビミョ~。その後、あれこれ設定を確かめていって、まあ、こんなもんかいという線に近付きつつある?ので中間報告?

“ソフトな忘却力(57) FreeDOS、WSL2上のUbuntuでのキー入力あれこれ” の続きを読む

ソフトな忘却力(56) FreeDOS、WSL2上のUbuntu24.04 LTSで実行

FreeDOSonUbuntuCUI
Joseph Halfmoon

FreeDOSをラズパイ4機上でエミュレーション動作させてきましたが、別にフツーのx86_64パソコン上で走らないハズがありませぬ。どうせx86の16ビットコードの「実行」はCPUエミュレータQEMUにお任せしてます。その下がArmだろうとx86_64だろうと関係ないっと。でも実際にやってみると微妙に気になるところ有。
“ソフトな忘却力(56) FreeDOS、WSL2上のUbuntu24.04 LTSで実行” の続きを読む

ソフトな忘却力(55) FreeDOS、DOS4GW、32ビット・オブジェクトを実行

wdisHello
Joseph Halfmoon

MS-DOS互換の「魔改造OS」FreeDOSを、Armコアのラズパイ4上でCPUエミュレータQEMU使って動かしてます。前回はMS-DOSのメンドイ・メモリ管理と互換性があることを見てきました。今回は「推し」のDOSイクステンダ、DOS4GWを使って「フラットでリニアな」メモリ空間が使えることを確かめてみます。

“ソフトな忘却力(55) FreeDOS、DOS4GW、32ビット・オブジェクトを実行” の続きを読む

ソフトな忘却力(54) FreeDOS、MS-DOSを継承するメモリ管理のあれこれ

MSDOS_memoryMaps
Joseph Halfmoon

MS-DOS互換の「魔改造OS」FreeDOSを、あろうことかArmコアのラズパイ4機上で定番CPUエミュレータQEMU使って動かしてます。いろいろ触っていくために、古の時代のMS-DOSのメモリ管理を思い出す必要に迫られました。今回は「面倒かった」記憶だけが残るMS-DOSのメモリ管理の復習ってことで。
“ソフトな忘却力(54) FreeDOS、MS-DOSを継承するメモリ管理のあれこれ” の続きを読む