|
1.なぜファイルシステムが必要か? |
ポケコンジャーナル誌上で、カシオポケコン FX-870P/VX-4 で機械語を実行する方法、内部資料が公開されました。
しかしながら、元々ユーザーでの機械語実行を想定されていない機種のため、
「機械語エリア」(ユーザーが機械語を実行するためのメモリ領域)が考慮されていませんでした。
そこで機械語を実行できる安全な機械語エリアの確保について、様々な方法が模索されました。
FX-870Pであれば、&H0000〜&H0FFF番地が未使用ですのでここを使うのが良作ですが、
FX-870Pj自体がVX-4の市販バージョンという位置づけのため、 VX-4 のユーザーの方が多い状況ですので最善とは言えません。
メモリ最上位アドレスにシステムが未使用の領域を確保する方法について、
メモリ搭載量によって最上位アドレスが異なるため、環境に応じたバイナリーを準備する必要がありました。
こうした問題を打開すべく、こたちゃん氏がポケコンジャーナル 1992/1号で「拡張CLEAR命令」を発表しました。
&H1CD0番地以降に機械語エリアを確保して、メモリ搭載容量関係なく同じバイナリーを利用できるようにしたのです。
しかしながら、C言語などを実施すると、この領域は破壊されてしまいます。
入力したものを保存する方法がないので、破壊されたらプログラムを再度入力する必要があります。
ここで登場するのが、ファイルシステムです。
ファイルシステムは指定した領域をファイルとして保管し、実行時に指定したアドレスにロードするのが役割です。
こうした思想の元、2003年に FBF(FX-Binary-Filer) と VX-MENU が生まれました。
また、これらのファイルシステムでは「RR形式プログラム実行」という新しい方式を採用しました。
通常のプログラムに再配置データを添付することで、保管してある状態でプログラムをその場で書き換えて実行する方式です。
プログラム制作者はリロケータブルを意識せず通常通り作成し、
利用する側はファイルシステムから実行するだけでよいという画期的な方式で、従来の問題をすべて解決しました。
(従来であれば、実行まで手数を踏む必要がありました)
機械語プログラムの扱いがファイルシステムを利用することで各段に向上します。
このページをご覧になった機会に、ぜひご利用ください。
2.FBFシステムのダウンロード |
NEW!! FBF通常版に 「FM命令(ファイル管理)」 と「ファイルのコピーコマンド」を組み込みました!
プログラム名 | バージョン | ダウンロード | 動作環境 | 必要メモリ容量 |
通常版 | Ver.4.2D NEW!! |
ダウンロード | ・カシオポケコン FX-870P/VX-4 ・PCとの通信環境必須 |
16KB以上 |
Lite版 | Ver.4.1L | ダウンロード | 8KB以上 | |
Web公開プログラムの RR形式対応状況表(PDF) |
2021/08/02版 | ダウンロード | Webで公開されている機械語プログラムが どのようにRR形式プログラムに対応しているか 記載しています。 |
3.追加ファイルのダウンロード(順次追加予定) |
FBFの機能を拡張するファイルです。
プログラム名 | 形式 | 作者 | 概要 | ダウンロード |
GR命令 Ver.0.03 | 機械語(RR形式) | あお氏 | FX-870P/VX-4でグラフィック描画を行う拡張コマンドです。 | →HD61700 SPRITSへ(リンク) |
電子キーボードVer.3 | 機械語(RR形式) | Miyura氏 | FX-870P/VX-4で音楽の演奏を行うソフトウェアです。 | ダウンロード |
ファイルのコピーコマンド($CP.R) | 機械語(RR形式) | Jun Amano | ファイルのコピーを行う拡張コマンドです。 | ダウンロード |
$FM命令-FBF用ファイルマネジャ Rev 0.04NEW!! |
機械語(RR形式) | あお氏 | 軽量&高機能ファイル管理ソフトです。 | ダウンロード |
文字列関数パック NEW!! | 機械語(RR形式) | Jun Amano | 近代のBASICにある、 文字列のUCase(大文字変換).LCase(小文字変換)/Trim(両端の空白除去) のポケコン版です。 |
ダウンロード |
4.パッケージソフト |
FBFシステムとソフトウェアがパッケージングされており、付属のインストーラーでダウンロードから実行まで簡単にできます。
プログラム名 | 形式 | 作者 | 概要 | ダウンロード |
BLOCKS | 機械語(RR形式) | T.Ike氏 | 落ち物パズルゲームです。 | ダウンロード |
芸夢職人ゲームパック | 機械語(RR形式) | 芸夢職人氏 (移植あお氏) |
「スペースマウス」「スネーク・ワールド」 「サブマリン」をまとめたゲームパックです! ※RAM合計 32KB以上必要 |
ダウンロード |
5.FX-Binary-Filer(FBF) 活用編 |
1 | 「電子キーボード」 Juke-Box を作成する |
電子キーボードプログラムをサンプル曲を選曲できるメニュー画面を作成する記事で、FBF活用テクニックを掲載しています。 | |
2 | FBFのバックアップを活用する |
FBFのバックアップを活用してメモリ初期化時に迅速に復旧させようという記事です。 | |
3 | ポケコンを「電卓」に変えてしまう”Calc870” |
ポケコンが専用電卓に変身!"キラーアプリ"ここに登場。 |
6.「RR形式プログラム」とは |
FX-870P/VX-4で機械語プログラムを実行する場合、以下の4通りのいずれかの方法で機械語領域を確保しなければなりません。
@ システム未使用領域の 0000H〜0FFFH番地を使用する。 A 最上位アドレスに機械語領域を確保する。 B 「拡張CLEAR命令」を使用する。 C 画面バッファ(VRAM)を利用する。 |
@が最適ですがVX-4では内蔵RAMを換装しない限り使用不可、Aは最上位アドレスはRAM構成により変化、
Cは画面クリアすると、プログラムが消去するので
BASICローダーが必要かつVRAM容量768バイト程度しか利用不可など一長一短です。
Bに関しては全機種共通のアドレスの領域が確保できるものの、「C」「CASL」を実行すると内容が破壊される事や
そもそもオリジナルの「こたちゃん」の「拡張CLEAR命令」は、ポケコンジャーナル掲載作品かつ原作者に連絡不通で
入手自体や使用の許可が得る事が困難な為にメジャーな方法となるには、
あお氏作「拡張CLEAR命令」の登場を待たなければなりませんでした。
ユーザーは公開プログラムのソースコードの開始アドレスを変更して、
自分の環境にあった実行ファイルを生成(アセンブル)する必要がありました。
FX-870PやRAMを換装したVX-4を使用しているのに、0000H番地から使用できないのは
有効利用しているとは言い難く、拡張CLEAR命令の使用を強制することも出来ません。
そこで、FBF/VX-MENU の両ファイルシステムでは、
ソースコードの最後尾に「リロケート情報」を追加することにより、
ファイルシステムのファイル格納位置で実行できる「RR形式プログラム実行」機能を実装しました。
これにより機械語領域を確保する必要が無くなる他、
(単純にリロケート情報を追加しただけですので多少サイズが増大しますが)
ファイルシステムを利用しない場合でも作者の意図通りに実行できる画期的な方式です。
RR形式についてはFBFのパッケージ内に技術資料が同梱されています。