SDL 2 を使用したC言語によるFasttracker IIのクローン

2026/07/29 15:47

SDL 2 を使用したC言語によるFasttracker IIのクローン

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

ここに、欠落していた具体的な詳細(macOS キーボードショートカット、OS バージョン)を取り入れ、32 ビットビルドのニュアンスを明確にした改良版が提示されます。

改良されたサマリー: SDL 2(バージョン 2.22)を用いて C で構築された、新しい移植可能な Fasttracker II エミュレーターのクローンが発行されました。これは Windows、macOS、Linux のすべてのプラットフォームで即座に音楽再生を行うことを目的としています。GitHub で利用可能であり、このソフトウェアは現代的なシステム上でクラシックなトラックャーモジュールを実行しながら後方互換性を維持します。Windows 7 SP1 以上、macOS 10.11 以上(Intel/Apple Silicon)、Linux(amd64/x86_64)をサポートしています。レガシーニーズのために特定の 32 ビット Windows ビルドが存在しますが、偽のウイルス警告を引き起こす可能性があるため、標準的なビルドが互換性がない場合のみ推奨されます。コンパイル手順とソースコードは「HOW-TO-COMPILE.txt」で利用可能です。

ユーザーにはいくつかのプラットフォーム固有の障害について周知しておく必要があります。Linux ユーザーはパターンコピー/ペーストのためにキーボードショートカット(例:ALT+F4/ALT+F5)を再設定する必要がある場合があります。NVIDIA GPU 所有者は GeForce Experience オーバーレイを無効にする必要があります。異なるリフレッシュレートを持つマルチモニター構成では問題が発生する可能性があります。macOS 上では、.app ファイルには一度だけ「開く」アクションとシステム許可承認が必要であり、フルスクリーン切り替えには ALT+Enter などのキーボードショートカットが必須です(OS レベルのバインディングは競合する可能性があります)。また、Intel および Apple Silicon サポートには特定の OS バージョン(10.11 以上)が必要であることに注意してください。

本文

C 言語・SDL 2 で実装した FastTracker II 互換ソフト

C 言語と SDL 2 を使用して作成された、ポータブルな FastTracker II(FT2)互換ソフトです。スクリーンショットを含む詳細は後述します。

  • FastTracker II について詳しく知りたい方は Wikipedia を参照してください。
  • 多画面環境注意: PC に複数のモニターを接続し、それらのリフレッシュレートが異なる場合、プログラム動作に問題が生じる可能性があります!

ダウンロード情報(バージョン 2.22)

更新日時: 2026 年 7 月 19 日 18:36 GMT+2
変更履歴: 確認はこちら

対応 OS

  • Windows (Windows 7 SP1 以降)
    • Windows 32 ビット版
      • Windows 7 SP1 以降に対応。
      • ※注意: 必要に応じてのみご利用ください。誤作動によりウイルスと認識される可能性があります!
  • macOS (OS X 10.11 以降)
    • Intel チップセットおよび Apple Silicon を対応(ユニバーサルビルド)。
    • ※注意: Mac に関する詳細な注意事項を必ずお読みください。
  • Linux (amd64/x86_64 パッケージ)
    • ※開発者からのサポートはありません
    • どのファイルを使用すべきかについて、開発者自身も確信がございません。

ソースコードと詳細: GitHub で公開されています。「HOW-TO-COMPILE.txt」ファイルを必ずお読みください(Linux 環境でもコンパイル可能です)。


OS 別注意事項

Windows 向け

  • キーバインド無効化の確認
    • ALT+F4
      (パターンコピー) や
      ALT+F5
      (パターン貼り付け) が機能しない場合、NVIDIA GPUを搭載し、'GeForce Experience'をインストールしている可能性があります。
    • GeForce Experience がこれらのキーバインドを無効化していないか確認してください。

macOS / OS X 向け

  • 起動方法
    • プログラムを実際に起動するには、一度だけ
      .app
      フォルダまたは実行ファイルに対して右クリックし、「開く」を選択する必要があります。
  • セキュリティ設定
    • 現代の macOS を使用している場合は、初回実行後に以下の手順で許可を与えてください:
      システム設定 → プライバシーとセキュリティ → [該当プログラムの名前] を有効化
      
  • キーバインドの競合
    • FastTracker II の多くの重要なキーバインドが OS 上で占有されているため、再割り当てまたは削除が必要になる場合があります。
  • フルスクリーン切り替え
    • ALT+Enter
      または
      Ctrl+Cmd+F
      を押してください。

Linux 向け

  • ショートカットのカスタマイズ
    • ALT+F4
      (パターンコピー) と
      ALT+F5
      (パターン貼り付け) が正しく動作させるためには、OS のキーボードショートカット設定を変更し、別のキー配置へ設定する必要があります。

同じ日のほかのニュース

一覧に戻る →

2026/08/03 1:26

Show HN: Kakehashi – Linux ARM で macOS バイナリを実行するための実験的なユーザースペース

## Japanese Translation: Kakehashi は、JIT コンパイルや Apple の専用 SDK に依存せず、Linux aarch64 上で実際の macOS ARM64 ゲストを実行するためのオープンソースで CLI ファーストのユーザースペース翻訳層です。中心となるクリート(`kh-loader`、`kh-runtime`、埋め込まれた `libSystem.B.dylib`)を中心に構成され、システムコールを翻訳するとともに、ゲストのファイルシステムをホストに `/Volumes/linux/…` を介して橋渡しします。具体的には、ゲストの `/usr/local/bin` をホストのバイナリに、`/etc/ssl/cert.pem` を CA バンドルにマッピングします。インストールは `cargo install kakehashi`(ソース:`crates/kh-cli`)で行い、事前に `kh bottle ensure` でボトルを確保します。ツールの追加は `kh install`、実行は `kh run` によって行われます(例:マルチスレッド圧縮用の `kh run 7zz -- -mmt=4` や、単に `kh run curl --` など)。Linux aarch64 ベアメタル、VM、Docker/Colima(ヘルパーがアーティファクトを `.tmp/kh-out/` に出力)上で動作し、Rust 1.88 以上(Linux aarch64)、コンテナの種類に応じて 4 KiB または 16 KiB のページサイズに対応します。ベンチマークの結果では、Linux 側のマルチファイル 7-Zip 圧縮とネイティブ実行を比較した場合の全実行数のギャップは約 5.2 倍ですが、単一ファイルまたは圧縮負荷の重いワークロードではオーバーヘッドは約 1.1〜1.2 倍に留まります。Darwin クライアントツールを高価な macOS ランナー($0.062〜$0.102/分)ではなく、低価格な Linux ARM64 ランナー($0.005/分)上で実行できるため、パフォーマンスのオーバーヘッドがあっても Kakehashi は多くの場合で費用対効果に優れています。Apache 2.0 ライセンスの下にあり、Darling から派生していない本ツールは、自動化された CLI ワークフローのためにエコシステムを橋渡しする無料の代替手段を提供します。

2026/07/28 23:21

メモTaking とパーソナルナレッジ管理

## Japanese Translation: 本稿の主要な論旨は、ブレンnan ケネス・ブラウンの記事に対し、ノートツール「Obsidian」に独自の知的価値を誤って帰属させ、不均衡な見解を示していることを批判しています。著者は、ソフトウェアが整理を助けることは事実だが、画期的なアイデアそのものの源泉ではないと主張します。証拠によると、ブラウンは Obsidian が複雑なシステムであるかのように誤って描写しており、実際には 1994 年頃の技術に準じるような個人的なウィキとして機能しています。この分析では、PARA やニコラス・ルーマンが使用した歴史的なゼッテルkasten メソッドなど、確立された枠組みを参照して議論の文脈を設定し、そのようなツールは人間の創造性を置き換えるのではなくそれを支援するに過ぎないと指摘します。さらに、Obsidian のダウンロード数が約 75 万回に達しているにもかかわらず、それは 460 億ドル規模の巨大な業界内で運営されており、その現在の影響は限定的であることを示唆しています。この批判は、世界を変えるような貢献を直接ソフトウェアに帰属させることは誤った結論と不確実な引用につながることを警告しています。結局のところ、ユーザーはこのツールを独自性の源泉ではなく、個人的な解決策のための基盤として認識するべきです。 ## Text to translate: The central argument critiques Brennan Kenneth Brown's article for presenting an unbalanced view that wrongly attributes unique intellectual value to the note-taking tool Obsidian. The author asserts that while software facilitates organization, it is not the source of groundbreaking ideas itself. Evidence shows Brown mischaracterizes Obsidian as a complex system when it functions essentially as a personal Wiki, comparable to technologies from 1994. This analysis contextualizes the debate by referencing established frameworks like PARA and the historical Zettelkasten method used by Niklas Luhmann, noting that such tools merely support human creativity rather than replacing it. Furthermore, despite Obsidian having roughly 750,000 downloads, it operates within a vast $46 billion industry, suggesting its current impact is limited. The critique warns that attributing world-changing contributions directly to the software leads to flawed conclusions and inconclusive citations. Ultimately, users should recognize these tools as foundations for personal solutions rather than engines of original thought.

2026/08/03 5:26

FamilyWild を用いたホスト間の X11 サーバー共有

## Japanese Translation: 2026 年 8 月 2 日、隔離環境(コンテナや chroots など)内または非転送された SSH 接続上でグラフィカルな X11 アプリケーションを動作させる際に生じる「Authorization required, but no authorization protocol specified」というエラーを解決するための方法が詳述されました。根本原因は、`.Xauthority` クッキーが family と hostname の双方で鍵付けされており、クライアントが自分のマシン名と一致しない hostname を持つクッキーを拒絶する点にあります。 解決策は、クッキーの family フィールドの最初の 2 バイトを `0100`(`FamilyLocal`)から `0xffff`(`FamilyWild`)に書き換えることです。これには以下のコマンドを使用します:`xauth nlist :0 | sed 's/^..../ffff/' | xauth -f /tmp/portable.Xauthority nmerge -`(`:0` を `$DISPLAY` に置き換えてください)。family を `FamilyWild` に変更することで、クッキーは任意の hostname に対して有効となり、hostname が不一致のクライアントからの接続も可能になりつつ、ホストベースのアクセス制御を完全に無効にすることなく済みます。 これを使用するには、生成された `/tmp/portable.Xauthority` ファイルを bind-mount または SCP でクライアント環境に移動し、`$XAUTHORITY` 変数を指すように設定します。ただし、厳格なセキュリティ上の注意が必要です:`FamilyWild` クッキーはローカルなものよりも特定の情報が少ないため、ソケットアクセスがありファイルを閲覧できるあらゆるユーザーが表示器に接続できるようになります。そのため、ファイルのパーミッションは必ず 0600 を維持し共有マシンにはコピーを残すべきではありません。このアプローチは、ホストベースのセキュリティを完全に無効にする `xhost +` の使用や、全クッキーをクリアしつつ無効なエントリを残そうとする危険な方法よりも優先されます。著者はこのトリックを、特別に非特権 LXC コンテナへの X11 転送のために適用しています。

SDL 2 を使用したC言語によるFasttracker IIのクローン | そっか~ニュース