Alternative Version









April 11, 2021

Backup Backup Backup!!!


int 25h






I bought a new NAS (RAID 1: mirroring) at the end of March and I took one week off after that. During this time, I spent a couple of days doing some backups (update, merge, unify, automation, ...).

I am a power user of backups. Why? because I had a very bad experience a long time ago with my first computer. One day in 199X, my primary hard drive crashed and I was not able to get any files so I did an application in Turbo Assembler and Turbo Pascal to try to recover these files. Above is a screenshot of this app.

Big thanks to two books I have at that time: "Code in Assembly language on PC" and "The Bible of PC". Those books were very good references and well documented about how to use files/sectors/IO (Input/Output), interrupts and hardware in DOS.




Yes, I used Burger King discount as bookmark




I'm not a big fan of religion but this is the best bible I know (IMO)


Digitrakker






My first target was to recover all songs I did. I used Digitrakker to compose those songs.

To begin, I looked directly inside the app since there is a text file (FORMAT.txt) included that explain and describes their file format:

This file contains information about the songmodule-format "MDL", the
instrument-format "IST" and the old sample-format "SPL".
If you have some problems or if you have questions about these formats, which
are not answered in here, just contact me (eMail: pdt@------------.de).

******************************************************************************
* THE SONGMODULE-FORMAT (MDL) V1.1 *
******************************************************************************

Offset Lenght Description

000 004 "DMDL"; the four letters mark the mdl-format ****************
004 001 version; the current version is 11h (=1.1)
005 ??? the different data-blocks are stored at this position

Some words to the format version-number:
- if the low-nibble increases, there are extensions in the format, but old
loaders should be able to load the new modules (or most of them...)
- if the high-nibble increases, there are changes in the format which make old
loaders unable to read the new songfiles

The MDL-songmodule-format is subdivided into the following blocks:
...

Also, I didn't use a source control (e.g git) at that time with my songs. So instead of overwriting the same file over and over, I will just create a new file like that: songA_00.mdl, songA_01.mdl, ... , songA_15.mdl...
It was not the best option but when a crash happens, it's become an interesting option.

I was also running "defrag" almost every week to reorganize files to be aligned and contiguous (avoid fragmentation):




With those 3 information (file format, duplicate saving and defrag), my technique was to parse all sectors from the hard drive and look at the beginning of each sector to see if the first bytes look like the file format I target "DMDL". If a match occurs, The app will read a big chunk of data (1.03 MB / 1,088,000 bytes) and save it into my other hard drive.

Like that, I was able to recover almost all songs I did (~95%). The DOS filename "name" is lost (e.g songA_01.mdl) since this part is in another area (Directory Table Entry / File Allocation Table) but the song title was inside the big chunks of data so it was easy afterward to rename with the good filename.
You can find some recovery songs here.

I also did the same trick with other file formats like 3D Studio (.3ds), assembly code (.asm), pascal (.pas), C/C++, Deluxe Paint files (.lbm/.anm).

The same pattern happened with this tracker (Digitrakker):
"[Digitrakker PC isn't longer supported by me. Through a harddisc-crash I lost all sources... :-(]"
[Source]


Back in 2021






I use Amazon S3 Glacier Deep Archive for long backup (recover only in emergency). It's pretty cheap, safe and easy to use. More info here. You can use the dashboard to upload/sync your data or from the command line (AWS CLI).

I also switched my strategy with my backups. Previously, I created an admin page on my website to access some data online (e.g podcasts, documentaries, musics). With this COVID thing and the remote work, I deleted this admin page and used my NAS directly (cost saving).

During the integration with my new NAS, I copied a lot of files from various hard drives and previous NAS. I found that I have a lot of duplicate files so I did a tiny project called Filelander to delete all duplicate files. It's free and you can download and find more info here.
* Use with your own data (e.g photos, mp3). Don't use it on your Windows or Steam folders.

It's very sunny outside now. time to get some vitamin D.

Don't forget to do your backups, manually or automatically. On Amazon S3, Google Drive, Dropbox or anything with at least 1-2 copies!

Thanks for reading,

JS.