/* * ARexx for MVK.library --- Signatures Generator --- * ~~~~~~~~~~~ \/\/\/\/\/\/\/\/\/\/ * * * -- Construction du fichier des signatures qui devra ensuite être -- * -- vérifié (VOIR le résultat final ds fichier DIAG) puis assemblé -- * -- à l'aide de l'assembleur A68K par exemple ... DEBUTANTS S'ABSTENIR -- * */ SIGNAL ON BREAK_C /*-----------------------------------------------------------------------*/ OFF1 = 00000002 OFF2 = 00000006 OFF3 = 0000000A OFF4 = 0000000E OFFSET1 = 2 OFFSET2 = 6 OFFSET3 = 10 OFFSET4 = 14 NBR = 0 IF EXISTS('ram:SF') THEN DO OPEN(fp1,'ram:SF','READ') DO WHILE ~EOF(fp1) FILENAME = READLN(fp1) IF EXISTS(FILENAME) THEN DO OPEN(fp2,FILENAME,'READ') V1 = C2X(READCH(fp2)) V2 = C2X(READCH(fp2)) V3 = V1||V2 I = 1 DO UNTIL (V3 == '03E9') I = I + 1 IF I >40 THEN DO SAY "NO EXECUTABLE FILE !" EXIT 0 END V1 = C2X(READCH(fp2)) V2 = C2X(READCH(fp2)) V3 = V1||V2 END NOP = C2X(READCH(fp2)) NOP = C2X(READCH(fp2)) NOP = C2X(READCH(fp2)) NOP = C2X(READCH(fp2)) DO FOR OFFSET1 C0 = READCH(fp2) END C1 = READCH(fp2) C2 = READCH(fp2) C3 = READCH(fp2) C4 = READCH(fp2) VAL1 = C2X(C1||C2||C3||C4) OFFSET = OFFSET2 - OFFSET1 - 4 DO FOR OFFSET C0 = READCH(fp2) END C1 = READCH(fp2) C2 = READCH(fp2) C3 = READCH(fp2) C4 = READCH(fp2) VAL2 = C2X(C1||C2||C3||C4) OFFSET = OFFSET3 - OFFSET2 - 4 DO FOR OFFSET C0 = READCH(fp2) END C1 = READCH(fp2) C2 = READCH(fp2) C3 = READCH(fp2) C4 = READCH(fp2) VAL3 = C2X(C1||C2||C3||C4) OFFSET = OFFSET4 - OFFSET3 - 4 DO FOR OFFSET C0 = READCH(fp2) END C1 = READCH(fp2) C2 = READCH(fp2) C3 = READCH(fp2) C4 = READCH(fp2) VAL4 = C2X(C1||C2||C3||C4) SAY "B000 dc.l "B000",$"OFF1",$"VAL1",$"OFF2",$"VAL2 SAY " dc.l $"OFF3",$"VAL3",$"OFF4",$"VAL4 SAY " dc.b $fe,"'"'FILENAME'"'",0" SAY " cnop 0,2" CLOSE(fp2) NBR = NBR + 1 END END CLOSE(fp1) END ELSE SAY "File 'ram:SF' open error..." EXIT 0 /*-----------------------------------------------------------------------*/ BREAK_C: SAY "Why ? ..." EXIT 0 /*-----------------------------------------------------------------------*/