|
まだ十分に(FT2345RLの)windows用ドライバを使い熟してる
状況ではありませんが、ある程度は使いました。同一のICに対し (カーネルに組み込まれてる)Linux用ドライバとは結構、違う 感触を持ちました。またFTDIのサンプルコードを使う上でも 現状とは何点か違いがあり注意が必要です。サンプルコードが 最低限の送受信機能しかありませんし古い仕様です。これを 現状の仕様にしてコードを追加しなくてはなりません。 使い易さとしてはLinux用ドライバが使い易いです。 ・windowsとLinuxとで最大の違い マルチプロセスOSであるwindowsは一つのプロセスだけに CPU等の資源を使う訳に行きませんので FM-7 → PC に送信 する際にデータを取り零す問題が発生しています。Linuxも マルチプロセスOSとは認識してますが管理者モードで端末を 使って実行してますのでデータを取り零す問題はないです。 であればと行儀が悪いコードになりますけど、windowsでも アドミニスターにし、優先順位を最高にして32バイトづつに 小分けしてパケットのように FM-7 → PC に送信しました。 しかし、この変更でも32Kバイト程(BASICROM)のデータ の取り零しは防げませんでした。因みにCPUはアスロン2 (デュアルコア)の10年前の性能です。とは言え低速CPUでも 取り零しの発生を防ぐ方法が最善と考えますのでコードの変更で 対応可能なら抜本的にアルゴリズムの変更を視野に入れてます。 更には PC → FM-7 の送信時にも、偶にLinuxでは問題はない
ですが停止することがありましたが優先順位を上げることに
よって、この問題は解決しました。
それで、対策は二通りで考えています。 1)ハードの配線も一箇所変える(最終手段です) データ用の6ビット目を送信監視フラグに転用する変更 2)抜本的に抜本的にアルゴリズムを変更をする 最終的には実装しないと確認はできませんが可能性はあります。 と言う状況ですが FM-7 側の変更したコードを公開します。 またファミコンのディスクシステムの読み書きで、この基板を 組み合わせて使う予定ですが、windows用なら関心を持つ人も 多くなると考えますので先ずは確りとwindowsでの読み書きを 確立したと考えます。(下のコードで FM-7 → PC はNG) 使い方は $3000からの2バイトにデータ転送時の末尾(+1) $3002からの2バイトにデータ転送時の先頭アドレスを設定。 FM-7 → PC :エントリは $3054 PC → FM-7 :エントリは $3077 [root@localhost BIN20190606]# date 2019年 6月 28日 金曜日 18:44:49 JST [root@localhost BIN20190606]# ./f9dasm -noconv -offset 3000 FM7DRV28_20190628.dat f9dasm: M6800/1/2/3/8/9 / H6309 Binary/OS9/FLEX9 Disassembler V1.75 Loaded binary file FM7DRV28_20190628.dat ***************************************************** ** Used Labels * ***************************************************** M0000 EQU $0000 MFDFD EQU $FDFD MFDFE EQU $FDFE ***************************************************** ** Program Code / Data Areas * ***************************************************** ORG $3000 M3000 NEG M0000 *3000: 00 00 '..' M3002 NEG M0000 *3002: 00 00 '..' M3004 NEG M0000 *3004: 00 00 '..' M3006 NEG M0000 *3006: 00 00 '..' Z3008 STB MFDFD *3008: F7 FD FD '...' LDA MFDFE *300B: B6 FD FE '...' CLR MFDFD *300E: 7F FD FD '...' RTS *3011: 39 '9' Z3012 LDX M3002,PCR *3012: AE 8C ED '...' LDB #$01 *3015: C6 01 '..' Z3017 LDA MFDFE *3017: B6 FD FE '...' ANDA #$80 *301A: 84 80 '..' BEQ Z301F *301C: 27 01 ''.' RTS *301E: 39 '9' Z301F BSR Z3008 *301F: 8D E7 '..' ASLA *3021: 48 'H' STA M3006,PCR *3022: A7 8C E1 '...' BSR Z3008 *3025: 8D E1 '..' ANDA #$7F *3027: 84 7F '..' ORA M3006,PCR *3029: AA 8C DA '...' STA ,X+ *302C: A7 80 '..' CMPX M3004,PCR *302E: AC 8C D3 '...' BGE Z3035 *3031: 2C 02 ',.' BRA Z3017 *3033: 20 E2 ' .' Z3035 STX M3006,PCR *3035: AF 8C CE '...' RTS *3038: 39 '9' Z3039 LDX M3002,PCR *3039: AE 8C C6 '...' LDB #$02 *303C: C6 02 '..' Z303E LDA ,X+ *303E: A6 80 '..' STA MFDFE *3040: B7 FD FE '...' STB MFDFD *3043: F7 FD FD '...' CLR MFDFD *3046: 7F FD FD '...' CMPX M3004,PCR *3049: AC 8C B8 '...' BGE Z3050 *304C: 2C 02 ',.' BRA Z303E *304E: 20 EE ' .' Z3050 STX M3006,PCR *3050: AF 8C B3 '...' RTS *3053: 39 '9' Z3054 LDX M3002,PCR *3054: AE 8C AB '...' LDB #$20 *3057: C6 20 '. ' ABX *3059: 3A ':' CMPX M3000,PCR *305A: AC 8C A3 '...' BPL Z3064 *305D: 2A 05 '*.' STX M3004,PCR *305F: AF 8C A2 '...' BRA Z306A *3062: 20 06 ' .' Z3064 LDX M3000,PCR *3064: AE 8C 99 '...' STX M3004,PCR *3067: AF 8C 9A '...' Z306A BSR Z3039 *306A: 8D CD '..' CMPX M3000,PCR *306C: AC 8C 91 '...' BEQ Z3076 *306F: 27 05 ''.' STX M3002,PCR *3071: AF 8C 8E '...' BRA Z3054 *3074: 20 DE ' .' Z3076 RTS *3076: 39 '9' Z3077 LDX M3002,PCR *3077: AE 8C 88 '...' LDB #$20 *307A: C6 20 '. ' ABX *307C: 3A ':' CMPX M3000,PCR *307D: AC 8C 80 '...' BPL Z3088 *3080: 2A 06 '*.' STX M3004,PCR *3082: AF 8D FF 7E '...~' BRA Z3090 *3086: 20 08 ' .' Z3088 LDX M3000,PCR *3088: AE 8D FF 74 '...t' STX M3004,PCR *308C: AF 8D FF 74 '...t' Z3090 BSR Z3012 *3090: 8D 80 '..' CMPX M3000,PCR *3092: AC 8D FF 6A '...j' BEQ Z309A *3096: 27 02 ''.' BRA Z3077 *3098: 20 DD ' .' Z309A RTS *309A: 39 '9' END |

>
- コンピュータとインターネット
>
- コンピュータ
>
- ソフトウェア




