Retro PC Gallery
FM-7/8シリーズ FLEX 画面キャプチャ集(アプリケーション編)
本ページの各画面キャプチャについては、XM7 V1.1 L77SXを使用させていただきました。
PI.さん、たけがみりうさん、いつも感謝しております。
(XM7がなかったらこんなページを作ろうという気にはなりませんでした。^^;)
お急ぎの方へ。
アプリケーションソフトウェア:
・6809 FLEX ASSEMBLER
・参考文献
●FLEXエキスパートの方にとっては取るに足らない内容だとは思いますが、
はせりんが躓いた点、苦労した点を交えて、備忘録を兼ねて書き綴って行く所存です。
(各画像をクリックするとフルサイズの画像になります。)
# 特に断りなければ、FM-7用FLEX V3.52上で動作させています。
6.9 FLEX アプリケーションソフトウェア
6.9.1 6809 FLEX ASSEMBLER
●何はともあれ、6809 FLEX ASSEMBLER です。
- SOFT:6809 FLEX ASSEMBLER (ASMB.CMD)
- VERSION:#2
- 機種:6809 FLEX 動作機種
- 発売元:Technical Systems Consultants, Inc. (以下、TSC)
- 発売時期:1979年
- 価格:$50.00(米国) ... 一応定価は付いてますが、FLEX本体にバンドルされる事が多かったようです。
富士通/ソフトマート販売のFMシリーズ用FLEXでも標準装備となっていました。
- マクロや条件アセンブルが使えるかなり高機能なアセンブラです。
CP/M用のアセンブラで言うと、標準添付の ASM ではなく、オプションの MAC(マクロアセンブラ)
に相当します。
|
CP/M-80 2.2 |
OS-9 |
FLEX |
|
ASM |
MAC |
RMAC |
Asm |
RMA |
ASMB |
RELASMB |
マクロ |
|
○ |
○ |
|
○ |
○ |
○ |
条件アセンブル |
|
○ |
○ |
○ |
○ |
○ |
○ |
リロケータブル オブジェクト生成 別途リンカー必要 |
|
|
○ |
|
○ |
|
○ |
- それでは、ASSEMBLER を実行してみましょう。
- サンプルとして取り上げたのは、6809FLEX Adaptation Guide の Appendi C に掲載されている、
Single Sector READ/WRITE Test Utility です。
アセンブルリストが掲載されていますので、そこからソースコード部分のみを抽出します。
PDF があればコピペで一発でしょう。
それを、FLEX でフォーマットしたフロッピーディスク(イメージ)に書き込み、ドライブ1にセットします。
- FLEX では、ASN コマンドで ワークドライブ を設定します。ここでは、
ASN W=1
としておきます。単に ASN と打つと現在のアサイン状況を表示します。
- CAT コマンドでファイルの存在を確認します。
ファイル名は RWTEST.TXT としました。16進で 14 なので、20セクタ使用しています。
200行弱のソースコードなので、1セクタ(252バイト)あたり10行前後格納されているのでしょう。
- LIST コマンドでソースファイル内容を表示してみます。
こんな感じです。
- FMシリーズの FLEX V3.5x 以降では、こうしたテキスト表示のスクロール中にスペースキーを
押すと表示が中断され、再度スペースキーを押すと再開します。
- さて、いよいよアセンブラー本体の起動です。起動コマンドは
ASMB,RWTEST,RWTEST.CMD
です。
- 詳細な文法は次の通りです。
ASMB,<input file>[,<output file>][,+<option list>]
- よく使われる option としては、デフォルトで ON となっている項目を禁止できます。
B:バイナリ出力の禁止、L:リスト出力の禁止、S:シンボルテーブルの禁止、等です。
- アセンブルリストは、常に標準出力へ出力されます。
- ちょっと待った! それでは困るんです。アセンブルリストはファイルで残してよ!
- でも、ASMB コマンドにはその機能がありません。orz
- でもご安心。FLEX には、ちゃんとリダイレクトの機能があります。
O コマンドで、標準出力をファイルに落とすことができるんです。(ZERO ではなくて OH です。)
O,1.RWTEST,ASMB,RWTEST,RWTEST.CMD
- 詳細な文法は次の通りです。
O,<filename>,<command>
- なぜか、
O,RWTEST,ASMB,RWTEST,RWTEST.CMD
とすると、ドライブ0 に書きに行ったので、ASN W=1 が効いてないようです。バグかも。
- さて、アセンブルが無事終了しました。
全ての画面出力をリダイレクトしてるので、エラーがあったかどうかはアセンブルリストを見るまでわかりません。
- CAT してみると、RWTEST.OUT と RWTEST.CMD が生成されているので、どうやら成功しているようです。
- アセンブルリストを表示してみましょう。
- アセンブルリストが最後まで表示されました。
無事、0 ERROR(S) DETECTED となっています。
- それでは、実行してみましょう。
ドライブ1 からの起動になるので、頭に 1. を付けて起動します。
- 非常にシンプルなユーザーインタフェースです。
- F? に対しては、R もしくは W を入力します。R がリード、W がライトです。ここでは R とします。
- D? に対しては、ドライブ番号を入力します。たぶん 0-3 が有効です。
- T? に対しては、トラック番号を16進2桁で入力します。たぶん 00-27 が有効です。
- S? に対しては、セクター番号を16進2桁で入力します。たぶん 01-20 が有効です。
- 無事セクター内容が表示されました。
- F? に対して W を入力すると、$1000 からの 256バイトを指定セクタに書き込みます。
ある意味、けっこう危険なコマンドです。必要ない限り、R コマンドのみ使いましょう。
とまぁ、ここまで順調に進んだように書いてますが、実は十数年ぶりに
FLEXをいじったため、勘所を忘れていて、いろいろ引っかかりました。
ワークドライブの設定どうやるんだっけ?
アセンブルリストのリダイレクトどうやるんだっけ?
といろいろ解決して、最後に引っかかったのがコレでした。
- Can't Transfer
実にシンプルなメッセージです。
起動できません。え”、何で?
これググっても対処方法出てこなくて焦りました。
- ネットが頼りにならないので、過去の作業メモを眺めていたら、ありました!
END SEC1 <--- これがないと、Can't Transfer になる。
- よくよくアセンブラのマニュアルを読んでみると、END疑似命令の説明に
オプションで転送アドレスを指定できる
とありますが、.CMD ファイル生成の際には必須のようです。
FLEX Adaptation Guide に掲載されてるリストに騙されました!
参考文献
6809FLEX Assembler、1979年 (Technical Systems Consultants)
6809FLEX Adaptation Guide、1980年 (Technical Systems Consultants)
謝辞:本ページの各表の作成にはThinkさんのCSV→Table変換サイトのお世話になりました。
ありがとうございました。
F-BASIC起動画面集
F-BASIC詳細編
F-BASIC詳細編(その2:デモ画面集)
FM77AVシリーズ システムディスク編
FM77AVシリーズ デモ・入門ディスク編
CP/M-80編
CP/M-80 アプリケーション編
OS-9編
FLEX編
FLEX アプリケーション編
F-BASIC ファイルシステム(およびその上位互換)上に構築されたOS、開発システム
FM-7/8シリーズ用プログラミング言語とその処理系
番外編(その2:勝手に誤記修正編)
番外編(その3:6809用MMU考察)
番外編(その5:FM-7,8シリーズのROM一覧)
番外編(その6:FM-77用拡張メモリ他について)
番外編(その7:FM-8/7/77/77AVシリーズの微妙な非互換性)
番外編(その8:FM-7/8シリーズ用アドオンCPUカード)
番外編(その11:FM-11,16シリーズのROM一覧)
緊急特集:MB22603の秘密
FM-8改造 備忘録
--------
レベル3BASICとF-BASIC を覗いてみる
テクノポリス誌ナウシカベンチマークとミンキーモモベンチマーク
ASCIIART(マンデルブロ集合)ベンチマーク
漢字ROM博物館(情報募集中)
--------
入り口ページに戻る
ご意見、ご要望はこちらまで(笑)
Copyright (C) 2020 by Haserin