ここから本文です
ブログを始めました・・・
前回で、このハードを単体で使うソフトはほぼ終了してますが
補足と今後の予定を願いを込めて書くこととします。

1)basicソフトを保存する場合の補足
既にFM-7の($33・$34)、($35・$36)のアドレスにおいて前者はbasicの
中間言語の先頭アドレスを保持し後者はこの値から1を引いた値が中間言語
の終端アドレスを保持してると説明してますが、FDD、RS232等を使わない
カセットベースの場合は($33・$34)は#0790(16進数)になってます。
この条件で保存したヘッダー付きデータをFDD等を使った環境で展開すると
正常に動作しません。あくまでも保存した時と同一の条件・環境で
FM-7のメモリに展開して下さい。理由は($33・$34)が#0790とは
違うことと、basic中間言語のリンクポインタも違うからです。

2)前回、公開したソフトをディスアセンブルしました。
現在、今回製作したデータ転送ハード&ソフトと組み合わせて、
高速にファミコンのディスクシステムをバックアップする仕組みを
予定してますが、その際に現在、使ってるPC用の6809のアセンブラや
ディスアセンブラがあると便利と考え用意しました。アセンブラと
ディスアセンブラは対になると思われる2セット用意しました。
今回はf9dasmと言うディスアセンブラを使いました。

・FM7DRV27_20181124.datのディスアセンブラ結果のみ掲載
こちらの結果は良好でした。
[root@localhost Linux]# ./f9dasm FM7DRV27_20181124.dat

*****************************************************
** Used Labels                                      *
*****************************************************
M0060   EQU     $0060
M00A0   EQU     $00A0
Z0470   EQU     $0470
MFDFD   EQU     $FDFD
MFDFE   EQU     $FDFE

*****************************************************
** Program Code / Data Areas                        *
*****************************************************
        ORG     $0000

M0000   NEG     M0000                    *0000: 00 00          '..'
M0002   LSR     M0060                    *0002: 04 60          '.`'
M0004   LSR     M00A0                    *0004: 04 A0          '..'
M0006   NEG     M0000                    *0006: 00 00          '..'
Z0008   STB     MFDFD                    *0008: F7 FD FD       '...'
        LDA     MFDFE                    *000B: B6 FD FE       '...'
        CLR     MFDFD                    *000E: 7F FD FD       '...'
        RTS                              *0011: 39             '9'
Z0012   LDX     M0002,PCR                *0012: AE 8C ED       '...'
        LDB     #$01                     *0015: C6 01          '..'
Z0017   LDA     MFDFE                    *0017: B6 FD FE       '...'
        ANDA    #$80                     *001A: 84 80          '..'
        BEQ     Z001F                    *001C: 27 01          ''.'
        RTS                              *001E: 39             '9'
Z001F   BSR     Z0008                    *001F: 8D E7          '..'
        ASLA                             *0021: 48             'H'
        STA     M0006,PCR                *0022: A7 8C E1       '...'
        BSR     Z0008                    *0025: 8D E1          '..'
        ANDA    #$7F                     *0027: 84 7F          '..'
        ORA     M0006,PCR                *0029: AA 8C DA       '...'
        STA     ,X+                      *002C: A7 80          '..'
        CMPX    M0004,PCR                *002E: AC 8C D3       '...'
        BGE     Z0035                    *0031: 2C 02          ',.'
        BRA     Z0017                    *0033: 20 E2          ' .'
Z0035   STX     M0006,PCR                *0035: AF 8C CE       '...'
        RTS                              *0038: 39             '9'
        LDX     M0002,PCR                *0039: AE 8C C6       '...'
        LDB     #$02                     *003C: C6 02          '..'
Z003E   LDA     ,X+                      *003E: A6 80          '..'
        STA     MFDFE                    *0040: B7 FD FE       '...'
        STB     MFDFD                    *0043: F7 FD FD       '...'
        CLR     MFDFD                    *0046: 7F FD FD       '...'
        CMPX    M0004,PCR                *0049: AC 8C B8       '...'
        BGE     Z0050                    *004C: 2C 02          ',.'
        BRA     Z003E                    *004E: 20 EE          ' .'
Z0050   RTS                              *0050: 39             '9'
        JSR     Z0012,PCR                *0051: AD 8C BE       '...'
        JSR     Z0470                    *0054: BD 04 70       '..p'
        RTS                              *0057: 39             '9'

        END

3)データ転送ハードの製作16で公開したハードに対応するソフト
ハードを用意すれば下のコードが動くには動くと思います
https://imgur.com/a/HpHTUX9

ファミコンのディスクシステムにおいて読み書き可能なソフトです。
ただ公開したソフトではディスクシステムのバックアップはできません。
高速にバックアップするために改変して行くことを今後の予定とします。
なお速さを期待しないのであれば「The BASIC誌」の1987年2月号に
ソフトは既に掲載されてます。同志には回路図も掲載されてます。
自分は、そのコードを使って補助記憶装置として利用してましたが
再度、原点に戻ります。

ではまた。

この記事に

開くトラックバック(0)

<データを送信(保存)する時のソフトと使い方>
Header27_20181124
使用するアドレス:$0460-$04D8、使用バイト数:120バイト、
ワークエリア:$0460-$046F
機能:BASICの中間言語やマシン語ソフトにヘッダを付加する

FM7DRV27_20181124は指定領域に常駐してること
書き込みルーチンはメモリに常駐させておくことはできないので
必要な時にPCからその都度受信して使って下さい。

(1)アプリなりデータ(マシン語)なりをロードして下さい。

(2)Win、LinuxのPCからHeader27_20181124をFM-7に送信し、
FM7DRV27_20181124のプリミティブなデータ受信ルーチンを使い
FM-7で受信して下さい。事前にFM-7の$FC02からの2バイトに0460、
$FC04からの2バイトに04D8を手動で設定しておいて下さい。
この設定で$FC12をコールすればソフトが$0460-$04D8に展開します。
メモリへの設定は「MON」コマンドで、実行は「EXEC」コマンドで。

(3)
・basicソフトの場合
展開したHeader27_20181124の先頭アドレスに「01(16進数)」を
手動で設定して$04A0をコールする。先頭アドレスが「01」であれば
ヘッダを付加したデータをPC側に送信します。いわゆるbasic用の
($33・$34)、($35・$36)のアドレスはヘッダに保存されます。
念の為、($33・$34)、($35・$36)が保存してるアドレスについて
説明すると、前者はbasicの中間言語の先頭アドレスで、後者は
この値から1を引いた値がbasicの中間言語の終端アドレスです。

・マシン語の場合
展開したHeader27_20181124の先頭をオフセット0として、
オフセット0を「00」にしておくこと(手動)。オフセット2からの
2バイトにマシン語の先頭アドレスを、オフセット4からの2バイトに
マシン語の終端アドレス+1を設定(手動)して$04A0をコールする。

<補足>basicソフトの場合もマシン語の場合も
FM7DRV27_20181124のプリミティブなデータ送信ルーチンを
2回コールします。初回はヘッダを先頭に付加するため、2回目は
実際に送信(保存)したいデータを送るため。

<プログラムの詳細について>
ディスアセンブルして下さい。

<FM7DRV27_20181124.dat、常駐アドレス:$FC00-$FC57>
ワークエリア:$FC00-$FC07
0000046004A00000F7FDFDB6FDFE7FFD
FD39AE8CEDC601B6FDFE84802701398D
E748A78CE18DE1847FAA8CDAA780AC8C
D32C0220E2AF8CCE39AE8CC6C602A680
B7FDFEF7FDFD7FFDFDAC8CB82C0220EE
39AD8CBEBD047039

<Header27_20181124、使用するアドレス:$0460-$04D8>
ワークエリア:$0460-$046F
01000000000000000000000000000000
A68CED84012712AE8CE89F33BFFC02AE
8CE29F35BFFC04200CAE8CD6BFFC02AE
8CD2BFFC04BDFC123900000000000000
A68CBD8401270A9E33AF8CB69E35AF8C
B3BEFC02C6403ABFFC04BDFC39AF8CA6
AE8C9FBFFC02AE8C9BBFFC04BDFC39BF
FC06390000000000

<C言語側ソフトの手直し>
お使いのPC側のOSがLinuxの場合は下の不具合があります。
Windows の場合は判りませんが念の為、追加して下さい。

do {        } while(FT245RL_BROCK == len);
の中で下のように
        if (0 == len)  // 20181105
            break;
を追加して下さい。0 == len なら write(fd, send_buf, len*2);
はゼロバイトの書き込みのはずですが、FT245RL_BROCK*2 バイト分の
ゴミをFM-7に送ります。しかし手直しで不具合を解消することが吉かと。

     do {
            len = fread(buf,1,FT245RL_BROCK,file);
        if (0 == len)  // 20181105
            break;
          printf("fread %0d\n",len);  
            for(i = 0; i <FT245RL_BROCK; i++) {
                send_buf[2*i+1] = buf[i];      
                send_buf[2*i] = buf[i] >> 1;   
          }

             write(fd, send_buf, len*2);
    
        } while(FT245RL_BROCK == len);

<熱暴走、その他について>
FM-7で2時間から3時間の使用では安定動作してますが5時間前後
続けて使うと熱の影響のせいか、FT245RLが動作しなくなります。
FT245RLが冷えるまで休息を与えてあげて下さい。
(FM-7の電源を切って冷えるまで待つと言うことです)

C言語側のソフトを起動して「open error」が出る時は
USBコードを一旦外し再度接続するか、FM-7自体の電源を一旦は
切って再度入れてください。

なお今回でこのハードを単体で使うソフトはほぼ終了します。
このハードを製作した方がいるのかと思いながら、もし製作して
不具合を見つけた方がいましたら、ご報告下さい。

ではまた。

この記事に

開くトラックバック(0)

往々にしてあることですが予想より修正が多岐に渡りました。
ただし運良くメモリに常駐するFM7DRV27_20181124については
予定以上の機能を88バイトで収めることができました。苦労として
ヘッダに関するソフトHeader27_20181124をカセットバッファの
$0600以降に展開して動かそうとしましたがカセットバッファ・PSG
以外でも使用されており、使えませんでした。他の領域を探して
自分は何とか$460-$4D8で使えることを確認しましたが、他の方も
同一の領域で使えることの保証は控えます。とは言え試行錯誤しま
したのでコード自体は粉れた水準になったと認識してます。
Header27_20181124の使用領域を$460-$4D8として説明します。

またBASICは拡張してませんのでchain等の命令は使えません。
あくまでメモリに存在してるデータを保存したり保存したデータを
メモリに展開するだけの機能です。

なお現在の自分の使い方として、FM7DRV27_20181124は
カセットにセーブして、使用時にカセットからロードしてます。
Header27_20181124はLinux側に保存しており、使用する際に
Linux側から転送しFM-7で受信して使ってます。

<データ転送ハードのおける対応ソフトの構成>
FM7DRV27_20181124とHeader27_20181124で構成する。
ただしFM7DRV27_20181124、Header27_20181124とも
単一の機能ではなく複数の機能を有する。
二本のソフトにした理由はリニアな領域を確保できないから。
なお、$FC00-$FC57の領域を使うソフトには対応しません。

<速度について>
読み込みで7Kバイト/秒、買い込みで15Kバイト/秒程

<データを読む込む時の仕組みと各ルーチンの機能>
FM7DRV27_20181124
常駐アドレス:$FC00-$FC57、使用バイト数:88バイト、
ワークエリア:$FC00-$FC07、下の(1)から(3)の機能を持つ
FM7DRV27_20181124のプリミティブなデータ送受信ルーチンは
ポジション・インディベンドですがヘッダ付きデータの受信機能を
使う時はサブルーチンから固定アドレスの$FC12を更にコールして
ますのでアドレスの変更は不可です。
<補足>
前回はデータを読む込み機能のみメモリに常駐する予定でしたが
運良く読む込み機能以外にプリミティブなデータ送信ルーチンも
メモリに常駐させても88バイトに収まりました。プリミティブな
データ送信ルーチンもメモリに常駐してると細かなデータの保存
をする時に便利です。

(1)プリミティブなデータ受信ルーチン
エントリ:$FC12、ワークエリアにデータを設定しコールする
機能:受信バッファのデータをメモリに展開する
コールする前に下のアドレスにデータを(手動で)設定すること
先頭アドレスを$FC02からの2バイトに、終端+1を$FC04からの
2バイトに設定する
<補足>
終了条件として二つの場合を想定してます。一つはXレジスタが
[終端+1]になった時、もう一つは$FDFEの7ビット(最上位ビット)
が[hi]になった時(受信バッファにデータがない)また後者で終了
した場合は、その時のXレジスタの内容を$FC06に書かない。
I/O操作をメモリを節約するためサブルーチン化したのでせめて、
速度低下を少しでも抑えようとした結果です。

(2)プリミティブなデータ送信ルーチン
エントリ:$FC39、ワークエリアにデータを設定しコールする
機能:メモリの内容を送信バッファに送る
コールする前に下のアドレスにデータを(手動で)設定すること
先頭アドレスを$FC02からの2バイトに、終端+1を$FC04からの
2バイトに設定する
<補足>
終了条件はXレジスタが[終端+1]になった時この領域($FC00-$FC57)
で使えるメモリが少なかったので終了時のXレジスタの内容を$FC06に
書き出す機能は省略する。

(3)ヘッダ付きデータの受信ルーチン
エントリ:$FC51、ワークエリアにデータを設定しコールする
機能:ヘッダ付き受信データをメモリに展開する
アドレス$FC02からの2バイトに#0460(16進数)を設定しアドレス
$FC04からの2バイトに#04A0(16進数)を設定する。
また$FC54からの3バイトは[JSR $470]になってると思います。

・第一段階でヘッダをメモリに展開する
ファイルの先頭から64バイトのヘッダ情報を$460-$4A0に展開する。
第二段階で展開する領域(先頭アドレスと終端アドレス+1)は
ヘッダにデータとして保有してるので、第二段階の下準備をする。
<注意>先頭アドレス及び終端アドレス+1はファイルにヘッダを
付加する際に固有値が書き込まれてる(か、あるいは書き込む)。
詳しくは、<データを送信(保存)する時の使い方>で説明します。

・第二段階でヘッダ情報に基ずき、保存データを指定領域に展開する
$FC51からサブルーチン($470)をコールした後に、($470から始まる)
サブルーチンがデータ本体のメモリを展開する領域をヘッダ情報から
取得し、そのデータを$FC02、$FC04に設定して$FC12をコールする。
またbasicソフトの時は($33・$34)、($35・$36)の復元もします。
因みに、ここの作業はプログラムが自動的にします。

<補足>
$FC51からサブルーチン($470)をコールする際に$FC02、$FC04に
設定したデータを作業の後に復元したかったのですがメモリが足り
ませんでした。ですので$FC02、$FC04の値はデータを展開した
アドレスに書き変わったままの状態です。$FC51を使う時にはコール
する毎に$FC02、$FC04に、それぞれ#0460、#04A0を設定して下さい。

・注意
BASICのアプリをメモリに展開し動かした後はアプリによってメモリ
使用領域に制限がかけられることがあります(例:clear命令等で)
この場合、次のアプリを続けてEXEC命令で$FC51をコールしメモリに
展開しようとすると制御が戻らないことがあります。アプリの動作後は
リセットして再度FM7DRV27_20181124を展開・設定して下さい。

<FM7DRV27_20181124.dat>と<Header27_20181124>のコード
及び、<データを送信(保存)する時のソフトと使い方>は
次回に投稿します。

この記事に

開くトラックバック(0)

まず前回の(2)の文で勘違いされる部分があったので明確にします。
具体的には↓の部分。この機能はHeader20181021でエントリーアドレスを
$61Aにした時です。
>このコードはプリミティブな読みルーチンとしても機能します。

次に前回の続きを始めます。
FM7DRV22_20181108は $7800-$787F に存在してることとします。

4)<PCに保存するFM-7用データ・ソフトにヘッダを付加する方法>
最初にPCに保存するために常駐するコードFM7DRV22_20181108を使って
ヘッダを付加するHeader20181021を指定アドレスに展開する必要があります。
使えるメモリ量に起因してソフトが2本に分散したため、このような手順・
操作が必要になりました。ただし通常は一回ヘッダ付きソフトをPCに保存
すれば読み込みはメモリに常駐するコードをコールするだけで何回でも
簡単に使えます。連続で複数のソフトを保存する時はカセットバッファを
Header20181021が使いますので、ソフトがカセット版の時は1本のソフトを
保存するごとに、その都度Header20181021を指定アドレスに展開して下さい。

・まずはFM-7上にFM7DRV22_20181108が存在する状態にして下さい。
・その後、FM-7側でPCに保存したいデータ・ソフトをロードして下さい。
現版は$790-$(8000 - 100)(16進数)まで使うソフトに対応してます。
この時はメモリ上のデータ全て保存する為には、FM7DRV22_2018110を
$7F00-$7F7Fに展開して下さい。今回説明するアドレスとは違います。

・PC側からHeader20181021をFM-7に送信して下さい。
・Header20181021をFM-7で受信して下さい。
この時、事前にFM7DRV22_20181108のワークエリアの$7802から始まる
2バイトに0600(16進数)、$7804から始まる2バイトに0680(16進数)を
設定しておいて下さい。ユーティリティがなければモニタの「M」コマンドで
設定できます。因みにマシン語コードの起動(コール)は「exec」です。
この設定が終われば$7810(受信エントリー)をコールすればHeader20181021を
$0600-$0680に展開(格納)できます。

・<basicソフトの場合>
Header20181021が$0600-$0680に存在してる状態でbasicソフト
であれば$0600に「01(16進数)」を設定して$064Aをコールすれば
ヘッダを付加したデータをPC側に送信します。いわゆるbasic用の
($33・$34)、($35・$36)のアドレスはヘッダーに保存されます。
因みに、このコードは$0600が01であればbasicソフトと判断します。
念の為、($33・$34)、($35・$36)が保存してるアドレスについて
説明すると、前者はbasicの中間言語の先頭アドレスで、後者は
この値から1を引いた値がbasicの中間言語の終端アドレスです。

・<マシンの場合>
Header20181021が$0600-$0680に存在してる状態でマシン語を
PC側に送信するには事前にワークエリア$0602から始まる2バイトに
マシン語の先頭アドレス(16進数)を、$0604から始まる2バイトに
終了アドレス+1(16進数)を設定しておいて下さい。この設定後
($0600は「00(16進数)」にしておくこと)$064Aをコールすれば
ヘッダ付きのマシン語ソフトをPC側に送信できます。

5)<PCからヘッダが付加されたFM-7用データ・ソフトを読む方法>
・PCからヘッダ付きのFM-7用データ・ソフトを送信して下さい。
・FM7DRV22_20181108をロードした状態にしてワークエリアには
事前に$7802から始まる2バイトに0600(16進数)、$7804から始まる
2バイトに0640(16進数)を設定しておいて下さい。この設定の後に、
$7860をコールして下さい。自分の説明と、説明に沿った操作に
間違いが無ければPCに保存したソフトがFM-7上で復元します。
このFM-7上に復元する時のアドレスはPC側からでも変更できます。
念の為、付け加えるとbasicソフトについては変更しないで下さい。

6)このハードに対応するソフトで今後の予定。
既に何回か説明してる通り、FM7DRV22_20181108を$FC00-FC7Fで
使う予定でしたがC-DOS7に同梱していた拡張モニタと競合しますので
このハードに対応するソフトの常駐アドレスは$FC00-FC57として
読み込み機能だけにします。書き込み時は、その都度、書き込み
ルーチンを読み込めば良いと考えます。また製作の作業量としては
$FC00-FC7Fの128バイトに収めようとした時から使うメモリ量を
詳細に計算しましたので機能の役割を再構成するメドは立っています。
これができれば、このハードに対応するソフトは単独では最後です。
ただしバグ修正や細かな修正はあるかも知れません。

そう言えば「製作10」で説明した「読み込みプログラム:53バイト」は
計算間違いしてました。正確には「54バイト」です。同様に書き込み
プログラムは「26バイト」です。Header20181021をディスアセンブル
すれば判ると思いますが、I/O操作で9バイト必要ですので、ここを
サブルーチン化すれば5バイト減るので53バイトを48バイトにでき、
48バイトになれば先頭のワークエリアと合わせて64バイトなるハズと
計算しました。ともあれコーディングすると65バイトになりました。
そこで再度確認すると、「53バイト」は間違いで「54バイト」でした。
そのため48バイト以内にするため一部機能(どこをロードしてるか)を
削除してます。そして何故、64バイトにしたかったと言うとヘッダーを
64バイト以内にしたかったからです。ヘッダーは16の倍数(2のべき乗)
でないとソフトウェア美学に反すると言うことが理由です。(大袈裟)

7)ファミコン用のディスクシステムを読み書きするツールについて
取り敢えず、配線図に記載されてるIC1は74LS38、IC2は74LS138、
IC3は74LS136、抵抗は2.2KΩ、ファミコン用コネクタは60ピンです。
配線図は自分に著作権があると考えますが商用でなく個人用であれば
自由に使って構いません。出典は「The BASIC誌」1987年2月号です。

今回は以上です、ではまた。

この記事に

開くトラックバック(0)

北海道では冬支度が必須で10月下旬から忙しい日々が続きました。
そう言う背景もあり、暫く間が空きましたが何度目でしょうか。

早速ですけど↓の画像サイトに今回、題材にするコードがあります。
https://imgur.com/a/9hEKQGg

PC側に保存する時、ソフト(データ)にヘッダを付加する機能について

1)FM7DRV22_20181108(1枚目の画像:120バイト)
FT245RL用ハードに対しFM-7側から読み書きするルーチンです。
「製作10」で公開したコードの後ろに24バイト追加しました。
1行に16バイトあるので、最後の2行の AD から始まり 39 で終る
16進数値を追加してください。(LinuxのGHexで表示してます)

昨日は、このデータ転送ハードの製作の内容は単独では終演に近いと
思ったのも束の間、$FC00-FC7Fで使うと自分が今回、6809用ソフト
の製作で使用してるC-DOS7に同梱していた拡張モニタと競合することが
判明しました。ポジション・インディベンドな仕様ではありますが、
未テストですの、現在自分が使ってるアドレスで説明します。因みに
競合する領域は$FC58-$FC71です。C-DOS7のマニュアルP51参照のこと。

FM7DRV22_20181108は $7800-$7880 に存在するとします。

<機能>
・プリミティブなルーチン(ポジション・インディベンド)
データ受信ルーチン:$7810(エントリーアドレス)
データ送信ルーチン:$7845(エントリーアドレス)
以上の機能は「製作10」で説明済み

・ヘッダー(情報)がある時の読み込みルーチン
エントリーアドレス:$7860、ワークエリア:$7800-780F
機能:ヘッダー(情報)を固定アドレス($600-$640)にロードし
basicソフトの場合はヘッダー書かれてる$0602、$0604の各々の
アドレスを読取り($33・$34)、($35・$36)に書き戻す。
なおヘッダー情報に基きデータ・アプリを指定アドレスに展開する
機能(コード)は、このルーチンからコールするヘッダー情報自体に
あります。即ちヘッダーにはロードされるべきアドレス情報と、その
情報に基きロードするコードが含まれます。データとコードが一体化
してますので○○指向と言えるかも知れません(注:本気にしないで)

2)Header20181021(2枚目の画像:128バイト、新規コードです)
PCに保存するFM-7用データ・ソフトにヘッダを付加するルーチンと
コードの先頭から64バイトはヘッダ自体になります。後半の64バイト
がヘッダとFM-7用ソフトを書き込むルーチンになります。ヘッダ自体
にFM-7に展開するソフトの先頭・終了アドレスとデータを展開する
ためのルーチンを持つことは(1)で説明済み。

このルーチンもポジション・インディベンドですけど、このソフトの
第一義的な目的がカセット版アプリ等のメディアを代替することなので
アドレスは$600-$63Fに展開して下さい。FM7DRV22_20181108を使って
受信する時には(1)で説明したプリミティブなデータ受信ルーチンを
使って受信して下さい。ヘッダーを書き込む時のエントリーアドレスは
$64Aです。また、このコードはプリミティブな読みルーチンとしても
機能します。因みに、ここの領域はカセットバッファです。また、この
領域はPSGでも使われてます。

3)読み書きソフトを2本にした理由
この機能を共有RAMに隣接する$FC00から$FC7FのRAMだけで実現したい
考えでしたけど「製作15」で説明したように128バイト以内で実現する
ことは不可能でした。既に読み書き用のプリミティブなコードで96バイト
使ってますので残り32バイトでヘッダを付加したりヘッダから先頭・終了
アドレスを読取り、指定アドレスにデータを展開することは無理でした。
使えそうなメモリを探した結果、カセットバッファをワークエリアとして
使う構想に至り、機能を実現するためソフトは2本になりました。
ヘッダを付加する読み書きするコードを128バイト以内に収めることは、
少くても自分には無理でした。

更には(1)で説明したようにメモリに常駐するコードを$FC00-$FC7Fの
領域で使おうとすると拡張モニタで使う$FC58-$FC71と競合しますので
FM7DRV22_20181108が担ってる機能を「読み込み」だけに絞って
$FC00-$FC88の領域で収めるように機能と分担を早晩、再編制します。

今回は以上です。(4)以降に使い方の説明を続けます、後日また。

この記事に

開くトラックバック(0)

[ すべて表示 ]

本文はここまでですこのページの先頭へ
みんなの更新記事