**助けて!私のC64が火事になりました**

以下の手順に従ってください。

1. **直ちに電源を切る**  
   - コモドール 64 のコンセントからプラグを抜きます。  
2. **可燃物から離す**  
   - 安全で非可燃性の場所へ移動させてください。  
3. **損傷箇所を確認する**  
   - 電源装置や内部部品に焼け跡・溶融したプラスチックがないか調べます。  
4. **自分で修理しない**  
   - 認定サービスセンターまたは専門技術者へ連絡してください。  
5. **事故を報告する**  
   - 必要に応じて、煙や炎があった場合は地元の消防署に知らせます。

安全第一です。プロフェッショナルに任せましょう。

2025/12/24 4:09

**助けて!私のC64が火事になりました** 以下の手順に従ってください。 1. **直ちに電源を切る** - コモドール 64 のコンセントからプラグを抜きます。 2. **可燃物から離す** - 安全で非可燃性の場所へ移動させてください。 3. **損傷箇所を確認する** - 電源装置や内部部品に焼け跡・溶融したプラスチックがないか調べます。 4. **自分で修理しない** - 認定サービスセンターまたは専門技術者へ連絡してください。 5. **事故を報告する** - 必要に応じて、煙や炎があった場合は地元の消防署に知らせます。 安全第一です。プロフェッショナルに任せましょう。

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

要約

Japanese Translation:


Summary

この記事は、初心者が古いCommodore 64を小さな「暖炉」ディスプレイに改造した過程を記録しており、初心者でも最小限の努力で説得力ある視覚効果を作成できることを示しています。
主な手順は次のとおりです。

  1. ハードウェアアップグレード – 「kung‑fu cart」とpi1541ディスクドライブを取り付け、PCからC64へプログラム転送を簡素化しました。
  2. ソフトウェアワークフロー – RetrogameCoders の Web ベース IDE(cc65 + エミュレータ)を使用し、わずか二日で開発を完了させ、複雑なクロスプラットフォームツールチェーンを回避しました。
  3. グラフィック技術 – デフォルトの 40 × 25 キャラクターモードのみを使用し、各キャラクターの背景色をそのバイトの高ビットで設定できる拡張カラー モードを採用しました。C64Studio でカスタム文字を設計し、ドリッタリングと擬似グレースケールの炎効果を実現しています。
  4. 段階的コード進化 – 記事はソースファイル(.c)の年代順リストを提供しており、遅い純粋 C 実装から完全に組み立てられ最適化された最終コードへの移行を示しています。
  5. 今後の計画 – 著者は次回以降のイテレーションでより効率的なアセンブリ生成のために Kick Assembler に切り替える予定です。

この記事は実用的なチュートリアルとしてだけでなく、限定されたスキルを持つ誰もが深い専門知識なしで魅力的なレトロコンピュータビジュアルを作成できることを示す励ましのメッセージでもあります。

本文

クリスマス休暇にいつものようにイタリアへ戻りました。ここでは、プログラミングを学んだ子供時代のC64(カセット版)をご紹介します。近年はレトロ機器のリフレッシュが趣味になっており、親元に帰るたびに少しずつ修理や整理整頓を行っています。このプロジェクトもその一環です。

現在は動作が非常に安定していて、PC(KUNG‑FU カートと Pi1541)からプログラムを転送できるツールなどの機能も追加しています。今年はこのC64で何か実際に出来ることに挑戦しました。結局、C64を居心地の良い暖炉に変えるというアイデアに決めました。驚いたのは、数時間で2日間にわたってプロジェクトが完了した点と、何より楽しかったことです!
古典的なクロスプラットフォームツールチェーンを使うのではなく、ウェブベースのIDE/エミュレータの組み合わせだけでほぼすべてを実現できたのは想像以上でした。

私はC64コーディングの専門家ではありません。6〜7歳の頃に一度プログラミングした経験があり、デモシーンには関心がありますしチップや内部構造についても読んだことがあります。しかし、実際にデモエフェクトを作ったことはありません。つまり、私がこれを成し遂げたのであれば、あなたもできるというメッセージでこの記事を書きました。


クリスマスに必要なのは…6502だけ

C64の概要と、始める前に知っておくべきポイントを簡潔にまとめます。

現代CPUの仕組みや最適化手法を覚えているなら忘れてください。64ビット世代ではRAMがCPUより高速で、ルックアップテーブルが友達です。ループやコード生成は完全展開されますし、キャッシュは存在しません!

有名な6502 CPUは算術レジスタ(アキュムレータ)しか持ちません。さらにメモリ位置をオフセットするための2つのインデックスレジスタ、ステータスレジスタ、プログラムカウンタがあり、算術演算はテストやインクリメント/デクリメント以外には使えません。プログラムカウンタだけが16ビットで、それ以外はすべて8ビットです。

しかしRAMが高速なら多くのレジスタを必要としません。メモリがレジスタファイルになるわけです。ほぼすべての6502命令はアキュムレータとメモリ(またはインストラクション自体に含まれる数値定数)間で動作します。

これをサポートするために、6502は豊富なアドレス指定方式を持っています。ほとんどの命令は絶対アドレス、インデックスレジスタでオフセットしたアドレス、あるいはメモリ位置に格納されたアドレス(間接)からデータを取得できます。また、ゼロページという最初の256バイトの領域があり、ここでは1サイクル短くアクセスできる特別な最適化があります。命令内で1バイトでアドレスをエンコードできるためです。

6502命令セットはとてもシンプルで、15分以内にざっと読むだけで十分です。


計画

C64のカスタムチップ(SID:サウンド、VIC‑II:グラフィックス)を扱うとさらに複雑になります。デモシーンではこれらのチップを正確に操作して奇妙なビジュアルを生成しますが、私にはほとんど知識がありませんでした。そのため、すべてを避ける計画です。VIC‑IIを単純で線形のフレームバッファーを持つグラフィックモードに設定し、他のコンピュータでプログラムするようなコードを書けば、64が火のエフェクトを扱えると考えました。

幸い、そんなモードがあります。デフォルトのキャラクターモードです。画面は40×25文字(合計1,000文字)で、各文字は1バイトです。デフォルトのPETSCII文字セットはデモシーンに最適ではありませんが、カスタムセットを作ることができます。

私のアイデアは、ディザリングパターンを使って各文字を8ビットグレースケール値として表現することです。

  • 0 = 完全オフ(背景色)
  • 64 = 完全オン(前景色)
  • 中間値 = 両者の混合

これで64通りしかありませんが、8ビット空間をフルに活用したいと考えました。明白な方法は色を加えることです。例えば最初の64値は黒(背景)から茶色(前景)、次の64は茶色背景/赤前景、さらに赤/黄、最後に黄/白へと変化させる、といった具合です。

C64Studioで手作業でカスタム文字セットを作成しました。デフォルトキャラクターモードでは文字ごとの前景色しか制御できません(別のメモリ位置で設定)。幸い、拡張カラー モードがあり、文字セットは64に限定されますが、各文字の上位2ビットで背景色を制御し、前景色は従来通り別メモリに保持します。これが正解です。


実装

すべての開発はRetrogameCoders C64 IDEで行いました。このIDEはcc65コンパイラとエミュレータを組み合わせたものです。

C言語でC64コードを書くことは一般的に悪いアイデアですが、cc65は「最高」のコンパイラではありません(古くて生成コードの最適化がほぼ無い)。しかし、Cでテストしつつ徐々にアセンブリへ移行できる点はノーバックにとって重要でした。将来的にはデモコーディング向けに特化したKick Assemblerへの切替を検討しています。

以下は

.c
ファイルを時系列で並べたものです。RetrogameCoders IDEにコピー&ペーストして動作を確認できます。好きなように改造してください!

  1. ECM文字セットアイデアの最初のテスト
  2. 純粋Cで書いた最も遅い火エフェクト
  3. まだC。 "展開" を始める
  4. アセンブリへの移行開始
  5. アセンブリに完全移行、サイドバイサイドのC
  6. アセンブリのみ、さらにECMテクニック追加
  7. 「最終」版

どうぞお楽しみください!

同じ日のほかのニュース

一覧に戻る →

2025/12/24 2:33

ファブリス・ベルラドが MicroQuickJS をリリース

## Japanese Translation: GitHubの最新オファリングは、AI駆動のコード作成、統合開発ワークフロー、および組み込みセキュリティを一つの体験に融合した統一プラットフォームです。 - **AIツール**:CopilotとSparkは開発者がより高品質なコードを書き、プロンプトを管理し、外部サービスへ接続するのを支援します。 - **ワークフロー**:Actionsは任意のワークフローを自動化し、Codespacesは即時にクラウド開発環境を提供します。Issues、Plans、およびCode Reviewはチームが作業を追跡し変更点をレビューできるようにし、すべて単一パイプライン内でハンドオフを減らします。 - **セキュリティ**:Advanced Securityはビルド時に脆弱性をスキャンし、シークレット保護は認証情報の漏洩を事前に防止します。 - **対象ユーザー**:エンタープライズから中小チーム、スタートアップ、非営利団体まで、アプリモダナイゼーション、DevSecOps、DevOps、およびCI/CDなどのユースケースで利用可能です。 - **対応業界**:ヘルスケア、金融サービス、製造、政府機関その他多数。 - **追加リソース**:ドキュメント、ブログ、変更履歴、マーケットプレイス、イベント/ウェビナー、電子書籍/レポート、ビジネスインサイト、スキルトレーニング、サポート、コミュニティフォーラム、Trust Center、およびパートナープログラムがすべて利用可能で、チームの成功を支援します。 - **エンタープライズソリューション**:GitHub Enterprise PlatformにはAdvanced Security、Copilot for Business、プレミアムサポート、24/7 エンタープライズレベルサービスなどのAI駆動開発プラットフォームと追加機能が含まれ、それぞれ階層化された価格モデルで提供されます。 これらの機能を組み合わせることで、あらゆる規模の組織においてコード生成をより迅速かつ安全に行い、ワークフローを効率化します。

2025/12/24 6:54

**X‑ray:PDF 文書における不適切な赤字消去(レダクション)を検出するための Python ライブラリ**

## Japanese Translation: --- ## Summary x‑rayは、PDF文書内の不適切な赤字(黒い四角形が背後にあるテキストを完全に覆えていない)を自動で検出するPythonライブラリです。PyMuPDFでPDFをスキャンし、四角形の形状を特定してページコンテンツ上に重ね合わせ、各形状が実際に隠された情報を遮蔽しているかどうかをテストします。不適切な赤字はJSON(またはPython辞書)として報告され、ページ番号、境界ボックス、および隠されたテキストがリスト化されます。 ### Installation ```bash uv add x-ray # 既存のuvプロジェクトに追加 pip install xray # 標準的なpipインストール ``` インストールせずに実行することも可能です: ```bash uvx --from x-ray xray <PDF_URL> ``` ### Usage *コマンドライン:* ```bash xray path/to/file.pdf xray https://free.law/pdf/example.pdf # バッチURL cat urls.txt | xargs -n 1 xray ``` *Python import:* ```python import xray bad_redactions = xray.inspect("some/path/to/file.pdf") # `inspect` は str、pathlib.Path、URL(https://)、または PDF コンテンツの bytes を受け取ります。 ``` ### Output このツールは、ページ番号をキーとし、不適切な赤字オブジェクトのリストを値とするJSONを出力します。各オブジェクトには `bbox` タプルと隠された `text` が含まれます。モジュールとして使用した場合、同等のPython辞書が返されます。 ### Project context - Free Law Projectで数百万件のPDFを監査し、法的透明性を確保するために使用されています。 - GitHub上でオープンソース化されており、貢献にはCLAへの署名が必要で、issues経由で管理されます。 - リリースはGitHub Actionsで自動化されており、手動リリースでは `CHANGES.md`、`pyproject.toml` の更新、タグ付け、およびPoetryによる公開を行います。 - BSDライセンス(許諾型)で配布されています。 x‑rayの軽量なインストールと明確なレポート機能は、法務テック企業や規制当局、オープンデータイニシアチブが不備のある赤字を迅速に特定し、コンプライアンスと透明性を維持するのに役立ちます。

2025/12/24 4:35

テレンス・マリック『Disciples』

## Japanese Translation: テレンス・マリックの独特な美学―長いモンタージュ、自然光、詩的ナレーション、そして従来の物語構造への拒否――は、そのスタイルを直接模倣せずに採用する新しい映画作家たちの波を呼び起こしました。 代表例としてラメル・ロス監督の『ニッケル・ボーイズ』(2024年)が挙げられます。この作品はコールソン・ホワイトヘッド小説の改編で、ベストピクチャー賞ノミネートを獲得しました。ロスはマリックの『The Tree of Life』に触発され、その制作に関わったプロデューサーの一人が手助けしたといいます。彼は監督のアプローチを第一人称視点と断片的な詩性へと翻訳し、没入型の神話的物語を創造していますが、それでも独自性を保っています。 他の現代映画監督――クロエ・ザオ(『ノマドランド』)、クリント・ベンツリー(『Train Dreams』)、デイヴィッド・ゴードン・グリーン(『ジョージ・ワシントン』)、そしてローラ・ダン――はマリックの視覚言語を響かせますが、表面的な模倣を避けるために自らの感性と融合させる必要があります。A.J. エドワーズ(『The Better Angels』)やデイヴィッド・ロウリー(『Ain’t Them Bodies Saints』)による試みは、スタイルフレームワーク内で真の人間性を捉える難しさを示しています。 マリックのキャリアは、『Badlands』と『Days of Heaven』という初期叙事詩から始まり、20年間の休止期間を経て、『The Thin Red Line』『The New World』『The Tree of Life』などの後期作品へと進化しました。彼の作品は常に精神性・自然・人間存在を探求しつつ、批評家から高い評価を受ける一方で、ボックスオフィスでは稀にしかヒットしません。マリックの総合的な目標――失われた精神性とアメリカ映画を再接続すること――は、芸術的解放とハリウッドの従来の物語期待との間で緊張を生み出します。 この記事では、マリックの美学と制作手法が多くの人々にインスピレーションを与えている一方で、本当の影響力は表面的な技術を単純に模倣するのではなく、それらの要素を自分自身の物語ビジョンへと翻訳することにあると主張しています。