Hello collegues I have a strange behaiviour on my NEC PC-8201 when i transfer files with DesLink+ (actual Master branch 2.0.x) When i start TS-DOS on my NEC and dl pn my Debian Linux, anything seems to working fine.
I can load any .DO or .BA files from the current direcory on my Linux Machine. When i try to open loaded files in basic - they dont run because corrupted. I copied a file DSKLOG.DO from Linux PC to NEC and saved it back to Linux under different name. And i see, that the size is different and first lines of file contains garbage. The rest of the file is normal. DSKLOG.DO is the normal file DSKLOGB.DO is broken file Now i wonder, what is wrong on my configuration. I am thankfull for any help -- Kind regards / Mit freundlichen Grüßen ExPLIT IT Solutions Pawel Radomychelski
DSKLOGB.DO
Description: Binary data
1 'DSKLOG.NEC - Original author unknown 2 'Disk catalogging system for Tandy 3 'PDD1 with TS-DOS. 4 ' 10 CLS:GOTO900:'Modified for POWR-DOS by Ronnie Riche;for the NEC by Philip Frank 20 A=INKEY$:IFA=""THEN20ELSERETURN 30 Z=1-Z:LOCATE30,2:PRINTCHR$(128);:RETURN 40 IFLEN(A)<10THENA=A+SPACE$(10-LEN(A)):RETURNELSEA=LEFT$(A,10):RETURN 50 M=0:FORL=1TOU(K):M=M+(Q(K,L)+1279)/1280:NEXTL:K=79-M:RETURN 60 OPENGFORINPUTAS1:OPENGFOROUTPUTAS2:RETURN 70 CLS:RESTORE:FORI=1TO8:READA:LOCATE((I*20+25)MOD40),(INT((I*20+25)/40)):PRINT"("LEFT$(A,1)")"RIGHT$(A,LEN(A)-1);:NEXTI 80 DATA Log disk,Options,Directory,Free,Write,View,Read,Exit 90 GOSUB20:IFA=""THEN90 100 I=(INSTR("LlDdFfOoEeWwVvSsRr",A)+1)/2:IFITHENONIGOTO400,740,200,750,780,790,380,950,910ELSEBEEP:GOTO90 110 GOSUB20:GOTO70 120 CLS:LOCATE10,2:PRINT"Reading";:GOSUB60:GOSUB240:K=0:L=1:M=6:R=0:GOSUB250:GOSUB160:IFKTHEN150 130 L=2:M=5:FORI=1TO39:IFKTHEN150 140 GOSUB250:GOSUB160:NEXTI 150 CLOSE:RETURN 160 A=INPUT$(11,1):IFLEFT$(A,2)<>FS$THENE="Disk error":GOTO890 170 IFASC(MID$(A,3,1))=0THENK=1:RETURN 180 R=R+1:B(R)=RIGHT$(A,9):V(R)=-1:A=INPUT$(20,1):V(R)=ASC(MID$(A,17))*256+ASC(MID$(A,18)) 190 GOSUB30:RETURN 200 CLS:LOCATE5,1:PRINT"Disks"STRING$(15,".")T"/"O:N=0:FORI=1TOT:N=N+U(I):NEXTI:LOCATE5,2:PRINT"Files"STRING$(15,".")N"/"O*40 210 LOCATE5,3:PRINT"Free"STRING$(16,".")FRE("")"/ 8000";:GOTO110 220 IFERR<>54THEN870 230 CLOSE:BEEP:GOSUB60:RESUME190 240 PRINT#2,CHR$(7)CHR$(0)"ZZ"CHR$(7)CHR$(0)CHR$(24)CHR$(13);:RETURN 250 FORJ=1TO9:NEXTJ:PRINT#2,CHR$(5)"ZZ"CHR$(0)CHR$(26)CHR$(1);:PRINT#2,";DIS SP/CONT"CHR$(13)CHR$(10)"ERRL1"CHR$(9); 260 PRINT#2,"CALF"CHR$(L)CHR$(M);:RETURN 270 CLS:LOCATE10,2:PRINT"Reading "F;:ONERRORGOTO360:OPENFFORINPUTAS1:T=0:N=0 280 IFEOF(1)THEN340 290 LINEINPUT#1,A:IFLEFT$(A,1)="<"THEN310 300 N=N+1:C(T,N)=LEFT$(A,9)+RIGHT$(A,LEN(A)-16):Q(T,N)=VAL(MID$(A,11,5)):GOTO280 310 IFT>0THENU(T)=N 320 IFT=OTHENE="Max disks":CLOSE:GOTO890 330 GOSUB30:T=T+1:D(T)=MID$(A,2,10):H(T)=MID$(A,12,8):N=0:GOTO280 340 U(T)=N:CLOSE1 350 RETURN 360 IFERR<>52THEN870 370 T=0:RESUME350 380 IFT=0THEN880 390 CLS:FORI=1TOT:PRINTUSING"##) ";I;:PRINTD(I)" "H(I)" Files"U(I):NEXTI:GOTO110 400 CLS:A="":INPUT"Disk name ";A:IFA=""THEN70 410 GOSUB40:W=0:IFT=0THEN440 420 FORI=1TOT:IFA=D(I)THEN450 430 NEXTI 440 W=1:T=T+1:I=T:D(I)=A 450 S=I:H(S)=DATE$:IFT<=OTHEN480 460 IFWTHENT=T-1 470 E="Max disks":GOTO890 480 GOSUB120:IFR=0THEN880 490 FORI=1TOR:Q(S,I)=V(I):NEXTI:CLS:IFWTHEN640 500 LOCATE10,2:PRINT"Updating old disk";:J=1:K=1:N=U(S):M=N:FORI=1TON:A=LEFT$(C(S,J),9) 510 IFK>RTHEN540 520 IFA=B(K)THEN560 530 IFA>B(K)THENK=K+1:GOTO510 540 IFJ=MTHENM=M-1:GOTO580 550 M=M-1:FORL=JTOM:Q(S,L)=Q(S,L+1):C(S,L)=C(S,L+1):NEXTL:GOTO570 560 K=K+1:J=J+1 570 NEXTI 580 J=1:FORI=1TOR:IFJ>MTHEN610 590 A=LEFT$(C(S,J),9):IFA=B(I)THEN620 600 M=M+1:FORK=MTOJ+1STEP-1:Q(S,K)=Q(S,K-1):C(S,K)=C(S,K-1):NEXTK 610 C(S,J)=B(I):Q(S,J)=V(I):V(I)=1:GOTO630 620 V(I)=0 630 J=J+1:NEXTI:U(S)=R 640 FORI=1TOR:IFW=0 ANDV(I)=0THEN720 650 CLS:PRINT"Enter description for "B(I):FORJ=1TOT-W:IFJ=STHEN680 660 FORK=1TOU(J):IFB(I)=LEFT$(C(J,K),9)THEN690 670 NEXTK 680 NEXTJ:A="*":GOTO700 690 A=RIGHT$(C(J,K),LEN(C(J,K))-9):PRINT"<ENTER> = "A:IFXTHEN710 700 LOCATE10,2:PRINTSTRING$(30,"_");:LOCATE8,2:PRINT;:INPUTA:IFLEN(A)>30THENA=LEFT$(A,30) 710 C(S,I)=B(I)+A 720 NEXTI:U(S)=R:IFYTHENGOSUB800 730 GOTO70 740 GOSUB120:CLS:FORI=1TOR:PRINT" "B(I);:NEXTI:GOTO110 750 CLS:LOCATE5,1:PRINT"0) Menu";:LOCATE5,3:PRINT"1) Auto write"SPACE$(13)HH(Y);:LOCATE5,4:PRINT"2) Auto old name"SPACE$(10)HH(X); 760 GOSUB20:IFA="0"THEN70ELSEIFA="1"THENY=1-YELSEIFA="2"THENX=1-XELSEBEEP:GOTO760 770 GOTO750 780 GOSUB800:MAXFILES=1:ONERRORGOTO960:EXEC17124:CLS:MENU 790 GOSUB800:GOTO70 800 IFT=0THENRETURN 810 GOSUB970:GOSUB980:CLS:LOCATE10,2:PRINT"Writing "F;:OPENFFOROUTPUTAS1:FORI=1TOT:V(I)=I:NEXTI:IFT=1THEN850 820 FORI=1TOT-1:K=I+1:FORJ=KTOT:IFD(V(I))<D(V(J))THEN840 830 N=V(I):V(I)=V(J):V(J)=N 840 NEXTJ:NEXTI 850 FORI=1TOT:GOSUB30:J=V(I):K=J:GOSUB50:PRINT#1,"<"D(J)H(J)K*1280:FORL=1TOU(J):A=C(J,L):PRINT#1,LEFT$(A,9)SP$; 860 PRINT#1,USING"#####";Q(J,L);:PRINT#1,SP$RIGHT$(A,LEN(A)-9):NEXTL:NEXTI:CLOSE1:RETURN 870 PRINT:BEEP:PRINT"Error "ERR" in line "ERL:END 880 E="No files 890 CLS:BEEP:I=100-LEN(E)/2:LOCATE(IMOD40),(INT(I/40)):PRINTE;:FORM=1TO500:NEXTM:GOTO70 900 LOCATE16,0:PRINTCHR$(27)+"p";"DISK LOG";CHR$(27)+"q":LOCATE0,3:PRINT"THIS PROGRAM IS PUBLIC DOMAIN. IT MAY BE COPIED AND/OR DISTRIBUTED FREELY." 910 GOSUB970 920 GOSUB980 930 MAXFILES=2:CLEAR8000:DEFSTRA-H:DEFINTI-Z:O=12:X=0:Y=0:DIMB(40),C(O,40),D(O+1),U(O),V(40),H(40),HH(1),Q(O,40):HH(0)="(No) 940 HH(1)="(Yes)":R=0:SP$="_":FS$=CHR$(17)+CHR$(28):G="COM:9N81NN":F="0:DIRLST.DO":GOSUB270:ONERRORGOTO220:GOTO70 950 STOP 960 MENU 970 EXEC17091:BEEP:LOCATE1,6:PRINTCHR$(27)+"p";"INSERT CORRECT DISK, THEN PRESS ENTER";CHR$(27)+"q";:RETURN 980 Q$=INKEY$:IFQ$=CHR$(27)THENEXEC17124:MENU 990 IFQ$<>CHR$(13)THEN980ELSEEXEC17091:LOCATE1,7:PRINTCHR$(27)+"p";" DSKLOG.BA FOR TANDY PDD WITH TS-DOS ";CHR$(27)+"q";:RETURN