コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
最近の更新
おまかせ表示
MediaWiki についてのヘルプ
特別ページ
Wikippe
検索
検索
表示
ログイン
個人用ツール
ログイン
F-BASICのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
F-BASIC
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
要求した操作を行うことは許可されていません。
このページのソースの閲覧やコピーができます。
'''F-BASIC'''(エフベーシック)は、[[富士通]]が自社の[[パーソナルコンピュータ|パソコン]]ブランドである[[富士通#パーソナルコンピュータ|FMシリーズ]]に搭載した[[BASIC]]言語。マイクロソフト系BASICに由来する命令セットを持ち、当時としては、画像や音声を扱う機能が豊富であった。 ==8ビット機用== ;F-BASIC V1.0 ([[FM-8]]) :マイクロソフト製6809用BASICをベースに開発された最初のF-BASIC。当時は「FUJITSU MICRO 8 BASIC」と称していた。 ;F-BASIC V2.0 (FM-8) :8インチ/5.25インチフロッピィディスク版でのみ提供されたバージョン。変数の内容を保持したままでのプログラム連結実行のための<code>CHAIN</code>文/<code>COMMON</code>文、配列を消去する<code>ERASE</code>文、プリンタ出力のための<code>LLIST</code>文/<code>LPRINT</code>文/<code>LPRINT USING</code>文/<code>LPOS</code>関数、<code>PRINT USING</code>文/<code>LPRINT USING</code>文での書式制御文字列の追加、<code>OPEN</code>文でのプリンタに対するオプション指定の追加、ユーザープログラムの自動スタート機能などが追加された。また、文字列領域のガベージコレクションが改良され、文字変数1つあたり2バイト余計にメモリを必要とするようになったが、ガベージコレクション処理は大幅に高速化された。バリエーションとして128KBバブルカセットに対応したF-BASIC V2.2(128KBバブルカセットにより供給)が存在する。 ;F-BASIC V3.0 ([[FM-7|FM-7/77シリーズ]]) :F-BASIC V2.0を基にしたFM-7シリーズの標準BASIC。このバージョンから起動メッセージが「FUJITSU F-BASIC」となる。カラーパレット機能を制御する<code>COLOR=</code>文、マルチページ機能を制御する<code>SCREEN</code>文、[[Music Macro Language|MML]]による音楽演奏を行う<code>PLAY</code>文、[[Programmable_Sound_Generator|PSG]]の直接制御を行う<code>SOUND</code>文などが拡張された。バブルカセットに対する<code>BUBINI/BUBR/BUBW</code>文及びアナログポートに対する<code>ANPORT</code>関数は削除された<ref>ただし予約語としては残っており、ANPORT関数に関しては公式発表では削除されたことになっているが実際は処理も残っている。</ref>。バリエーションとして1MBフロッピィディスクに対応したF-BASIC V3.1(3.5インチフロッピィディスクにより供給)が存在する。 ;F-BASIC V4.0 ([[FM-11|FM-11ST/AD/EX]]) :メモリマッピングレジスタを活用するようになり、F-BASICインタプリタが巨大化し、テキストエリアも拡大された。画面編集の方式が今までのスクリーンエディタ的な編集のほか、他メーカー機同様にRETURNキーを押した行が入力したのと同じ効果をもつようになった。640x400ピクセルのグラフィックモードの追加、BREAKキーをコントロールする<code>STOP ON/OFF</code>文、漢字表示のための<code>KANJI</code>文、外字登録のための<code>DEF KANJI</code>文、式の評価をファイルに出力する<code>WRITE/WRITE#</code>文、テキスト画面の色やアトリビュートを設定する<code>COLOR@</code>文、漢字のグラフィック画面への拡大描画を行える<code>SYMBOL@</code>文、グラフィック画面のハードウェアスクロールが可能な<code>ROLL</code>文、テキスト画面上に時刻を表示する<code>CLOCK ON/OFF</code>文、ライトペン割り込み制御の<code>PEN</code>文/<code>ON PEN GOSUB</code>文、<code>PEN ON/OFF/STOP</code>文が追加された。また、<code>AUTO</code>文での注釈行自動発生機能、<code>HARDC</code>文でのテキスト画面・グラフィック画面個別のハードコピー、<code>SCREEN</code>文での画面モード指定、<code>LINE</code>文でのラインスタイル指定、<code>PAINT</code>文でのタイルペイント対応、<code>SIN/COS/TAN</code>などの数学関数の倍精度演算化が行われた。このバージョンから文字列領域とスタックバッファの扱いが逆になり(文字列領域はメモリがある限り確保、スタックバッファは<code>CLEAR</code>文で確保される)、それに伴い<code>CLEAR</code>文の文法も変更された。基本的にBASICインタプリタはフロッピィディスクからRAM領域に展開されるが、ディスクドライブを標準装備していないFM-11STでは起動時に専用のROMカードからRAM領域にBASICインタプリタを展開する方式となった。バリエーションとして128KBバブルカセットに対応したF-BASIC V4.2、ハードディスクに対応したF-BASIC V4.3が存在する。 ;F-BASIC V5.0 (FM-11AD2/AD2+) :F-BASIC V4.0の日本語文字列対応版。プログラムに(JISコードではなく)直接日本語文字列を記述できるようになる。また、それに関連した日本語文字列操作関数も追加された。このバージョンからアナログポートに対する<code>ANPORT</code>関数が正式に削除された。 ;F-BASIC V3.5 ([[FM-7#FM-77|FM-77]]、FM-77L4) :FM-77用400ラインカード(オプション。FM-77L4は標準装備)に対応したBASIC。ほぼF-BASIC V5.0のFM-77版といえるもので、画面モードは単色のみながら日本語文字列にも対応された。FM-77はライトペンに対応していないため<code>PEN</code>文は削除された。400ラインセット付属の192KB RAMカードを装着した場合には、RAMディスクが使用できる。 ;F-BASIC V3.3L10~L12 ([[FM-7#FM77AV|FM77AVシリーズ]]) :F-BASIC V3.5をベースに開発されたFM77AV専用のF-BASICでAudio/Visual機能が強化されており、320x200ピクセル4,096色モードやスーパーインポーズ機能、ビデオディジタイズ機能などが使えるようになり、<code>PLAY</code>文/<code>SOUND</code>文のFM音源やMIDIへの対応などが行われた。画面編集の方式がF-BASIC V3.0までと同様のものに戻ったほか、日本語文字列にも対応していないため、F-BASIC V5.0/V3.5に存在した<code>KANJI/ROLL/CLOCK</code>文および日本語文字列操作関数などは削除された<ref>ただし予約語としては残っている。</ref>。FM-77+拡張RAMカードでも起動できたが、FM77AV独自機能が使用出来ないよう制限がかけられていた。 ;F-BASIC V3.3L20 (FM77AVシリーズ) :F-BASIC V3.3L10に2DDフロッピィディスクサポート、日本語文字列対応機能、内蔵RS-232Cインタフェースのボーレート制御機能などを追加したバージョン。日本語モード切り換えのための<code>KANJI ON/OFF</code>文、RS-232Cインタフェースのボーレート制御のための<code>BAUD</code>文が追加された<ref>BAUDの中間コードにBUBINIと同じコードを使用したため、BUBINIはV3.3L20/L3.4L10以降予約語からも削除されている。</ref>。日本語モード対応に伴い、F-BASIC V3.3L10で削除された日本語文字列操作関数および<code>SYMBOL@</code>文が復活した。 ;F-BASIC V3.4L10 (FM77AV40) :F-BASIC V3.3L20に640x400ピクセル8色モード、320x200ピクセル262,144色モードを追加したバージョン。このバージョンから日本語モードでの各種メッセージが日本語化されるようになる。オプションの拡張RAMカード-256を搭載したうえでセットアップユーティリティにより所定の設定を行うと、RAMディスクが使用できる。 ;F-BASIC V3.3L30 (FM77AVシリーズ)、V3.4L20~21 (FM77AV40シリーズ) :F-BASIC V3.4L10をベースに開発されたF-BASIC。日本語モードでの漢字表示が従来比約2倍に高速化され、FM77AV20EX/40EXでのMMR使用時のクロックダウンが抑制されるほか、FM77AV40/20EX/40EXではフロッピィディスクアクセスにDMAコントローラを利用するようになり、音楽演奏中のディスクアクセスによるテンポ遅れが解消された。また、リセットせずに使用ドライブ/ファイル数を切り替えられる<code>NEW ON</code>文が追加された。FM77AV40/40EXでRAMディスクを使用している場合、V3.4L10ではリセットごとに内容が初期化されていたが、V3.4L20では内容が保持されるようになった。なお、このバージョンからデータレコーダのサポートが削除された。この2つのバージョンは起動プロセス、起動メッセージおよびバージョンスタンプ情報を除き、極力コードの統一化が図られた。バリエーションとして、レベルアップサービスによって提供された400ラインモードおよび262,144色モード用サブシステムコードを含むFM77AV40専用版のF-BASIC V3.4L20<ref>FM77AV40は本体に400ラインモードおよび262,144色モード用サブシステムをROMとして持っていなかったため、FM77AV40EX版とは別に用意された</ref>、FM77AV40SXに付属したF-BASIC V3.4L21が存在した。F-BASIC V3.4L21はF-BASIC V3.4L20のバグ修正版にして8ビット機F-BASICの最終バージョン。F-BASICインタプリタ内部のエントリアドレスが一部異なるため、F-BASIC V3.4L20の拡張BASICが使えない場合が存在した。 共通点として、コマンド画面では行ごとにRETURNキーを押さなくても画面上の全変更行が更新されたため、比較的スクリーンエディタ風の編集が出来た。 F-BASIC V1.0/V3.0では、本体内蔵のROM BASICには[[フロッピィディスク]]用の命令等が含まれておらず、ディスク使用時には別売の[[DISK-BASIC]]を購入して起動時に読み込ませる必要があった。このディスク拡張部分は本体RAMの上位アドレス部分(ROM領域の直前)に展開され、ROM BASICの命令と同じように使用することができた。F-BASIC V2.0以降で拡張された命令も同様の仕組みで実装されている。 後にこの部分の仕様が解析されると、ユーザが独自に新たな命令を定義してBASICを拡張することが可能であることが判明したため、『[[I/O_(雑誌)|I/O]]』([[工学社]])や『[[Oh!FM]]』([[ソフトバンククリエイティブ|日本ソフトバンク]])等の専門誌ではユーザやライターらが開発した拡張命令等がほぼ毎月のように掲載されるようになった。 ==16ビット機用== ;F-BASIC86 V1.0 (FM-11) :16ビット化([[CP/M]]-86上で動作)。F-BASIC V5.0の8086コード版といえるもので、CPUやOSの違いから<code>DEF SEG</code>文や<code>INP</code>関数、<code>OUT</code>文、<code>SYSTEM</code>文などが追加されているが、<code>PLAY</code>文・<code>SOUND</code>文は割愛されているほか、データレコーダのサポートが削除されている。 ;F-BASIC86 V2.0/V2.1 ([[FM-16β|FM16βシリーズ]]) :[[CP/M]]-86上で動作。日本語モードへの切り替え命令が<code>SCREEN 6</code>文から<code>KANJI ON/OFF</code>文に変更されている。日本語モードでの各種メッセージが日本語化されている。ワールド座標に対応したほか、<code>CIRCLE</code>文のアルゴリズムが変更され従来よりきれいな円を描画することができるようになっており、<code>LINE</code>文、<code>CIRCLE</code>文の塗りつぶしを枠と別の色(タイルパターンも使用可能)で塗りつぶす機能に対応した。<code>OPEN</code>文の文法としてNECのN88-BASIC同様の書式が使用可能となっている。8ビット機用F-BASICフォーマットのフロッピィディスクの読み書きにも対応している。後に発売されたFM16βSDではフリーエリアの減少を最低限にとどめるため、F-BASIC86 V2.1をCPUカード上のROMに搭載しており、FM-16βFD/HDにおいても同バージョンのフロッピィディスクによる供給が行われた。 ;F-BASIC86 V2.1 ([[FM16π]]) :FM16β用F-BASIC V2.1のサブセット仕様。ROMカートリッジにより供給される。 ;F-BASIC86 V3.1 (FM16βシリーズ、[[FMRシリーズ]]) :MS-DOS上で動作。基本的にF-BASIC86 V2.1のMS-DOS版といった感じだが、日本語変数名への対応、BASICの文法を国語化する<code>KOKUGO ON/OFF</code>文、チャイルドプロセスを呼び出す<code>CHILD</code>文などが追加されている。8ビット機用F-BASICフォーマットのフロッピィディスクの読み書き機能は削除され、外部ツールを利用する形となった。 ;F-BASIC86HG (FM16βシリーズ、FMRシリーズ) :MS-DOS上で動作。F-BASIC86 V3.1を大幅に拡張しサブプログラムの概念を導入したものだが、中間コードに互換性がないためF-BASIC86 V3.1のプログラムを実行するには付属のユーティリティを使用する必要がある。 ==32ビット機用== ;F-BASIC386 ([[FM TOWNS]]) :実行画面とは独立したスクリーンエディタを装備。[[スプライト (映像技術)|スプライト]]や[[サウンド]]などの機能が拡張された。[[コンパイラ]](V1.1L21~)も発売された。V2.1からは構造化に対応した。 ;GearBASIC (FM TOWNS用のGUI式の開発環境。[[TownsGEAR]]のスクリプト) :行番号がない。 ==Windows用== 特定の機種用の言語であったF-BASICだったが、プラットホームを移し、Windows上で動作する物も作られた。 ;F-BASIC コンパイラ for [[Windows 3.1]] :Microsoft Windows環境でコンパイルして使用可能。Visual Basicに必須だった[[ランタイムライブラリ]]を必要しないアプリケーションを生成できた。 ;F-BASIC97 V5.0 :Windows 3.1、Window95、WindowsNT上で動作する。[[MS-DOS]] BASIC([[N88-BASIC]])のプログラムをWindowsに移行でき、[[GUI]]コントロールで構成されている。名称に「97」が入っているのはFM-11用F-BASIC V5.0とのバージョン番号の重複を回避するためである。 その他F-BASIC V4.1などが発売された。これらWindows用F-BASICは、[[RS-232|RS-232C]]や[[IEEE-488|GP-IB]]など機器制御を対象としており、いわゆるWindowsアプリケーションを主目的とはしていない。また[[Microsoft Windows XP|Windows XP]]対応のバージョンも開発されなかった。F-BASICはWindows版V6.3が[[2006年]]3月末をもって販売終了となり、その役割を終えた。 ==脚注== {{脚注ヘルプ}} <references /> ==参考資料== *『Oh!FM』 1988年3月号 日本ソフトバンク :特集:比較F-BASIC学 入門 こんなにあったF-BASICのバージョン F-BASICの変遷を考える〔緒方 渉〕 {{BASIC}} [[Category:BASIC]] [[Category:富士通]]
このページで使用されているテンプレート:
テンプレート:BASIC
(
ソースを閲覧
)
テンプレート:脚注ヘルプ
(
ソースを閲覧
)
F-BASIC
に戻る。
検索
検索
F-BASICのソースを表示
話題を追加