
2026/04/19 0:24
フジックス OS
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
Fuzix OS バージョン 0.4 は、以前「N8VEM」として知られていたものが、「Retrobrew」というブランドに再変更され、リトロコンピューティング愛好家にとって大きな転換点となる
.a.out形式のような統一されたバイナリフォーマットの導入を特徴としています。このアップデートは開発を簡素化するため、新しい簡略化されたターゲット(例えば、make diskimage)を導入すると同時に、RC2014 バスシステムを「RCbus」と改称しています。しかし、プロジェクトは Tester が不足した理由から、Pentagon や Pentagon 1024 のような特定のレガシーエミュレータのサポートを終了しました。一方、それらのクローンハードウェアへの完全なサポートは維持されています。本リリースでは、ZX Spectrum(DivIDE/DivMMC セットアップを含む)など、クラシックな 8 ビット機向けにネットワーキングおよびメモリバンキング機能を拡張していますが、非常に具体的なバージョンを必要とする不確かなツールチェーンによる継続的な不安定性を導入しました。特に、6502 などの旧式 CPU における浮動小数点サポートは現時点では利用不能であり、それを有効化するには新しいソフトウェアルーチンを追加する必要があります。エコシステムには、安定したポート(ARM M0/M4 シリーズ、Z80 シリーズ、および複数の Motorola チップなど)と、進行中または廃止された実験的なポート(ESP32 および EZ80 など)が混在しています。本質的に、このバージョンはエミュレーションの Landscape をより明確なアイデンティティの下に統合しますが、不安定なツールチェーンによる潜在的なビルド失敗をユーザーが管理する必要があり、かつ実験的なポートが安定するのを待つ必要があることを求めています。本文
Fuzix OS
ソースコードとライセンスについては、Github リポジトリ にご参照ください。対応するタグは
0.4 です。
インストールイメージ
バージョン 0.4 のターゲット向けにインストール用イメージが用意されています。詳しくは、
Kernel/platform-* 配下の git ソースの README ファイルをご覧ください。
Fuzix 0.4 リリースノート
変更点の概要
- コアとネットワーク層: 今回のリリースにおいて、Fuzix カーネルのコア部分は以前からあまり変化していません。多くのバグが修正され、いくつかのインターフェースが改良されています。ネットワーク層は完全に再構築され、よりモジュラー化されており、将来的には 8 ビットマシン上でカーネルとは異なるアドレス空間で動作させることが可能になるよう設計されています。
- 実行形式(Executable Formats): 実行ファイルの形式が変更されました。8080、8085、および Z80 のバイナリ形式が適切に統合され、現在は 8085 と Z80 が 8080 のバイナリを直接実行できるようになっています。68HC11 と 6803 の形式は若干異なるものの、syscall の ABI(アプリケーションバイナリーインターフェース)は工夫されており、68HC11 が 6803 のバイナリを実行できるように設計されています。
- Linux Binfmt の置き換え: 以前「ボグダ」(意訳:適当な応用)な Linux binfmt 形式を使っていた 32 ビットのバイナリは、現在は
を使用し、リロケーションマップを処理するためのいくつかの小規模な拡張が追加されています。これにより、将来的に安定した実行ファイルの形式となることを期待しています。a.out - ビルド: バイナリの作成プロセスは、可能な限り簡略化されています。ツールチェーンはいくつか非常に特殊であり、それらのないものは頻繁に壊れる傾向があるため、特定のリリースを使用する必要があるという点ではなお課題があります。ただし、実際のシステム構築においては、
というターゲットが導入され、問題のシステムの微細な詳細やすべてのパーツを統合する方法を理解する必要なく、起動可能なシステムの全パーツを一気に作成できるようになりました。make diskimage - Make 環境: Make 環境は以前よりも大幅に改善されています。しかし、まだ完璧ではなく、プロセッサを切り替える際には
を実行し、カーネル設定オプションを変更する際やターゲットを切り替える際にはmake clean
の実行を強く推奨します。多くの Make ルールが統合されたため、0.5 版以降ではルールの整理と依存関係の解消がよりはるかに容易になるはずです。make kclean
ネーミングの変更点
- N8VEM プロジェクトは、創設者が関与を停止したという理由で「Retrobrew」にブランド変更されました。0.3 版は N8VEM のネーミング問題の大部分を解消しており、0.4 版ではこれが完了しました。
- RC2014(製品ライン)と RCbus(バス規格)の間に明確な区別が生じました。特に、バス自体は元の概念を超えて拡張されており、独自の標準文書と維持組織を持つようになりました。Fuzix では公式な RC2014 製品については「RC2014」という用語のみを使用すべきですが、いくつか見落としている場合があるかもしれません。以前は
と命名されていたシステムは、現在はrc2014-xyz
に変更されています。rcbus-xyz
一時的にサポート終了としたシステム
- Pentagon
- Pentagon 1024
- Scorpion
- このワークのテスト用機器を現在利用できません。
エミュレータ上でも未確認のシステム
- P112(動作するエミュレータがなく、マシンへのアクセスも不可能)
- SocZ80(エミュレータが存在せず、システムの修正が必要)
対応プロセッサ
6303 / 6803
- プロセッサ: Hitachi 6303 と Motorola 6803 です。CC68 コンパイラチェーンと cc65 から派生した、Fuzix 用に特別に設計されたツールによってサポートされています。現在、対応するターゲットボードは RCbus 6803/6303 プロセッサカードのみです。
- 注釈: フloating point(浮動小数点)演算はサポートされていませんが、基本的なソフトランタイム(加減法等の低レベルロジック)を書くことだけで追加可能であり、他のターゲットへの実装も難しいものではありません。
6502 / 65C02 / 65C816
- コンパイラ: cc65 (v2.18 以降) によってサポートされています。コンパイラの制限により浮動小数点演算はサポートされていません。オープンソースの 65C816 コンパイラが存在しないため、65C816 は 65C02 の拡張版として扱われています。
- ターゲット: このポートでは現在、RCbus 65C02/65C816 カードと PZ1 を対象としています。「クラシックな」6502 システムの多くはメモリや I/O に不足しており、後期のプロセッサアップグレードを施しても、ほとんどの場合に良好な I/O が欠けています。
6809
- ツール: このポートでは gcc 6809 と lwtools を使用しています。Dragon、Tandy COCO、Thomson、および RCbus マシンなどのクラシック系からモダンなシステムまで幅広く対応しています。最新の lwtools を使用し、lwasm がセグメンテーション違反などを報告する場合は、古いバージョン(例:4.13)を使用する必要がある場合があります。
68HC11
- ツール/ABI: 6800 プロセッサ系の最終世代です。このポートでは gcc を使用しており、6800/6803 とは異なる ABI を持っています。ただし、6800 と 6803 のバイナリを実行することは可能で、6303 については対応していません。
- ターゲット: 現在、対象としているのは Mini11 SBC と RCbus 68HC11 カードです。
68000
- 機能: フラットメモリアドレス空間を備えた Motorola 68000 シリーズプロセッサに対応しています。ポートの安定性は大幅に向上し、合理的なバイナリ形式が導入されました。68EC020 までのプロセッサに対応しています。低メモリを持つシステム向けの追加的なメモリモデルも加わっており、現在では高速ディスクに依存せず、128K のシステム上で Fuzix を動かすこともほぼ可能になりました。
- ビルドに関する注釈: 68020以前のプロセッサ向けには GCC および binutils を特別な方法でビルドする必要があるため、それらを適当にビルドするとサポートされていない命令が挿入される可能性があります。詳細は 68000 の README ファイルを参照してください。
8080
- コンパイラ: Fuzix C コンパイラを使用して対応しています。新しいコンパイラーであるため、いくつかのバグが残っている可能性があります。
8085
- 機能/コンパイラ: このポートは、Intel が文書化しなかった命令セットを含む完全な 8085 インストラクションセットを使用しています。Fuzix 用に特別に構築された新しいコンパイラを使用します。したがって、現在はこのポートはやや不安定であり、ツールおよびシステムのバグを解消する必要があります。パフォーマンスは純粋な 8080 ビルドの何倍か高速化されており、高級言語を実行する際により多くの命令セットがあることが大きな差を生んでいます。浮動小数点演算はまだサポートされておらず、8085 の低レベル FP ルーチンを作成する必要があります。
- ターゲット: 対応するターゲットは、オンボードバンク MMU を備えた RCbus 8085 カードです。
ARM
- ARM M0: gcc を使用し、Raspberry Pi Pico にターゲティングしています。
- ARM M4: DK-TM4C129X および EK-TM4C129X をターゲットとしています。
ESP8266
- これは Tensilica L106 の ESP8266 バリヤントに固有のターゲットです。
NS32K
- MMU 非対応の NS32K プロセッサ向けの完全なポートです。このポートは 0.4 版で新たに追加されました。現在、RCbus NS32FX16 プロセッサカードの設計(進行中)をターゲットとしています。
Z80 / Z180 / 64180 / Z84C1X
- コンパイラ: これらのプロセッサはすべて、SDCC 3.8 のフォーク版を利用したメインツリーによってサポートされています。新しい SDCC は多くの呼出し規約を変更しているため、現時点での移行は行われていません。将来的に変化する可能性があります。
- ライブラリ: サポートコードライブラリにより、ほとんどのフラット Z180 システムが簡単に動作し、すべてのマッピングと周辺機器サポートを提供します。
その他のプロセッサ
これらのプロセッサはツリーには含まれていますが、まだ完全に機能していません。いくつかのケースでは、これは単にライブラリの移植性問題を特定するための手段として使用されています。
- 6800: CC68 と Fuzix を元の 6800/6808 プロセッサ系に拡張するための開発中であり、まだ利用できません。
- 8086/8088/80C188/80C186: 将来的な PC および RCbus-80C188 ポート用の基礎的なスケッチのみです。
- ESP32: 初期の実験的ポートです。
- EZ80: EZ80 ベースのプラットフォーム(Jee Retro 開発プラットフォーム)での起動のための初期サポートです。これが他の EZ80 プラットフォームを有効にするための良好な基礎となりますが、現在まだ有効化されていません。
- MSP430X: 廃止されました。
- PDP11: GCC PDP11 コンパイラと binutils の状態を追跡中です。ツールチェーンが十分動作する段階にはまだ至っていません。
- Rabbit 2000/3000: 現在、ユーザー空間のビルドチェックとして使用されています。 Hopefully、0.5 版の開発中に Rabbit ボードの有効化が進むことを願っています。
- RISC-V 32: ツールチェーンのテストと移植性の作業です。現在はまた壊れる別のコンパイラチェーンですが、理論的には Fuzix は今後登場し最近の RISC-V マイクロコントローラー上で動作できる可能性があります(SRAM が約 128K のもの)。
- TMS9995: C コンパイラのデバッグを少しずつ進めるために使用されています。コンパイラが正常に動作するまでにはまだ遠いため、利用可能なポートではありません。
- WRX6: Warrex CPU6 です。コンパイラデバッグ用の他、システムの文書状態がさらに改善されてから進展するため現在保留中です。
- Z280: 開発中です。Z280 は非常に Z80 に似ていますが、異なる特権構造と割り込み動作のため、Fuzix の場合少なくとも低レベルコアコード独自のバリエーションが必要となります。
対応システム
各システムの詳細については、該当する
Kernel/platform-xxxx ディレクトリ内の README.md をご参照ください。他のプラットフォームも存在しますが、ここにリストされていない場合は、いずれかの開発中または特殊ケースである可能性が高いです。
2063
John Winan の「John's Basement」YouTube シリーズで紹介された 2063-Retro システムです。ある種のクラシックな Z80 リトロシステムで、やや遅いビットバンング SD カードインターフェースを備えています。
68K-nano
Matt Sarnoff の 68K ナノ設計です。16 ビット IDE インターフェースを備えたミニマリストな 68000 システムであり、非常に美しく、簡単に構築できる小さな Fuzix ボックスとなります。
Ampro Littleboard
Ampro Littleboard は、フレキシディスクと同じサイズにするために設計されたクラシックな Z80 CP/M ボードです。このポートには、SCSI コントローラー付きの Plus バージョンが必要です。
Amstrad NC100
PCMCIA スロットを備えたノートパソコン以前のポータブルワードプロセッサマシンです。
Amstrad NC200
NC100 の続編であり、フレキシドライブとより良いディスプレイを搭載しています。
CPM22
カスタマイズブロックと CP/M 2.2 BIOS を使用したポートです。S-100 マシンのように BIOS が基本的にアーキテクチャそのものであり、各マシンが独自の傾向を持つようなシステムに Fuzix を移植する実践的なものとするために意図されています。Fuzix および C 側の処理を避けたい場合の移植基盤として適しています。現在非常にベーシックですが、CP/M BIOS の他のギャップをカバーするために簡単に拡張可能です。
COCO2
64K RAM および CF または SD カードアダプターを備えた Tandy COCO2 のサポートです。カーネルの一部はカートリッジバンクにフラッシュされており、すべてを適切に配置しています。Dragon 64 とでも動作するはずです。
COCO3
Tandy COCO3 です。
Cromemco
Z80 ベースのシステムで、8 インチフレキシディスクインターフェースを搭載しています。ハードディスクは現在ドキュメントやサンプルコードの欠如のためサポートされていません。
DK/EK-TM4C129X
ARM 開発ボードです。
Dragon 32
Dragon マシン向けに特定された 2 つのポートがあります。それぞれ、Tormod Volden の SD およびメモリ拡張(NX と後発でより機能が豊富な MOOH)をサポートします。適切なビルドオプションを使用すれば、同じインターフェースを持つ COCO マシンでも動作するはずです。
Dyno
フラットメモリアドレス空間を備えた汎用な Z180 リトロシステムです。
Easy-Z80
Sergey Kiselev の EasyZ80 です。RCbus および RC2014 システムと非常に類似しており、512/512K の RAM を搭載していますが、単一ボード上に統合されており、バッテリバックアップ機能および IM2 インタープトモードサポートも備えています。
ESP8266 (ExpressIf)
ExpressIf マイクロコントローラ向けの Fuzix です。オンボードのワイヤレスは a) 文書化されていないこと、b) 私たちがそのメモリをすべて奪って他用途に充てたため、サポートされていません。ただし、WizNet 5500 を使用してインターネット接続に対応しています。
Genie EG64/3
Video Genie(通称 Dick Smith System 80、PMC-80 など)への対応で、Genie EG64/3 CP/M アダプターまたは同等の TRS80 Lubomir ソフトバンクを使用します。
KC87
Robotron KC87、KC85/1、および Z9001 です(KC85/4 は除外)。Robotron-Meßelektronik によって東ドイツで製造されたシステムです。
MB020
Bill Shen による単純なフラットメモリアドレス空間を備えた 68020 ボードです。
Micro80
単一チップ統合 Z80 と I/O を使用したリトロ Z8C415 ベースのマシンです。
Microbee
クラシックなオーストラリア製システムであり、他の場所ではほとんど知られていません。これらのマシンはシリーズがあり、次第に性能が向上しています。少なくとも 128K およびある程度の優れたディスクインターフェースが必要です。カラー表示が推奨され、古いビデオのビデオアップデートフリッカーに対処しようとする Fuzix カーネルとの互換性があります。
Mini11
IC カウントの少ない 68HC11 SBC で、512K の RAM を 68HC11 に直接ドライブし、上位アドレスピンを 68HC11 の GPIO ラインからドライブします。
MSX
MSX 向けに 2 つのポートがあります。MSX1 ポートはカートリッジベースのポートであり、Sunrise スタイルの IDE を備えた任意の 64K メモリマシンで動作します。現時点では MegaRAM などの機能はサポートされていません。
- MSX2: V9938 以上のビデオ、MSX2 スタイルのメモリアドレス空間、および現時点では SD カード付きの MegaFlashROM を必要とします。元のビデオと MSX2 メモリアンキングをサポートする MSX1 システムについては現時点でサポートされていませんが、追加する価値があります。
MTX
Memotech MTX512 で、バンクドメモリアルを備えた適切なディスクアダプターを搭載しています。少し obscure ですが非常に美しい英国製マシンです。
Multicomp09
FPGA ベースのリトロシステムです。
N8
N8 は Z180 リトロコンピューターと MSX 風なものの融合です。
Nascom
Z80 PIO に CP/M PAL、複数のメモリアンク、CF アダプター、および RTC を搭載した Nascom II または III です。
P112
DX Designs の P112。Zilog ESCC を使用した早期の「リトロ」システムです。
PCW8256/512/9256/9512/10
クラシックな Amstrad ワードプロセッサ/CP/M マシンです。まだ一部開発中です。PCW16 は完全に異なるアーキテクチャであり、サポートされていません。
Pentagon
東ヨーロッパ製の ZX スペクトラムクローンです。このポートは 256/512K の RAM を搭載したシステムを対象としています。128K のマシンについては、128K スペクトラムターゲットを使用してください。
Pentagon 1024
1MB の Pentagon で、追加のマッピング機能を備えています。
Pico68K
ACIA と VIA を使用し、ビットバンング SD カードを搭載したブレッドボード 68000 システムです。
RBC Mark 4
Retrobrew(旧 N8VEM)Mark 4 です。ECB バス向けの Z180 ベースの設計です。0.4 では RomWBW ファームウェアが必要です。
RBC Mini M68K
John Coffman のミニマルな 68K システムです。
RC2014
「公式」RC2014 ターゲット向けに 2 つの Fuzix ポートがあります。
- Standard: 512K RAM/ROM カードが必要で、より大きな RC2014 設定と多くの互換 RCbus ハードウェアをサポートします。
- RC2014-tiny: 「できる限り」ポートであり、Fuzix カーネルの核心をページアブル ROM に配置し、それをインおよびアウトページすることで、64K + ページアブル ROM 設定で Fuzix を動作させます。これは機能しますが推奨されません。この場合、ROM カードをジャンパーする際は 28C256 ではなく 27C256 の部品を使用してはいけません(そうすればすぐに消去して更新できます)。
RCbus (Z80 および互換)
以下の RCbus 互換システムは、この文書の他の場所で参照される独自のポートを持っています:
- 2063 (アダプター付き)
- Easy Z80
- RIZ180
- SC108
- SC111
- SC720
- Simple80
- T68KRC
- ZRC
SBC64/MBC64/ZRCC は独自の
rcbus-sbc64 ターゲットを持っています。一般的に、他の Z80 ボードは互換性があり、RC2014 ツリーで動作します。これは、バンクドメモリアルカードを使用する Z180 プロセッサカードや、さまざまなバリエーションシステムおよび I/O オプションを処理する方法を知っています。
- rcbus-z180: RCbus を使用した 512/512K フラット 20 ビットメモリアドレス空間を使用した多数のほぼ同じフラット Z180 設計、ならびに 1MB RAM を許可するために使用される改変を処理します。
RCbus (その他)
次のプロセッサを搭載した RCbus システム向けの特定のポートがあります:6303(および 6803)、6502、6809、8085、68008、NS32K。カード要件はポートによって異なります。詳細についてはポートドキュメントを参照してください。
Rhyophyre
uPD7220 GDC ビデオを搭載した Z180 SBC です。現時点ではビデオは Fuzix でサポートされていません。
RIZ180
Bill Shen によるミニマリストなシステム Z180 デザインです。
Raspberry Pi Pico
Pi Pico 埋め込み ARM ボードへのサポートです。
Sam Coupe
「スーパー ZX スペクトラム」マシンであり、8 ビットホームコンピューターからの移行には遅すぎるために生き延びることはできませんでした。
SBC 2G
Grant Searle のマシンのことを重視したバンクドメモリアル設計です。
SBC v2
Retrobrew SBC v2 です。Z80 ベースの ECB バスカードと単純なバンクドメモリを搭載します。このターゲットは詳しく文書化されており、Fuzix を移植しようとする人々のための参照基準として設計されています。
SC108
CPU、RAM、OM が 1 つのボードに搭載された Small Computer Central の設計です。SC114 もサポートしています。
SC111
Small Computer Central の Z180 設計です。このツリーは、関連するさまざまな Z180 RCbus システムの統合から切り離されています。なぜなら SCM ファームウェアからの起動をサポートできるためです。RomWBW ファームウェアを使用すれば、SC111 はどちらでも動作します。
SC720
Small Computer Central の Z80 SBC です。標準的な RCbus システムとは異なる、より制限されたメモリアドレス空間モデルを持っています。
Scorpion
Pentagon デザインから若干異なる東のブロック製の ZX スペクトラムクローンです。
Searle
Grant Searle クラシック設計のわずかに改良されたバージョン向けの Fuzix です。改良は、128K の RAM をフルに使用するために単一ワイヤーと抵抗器を用いる改変と、外部タイマーがタイマートイックを提供できるようにする微調整で構成されています。
Sinclair ZX スペクトラム
このシステムのバリエーション向けに複数のポートがあります。クローンまたは完全に互換性のないシステムについては、下記の Pentagon、Pentagon 1024、Scorpion、および TC2068 を参照してください。以下の構成にはポートがあります:
- 128K 以降で DivIDE/DivMMC: このポートは、RAM を低アドレスにマッピングする能力がないスペクトラムシステムで Fuzix を動作させるために、低アドレス空間にある DivIDE/DivMMC メモリを使用します。このポートは ZX-Uno 拡張機能についても知っており、それらを使用します。
- 128K 以降で SpectraNet およびディスクコントローラー: DivIDE/DivMMC と同様に、SpectraNet メモリを同じ方法で使用し、ZX-MMC などのディスクコントローラーが必要になります。
- +2A または +3 で ZX-MMC や同様のディスクコントローラー: +2A および +3 マシンの追加メモリー機能を使用して、より良いメモリアンキングを行います。
Simple80
Bill Shen のグルーレス Z80 ミニマルデザインです。元のメモリアンキングエラーを修正するには rev1 ボードまたは小型ボード改変が必要です。
SmallZ80
TG Consulting の Z80 システムです。
SocZ80
高速 FPGA ベースの Z80 (T80) プラットフォームです。128MHz で動作し、8MB の RAM をサポートします。
TC2068
Timex による Sinclair ZX スペクトラムのリワーク版です。互換性なく、バuggyで、ある程度失敗しましたが、RAM/ROM カートリッジのサポートと美しい 512 ピクセル幅のビデオモードを持っています。
Tiny68K / T68KRC
16MB の RAM と CF インターフェースを備えた 68000 ベースのシステムです。T68KRC はメモリ容量は少なくても RCbus コネクタを持ちます。両方ともサポートされています。
TO8
Thomson TO8 です。TO8 プラットフォームへの初期ポートです。
Tom's SBC
バンクド EPROM および 64K(または改変で 128K)RAM を備えた Z80 リトロコンピューター設計です。Fuzix は ROM ベースのシステムのためにはバンクド EPROM から、または 128K 修飾子付き RAM から動作できます。
TRS80
Alpha Supermem または Selector を備えた Tandy モデル 1 およびモデル 3 システム(およびクローン)、そしてモデル 4 がサポートされています。128K モデル 4 はメモリ拡張子なしでもサポートされていますが、Dave Huffman スタイルの改変もサポートされています。XLR8R は現時点では直接サポートされていません。
VZ200
SDDrive アダプター付きの VTech Laser 200 です。
YAZ180
別の Z180 システムです。
Z1013
東ヨーロッパ製で、おそらく「かつて販売された最悪のホームコンピューターキーボード」候補の一つです。Fuzix は適切な構成をサポートしており、実際にはおそらく現代的な再創造を意味します。
Z50Bus
実用上、Linc80 を除くすべての Z50Bus システムは RCbus のソフトウェア同等物であり、同じカーネルを使用します。Linc80 には独自のポートがありますが、これは DIY メモリ拡張の構築が必要です。
Z80 MBC-2
Arduino I/O サブシステムを備えた小さな Z80 ベースのシステムです。
Z80 Membership Card
Sunrise EV スタックアブルリトロコンピューターです。Fuzix は CPU/RAM/SD カードの組み合わせが必要です。
Z80Pack
Z80 エミュレート CP/M プラットフォームです。デバッグおよび開発目的に便利です。
Z80Retro
Peter Wilson の Z80 リトロ設計です。
Zeta V2
Sergey によるフレキシディスクサイズの Z80 システムで、バンクドメモリアル、PPIDE、およびフレキシコントローラーを備えています。
ZRC
Bill Shen の ZRC です。CPLD を使用したミニマリストな Z80 システムです。マシンには 2MB の DRAM があります。現時点では Fuzix はそれをすべて使用する方法を理解しておらず、グラフィックなしの小さな Z80 システムで 2MB を何に使っているのか不明だからです。