アプリケーション

English

アプリケーションコマンド

zOS/ZPUTA で SD カードを使用する利点の一つは、アプリケーションアプレットをディスクに保存して必要なときに実行できることです。 これらのアプリケーションは、zOS/ZPUTA のコア API 機能を利用しながらも独自の実行環境とメモリ環境を管理するという点で、MSDOS コマンドに近いものです。

以下は zOS/ZPUTA 向けに現在ビルドされているすべてのアプリケーションアプレットのリストです。

ed

使用法: ed <file>
パラメーター: <file> - ファイル名。相対または絶対パス名を含む。
アーキテクチャ: ZPU、K64F
ホスト: zOS、ZPUTA

基本的な WYSIWYG ファイルエディター。

これは What You See Is What You Get(WYSIWYG)ビジュアルエディターです。多くの機能は提供しませんが、ファイルの素早い編集や追加に最適です。VT100 端末を中心に設計されており、そのコントロールシーケンスを使用してビジュアルエディターを実現します。このエディターを使用するには、ZPU/K64F のシリアル接続で Minicom などの VT100 エミュレータープログラムを使用する必要があります。

エディターのコマンドとコントロールキー:

コマンド / キー 説明
CTRL C 無視。
CTRL Q 終了。ファイルに変更が加えられている場合は警告が表示されます。警告を無視するには CTRL-Q を 3 回押します。
CTRL S 保存。ファイルの内容をディスクに保存します。
CTRL F 検索。ドキュメント内の単語を検索します。
CTRL H / BACKSPACE バックスペース。カーソルの左の文字を削除します。
DELETE 削除。カーソル下の文字を削除し、右の文字を左に 1 つシフトします。
HOME 行の先頭に移動。
END 行の末尾に移動。
PAGE UP 1 ページ上にスクロール。
PAGE DOWN 1 ページ下にスクロール。
上矢印 カーソルを 1 行上に移動。画面の上部にいるがドキュメントの先頭でない場合は、画面を 1 行下にスクロール。
下矢印 カーソルを 1 行下に移動。画面の下部にいるがドキュメントの末尾でない場合は、画面を 1 行上にスクロール。
右矢印 カーソルを右に 1 文字移動。行の末尾に到達したら、次の行の先頭に折り返します。
左矢印 カーソルを左に 1 文字移動。行の先頭に到達したら、前の行の末尾に折り返します。
CTRL L 画面をリフレッシュ/再描画。
ESCAPE 無視。

kilo

使用法: kilo <file>
パラメーター: <file> - ファイル名。相対または絶対パス名を含む。
アーキテクチャ: ZPU、K64F
ホスト: zOS、ZPUTA

シンプルな WYSIWYG ファイルエディター。

これは ‘ed’ より少し多くの機能を提供する What You See Is What You Get ビジュアルエディターです。例えば、認識されたソースファイルのシンタックスハイライトや、検索機能での一致単語のハイライトなどがあります。VT100 端末を中心に設計されており、そのコントロールシーケンスを使用します。ZPU/K64F のシリアル接続で Minicom などの VT100 エミュレータープログラムを使用する必要があります。

コマンドとコントロールキーは ‘ed’ と同一です(上記参照)。

mbasic

使用法: mbasic [<file>]
パラメーター: <file> - BASIC プログラムのファイル名。相対または絶対パス名を含む。
アーキテクチャ: ZPU、K64F
ホスト: zOS、ZPUTA

インタラクティブなミニ BASIC インタープリター。

これは完全インタラクティブな BASIC インタープリターで、Malcom McLean のオリジナル Mini-Basic の強化版を利用しています。フルスクリーンエディター、必要なインタラクティブコマンドを持つコマンドプロセッサー、コマンドの簡単な編集のための readline ベースのテキスト入力を提供します。キャプチャされた BASIC プログラムは ‘run’ コマンドが発行されると BASIC インタープリターに送られます。

コマンドラインエントリー(’Ready’ プロンプトの後)は readline のヒストリー付き基本バージョンを使用します:

コマンド / キー 説明
CTRL A / HOME カーソルを行の先頭に移動。
CTRL B / 左矢印 カーソルを左に 1 文字移動。
CTRL C 実行中のプログラムを終了。
CTRL D 無視。
CTRL E / END カーソルを行の末尾に移動。
CTRL F / 右矢印 カーソルを右に 1 文字移動。
DELETE 削除。カーソル下の文字を削除し、右の文字を左に 1 文字シフト。
CTRL K 行をクリア。
CTRL P / 上矢印 以前のコマンドまたは入力行を呼び出す(ヒストリーバッファー)。
CTRL N / 下矢印 次のコマンドまたは入力行を呼び出す(ヒストリーバッファー)。

コマンドプロセッサーが理解する BASIC コマンド:

コマンド 説明
edit BASIC プログラムでフルスクリーンエディターを起動。
run BASIC プログラムを実行。
list [[<start>] <end>] BASIC プログラムをターミナルにリスト表示。
new メモリに保存された BASIC プログラムを削除して環境をリセット。
load "<file.bas>" SD ディスクから BASIC プログラムをメモリに読み込む。
save "<file.bas>" メモリ内の BASIC プログラムを指定されたファイル名で SD ディスクに保存。
help コマンドプロセッサーが理解するコマンドを表示。
quit メモリをクリアして zOS/ZPUTA に戻る。

組み込みの追加 BASIC コマンド:

コマンド 説明
POKE <width>, <addr>, <data> <data> を <width>(32、16 または 8 ビット)でメモリアドレス <addr> に書き込む。

組み込みの追加関数:

関数 説明
PEEK(<width>, <addr>) <addr> のメモリを読み取り <width> 指定に従って値を返す。Width = 32、16 または 8。

tbasic

使用法: tbasic
パラメーター:  
アーキテクチャ: ZPU、K64F
ホスト: zOS、ZPUTA

Tiny Basic。

これは RodionGork が最初に作成し、STM32 と Arduino Micro 開発ボード向けに Miskatino が強化したインタラクティブな BASIC です。

zOS/ZPUTA 環境に移植され、ZPU と K64F プロセッサーアーキテクチャの両方でコンパイルされます。

Tiny Basic の完全なマニュアルこちらで確認できます。

tranZPUterSW コマンド

zOS が tranZPUter SW ボード向けにコンパイルされると、ホストマシンの監視、プローブ、変更、インターフェースに使用できるアプリケーションセットがコンパイルされます。

tzload

使用法: tzload
パラメーター: 以下の概要を参照。
アーキテクチャ: K64F
ホスト: zOS
説明: tranZPUter メモリへのファイルのアップロードとダウンロード、ビデオフレームの取得または新しいフレームの設定。
TZLOAD v1.2

コマンド:
  -h | --help              このヘルプテキスト。
  -d | --download <file>   tranZPUter のメモリ内容を格納するファイル。
  -u | --upload   <file>   tranZPUter メモリにアップロードするファイル。
  -U | --uploadset <file>:<addr>,...,<file>:<addr>
                           指定された場所にファイルセットをアップロード。
  -V | --video             指定された入力ファイルをビデオフレームバッファーにアップロード、
                           または指定された出力ファイルをビデオフレームバッファーで埋める。

オプション:
  -a | --addr              メモリの読み書きアドレス。
  -l | --size              読み取るメモリブロックのサイズ。
  -s | --swap              tranZPUter メモリを読み取り <infile> に格納し、<outfile> を同じメモリに書き込む。
  -f | --fpga              操作は FPGA メモリで行われます。
  -m | --mainboard         操作は MZ80A メインボードで行われます。
  -M | --mempage           メインボードの操作でドライブを設定。
  -z | --mzf               ファイル操作は MZF フォーマットとして処理。
  -v | --verbose           詳細なメッセージを出力。

例:
  tzload --download monitor.rom -a 0x000000      # アドレス 0x000000 の tranZPUter メモリに monitor.rom を読み込む。

tzdump

使用法: tzdump
パラメーター: 以下の概要を参照。
アーキテクチャ: K64F
ホスト: zOS
説明: tranZPUter メモリを画面にダンプ。
TZDUMP v1.1

コマンド:
  -h | --help              このヘルプテキスト。
  -a | --start             開始アドレス。

オプション:
  -e | --end               終了アドレス(代替として --size を使用)。
  -s | --size              ダンプするメモリブロックのサイズ(代替として --end を使用)。
  -f | --fpga              操作は FPGA メモリで行われます。
  -m | --mainboard         操作は MZ80A メインボードで行われます。
  -v | --verbose           詳細なメッセージを出力。

例:
  tzdump -a 0x000000 -s 0x200   # 0x000000 から 0x000200 まで tranZPUter メモリをダンプ。

tzmtest

使用法: tzmtest
パラメーター: 以下の概要を参照。
アーキテクチャ: K64F
ホスト: zOS
説明: tranZPUter メモリと FPGA BRAM のテスト。
TZMTEST v1.0

コマンド:
  -h | --help              このヘルプテキスト。
  -a | --start             開始アドレス。

オプション:
  -e | --end               終了アドレス(代替として --size を使用)。
  -s | --size              テストするメモリブロックのサイズ(代替として --end を使用)。
  -f | --fpga              操作は FPGA メモリで行われます。
  -i | --iter              テスト反復回数、デフォルト = 1。
  -t | --test              テストをビット値として指定。
  -v | --verbose           詳細なメッセージを出力。

例:
  tzmtest -a 0x000000 -s 0x20000   # 0x000000 から 0x020000 まで 128K tranZPUter メモリをテスト。

tzclear

使用法: tzclear
パラメーター: 以下の概要を参照。
アーキテクチャ: K64F
ホスト: zOS
説明: tranZPUter メモリのクリア。
TZCLEAR v1.1

コマンド:
  -h | --help              このヘルプテキスト。
  -a | --start             開始アドレス。

オプション:
  -e | --end               終了アドレス(代替として --size を使用)。
  -s | --size              クリアするメモリブロックのサイズ(代替として --end を使用)。
  -b | --byte              クリアされた各メモリ位置に配置するバイト値、デフォルトは 0x00。
  -f | --fpga              操作は FPGA メモリで行われます。
  -m | --mainboard         操作は MZ80A メインボードで行われます。
  -v | --verbose           詳細なメッセージを出力。

例:
  tzclear -a 0x000000 -s 0x200 -b 0xAA  # 0x000000 から 0x000200 まで tranZPUter メモリを 0xAA でクリア。

tzclk

使用法: tzclk
パラメーター: 以下の概要を参照。
アーキテクチャ: K64F
ホスト: zOS
説明: Z80 の代替 CPU 周波数を設定。
TZCLK v1.0

コマンド:
  -h | --help              このヘルプテキスト。
  -f | --freq              希望の CPU クロック周波数。

オプション:
  -e | --enable            セカンダリ CPU クロックを有効化。
  -d | --disable           セカンダリ CPU クロックを無効化。
  -v | --verbose           詳細なメッセージを出力。

例:
  tzclk --freq 4000000 --enable  # セカンダリ CPU クロック周波数を 4MHz に設定して有効化。

tzreset

使用法: tzreset
パラメーター: 以下の概要を参照。
アーキテクチャ: K64F
ホスト: zOS
説明: tranZPUter のリセット。
TZRESET v1.0

コマンド:
  -h | --help              このヘルプテキスト。
  -r | --reset             ハードウェアリセットを実行。
  -l | --load              デフォルト ROM を再読み込み。
  -m | --memorymode <val>  メモリモードを設定。

オプション:
  -v | --verbose           詳細なメッセージを出力。

例:
  tzreset -r        # Z80 と関連する tranZPUter ロジックをリセット。

tzio

tzio Z80 I/O ポートの読み書きツール。
TZIO v1.1

コマンド:
  -h | --help              このヘルプテキスト。
  -o | --out <port>        I/O アドレスに出力。
  -i | --in <port>         I/O アドレスから入力。

オプション:
  -b | --byte              --out コマンドで I/O ポートに送るバイト値、デフォルトは 0x00。
  -m | --mainboard         操作は MZ80A メインボードで行われます。
  -v | --verbose           詳細なメッセージを出力。

例:
  tzio --out 0xf8 --byte 0x10    # アドレス 0xf8 で FPGA ビデオモードを設定。

tzflupd

tzflupd K64F FlashRAM 更新ツール。実行中の zOS/ZPUTA カーネルを新しいバージョンで更新。
TZFLUPD v1.1

コマンド:
  -h | --help              このヘルプテキスト。
  -f | --file              K64F にアップロードしてフラッシュするバイナリファイル。

オプション:
  -v | --verbose           詳細なメッセージを出力。

例:
  tzflupd -f zOS_22012021_001.bin --verbose   # zOS_22012021_001.bin ファイルをアップロードして K64F フラッシュメモリにプログラム。

パフォーマンステストコマンド

ZPU ハードウェア、あるいは任意の CPU に関する重要な問いは、そのパフォーマンスが他の CPU とどう比較されるかです。これはキャッシュアルゴリズムなどの設計変更が一般的な処理目的に有益かどうかを示す重要な指標でもあります。

そのため、Dhrystone と CoreMark という 2 つのよく知られたパフォーマンスベンチマークプログラムを zOS/ZPUTA 環境に移植しました。Dhrystone はパフォーマンスの元の事実上の標準で、VAX 11/780(1DMIPS でベンチマーク)と比較できる Dhrystone MIPS 値を算出します。

CoreMark は Dhrystone のテストの欠点を克服しようとする後発の追加テストです。現在は CoreMark が Dhrystone よりも一般的に使用されています。

興味深いことに、CoreMark を実行すると、120MHz K64F ARM Cortex-M4(スコア 86)は ZPU Evo(スコア 22)の約 4 倍高速で、より高度なアーキテクチャ、キャッシュアルゴリズム、シリコン製造プロセスの優位性を示しています。

dhry

使用法: dhry
パラメーター:  
アーキテクチャ: ZPU、K64F
ホスト: zOS、ZPUTA
説明: CPU とメモリサブシステムのパフォーマンスを確認するために Dhrystone Test v2.1 を実行。CPU モデルの比較に有用。

coremark

使用法: coremark
パラメーター:  
アーキテクチャ: ZPU、K64F
ホスト: zOS、ZPUTA
説明: CPU とメモリサブシステムのより最新のパフォーマンス分析を得るために CoreMark Test v1.0 を実行。CPU モデルの比較に有用。

ディスク IO コマンド

これは SD SPI インターフェースの直上で動作する低レベルのディスクユーティリティセットです。コマンドは SD カードに直接発行され、データが読み書きされます。一般的に、これらのコマンドは SD カードのテストや修復に使用されます。

ddump

使用法: ddump [<pd#> <sect>]
パラメーター: <pd#> - 物理ディスク ID(例:最初のドライブは 0)。<sect> - ダンプする LBA セクター番号。
アーキテクチャ: ZPU、K64F
ホスト: zOS、ZPUTA
説明: 指定されたディスクセクターを 16 進ダンプとして画面に表示。

dinit

使用法: dinit <pd#> [<card type>]
パラメーター: <pd#> - 物理ディスク ID。<card type> - オプションのカードタイプ(1 = MMC ver 3、2 = SD ver 1、4 = SD ver 2)。
アーキテクチャ: ZPU、K64F
ホスト: zOS、ZPUTA
説明: SD ディスクシステムを初期化。カード交換時に必要で、起動時に自動実行されます。

dstat

使用法: dstat <pd#>
パラメーター: <pd#> - 物理ディスク ID。
アーキテクチャ: ZPU、K64F
ホスト: zOS、ZPUTA
説明: ディスクのステータス(例:初期化済み)を表示。

dioctl

使用法: dioctl <pd#>
パラメーター: <pd#> - 物理ディスク ID。
アーキテクチャ: ZPU、K64F
ホスト: zOS、ZPUTA
説明: 現在 ioctl は完全には実装されていません。CTRL_SYNC のみが存在し、メモリに保持されているデータを SD ディスクにフラッシュします。

ディスクバッファーコマンド

これはバッファーを使用して SD カードのデータの取得と操作を可能にする低レベル SD ディスクコマンドセットです。

bdump

使用法: bdump <ofs>
パラメーター: <ofs> - ダンプを開始するディスクバッファー内のオフセット。
アーキテクチャ: ZPU、K64F
ホスト: zOS、ZPUTA
説明: bread、bfill、bedit コマンドで埋められたインメモリディスクバッファーをダンプ。

bedit

使用法: bedit <ofs> [<data>] …
パラメーター: <ofs> - 編集変更を行うディスクバッファー内のオフセット。<data> … - ディスクバッファーに配置するスペース区切りのバイトリスト。
アーキテクチャ: ZPU、K64F
ホスト: zOS、ZPUTA
説明: bwrite で SD カードを更新する前に変更を加えるためにインメモリディスクバッファーを編集。

bfill

使用法: bfill <val>
パラメーター: <val> - ディスクバッファーを埋める 8 ビット値。
アーキテクチャ: ZPU、K64F
ホスト: zOS、ZPUTA
説明: 固定の 8 ビット値でインメモリディスクバッファーを埋める。

blen

使用法: blen <len>
パラメーター: <len> - ディスクバッファーのサイズと bread/bwrite ブロックサイズを <len> に設定。
アーキテクチャ: ZPU、K64F
ホスト: zOS、ZPUTA
説明: fread/fwrite コマンドの読み書き長を設定し、インメモリバッファーサイズも設定。

bread

使用法: bread <pd#> <sect> [<num>]
パラメーター: <pd#> - 物理ディスク ID。<sect> - 読み取る LBA セクター番号。<num> - 読み取るセクター数。
アーキテクチャ: ZPU、K64F
ホスト: zOS、ZPUTA
説明: セクターをインメモリディスクバッファーに読み込んで表示/変更。

bwrite

使用法: bwrite <pd#> <sect> [<num>]
パラメーター: <pd#> - 物理ディスク ID。<sect> - セクター番号。<num> - 書き込むセクター数。
アーキテクチャ: ZPU、K64F
ホスト: zOS、ZPUTA
説明: インメモリディスクバッファーの内容を指定されたセクター数分 SD カードディスクに書き込む。

ファイルシステムコマンド

これらは Elm-Chan FatFS ライブラリを使用した Fat ファイルシステムレベルのコマンドです。Microsoft FAT32/exFAT ファイルシステム内のファイルをフォーマット、マウント、読み取り、書き込み、操作します。コマンドは MSDOS コマンドに非常に似ていますが、zOS/ZPUTA 内の他のコマンドと区別するために先頭に ‘f’ が付いています。

falloc

説明: 開いているファイルに連続したブロックを割り当てます(スペースを事前割り当て)。ファイルの内容は消去されます。

fattr

説明: ファイルの属性/モードを変更します(Unix の chmod に相当)。

fcat

説明: ファイルの内容をコンソールに出力します。

fcd

説明: カレントディレクトリを指定されたものに変更します。

fclose

説明: fopen コマンドで以前に開かれたファイルを閉じます。

fconcat

説明: 指定された 2 つのソースファイルを宛先ファイルに結合します。

fcp

説明: ファイルをコピー(複製)します。

fdel

説明: 指定されたファイルを SD ディスクから削除します。

fdir

説明: カレントディレクトリまたは <path> で参照されるディレクトリの内容を表示します。

fdrive

説明: カレントドライブを指定されたものに変更します。

fdump

説明: ファイルの内容全体をオプションの指定ワード長で 16 進ダンプとしてターミナルに出力します。

fexec

説明: 指定されたプログラムファイルを読み込んで実行します。プログラムのテストや非標準アプリケーションの実行に使用します。

finit

説明: ボリュームを強制的に初期化し、オプションで指定されたマウントポイントにマウントします。

finspect

説明: fopen で開かれたファイルの一部を読み取り、その内容の一部を調べます。内容は 8 ビット 16 進フォーマットでダンプされます。

flabel

説明: ボリュームラベルを指定された <label> に設定します。

fload

説明: ファイルをメモリに読み込みます。

fmkdir

説明: 指定された <dir name> を使用して新しいディレクトリを作成します。

fmkfs

説明: 指定された論理ドライブに FAT ボリュームを作成します。

fopen

説明: 指定されたモードでファイルを開きます。開かれたファイルは fread、finspect、fwrite などのコマンドで操作できます。

fread

説明: 現在の位置からファイルの一部をインメモリバッファーに読み込みます。

frename

説明: ファイルを <original> から <new> に改名します。

fsave

説明: <addr> からのメモリセクションを <len> バイト分ファイルに保存します。

fseek

説明: fopen で以前に開かれたファイル内のファイルポインターを移動します。

fshowdir

説明: カレントディレクトリを表示します。

fstat

説明: 指定された <path> に関する情報を表示します。

ftime

説明: 指定されたファイルのタイムスタンプを変更します。

ftrunc

説明: 現在のファイル位置でファイルを切り捨てます。

fwrite

説明: インメモリディスクバッファーの一部を fopen で開かれたファイルに書き込みます。

fxtract

説明: ソースファイルの一部を抽出して宛先ファイルに書き込みます。

メモリコマンド

これらはメモリの編集、表示、検索、テスト、メモリパフォーマンスの確認のための低レベルコマンドです。一般的にハードウェアとソフトウェアのテストまたはデバッグに使用されます。

mclear

説明: 固定値でメモリをクリア/埋めます。

mcopy

説明: メモリのブロックを指定された宛先にコピーします。

mdiff

説明: メモリのブロックを別のブロックと比較します。

mdump

説明: メモリのブロックを 16 進フォーマットで画面にダンプします。

mperf

説明: メモリパフォーマンスをテストします。CPU ↔ メモリの値を提供します。

msrch

説明: 指定された値のメモリを検索します。

mtest

説明: 不良ビットや固着ビットを見つけるために様々なテストでメモリをテストします。

meb

説明: バイトレベルでメモリを編集/変更します。

meh

説明: ハーフワード(16 ビット)レベルでメモリを編集/変更します。

mew

説明: ワード(32 ビット)レベルでメモリを編集/変更します。

ハードウェアコマンド

これらは ZPU SoC のハードウェア変更を検証するために通常使用されるハードウェアテストコマンドです。

hr

説明: ZPU SoC のリアルタイムレジスター情報を表示します。デバッグに使用します。

ht

説明: ZPU SoC のリアルタイムタイマー情報を表示します。デバッグに使用します。

プログラム実行コマンド

これらはメモリに読み込まれたプログラムを実行するためのプログラム制御コマンドです。

call

使用法: call <addr>
説明: <addr> の関数を呼び出し、戻り値とともに返ることを期待します。

jmp

使用法: jmp <addr>
説明: <addr> のコードを実行し、戻りは期待されません。OS の通常の活動を継続するにはリセットが必要です。

その他のコマンド

他のグループに属さない残りのコマンドです。

restart

説明: OS を再起動します。システムが不明な状態になった場合に有用です。

reset

説明: システムのコールドスタートリセットに相当する処理を発行します。

help

使用法: help [<cmd %>|<group %>]
説明: 内蔵ヘルプ画面。デフォルトではアプリケーションを含む OS 内で現在認識されているすべてのコマンドを一覧表示します。フィルターパターンを指定すると、パターンに一致するコマンドまたはコマンドグループのみが表示されます。

info

説明: 基盤となる CPU と SoC の設定情報を表示する簡単なアプリケーション。

time

使用法: time [<y> <m> <d> <h> <M> <s>]
説明: パラメーターが指定されない場合は現在の時刻と日付を表示します。パラメーターが指定された場合は検証して RTC を指定された日付と時刻に設定します。