2023年3月25日土曜日

FM-7にRTCとSDを接続する試み(SDカード編 その2)

SDカード中のBASICプログラムファイルと機械語ファイルを読み込んで実行することができました

SDカードへの書き込みはまだ実現していませんが、とりあえず、読み込みはできるようになりました。

F-BASICのコマンド(FILES, LOAD, LOADM)でフロッピィディスクと同様にSDカードを扱えるのが理想なのでしょうが、1セクタのサイズが512バイトであることもあり実現するのは私には難しいようです。

とりあえず、SDカードを用いてWindowsPCからFM-7へファイルを移動させるツールとして使用する前提で、常駐ソフトではなくその都度起動してSDカードを読むという形の専用プログラムにしました。

使用法のイメージは下図のようです。


使用イメージ

通常使用しているFT245高速通信カードでは、ディスクイメージを丸ごとコピーするのですが、このSDカード使用の場合は特定のファイルを選択してFM-7に移すことができます。

プログラムの起動画面です


起動画面

メニュー項目は

1.指定したセクタのリード
2.SDカードのデータ取得・表示
3.SDカードの初期化
4.MBR(Master Boot Record)内容の表示
5.BPB(Boot Parameter Block)内容の表示
6.FAT(File Allocation Table)内容の表示
7.DIR(Directory)内容の表示
8.指定ファイルの読み込み
で、前回との違いは、
・セクタへの書き込みを省いた。
・ディレクトリの表示形式を変更したことと、全ページを表示できるようにした。
・ファイルの読み込みを画面表示ではなく、メモリに展開してF-BASICと連携した。
の3つです。

その様子を下に示します。
ファイルのロードは前回のような番号ではなく、ファイル名の入力で選択します。


ディレクトリ表示とファイルのロード


メモリにロードしたBASICのプログラムは、下画面のように普通に表示できて実行もできます。


ロードしたBASICファイルをリスト表示

ここには示しませんでしたが、機械語ファイルも指定したアドレスに読み込まれます。


現在までに実現できた機能をまとめると

1.SDカードとSDHCカードに対応している。

2.普通にWindows上でSDカードに書き込んだファイルが読み込める。

3.F-BASICのプログラムファイルと機械語ファイルが扱える。


制限事項は

1.FM-7で使用することを前提としているので、32KBを超えるような大きなファイルには対応していない。

2.ファイル名には拡張子をつけてはいけない。(拡張子はチェックしていない)

3.ファイル名に小文字は使えない。(大文字に変換されてしまう)

4.F-BASICのプログラムファイルは中間言語に変換されたもののみで、アスキーセーブされたファイルは扱えない。(テキストエリアに直接書き込んでいるため)

5.機械語ファイルはF-BASICのディスク保存形式であること。


制約事項も多々ありますが、とりあえず、Windows上に保存してあったBASICプログラムファイルや機械語ファイルを、SDカードを介してFM-7に持ち込むツールとして使用できるのではと考えています。


さらに実現したいこと

残る課題は、当然、FM-7上でSDカードにプログラムなどを書き込んで、それをWindows上で読み込むという機能を実現することです。これができれば完成といえます。

しかし、これはFATを書き換えるということになりますので、FMS(ファイルマネージメントシステム)が絡んできますし、プログラムサイズも既に3KB近くになっていますので、さらに大きくなるとどこに配置するかも問題になってきます。

以上、6809のアセンブラでSDカードからのファイルの読み込みまで実現できたという報告でした。なお、使用しているFM-7本体のルーチンはINCHA, OUTCHA, CSRONの3つのみです。

作成したプログラムを下に示しておきます。



  1. 0001        *0002        *  SDHC9.TXT0003        *0004        *  SD Read/Write for FM-70005        *0006        *    use RTC & SD Card0007        *0008        *    6821(PIA) Port A <--> RTC (I2C Mode)0009        *0010        *        SBC      RTC                    Ext IO0011        *    CA2  2  -->       -->  HV4 LV4 -->  IO10012        *    PA0  3  -->  SCL  -->  HV1 LV1 -->  IO40013        *    PA1  4  <-- --="" 0014="" 10="" hv2="" io3="" lv2="" pa7="">  SDA  -->  HV3 LV3 -->  IO20015        *    GND     --        --           --   GND0016        *            --        --           --   3V30017        *0018        *0019        *    6821(PIA) Port B <--> SD (SPI Mode)0020        *0021        *        SBC                   SD0022        *    CB2 12  -->  HV4 LV4 -->  SCK0023        *    PB0 13  -->  HV1 LV1 -->  CS0024        *    PB1 14  <-- --="" 0025="" 20="" hv2="" lv2="" miso="" pb7="">  HV3 LV3 -->  MOSI0026        *    GND 31  --           --   GND0027        *    VCC 33  --           --   VCC0028        *0029        *    cf. all data line use level converter0030        *0031        *    PB  output mode0032        *    CB2 1bit output0033        *0034        *    READ/WRITE BUFFER  $6D00 - 6EFF0035        *0036        *    Load data to F-BASIC '2023.03.230037        *    Add command          '2023.03.140038        *    Change use Port B    '2023.03.070039        *    Original version     '2022.06.110040        *         Copyright by Y.Yamamoto0041        *0042  6000      STTADR  EQU     $6000       0043        0044  FBB8      INCHA   EQU     $FBB8       0045  FBBB      OUTCHA  EQU     $FBBB       0046  FBF7      CSRON   EQU     $FBF7       0047        0048  6D00      RWBUF   EQU     STTADR+$0D00    0049        0050  FD9E      PBDAT   EQU     $FD9E       0051  FD9F      PBCTL   EQU     PBDAT+1     0052  0033      BASADRP EQU     $33         pointer of adrs for F-BASIC0053  2000      TXTADR  EQU     $2000       for TEXT0054        0055  6000              ORG     STTADR      0056        0057  6000  20  58  START   BRA     MAIN        0058  6002  01    VN      FCB     1           0059  6003  00    SCTN0   FCB     0           top adrs of sct0060  6004  00    SCTN1   FCB     0           0061  6005  00    SCTN2   FCB     0           0062  6006  00    SCTN3   FCB     0           0063  6007  00    RESDAT  FCB     0           response data0064  6008  00    SDHC    FCB     0           sd:0,sdhc:10065        0066  6009  0000    SCTBPB  FDB     00          sct no of BPB(4bytes)0067  600B  0000            FDB     00          0068  600D  0000    SCTFAT  FDB     00          sct no of FAT#1(4bytes)0069  600F  0000            FDB     00          0070  6011  0000    SCTDIR  FDB     00          sct no of DIR(4bytes)0071  6013  0000            FDB     00          0072  6015  0000    SCTDSV  FDB     00          save sct no of DIR0073  6017  0000            FDB     00          0074  6019  0000    SCTCLT  FDB     00          sct no of top CLUSTER(4bytes)0075  601B  0000            FDB     00          if SD:#2, SDHC:#30076  601D  00    SCTPCL  FCB     0           sct per cluster0077  601E  FF    DIRENT  RMB     32          0078  603E  FF    WMDY    RMB     3           0079  6041  FF    WFSIZ   RMB     4           0080  6045  FF    FILSIZ  RMB     2           0081  6047  0000    CLSTH   FDB     00          0082  6049  0000    CLSTL   FDB     00          0083  604B  00    CNT     FCB     0           0084  604C  00    CNTSV   FCB     0           0085  604D  00    MCFLG   FCB     0           1:machine code, 0:else0086  604E  00    DPGFLG  FCB     0           1:1st page of DIR, 0:else0087  604F  FF    FNAME   RMB     9           0088  6058  0000    WK1     FDB     00          0089        0090  605A      MAIN    EQU     *           0091        *=====reset pia=====0092        *portB:output0093  605A  86  30          LDA     #$30        0094  605C  B7  FD9F          STA     PBCTL       select ddra, cb2:00095  605F  86  FD          LDA     #$FD        pb0,7:out,pb1:in0096  6061  B7  FD9E          STA     PBDAT       set output mode0097  6064  86  34          LDA     #$34        0098  6066  B7  FD9F          STA     PBCTL       select peripheral,cb2:00099         0100        *for pia exist check0101  6069  86  55          LDA     #$55        test data0102  606B  B7  FD9E          STA     PBDAT       0103  606E  B6  FD9E          LDA     PBDAT       0104  6071  84  FD          ANDA    #$FD        pb1=00105  6073  81  55          CMPA    #$55        0106  6075  27  07          BEQ     INIT        0107  6077  8E  6A30          LDX     #MERR       0108  607A  17  075F          LBSR    PSTRNG      0109  607D  39            RTS           return to BASIC0110        0111  607E      INIT    EQU     *           0112  607E  8D  59          BSR     SDINIT      0113        0114        ****************************************0115        * MAIN MENU0116        ****************************************0117  6080      MENU    EQU     *           0118  6080  8E  6976          LDX     #MSMENU1    0119  6083  17  0756          LBSR    PSTRNG      0120  6086  8E  69B6          LDX     #MSMENU2    0121  6089  17  0750          LBSR    PSTRNG      0122  608C  17  9B68          LBSR    CSRON       cursor on0123        0124  608F  BD  690B          JSR     INOUTC      0125  6092  80  30          SUBA    #$30        0126  6094  26  04          BNE     MEN1        0?0127  6096  17  068E          LBSR    CRLF        0128  6099  39            RTS           return to BASIC0129        0130  609A  4A    MEN1    DECA          1?0131  609B  26  05          BNE     MEN2        0132  609D  17  0279          LBSR    SDRD        0133  60A0  20  DE          BRA     MENU        0134  60A2  4A    MEN2    DECA          2?0135  60A3  26  05          BNE     MEN3        0136  60A5  17  01E3          LBSR    GETSD       0137  60A8  20  D6          BRA     MENU        0138  60AA  4A    MEN3    DECA          3?0139  60AB  26  04          BNE     MEN4        0140  60AD  8D  2A          BSR     SDINIT      0141  60AF  20  CF          BRA     MENU        0142  60B1  4A    MEN4    DECA          4?0143  60B2  26  05          BNE     MEN5        0144  60B4  17  0275          LBSR    DSPMBR      0145  60B7  20  C7          BRA     MENU        0146  60B9  4A    MEN5    DECA          5?0147  60BA  26  05          BNE     MEN6        0148  60BC  17  02C7          LBSR    DSPBPB      0149  60BF  20  BF          BRA     MENU        0150  60C1  4A    MEN6    DECA          6?0151  60C2  26  05          BNE     MEN7        0152  60C4  17  02D1          LBSR    DSPFAT      0153  60C7  20  B7          BRA     MENU        0154  60C9  4A    MEN7    DECA          7?0155  60CA  26  05          BNE     MEN8        0156  60CC  17  02DB          LBSR    DSPDIR      0157  60CF  20  AF          BRA     MENU        0158  60D1  4A    MEN8    DECA          8?0159  60D2  26  AC          BNE     MENU        0160  60D4  17  0398          LBSR    LDFILE      0161  60D7  20  A7          BRA     MENU        0162        *0163        ****************************************0164        * SD Initialize routine0165        ****************************************0166  60D9      SDINIT  EQU     *           0167        *---------- start ----------0168  60D9  8E  6A14          LDX     #MSINIT     0169  60DC  17  06FD          LBSR    PSTRNG      0170        * cs:1,di:1,sck>74ms0171  60DF  86  FF          LDA     #$FF        mosi:b7=H,miso:b1=H(for PIA),cs:b0=H0172  60E1  B7  FD9E          STA     PBDAT       0173  60E4  C6  50          LDB     #80         80times0174  60E6  17  0603  ISTT    LBSR    SETCKL      0175  60E9  17  0609          LBSR    SETCKH      0176  60EC  5A            DECB          0177  60ED  26  F7          BNE     ISTT        0178        *0179        *---------- cmd 0 ----------0180  60EF      SCMD0   EQU     *           0181        * LDX #MCMD00182        * LBSR PSTRNG0183         0184  60EF  17  05FA          LBSR    SETCKL      0185  60F2  C6  06          LDB     #6          0186  60F4  8E  6912          LDX     #CMD0       0187  60F7  A6  80  SC01    LDA     ,X+         0188  60F9  17  057B          LBSR    SNDDAT      0189  60FC  5A            DECB          0190  60FD  26  F8          BNE     SC01        0191        *get response0192  60FF  5F            CLRB          0193  6100      GR00          0194  6100  5A            DECB          0195  6101  1027  020D          LBEQ    SDERR       0196  6105  17  058B          LBSR    GETDAT      0197  6108  B6  6007          LDA     RESDAT      0198        * LBSR DSPBIN disp response0199  610B  81  01          CMPA    #$01        0200  610D  26  F1          BNE     GR00        0201        * LBSR CRLF0202        *0203        *---------- cmd 8 ----------0204  610F      SCMD8   EQU     *           0205        * LDX #MCMD80206        * LBSR PSTRNG0207         0208  610F  17  05DA          LBSR    SETCKL      0209  6112  86  FF          LDA     #$FF        dummy cmd0210  6114  17  0560          LBSR    SNDDAT      0211  6117  C6  06          LDB     #6          0212  6119  8E  692A          LDX     #CMD8       0213  611C  A6  80  SC80    LDA     ,X+         0214  611E  17  0556          LBSR    SNDDAT      0215  6121  5A            DECB          0216  6122  26  F8          BNE     SC80        0217        *get response0218  6124      GR80          0219  6124  17  056C          LBSR    GETDAT      0220  6127  B6  6007          LDA     RESDAT      0221         0222  612A  17  0566          LBSR    GETDAT      0223  612D  B6  6007          LDA     RESDAT      0224        * LBSR DSPBIN disp response0225  6130  81  01          CMPA    #$01        0226  6132  26  F0          BNE     GR80        0227  6134  C6  04          LDB     #4          0228  6136  17  055A  GR81    LBSR    GETDAT      0229  6139  B6  6007          LDA     RESDAT      0230        * LBSR DSPBIN disp response0231  613C  5A            DECB          0232  613D  26  F7          BNE     GR81        0233        * LBSR CRLF0234        *0235        *---------- cmd 58 ----------0236  613F      SCMD58  EQU     *           0237        * LDX #MCMD580238        * LBSR PSTRNG0239         0240  613F  17  05AA          LBSR    SETCKL      0241  6142  86  FF          LDA     #$FF        dummy cmd0242  6144  17  0530          LBSR    SNDDAT      0243  6147  C6  06          LDB     #6          0244  6149  8E  6930          LDX     #CMD58      0245  614C  A6  80  SC581   LDA     ,X+         0246  614E  17  0526          LBSR    SNDDAT      0247  6151  5A            DECB          0248  6152  26  F8          BNE     SC581       0249        *get response0250  6154      GR580         0251  6154  17  053C          LBSR    GETDAT      0252  6157  B6  6007          LDA     RESDAT      0253        * LBSR DSPBIN disp response0254  615A  81  01          CMPA    #$01        0255  615C  26  F6          BNE     GR580       0256  615E  C6  04  GR581   LDB     #4          0257  6160  17  0530  GR582   LBSR    GETDAT      0258  6163  B6  6007          LDA     RESDAT      0259        * LBSR DSPBIN disp response0260  6166  5A            DECB          0261  6167  26  F7          BNE     GR582       0262  6169      RPT41   EQU     *           0263        *---------- cmd 55 ----------0264  6169      SCMD55  EQU     *           0265        * LDX #MCMD550266        * LBSR PSTRNG0267         0268  6169  17  0580          LBSR    SETCKL      0269  616C  86  FF          LDA     #$FF        dummy cmd0270  616E  17  0506          LBSR    SNDDAT      0271  6171  C6  06          LDB     #6          0272  6173  8E  6936          LDX     #CMD55      0273  6176  A6  80  SC551   LDA     ,X+         0274  6178  17  04FC          LBSR    SNDDAT      0275  617B  5A            DECB          0276  617C  26  F8          BNE     SC551       0277        *get response0278        * CLRB0279  617E      GR550         0280        * DECB0281        * BEQ SDERR0282  617E  17  0512          LBSR    GETDAT      0283  6181  B6  6007          LDA     RESDAT      0284        * LBSR DSPBIN disp response0285  6184  81  01          CMPA    #$01        0286  6186  26  F6          BNE     GR550       0287         0288        * LBSR CRLF0289        *---------- acmd 41 ----------0290  6188      ASCMD41 EQU     *           0291        * LDX #MCMD410292        * LBSR PSTRNG0293         0294  6188  17  0561          LBSR    SETCKL      0295  618B  86  FF          LDA     #$FF        dummy cmd0296  618D  17  04E7          LBSR    SNDDAT      0297  6190  C6  06          LDB     #6          0298  6192  8E  693C          LDX     #ACMD41     0299  6195  A6  80  ASC411  LDA     ,X+         0300  6197  17  04DD          LBSR    SNDDAT      0301  619A  5A            DECB          0302  619B  26  F8          BNE     ASC411      0303        *get response0304  619D      GR410         0305  619D  17  04F3          LBSR    GETDAT      0306  61A0  B6  6007          LDA     RESDAT      0307        * LBSR DSPBIN disp response0308  61A3  17  04ED          LBSR    GETDAT      0309  61A6  B6  6007          LDA     RESDAT      0310        * LBSR DSPBIN disp response0311  61A9  81  00          CMPA    #$00        0312  61AB  26  BC          BNE     RPT41       0313        * LBSR CRLF0314         0315        *---------- second cmd 58 ----------0316  61AD      SCMD258 EQU     *           0317        * LDX #MCMD580318        * LBSR PSTRNG0319         0320  61AD  17  053C          LBSR    SETCKL      0321  61B0  86  FF          LDA     #$FF        dummy cmd0322  61B2  17  04C2          LBSR    SNDDAT      0323  61B5  C6  06          LDB     #6          0324  61B7  8E  6930          LDX     #CMD58      0325  61BA  A6  80  SC2581  LDA     ,X+         0326  61BC  17  04B8          LBSR    SNDDAT      0327  61BF  5A            DECB          0328  61C0  26  F8          BNE     SC2581      0329        *get response0330  61C2      GR2580        0331  61C2  17  04CE          LBSR    GETDAT      0332  61C5  B6  6007          LDA     RESDAT      0333        * LBSR DSPBIN disp response0334  61C8  81  00          CMPA    #$00        0335  61CA  26  F6          BNE     GR2580      0336  61CC  17  04C4          LBSR    GETDAT      0337  61CF  B6  6007          LDA     RESDAT      0338        * LBSR DSPBIN disp response0339  61D2  48            LSLA          0340  61D3  48            LSLA          0341  61D4  24  03          BCC     GR2581      0342  61D6  7C  6008          INC     SDHC        if sdhc then 10343  61D9  C6  03  GR2581  LDB     #3          0344  61DB  17  04B5  GR2582  LBSR    GETDAT      0345  61DE  B6  6007          LDA     RESDAT      0346        * LBSR DSPBIN disp response0347  61E1  5A            DECB          0348  61E2  26  F7          BNE     GR2582      0349         0350  61E4  8E  69FA          LDX     #MSSD0      0351  61E7  B6  6008          LDA     SDHC        0352  61EA  27  03          BEQ     SD1         0353  61EC  8E  6A06          LDX     #MSSD1      0354  61EF  17  05EA  SD1     LBSR    PSTRNG      0355        *----------0356        *set sct no of BPB0357  61F2  17  0155          LBSR    GETMBR      0358  61F5  8E  6ECA          LDX     #RWBUF+446+8+4    0359  61F8  108E  6009          LDY     #SCTBPB     0360  61FC  C6  04          LDB     #4          0361  61FE  A6  82  ILOP1   LDA     ,-X         0362  6200  A7  A0          STA     ,Y+         0363  6202  5A            DECB          0364  6203  26  F9          BNE     ILOP1       0365         0366        *set sct no of FAT#10367  6205  17  0165          LBSR    GETBPB      0368  6208  8E  6009          LDX     #SCTBPB     0369  620B  108E  600D          LDY     #SCTFAT     0370  620F  C6  04          LDB     #4          0371  6211  A6  80  ILOP2   LDA     ,X+         0372  6213  A7  A0          STA     ,Y+         0373  6215  5A            DECB          0374  6216  26  F9          BNE     ILOP2       0375         0376  6218  8E  600D          LDX     #SCTFAT     0377  621B  108E  6D0E          LDY     #RWBUF+$0E    for SD & SDHC0378  621F  17  0589          LBSR    ADD42       0379         0380        *set sct no of DIR0381  6222  8E  600D          LDX     #SCTFAT     0382  6225  108E  6011          LDY     #SCTDIR     0383  6229  C6  04          LDB     #4          0384  622B  A6  80  ILOP3   LDA     ,X+         0385  622D  A7  A0          STA     ,Y+         0386  622F  5A            DECB          0387  6230  26  F9          BNE     ILOP3       0388         0389  6232  8E  6D16          LDX     #RWBUF+$16    for SD0390  6235  7D  6008          TST     SDHC        0391  6238  27  03          BEQ     SKP1        0392  623A  C6  0E          LDB     #$24-$16    0393  623C  3A            ABX           for SDHC0394  623D  1F  12  SKP1    TFR     X,Y         0395  623F  8E  6011          LDX     #SCTDIR     0396  6242  17  0566          LBSR    ADD42       0397  6245  17  0563          LBSR    ADD42       skip for FAT#20398         0399        *save no of directory0400  6248  8E  6011          LDX     #SCTDIR     0401  624B  108E  6015          LDY     #SCTDSV     0402  624F  C6  04          LDB     #4          0403  6251  A6  80  SCPY1   LDA     ,X+         0404  6253  A7  A0          STA     ,Y+         0405  6255  5A            DECB          0406  6256  26  F9          BNE     SCPY1       0407        0408        *set sct per cluster0409  6258  8E  6D0D          LDX     #RWBUF+$0D    0410  625B  A6  84          LDA     ,X          0411  625D  B7  601D          STA     SCTPCL      0412         0413        *set sct no of CLUSTER#20414  6260  8E  6011          LDX     #SCTDIR     0415  6263  108E  6019          LDY     #SCTCLT     0416  6267  C6  04          LDB     #4          0417  6269  A6  80  ILOP4   LDA     ,X+         0418  626B  A7  A0          STA     ,Y+         0419  626D  5A            DECB          0420  626E  26  F9          BNE     ILOP4       0421         0422  6270  108E  605A          LDY     #WK1+2      0423  6274  86  00          LDA     #$00        0424  6276  A7  A2          STA     ,-Y         0425  6278  86  20          LDA     #$20        for SD0426  627A  7D  6008          TST     SDHC        0427  627D  27  03          BEQ     SKP2        0428  627F  B6  601D          LDA     SCTPCL      for SDHC0429  6282  A7  A2  SKP2    STA     ,-Y         0430  6284  8E  6019          LDX     #SCTCLT     0431  6287  17  0521          LBSR    ADD42       0432        *----------0433  628A  39            RTS           0434        0435        ****************************************0436        * GET SD DATA ROUTINE0437        * use CMD90438        ****************************************0439  628B      GETSD   EQU     *           0440  628B  17  0499          LBSR    CRLF        0441  628E  17  045B          LBSR    SETCKL      0442  6291  C6  06          LDB     #6          0443  6293  8E  6942          LDX     #CMD9       0444  6296  A6  80  SC91    LDA     ,X+         0445  6298  17  03DC          LBSR    SNDDAT      0446  629B  5A            DECB          0447  629C  26  F8          BNE     SC91        0448        * LBSR CRLF0449        *get response0450  629E      GR90          0451  629E  17  03F2          LBSR    GETDAT      0452  62A1  B6  6007          LDA     RESDAT      0453        * LBSR DSPBIN disp response0454  62A4  81  00          CMPA    #$00        0455  62A6  26  F6          BNE     GR90        0456         0457        * LBSR CRLF0458  62A8  17  047C          LBSR    CRLF        0459  62AB  C6  14          LDB     #16+1+2+1   fe,crcH,crcL,ff0460  62AD  17  03E3  GR91    LBSR    GETDAT      0461  62B0  B6  6007          LDA     RESDAT      0462  62B3  17  0448          LBSR    DSPBIN      disp response0463  62B6  5A            DECB          0464  62B7  26  F4          BNE     GR91        0465  62B9  17  046B          LBSR    CRLF        0466        0467        *disp offset of MBR,FAT#1,DIR,CLUSTER#20468  62BC  8E  6A56          LDX     #MSOFS      0469  62BF  17  051A          LBSR    PSTRNG      0470  62C2  8E  6A66          LDX     #MSBPB      0471  62C5  17  0514          LBSR    PSTRNG      0472  62C8  8E  6009          LDX     #SCTBPB     0473  62CB  C6  04          LDB     #4          0474  62CD  A6  80  SCLOP1  LDA     ,X+         0475  62CF  17  042C          LBSR    DSPBIN      0476  62D2  5A            DECB          0477  62D3  26  F8          BNE     SCLOP1      0478        0479  62D5  8E  6A6F          LDX     #MSFAT      0480  62D8  17  0501          LBSR    PSTRNG      0481  62DB  8E  600D          LDX     #SCTFAT     0482  62DE  C6  04          LDB     #4          0483  62E0  A6  80  SCLOP2  LDA     ,X+         0484  62E2  17  0419          LBSR    DSPBIN      0485  62E5  5A            DECB          0486  62E6  26  F8          BNE     SCLOP2      0487        0488  62E8  8E  6A78          LDX     #MSDIR      0489  62EB  17  04EE          LBSR    PSTRNG      0490  62EE  8E  6011          LDX     #SCTDIR     0491  62F1  C6  04          LDB     #4          0492  62F3  A6  80  SCLOP3  LDA     ,X+         0493  62F5  17  0406          LBSR    DSPBIN      0494  62F8  5A            DECB          0495  62F9  26  F8          BNE     SCLOP3      0496        0497  62FB  8E  6A81          LDX     #MSCL2      0498  62FE  17  04DB          LBSR    PSTRNG      0499  6301  8E  6019          LDX     #SCTCLT     0500  6304  C6  04          LDB     #4          0501  6306  A6  80  SCLOP4  LDA     ,X+         0502  6308  17  03F3          LBSR    DSPBIN      0503  630B  5A            DECB          0504  630C  26  F8          BNE     SCLOP4      0505  630E  17  0416          LBSR    CRLF        0506  6311  39            RTS           0507        0508        *0509  6312      SDERR   EQU     *           0510  6312  8E  6A30          LDX     #MERR       0511  6315  17  04C4          LBSR    PSTRNG      0512  6318      OKEND         0513  6318  39            RTS           return to BASIC0514        *0515        ****************************************0516        * READ ROUTINE0517        * use CMD170518        * set sctno to $6005,60060519        * read data set to $6800-69FF0520        ****************************************0521  6319      SDRD    EQU     *           0522  6319  17  040B          LBSR    CRLF        0523  631C  17  038E          LBSR    INSCT       0524  631F  17  02FC          LBSR    RD1SCT      read 1 sct0525        0526        *disp data0527  6322  17  0402          LBSR    CRLF        0528  6325  17  0331          LBSR    DSPBUF      0529  6328  17  03FC          LBSR    CRLF        0530  632B  39            RTS           0531        0532        ****************************************0533        * Read MBR & Disp parameter of BPB0534        ****************************************0535  632C      DSPMBR  EQU     *           0536  632C  17  03F8          LBSR    CRLF        0537  632F  8D  19          BSR     GETMBR      0538        0539        *disp BPB0540  6331  17  03F3          LBSR    CRLF        0541  6334  8E  6EBE          LDX     #RWBUF+446    0542  6337  C6  10  GET1    LDB     #16         0543  6339  A6  80  GET2    LDA     ,X+         0544  633B  17  03C0          LBSR    DSPBIN      disp data0545  633E  5A            DECB          0546  633F  26  F8          BNE     GET2        0547  6341  17  03E3          LBSR    CRLF        0548  6344  8C  6EFE          CMPX    #RWBUF+510    446+16*40549  6347  25  EE          BLO     GET1        0550  6349  39            RTS           0551        0552        *----------------------------------------0553        *read MBR0554  634A      GETMBR  EQU     *           0555  634A  8E  6003          LDX     #SCTN0      0556  634D  C6  04          LDB     #4          0557  634F  4F            CLRA          0558  6350  A7  80  GPLOP   STA     ,X+         0559  6352  5A            DECB          0560  6353  26  FB          BNE     GPLOP       0561  6355  17  035D          LBSR    SETSCT      0562         0563  6358  17  02C3          LBSR    RD1SCT      read 1 sct0564  635B  39            RTS           0565        0566        *----------------------------------------0567        *set sector no to SCTN00568        *from X,X+1,X+2,X+3 to SCTN0-SCTN30569  635C      SETSNO  EQU     *           0570  635C  108E  6003          LDY     #SCTN0      0571  6360  C6  04          LDB     #4          0572  6362  A6  80  SELOP   LDA     ,X+         0573  6364  A7  A0          STA     ,Y+         0574  6366  5A            DECB          0575  6367  26  F9          BNE     SELOP       0576  6369  17  0349          LBSR    SETSCT      0577  636C  39            RTS           0578        0579        *----------------------------------------0580        *read BPB0581  636D      GETBPB  EQU     *           0582  636D  8D  DB          BSR     GETMBR      0583        *set sct no of BPB0584  636F  8E  6ECA          LDX     #RWBUF+446+8+4    0585  6372  108E  6003          LDY     #SCTN0      0586  6376  C6  04          LDB     #4          0587  6378  A6  82  GPLOP2  LDA     ,-X         0588  637A  A7  A0          STA     ,Y+         0589  637C  5A            DECB          0590  637D  26  F9          BNE     GPLOP2      0591  637F  17  0333          LBSR    SETSCT      0592         0593  6382  17  0299          LBSR    RD1SCT      read 1 sct0594  6385  39            RTS           0595        0596        ****************************************0597        * Disp BPB(Bios Parameter Block)0598        ****************************************0599  6386      DSPBPB  EQU     *           0600  6386  8E  6009          LDX     #SCTBPB     0601  6389  8D  D1          BSR     SETSNO      0602  638B  17  0290          LBSR    RD1SCT      read 1 sct0603         0604        *disp BPB0605  638E  17  0396          LBSR    CRLF        0606  6391  17  02C5          LBSR    DSPBUF      0607  6394  17  0390          LBSR    CRLF        0608  6397  39            RTS           0609        0610        ****************************************0611        * Disp FAT#10612        ****************************************0613  6398      DSPFAT  EQU     *           0614  6398  8E  600D          LDX     #SCTFAT     0615  639B  8D  BF          BSR     SETSNO      0616  639D  17  027E          LBSR    RD1SCT      read 1 sct0617         0618        *disp FAT0619  63A0  17  0384          LBSR    CRLF        0620  63A3  17  02B3          LBSR    DSPBUF      0621  63A6  17  037E          LBSR    CRLF        0622  63A9  39            RTS           0623        0624        ****************************************0625        * Disp Directory0626        ****************************************0627  63AA      DSPDIR  EQU     *           0628  63AA  7C  604E          INC     DPGFLG      set 1st page of DIR flag0629        *return no of DIR0630  63AD  108E  6019          LDY     #SCTDSV+4   0631  63B1  8E  6015          LDX     #SCTDIR+4   0632  63B4  C6  04          LDB     #4          0633  63B6  A6  A2  DRET0   LDA     ,-Y         0634  63B8  A7  82          STA     ,-X         0635  63BA  5A            DECB          0636  63BB  26  F9          BNE     DRET0       0637         0638  63BD  8E  6011  DSPFL0  LDX     #SCTDIR     0639  63C0  8D  9A          BSR     SETSNO      0640  63C2  17  0259          LBSR    RD1SCT      read 1 sct0641         0642        *disp FILE name0643  63C5  17  035F          LBSR    CRLF        0644  63C8  17  035C          LBSR    CRLF        0645  63CB  8E  6D00          LDX     #RWBUF      0646  63CE  7D  604E          TST     DPGFLG      1st page of DIR?0647  63D1  27  03          BEQ     DSKP1       0648  63D3  30  88 60         LEAX    96,X        skip top data0649  63D6      DSKP1         0650        0651  63D6  A6  84  DSPFL1  LDA     ,X          0652  63D8  1027  008F          LBEQ    DSPEND      if top of filename is 0 then end0653  63DC  81  E5          CMPA    #$E5        delete mark?0654  63DE  27  0A          BEQ     DSPCKE      0655  63E0  A6  0B          LDA     11,X        attr0656  63E2  81  0F          CMPA    #$0F        long file name?0657  63E4  27  04          BEQ     DSPCKE      0658  63E6  81  10          CMPA    #$10        directory?0659  63E8  26  0A          BNE     DSPFL2      0660  63EA  30  88 20 DSPCKE  LEAX    32,X        next directory entry0661  63ED  8C  6EE0          CMPX    #RWBUF+512-32   0662  63F0  24  60          BHS     DSPFL5      0663  63F2  20  E2          BRA     DSPFL1      0664         0665  63F4      DSPFL2        0666        *disp filename0667  63F4  C6  08          LDB     #8          0668  63F6  A6  80  DSPFL3  LDA     ,X+         0669  63F8  BD  FBBB          JSR     OUTCHA      0670  63FB  5A            DECB          0671  63FC  26  F8          BNE     DSPFL3      0672        *disp ext0673  63FE  86  2E          LDA     #'.         0674  6400  BD  FBBB          JSR     OUTCHA      0675  6403  C6  03          LDB     #3          0676  6405  A6  80  DSPFL4  LDA     ,X+         0677  6407  BD  FBBB          JSR     OUTCHA      0678  640A  5A            DECB          0679  640B  26  F8          BNE     DSPFL4      0680  640D  86  20          LDA     #'          0681  640F  BD  FBBB          JSR     OUTCHA      0682  6412  BD  FBBB          JSR     OUTCHA      0683        0684        *get FILE time data0685  6415  30  07          LEAX    7,X         0686  6417  EC  81          LDD     ,X++        0687  6419  FD  6058          STD     WK1         0688        0689        *get CLUSTER(H) data0690  641C  EC  81          LDD     ,X++        0691  641E  1E  89          EXG     A,B         0692  6420  FD  6047          STD     CLSTH       0693  6423  30  04          LEAX    4,X         0694  6425  EC  81          LDD     ,X++        0695  6427  1E  89          EXG     A,B         0696  6429  FD  6049          STD     CLSTL       0697         0698        *get FILE size data0699  642C  108E  6045          LDY     #WFSIZ+4    0700  6430  C6  04          LDB     #4          0701  6432  A6  80  DSPC1   LDA     ,X+         0702  6434  A7  A2          STA     ,-Y         0703  6436  5A            DECB          0704  6437  26  F9          BNE     DSPC1       0705        0706        *disp FILE size0707  6439  86  20          LDA     #'          0708  643B  BD  FBBB          JSR     OUTCHA      0709  643E  17  040C          LBSR    DSPSIZ      disp FILE size0710        0711        *disp FILE time0712  6441  FC  6058          LDD     WK1         0713  6444  17  03A5          LBSR    DSPYMD      disp MM-DD-YY0714        0715        *disp CLUSTER(H,L)0716  6447  17  0462          LBSR    DSPCLS      0717  644A  17  02DA          LBSR    CRLF        0718         0719  644D  8C  6F00          CMPX    #RWBUF+512    0720  6450  25  84          BLO     DSPFL1      0721  6452  8E  6011  DSPFL5  LDX     #SCTDIR     0722  6455  17  0192          LBSR    INCX4       sct no +10723  6458  7F  604E          CLR     DPGFLG      clear 1st page of DIR0724  645B  8E  6AC1          LDX     #MSNXTP     0725  645E  17  037B          LBSR    PSTRNG      0726  6461  BD  690B          JSR     INOUTC      0727  6464  81  20          CMPA    #'          0728  6466  26  03          BNE     DSPEND      0729  6468  16  FF52          LBRA    DSPFL0      0730  646B  17  02B9  DSPEND  LBSR    CRLF        0731  646E  39            RTS           0732        0733        ****************************************0734        * Load FILE0735        ****************************************0736  646F      LDFILE  EQU     *           0737        * LBSR DSPDIR0738  646F  7C  604E          INC     DPGFLG      set 1st page of DIR flag0739        *return no of DIR0740  6472  108E  6019          LDY     #SCTDSV+4   0741  6476  8E  6015          LDX     #SCTDIR+4   0742  6479  C6  04          LDB     #4          0743  647B  A6  A2  DRET1   LDA     ,-Y         0744  647D  A7  82          STA     ,-X         0745  647F  5A            DECB          0746  6480  26  F9          BNE     DRET1       0747         0748  6482  8E  6A91          LDX     #MSINFN     0749  6485  17  0354          LBSR    PSTRNG      0750  6488  17  0467          LBSR    FNMIN       0751         0752  648B  8E  6011  LDFL0   LDX     #SCTDIR     0753  648E  17  FECB          LBSR    SETSNO      0754  6491  17  018A          LBSR    RD1SCT      read 1 sct0755        0756  6494  8E  6D00          LDX     #RWBUF      0757  6497  7D  604E          TST     DPGFLG      1st page of DIR?0758  649A  27  03          BEQ     LDFL1       0759  649C  30  88 60         LEAX    96,X        skip top data0760        0761  649F  A6  84  LDFL1   LDA     ,X          0762  64A1  1027  00FA          LBEQ    LDNEND      if top of filename is 0 then end0763  64A5  81  E5          CMPA    #$E5        delete mark?0764  64A7  26  0A          BNE     LD1         0765  64A9  30  88 20         LEAX    32,X        next directory entry0766  64AC  8C  6F00          CMPX    #RWBUF+512    over buf?0767  64AF  24  0F          BHS     LDFL5       0768  64B1  20  EC          BRA     LDFL1       0769        0770        *check file name0771  64B3      LD1           0772  64B3  17  041B          LBSR    CMPFN       C=1:match0773  64B6  25  13          BCS     LD2         0774  64B8  30  88 20         LEAX    32,X        0775  64BB  8C  6F00          CMPX    #RWBUF+512    0776  64BE  25  DF          BLO     LDFL1       0777         0778  64C0      LDFL5         0779  64C0  8E  6011          LDX     #SCTDIR     0780  64C3  17  0124          LBSR    INCX4       sct no +10781  64C6  7F  604E          CLR     DPGFLG      clear 1st page of DIR0782  64C9  20  C0          BRA     LDFL0       0783         0784        *hit file, get dirctory entry0785  64CB  C6  20  LD2     LDB     #32         0786  64CD  108E  601E          LDY     #DIRENT     0787  64D1  A6  80  DCPY    LDA     ,X+         0788  64D3  A7  A0          STA     ,Y+         0789  64D5  5A            DECB          0790  64D6  26  F9          BNE     DCPY        0791  64D8  8E  601E          LDX     #DIRENT     0792         0793        *get cluster no0794  64DB  EC  88 14         LDD     $14,X       0795  64DE  1E  89          EXG     A,B         0796  64E0  FD  6047          STD     CLSTH       high cluster no0797  64E3  EC  88 1A         LDD     $1A,X       0798  64E6  1E  89          EXG     A,B         0799  64E8  FD  6049          STD     CLSTL       low cluster no0800        *sub start cluster no (SD:2,SDHC:3)0801  64EB  83  0002          SUBD    #2          0802  64EE  7D  6008          TST     SDHC        SD:0,SDHC:10803  64F1  27  03          BEQ     LD3         0804  64F3  83  0001          SUBD    #1          D:cluster no (start 0)0805         0806  64F6  34  36  LD3     PSHS    A,B,X,Y     0807  64F8  8E  6019          LDX     #SCTCLT     0808  64FB  108E  6058          LDY     #WK1        0809  64FF  C6  04          LDB     #4          0810  6501  A6  80  LD4     LDA     ,X+         0811  6503  A7  A0          STA     ,Y+         0812  6505  5A            DECB          0813  6506  26  F9          BNE     LD4         0814  6508  35  36          PULS    A,B,X,Y     0815        0816        *(B)x40h0817  650A  34  30          PSHS    X,Y         0818  650C  8E  6058          LDX     #WK1        0819  650F  17  00E7          LBSR    ADD40H      0820  6512  35  30          PULS    X,Y         0821         0822        *get file size0823  6514  34  30          PSHS    X,Y         0824  6516  30  88 20         LEAX    32,X        0825  6519  108E  6041          LDY     #WFSIZ      0826  651D  C6  04          LDB     #4          0827  651F  A6  82  LD41    LDA     ,-X         0828  6521  A7  A0          STA     ,Y+         0829  6523  5A            DECB          0830  6524  26  F9          BNE     LD41        0831  6526  35  30          PULS    X,Y         0832         0833  6528  EC  88 1D         LDD     $1D,X       upper of file size0834  652B  1E  89          EXG     A,B         0835  652D  44            LSRA          wfsiz/$200+10836  652E  56            RORB          0837  652F  C3  0001          ADDD    #1          0838         0839  6532  C1  40          CMPB    #$40        40h page?0840  6534  23  02          BLS     LD5         0841  6536  C6  40          LDB     #$40        0842  6538  F7  604B  LD5     STB     CNT         sct counter0843  653B  F7  604C          STB     CNTSV       0844         0845        *set start sct no0846  653E      LD6           0847  653E  34  30          PSHS    X,Y         0848  6540  8E  6058          LDX     #WK1        0849  6543  108E  6003          LDY     #SCTN0      0850  6547  C6  04          LDB     #4          0851  6549  A6  80  LD7     LDA     ,X+         0852  654B  A7  A0          STA     ,Y+         0853  654D  5A            DECB          0854  654E  26  F9          BNE     LD7         0855  6550  35  30          PULS    X,Y         0856         0857  6552  17  0160          LBSR    SETSCT      0858  6555  17  00C6          LBSR    RD1SCT      read 1 file data0859         0860  6558  7F  604D          CLR     MCFLG       set not machine code0861  655B  B6  604C          LDA     CNTSV       0862  655E  B1  604B          CMPA    CNT         top sector read?0863  6561  26  1B          BNE     LD8         0864         0865        *at top sector, ini set0866        *offset 00 data is0867        *  $00    :machine code (MCFLG=0)0868        *  $FF,$FE:BASIC PROGRAM (binary save) (MCFLG=$FF,$FE)0869        *  else   :general text (MCFLG=1)0870  6563  10BE  6043          LDY     WFSIZ+2     0871  6567  10BF  6045          STY     FILSIZ      set file size0872         0873  656B  8E  6D00          LDX     #RWBUF      0874  656E  A6  84          LDA     ,X          00?(machine code?)0875  6570  B7  604D          STA     MCFLG       0876  6573  26  09          BNE     LD8         0877        *at machine code, read header0878        * INC MCFLG set machine code0879  6575  10AE  01          LDY     1,X         get file size0880  6578  10BF  6045          STY     FILSIZ      0881  657C  EE  03          LDU     3,X         get store addr0882         0883  657E  DE  33  LD8     LDU     BASADRP     get text buffer adr0884  6580  4D            TSTA          0885  6581  2B  03          BMI     LD9         $FFor$FE (basic code?)0886  6583  CE  2000          LDU     #TXTADR     (else)0887  6586      LD9           0888  6586  8D  1F          BSR     MEMSET      0889        0890  6588  8E  6058          LDX     #WK1        0891  658B  8D  5D          BSR     INCX4       sct no +10892  658D  7F  604E          CLR     DPGFLG      clear 1st page of DIR0893  6590  7A  604B          DEC     CNT         0894  6593  26  A9          BNE     LD6         0895         0896  6595  8E  6AA7  LDEND   LDX     #MSLDED     0897  6598  17  0241          LBSR    PSTRNG      0898  659B  17  0189  LDE1    LBSR    CRLF        0899  659E  39            RTS           0900  659F  8E  6AB3  LDNEND  LDX     #MSNOFL     0901  65A2  17  0237          LBSR    PSTRNG      0902  65A5  20  F4          BRA     LDE1        0903        0904        *0905        *data to memory0906        *U:memory adr0907        0908  65A7      MEMSET  EQU     *           0909  65A7  34  30          PSHS    X,Y         0910  65A9  8E  6D00          LDX     #RWBUF      0911  65AC  B6  604D          LDA     MCFLG       0,1,$FF($FE)0912  65AF  27  07          BEQ     MS1         0913  65B1  2B  12          BMI     MS2         0914        *text file0915  65B3  CE  2000          LDU     #TXTADR     (else)0916  65B6  20  1B          BRA     MSLOP0      0917        *machine code0918  65B8      MS1            0919  65B8  10AE  01          LDY     1,X         get file size0920  65BB  10BF  6045          STY     FILSIZ      0921  65BF  EE  03          LDU     3,X         get store addr0922  65C1  30  05          LEAX    5,X         skip header0923  65C3  20  0E          BRA     MSLOP0      0924        *basic program(binary save)0925  65C5      MS2            0926  65C5  30  03          LEAX    3,X         skip 3 $FFs0927  65C7  10BE  6045          LDY     FILSIZ      0928  65CB  31  3D          LEAY    -3,Y        0929  65CD  10BF  6045          STY     FILSIZ      0930  65D1  DE  33          LDU     BASADRP     get text buffer adrs0931         0932  65D3  10BE  6045  MSLOP0  LDY     FILSIZ      0933  65D7  A6  80  MSLOP   LDA     ,X+         0934  65D9  A7  C0          STA     ,U+         0935  65DB  31  3F          LEAY    -1,Y        0936  65DD  27  05          BEQ     MS3         0937  65DF  8C  6F00          CMPX    #RWBUF+512    0938  65E2  25  F3          BLO     MSLOP       0939  65E4  10BF  6045  MS3     STY     FILSIZ      0940  65E8  35  B0          PULS    X,Y,PC      0941        0942        *--------------------0943        *(X)..(X+3)+10944  65EA      INCX4   EQU     *           0945  65EA  6C  03  ADX0    INC     3,X         0946  65EC  24  02          BCC     ADX1        0947  65EE  6C  02          INC     2,X         0948  65F0  24  02  ADX1    BCC     ADX2        0949  65F2  6C  01          INC     1,X         0950  65F4  24  02  ADX2    BCC     ADX3        0951  65F6  6C  84          INC     ,X          0952  65F8  39    ADX3    RTS           0953        *0954        *(X)..(X+3)+(B)x40h0955  65F9      ADD40H  EQU     *           0956  65F9  34  06          PSHS    A,B         0957  65FB  A6  03  ADD0    LDA     3,X         0958  65FD  8B  40          ADDA    #$40        0959  65FF  A7  03          STA     3,X         0960  6601  24  06          BCC     ADD1        0961  6603  A6  02          LDA     2,X         0962  6605  8B  01          ADDA    #1          0963  6607  A7  02          STA     2,X         0964  6609  24  06  ADD1    BCC     ADD2        0965  660B  A6  01          LDA     1,X         0966  660D  8B  01          ADDA    #1          0967  660F  A7  01          STA     1,X         0968  6611  24  06  ADD2    BCC     ADD3        0969  6613  A6  84          LDA     ,X          0970  6615  8B  01          ADDA    #1          0971  6617  A7  84          STA     ,X          0972  6619  5A    ADD3    DECB          0973  661A  26  DF          BNE     ADD0        0974  661C  35  86          PULS    A,B,PC      0975        0976        *0977        *------------------------------0978        *read 1 sct0979        *------------------------------0980  661E      RD1SCT  EQU     *           0981        *copy sct no to cmd param0982  661E  8E  6003          LDX     #SCTN0      0983  6621  108E  691F          LDY     #CMD17+1    0984  6625  C6  04          LDB     #4          0985  6627  A6  80  CPY1    LDA     ,X+         0986  6629  A7  A0          STA     ,Y+         0987  662B  5A            DECB          0988  662C  26  F9          BNE     CPY1        0989        *send cmd0990  662E  17  00BB          LBSR    SETCKL      0991  6631  C6  06          LDB     #6          0992  6633  8E  691E          LDX     #CMD17      0993  6636  A6  80  RD1     LDA     ,X+         0994  6638  8D  3D          BSR     SNDDAT      0995  663A  5A            DECB          0996  663B  26  F9          BNE     RD1         0997        *get response0998  663D      RD2           0999  663D  8D  54          BSR     GETDAT      1000  663F  B6  6007          LDA     RESDAT      1001  6642  81  FE          CMPA    #$FE        token?1002  6644  26  F7          BNE     RD2         1003        1004        *get data1005        * LBSR CRLF1006  6646  8E  6D00          LDX     #RWBUF      <-temp -1="" 0094="" 00b3="" 00cb="" 0200="" 02="" 06="" 08="" 1007="" 1008="" 1009="" 1010="" 1011="" 1012="" 1013="" 1014="" 1015="" 1016="" 1017="" 1018="" 1019="" 1020="" 1021="" 1022="" 1023="" 1024="" 1025="" 1026="" 1027="" 1028="" 1029="" 1030="" 1031="" 1032="" 1033="" 1034="" 1035="" 1036="" 1037="" 1038="" 1039="" 1040="" 1041="" 1042="" 1043="" 1044="" 1045="" 1046="" 1047="" 1048="" 1049="" 1050="" 1051="" 1052="" 1053="" 1054="" 1055="" 1056="" 1057="" 1058="" 1059="" 1060="" 1061="" 1062="" 1063="" 108e="" 12="" 17="" 20="" 26="" 27="" 31="" 34="" 35="" 39="" 3f="" 44="" 48="" 53="" 57="" 5a="" 6007="" 63="" 6649="" 664d="" 664f="" 6652="" 6654="" 6656="" 6658="" 6659="" 665c="" 665f="" 6663="" 6665="" 6667="" 666a="" 666c="" 666e="" 666f="" 6671="" 6674="" 6676="" 6677="" 6679="" 667c="" 667e="" 6680="" 6682="" 6684="" 6687="" 6689="" 668b="" 668c="" 668e="" 668f="" 6691="" 6693="" 6695="" 6697="" 6699="" 669a="" 669b="" 669c="" 669e="" 66a1="" 66a2="" 67="" 6d00="" 7f="" 80="" 84="" 86="" 8a="" 8d="" 8e="" a6="" a7="" a="" anda="" b1-="" b6="" b7="" beq="" bne="" bra="" bsr="" buf="" c6="" clr="" crlf="" cs:b0="L" data="" decb="" disp="" dspb1="" dspb2="" dspb3="" dspbin="" dspbuf="" ed="" equ="" f4="" f5="" fc="" fd9e="" get="" getd1="" getdat="" lbsr="" lda="" ldb="" ldx="" ldy="" leay="" lsla="" lsra="" miso:b1="H(for" nop="" ora="" pbdat="" pia="" pshs="" puls="" rd3="" resdat="" response="" rts="" save="" send="" setckh="" setckl="" sndd1="" snddat="" sta="" temp="">C1064  66A3  79  6007          ROL     RESDAT      C->b01065  66A6  5A            DECB          1066  66A7  26  EE          BNE     GETD1       1067  66A9  8D  41          BSR     SETCKL      1068  66AB  35  86          PULS    A,B,PC      1069        *1070        *------------------------------1071        *input SCT No1072  66AD      INSCT   EQU     *           1073  66AD  8E  69E6          LDX     #MSSCT      1074  66B0  17  0129          LBSR    PSTRNG      1075  66B3  8D  7D          BSR     GET8CH      get 8chr, convert 4bin1076         1077  66B5      SETSCT  EQU     *           1078  66B5  34  32          PSHS    A,X,Y       1079  66B7  7D  6008          TST     SDHC        1080  66BA  26  1E          BNE     CALCHC      1081        *SD card1082  66BC  C6  03          LDB     #3          1083  66BE  8E  6004          LDX     #SCTN1      1084  66C1  108E  6003          LDY     #SCTN0      1085  66C5  A6  80  SFT1    LDA     ,X+         1086  66C7  A7  A0          STA     ,Y+         1087  66C9  5A            DECB          1088  66CA  26  F9          BNE     SFT1        1089  66CC  7F  6006          CLR     SCTN3       1090        *calc top adrs of sct1091  66CF      CALCSD  EQU     *           1092  66CF  78  6006          LSL     SCTN3       1093  66D2  79  6005          ROL     SCTN2       1094  66D5  79  6004          ROL     SCTN1       1095  66D8  35  B2          PULS    A,X,Y,PC    1096        1097        *SDHC card1098        *calc top adrs of sct1099  66DA      CALCHC  EQU     *           1100  66DA  8E  6003          LDX     #SCTN0      1101  66DD  108E  691F          LDY     #CMD17+1    1102  66E1  C6  04          LDB     #4          1103  66E3  A6  80  CALCH1  LDA     ,X+         1104  66E5  A7  A0          STA     ,Y+         1105  66E7  5A            DECB          1106  66E8  26  F9          BNE     CALCH1      1107  66EA  35  B2          PULS    A,X,Y,PC    1108        1109        *1110        *set sck:L1111  66EC      SETCKL  EQU     *           1112  66EC  34  02          PSHS    A           1113  66EE  86  34          LDA     #$34        ca2=L1114  66F0  B7  FD9F          STA     PBCTL       1115  66F3  35  82          PULS    A,PC        1116        1117        *set sck:H1118  66F5      SETCKH  EQU     *           1119  66F5  34  02          PSHS    A           1120  66F7  86  3C          LDA     #$3C        ca2=H1121  66F9  B7  FD9F          STA     PBCTL       1122  66FC  35  82          PULS    A,PC        1123        1124        *binary(A)->ascii(A)(B)1125  66FE      DSPBIN  EQU     *           1126  66FE  34  06          PSHS    A,B         1127  6700  1F  89          TFR     A,B         1128  6702  44            LSRA          1129  6703  44            LSRA          1130  6704  44            LSRA          1131  6705  44            LSRA          1132  6706  8A  30          ORA     #$30        1133  6708  C4  0F          ANDB    #$0F        1134  670A  CA  30          ORB     #$30        1135  670C  81  39          CMPA    #$39        1136  670E  23  02          BLS     BI21        1137  6710  8B  07          ADDA    #$07        1138  6712  C1  39  BI21    CMPB    #$39        1139  6714  23  02          BLS     BI22        1140  6716  CB  07          ADDB    #$07        1141  6718  BD  FBBB  BI22    JSR     OUTCHA      1142  671B  1F  98          TFR     B,A         1143  671D  BD  FBBB          JSR     OUTCHA      1144  6720  86  20          LDA     #$20        1145  6722  BD  FBBB          JSR     OUTCHA      1146  6725  35  86          PULS    A,B,PC      1147        1148        *crlf1149  6727      CRLF    EQU     *           1150  6727  86  0D          LDA     #$0D        1151  6729  BD  FBBB          JSR     OUTCHA      1152  672C  86  0A          LDA     #$0A        1153  672E  BD  FBBB          JSR     OUTCHA      1154  6731  39            RTS           1155        1156        *1157  6732      GET8CH  EQU     *           1158        *input chr1159  6732  8E  6ADA          LDX     #INPBUF     1160  6735  5F            CLRB          1161  6736  BD  690B  CLOP    JSR     INOUTC      1162  6739  81  0D          CMPA    #$0D        1163  673B  27  07          BEQ     INEND       1164  673D  A7  85          STA     B,X         1165  673F  5C            INCB          1166  6740  C1  08          CMPB    #8          1167  6742  25  F2          BLO     CLOP        1168        1169  6744      INEND          1170        *shift1171  6744  5D            TSTB          1172  6745  27  11          BEQ     CL1         1173  6747  8E  6ADA          LDX     #INPBUF     1174  674A  3A            ABX           1175  674B  108E  6AE2          LDY     #INPBUF+8   1176  674F  34  04          PSHS    B           1177  6751  A6  82  SFLOP   LDA     ,-X         1178  6753  A7  A2          STA     ,-Y         1179  6755  5A            DECB          1180  6756  26  F9          BNE     SFLOP       1181        *clr1182  6758  C6  08  CL1     LDB     #8          1183  675A  E0  E0          SUBB    ,S+         1184  675C  27  0A          BEQ     CLEND       1185  675E  8E  6ADA          LDX     #INPBUF     1186  6761  86  30          LDA     #'0         1187  6763  A7  80  CLLOP   STA     ,X+         1188  6765  5A            DECB          1189  6766  26  FB          BNE     CLLOP       1190  6768      CLEND         1191        1192        *convert to bin1193  6768  C6  04          LDB     #4          1194  676A  8E  6ADA          LDX     #INPBUF     1195  676D  108E  6003          LDY     #SCTN0      1196  6771      CVT1          1197  6771  A6  80          LDA     ,X+         1198  6773  8D  1E          BSR     CVBIN       1199  6775  25  16          BCS     EREND1      1200  6777  48            LSLA          1201  6778  48            LSLA          1202  6779  48            LSLA          1203  677A  48            LSLA          1204  677B  34  02          PSHS    A           1205  677D  A6  80          LDA     ,X+         1206  677F  8D  12          BSR     CVBIN       1207  6781  25  08          BCS     EREND0      1208  6783  AB  E0          ADDA    ,S+         1209  6785  A7  A0          STA     ,Y+         1210  6787  5A            DECB          1211  6788  26  E7          BNE     CVT1        1212  678A  39            RTS           1213         1214  678B  35  02  EREND0  PULS    A           1215  678D  8E  6A47  EREND1  LDX     #MSERR      1216  6790  8D  4A          BSR     PSTRNG      1217  6792  39    EEND    RTS           1218        1219        *--------------------1220        *ascii -> bin1221  6793      CVBIN   EQU     *           1222  6793  80  30          SUBA    #'0         1223  6795  2B  11          BMI     CVERR       1224  6797  81  09          CMPA    #9          1225  6799  23  0A          BLS     CVBEND      1226  679B  81  11          CMPA    #$11        1227  679D  25  09          BLO     CVERR       1228  679F  81  16          CMPA    #$16        1229  67A1  22  05          BHI     CVERR       1230  67A3  80  07          SUBA    #7          1231  67A5      CVBEND        1232  67A5  1C  FE          ANDCC   #$FE        reset C1233  67A7  39            RTS           1234  67A8  1A  01  CVERR   ORCC    #$01        set C1235  67AA  39            RTS           1236        1237        *--------------------1238        *add 2bytes to 4bytes1239        * X,X+1,X+2,X+3 + Y,Y+11240        * data X is big endian1241        * data Y is little endian1242  67AB      ADD42   EQU     *           1243  67AB  34  36          PSHS    A,B,X,Y     1244  67AD  32  7C          LEAS    -4,S        1245  67AF  C6  04          LDB     #4          1246  67B1  A6  80  AD1     LDA     ,X+         1247  67B3  A7  E0          STA     ,S+         1248  67B5  5A            DECB          1249  67B6  26  F9          BNE     AD1         1250         1251        *add (lower)1252  67B8  A6  A0          LDA     ,Y+         1253  67BA  AB  E2          ADDA    ,-S         1254  67BC  A7  E4          STA     ,S          1255  67BE  24  02          BCC     AD2         1256  67C0  6C  7F          INC     -1,S        1257        *add (upper)1258  67C2  A6  A4  AD2     LDA     ,Y          1259  67C4  AB  E2          ADDA    ,-S         1260  67C6  A7  E4          STA     ,S          1261  67C8  24  02          BCC     AD3         1262  67CA  6C  7F          INC     -1,S        1263  67CC  30  1C  AD3     LEAX    -4,X        1264  67CE  32  7E          LEAS    -2,S        1265  67D0  C6  04          LDB     #4          1266  67D2  A6  E0  AD4     LDA     ,S+         1267  67D4  A7  80          STA     ,X+         1268  67D6  5A            DECB          1269  67D7  26  F9          BNE     AD4         1270  67D9  35  36          PULS    A,B,X,Y     1271  67DB  39            RTS           1272        1273        *--------------------1274        * pstring1275  67DC      PSTRNG  EQU     *           1276  67DC  34  02          PSHS    A           1277  67DE  A6  80  PSLOP   LDA     ,X+         1278  67E0  81  04          CMPA    #4          1279  67E2  27  05          BEQ     PSEND       1280  67E4  BD  FBBB          JSR     OUTCHA      1281  67E7  20  F5          BRA     PSLOP       1282  67E9  35  02  PSEND   PULS    A           1283  67EB  39            RTS           1284        1285        *--------------------1286        *disp MM-DD-YY1287        *indata A(Low),B(High)1288  67EC      DSPYMD  EQU     *           1289  67EC  1E  89          EXG     A,B         1290  67EE  34  10          PSHS    X           1291  67F0  34  06          PSHS    A,B         1292  67F2  C4  E0          ANDB    #$E0        1293  67F4  54            LSRB          1294  67F5  54            LSRB          1295  67F6  54            LSRB          1296  67F7  54            LSRB          1297  67F8  54            LSRB          1298  67F9  47            ASRA          1299  67FA  24  02          BCC     DYMD1       1300  67FC  CB  08          ADDB    #8          1301  67FE  F7  603E  DYMD1   STB     WMDY        MM1302  6801  35  06          PULS    A,B         1303  6803  34  04          PSHS    B           1304  6805  C4  1F          ANDB    #$1F        1305  6807  F7  603F          STB     WMDY+1      DD1306  680A  35  04          PULS    B           1307         1308  680C  44            LSRA          1309        * ASLB1310        * BCC DYMD21311        * INCA1312  680D      DYMD2         1313  680D  80  14          SUBA    #20         A+1980-20001314  680F  B7  6040          STA     WMDY+2      YY1315         1316        *disp MM-DD-YY1317  6812  86  20          LDA     #'          1318  6814  BD  FBBB          JSR     OUTCHA      1319  6817  8E  603E          LDX     #WMDY       1320  681A  A6  80          LDA     ,X+         1321  681C  8D  14          BSR     DB2ASC      MM1322  681E  86  2D          LDA     #'-         1323  6820  BD  FBBB          JSR     OUTCHA      1324  6823  A6  80          LDA     ,X+         1325  6825  8D  0B          BSR     DB2ASC      DD1326  6827  86  2D          LDA     #'-         1327  6829  BD  FBBB          JSR     OUTCHA      1328  682C  A6  80          LDA     ,X+         1329  682E  8D  02          BSR     DB2ASC      YY1330  6830  35  90          PULS    X,PC        1331        *1332        *----------1333        *(A:BIN)->ASCII1334  6832      DB2ASC  EQU     *           1335  6832  34  06          PSHS    A,B         1336  6834  1F  89          TFR     A,B         1337  6836  86  30          LDA     #$30        1338  6838  C1  0A  DBLOP   CMPB    #10         1339  683A  25  05          BLO     DB2         1340  683C  C0  0A          SUBB    #10         1341  683E  4C            INCA          1342  683F  20  F7          BRA     DBLOP       1343  6841  BD  FBBB  DB2     JSR     OUTCHA      1344  6844  1F  98          TFR     B,A         1345  6846  8B  30          ADDA    #$30        1346  6848  BD  FBBB          JSR     OUTCHA      1347  684B  35  86          PULS    A,B,PC      1348        1349        *disp FILE size1350  684D      DSPSIZ  EQU     *           1351  684D  34  10          PSHS    X           1352  684F  BE  6041          LDX     WFSIZ       1353  6852  27  16          BEQ     DSS1        if 64k over?1354  6854  86  3E          LDA     #'>        1355  6856  BD  FBBB          JSR     OUTCHA      1356  6859  86  36          LDA     #'6         1357  685B  BD  FBBB          JSR     OUTCHA      1358  685E  86  34          LDA     #'4         1359  6860  BD  FBBB          JSR     OUTCHA      1360  6863  86  6B          LDA     #'k         1361  6865  BD  FBBB          JSR     OUTCHA      1362  6868  20  3B          BRA     DSEND       1363  686A  86  20  DSS1    LDA     #'          1364  686C  BD  FBBB          JSR     OUTCHA      1365  686F  B6  6043          LDA     WFSIZ+2     under 64k1366        *disp dec1367  6872  81  64          CMPA    #100        1368  6874  23  12          BLS     DSS13       1369  6876  1F  89          TFR     A,B         1370  6878  86  30          LDA     #$30        1371  687A  C1  64  DSLOP1  CMPB    #100        1372  687C  25  05          BLO     DSS12       1373  687E  C0  64          SUBB    #100        1374  6880  4C            INCA          1375  6881  20  F7          BRA     DSLOP1      1376  6883  BD  FBBB  DSS12   JSR     OUTCHA      1377  6886  20  05          BRA     DSS14       1378        *under 1001379  6888  86  20  DSS13   LDA     #'          1380  688A  BD  FBBB          JSR     OUTCHA      1381  688D  86  30  DSS14   LDA     #$30        1382  688F  C1  0A  DSLOP2  CMPB    #10         1383  6891  25  05          BLO     DSS2        1384  6893  C0  0A          SUBB    #10         1385  6895  4C            INCA          1386  6896  20  F7          BRA     DSLOP2      1387  6898  81  30  DSS2    CMPA    #$30        1388  689A  26  01          BNE     DSS3        1389  689C  4C            INCA          1390  689D  BD  FBBB  DSS3    JSR     OUTCHA      1391  68A0  86  6B          LDA     #'k         1392  68A2  BD  FBBB          JSR     OUTCHA      1393  68A5  86  20  DSEND   LDA     #'          1394  68A7  BD  FBBB          JSR     OUTCHA      1395  68AA  35  90          PULS    X,PC        1396        1397        *----------1398  68AC      DSPCLS  EQU     *           1399  68AC  34  10          PSHS    X           1400  68AE  86  20          LDA     #'          1401  68B0  BD  FBBB          JSR     OUTCHA      1402  68B3  8E  6047          LDX     #CLSTH      1403  68B6  C6  02          LDB     #2          1404  68B8  A6  80  DCLOP1  LDA     ,X+         1405  68BA  17  FF75          LBSR    DB2ASC      1406  68BD  5A            DECB          1407  68BE  26  F8          BNE     DCLOP1      1408  68C0  86  20          LDA     #'          1409  68C2  BD  FBBB          JSR     OUTCHA      1410  68C5  C6  02          LDB     #2          1411  68C7  A6  80  DCLOP2  LDA     ,X+         1412  68C9  17  FF66          LBSR    DB2ASC      1413  68CC  5A            DECB          1414  68CD  26  F8          BNE     DCLOP2      1415  68CF  35  90          PULS    X,PC        1416        1417        *----------1418        *X:top of FILE NAME1419        *return C=1:match,C=0:not match1420  68D1      CMPFN   EQU     *           1421  68D1  34  10          PSHS    X           1422  68D3  108E  604F          LDY     #FNAME      1423  68D7  C6  08          LDB     #8          1424  68D9  A6  80  CMPLOP  LDA     ,X+         1425  68DB  81  E5          CMPA    #$E5        delete mark?1426  68DD  27  0F          BEQ     NOTM        1427  68DF  81  20          CMPA    #'          1428  68E1  27  07          BEQ     MATCH       1429  68E3  A1  A0          CMPA    ,Y+         1430  68E5  26  07          BNE     NOTM        1431  68E7  5A            DECB          1432  68E8  26  EF          BNE     CMPLOP      1433  68EA  1A  01  MATCH   ORCC    #$01        C=11434  68EC  20  02          BRA     CMPEND      1435  68EE  1C  FE  NOTM    ANDCC   #$FE        C=01436  68F0  35  90  CMPEND  PULS    X,PC        1437        1438        *----------1439  68F2      FNMIN   EQU     *           1440        *clr buf1441  68F2  8E  605A          LDX     #FNAME+11   1442  68F5  C6  0B          LDB     #8+3        1443  68F7  86  20          LDA     #'          1444  68F9  A7  82  FNIN0   STA     ,-X         1445  68FB  5A            DECB          1446  68FC  26  FB          BNE     FNIN0       1447        *fname in1448  68FE  BD  690B  FNIN1   JSR     INOUTC      1449  6901  A7  80          STA     ,X+         1450  6903  81  0D          CMPA    #$0D        1451  6905  27  03          BEQ     FNIEND      1452  6907  5A            DECB          1453  6908  26  F4          BNE     FNIN1       1454  690A  39    FNIEND  RTS           1455        1456  690B  BD  FBB8  INOUTC  JSR     INCHA       1457  690E  BD  FBBB          JSR     OUTCHA      1458  6911  39            RTS           1459        1460        **************************************************1461        *========== parameter ==========1462  6912  40    CMD0    FCB     $40,$00,$00,$00,$00,$95 '@    1463  6918  41    CMD1    FCB     $41,$00,$00,$00,$00,$FF 'A    1464  691E  51    CMD17   FCB     $51,$00,$00,$00,$00,$FF 'Q    1465  6924  58    CMD24   FCB     $58,$00,$00,$00,$00,$FF 'X    1466  692A  48    CMD8    FCB     $48,$00,$00,$01,$AA,$87 'H    1467  6930  7A    CMD58   FCB     $7A,$00,$00,$00,$00,$FF 'z    1468  6936  77    CMD55   FCB     $77,$00,$00,$00,$00,$FF 'w    1469  693C  69    ACMD41  FCB     $69,$40,$FF,$80,$00,$FF 'i    1470  6942  49    CMD9    FCB     $49,$00,$00,$00,$00,$FF 'I    1471        *1472  6948  43      MCMD0   FCC     /CMD0/,$D,$A    1473  694E  04            FCB     4           1474  694F  43      MCMD8   FCC     /CMD8/,$D,$A    1475  6955  04            FCB     4           1476  6956  43      MCMD58  FCC     /CMD58/,$D,$A   1477  695D  04            FCB     4           1478  695E  43      MCMD55  FCC     /CMD55/,$D,$A   1479  6965  04            FCB     4           1480  6966  41      MCMD41  FCC     /ACMD41/,$D,$A    1481  696E  04            FCB     4           1482  696F  43      MCMD9   FCC     /CMD9/,$D,$A    1483  6975  04            FCB     4           1484        *1485  6976  0D      MSMENU1 FCC     $0D,$0A,/1:Read Sct, 2:Get SD data, 3:SD Init, 4:Disp MBR, 5:Disp BPB,/   1486  69B5  04            FCB     4           1487  69B6  0D      MSMENU2 FCC     $0D,$0A,/6:Disp FAT, 7:Disp DIR, 8:Load FILE, 0:End : /   1488  69E5  04            FCB     4           1489  69E6  53      MSSCT   FCC     /SctNo: /   1490  69ED  04            FCB     4           1491  69EE  57      MSWROK  FCC     /Write OK?: /   1492  69F9  04            FCB     4           1493  69FA  0D      MSSD0   FCC     $0D,$0A,/SD Card/,$0D,$0A   1494  6A05  04            FCB     4           1495  6A06  0D      MSSD1   FCC     $0D,$0A,/SDHC Card/,$0D,$0A   1496  6A13  04            FCB     4           1497  6A14  0D      MSINIT  FCC     $0D,$0A,$0D,$0A,/SD Card initializing.../   1498  6A2F  04            FCB     4           1499  6A30  53      MERR    FCC     /SD Initialize error!/,$0D,$0A    1500  6A46  04            FCB     4           1501  6A47  49      MSERR   FCC     /Input error!/,$0D,$0A    1502  6A55  04            FCB     4           1503  6A56  0D      MSOFS   FCC     $0D,$0A,/Sector no is:/   1504  6A65  04            FCB     4           1505  6A66  0D      MSBPB   FCC     $0D,$0A,/ BPB: /    1506  6A6E  04            FCB     4           1507  6A6F  0D      MSFAT   FCC     $0D,$0A,/ FAT: /    1508  6A77  04            FCB     4           1509  6A78  0D      MSDIR   FCC     $0D,$0A,/ DIR: /    1510  6A80  04            FCB     4           1511  6A81  0D      MSCL2   FCC     $0D,$0A,/ 1stCLUSTER: /   1512  6A90  04            FCB     4           1513  6A91  0D      MSINFN  FCC     $0D,$0A,$0D,$0A,/Input File Name: /   1514  6AA6  04            FCB     4           1515  6AA7  0D      MSLDED  FCC     $0D,$0A,/ Load end/   1516  6AB2  04            FCB     4           1517  6AB3  0D      MSNOFL  FCC     $0D,$0A,/ Not exist!/   1518  6AC0  04            FCB     4           1519  6AC1  0D      MSNXTP  FCC     $0D,$0A,"Next page (SPC/else): "    1520  6AD9  04            FCB     4           1521        1522        **************************************************1523  6ADA  FF    INPBUF  RMB     8           1524        1525          END     START        0 error(s),  0 warning(s) is detected. Label addressACMD41  693C  AD1     67B1  AD2     67C2  AD3     67CC  AD4     67D2ADD0    65FB  ADD1    6609  ADD2    6611  ADD3    6619  ADD40H  65F9ADD42   67AB  ADX0    65EA  ADX1    65F0  ADX2    65F4  ADX3    65F8ASC411  6195  ASCMD41 6188  BASADRP 0033  BI21    6712  BI22    6718CALCH1  66E3  CALCHC  66DA  CALCSD  66CF  CL1     6758  CLEND   6768CLLOP   6763  CLOP    6736  CLSTH   6047  CLSTL   6049  CMD0    6912CMD1    6918  CMD17   691E  CMD24   6924  CMD55   6936  CMD58   6930CMD8    692A  CMD9    6942  CMPEND  68F0  CMPFN   68D1  CMPLOP  68D9CNT     604B  CNTSV   604C  CPY1    6627  CRLF    6727  CSRON   FBF7CVBEND  67A5  CVBIN   6793  CVERR   67A8  CVT1    6771  DB2     6841DB2ASC  6832  DBLOP   6838  DCLOP1  68B8  DCLOP2  68C7  DCPY    64D1DIRENT  601E  DPGFLG  604E  DRET0   63B6  DRET1   647B  DSEND   68A5DSKP1   63D6  DSLOP1  687A  DSLOP2  688F  DSPB1   6663  DSPB2   6665DSPB3   6676  DSPBIN  66FE  DSPBPB  6386  DSPBUF  6659  DSPC1   6432DSPCKE  63EA  DSPCLS  68AC  DSPDIR  63AA  DSPEND  646B  DSPFAT  6398DSPFL0  63BD  DSPFL1  63D6  DSPFL2  63F4  DSPFL3  63F6  DSPFL4  6405DSPFL5  6452  DSPMBR  632C  DSPSIZ  684D  DSPYMD  67EC  DSS1    686ADSS12   6883  DSS13   6888  DSS14   688D  DSS2    6898  DSS3    689DDYMD1   67FE  DYMD2   680D  EEND    6792  EREND0  678B  EREND1  678DFILSIZ  6045  FNAME   604F  FNIEND  690A  FNIN0   68F9  FNIN1   68FEFNMIN   68F2  GET1    6337  GET2    6339  GET8CH  6732  GETBPB  636DGETD1   6697  GETDAT  6693  GETMBR  634A  GETSD   628B  GPLOP   6350GPLOP2  6378  GR00    6100  GR2580  61C2  GR2581  61D9  GR2582  61DBGR410   619D  GR550   617E  GR580   6154  GR581   615E  GR582   6160GR80    6124  GR81    6136  GR90    629E  GR91    62AD  ILOP1   61FEILOP2   6211  ILOP3   622B  ILOP4   6269  INCHA   FBB8  INCX4   65EAINEND   6744  INIT    607E  INOUTC  690B  INPBUF  6ADA  INSCT   66ADISTT    60E6  LD1     64B3  LD2     64CB  LD3     64F6  LD4     6501LD41    651F  LD5     6538  LD6     653E  LD7     6549  LD8     657ELD9     6586  LDE1    659B  LDEND   6595  LDFILE  646F  LDFL0   648BLDFL1   649F  LDFL5   64C0  LDNEND  659F  MAIN    605A  MATCH   68EAMCFLG   604D  MCMD0   6948  MCMD41  6966  MCMD55  695E  MCMD58  6956MCMD8   694F  MCMD9   696F  MEMSET  65A7  MEN1    609A  MEN2    60A2MEN3    60AA  MEN4    60B1  MEN5    60B9  MEN6    60C1  MEN7    60C9MEN8    60D1  MENU    6080  MERR    6A30  MS1     65B8  MS2     65C5MS3     65E4  MSBPB   6A66  MSCL2   6A81  MSDIR   6A78  MSERR   6A47MSFAT   6A6F  MSINFN  6A91  MSINIT  6A14  MSLDED  6AA7  MSLOP   65D7MSLOP0  65D3  MSMENU1 6976  MSMENU2 69B6  MSNOFL  6AB3  MSNXTP  6AC1MSOFS   6A56  MSSCT   69E6  MSSD0   69FA  MSSD1   6A06  MSWROK  69EENOTM    68EE  OKEND   6318  OUTCHA  FBBB  PBCTL   FD9F  PBDAT   FD9EPSEND   67E9  PSLOP   67DE  PSTRNG  67DC  RD1     6636  RD1SCT  661ERD2     663D  RD3     664D  RESDAT  6007  RPT41   6169  RWBUF   6D00SC01    60F7  SC2581  61BA  SC551   6176  SC581   614C  SC80    611CSC91    6296  SCLOP1  62CD  SCLOP2  62E0  SCLOP3  62F3  SCLOP4  6306SCMD0   60EF  SCMD258 61AD  SCMD55  6169  SCMD58  613F  SCMD8   610FSCPY1   6251  SCTBPB  6009  SCTCLT  6019  SCTDIR  6011  SCTDSV  6015SCTFAT  600D  SCTN0   6003  SCTN1   6004  SCTN2   6005  SCTN3   6006SCTPCL  601D  SD1     61EF  SDERR   6312  SDHC    6008  SDINIT  60D9SDRD    6319  SELOP   6362  SETCKH  66F5  SETCKL  66EC  SETSCT  66B5SETSNO  635C  SFLOP   6751  SFT1    66C5  SKP1    623D  SKP2    6282SNDD1   667E  SNDDAT  6677  START   6000  STTADR  6000  TXTADR  2000VN      6002  WFSIZ   6041  WK1     6058  WMDY    603E    <!---temp--><!------><!------><!------><!------>
SDHC9FM
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525


前々回の報告「FM-7にRTCとSDを接続する試み(RTC編)(2023年3月9日)」で回路図も公開してありますが、FM-7に6821PIAを1個追加するだけでRTCやSDカードが使用できるのはそれなりにお値打ち(!)なのではないでしょうか。



0 件のコメント:

コメントを投稿