![[Show HN]: テオロー・BASIC もしBASICが時代遅れにならなかったらどうなるでしょう?](/_next/image?url=%2Fscreenshots%2F2026-10-04%2F1791071882492.webp&w=3840&q=75)
2026/10/03 16:28
[Show HN]: テオロー・BASIC もしBASICが時代遅れにならなかったらどうなるでしょう?
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
このドキュメントでは、古典的な GW-BASIC シンタックスと高度な 64 ビット機能を橋渡しするモダンなプログラミングインタプリタである Thoreau BASIC のバージョン 3.2 を発表します。Windows x64 および UEFIビルドとして利用可能であり、このリリースは浮動小数点数 INT およびネイティブの複素数・四元数・八元数の演算を高速化するためのネイティブ x64 ジュス・イン・タイム(JIT)コンパイルを導入しています。主要な更新事項には、元のケースと 4,095 バイトまでのパスをサポートする新しいファイルコマンド(
GETFILES, SELECTBOX)の追加、そして STATEWRITE/STATELOAD を通じた堅牢なチェックポイント機能が含まれます。システムは SYSTEMINFO を通じて CPU、ファームウェア、ビルド情報の詳細な診断レポートを提供します。オーディオサポートには、Opus、WAV、FLAC、MIDI、PCM サウンドバンクが含まれ、最適化された再生を実現しています。開発者は「NOGM」フラグを使用することで特定のリソースを省略し、スタンドアロンの EXE または EFI アプリケーションを作成できます。プログラムはオペレーティングシステムなしで UEFI ファームウェアから直接実行するか、標準的な Windows プログラムとして実行可能です。このリリースではオープンな開発サポートが継続され、「Pixel Prose」が特例として紹介されており、itch.io でホストされています。バグ報告の連絡先は info@thoreaubasic.com です。本文
Thoreau BASIC バージョン 3.2 リリースノート
ファイルシステムとコマンドの進化
- ファイルブラウザとメニュー: 現在は通常の BASIC コマンドとして動作します。
: ファイル、ディレクトリ、親エントリーを収集(オプションでファイルマスク指定可能)。GETFILES
: キーボード・マウス操作可能な選択ボックスに変換。複数列、カラーサポート、単一/二重枠引き機能に対応。SELECTBOX
- パスとファイル名の扱い:
- ファイルコマンド中は、ファイル名は元のスペルと大文字小文字を保持。
- マスクは大文字小文字に敏感。
- 完全パス(拡張子込み)で最大 4,095 バイトまで使用可能(個別のファイルシステム制限は適用される)。
- データの永続化:
/STATEWRITE
: 選択された変数をチェックサム付きの 2 つの交互世代に保存。STATELOAD
、FLUSH
、FILECOMMIT
: 段階的な保存と検証済みのバックアップをサポート。FILECOPY
- ユーティリティ機能:
: バイト列のチェックサム計算。CRC32
: 文字列配列内の単語数・文字数をカウント。TEXTSTATS
- システム情報の報告 (
):SYSTEMINFO- CPU とファームウェアの詳細、利用可能な AVX2 や SSE2、PARFOR 容量、校正された TSC カウンターレート。
- ディスプレイバックエンドとビルド情報の提供。
- パフォーマンス向上: ターゲット指向の JIT 変更により、以下の演算における作業負荷が削減されます。
- 浮動小数点演算
- INT(整数)演算
- ネイティブ複素数・クォルニオン・オクチャニオン算術
- 実行効率:
コマンドでプログラムを再実行し、ホストスタックの成長を防ぎつつ実行可能。RUN
のカテゴリヘッダーは一度だけ表示され、冗長な出力を抑制。HELP
- メディア再生:
- Opus、WAV、FLAC、MIDI の再生機能は維持。
- サウンドバンクは再生前にPCM へ展開(音楽再生中はデコード不要)。
- スタンドアロンの EXE/EFI アプリでは
を指定することでウェーブテーブルを省略可能。NOGM
詳細な変更点と構文については、公式マニュアルとリリースノートをご参照ください。
Thoreau BASIC の概要
GW-BASIC 風の構文から出発しつつも、1983 年以来の制約から解放された現代の環境です。
- 主要機能:
- 64 ビットメモリー、24 ビットグラフィックス、スプライト、マウス入力、TCP/IP、HTTP。
- MIDI/WAV/FLAC/Opus 再生に対応した完全な GM/GS ウェーブテーブル。
- 複素数・クォルニオン・オクチャニオン値のネイティブサポート。
- デバッグガー、プロファイラ、ソースコードツールの搭載。
- 多核処理に対応した**PARFOR(並列実行)**とネイティブ x64 JIT コンパイル。
動作環境の柔軟性
- 通常の Windows プログラムとして動作することも可能です。
- オペレーティングシステムなしで、UEFI ファームウェアから直接起動することも可能。
- BASIC プログラムをスタンドアロンの Windows EXE やブート可能な EFI アプリケーションとしてパッケージ化できます。
スタンダードな BASIC 言語
10 CLS 20 PRINT "HELLO FROM THOREAU BASIC" 30 FOR I=1 TO 5 40 PRINT I 50 NEXT I 60 END RUN
オーケストラも BASIC で
従来の専用ライブラリではなく、通常の BASIC コマンドでオーケストラ制御が可能です。
SOUND PRELOAD LOADMID 0, "BALLADE.MID" PLAYMID 0
- グラフィックス、ネットワーキング、サウンドは特殊なフレームワークではなく、通常の BASIC コマンドとして機能します。
オペレーティングシステムなしの動作 (UEFI ビルド)
x64 マシンで直接起動可能な UEFI バイナリです。
- グラフィックス: GOP グラフィックス標準対応。
- 入力: ファームウェア HID キーボード、マウス(フォールバック機能付き)。
- ネットワーキング: ファームウェアプロトコルまたは独自のSNP ベーススタック。
- オーディオ: 利用可能な場合の HDA/Azalia PCM サウンドサポート。
- エンジン: Windows バージョンと同じインタプリタ/JIT および GM ウェーブテーブルを使用。
サンプルプログラム:Pixel Prose
- Thoreau BASIC に付属のサンプルプログラムです。
- スタンドアロンの EXE と EFI ビルドも入手可能です。
- 元々の DOS、Commodore 64、Amstrad CPC 版は、itch.io の他のレトロプロジェクトと共に公開されています。
プロジェクトとダウンロード
- 詳細な情報およびダウンロードリンクは**itch.io** で確認できます。
- THOREAU_GM.TBGM: 無損圧縮ウェーブテーブル(513.5 MB)が提供されています。
お問い合わせ・サポート
バグ報告、互換性ノート、奇妙な BASIC エッジケースなどのご連絡を歓迎しております。
- 連絡先: info@thoreaubasic.com
- 寄付: 開発への PayPal サポートが可能(煩雑な表示や機能制限はありません)。