@Don_Adan, post #210
@Don_Adan, post #212
; tryb testowy #TEST = 0 Function .l ReadSize{adres.l} MOVE.l D0,A0 ;-----odczyt SUBA.l #1,A0 ; z MOVE.b (A0),D0 ; nieparzystego ROL.l #8,D0 ; bajtu MOVE.b 1(A0),D0 ; / ROL.l #8,D0 ; / MOVE.b 2(A0),D0 ; / ROL.l #8,D0 ; / MOVE.b 3(A0),D0 ;/ ROL.w #8,D0 ; zamiana SWAP.w D0 ; ROL.w #8,D0 ; endiana AsmExit End Function NEWTYPE .fileOnDisk _size.l ; rozmiar _data.l ; wskaznik _name.s ; nazwa pliku End NEWTYPE DEFTYPE .fileOnDisk src,fts DEFTYPE .l offset ; ZMIENNE: ; src zmienna pliku odczytanego ; fts zmienna pliku do zapisu ; offset pozycja odczytu w pamieci ;-------------------------------------------------------------- ; nalezy uruchomic z dwoma parametrami ; BBSplit <PLIK> <KATALOG_WYJSCIOWY> CNIF #TEST=0 If NumPars<>2 Then End CEND ;-------------------------------------------------------------- ; wczytanie pliku CNIF #TEST=0 src\_name = Par$(1) DEST$=Par$(2) CELSE src\_name = "DH1:Unpacked/arc.lha" DEST$="RAM:" CEND src\_size = FileSize(src\_name) src\_data= AllocMem_(src\_size,0) BLoad src\_name,src\_data ;-------------------------------------------------------------- offset = 8 ; PETLA ZAPISU While offset<src\_size fts\_size = ReadSize{src\_data+offset} ; NAZWA PLIKU DO ZAPISU offset+14 a$ = "" While Peek.b(src\_data+offset)<>0 a$=a$+Chr$(Peek.b(src\_data+offset)) offset+1 Wend a$ = UnLeft$(a$,3) ; usuwam 3 ostatnie znaki fts\_name = a$ ; KOPIOWANIE DANYCH fts\_data = AllocMem_(fts\_size,0) offset+2 CopyMem_ src\_data+offset , fts\_data , fts\_size offset+fts\_size+8 BSave DEST$+fts\_name , fts\_data , fts\_size FreeMem_ fts\_data,fts\_size Wend FreeMem_ src\_data,src\_size End
@tukinem, post #214
SUBA.l #1,A0
@Don_Adan, post #215
@Don_Adan, post #210
@tukinem, post #221
@Don_Adan, post #223
@Don_Adan, post #226
No i niby skad bierzesz nazwe 1.DAT a nie 1.DATm ? Musisz inaczej do tego podejsc.
@Don_Adan, post #226
@Don_Adan, post #230
@Don_Adan, post #232
@tukinem, post #233
@Don_Adan, post #234
@tukinem, post #235