Rev 893 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download
;startupFCB1=0xe800 ;aligned ;len=0x0200*filesDOSBUF=0xfe00 ;alignedinclude "../../_sdk/sysdefs.asm";COMMANDLINE=0x0080;COMMANDLINE_sz=0x0080;PROGSTART=0x0100_STRLEN=80_STRMAX=(_STRLEN-1)org PROGSTARTld hl,0xe800 ;FCB1ld de,0xe801ld bc,0x17ffld [hl],0ldirld hl,COMMANDLINEskipword0ld a,(hl)inc hlor ajr z,cmdquit ;хёыш ярЁрьхЄЁют тююс∙х эхЄcp ' 'jr nz,skipword0skipwordqld de,fn_os.call copyfn.;ld de,fn.;ld (main.fn),de;call copyfn.ld de,fn_os.ld c,CMD_OPENHANDLEcall 0x0005ld a,bld (curhandle),acall movediskcurhandle=$+1ld b,0ld c,CMD_CLOSEHANDLEcall 0x0005cmdquitld hl,0 ;result (TODO)rst 0x00 ;QUITcopyfn.l0.ld a,(hl)inc hlld (de),ainc decp ' '+1jr nc,l0. ;read until space or CRxor adec deld (de),a ;'\0'ret;from io.c:findlastslashfindlastslash.A.=$+1ld hl,0;hl = poi to filename in stringfindlastslashok.ld d,hld e,l ;de = after last slash;find last slashfindlastslash0.ld a,[hl]inc hlor ajr z,findlastslashq.cp '/'jr nz,findlastslash0.jr findlastslashok.findlastslashq.ex de,hl;hl = after last slashretpositioning_in_fn_os;hl=trsecld a,ladd a,aadd a,aadd a,aadd a,ald l,a ;hl = trdsec*16xor ald d,a;0add hl,hlrlaadd hl,hlrlaadd hl,hlrlaadd hl,hlrlald e,a ;dehl = trdsec*256;dehl=offsetld a,(curhandle)ld b,ald c,CMD_SEEKHANDLEcall 0x0005ret;FUNC UINT readsectors FORWARD(PBYTE buf, UINT trsec, BYTE count);readsectorsreadsectors.B.=$+1 ;trsecld hl,0call positioning_in_fn_osreadsectors.A.=$+1 ;bufld de,0readsectors.C.=$+2 ;countld hl,0x0100ld a,(curhandle)ld b,ald c,CMD_READHANDLEcall 0x0005ret;FUNC UINT writesectors FORWARD(PBYTE buf, UINT trsec, BYTE count);writesectorswritesectors.B.=$+1 ;trsecld de,0call positioning_in_fn_oswritesectors.A.=$+1 ;bufld de,0writesectors.C.=$+2 ;countld hl,0x0100ld a,(curhandle)ld b,ald c,CMD_WRITEHANDLEcall 0x0005retinclude "movedisk.ast"include "../_sdk/lib.i"include "../_sdk/str.i"include "../_sdk/io_os.i"fn_os.db "test.trd"db 0ds 255 ;for long filenames;fn.; db "bin.f"; db 0; ds 255 ;for long filenamesinclude "movedisk.var"