2023年3月16日木曜日

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

ようやくSDカード(SDHCカードも)のセクタの読み書きができました

まだ完成途上なのですが、一応、必要なセクタを読み書きできるようになりました。

任意のセクタの読み書きに加えて、MBR(マスタブートレコード)、BPB(ブートパラメータブロック)、FAT(ファイルアロケーションテーブル)、DIR(ディレクトリ)と指定したファイルの最初のセクタを読むことができます。もちろん、SDカードのみでなくSDHCカードもOKです。


まずはFM-7との接続の様子です。前回の報告ではFM-7本体に装着していましたが、今回は拡張基板上に装着しています。後ろにFDCカードとFT245カードが並んでおり、50Pフラットケーブルで本体の拡張コネクタに接続しています。


設置状態


SDカードでの起動画面です。
SDカードの初期化とカード種別の判別の終了後にメニューが表示されます。



SDカードの起動画面


SDHCカードでの起動画面です。


SDHCカードの起動画面


メニュー項目は
1.指定したセクタのリード
2.指定したセクタのライト
3.SDカードのデータ取得・表示
4.SDカードの初期化
5.MBR(Master Boot Record)内容の表示
6.BPB(Boot Parameter Block)内容の表示
7.FAT(File Allocation Table)内容の表示
8.DIR(Directory)内容の表示...(先頭セクタのみです)
9.ファイル内容の表示...(先頭セクタのみです)
です。

メニュー実行の例として、DIR内容を表示させてみます。
ファイル名、サイズ、作成日、クラスタ上位、クラスタ下位を表示させています。
先頭の番号は、9.ファイル内容の表示で使用します。



SDカードのディレクトリ表示


メニュー9です。
ファイル番号を入力するとそのファイルの内容が表示されます。(現在はテストプログラムですので、先頭セクタのみの表示です。)
この画面はSDHCカードの場合で、3行目のような意味不明の表示がありますが、これは4行目のファイル名中に小文字が使用されているためです。(拡張子が.Lstでした)
ということで、FAT32も使用できますが、ファイル名に小文字は使用できないという制限があります。


ファイル番号入力待ち


FM-7では一行が80文字までという制限があるために1セクタのデータの512バイトがうまく一画面に収まらないので、表示結果の画像はありません。代わりに、開発に使用しているFLEX9上での画面を示します。



FLEX9での動作の様子



以上、現在実現できていることのうち、読み込み機能について紹介しました。
ファイル名に小文字が使えませんし、もちろんフォルダも使用できませんが、目的がFM-7への実装ですので、どちらも問題にはなりません。
問題は、WindowsPC等でSDカードに保存したテキスト等のデータをFM-7で読み出せたとして、それをFM-7のシステムでどのようにして利用するかです。
最も簡単な方法としては、読み込んだデータをメモリ上に展開しておいてF-BASICからそれを読み込んでファイル化するという方法が考えられます。小さなデータならこれでも間に合いそうですが...

SDカードをドライブ2に割り付けることができて、FILES, LOAD, SAVEなどが使用できればベストなのですが、実現するにはなかなか敷居が高そうです...
また、プログラムサイズも結構大きくなりそうですので、どう組み込むかも課題です。

まだまだ完成には遠いですが、今回作成したサブルーチン等をベースにして仕上げていくことになると思いますので、雑な作りのものですが、作成したプログラムを紹介しておきます。


  1. 0001        *0002        *  SDHC8FM.TXT0003        *0004        *  SD Read/Write on SBC 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  ---       ---  HV2 LV2 ---  IO30014        *    PA7 10  ---  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  ---  HV2 LV2 ---  MISO0025        *    PB7 20  ---  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  $6E00 - 6FFF0035        *0036        *    Add command        '2023.03.140037        *    Change use Port B  '2023.03.070038        *    Original version   '2022.06.110039        *         Copyright by Y.Yamamoto0040        *0041  6000      STTADR  EQU     $6000       0042  FBB8      INCHA   EQU     $FBB8       0043  FBBB      OUTCHA  EQU     $FBBB       0044        0045  6E00      RWBUF   EQU     STTADR+$E00   0046        0047  FD9E      PBDAT   EQU     $FD9E       0048  FD9F      PBCTL   EQU     PBDAT+1     0049        0050  6000              ORG     STTADR      0051        0052  6000  20  27  START   BRA     MAIN        0053  6002  01    VN      FCB     1           0054  6003  00    SCTN0   FCB     0           top adrs of sct0055  6004  00    SCTN1   FCB     0           0056  6005  00    SCTN2   FCB     0           0057  6006  00    SCTN3   FCB     0           0058  6007  00    RESDAT  FCB     0           response data0059  6008  00    SDHC    FCB     0           sd:0,sdhc:10060        0061  6009  0000    SCTBPB  FDB     00          sct no of BPB(4bytes)0062  600B  0000            FDB     00          0063  600D  0000    SCTFAT  FDB     00          sct no of FAT#1(4bytes)0064  600F  0000            FDB     00          0065  6011  0000    SCTDIR  FDB     00          sct no of DIR(4bytes)0066  6013  0000            FDB     00          0067  6015  0000    SCTCLT  FDB     00          sct no of top CLUSTER(4bytes)0068  6017  0000            FDB     00          if SD:#2, SDHC:#30069  6019  00    SCTPCL  FCB     0           sct per cluster0070  601A  FF    WMDY    RMB     3           0071  601D  FF    WFSIZ   RMB     4           0072  6021  0000    CLSTH   FDB     00          0073  6023  0000    CLSTL   FDB     00          0074  6025  0000    WK1     FDB     00          0075  6027  0000    WK2     FDB     00          0076        0077  6029      MAIN    EQU     *           0078        *=====reset pia=====0079        *portB:output0080  6029  86  30          LDA     #$30        0081  602B  B7  FD9F          STA     PBCTL       select ddra, cb2:00082  602E  86  FD          LDA     #$FD        pb0,7:out,pb1:in0083  6030  B7  FD9E          STA     PBDAT       set output mode0084  6033  86  34          LDA     #$34        0085  6035  B7  FD9F          STA     PBCTL       select peripheral,cb2:00086         0087        *for pia exist check0088  6038  86  55          LDA     #$55        test data0089  603A  B7  FD9E          STA     PBDAT       0090  603D  B6  FD9E          LDA     PBDAT       0091  6040  84  FD          ANDA    #$FD        pb1=00092  6042  81  55          CMPA    #$55        0093  6044  27  07          BEQ     INIT        0094  6046  8E  68DF          LDX     #MERR       0095  6049  17  067B          LBSR    PSTRNG      0096  604C  39            RTS           return FM-70097        0098  604D      INIT    EQU     *           0099  604D  8D  5E          BSR     SDINIT      0100        0101        ****************************************0102        * MAIN MENU0103        ****************************************0104  604F      MENU    EQU     *           0105  604F  8E  6817          LDX     #MSMENU1    0106  6052  17  0672          LBSR    PSTRNG      0107  6055  8E  6859          LDX     #MSMENU2    0108  6058  17  066C          LBSR    PSTRNG      0109        0110  605B  BD  FBB8          JSR     INCHA       0111  605E  80  30          SUBA    #$30        0112  6060  26  04          BNE     MEN1        0?0113  6062  BD  6612          JSR     CRLF        0114  6065  39            RTS           return FM-70115  6066  4A    MEN1    DECA          0116  6067  26  05          BNE     MEN2        1?0117  6069  17  0271          LBSR    SDRD        0118  606C  20  E1          BRA     MENU        0119  606E  4A    MEN2    DECA          0120  606F  26  05          BNE     MEN3        2?0121  6071  17  0416          LBSR    SDWRT       0122  6074  20  D9          BRA     MENU        0123  6076  4A    MEN3    DECA          0124  6077  26  05          BNE     MEN4        3?0125  6079  17  01D3          LBSR    GETSD       0126  607C  20  D1          BRA     MENU        0127  607E  4A    MEN4    DECA          0128  607F  26  04          BNE     MEN5        4?0129  6081  8D  2A          BSR     SDINIT      0130  6083  20  CA          BRA     MENU        0131  6085  4A    MEN5    DECA          5?0132  6086  26  05          BNE     MEN6        0133  6088  17  0265          LBSR    DSPMBR      0134  608B  20  C2          BRA     MENU        0135  608D  4A    MEN6    DECA          6?0136  608E  26  05          BNE     MEN7        0137  6090  17  02B7          LBSR    DSPBPB      0138  6093  20  BA          BRA     MENU        0139  6095  4A    MEN7    DECA          7?0140  6096  26  05          BNE     MEN8        0141  6098  17  02C1          LBSR    DSPFAT      0142  609B  20  B2          BRA     MENU        0143  609D  4A    MEN8    DECA          8?0144  609E  26  05          BNE     MEN9        0145  60A0  17  02CB          LBSR    DSPDIR      0146  60A3  20  AA          BRA     MENU        0147  60A5  4A    MEN9    DECA          9?0148  60A6  26  A7          BNE     MENU        0149  60A8  17  0349          LBSR    LDFILE      0150  60AB  20  A2          BRA     MENU        0151        *0152        ****************************************0153        * SD Initialize routine0154        ****************************************0155  60AD      SDINIT  EQU     *           0156        *---------- start ----------0157  60AD  8E  68C3          LDX     #MSINIT     0158  60B0  BD  66C7          JSR     PSTRNG      0159        * cs:1,di:1,sck-74ms0160  60B3  86  FF          LDA     #$FF        mosi:b7=H,miso:b1=H(for PIA),cs:b0=H0161  60B5  B7  FD9E          STA     PBDAT       0162  60B8  C6  50          LDB     #80         80times0163  60BA  17  051A  ISTT    LBSR    SETCKL      0164  60BD  17  0520          LBSR    SETCKH      0165  60C0  5A            DECB          0166  60C1  26  F7          BNE     ISTT        0167        *0168        *---------- cmd 0 ----------0169  60C3      SCMD0   EQU     *           0170        * LDX #MCMD00171        * LBSR PSTRNG0172         0173  60C3  17  0511          LBSR    SETCKL      0174  60C6  C6  06          LDB     #6          0175  60C8  8E  67B3          LDX     #CMD0       0176  60CB  A6  80  SC01    LDA     ,X+         0177  60CD  17  0496          LBSR    SNDDAT      0178  60D0  5A            DECB          0179  60D1  26  F8          BNE     SC01        0180        *get response0181  60D3  5F            CLRB          0182  60D4      GR00          0183  60D4  5A            DECB          0184  60D5  1027  01FD          LBEQ    SDERR       0185  60D9  17  04A6          LBSR    GETDAT      0186  60DC  B6  6007          LDA     RESDAT      0187        * LBSR DSPBIN disp response0188  60DF  81  01          CMPA    #$01        0189  60E1  26  F1          BNE     GR00        0190        * JSR CRLF0191        *0192        *---------- cmd 8 ----------0193  60E3      SCMD8   EQU     *           0194        * LDX #MCMD80195        * LBSR PSTRNG0196         0197  60E3  17  04F1          LBSR    SETCKL      0198  60E6  86  FF          LDA     #$FF        dummy cmd0199  60E8  17  047B          LBSR    SNDDAT      0200  60EB  C6  06          LDB     #6          0201  60ED  8E  67CB          LDX     #CMD8       0202  60F0  A6  80  SC80    LDA     ,X+         0203  60F2  17  0471          LBSR    SNDDAT      0204  60F5  5A            DECB          0205  60F6  26  F8          BNE     SC80        0206        *get response0207  60F8      GR80          0208  60F8  17  0487          LBSR    GETDAT      0209  60FB  B6  6007          LDA     RESDAT      0210         0211  60FE  17  0481          LBSR    GETDAT      0212  6101  B6  6007          LDA     RESDAT      0213        * LBSR DSPBIN disp response0214  6104  81  01          CMPA    #$01        0215  6106  26  F0          BNE     GR80        0216  6108  C6  04          LDB     #4          0217  610A  17  0475  GR81    LBSR    GETDAT      0218  610D  B6  6007          LDA     RESDAT      0219        * LBSR DSPBIN disp response0220  6110  5A            DECB          0221  6111  26  F7          BNE     GR81        0222        * JSR CRLF0223        *0224        *---------- cmd 58 ----------0225  6113      SCMD58  EQU     *           0226        * LDX #MCMD580227        * LBSR PSTRNG0228         0229  6113  17  04C1          LBSR    SETCKL      0230  6116  86  FF          LDA     #$FF        dummy cmd0231  6118  17  044B          LBSR    SNDDAT      0232  611B  C6  06          LDB     #6          0233  611D  8E  67D1          LDX     #CMD58      0234  6120  A6  80  SC581   LDA     ,X+         0235  6122  17  0441          LBSR    SNDDAT      0236  6125  5A            DECB          0237  6126  26  F8          BNE     SC581       0238        *get response0239  6128      GR580         0240  6128  17  0457          LBSR    GETDAT      0241  612B  B6  6007          LDA     RESDAT      0242        * LBSR DSPBIN disp response0243  612E  81  01          CMPA    #$01        0244  6130  26  F6          BNE     GR580       0245  6132  C6  04  GR581   LDB     #4          0246  6134  17  044B  GR582   LBSR    GETDAT      0247  6137  B6  6007          LDA     RESDAT      0248        * LBSR DSPBIN disp response0249  613A  5A            DECB          0250  613B  26  F7          BNE     GR582       0251  613D      RPT41   EQU     *           0252        *---------- cmd 55 ----------0253  613D      SCMD55  EQU     *           0254        * LDX #MCMD550255        * LBSR PSTRNG0256         0257  613D  17  0497          LBSR    SETCKL      0258  6140  86  FF          LDA     #$FF        dummy cmd0259  6142  17  0421          LBSR    SNDDAT      0260  6145  C6  06          LDB     #6          0261  6147  8E  67D7          LDX     #CMD55      0262  614A  A6  80  SC551   LDA     ,X+         0263  614C  17  0417          LBSR    SNDDAT      0264  614F  5A            DECB          0265  6150  26  F8          BNE     SC551       0266        *get response0267        * CLRB0268  6152      GR550         0269        * DECB0270        * BEQ SDERR0271  6152  17  042D          LBSR    GETDAT      0272  6155  B6  6007          LDA     RESDAT      0273        * LBSR DSPBIN disp response0274  6158  81  01          CMPA    #$01        0275  615A  26  F6          BNE     GR550       0276         0277        * JSR CRLF0278        *---------- acmd 41 ----------0279  615C      ASCMD41 EQU     *           0280        * LDX #MCMD410281        * LBSR PSTRNG0282         0283  615C  17  0478          LBSR    SETCKL      0284  615F  86  FF          LDA     #$FF        dummy cmd0285  6161  17  0402          LBSR    SNDDAT      0286  6164  C6  06          LDB     #6          0287  6166  8E  67DD          LDX     #ACMD41     0288  6169  A6  80  ASC411  LDA     ,X+         0289  616B  17  03F8          LBSR    SNDDAT      0290  616E  5A            DECB          0291  616F  26  F8          BNE     ASC411      0292        *get response0293  6171      GR410         0294  6171  17  040E          LBSR    GETDAT      0295  6174  B6  6007          LDA     RESDAT      0296        * LBSR DSPBIN disp response0297  6177  17  0408          LBSR    GETDAT      0298  617A  B6  6007          LDA     RESDAT      0299        * LBSR DSPBIN disp response0300  617D  81  00          CMPA    #$00        0301  617F  26  BC          BNE     RPT41       0302        * JSR CRLF0303         0304        *---------- second cmd 58 ----------0305  6181      SCMD258 EQU     *           0306        * LDX #MCMD580307        * LBSR PSTRNG0308         0309  6181  17  0453          LBSR    SETCKL      0310  6184  86  FF          LDA     #$FF        dummy cmd0311  6186  17  03DD          LBSR    SNDDAT      0312  6189  C6  06          LDB     #6          0313  618B  8E  67D1          LDX     #CMD58      0314  618E  A6  80  SC2581  LDA     ,X+         0315  6190  17  03D3          LBSR    SNDDAT      0316  6193  5A            DECB          0317  6194  26  F8          BNE     SC2581      0318        *get response0319  6196      GR2580        0320  6196  17  03E9          LBSR    GETDAT      0321  6199  B6  6007          LDA     RESDAT      0322        * LBSR DSPBIN disp response0323  619C  81  00          CMPA    #$00        0324  619E  26  F6          BNE     GR2580      0325  61A0  17  03DF          LBSR    GETDAT      0326  61A3  B6  6007          LDA     RESDAT      0327        * LBSR DSPBIN disp response0328  61A6  48            LSLA          0329  61A7  48            LSLA          0330  61A8  24  03          BCC     GR2581      0331  61AA  7C  6008          INC     SDHC        if sdhc then 10332  61AD  C6  03  GR2581  LDB     #3          0333  61AF  17  03D0  GR2582  LBSR    GETDAT      0334  61B2  B6  6007          LDA     RESDAT      0335        * LBSR DSPBIN disp response0336  61B5  5A            DECB          0337  61B6  26  F7          BNE     GR2582      0338         0339  61B8  8E  68A9          LDX     #MSSD0      0340  61BB  B6  6008          LDA     SDHC        0341  61BE  27  03          BEQ     SD1         0342  61C0  8E  68B5          LDX     #MSSD1      0343  61C3  17  0501  SD1     LBSR    PSTRNG      0344         0345        *----------0346        *set sct no of BPB0347  61C6  17  0145          LBSR    GETMBR      0348  61C9  8E  6FCA          LDX     #RWBUF+446+8+4    0349  61CC  108E  6009          LDY     #SCTBPB     0350  61D0  C6  04          LDB     #4          0351  61D2  A6  82  ILOP1   LDA     ,-X         0352  61D4  A7  A0          STA     ,Y+         0353  61D6  5A            DECB          0354  61D7  26  F9          BNE     ILOP1       0355         0356        *set sct no of FAT#10357  61D9  17  0155          LBSR    GETBPB      0358  61DC  8E  6009          LDX     #SCTBPB     0359  61DF  108E  600D          LDY     #SCTFAT     0360  61E3  C6  04          LDB     #4          0361  61E5  A6  80  ILOP2   LDA     ,X+         0362  61E7  A7  A0          STA     ,Y+         0363  61E9  5A            DECB          0364  61EA  26  F9          BNE     ILOP2       0365         0366  61EC  8E  600D          LDX     #SCTFAT     0367  61EF  108E  6E0E          LDY     #RWBUF+$0E    for SD & SDHC0368  61F3  17  04A0          LBSR    ADD42       0369         0370        *set sct no of DIR0371  61F6  8E  600D          LDX     #SCTFAT     0372  61F9  108E  6011          LDY     #SCTDIR     0373  61FD  C6  04          LDB     #4          0374  61FF  A6  80  ILOP3   LDA     ,X+         0375  6201  A7  A0          STA     ,Y+         0376  6203  5A            DECB          0377  6204  26  F9          BNE     ILOP3       0378         0379  6206  8E  6E16          LDX     #RWBUF+$16    for SD0380  6209  7D  6008          TST     SDHC        0381  620C  27  03          BEQ     SKP1        0382  620E  C6  0E          LDB     #$24-$16    0383  6210  3A            ABX           for SDHC0384  6211  1F  12  SKP1    TFR     X,Y         0385  6213  8E  6011          LDX     #SCTDIR     0386  6216  17  047D          LBSR    ADD42       0387  6219  17  047A          LBSR    ADD42       skip for FAT#20388        0389        *set sct per cluster0390  621C  8E  6E0D          LDX     #RWBUF+$0D    0391  621F  A6  84          LDA     ,X          0392  6221  B7  6019          STA     SCTPCL      0393         0394        *set sct no of CLUSTER#20395  6224  8E  6011          LDX     #SCTDIR     0396  6227  108E  6015          LDY     #SCTCLT     0397  622B  C6  04          LDB     #4          0398  622D  A6  80  ILOP4   LDA     ,X+         0399  622F  A7  A0          STA     ,Y+         0400  6231  5A            DECB          0401  6232  26  F9          BNE     ILOP4       0402         0403  6234  108E  6027          LDY     #WK1+2      0404  6238  86  00          LDA     #$00        0405  623A  A7  A2          STA     ,-Y         0406  623C  86  20          LDA     #$20        for SD0407  623E  7D  6008          TST     SDHC        0408  6241  27  03          BEQ     SKP2        0409  6243  B6  6019          LDA     SCTPCL      for SDHC0410  6246  A7  A2  SKP2    STA     ,-Y         0411  6248  8E  6015          LDX     #SCTCLT     0412  624B  17  0448          LBSR    ADD42       0413        *----------0414  624E  39            RTS           0415        0416        ****************************************0417        * GET SD DATA ROUTINE0418        * use CMD90419        ****************************************0420  624F      GETSD   EQU     *           0421  624F  BD  6612          JSR     CRLF        0422  6252  17  0382          LBSR    SETCKL      0423  6255  C6  06          LDB     #6          0424  6257  8E  67E3          LDX     #CMD9       0425  625A  A6  80  SC91    LDA     ,X+         0426  625C  17  0307          LBSR    SNDDAT      0427  625F  5A            DECB          0428  6260  26  F8          BNE     SC91        0429        * JSR CRLF0430        *get response0431  6262      GR90          0432  6262  17  031D          LBSR    GETDAT      0433  6265  B6  6007          LDA     RESDAT      0434        * LBSR DSPBIN disp response0435  6268  81  00          CMPA    #$00        0436  626A  26  F6          BNE     GR90        0437         0438        * JSR CRLF0439  626C  BD  6612          JSR     CRLF        0440  626F  C6  14          LDB     #16+1+2+1   fe,crcH,crcL,ff0441  6271  17  030E  GR91    LBSR    GETDAT      0442  6274  B6  6007          LDA     RESDAT      0443  6277  17  036F          LBSR    DSPBIN      disp response0444  627A  5A            DECB          0445  627B  26  F4          BNE     GR91        0446  627D  BD  6612          JSR     CRLF        0447        0448        *disp offset of MBR,FAT#1,DIR,CLUSTER#20449  6280  8E  6905          LDX     #MSOFS      0450  6283  BD  66C7          JSR     PSTRNG      0451  6286  8E  6917          LDX     #MSBPB      0452  6289  BD  66C7          JSR     PSTRNG      0453  628C  8E  6009          LDX     #SCTBPB     0454  628F  C6  04          LDB     #4          0455  6291  A6  80  SCLOP1  LDA     ,X+         0456  6293  17  0353          LBSR    DSPBIN      0457  6296  5A            DECB          0458  6297  26  F8          BNE     SCLOP1      0459        0460  6299  8E  6920          LDX     #MSFAT      0461  629C  BD  66C7          JSR     PSTRNG      0462  629F  8E  600D          LDX     #SCTFAT     0463  62A2  C6  04          LDB     #4          0464  62A4  A6  80  SCLOP2  LDA     ,X+         0465  62A6  17  0340          LBSR    DSPBIN      0466  62A9  5A            DECB          0467  62AA  26  F8          BNE     SCLOP2      0468        0469  62AC  8E  6929          LDX     #MSDIR      0470  62AF  BD  66C7          JSR     PSTRNG      0471  62B2  8E  6011          LDX     #SCTDIR     0472  62B5  C6  04          LDB     #4          0473  62B7  A6  80  SCLOP3  LDA     ,X+         0474  62B9  17  032D          LBSR    DSPBIN      0475  62BC  5A            DECB          0476  62BD  26  F8          BNE     SCLOP3      0477        0478  62BF  8E  6932          LDX     #MSCL2      0479  62C2  BD  66C7          JSR     PSTRNG      0480  62C5  8E  6015          LDX     #SCTCLT     0481  62C8  C6  04          LDB     #4          0482  62CA  A6  80  SCLOP4  LDA     ,X+         0483  62CC  17  031A          LBSR    DSPBIN      0484  62CF  5A            DECB          0485  62D0  26  F8          BNE     SCLOP4      0486  62D2  BD  6612          JSR     CRLF        0487  62D5  39            RTS           0488        0489        *0490  62D6      SDERR   EQU     *           0491  62D6  8E  68DF          LDX     #MERR       0492  62D9  17  03EB          LBSR    PSTRNG      0493  62DC      OKEND         0494  62DC  39            RTS           return FM-70495        *0496        ****************************************0497        * READ ROUTINE0498        * use CMD170499        * set sctno to $6005,60060500        * read data set to $6800-69FF0501        ****************************************0502  62DD      SDRD    EQU     *           0503  62DD  BD  6612          JSR     CRLF        0504  62E0  17  02B9          LBSR    INSCT       0505  62E3  17  0227          LBSR    RD1SCT      read 1 sct0506        0507        *disp data0508  62E6  BD  6612          JSR     CRLF        0509  62E9  17  025C          LBSR    DSPBUF      0510  62EC  BD  6612          JSR     CRLF        0511  62EF  39            RTS           0512        0513        ****************************************0514        * Read MBR & Disp parameter of BPB0515        ****************************************0516  62F0      DSPMBR  EQU     *           0517  62F0  BD  6612          JSR     CRLF        0518  62F3  8D  19          BSR     GETMBR      0519        0520        *disp BPB0521  62F5  BD  6612          JSR     CRLF        0522  62F8  8E  6FBE          LDX     #RWBUF+446    0523  62FB  C6  10  GET1    LDB     #16         0524  62FD  A6  80  GET2    LDA     ,X+         0525  62FF  17  02E7          LBSR    DSPBIN      disp data0526  6302  5A            DECB          0527  6303  26  F8          BNE     GET2        0528  6305  BD  6612          JSR     CRLF        0529  6308  8C  6FFE          CMPX    #RWBUF+510    446+16*40530  630B  25  EE          BLO     GET1        0531  630D  39            RTS           0532        0533        *----------------------------------------0534        *read MBR0535  630E      GETMBR  EQU     *           0536  630E  8E  6003          LDX     #SCTN0      0537  6311  C6  04          LDB     #4          0538  6313  4F            CLRA          0539  6314  A7  80  GPLOP   STA     ,X+         0540  6316  5A            DECB          0541  6317  26  FB          BNE     GPLOP       0542  6319  17  0288          LBSR    SETSCT      0543         0544  631C  17  01EE          LBSR    RD1SCT      read 1 sct0545  631F  39            RTS           0546        0547        *----------------------------------------0548        *set sector no to SCTN00549        *from X,X+1,X+2,X+3 to SCTN0-SCTN30550  6320      SETSNO  EQU     *           0551  6320  108E  6003          LDY     #SCTN0      0552  6324  C6  04          LDB     #4          0553  6326  A6  80  SELOP   LDA     ,X+         0554  6328  A7  A0          STA     ,Y+         0555  632A  5A            DECB          0556  632B  26  F9          BNE     SELOP       0557  632D  17  0274          LBSR    SETSCT      0558  6330  39            RTS           0559        0560        *----------------------------------------0561        *read BPB0562  6331      GETBPB  EQU     *           0563  6331  8D  DB          BSR     GETMBR      0564        *set sct no of BPB0565  6333  8E  6FCA          LDX     #RWBUF+446+8+4    0566  6336  108E  6003          LDY     #SCTN0      0567  633A  C6  04          LDB     #4          0568  633C  A6  82  GPLOP2  LDA     ,-X         0569  633E  A7  A0          STA     ,Y+         0570  6340  5A            DECB          0571  6341  26  F9          BNE     GPLOP2      0572  6343  17  025E          LBSR    SETSCT      0573         0574  6346  17  01C4          LBSR    RD1SCT      read 1 sct0575  6349  39            RTS           0576        0577        ****************************************0578        * Disp BPB(Bios Parameter Block)0579        ****************************************0580  634A      DSPBPB  EQU     *           0581  634A  8E  6009          LDX     #SCTBPB     0582  634D  8D  D1          BSR     SETSNO      0583  634F  17  01BB          LBSR    RD1SCT      read 1 sct0584         0585        *disp BPB0586  6352  BD  6612          JSR     CRLF        0587  6355  17  01F0          LBSR    DSPBUF      0588  6358  BD  6612          JSR     CRLF        0589  635B  39            RTS           0590        0591        ****************************************0592        * Disp FAT#10593        ****************************************0594  635C      DSPFAT  EQU     *           0595  635C  8E  600D          LDX     #SCTFAT     0596  635F  8D  BF          BSR     SETSNO      0597  6361  17  01A9          LBSR    RD1SCT      read 1 sct0598         0599        *disp FAT0600  6364  BD  6612          JSR     CRLF        0601  6367  17  01DE          LBSR    DSPBUF      0602  636A  BD  6612          JSR     CRLF        0603  636D  39            RTS           0604        0605        ****************************************0606        * Disp Directory0607        ****************************************0608  636E      DSPDIR  EQU     *           0609  636E  8E  6011          LDX     #SCTDIR     0610  6371  8D  AD          BSR     SETSNO      0611  6373  17  0197          LBSR    RD1SCT      read 1 sct0612         0613        **disp DIR0614        * JSR CRLF0615        * LBSR DSPBUF0616        * JSR CRLF0617        * 0618        *disp FILE name0619  6376  BD  6612          JSR     CRLF        0620  6379  BD  6612          JSR     CRLF        0621  637C  8E  6E60          LDX     #RWBUF+96   skip top data0622  637F  7F  6027          CLR     WK2         counter0623  6382  A6  84  DSPFL1  LDA     ,X          0624  6384  27  6D          BEQ     DSPEND      0625  6386  81  E5          CMPA    #$E5        delete mark?0626  6388  26  05          BNE     DSPFL2      0627  638A  30  88 20         LEAX    32,X        0628  638D  20  F3          BRA     DSPFL1      0629         0630  638F  7C  6027  DSPFL2  INC     WK2         0631  6392  B6  6027          LDA     WK2         0632  6395  17  0251          LBSR    DSPBIN      disp counter0633  6398  C6  08          LDB     #8          0634  639A  A6  80  DSPFL3  LDA     ,X+         0635  639C  BD  FBBB          JSR     OUTCHA      0636  639F  5A            DECB          0637  63A0  26  F8          BNE     DSPFL3      0638  63A2  86  2E          LDA     #'.         0639  63A4  BD  FBBB          JSR     OUTCHA      0640  63A7  C6  03          LDB     #3          0641  63A9  A6  80  DSPFL4  LDA     ,X+         0642  63AB  BD  FBBB          JSR     OUTCHA      0643  63AE  5A            DECB          0644  63AF  26  F8          BNE     DSPFL4      0645  63B1  86  20          LDA     #'          0646  63B3  BD  FBBB          JSR     OUTCHA      0647  63B6  BD  FBBB          JSR     OUTCHA      0648        0649        *get FILE time data0650  63B9  30  07          LEAX    7,X         0651  63BB  EC  81          LDD     ,X++        0652  63BD  FD  6025          STD     WK1         0653        0654        *get CLUSTER(H) data0655  63C0  EC  81          LDD     ,X++        0656  63C2  1E  89          EXG     A,B         0657  63C4  FD  6021          STD     CLSTH       0658  63C7  30  04          LEAX    4,X         0659  63C9  EC  81          LDD     ,X++        0660  63CB  1E  89          EXG     A,B         0661  63CD  FD  6023          STD     CLSTL       0662         0663        *get FILE size data0664  63D0  108E  6021          LDY     #WFSIZ+4    0665  63D4  C6  04          LDB     #4          0666  63D6  A6  80  DSPC1   LDA     ,X+         0667  63D8  A7  A2          STA     ,-Y         0668  63DA  5A            DECB          0669  63DB  26  F9          BNE     DSPC1       0670        0671        *disp FILE size0672  63DD  86  20          LDA     #'          0673  63DF  BD  FBBB          JSR     OUTCHA      0674  63E2  17  0353          LBSR    DSPSIZ      disp FILE size0675        0676        0677        *disp FILE time0678  63E5  FC  6025          LDD     WK1         0679  63E8  17  02EC          LBSR    DSPYMD      disp MM-DD-YY0680        0681        *disp CLUSTER(H,L)0682  63EB  17  03A0          LBSR    DSPCLS      0683        0684  63EE  BD  6612          JSR     CRLF        0685  63F1  20  8F          BRA     DSPFL1      0686        * 0687  63F3  39    DSPEND  RTS           0688        0689        ****************************************0690        * Load FILE0691        ****************************************0692  63F4      LDFILE  EQU     *           0693  63F4  17  FF77          LBSR    DSPDIR      0694  63F7  8E  6942          LDX     #MSINFL     0695  63FA  BD  66C7          JSR     PSTRNG      0696  63FD  BD  FBB8          JSR     INCHA       file no0697  6400  80  30          SUBA    #$30        to binary0698         0699  6402  8E  6E60          LDX     #RWBUF+96   skip top data0700  6405  1F  89          TFR     A,B         0701         0702  6407  A6  84  LDLOP   LDA     ,X          0703  6409  81  E5          CMPA    #$E5        delete mark?0704  640B  26  05          BNE     LD1         0705  640D  30  88 20         LEAX    32,X        skip0706  6410  20  F5          BRA     LDLOP       0707  6412  5A    LD1     DECB          0708  6413  27  05          BEQ     LD2         0709  6415  30  88 20         LEAX    32,X        0710  6418  20  ED          BRA     LDLOP       0711        *hit file, get cluster no0712  641A  EC  88 14 LD2     LDD     $14,X       0713  641D  1E  89          EXG     A,B         0714  641F  FD  6021          STD     CLSTH       0715  6422  EC  88 1A         LDD     $1A,X       0716  6425  1E  89          EXG     A,B         0717  6427  FD  6023          STD     CLSTL       0718        *get sct no0719  642A  C0  02          SUBB    #2          sub top cluseter no0720  642C  7D  6008          TST     SDHC        SD:0,SDHC:10721  642F  27  01          BEQ     LD3         0722  6431  5A            DECB          0723         0724  6432  34  04  LD3     PSHS    B           0725  6434  8E  6015          LDX     #SCTCLT     0726  6437  108E  6025          LDY     #WK1        0727  643B  C6  04          LDB     #4          0728  643D  A6  80  LD4     LDA     ,X+         0729  643F  A7  A0          STA     ,Y+         0730  6441  5A            DECB          0731  6442  26  F9          BNE     LD4         0732  6444  35  04          PULS    B           0733         0734  6446  8E  6025          LDX     #WK1        0735  6449  A6  03  LD5     LDA     3,X         0736  644B  8B  40          ADDA    #$40        0737  644D  A7  03          STA     3,X         0738  644F  24  06          BCC     LD51        0739  6451  A6  02          LDA     2,X         0740  6453  8B  01          ADDA    #1          0741  6455  A7  02          STA     2,X         0742  6457  24  06  LD51    BCC     LD52        0743  6459  A6  01          LDA     1,X         0744  645B  8B  01          ADDA    #1          0745  645D  A7  01          STA     1,X         0746  645F  24  06  LD52    BCC     LD53        0747  6461  A6  84          LDA     ,X          0748  6463  8B  01          ADDA    #1          0749  6465  A7  84          STA     ,X          0750  6467  5A    LD53    DECB          0751  6468  26  DF          BNE     LD5         0752         0753  646A  8E  6025          LDX     #WK1        0754  646D  108E  6003          LDY     #SCTN0      0755  6471  C6  04          LDB     #4          0756  6473  A6  80  LD6     LDA     ,X+         0757  6475  A7  A0          STA     ,Y+         0758  6477  5A            DECB          0759  6478  26  F9          BNE     LD6         0760  647A  17  0127          LBSR    SETSCT      0761  647D  17  008D          LBSR    RD1SCT      read 1 sct0762        0763        * LDX #SCTCLT0764        * LBSR SETSNO0765        * LBSR RD1SCT read 1 sct0766        * 0767        **disp CLUSTER#20768  6480  BD  6612          JSR     CRLF        0769  6483  17  00C2          LBSR    DSPBUF      0770  6486  BD  6612          JSR     CRLF        0771  6489  39            RTS           0772        0773        ****************************************0774        * WRITE ROUTINE0775        * use CMD240776        * set sctno to $6005,60060777        * write data from $6A00-6BFF0778        ****************************************0779  648A      SDWRT   EQU     *           0780  648A  8E  689D          LDX     #MSWROK     0781  648D  17  0237          LBSR    PSTRNG      0782  6490  BD  FBB8          JSR     INCHA       0783  6493  84  DF          ANDA    #$DF        0784  6495  81  59          CMPA    #'Y         0785  6497  27  01          BEQ     SDWR1       0786  6499  39            RTS           0787  649A  BD  6612  SDWR1   JSR     CRLF        0788  649D  17  00FC          LBSR    INSCT       *input SCT No0789        *copy sct no to cmd param0790  64A0  8E  6003          LDX     #SCTN0      0791  64A3  108E  67C6          LDY     #CMD24+1    0792  64A7  C6  04          LDB     #4          0793  64A9  A6  80  CPY2    LDA     ,X+         0794  64AB  A7  A0          STA     ,Y+         0795  64AD  5A            DECB          0796  64AE  26  F9          BNE     CPY2        0797        *send cmd0798  64B0  17  0124          LBSR    SETCKL      0799  64B3  C6  06          LDB     #6          0800  64B5  8E  67C5          LDX     #CMD24      0801  64B8  A6  80  SDW1    LDA     ,X+         0802  64BA  17  012C          LBSR    DSPBIN      disp response0803  64BD  17  00A6          LBSR    SNDDAT      0804  64C0  5A            DECB          0805  64C1  26  F5          BNE     SDW1        0806        *get cmd response0807  64C3      SDW2          0808  64C3  17  00BC          LBSR    GETDAT      0809  64C6  B6  6007          LDA     RESDAT      0810  64C9  17  011D          LBSR    DSPBIN      disp response0811  64CC  81  00          CMPA    #$00        0812  64CE  26  F3          BNE     SDW2        0813        *1byte skip0814  64D0  86  FF          LDA     #$FF        0815  64D2  17  0091          LBSR    SNDDAT      1byte skip0816  64D5  BD  6612          JSR     CRLF        0817         0818        *send data packet0819  64D8  8E  6E00          LDX     #RWBUF      --temp buf0820  64DB  108E  0200          LDY     #512        0821        *send data token0822  64DF  86  FE          LDA     #$FE        0823  64E1  17  0082          LBSR    SNDDAT      data token0824  64E4  A6  80  SNDDT1  LDA     ,X+         0825  64E6  8D  7E          BSR     SNDDAT      0826  64E8  31  3F          LEAY    -1,Y        0827  64EA  26  F8          BNE     SNDDT1      0828         0829  64EC  86  FF          LDA     #$FF        0830  64EE  8D  76          BSR     SNDDAT      crcH0831  64F0  8D  74          BSR     SNDDAT      crcL0832        *get data response0833  64F2      CKRS          0834  64F2  17  008D          LBSR    GETDAT      0835  64F5  B6  6007          LDA     RESDAT      0836  64F8  17  00EE          LBSR    DSPBIN      disp response0837  64FB  81  E5          CMPA    #$E5        data response?0838  64FD  26  F3          BNE     CKRS        0839        *wait until busy0840  64FF      BUSY          0841  64FF  17  0080          LBSR    GETDAT      0842  6502  B6  6007          LDA     RESDAT      0843  6505  17  00E1          LBSR    DSPBIN      disp response0844  6508  81  FF          CMPA    #$FF        0845  650A  26  F3          BNE     BUSY        0846  650C  39            RTS           0847        0848        *------------------------------0849        *read 1 sct0850        *------------------------------0851  650D      RD1SCT  EQU     *           0852        *copy sct no to cmd param0853  650D  8E  6003          LDX     #SCTN0      0854  6510  108E  67C0          LDY     #CMD17+1    0855  6514  C6  04          LDB     #4          0856  6516  A6  80  CPY1    LDA     ,X+         0857  6518  A7  A0          STA     ,Y+         0858  651A  5A            DECB          0859  651B  26  F9          BNE     CPY1        0860        *send cmd0861  651D  17  00B7          LBSR    SETCKL      0862  6520  C6  06          LDB     #6          0863  6522  8E  67BF          LDX     #CMD17      0864  6525  A6  80  RD1     LDA     ,X+         0865  6527  8D  3D          BSR     SNDDAT      0866  6529  5A            DECB          0867  652A  26  F9          BNE     RD1         0868        *get response0869  652C      RD2           0870  652C  8D  54          BSR     GETDAT      0871  652E  B6  6007          LDA     RESDAT      0872  6531  81  FE          CMPA    #$FE        token?0873  6533  26  F7          BNE     RD2         0874        0875        *get data0876        * JSR CRLF0877  6535  8E  6E00          LDX     #RWBUF      --temp buf0878  6538  108E  0200          LDY     #512        0879  653C      RD3           0880  653C  8D  44          BSR     GETDAT      0881  653E  B6  6007          LDA     RESDAT      0882  6541  A7  80          STA     ,X+         save buf0883  6543  31  3F          LEAY    -1,Y        0884  6545  26  F5          BNE     RD3         0885  6547  39            RTS           0886        0887        *------------------------------0888        *disp data0889  6548      DSPBUF  EQU     *           0890  6548  BD  6612          JSR     CRLF        0891  654B  8E  6E00          LDX     #RWBUF      --temp buf0892  654E  108E  0200          LDY     #512        0893  6552  C6  20  DSPB1   LDB     #32         0894  6554      DSPB2         0895  6554  A6  80          LDA     ,X+         save buf0896  6556  17  0090          LBSR    DSPBIN      disp data0897  6559  31  3F          LEAY    -1,Y        0898  655B  27  08          BEQ     DSPB3       0899  655D  5A            DECB          0900  655E  26  F4          BNE     DSPB2       0901  6560  BD  6612          JSR     CRLF        0902  6563  20  ED          BRA     DSPB1       0903  6565  39    DSPB3   RTS           0904        0905        *------------------------------0906        *send data0907  6566      SNDDAT  EQU     *           0908  6566  34  06          PSHS    A,B         0909  6568  7F  6007          CLR     RESDAT      0910  656B  C6  08          LDB     #8          0911  656D  34  02  SNDD1   PSHS    A           0912  656F  84  FC          ANDA    #$FC        0913  6571  8A  02          ORA     #$02        miso:b1=H(for PIA),cs:b0=L0914  6573  B7  FD9E          STA     PBDAT       send data0915  6576  8D  5F          BSR     SETCKL      0916  6578  35  02          PULS    A           0917  657A  48            LSLA          0918  657B  8D  63          BSR     SETCKH      0919  657D  5A            DECB          0920  657E  26  ED          BNE     SNDD1       0921  6580  35  86          PULS    A,B,PC      0922        0923        *get data0924  6582      GETDAT  EQU     *           0925  6582  34  06          PSHS    A,B         0926  6584  C6  08          LDB     #8          0927  6586  8D  4F  GETD1   BSR     SETCKL      0928  6588  12            NOP           0929  6589  12            NOP           0930  658A  12            NOP           0931  658B  8D  53          BSR     SETCKH      0932  658D  B6  FD9E          LDA     PBDAT       get response0933  6590  44            LSRA          0934  6591  44            LSRA          b1--C0935  6592  79  6007          ROL     RESDAT      C--b00936  6595  5A            DECB          0937  6596  26  EE          BNE     GETD1       0938  6598  8D  3D          BSR     SETCKL      0939  659A  35  86          PULS    A,B,PC      0940        *0941        *------------------------------0942        *input SCT No0943  659C      INSCT   EQU     *           0944  659C  8E  6895          LDX     #MSSCT      0945  659F  17  0125          LBSR    PSTRNG      0946  65A2  8D  79          BSR     GET8CH      get 8chr, convert 4bin0947         0948  65A4      SETSCT  EQU     *           0949  65A4  7D  6008          TST     SDHC        0950  65A7  26  1D          BNE     CALCHC      0951        *SD card0952  65A9  C6  03          LDB     #3          0953  65AB  8E  6004          LDX     #SCTN1      0954  65AE  108E  6003          LDY     #SCTN0      0955  65B2  A6  80  SFT1    LDA     ,X+         0956  65B4  A7  A0          STA     ,Y+         0957  65B6  5A            DECB          0958  65B7  26  F9          BNE     SFT1        0959  65B9  7F  6006          CLR     SCTN3       0960        *calc top adrs of sct0961  65BC      CALCSD  EQU     *           0962  65BC  78  6006          LSL     SCTN3       0963  65BF  79  6005          ROL     SCTN2       0964  65C2  79  6004          ROL     SCTN1       0965  65C5  39            RTS           0966        0967        *SDHC card0968        *calc top adrs of sct0969  65C6      CALCHC  EQU     *           0970  65C6  8E  6003          LDX     #SCTN0      0971  65C9  108E  67C0          LDY     #CMD17+1    0972  65CD  C6  04          LDB     #4          0973  65CF  A6  80  CALCH1  LDA     ,X+         0974  65D1  A7  A0          STA     ,Y+         0975  65D3  5A            DECB          0976  65D4  26  F9          BNE     CALCH1      0977  65D6  39            RTS           0978        0979        *0980        *set sck:L0981  65D7      SETCKL  EQU     *           0982  65D7  34  02          PSHS    A           0983  65D9  86  34          LDA     #$34        ca2=L0984  65DB  B7  FD9F          STA     PBCTL       0985  65DE  35  82          PULS    A,PC        0986        0987        *set sck:H0988  65E0      SETCKH  EQU     *           0989  65E0  34  02          PSHS    A           0990  65E2  86  3C          LDA     #$3C        ca2=H0991  65E4  B7  FD9F          STA     PBCTL       0992  65E7  35  82          PULS    A,PC        0993        0994        *binary(A)--ascii(A)(B)0995  65E9      DSPBIN  EQU     *           0996  65E9  34  06          PSHS    A,B         0997  65EB  1F  89          TFR     A,B         0998  65ED  44            LSRA          0999  65EE  44            LSRA          1000  65EF  44            LSRA          1001  65F0  44            LSRA          1002  65F1  8A  30          ORA     #$30        1003  65F3  C4  0F          ANDB    #$0F        1004  65F5  CA  30          ORB     #$30        1005  65F7  81  39          CMPA    #$39        1006  65F9  23  02          BLS     BI21        1007  65FB  8B  07          ADDA    #$07        1008  65FD  C1  39  BI21    CMPB    #$39        1009  65FF  23  02          BLS     BI22        1010  6601  CB  07          ADDB    #$07        1011  6603  BD  FBBB  BI22    JSR     OUTCHA      1012  6606  1F  98          TFR     B,A         1013  6608  BD  FBBB          JSR     OUTCHA      1014  660B  86  20          LDA     #$20        1015  660D  BD  FBBB          JSR     OUTCHA      1016  6610  35  86          PULS    A,B,PC      1017        1018        *crlf1019  6612      CRLF    EQU     *           1020  6612  86  0D          LDA     #$0D        1021  6614  BD  FBBB          JSR     OUTCHA      1022  6617  86  0A          LDA     #$0A        1023  6619  BD  FBBB          JSR     OUTCHA      1024  661C  39            RTS           1025        1026        *1027  661D      GET8CH  EQU     *           1028        *input chr1029  661D  8E  6956          LDX     #INPBUF     1030  6620  5F            CLRB          1031  6621  BD  FBB8  CLOP    JSR     INCHA       1032  6624  81  0D          CMPA    #$0D        1033  6626  27  07          BEQ     INEND       1034  6628  A7  85          STA     B,X         1035  662A  5C            INCB          1036  662B  C1  08          CMPB    #8          1037  662D  25  F2          BLO     CLOP        1038        1039  662F      INEND          1040        *shift1041  662F  5D            TSTB          1042  6630  27  11          BEQ     CL1         1043  6632  8E  6956          LDX     #INPBUF     1044  6635  3A            ABX           1045  6636  108E  695E          LDY     #INPBUF+8   1046  663A  34  04          PSHS    B           1047  663C  A6  82  SFLOP   LDA     ,-X         1048  663E  A7  A2          STA     ,-Y         1049  6640  5A            DECB          1050  6641  26  F9          BNE     SFLOP       1051        *clr1052  6643  C6  08  CL1     LDB     #8          1053  6645  E0  E0          SUBB    ,S+         1054  6647  27  0A          BEQ     CLEND       1055  6649  8E  6956          LDX     #INPBUF     1056  664C  86  30          LDA     #'0         1057  664E  A7  80  CLLOP   STA     ,X+         1058  6650  5A            DECB          1059  6651  26  FB          BNE     CLLOP       1060  6653      CLEND         1061        1062        *convert to bin1063  6653  C6  04          LDB     #4          1064  6655  8E  6956          LDX     #INPBUF     1065  6658  108E  6003          LDY     #SCTN0      1066  665C      CVT1          1067  665C  A6  80          LDA     ,X+         1068  665E  8D  1E          BSR     CVBIN       1069  6660  25  16          BCS     EREND1      1070  6662  48            LSLA          1071  6663  48            LSLA          1072  6664  48            LSLA          1073  6665  48            LSLA          1074  6666  34  02          PSHS    A           1075  6668  A6  80          LDA     ,X+         1076  666A  8D  12          BSR     CVBIN       1077  666C  25  08          BCS     EREND0      1078  666E  AB  E0          ADDA    ,S+         1079  6670  A7  A0          STA     ,Y+         1080  6672  5A            DECB          1081  6673  26  E7          BNE     CVT1        1082  6675  39            RTS           1083         1084  6676  35  02  EREND0  PULS    A           1085  6678  8E  68F6  EREND1  LDX     #MSERR      1086  667B  8D  4A          BSR     PSTRNG      1087  667D  39    EEND    RTS           1088        1089        *--------------------1090        *ascii -- bin1091  667E      CVBIN   EQU     *           1092  667E  80  30          SUBA    #'0         1093  6680  2B  11          BMI     CVERR       1094  6682  81  09          CMPA    #9          1095  6684  23  0A          BLS     CVBEND      1096  6686  81  11          CMPA    #$11        1097  6688  25  09          BLO     CVERR       1098  668A  81  16          CMPA    #$16        1099  668C  22  05          BHI     CVERR       1100  668E  80  07          SUBA    #7          1101  6690      CVBEND        1102  6690  1C  FE          ANDCC   #$FE        reset C1103  6692  39            RTS           1104  6693  1A  01  CVERR   ORCC    #$01        set C1105  6695  39            RTS           1106        1107        *--------------------1108        *add 2bytes to 4bytes1109        * X,X+1,X+2,X+3 + Y,Y+11110        * data X is big endian1111        * data Y is little endian1112  6696      ADD42   EQU     *           1113  6696  34  36          PSHS    A,B,X,Y     1114  6698  32  7C          LEAS    -4,S        1115  669A  C6  04          LDB     #4          1116  669C  A6  80  AD1     LDA     ,X+         1117  669E  A7  E0          STA     ,S+         1118  66A0  5A            DECB          1119  66A1  26  F9          BNE     AD1         1120         1121        *add (lower)1122  66A3  A6  A0          LDA     ,Y+         1123  66A5  AB  E2          ADDA    ,-S         1124  66A7  A7  E4          STA     ,S          1125  66A9  24  02          BCC     AD2         1126  66AB  6C  7F          INC     -1,S        1127        *add (upper)1128  66AD  A6  A4  AD2     LDA     ,Y          1129  66AF  AB  E2          ADDA    ,-S         1130  66B1  A7  E4          STA     ,S          1131  66B3  24  02          BCC     AD3         1132  66B5  6C  7F          INC     -1,S        1133  66B7  30  1C  AD3     LEAX    -4,X        1134  66B9  32  7E          LEAS    -2,S        1135  66BB  C6  04          LDB     #4          1136  66BD  A6  E0  AD4     LDA     ,S+         1137  66BF  A7  80          STA     ,X+         1138  66C1  5A            DECB          1139  66C2  26  F9          BNE     AD4         1140  66C4  35  36          PULS    A,B,X,Y     1141  66C6  39            RTS           1142        1143        *--------------------1144        * pstring1145  66C7      PSTRNG  EQU     *           1146  66C7  34  02          PSHS    A           1147  66C9  A6  80  PSLOP   LDA     ,X+         1148  66CB  81  04          CMPA    #4          1149  66CD  27  05          BEQ     PSEND       1150  66CF  BD  FBBB          JSR     OUTCHA      1151  66D2  20  F5          BRA     PSLOP       1152  66D4  35  02  PSEND   PULS    A           1153  66D6  39            RTS           1154        1155        *--------------------1156        *disp MM-DD-YY1157        *indata A(Low),B(High)1158  66D7      DSPYMD  EQU     *           1159  66D7  1E  89          EXG     A,B         1160  66D9  34  10          PSHS    X           1161  66DB  34  06          PSHS    A,B         1162  66DD  C4  E0          ANDB    #$E0        1163  66DF  54            LSRB          1164  66E0  54            LSRB          1165  66E1  54            LSRB          1166  66E2  54            LSRB          1167  66E3  54            LSRB          1168  66E4  47            ASRA          1169  66E5  24  02          BCC     DYMD1       1170  66E7  CB  08          ADDB    #8          1171  66E9  F7  601A  DYMD1   STB     WMDY        MM1172  66EC  35  06          PULS    A,B         1173  66EE  34  04          PSHS    B           1174  66F0  C4  1F          ANDB    #$1F        1175  66F2  F7  601B          STB     WMDY+1      DD1176  66F5  35  04          PULS    B           1177         1178  66F7  44            LSRA          1179        * ASLB1180        * BCC DYMD21181        * INCA1182  66F8      DYMD2         1183  66F8  80  14          SUBA    #20         A+1980-20001184  66FA  B7  601C          STA     WMDY+2      YY1185         1186        *disp MM-DD-YY1187  66FD  86  20          LDA     #'          1188  66FF  BD  FBBB          JSR     OUTCHA      1189  6702  8E  601A          LDX     #WMDY       1190  6705  A6  80          LDA     ,X+         1191  6707  8D  14          BSR     DB2ASC      MM1192  6709  86  2D          LDA     #'-         1193  670B  BD  FBBB          JSR     OUTCHA      1194  670E  A6  80          LDA     ,X+         1195  6710  8D  0B          BSR     DB2ASC      DD1196  6712  86  2D          LDA     #'-         1197  6714  BD  FBBB          JSR     OUTCHA      1198  6717  A6  80          LDA     ,X+         1199  6719  8D  02          BSR     DB2ASC      YY1200  671B  35  90          PULS    X,PC        1201        1202        *1203        *----------1204        *(A:BIN)--ASCII1205  671D      DB2ASC  EQU     *           1206  671D  34  06          PSHS    A,B         1207  671F  1F  89          TFR     A,B         1208  6721  86  30          LDA     #$30        1209  6723  C1  0A  DBLOP   CMPB    #10         1210  6725  25  05          BLO     DB2         1211  6727  C0  0A          SUBB    #10         1212  6729  4C            INCA          1213  672A  20  F7          BRA     DBLOP       1214  672C  BD  FBBB  DB2     JSR     OUTCHA      1215  672F  1F  98          TFR     B,A         1216  6731  8B  30          ADDA    #$30        1217  6733  BD  FBBB          JSR     OUTCHA      1218  6736  35  86          PULS    A,B,PC      1219        1220        *disp FILE size1221  6738      DSPSIZ  EQU     *           1222  6738  34  10          PSHS    X           1223  673A  BE  601D          LDX     WFSIZ       1224  673D  27  12          BEQ     DSS1        if 64k over?1225  673F  86  2D          LDA     #'-         1226  6741  BD  FBBB          JSR     OUTCHA      1227  6744  BD  FBBB          JSR     OUTCHA      1228  6747  BD  FBBB          JSR     OUTCHA      1229  674A  86  6B          LDA     #'k         1230  674C  BD  FBBB          JSR     OUTCHA      1231  674F  20  3B          BRA     DSEND       1232  6751      DSS1           1233  6751  B6  601F          LDA     WFSIZ+2     1234  6754  81  64          CMPA    #100        1235  6756  23  12          BLS     DSS13       1236  6758  1F  89          TFR     A,B         1237  675A  86  30          LDA     #$30        1238  675C  C1  64  DSLOP1  CMPB    #100        1239  675E  25  05          BLO     DSS12       1240  6760  C0  64          SUBB    #100        1241  6762  4C            INCA          1242  6763  20  F7          BRA     DSLOP1      1243  6765  BD  FBBB  DSS12   JSR     OUTCHA      1244  6768  20  05          BRA     DSS14       1245        1246  676A  86  20  DSS13   LDA     #'          1247  676C  BD  FBBB          JSR     OUTCHA      1248  676F  86  30  DSS14   LDA     #$30        1249  6771  C1  0A  DSLOP2  CMPB    #10         1250  6773  25  05          BLO     DSS2        1251  6775  C0  0A          SUBB    #10         1252  6777  4C            INCA          1253  6778  20  F7          BRA     DSLOP2      1254  677A  81  30  DSS2    CMPA    #$30        1255  677C  26  01          BNE     DSS3        1256  677E  4C            INCA          1257  677F  BD  FBBB  DSS3    JSR     OUTCHA      1258  6782  86  6B          LDA     #'k         1259  6784  BD  FBBB          JSR     OUTCHA      1260  6787  86  20          LDA     #'          1261  6789  BD  FBBB          JSR     OUTCHA      1262  678C  35  90  DSEND   PULS    X,PC        1263        1264        *----------1265  678E      DSPCLS  EQU     *           1266  678E  34  10          PSHS    X           1267  6790  86  20          LDA     #'          1268  6792  BD  FBBB          JSR     OUTCHA      1269  6795  8E  6021          LDX     #CLSTH      1270  6798  C6  02          LDB     #2          1271  679A  A6  80  DCLOP1  LDA     ,X+         1272  679C  17  FF7E          LBSR    DB2ASC      1273  679F  5A            DECB          1274  67A0  26  F8          BNE     DCLOP1      1275  67A2  86  20          LDA     #'          1276  67A4  BD  FBBB          JSR     OUTCHA      1277  67A7  C6  02          LDB     #2          1278  67A9  A6  80  DCLOP2  LDA     ,X+         1279  67AB  17  FF6F          LBSR    DB2ASC      1280  67AE  5A            DECB          1281  67AF  26  F8          BNE     DCLOP2      1282  67B1  35  90          PULS    X,PC        1283        1284        **************************************************1285        *========== parameter ==========1286  67B3  40    CMD0    FCB     $40,$00,$00,$00,$00,$95 '@    1287  67B9  41    CMD1    FCB     $41,$00,$00,$00,$00,$FF 'A    1288  67BF  51    CMD17   FCB     $51,$00,$00,$00,$00,$FF 'Q    1289  67C5  58    CMD24   FCB     $58,$00,$00,$00,$00,$FF 'X    1290  67CB  48    CMD8    FCB     $48,$00,$00,$01,$AA,$87 'H    1291  67D1  7A    CMD58   FCB     $7A,$00,$00,$00,$00,$FF 'z    1292  67D7  77    CMD55   FCB     $77,$00,$00,$00,$00,$FF 'w    1293  67DD  69    ACMD41  FCB     $69,$40,$FF,$80,$00,$FF 'i    1294  67E3  49    CMD9    FCB     $49,$00,$00,$00,$00,$FF 'I    1295        *1296  67E9  43      MCMD0   FCC     /CMD0/,$D,$A    1297  67EF  04            FCB     4           1298  67F0  43      MCMD8   FCC     /CMD8/,$D,$A    1299  67F6  04            FCB     4           1300  67F7  43      MCMD58  FCC     /CMD58/,$D,$A   1301  67FE  04            FCB     4           1302  67FF  43      MCMD55  FCC     /CMD55/,$D,$A   1303  6806  04            FCB     4           1304  6807  41      MCMD41  FCC     /ACMD41/,$D,$A    1305  680F  04            FCB     4           1306  6810  43      MCMD9   FCC     /CMD9/,$D,$A    1307  6816  04            FCB     4           1308        *1309  6817  0D      MSMENU1 FCC     $0D,$0A,/1:Read Sct, 2:Write Sct, 3:Get SD data, 4:SD Init, 5:Disp MBR, /   1310  6858  04            FCB     4           1311  6859  0D      MSMENU2 FCC     $0D,$0A,/6:Disp BPB, 7:Disp FAT, 8:Disp DIR, 9:Load FILE, 0:End : /   1312  6894  04            FCB     4           1313  6895  53      MSSCT   FCC     /SctNo: /   1314  689C  04            FCB     4           1315  689D  57      MSWROK  FCC     /Write OK?: /   1316  68A8  04            FCB     4           1317  68A9  0D      MSSD0   FCC     $0D,$0A,/SD Card/,$0D,$0A   1318  68B4  04            FCB     4           1319  68B5  0D      MSSD1   FCC     $0D,$0A,/SDHC Card/,$0D,$0A   1320  68C2  04            FCB     4           1321  68C3  0D      MSINIT  FCC     $0D,$0A,$0D,$0A,/SD Card initializing.../   1322  68DE  04            FCB     4           1323  68DF  53      MERR    FCC     /SD Initialize error!/,$0D,$0A    1324  68F5  04            FCB     4           1325  68F6  49      MSERR   FCC     /Input error!/,$0D,$0A    1326  6904  04            FCB     4           1327  6905  0D      MSOFS   FCC     $0D,$0A,/Sector no is:/,$0D,$0A   1328  6916  04            FCB     4           1329  6917  0D      MSBPB   FCC     $0D,$0A,/ BPB: /    1330  691F  04            FCB     4           1331  6920  0D      MSFAT   FCC     $0D,$0A,/ FAT: /    1332  6928  04            FCB     4           1333  6929  0D      MSDIR   FCC     $0D,$0A,/ DIR: /    1334  6931  04            FCB     4           1335  6932  0D      MSCL2   FCC     $0D,$0A,/ 1stCLUSTER: /   1336  6941  04            FCB     4           1337  6942  0D      MSINFL  FCC     $0D,$0A,/Select File No : /   1338  6955  04            FCB     4           1339        1340        **************************************************1341  6956  FF    INPBUF  RMB     8           1342        1343          END     START        0 error(s),  0 warning(s) is detected. Label addressACMD41  67DD  AD1     669C  AD2     66AD  AD3     66B7  AD4     66BDADD42   6696  ASC411  6169  ASCMD41 615C  BI21    65FD  BI22    6603BUSY    64FF  CALCH1  65CF  CALCHC  65C6  CALCSD  65BC  CKRS    64F2CL1     6643  CLEND   6653  CLLOP   664E  CLOP    6621  CLSTH   6021CLSTL   6023  CMD0    67B3  CMD1    67B9  CMD17   67BF  CMD24   67C5CMD55   67D7  CMD58   67D1  CMD8    67CB  CMD9    67E3  CPY1    6516CPY2    64A9  CRLF    6612  CVBEND  6690  CVBIN   667E  CVERR   6693CVT1    665C  DB2     672C  DB2ASC  671D  DBLOP   6723  DCLOP1  679ADCLOP2  67A9  DSEND   678C  DSLOP1  675C  DSLOP2  6771  DSPB1   6552DSPB2   6554  DSPB3   6565  DSPBIN  65E9  DSPBPB  634A  DSPBUF  6548DSPC1   63D6  DSPCLS  678E  DSPDIR  636E  DSPEND  63F3  DSPFAT  635CDSPFL1  6382  DSPFL2  638F  DSPFL3  639A  DSPFL4  63A9  DSPMBR  62F0DSPSIZ  6738  DSPYMD  66D7  DSS1    6751  DSS12   6765  DSS13   676ADSS14   676F  DSS2    677A  DSS3    677F  DYMD1   66E9  DYMD2   66F8EEND    667D  EREND0  6676  EREND1  6678  GET1    62FB  GET2    62FDGET8CH  661D  GETBPB  6331  GETD1   6586  GETDAT  6582  GETMBR  630EGETSD   624F  GPLOP   6314  GPLOP2  633C  GR00    60D4  GR2580  6196GR2581  61AD  GR2582  61AF  GR410   6171  GR550   6152  GR580   6128GR581   6132  GR582   6134  GR80    60F8  GR81    610A  GR90    6262GR91    6271  ILOP1   61D2  ILOP2   61E5  ILOP3   61FF  ILOP4   622DINCHA   FBB8  INEND   662F  INIT    604D  INPBUF  6956  INSCT   659CISTT    60BA  LD1     6412  LD2     641A  LD3     6432  LD4     643DLD5     6449  LD51    6457  LD52    645F  LD53    6467  LD6     6473LDFILE  63F4  LDLOP   6407  MAIN    6029  MCMD0   67E9  MCMD41  6807MCMD55  67FF  MCMD58  67F7  MCMD8   67F0  MCMD9   6810  MEN1    6066MEN2    606E  MEN3    6076  MEN4    607E  MEN5    6085  MEN6    608DMEN7    6095  MEN8    609D  MEN9    60A5  MENU    604F  MERR    68DFMSBPB   6917  MSCL2   6932  MSDIR   6929  MSERR   68F6  MSFAT   6920MSINFL  6942  MSINIT  68C3  MSMENU1 6817  MSMENU2 6859  MSOFS   6905MSSCT   6895  MSSD0   68A9  MSSD1   68B5  MSWROK  689D  OKEND   62DCOUTCHA  FBBB  PBCTL   FD9F  PBDAT   FD9E  PSEND   66D4  PSLOP   66C9PSTRNG  66C7  RD1     6525  RD1SCT  650D  RD2     652C  RD3     653CRESDAT  6007  RPT41   613D  RWBUF   6E00  SC01    60CB  SC2581  618ESC551   614A  SC581   6120  SC80    60F0  SC91    625A  SCLOP1  6291SCLOP2  62A4  SCLOP3  62B7  SCLOP4  62CA  SCMD0   60C3  SCMD258 6181SCMD55  613D  SCMD58  6113  SCMD8   60E3  SCTBPB  6009  SCTCLT  6015SCTDIR  6011  SCTFAT  600D  SCTN0   6003  SCTN1   6004  SCTN2   6005SCTN3   6006  SCTPCL  6019  SD1     61C3  SDERR   62D6  SDHC    6008SDINIT  60AD  SDRD    62DD  SDW1    64B8  SDW2    64C3  SDWR1   649ASDWRT   648A  SELOP   6326  SETCKH  65E0  SETCKL  65D7  SETSCT  65A4SETSNO  6320  SFLOP   663C  SFT1    65B2  SKP1    6211  SKP2    6246SNDD1   656D  SNDDAT  6566  SNDDT1  64E4  START   6000  STTADR  6000VN      6002  WFSIZ   601D  WK1     6025  WK2     6027  WMDY    601A
SDHC8FM
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


リストが長いので今回は縦スクロール付きにしてみました。「全選択」ボタンがありませんが、リスト中でダブルクリックしておいてCtrl-Cでコピーできます。




0 件のコメント:

コメントを投稿