**Uxn32**  
*Windows および Wine 向けの Uxn エミュレーター*

2025/12/28 15:39

**Uxn32** *Windows および Wine 向けの Uxn エミュレーター*

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

要約

Japanese Translation:


要約

Uxn32 は、Windows 95〜11 本格実装および Wine 上で動作する軽量かつクロスプラットフォームの Uxn 仮想マシン用グラフィカルエミュレータです。
「Uxn32 Essentials Pack」は、インストーラーや外部ライブラリを必要とせず、事前にビルドされた ROM を組み込んだ単一の

Uxn32.exe
を提供します。

主な特徴は次の通りです:

  • サンドボックス化されたファイルシステムアクセス とフルデバッガ(ステップ実行、逆アセンブル、メモリ/スタック表示・編集)
  • High‑DPI サポート、高速イベント処理、および無限ループを停止してシステムのフリーズを防止するプリエンプティブ実行モデル
  • キーボードショートカット:F1 でズーム、F5 でデバッガ切替、F2 でウィンドウ複製、F7/F8 でステップ実行、F3 でコンソール表示/非表示、F4 で ROM のリセット/再読み込み、F9 でエミュレーションの一時停止/再開
  • ゲームパッドマッピング:Control, Alt, Shift, Home キーを A, B, Select, Start ボタンにエミュレート

このエミュレータは、Visual C++ 6.0 から Visual Studio 2026、Clang/clang‑cl、Winelib 経由の GCC、MinGW(Clang/GCC)、または Pelles C など、多種多様なコンパイラでコンパイル可能です。
ビルド手順はプラットフォームにより異なります:

  • VC6 は
    uxn32.dsp
    プロジェクトを使用
  • 新しい Visual Studio と MinGW のビルドは
    CMakeLists.txt
    を利用し、CLion、Qt Creator、VS Code などの IDE が使えます
  • Linux 上で Winelib または MinGW を用いてビルドすると、Wine 下で動作する ELF 実行ファイルが生成されます

ソースコードは三つのファイル(

uxn32.c
,
uxn_lz.c
,
uxn_core.c
)とリソースファイル(
uxn32.rc
)から構成され、リンクには標準 Windows ライブラリ(user32.lib, gdi32.lib, shell32.lib 等)が必要です。

将来のリリースでは、ドラッグ&ドロップで ROM を読み込む機能、ピクセルスケーリング、オーディオ出力、コンソール I/O、メニューバー、設定項目、グラフィカルデバッガ、サンドボックスディレクトリ設定、およびパフォーマンス指標などのユーザーフレンドリーな機能が追加予定です。

ライセンス:

uxn32.c
は全権利保留、
uxn_core.c/h
uxn_lz.c
は MIT ライセンスに準拠しています。

本文

Uxn32 – Windows および Wine 用 Uxn エミュレーター

Uxn32 は、Uxn 仮想マシンのためのグラフィカルエミュレーターです。


ダウンロード

⬇️📦 最新の Uxn32 Essentials Pack をダウンロード

Uxn32.exe
とプレビルド済み ROM のコレクションが入っています)


特徴

  • 対応環境:Windows 95、98、NT4、2000、XP、Vista、7、8、8.1、10、11 および Wine(Linux など)
    32bit と 64bit の両方で動作します。
  • Linux やその他 OS 上で Wine により実行できるように設計されています。
  • 小型・シンプル – 単一の
    .exe
    、インストーラー不要、依存関係なし。
  • Uxn プログラム ROM 用にサンドボックス化されたファイルシステムアクセス。
  • デバッガ:ステップ実行、逆アセンブル表示/編集、メモリビュー、スタックビュー/編集。
  • 高 DPI およびモニタ毎の DPI サポート。
  • Uxn プログラムはフルスピードでイベントを受信し、即座に再描画します。
    (240 Hz のディスプレイがあれば、その速度を活かせます)
  • プレエンプティブ実行 – 無限ループや長時間処理中でも凍結しません。
  • コンパイル環境:Visual C++ 6.0 (VC6 1998) から Visual Studio 2026、Clang、clang‑cl、GCC(Winelib 経由)、MinGW Clang、MinGW GCC、Pelles C。

使い方

  1. Uxn32 Essentials Pack をダウンロードします。
  2. 新しいディレクトリに解凍します。
  3. Uxn32.exe
    を実行します。

ショートカット & コントロール

キーアクション
F11× / 2× ズーム切替
F5デバッガ表示
F2ウィンドウと状態を複製
F7デバッガを 100 命令ずつステップ
F3コンソールの表示/非表示
F8デバッガを 1 命令ずつステップ
F4ROM ファイルをリセットして再読み込み
F9エミュレーションの一時停止/再開

ゲームパッド ↔ キーボードマッピング

  • Control → ゲームパッド「A」
  • Alt → ゲームパッド「B」
  • Shift → ゲームパッド「Select」
  • Home → ゲームパッド「Start」

ビルド方法

Windows

ツール手順
VC6 / 旧 Microsoft IDE
uxn32.dsp
を開き Build を実行。
最新 VS / MinGW
CMakeLists.txt
を使用。CLion + MSVC、CLion + MinGW Clang、Qt Creator + MSVC/Clang、VS Code + C/C++ 拡張機能、Ninja/NMake でテスト済み。

注意: VC6 は軽量な

.exe
を生成し、DLL や大きなランタイムをバンドルせずに古い Windows バージョンでも動作します。

Linux & その他 UNIX

  1. Wine
    gcc
    または
    clang
    をインストール。
  2. Winelib でコンパイル:出力は ELF 実行ファイルになり、Linux 上の Wine で使用可能。
  3. wine Uxn32.exe
    で実行。
  4. デバッグ時は
    gdb
    winedbg Uxn32.exe
    を併用。

オプション: clang + winegcc + lld を使えば、PE 実行ファイルを生成できる(

--wine32
必須)。ただし ucrtbase.dll のリンクにより Windows 7+ でのみ動作する可能性があります。

その他のシステム

ソースは

uxn32.c
,
uxn_lz.c
,
uxn_core.c
の 3 ファイルとリソースファイル
uxn32.rc
のみ。
リンクライブラリ:
user32.lib gdi32.lib shell32.lib shlwapi.lib comdlg32.lib comctl32.lib winmm.lib


TODO

  • ROM のドラッグ&ドロップ読み込み。
  • ピクセル倍増 / スケーリング。
  • オーディオ出力と音量制御。
  • コンソールの入出力。
  • ファイル/表示メニュー、メニューバーの切替。
  • 設定ダイアログ。
  • グラフィカルデバッガ。
  • 「About」ダイアログ(現在未使用)。
  • ファイルシステムサンドボックスディレクトリ設定と読み書き制限。
  • 型別名 (
    DWORD
    ,
    ULONG
    など) の整理。
  • static
    修飾子の追加漏れ修正。
  • 外部から汚染された仮想画面周辺の再描画バグ修正。
  • タイミングとディスプレイ同期方式の改善(合成デスクトップ対応)。
  • GCC の MinGW での C89 問題テスト/修正。
  • デバイス関連コードの整理。
  • リソース使用量・パフォーマンスインジケーターパネル。

ライセンス

ファイルライセンス
uxn32.c
All rights reserved
uxn_core.c
,
uxn_core.h
,
uxn_lz.c
MIT

同じ日のほかのニュース

一覧に戻る →

2026/01/03 4:48

自分のサイトで公開し、他所ではシンジケート(転載)してください。

## Japanese Translation: --- ## 要約 POSSE(**Publish on Your Own Site, Syndicate Elsewhere**)は、作家がまず自分のサイトにコンテンツを投稿し、その後第三者のサイロへ複製することで、元のコピーを完全に管理したまま公開できる出版モデルです。主なメリットは、外部プラットフォームへの依存度低減、正規URLの所有権確保、検索性向上、シンジケートからのレスポンスを逆流させる能力、およびソーシャルレイヤーの活用です。すべて自己ホスト状態を犠牲にすることなく実現します。 POSSEは、パーマショートリンクや引用経由でシンジケートコピーからのバックリンクを奨励し、発見性を高め、スパム対策を行い、元記事のSEOを向上させます。モデルは完全なCRUD操作をサポートします:下流コピーをu‑syndicationリンクで読み取り、編集または再投稿で更新し、既存アクティビティを考慮して削除できます。 ### 実装パターン 1. **自動サーバー側シンジケーション**(クライアント → サイト → サイロ):新しいコンテンツが公開されると、サイトは自動的にサイロへ投稿します。 2. **クライアント → サイト + 手動サイロ投稿**:クライアントがローカルで公開し、その後選択したサイロへ手動で投稿します。この方法はより多くの制御を提供しますが、自動化は減少します。 ### 人気のあるサイロ Twitter、Facebook、Medium、WordPress.com、Flickr、Mastodon、Bluesky など。 ### POSSEを可能にするツール Bridgy Publish、SiloRider、Feed2Toot、POSSE Party などが挙げられます。 ### 関連概念 - **COPE**(Create Once, Publish Everywhere) - **POSE**(Publish Once Syndicate Everywhere) - **PESOS**(Post Elsewhere, Syndicate to Own Site) - **PESETAS**(post to a single silo only) ### 歴史的マイルストーン Tantek Çelik が 2010 年に POSSE を定義し、2012 年に正式化しました。それ以来、Barnaby Walters、Aaron Parecki、Ben Werdmuller、Shane Becker、および Molly White といった IndieWeb 実践者がさまざまな CMS やカスタムセットアップで導入しています。エコシステムは 2024 年までに新しいツールとデプロイメントを通じて着実に成長しました。 ### 今後の展望 本文では、POSSE ユーティリティの継続的な拡張と多様な「サイロ」への広範な採用が予測されています。さらに非ウェブ領域(例:git リポジトリのミラーリング)まで拡大する可能性があります。このシフトは、個人クリエイターや小規模ビジネスに力を与え、支配的プラットフォームへの依存を減らしつつ SEO とオーディエンス エンゲージメントを向上させることが期待されます。

2026/01/03 13:01

**IQuest‑Coder:Claude Sonnet 4.5 および GPT 5.1 を凌駕する新しいオープンソースコードモデル**

## Japanese Translation: --- ### Summary GitHubは、Copilotとその拡張AIツールキット(Spark、Models、MCP Registry)でコードを書き、Actions、Codespaces、Issues、Code Review、および自動ワークフローパイプラインを通じてアプリケーションのデプロイ、監視、セキュリティを行うという、ソフトウェア開発のすべての段階をスムーズにする完全統合型AI搭載開発者プラットフォームとして自社を位置付けています。 このプラットフォームは、GitHub Advanced Security の脆弱性スキャンとシークレット保護という高度なセキュリティ機能を、CI/CD ライフサイクル全体にわたるオートメーションツールと統合しています。ターゲットユーザーは、企業、中小規模チーム、スタートアップ、非営利団体、およびアプリモダニゼーション、DevSecOps、DevOps、継続的インテグレーション/デプロイメントなどの専門ユースケースを含む広範なスペクトルです。 明示的に対応する産業にはヘルスケア、金融サービス、製造業、および政府があり、それぞれのセクター向けにカスタマイズされたソリューションが提供されています。 GitHub の戦略は、プロンプト管理やインテリジェントなアプリデプロイメントなどAI統合を深化させるとともに、エンタープライズグレードのセキュリティ機能、Copilot for Business、プレミアム24/7サポート、および追加オプションの拡充を図っています。これらの動きはコーディングワークフローの高速化、コンプライアンス制御の強化、およびプラットフォーム全体の魅力拡大を目指しています。 コミュニティエンゲージメントは、Security Lab、Maintainer Community、Accelerator、Archive Program、GitHub Sponsors プログラムなどのイニシアチブを通じて強化され、オープンソース開発者を支援し、ソフトウェア業界全体での協力を促進します。ドキュメント、ブログ、変更履歴、マーケットプレイス、コミュニティフォーラム、およびパートナープログラムは、ユーザーが開発ジャーニーを通じて継続的にサポートされるようにさらに支援しています。 ---

2026/01/03 6:27

「『Harder, Better, Faster, Stronger』のBPMに合わせたダフトパンクのイースターエッグはありますか?」

## Japanese Translation: ## 改訂要約 Daft Punk の「Harder, Better, Faster, Stronger」は一般的に 123 BPM としてリストされていますが、正確な分析では実際のテンポは **123.45 BPM** であることが示されました。この微妙さは標準の一覧では見落とされがちです。 著者はリアルタイム BPM 検出アプリ「Tempi」を構築し、数百曲のサニペットライブラリでテストしました。Tempo アプリを使って手動でテンポを測定し、最初の明確なビート(約 5.58 秒)と最後のビート(約 3:41.85 秒)の間にある全ビート数をカウントし、式 `bpm = 60 * (number_of_beats‑1) / duration` を適用しました。Discovery CD のリップでは **123.44994 BPM** が得られ、YouTube バージョンでは **123.45336 BPM** でした。両方とも四捨五入すると **123.45 BPM** に一致します。CD バージョンは処理が少ないため、より代表的と考えられます。 著者は FFT(高速フーリエ変換)や自己相関に依存するアルゴリズムベースのテンポ検出ツールはノイズが多く不正確である可能性を指摘し、手動測定の方がより信頼できる数値を提供すると述べています。 Daft Punk の機材—E‑mu SP‑1200、Akai MPC‑3000、および Emagic Logic—は BPM を異なる小数点精度でサポートしています(前二つでは一桁、Logic では最大四桁)。2001 年と 2013 年のインタビューでは、これらのデバイスでシーケンスを行い、コンピュータを使わないという主張があり、制作時に分数 BPM が可能だったことを示唆しています。 結論として、正確な **123.45 BPM** は Daft Punk の「ロボット的」プロダクションプロセスによる意図的なイースターエッグであると考えられます。このような隠された詳細を認識することは、音楽テック開発者、DJ、および作品に微妙な参照を埋め込むアーティストに有益です。