2020/08/26
「FM-7のFT-245用基板」を振りかえって見ました
この基板の客観的を価値を知りたくなり、先日Old68funさまに代行依頼してオクに出品して頂いた所、希望する方がいましたのでホッとしてます。落札
して頂いた方に御礼申し上げます。薮から棒的な依頼を引き受けてくれた
Old68funさまに改めて感謝する次第です。
と言うことで「FT-245用基板」関連で、このブログを振りかえってみました。
すると初回に「74LS244」の1ビットをバッファの状態監視に流用してるため
1バイトを2回に分けて送信してるので、このWindows部分のソースは早晩、
公開すると約束してました。遅ればせながら公開します。このブログの規約で、
他のブログと同一の内容を書くと違反になることより暫く放ておいたので公開
することを忘れてました。ただし、あくまでもイメージと言うことで。尚、
2回に分けて受信したデータを合成するFM-7側のコードを、先ずは示します。
エントリアドレスは「$FC12」になりますがポジション・インディベンドです
ので配置位置は変更可能です。
<FM-7側のコード>
ZFC08 STB MFDFD *FC08: F7 FD FD
LDA MFDFE *FC0B: B6 FD FE
CLR MFDFD *FC0E: 7F FD FD
RTS *FC11: 39
ZFC12 LDX MFC02,PCR *FC12: AE 8C ED
LDB #$01 *FC15: C6 01
ZFC17 LDA MFDFE *FC17: B6 FD FE
ANDA #$80 *FC1A: 84 80
BEQ ZFC1F *FC1C: 27 01
RTS *FC1E: 39
ZFC1F BSR ZFC08 *FC1F: 8D E7
ASLA *FC21: 48
STA MFC06,PCR *FC22: A7 8C E1
BSR ZFC08 *FC25: 8D E1
ANDA #$7F *FC27: 84 7F
ORA MFC06,PCR *FC29: AA 8C DA
STA ,X+ *FC2C: A7 80
<Windows部分のソース>
#define FT245RL_BROCK 32
static DCB dcb;
static BOOL fSuccess;
void CMainFrame::OnDataTRNS_PC2FM(){
// TODO: ここにコマンド ハンドラー コードを追加します。
DWORD dwwritten = 0;
char cdir[256];
unsigned char buf[512];
unsigned char send_buf[1024];
FILE* file;
int i, len;
errno_t error;
HANDLE hProcess;
if (NULL == hCommPort) {
return;
}
<該当ファイルをオープンする:コードは省略>
hProcess = GetCurrentProcess();
fSuccess = SetPriorityClass(hProcess, HIGH_PRIORITY_CLASS);
// printf("SEND STARAT\n");
fseek(file, 0, SEEK_SET);
do {
len = fread(buf, 1, FT245RL_BROCK, file);
if (0 == len)
break;
// printf("fread %0d\n", len);
for (i = 0; i < FT245RL_BROCK; i++) {
send_buf[2 * i + 1] = buf[i]; // 下位7ビットはそのままコピー
send_buf[2 * i] = buf[i] >> 1; // 上位7ビットは1ビット右シフトしコピー
}
fSuccess = WriteFile(hCommPort, send_buf, len * 2, &dwwritten, NULL);
} while (FT245RL_BROCK == len);
fclose(file);
fSuccess = SetPriorityClass(hProcess, NORMAL_PRIORITY_CLASS);
return;
}
<捕捉・追加>2020/09/15
上記に掲載した<FM-7側のコード>の表示が見難いので「imgur」で再掲します。
文章ではないPC用の<コード>だと見ずらくなるのかも知れません。尚、同時に
アップロードした画像は現在作成してる、BASICリストの移動用のアルゴリズム
です。順調に行けば数日中にソースを公開します。
https://imgur.com/a/AKF2Piz
<捕捉・追加>2020/10/28
FM-7用FT245基板を使う上でFM-7側で使うソフト(FMDRV37_20190719,dat)も
FM-7と通信するWindows側のGUIソフト(FM_DATA_TRNS.EXE)も下の「Release」配下にあります。
https://onedrive.live.com/?authkey=%21Aln7kHlkHDL28EE&id=6357DCB7DCA88133%21108&cid=6357DCB7DCA88133
尚、「2019/09/04」投稿の「FM-7用データ転送ハードの使い方」も参照して下さい。