tranZPUter FusionX テクニカルガイド

概要

tranZPUterFusionXは、2つの主要なシリコンデバイスを中心に構築されています。1.2GHzで動作するデュアルCortex-A7コアを搭載したSigmaStar SSD202 System-On-Module(SOM)と、ホスト機へのサイクル精度のZ80バスインターフェースを提供するAltera MAX7000AE CPLD(EPM7512)です。 責任の分担は明確です。CPLDがZ80バスを制御し、ホストに対して正しい電気的タイミング動作を保証する一方、SOMは分離されたCPUコア上の専用Linuxカーネルモジュール内ですべてのエミュレーション作業を処理します。2つのデバイスは50MHz SPIリンク(SOM→CPLD、書き込み/制御パス)と直接GPIOバス(CPLD→SOM、読み取り/アドレスキャプチャパス)を介して通信します。 このアーキテクチャは最大約500MHz相当のZ80スループットを実現します。これは実際のZ80をはるかに超えるものですが、ホスト機に対しては完全に正統なZ80インターフェースを提示します。CPLDのEEPROMベースの設定セルは、バッテリーや外部不揮発性ストレージなしにプログラムされたロジックを無期限に保持します。

ハードウェアアーキテクチャ

ブロック図

┌────────────────────────────────────────────────────────────────────────┐
│                         tranZPUter FusionX Board                       │
│                                                                        │
│  ┌─────────────────────────────────────────────────┐                  │
│  │             SigmaStar SSD202 SOM (Infinity2M)    │                  │
│  │  ┌─────────┐  ┌─────────┐   128MB DRAM          │                  │
│  │  │ CPU0    │  │ CPU1    │   256MB NAND Flash      │                  │
│  │  │ Linux   │  │ Z80 Emu │   Integrated WiFi       │                  │
│  │  │ 1.2GHz  │  │ 1.2GHz  │   (SSW101B 2.4GHz)     │                  │
│  │  └─────────┘  └─────────┘                        │                  │
│  │   GPIO (read path)  SPI (write path, 50MHz)       │                  │
│  └──────────────┬────────────────┬──────────────────┘                  │
│                 │ GPIO           │ SPI                                  │
│  ┌──────────────▼────────────────▼──────────────────┐                  │
│  │         Altera MAX7000AE CPLD (EPM7512)           │                  │
│  │  Z80 Bus FSM  ◄─────────────────────────────────►│◄──[ 50MHz OSC ] │
│  │  SPI decoder  │                                   │                  │
│  │  Video/Audio  │                                   │                  │
│  └───────────────┬───────────────────────────────────┘                  │
│                  │ DIP-40 Z80 bus                                       │
│  ┌───────────────▼───────────┐  ┌─────────────────────────┐            │
│  │  Z80 DIP-40 host socket   │  │  Video/Audio outputs     │            │
│  │  A0-A15, D0-D7, MREQ,    │  │  GM7123 RGB DAC (30-bit) │            │
│  │  IORQ, RD, WR, HALT,     │  │  TLC5602C Contrast DAC   │            │
│  │  M1, RFSH, NMI, INT,     │  │  TLC5602C Audio DAC      │            │
│  │  WAIT, RESET, CLK, BUSRQ │  └─────────────────────────┘            │
│  └───────────────────────────┘                                          │
│  [ USB-serial CH340E ]──USB──►[ Linux console /dev/ttyUSB0 ]          │
└────────────────────────────────────────────────────────────────────────┘

主要コンポーネント

以下の表はtranZPUterFusionXメインボードの主要コンポーネントを示しています。
コンポーネント 部品 仕様
SSD202 SOM SigmaStar SSD202 (Infinity2M) デュアルCortex-A7 @ 1.2GHz、128MB DRAM、256MB NAND、統合WiFi
CPLD Altera EPM7512AETC144-10 MAX7000AE、512マクロセル、144ピンTQFP、5V耐性入力
DRAM オンSOM 128MB DDR2
NAND Flash オンSOM 256MB SPI NAND
WiFi SSW101B IEEE 802.11 b/g/n、2.4GHz、500m範囲
ビデオDAC GM7123 (3.3V) 30ビットRGB DAC(ADV7123相当);各チャンネル10ビット
コントラストDAC TLC5602C 8ビットDAC;Sharp MZ単色CRT用4V~5Vコントラスト信号駆動
オーディオDAC TLC5602C 8ビットDAC;ステレオ48kHz出力
電源IC オンボードレギュレータ 5V→SOMおよびCPLDレール用3.3V
USBパワースイッチ オンボード ホストUSBポート用切り替え可能USB VBUS
USBシリアルコンバータ CH340E 115200ボー8N1;/dev/ttyUSB0としてLinuxコンソールを公開
50MHzオシレータ SMDキャンオシレータ CPLDマスタークロック;Z80バスFSMタイミングに使用

CPLDの役割

CPLD(EPM7512AETC144-10、512マクロセル、144ピンTQFP)はFusionX設計の要です。5つの異なる機能を果たします:
  1. 電圧変換 — SOM GPIOは3.3Vで動作し、Z80ホストバスは5Vで動作します。MAX7000AE CPLDは5V耐性入力を持ち、LVTTL レベル(論理'1' = 3.3V)で出力を駆動します。これはホスト側の5V TTLロジックの2.4Vスイッチングしきい値を超えており、双方向で正しいインターフェースを保証します。
  2. サイクル精度のZ80バスタイミング — CPLDはすべてのZ80バスサイクルタイプ(オペコードフェッチ、メモリ読み取り、メモリ書き込み、I/O読み取り、I/O書き込み、割り込みアクノレッジ、バスリクエスト/グラント)に対して完全なZ80バス有限状態機械(FSM)を実装しています。すべてのFSMは50MHzオシレータでクロックされ、典型的な1MHz~6MHzのZ80ホストクロックに対して20nsの分解能を持ちます。
  3. SOMインターフェース — 2つの独立した通信パスが存在します:SOMがデータと制御コマンドをCPLDに送信するための50MHz SPIチャンネル(書き込みパス)、およびCPLDがアドレス、データ、ステータス信号をSOM GPIOピンに直接駆動して高速バスサイクルキャプチャを行うGPIOパス(読み取りパス)。
  4. ビデオおよびオーディオ切り替え — CPLDはドーターボード上のアナログマルチプレクサを制御し、ホストのネイティブビデオ/オーディオとSOM出力の間を選択します。コンポジットビデオ出力用の合成同期信号(VGA_CSYNCn)とカラーキャリア周波数(VGA_COLR)を生成し、CRTコントラスト制御用の単色ブランキング信号(MONO.BLANK)を生成します。
  5. リセット管理 — CPLDはRESET信号を引き伸ばして同期し、リセットイベントのソースに関わらずSOMとホスト機が協調した方法でリセットに入り、リセットから抜け出すことを保証します。

CPLDバリアント

サポートされている各ホスト機に対して別個のCPLDビルドが生成されます。各バリアントは同じコアZ80バスFSMを実装しますが、ターゲット機に適したメモリマップデコード、I/Oポートアサイン、ビデオタイミング、バンク切り替えロジックが異なります。
バリアント ターゲット機 主な違い
MZ80A Sharp MZ-80A 40/80列ディスプレイタイミング;MZ-80Aメモリマップ;RFS(ROMファイリングシステム)ページング
MZ700 Sharp MZ-700 下位32KBのバンク切り替え;MZ-700ビデオおよびキーボードポートデコード
MZ2000 Sharp MZ-2000 拡張メモリバンキング;追加ビデオモード信号
PCW8256 Amstrad PCW-8256 メモリページング(4×16KBバンク);PCW I/Oポートマップ

Z80バスFSM

CPLDはZ80バスサイクルタイプごとに専用の状態機械を実装しています。すべてのサイクルの一般的なシーケンスは以下の通りです:
  1. ホストZ80によってMREQ/IORQとM1/RD/WRの関連する組み合わせがアサートされるのを待ちます。
  2. A0~A15からアドレスをラッチします。
  3. 読み取りサイクルの場合はGPIO読み取りパスを介して、書き込みサイクルの場合はSPIを介してアドレスをSOMに送信します。
  4. 読み取りサイクルの場合:SOMからデータバイトを受け取り、CPLDが強制するTステートウィンドウ内でD0~D7をホストに向けて駆動します。
  5. 書き込みサイクルの場合:D0~D7からデータバイトをキャプチャしてSOMに転送します。
  6. Z80データシートで指定された正しいTステートタイミングで制御信号をデアサートしてバスを解放します。
サイクルタイプ バス信号 Tステート SOM通知方法
オペコードフェッチ (M1) MREQ↓ + M1↓ + RD↓ 4(最小) GPIOアドレスラッチ → SPIデータ応答
メモリ読み取り MREQ↓ + RD↓ 3(最小) GPIOアドレスラッチ → SPIデータ応答
メモリ書き込み MREQ↓ + WR↓ 3(最小) GPIOアドレス+データ → SPIアック
I/O読み取り IORQ↓ + RD↓ 4(最小) GPIOアドレスラッチ → SPIデータ応答
I/O書き込み IORQ↓ + WR↓ 4(最小) GPIOアドレス+データ → SPIアック
割り込みアクノレッジ IORQ↓ + M1↓ 4(最小) SPI割り込みベクタ応答
バスリクエスト/グラント BUSRQ↓ → BUSAK↓ 可変 SPI制御コマンド

SOMインターフェース

SOMはそれぞれの方向に最適化された2つの独立したパスでCPLDと通信します:
  • SPI書き込みパス(50MHz) — SOMはSPIで50MHzでCPLDを駆動します。このパスは次のために使用されます:Z80バスへのデータバイトの書き込み(ホストが見る読み取りサイクル)、ホストへのNMIまたはINTのアサート、ドーターボード上のビデオおよびオーディオマルチプレクサの制御、バス方向/ハイインピーダンス制御の設定。SPIはすべての制御およびデータ出力操作に十分な帯域幅を提供します。
  • GPIO読み取りパス — CPLDはアドレス、データ、ステータスビットを専用SOM GPIOピンに直接駆動します。SOMはLinux GPIO HALを完全にバイパスして、メモリマップされたGPIOレジスタアクセスでこれらを読み取り、最低限のレイテンシを実現します。このパスは約2MB/sのスループットを達成し、各Z80サイクルのアドレスバスキャプチャおよびホスト書き込みサイクルのZ80からのデータキャプチャに使用されます。Linux GPIOサブシステムはZ80バスタイミングに違反するスケジューリングジッタを引き起こすため、直接レジスタアクセスが不可欠です。

ビデオ出力

FusionXメインボードはすべてのSharp MZディスプレイモードおよびHDまでの追加解像度に適した30ビットRGBビデオ出力パスを提供します。
  • GM7123 RGB DAC — ADV7123の3.3Vバージョンで、各カラーチャンネル10ビット(合計30ビット)を提供します。SOMが各チャンネルの上位8ビットを供給し、CPLDが補間とパレット微調整のために下位2ビットを提供します。
  • コンポジット同期 — VGA_CSYNCnはCPLDによって生成され、Z80ホストクロックと選択されたビデオモードに同期されます。
  • カラーキャリア — VGA_COLRはCPLDによってコンポジットカラー出力に適した周波数で生成されます。
  • コントラストDAC(TLC5602C、8ビット) — Sharp MZ内部単色CRTのコントラストレベルを制御するための4V~5Vアナログ信号を駆動します。CPLDはまた選択されたビデオモードにゲートされたMONO.BLANKブランキング信号も生成します。

オーディオ

  • オーディオDAC(TLC5602C、8ビット) — SOMによって駆動されるステレオ48kHz出力。エミュレートされたサウンドや任意の波形再生のためのCD品質オーディオを提供します。
  • SN76489 PSGエミュレーション — SN76489プログラマブルサウンドジェネレータはSOM上のソフトウェアで完全にエミュレートされ、生成されたオーディオはDACに供給されます。3つのトーンチャンネルとノイズチャンネルすべてがサポートされています。
  • オーディオアンプ — 各ドーターボードには、ホスト機の内蔵スピーカーにオーディオをルーティングするためのオーディオアンプステージが含まれています。
  • マイクロフォン入力 — オーディオ録音のためのマイクロフォン入力がSOM/ドーターボードで利用可能です。

ソフトウェアアーキテクチャ

デュアルコア設計

SSD202の2つのCortex-A7コアには厳密に分離された役割が割り当てられています。CPUの分離はLinuxブート時に確立され、起動スクリプトによって強制されます。これにより、Z80エミュレーションスレッドがLinuxスケジューラによってプリエンプトされることがないことを保証します。
コア OS割り当て 責任
CPU0 Linux(通常スケジューリング) すべてのLinuxプロセス、カーネルスレッド、ハードウェアIRQ、メモリ管理、ファイルI/O、ネットワークスタック、USBサブシステム、シリアルコンソール、Webサーバー(将来)、sharpbiterアービタデーモン、k64fcpuデーモン
CPU1 分離(taskset / isolcpus) Z80エミュレーションカーネルスレッドのみ(z80drv);他のすべてのプロセスとIRQは起動時にCPU0に移行される
CPUの分離は2つの層で実装されています。まず、カーネルがパラメータisolcpus=1でブートされ、Linuxスケジューラが明示的に要求されない限りCPU1にタスクを配置しないようにします。次に、起動スクリプトstart_FusionX.shtasksetを使用してz80drvカーネルスレッドをCPU1に固定し、他のすべての対象スレッドをそこから移行させます。結果として、CPLD GPIO割り込みに対して決定論的に応答する専用のリアルタイムコアが得られ、Linuxスケジューリングジッタがなくなります。

カーネルモジュール

2つのLinuxカーネルモジュールがFusionXソフトウェアスタックの中核を形成しています:
  • z80drv.ko — Z80エミュレーションコア
    • メインディスパッチループ:保留中のバスサイクル通知のためにCPLD GPIOをポーリングします。
    • アドレスとサイクルタイプ(メモリ読み取り/書き込み、I/O読み取り/書き込み、オペコードフェッチ)に基づいて各サイクルを適切な仮想ハードウェアハンドラにルーティングします。
    • オペコードフェッチサイクルのためにZeta Z80命令エミュレータを呼び出します。
    • 主要なソースファイル:z80driver.c(メインディスパッチ)、z80io.c(ハードウェア抽象化層)、emumz.c(命令実行ラッパー)。
  • ttymzdrv.ko — MZキーボード/ディスプレイTTYドライバ
    • Sharp MZキーボードマトリクスを標準Linuxキーイベントにマッピングします。
    • LinuxコンソールをSharp MZディスプレイコントローラコマンドにマッピングします。
    • /dev/ttymz0を公開し、ホスト機のキーボードとディスプレイで直接gettyログインセッションを可能にします。
    • Z80エミュレーションモードとLinuxコンソールモードのクリーンな切り替えのためのサスペンド/レジュームをサポートします。

仮想ハードウェアモジュール

サポートされている各ホスト機には専用の仮想ハードウェアモジュールがあります。z80drvディスパッチループは、設定されたマシンターゲットに基づいてロード時にアクティブなモジュールを選択します。
モジュール ソースファイル ターゲット 機能
MZ-80A z80vhw_mz80a.c Sharp MZ-80A メモリマップ、キーボードマトリクス、ディスプレイI/O
MZ-700 z80vhw_mz700.c Sharp MZ-700 バンク切り替え(下位32KB)、ビデオ/キーボードエミュレーション
MZ-2000 z80vhw_mz2000.c Sharp MZ-2000 拡張メモリバンキング、ビデオモード制御
PCW-8256 z80vhw_pcw.c Amstrad PCW-8256 メモリページング(4×16KBバンク)、標準PCW I/O
ROM FS z80vhw_rfs.c MZ-80A(40/80列) 4つの切り替え可能なROMページ;SDカードからのMZFファイルロード
TZPU SW z80vhw_tzpu.c tranZPUter SWモード TZFSの動作のためのK64F仮想コプロセッサスタブ

Z80エミュレーション

  • Zeta Z80ライブラリ — 命令実行にはManuel Sainz de Baranda y GoñiによるZeta Z80ライブラリ(LGPL v3)を使用します。このライブラリはすべての非公式オペコードを含む完全で正確なZ80命令セット実装を提供します。
  • エミュレーションループemumz.cに実装されています。ループはイテレーションごとに1命令を実行し、その命令によって生成される各メモリまたはI/Oアクセスのために仮想ハードウェアコールバック関数を呼び出します。
  • メモリマップ — サポートされている各マシンのメモリレイアウト(ベースアドレス、リージョンサイズ、RAM/ROM属性フラグ)はz80driver.hで定義されています。アクティブなマップはモジュールロード時に選択されます。
  • 性能 — エミュレータは1.2GHz Cortex-A7コアで約500MHz Z80相当スループットを達成し、分離されたCPU1環境により命令あたりのオーバーヘッドが最小限です。
  • タイミングモデル — ホストに対するサイクル精度はCPLDハードウェアの責任です。エミュレータはCPLDが強制するタイミングウィンドウ内で応答するだけでよく、Tステートカウントを自身では実装しません。

ユーザー空間ユーティリティ

  • z80ctrl — z80drvカーネルモジュールのコマンドライン制御インターフェース。次の操作をサポートします:loadrom(ROMイメージをエミュレーテッドアドレス空間にロード)、adddev(仮想デバイスを登録)、start/stop(Z80エミュレーションスレッドを開始または停止)、dump(エミュレーテッドZ80メモリ領域を表示)、loadmzf(MZFプログラムファイルをロードして必要に応じて自動実行)。
  • k64fcpu — K64F仮想CPUデーモン。TZFS(tranZPUterファイルシステム)ROMが期待するK64Fコプロセッサをエミュレートします。共有カーネルメモリを介してz80drvと通信し、Z80プログラムが発行するコプロセッサコマンドに応答します。
  • sharpbiter — アービタデーモン。ttymzdrv(Linuxコンソール)とz80drv(Z80エミュレーション)の間でSharp MZキーボードとディスプレイハードウェアへのアクセスを調整し、両サブシステムがアクティブな場合のレジスタ競合を防止します。

フラッシュとストレージのレイアウト

SSD202 SOMには256MBのSPI NAND Flashが搭載されており、以下のようにパーティションされています:
  • U-bootブートローダーパーティション — 第一段階および第二段階ブートローダー;NANDからLinuxカーネルをロードします。
  • Linuxカーネルパーティション — PREEMPT_RTパッチを適用したLinux 4.9-rt;FusionX defconfig(infinity2m_spinand_fusionx_defconfig)を使用したカーネルイメージ。
  • Buildrootルートファイルシステム — Buildrootで構築された最小限の読み取り専用squashfsルートファイルシステム。FusionX動作に必要なパッケージのみを含みます。
  • FusionXアプリケーションパーティション — 含まれるもの:z80drv.kottymzdrv.koz80ctrlk64fcpusharpbiter、起動スクリプト(start_FusionX.sh)、すべてのサポートマシン用ROMイメージ。
  • 設定パーティション — 書き込み可能なJFFS2またはUBIFSパーティション。ファームウェアアップデート間でユーザー設定(マシン選択、ディスプレイモードなど)を保持します。
SOM上のSDカードスロットは次のための追加のユーザーアクセス可能なストレージを提供します:ユーザーデータ、追加のROMイメージ、MZFプログラムファイル、OTA(Over-the-Air)ファームウェアアップデートパッケージ。SOMブートローダーは電源投入時に適切に準備されたSDカードを自動検出し、LinuxをブートするまえにアップグレードをNANDFlashに実行します。

CPLDのビルドとプログラミング

ビルドツール

CPLD HDLはQuartus II 13.0.1 SP1 Web Editionでコンパイルされます。これはMAX7000AEデバイスファミリをサポートする最後のバージョンのQuartus IIで、Intel/Alteaから無料でダウンロードできます。

ソースファイル

ファイル 目的
tzpuFusionX.vhd メインRTL:Z80バスFSM、SPIデコーダ、ビデオ/オーディオ制御ロジック
tzpuFusionX_Toplevel.vhd トップレベルエンティティ:I/Oピンアサイン、ポート接続
tzpuFusionX_pkg.vhd 共有VHDLパッケージ:型定義、定数、レコード
マシンごとのQuartusプロジェクトは以下に配置されています:
CPLD/v1.0/MZ80A/
CPLD/v1.0/MZ700/
CPLD/v1.0/MZ2000/
CPLD/v1.0/PCW8256/

コンパイル

Quartusシェルを使用したコマンドラインからのコンパイル(MZ-80Aの例):
quartus_sh --flow compile tzpuFusionX_MZ80A
コンパイルされた出力ファイルは以下に書き込まれます:
build/output_files/tzpuFusionX_MZ80A.pof

プログラミング

CPLDはFusionXボードの10ピンJTAGヘッダに接続されたAltera USB-BlasterケーブルでJTAGを介してプログラムされます:
quartus_pgm -c "USB-Blaster" -m JTAG -o "p;tzpuFusionX_MZ80A.pof@1"
MAX7000AEはEEPROMベースの設定セルを使用しており、バッテリーや外部不揮発性ストレージなしにプログラムされたロジックを無期限に保持します。プログラミングはCPLD設計が更新された場合にのみ必要です。

Linuxファームウェアのビルド

ツールチェーンとSDK

  • クロスコンパイラarm-linux-gnueabihf-gcc(ARM ハードフロートABI、Linuxターゲット)
  • SDK — SigmaStar SDK:U-boot + Linux 4.9-rt + Buildroot
  • マスタービルドスクリプトBuild_FusionX.sh

フルファームウェアビルド

cd software/linux/
./Build_FusionX.sh -f nand -p ssd202 -o 2D06 -m 256
ビルドは以下のステージを順番に処理します:
  1. SSD202 NANDターゲット用のU-bootブートローダーのコンパイルと設定。
  2. defconfig infinity2m_spinand_fusionx_defconfigを使用したLinuxカーネルビルド。
  3. Buildrootルートファイルシステム構築(最小パッケージセット)。
  4. FusionXアプリケーションビルド:カーネルモジュール、ユーティリティ、起動スクリプト、ROMイメージパッケージング。
  5. パーティションイメージアセンブリとNANDフラッシュイメージ作成。

カーネルモジュールのみ(高速イテレーション)

開発中はz80drvカーネルモジュールのみを再ビルドするだけで十分な場合がよくあります。以下はMZ-80AバリアントのZ80drvを単独でビルドします:
cd software/FusionX/src/z80drv/src.mz80a
make

フラッシング

  • 初期プログラミング — SigmaStar ISPツールをUSBで使用して、ベアまたはファクトリリセットされたSOMにフルNANDイメージを書き込みます。
  • SDカードによるOTAアップデート — SDカードに準備済みファームウェアパッケージを配置します。U-bootブートローダーが次の電源サイクルでアップデートパッケージを検出し、LinuxをブートするまえにNANDアップグレードを自動実行します。

デバッグ

シリアルコンソール

CH340E USBシリアルコンバータは/dev/ttyUSB0で115200ボー、8N1でLinuxコンソールを公開します。Linuxシェルとカーネルログ出力(dmesg)にアクセスするために任意のターミナルエミュレータ(例:minicompicocom、PuTTY)をこのポートに接続してください。これはブリングアップとランタイム診断中の主要なデバッグインターフェースです。

JTAG

FusionXメインボードの10ピンJTAGヘッダはCPLDのプログラミングと検証のためにAltera USB-Blasterに接続されます。同じインターフェースはQuartus IIに内蔵されたインシステムロジックアナライザであるQuartus SignalTap IIをサポートし、外部プローブなしでZ80バスFSM状態レジスタ、SPIデコーダ状態、すべてのバス制御信号などのCPLD内部信号のリアルタイムキャプチャと表示が可能です。

カーネルモジュールデバッグログ

z80drvカーネルモジュールにはコンパイル時デバッグ定義DEBUG_PIOが含まれています。この定義が設定されると、モジュールはすべてのZ80バストランザクションのための詳細なバスサイクルログをカーネルリングバッファに出力します。シリアルコンソールでdmesg -wを使用して出力を表示してください。これは仮想ハードウェアハンドラ呼び出しのトレース、メモリマップデコードの確認、CPLDとSOMの間のタイミング問題の診断に役立ちます。

z80ctrl --dump

z80ctrl --dumpコマンドはz80drvにクエリを送り、すべてのエミュレーテッドZ80メモリ領域の現在の内容を16進数形式で表示します。ROMロードの確認、RAM状態の検査、仮想ハードウェアレジスタが実行中のZ80プログラムによって正しく書き込まれていることの確認に役立ちます。

Quartus SignalTap II

Quartus SignalTap IIは外部テスト機器なしにCPLDのインシステムロジック解析を提供します。SignalTap IIの設定ファイルをCPLDビットストリームにコンパイルすることで、Z80バスFSM状態機械の遷移、SPIフレームデコード、アドレスおよびデータバスの値、すべての制御信号エッジのリアルタイムキャプチャが可能になります。キャプチャされたデータはUSB-Blaster JTAG接続でQuartus IIの波形ビューアに表示されます。

参考サイト

リソース URL
tranZPUter FusionX プロジェクトページ eaw.app/tranzputer-fusionx
ユーザーマニュアル eaw.app/tranzputer-fusionx-usermanual
デベロッパーズガイド eaw.app/tranzputer-fusionx-technicalguide
SigmaStar SSD202 sigmastarmicro.com
Altera MAX7000AE データシート intel.com — MAX 7000AE Programmable Logic Device Family
Zeta Z80 ライブラリ github.com/redcode/Zeta
Quartus II 13.0.1 SP1 ダウンロード intel.com — Quartus II Web Edition
Sharp MZ シリーズリファレンス sharpmz.org
Amstrad PCW リファレンス cpcwiki.eu/index.php/PCW

無線規制に関する注意事項

本デバイスは SigmaStar SSD202 SOM に内蔵された SSW101B 2.4 GHz IEEE 802.11 b/g/n 無線トランシーバを搭載しており、世界各国の無線周波数規制(米国の FCC Part 15 Subpart C、欧州連合の無線機器指令 2014/53/EU を含む)において意図的放射器に該当します。
SOM モジュール自体は既存の規制認証を取得していますが、そのモジュールレベルの認証は、モジュールを組み込んだ完成品に自動的に適用されるものではありません。事前認証モジュールの免除規定は、個人の趣味愛好家個人使用、実験、または教育目的で少数のデバイスを製作する場合に、個別の機器認可を取得せずに行うことを許可するものです。
重要な制限事項
  • 組み立てられたデバイスは、完成品が独自にテストされ、該当する管轄区域で機器認可(例:FCC ID、認定機関による CE マーキング評価)を取得しない限り、第三者への販売、販売の申し出、贈与、またはその他の方法での配布を行ってはなりません
  • 個人使用のために少数を製作することは、趣味愛好家および実験使用の規定(例:FCC § 15.23)に基づき、デバイスが有害な干渉を引き起こさない限り、一般的に許可されています。
  • 規制要件は国によって異なります。米国外の製作者は、適用される規則について自国の無線周波数当局に確認してください。
製作者の責任
本設計に基づいて製作されたデバイスが、管轄区域内の適用されるすべての無線周波数規制に準拠することは、製作者の単独の責任です。著者は本設計を個人使用、教育、および趣味愛好家向けに提供しており、本設計から製作されたデバイスが商業的配布の規制要件を満たすことについて、いかなる表明も行いません。