How to create a proper FILE_ID.DIZ and eventually FILE_ID.ANS for artpacks?
Short answer
The safest specifications for a modern FILE_ID combo are:
-
FILE_ID.DIZ
- in ASCII format
- maximum dimension of 44 columns x 22 rows
- no SAUCE record
-
FILE_ID.ANS
- in ANSI format, preferably no iCE colors
- maximum dimension of 44 columns x 22 rows
- it must have SAUCE record where dimenions and font are specified
- ideally for CP437 it’s in 8px font and modern aspect ratio (defaults)
A FILE_ID.DIZ is the default file that will be shown, if however a FILE_ID.ANS is found it will shown instead of the FILE_ID.DIZ on 16colo.rs and some modern BBS software.
Example of a FILE_ID.DIZ (left) and corresponding FILE_ID.ANS (right)
Long answer:
Dimensions, font & aspect ratio
The original FILE_ID.DIZ specification mentions a maximum width of 45 columns and 10 lines. This was intended for file listings on BBS’s where a terminal typically has 80 columns and the other 35 columns were used for filelisting. It was really intended for a real file description and hence why a limitation of 10 lines was introduced, but this line limitation rule was already broken in the nineties as is the case with allowed characters.
This original spec also advised not to use ‘fancy graphics’ and thereby excluding any extended ASCII characters like blocks but also this rule was already out of the window during the BBS era. ANSI artgroups would for example typically use blocks to make their DIZ look better. Using colors however never became common in those days.
The default font (CP437/VGA25 with 8px font) is the most suitable because this is what is typically used by default on BBS terminals modern editors and text consoles. Using this font would offer biggest chance that your DIZ is presented in the way you conceived it.
As far as 16colors is concerned, you could use a different font or dimensions, the file will be rendered in whatever is specified in SAUCE. Impure packs for example usually have the font of their FILE_ID set to an Amiga font to have it displayed properly. Mind though that this can be done for FILE_ID.ANS but not for FILE_ID.DIZ. The latter is in ASCII format and SAUCE is not ideal on ASC files, using SAUCE on an ASCII file risks being displayed on terminals which is never the intention.
Although 9px fonts were the standard in the nineties, for the last 2 decades 8px is the most common letter spacing font. Nothing keeps you from 9px font and if this is what aesthetically prefer, then go for it. There are no huge drawbacks apart from very minimal downscaling of thumbnails and modern BBS terminals working with 8px fonts. The output might look a bit squeezed on those terminals.
iCE colors seem relatively popular these days especially with newer artists. Again for 16colo.rs there is no limitation, it should be set to true in SAUCE in any case. However again, BBS terminals might not support it and you might end up with blinking characters in that output. As with all other exceptions listed above, the fancier you go, the less likely it wil become that it’s displayed everywhere correctly.
This is also true for the canvas size. on 16colo.rs, the FILE_ID.ANS could be any dimension, it will be downscaled anyway. However, pack overviews have square thumbnails which is why a canvas of 44x22 is ideal as it turns into a perfect square. if your FILE_ID.ANS is wider, it will be downscaled untill the width fits. If it’s longer, it will be cropped into the square. Below is an example of a DIZ that is slighty longer and thus gets cropped in the pack overview:
22 rows is also near the maximum length of what a BBS terminal could display (screen height has a maximum 25 lines) which is another reason why a maximum length of 22 is most ideal. This you also need to keep in mind if you’d want to venture into dimensions larger than 44x22, some of the modern BBS software out there do actually support FILE_ID.ANS and will display it whenever it’s found. if your FILE_ID.ANS has larger dimensions than the terminal can support, it will for sure mess up the output.
Editors & SAUCE
The most common editors like Pablodraw and Moebius will set SAUCE correctly for you and you don’t need to worry about it. However both editors will try to set SAUCE by default (which is a good thing), but if you need to save without SAUCE it needs to be told to do so. Pablodraw has a ‘remove SAUCE’ option in its SAUCE menu. Moebius has a ‘save without SAUCE’ option in the File menu.
If you want to be sure, open your .DIZ file in a regular text editor afterwards, you’ll be able to see a SAUCE record at the end of the file if it were present, it usually starts with ←SAUCE and/or ←COMNT
Other sources
Interesting read: a while ago Nuskooler wrote a nice article about retro file descriptors which also features some history of the FILE_ID.DIZ