⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 net.asm

📁 辞典 dict3.asm.grammar.asm,newword.asm 学习 learn.asm 名片 userinf.asm 备忘 userinf.asm 提醒 userinf
💻 ASM
📖 第 1 页 / 共 5 页
字号:
        dw      biosbank
        dw      SendByte-1

        ldx     Relation         ;名片属性
        jsr     LJSR
        dw      biosbank
        dw      SendByte-1
        rts

SendOtherData:
        jsr     LJSR
        dw      RemarkBank
        dw      ToFindDataINS-1
        stz     CheckSumL
        stz     CheckSumH
        ldy     #0
?_1:
        clc
        lda     CheckSumL
        adc     (<INS),y
        sta     CheckSumL
        lda     CheckSumH
        adc     #0
        sta     CheckSumH
        iny
        cpy     DataLenL
        bcc     ?_1

        ldx     #99H
        jsr     LJSR
        dw      biosbank
        dw      SendByte-1

        clc
        lda     DataLenL
        adc     #4
        tax
        jsr     LJSR
        dw      biosbank
        dw      SendByte-1

        clc
        lda     DataLenL
        adc     #4
        lda     DataLenH
        adc     #0
        tax
        jsr     LJSR
        dw      biosbank
        dw      SendByte-1

        lda     #0FFh
        Eor     CheckSumL
        sta     CheckSumL
        lda     #0FFh
        Eor     CheckSumH
        sta     CheckSumH

        clc
        lda     CheckSumL
        adc     #1
        sta     CheckSumL
        lda     CheckSumH
        adc     #0
        sta     CheckSumH

        ldx     CheckSumL
        jsr     LJSR
        dw      biosbank
        dw      SendByte-1

        ldx     CheckSumH
        jsr     LJSR
        dw      biosbank
        dw      SendByte-1

        jsr     LJSR
        dw      RemarkBank
        dw      ToFindDataINS-1

        ldy     #0
?_2:
        lda     (<INS),y
        tax
        jsr     LJSR
        dw      biosbank
        dw      SendByte-1
        iny
        cpy     DataLenL
        bcc     ?_2
        rts

InitGameData:
        lda     GameSectorNo
        cmp     #0
        bne     ?_Not_0
        lda     #c0H
        sta     <INDH
        jsr     Init_LjsrDataForGame
        bra     ?_NotAgain
?_Not_0:
        cmp     #4
        bne     ?_NotAgain
        lda     #C0H
        sta     <INDH
        jsr     Init_LjsrDataForGame
?_NotAgain:
        rts

Delay10Second:
        clc                          ;;Clear C Flag
        bbr1    <EFlag,ExitDelay10Sec
        rmb1    <EFlag
        lda     <DelayTime
        cmp     #10
        bcs     ExitDelay10Sec
        inc     <DelayTime
ExitDelay10Sec:
        rts

ToFindOtherData:
        clc
        lda     <INSL
        adc     #8
        sta     <INSL
        lda     <INSH
        adc     #0
        sta     <INSH

        lda     #<FlashBank
        sta     <DrrL
        lda     #>FlashBank
        sta     <DrrH

        lda     <INSH
        cmp     #0B0H
        bcc     ?_1
        rmb3    <NetFlag        ;0 置无记录可供上传标志
        rts
?_1:
        ldy     #0
        lda     (<INS),y
        and     #00000011B
        cmp     #2
        bne     ToFindOtherData
        iny
        lda     (<INS),y
        cmp     DataClass
        bne     ToFindOtherData

        lda     <INSL
        sta     BINSL
        lda     <INSH
        sta     BINSH
        iny
        lda     (<INS),y
        sta     DataNameL
        iny
        lda     (<INS),y
        sta     DataNameH

        iny
        lda     (<INS),y
        sta     DataLenL
        iny
        lda     (<INS),y
        sta     DataLenH

        iny
        lda     (<INS),y
        sta     <SectorNO
        iny
        lda     (<INS),y
        sta     <SectorOff
        smb3    <NetFlag        ;置 有 记录可供上传标志
        rts

InitDataForDownYY:
        lda     #<FlashBank
        sta     <DrrL
        lda     #>FlashBank
        sta     <DrrH

        lda     #B0H            ;清除FlashBuffor
        sta     <INDH           ;
        stz     <INDL           ;
        jsr     Ljsr            ;
        dw      biosbank        ;
        dw      SectorErase-1   ;

        lda     <StartINSH      ;将8000-808F的数据备份到
        sta     <INSH           ;FlashBuffor
        stz     <INSL           ;

        lda     <INSH
        cmp     #80H
        bne     Is_Not80H

write_loop_0:
        lda     (<INS)
        tax

	WriteByte_X

        inc     <INSL
        lda     <INSL
        cmp     #27H
        bne     write_loop_0
;;;;;;;
write_loop_3
        lda     #FEH
        tax

	WriteByte_X

        inc     <INSL
        lda     <INSL
        cmp     #50H
        bne     write_loop_3

write_loop_4
        lda     #FFH
        tax

	WriteByte_X

        inc     <INSL
        lda     <INSL
        cmp     #90H
        bne     write_loop_4
        ;lda    #90H            ;因为清FlashBuffor 时
        ;sta    <INSL
;;;;;;;;

Is_Not80H:

loop:
        ldx     #0
write_loop_1:
        cpx     #8
        beq     end_write_loop_1
        lda     (<INS)
        sta     FatBuffor,x
        inx
        inc     <INSL
        bne     write_loop_1
        inc     <INSH
        bne     write_loop_1
end_write_loop_1:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

        lda     <FatSectorNo
        cmp     #15H
        bne     Is_Not_15H
        lda     <FatDataLenH
        cmp     #20H
        bcc     Is_Not_15H


        ldy     #0
?_0:

        inc     <INDL
        bne     ?1
        inc     <INDH
        bne     ?1
        smb7    <INDH
        inc     <DRRl
        bne     ?1
        inc     <drrh
?1
        iny
        cpy     #8
        bne     ?_0


        bra     judgeContinue
Is_Not_15H:

        lda     <FatSectorNo
        cmp     #16H
        bne     Is_Not_16H
        lda     <FatDataLenH
        cmp     #10H
        bcc     Is_Not_16H

        ldy     #0
?_0:
        inc     <INDL
        bne     ?1
        inc     <INDH
        bne     ?1
        smb7    <INDH
        inc     <DRRl
        bne     ?1
        inc     <drrh
?1

        iny
        cpy     #8
        bne     ?_0

Is_Not_16H:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
        lda     <FatSectorNo
        cmp     #17H
        bcc     LessThan_17H
        ldy     #0
?_0:

        inc     <INDL
        bne     ?1
        inc     <INDH
        bne     ?1
        smb7    <INDH
        inc     <DRRl
        bne     ?1
        inc     <drrh
?1

        iny
        cpy     #8
        bne     ?_0
        bra     judgeContinue
LessThan_17H:
        ldy     #0
?_1:
        lda     FatBuffor,y
        tax

        WriteByte_X

        iny
        cpy     #8
        bne     ?_1
judgeContinue:

        lda     <INSH
        cmp     <StopINSH
        beq     ?_0
        jmp     loop
?_0:
        stz     <INDL   ;;清80区
        lda     <StartINSH
        sta     <INDH
        jsr     Ljsr
        dw      Biosbank
        dw      SectorErase-1

        stz     <INSL
        lda     #0b0h
        sta     <INSH
Rewrite_loop_1:
        lda     (<INS)
        tax

	WriteByte_X

        inc     <INSL
        bne     Rewrite_loop_1
        inc     <INSH
        lda     <INSH
        cmp     #0C0h
        bcc     Rewrite_loop_1
        rts

ForYYZDInit:
        jsr     InitSomeData

        lda     #80H
        sta     <StartINSH
        lda     #90H
        sta     <StopINSH
        jsr     InitDataForDownYY

        lda     #90H
        sta     <StartINSH
        lda     #A0H
        sta     <StopINSH
        jsr     InitDataForDownYY

        lda     #A0H
        sta     <StartINSH
        lda     #B0H
        sta     <StopINSH
        jsr     InitDataForDownYY

        lda     #8AH                    ;\\\\\\\\\\\\
        sta     <DrrL                   ;英英词典专用
        stz     <DrrH                   ;////////////
        lda     <ClrStartINDH           ;
        sta     <INDH                   ;

        lda     <ClrDataLen_4K          ;
        lsr
        lsr
        tay
        jsr     Ljsr                    ;
        dw      biosbank                ;
        dw      erase_flash_4k_x_n_bytes-1

        lda     #8AH                    ;
        sta     <DrrL                   ;
        stz     <DrrH                   ;
        lda     #F0H                    ;
        sta     <INDH                   ;
        stz     <INDL                   ;\\\\\\\\\\\\
        rts

ShowYYMenuSub:
        lda     #3
        sta     <FatBuffor
        stz     data_lengthh
        lda     #1  ;;1个数据
        sta     data_lengthl
        lda     #>FatBuffor
        sta     <flash_pointer_sh
        lda     #<FatBuffor
        sta     <flash_pointer_sl

        lda     #>NetMenuSub1+2
        sta     <flash_pointer_dh
        lda     #<NetMenuSub1+2
        sta     <flash_pointer_dl
        lda     #<MenuLibDataBank
        sta     <flash_object_drr
        jsr     ljsr
        dw      biosbank
        dw      copy_ram_data_to_flash-1

        lda     #3
        sta     <FatBuffor
        stz     data_lengthh
        lda     #1  ;;1个数据
        sta     data_lengthl
        lda     #>FatBuffor
        sta     <flash_pointer_sh
        lda     #<FatBuffor
        sta     <flash_pointer_sl
        lda     #>DelDownLoadMenu+2
        sta     <flash_pointer_dh
        lda     #<DelDownLoadMenu+2
        sta     <flash_pointer_dl
        lda     #<MenuLibDataBank
        sta     <flash_object_drr

        jsr     ljsr
        dw      biosbank
        dw      copy_ram_data_to_flash-1


        rts

;////////////////////////////////////////////
;;;;
;;;;    output:  ClrStartINDH , ClrDataLen_4K
;;;;             根据ClrStartINDH , ClrDataLen_4K
;;;;             清除8015H 或(和) 8016H内的内容(DrrL=FlashBank)
;;;;    input:  无
;;;;
;////////////////////////////////////////////
InitSomeData:
        lda     #<FlashBank
        sta     <DrrL
        lda     #>FlashBank
        sta     <DrrH
        lda     #71H
        sta     <StartINSH
Big_loop:
        Clc
        lda     <StartINSH
        adc     #10H
        sta     <StartINSH
        sta     <INSH
        stz     <INSL
        adc     #10h
        sta     <StopINSH

        lda     <INSH
        cmp     #B0H
        bne     ?_1
        rts
?_1:
        lda     <INSH
        cmp     #80H
        bne     ?Is_Not80H

        lda     #90H
        sta     <INSL

?Is_Not80H:
?loop:
        ldx     #0
?write_loop_1:
        cpx     #8
        beq     ?end_write_loop_1
        lda     (<INS)
        sta     FatBuffor,x
        inx
        inc     <INSL
        bne     ?write_loop_1
        inc     <INSH
        bne     ?write_loop_1
?end_write_loop_1:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -