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"