Wednesday, January 21, 2009

Recovering data from Crashed Allegro PCB database using *.jrl File.

**********************************************************
Requirement :-
I was working on a layout but suddenly allegro crashed & my entire work is gone.Is there any way to retrieve board file.

Solution :-
Use allegro generated journal file *.jrl to replay all the operations that you had done before crashing.

Allegro Journal File :-

*.jrl A journal file contains a record of events—menu picks,keyboard, and so on—which are recorded for each session in Allegro.

Steps to take as soon as the database crashes :-
If you have your last saved database or better yet an even newer autosave database and your journal file then yes you can generate a replay script that will rerun the commands.

Note of caution: Do not try reopening your current database without copying your database or autosave and the journal file to a safe location,or atleast the journal file. If you do reopen the database you chance over-writing the journal data and then you will never be able to recover your lost commands.

Logic on how to hack the journal file.
The journal file (.jrl) will need to be parsed out to include all command after the latest save and only include the command lines as the other lines in the .jrl file are comments only and will cause your replay script to fail. The command lines all begin with \i and the comments all begin with \t. Once you have created the script from the .jrl then you can replay it using File-Script-Replay.Note after parsing the journal [*.jrl] file the extension should be changed to script [*.scr].

Steps to recover Manual method:
1. Open the journal file in any of the advanced text editors i prefer gvim editor on windows platform or in UNIX.
Download latest version from :- http://www.vim.org/download.php
2. Select only the time stamp field and delete.[CNTRL V+PAGE DOWN (with the time stamp in the first field selected)].
3. Use command :1,$ s/\\i//g to delete all \i from all lines .
4. Use :1,$ s/\\/#/g to comment all the lines starting with / i. e /t,/w etc..
5. Save the modified journal file as *.scr.
6. Open the database and run the *.scr file using script runner.
7.All operations done before the crash starts running in a sequential mode and you have successfully recovered lost data...
Note :- Its important that you follow the steps as proposed above to successfully recreate the script file.All fillin commands should be manually commented or deleted.
TIP: Open the journal file and delete all other data other than the required operations since last save or autosave command.

Steps to recover using Skill code or built in feature in Allegro:
Allegro 15.2 and above
If your running Allegro 15.2 and above it will automatically generate the Script from the *.jrl file..
Steps to recover :-
1.Copy the journal file only of the crashed database to some other location.
2.Open the crashed data base.
3.Go to "file" menu and select the "script" option.
4.Click on the "Generate" button an browse to the copied journal file.
5..Click on "Replay" button to automatically create a *.scr file from the browsed journal file and perform a replay.
6.You have successfully recovered lost data..



Allegro 15.1 and below
If you do not have 15.2 then there is a skill routine which will do this for you, so you don't need to hack the *.jrl file yourself.The skill routine "REPLAY.il"The skill file is uploaded in Else you need to hack the skill routine as mentioned above..
The Skill file REPLAY.il is available @ http://www.esnips.com/web/CadenceAllegroFiles
************************Kumargs**************************




1 comment:

  1. im creating an artwork in allegro.but the program has encountered.minidump file will be save in .SAV.
    HOW TO SOLVE THIS ERROR???????

    ReplyDelete