6809用のクロスアセンブラやクロス逆アセンブラなどを紹介します
【10月2日追記】6800・6809逆アセンブラの修正版を10月2日にアップしました。
私は主に6809のプログラムを作成して楽しんでいますが、その中で必要に迫られて作成したいくつかのプログラムを紹介します。
基本的にWindows上でソースを作成し、自作したクロスアセンブラでアセンブルした後、生成されたバイナリを6809SBCなどの実機に転送して実行するという手順を踏んでいますので、必要なものは
(1)クロスアセンブラ、クロス逆アセンブラ
(2)実機への転送ツール
(3)ファイル形式の変換ツール
というわけで、10年ほどのあいだに6800用と6809用ののクロスアセンブラ、クロス逆アセンブラなどを制作してきました。(その他にも必要に応じて6801用、6303用のクロスアセンブラも作りました。)
プログラムのうちのいくつかは今までのブログで紹介してきましたが、その後もあれこれと修正を加えているものがありますので、ここでまとめて紹介します。
紹介するものは
(1)アセンブラ・逆アセンブラ
6809クロスアセンブラ 6809AsmWin.exe とクロス逆アセンブラ 6809DasmWin.exe
6800クロスアセンブラ 6800AsmWin.exe とクロス逆アセンブラ 6800DasmWin.exe
(2)転送ツール
転送ツールとして良く使用するのは仮想ドライブ構築ソフトです。それぞれのDOS(?)に合わせて4種類制作しています。
Flex9用のFlexDrvWin.exe
OS-9用のOS9DrvWin.exe
F-BASIC3.0用のFBasDrvWin.exe
CP/M-80用のCpmDrvWinFT.exeとCpmDrvWinRS.exe
(3)その他のツールソフト
フロッピィディスクイメージの形式を変換するソフトとして CvtDskD77.exe
バイナリファイルをBin, Hex, Mot形式に変換するソフト CvtMotHexBin.exe
以上のソフトのうち、CvtMotHexBin.exe以外はすべてVC++2019でビルドしています。
各ソフトの簡単な説明を加えておきます。
(1)クロスアセンブラ
ファイルを選択して「アセンブル実行」ボタンを押すだけですが、エラーだけを表示する機能やワーニング表示を止める機能などがあります。結果の保存形式はLST, BIN, MOT, HEXがあります。特長としてはローカルラベル機能があります。この機能を有効にすると、例えばLOOPのようなよく使われるラベルを複数箇所で宣言できます。
6809クロスアセンブラ |
6809SBCとの通信の様子 |
表示・操作面はすべて同じようですが、内部ではもちろん、それぞれのFMS(ファイルマネージメントシステム)に合わせて処理されています。
CpmDrvWin.exe |
D77, DSK, DAT間変換ソフト |
Bin, Hex, Mot間変換ソフト |
以上のソフトは、必要に迫られてここ10年ぐらいの間に制作したもので、特にアセンブラや逆アセンブラは標準的な構造など全く知らないのに自己流で作ったものですが、自分にとっては結構役に立っています。(たまに動作がおかしいと思った時などには他のアセンブラなどの結果と比較することがありますが、現在の版では問題がないと思っています。)
一応、6800用ではMikbug9, Mikbug20, TL1, TinyBasic(電大版)などがアセンブルできることを確認してあります。GAMEⅢでは1文字を「'」ではなく「"」で囲むという標準ではない書き方が多数ありますのでそれを修正(#”A”→#'A')する必要がありました。
6809用ではASSIST09のリストのミス(CPX→CMPX)と4箇所の#'(sp)を#'(sp)'のようにスペース後の「'」を追加することでアセンブルできました。
これらをOneDriveに上げておきますので、もし使用してみて動作がおかしいということがありましたらご一報いただけると有難いです。
【10月2日追記】6800/6809逆アセンブラの修正版を10月2日にアップしました。
Hello,
返信削除thanks a lot for sharing these nice software items!
I have downloaded the zip file from OneDrive and have found there all of the Windows programs needed to communicate with the FM77AV, but ...
What driver should be executed in the FM7 side in order to transfer files?
Would it be ok to use the FT245DRV that you sent to me with the FT245 board I bought from you? Or maybe a faster version is need? In this case, how could I get/download it?
Thanks beforehand
cheers!
Pere Serrat
Hello,
削除There are two ways to use the FT245 board. One is to transfer the entire disk, which uses ft245drv.exe on the Windows side and FT245DRV (F-BASIC) and FTDRV11o (Sub-program) on the FM side. Another method is to transfer files on the disk individually, using slwinft245.exe on the Windows side and SLWINFT (F-BASIC) and SLWINFTo (Sub-program) on the FM side.
The latest versions of these programs are published on the blog "CP/M version of file transfer software using FT245 high-speed communication card is now available" on January 13, 2024.
https://flexonsbd.blogspot.com/2024/01/ft245cpm.html
Instructions for use are also included.
ありがとうございます、謹んで
返信削除利用させていただきます。
コメントありがとうございます。
削除こちらで公開しているものの中には古いものが混じっていますので、「必要に迫られて自作したアセンブラ等のツールソフトの紹介(第2回)」(2024年4月25日)の方で公開しているものを使っていただいた方が良いと思います。
ご使用になられて不具合を見つけられましたら是非お知らせください。よろしくお願いいたします。