Login

Subversion Repositories NedoOS

Rev

Blame | Last modification | View Log | Download | RSS feed

        DEVICE ZXSPECTRUM128
        include "../_sdk/sys_h.asm"

READ_BUF_SZ=8*256
 
        org PROGSTART
cmd_begin
 
        LD DE,FILE_NAME
        OS_OPENHANDLE
        OR A
        JP NZ,ERR_EXIT    ;╨╛╨▒╤А╨░╨▒╨╛╤В╨║╨░ ╨╛╤И╨╕╨▒╨╛╨║
        LD A,B
        LD (handle),A    ;╤Б╨╛╤Е╤А╨░╨╜╤П╨╡╨╝ ╨┤╨╡╤Б╨║╤А╨╕╨┐╤В╨╛╤А

                LD B,2
                LD HL,0
                LD IX,0
t0              PUSH BC
                ld B,#A0

t1              PUSH BC
                PUSH HL

                LD A,(handle)
        LD B,A

                LD DE,READ_BUF
                LD HL,READ_BUF_SZ;2048
        OS_READHANDLE
        OR A
        JP NZ,ERR_EXIT    ;╨╛╨▒╤А╨░╨▒╨╛╤В╨║╨░ ╨╛╤И╨╕╨▒╨╛╨║
        LD A,H
        OR L
        JP Z,END_READ    ;╨┤╨░╨╜╨╜╤Л╤Е ╨┤╨╗╤П ╤З╤В╨╡╨╜╨╕╤П ╨╜╨╡╤В, ╨╗╨╕╨▒╨╛ ╤Г╨║╨░╨╖╨░╤В╨╡╨╗╤М ╤З╤В╨╡╨╜╨╕╤П\╨╖╨░╨┐╨╕╤Б╨╕ ╤Г╨║╨░╨╖╤Л╨▓╨░╨╡╤В ╨╜╨░ ╨║╨╛╨╜╨╡╤Ж ╤Д╨░╨╣╨╗╨░
                POP HL

                PUSH HL
                LD B,0
                LD DE,READ_BUF
                LD A,READ_BUF_SZ/256;8
                OS_WRITESECTORS ;b=drive, de=buffer, ixhl=sector number, a=count
                POP HL
               
                LD BC,8
                ADD HL,BC
                POP BC
                DJNZ t1
                POP BC
                DJNZ t0






END_READ



 
CLOSE_ERR_EXIT
        LD A,(handle)
        LD B,A
        OS_CLOSEHANDLE
        ;OR A
        ;JP NZ,ERR_EXIT    ;╨╛╨▒╤А╨░╨▒╨╛╤В╨║╨░ ╨╛╤И╨╕╨▒╨╛╨║
ERR_EXIT
        QUIT
               
 
FILE_NAME:
           DEFB "source.trd",0  
 
handle
           DEFB 0

READ_BUF
        DEFS READ_BUF_SZ
 
cmd_end
 
 
        ;display "Size ",/d,cmd_end-cmd_begin," bytes"
 
        savebin "wrtrd.com",cmd_begin,cmd_end-cmd_begin
 
        LABELSLIST "../../us/user.l"