,gg
""""Y$b  ,d$P""Y$b  ,d$P ,d$P""Y$$'

ACiD Productions(tm)' Acquisition Enhanced File Viewer
Coded by Skull Leader and Tasmaniac
Screens by Lord Jazz

Documentation and Update History of ACiD Productions' ACiD View   │∙

∙│              By SiDS and RaD Man of ACiD Productions(tm)

[ Current version of ACiD View : 4.21 / 07-01-1996∙04:21 ]

Note: This is a full release of ACiD View IV, but there is always the
possibility that you may encounter a bug or two.  If you have
any questions, comments, suggestions or bug reports regarding this
release, please direct them to us at acid-public@acid.org via
the internet, or on the Utilities Discussion base on AgoraNet.

Introduction to ACiD View

ACiD View welcomes you to the most comprehensive Art View-
er in production.  This innovative program  is capable of dis-
playing  ANSI,  BIN,  RIP  and  GIF graphics.   In   addition,
the viewer has been designed with a special interest for those
who multi-task.  ACiD View  utilizes  its  own  internal  ANSI
routines, making it capable of viewing ANSI without a separate
device driver.  We hope that  ACiD  View  provides you with as
much pleasure as we intended with its creation.

Features

Now supporting our very own special SAUCE
Command Line Viewing
Variable Speed ANSI Viewing
XMS Support
Slide Show Viewing (File Tagging)
Modem-Simulation for ANSI Viewing (Doesn't affect multitaskers)
Different file listing methods, including detailed information
File Masking (Six possible masks)
Drive and Directory switching
Level 0-1 RIP Viewing, with multiple fonts built in
Smoothscroll, Textscroll, and Autoscroll ANSI and BIN Viewing
25-, 28-, 30-, 35-, 43-, and 50-line mode ANSI and BIN Viewing
Fully-Features ANSI Scroll Back in several different video modes
ANSI and BIN Viewing in 80x25 or 80x50 text modes
ANSI and BIN Viewing in 320x200x256 MXGA mode
ANSI and BIN Viewing in 320x400x256 XGA mode
ANSI and BIN Viewing in 640x480x16 VGA mode
ANSI and BIN Viewing in 640x400, 640x480, 800x600, and 1024x768x256
SVGA modes
GIF Viewing
Support for most SVGA chipsets and VESA
File deleting capability
Full mouse support
Screen capturing, in .GIF format.
Number of ANSI lines and files in a directory limited only by
how much memory is available.

Requires

EGA graphics (preferably SVGA)
286 or better processor
about 500K of conventional memory (more memory = bigger ANSIs)

What ACiD View Displays

ACiD View will display ANSI screens in several different video
modes.  These modes include the default, text mode, 640x480x16
VGA, 320x200x256 MCGA, 320x400x256 XGA, 640x400, 640x480,
800x600, and 1024x768x256 VESA SVGA modes.  ACiD View also
supports most SVGA chipsets.

ACiD View displays most low level (0-1) RIPscrips.  Although
it will show all of the RIPs presented in the Acquisition, it
may not display some of the other RIPs you own.  This is due
to the fact that some of the higher level RIP commands have
not been implemented.  Several fonts including 8x8, Triplex,
Small Font, Sans Serif, Gothic, Simplex, Complex, European,
and Bold Outline have been added.

ACiD View can show GIF graphics files.  The video mode for these
formats is selected automaticly.  If a mode that is capable of
showing the entire picture is not found, the picture is not shown.

ACiD View Functions

Funtion Keys

Exit│          │ Num  │ Next │ Prev │ -
Lock │ Font │ Font │ Res │   │ F2  = Switch Video Mode

Tab             │ Home │  Up  │ Page │     │   │ F3  = Switch Font Size

Left │ Tag  │ Right│ Res
File │      │     │   │ F5  = Toggle Smoothscroll

End  │ Down │ Page │     │   │ F6  = Toggle Autoscroll
View File│     │      │      │ Down
Enter│   │ F7  = Toggle BPS

F8  = Toggle Color/Grey/B&W

F1 ║  Quick-Help   :  Brief description of the keys.

F2 ║  Video Mode   :  Selects the video mode that the selected ANSI
or BIN is to be viewed in.   Note: GIF and PCX
will auto detect the appropriate mode, if a mode
large enough to fit the entire picture is not
found, the file is not displayed.

Text             - 80x25 or 80x50 (VGA) text mode, depending on
the aspect ratio.

XGA              - Displays in 320x200x256 tweaked "Mode X" mode.

MXGA             - Displays in 320x400x256 tweaked "Mode X" mode.

VGA              - Displays in 640x400x16 VGA mode.

SVGA1            - Displays in 640x400x256 SVGA mode

SVGA2            - Displays in 640x480x256 SVGA mode

SVGA3            - Displays in 800x600x256 SVGA mode

SVGA4            - Displays in 1024x768x256 SVGA mode

F3 ║  Font Size :     This determines the font size to be used while
displaying an ANSI in a VGA mode.

F4 ║  Line Modes :    Toggles which line mode will be used while
displaying ANSI in Text Video Mode.

F5 ║  Smoothscroll :  Toggles if the ANSI will be displayed line-by-line
or pixel-by-pixel in Text Video Mode.

F6 ║  Autoscroll :    Toggles if the ANSI will scroll down automatically
or if you must control the viewing manually.

F7 ║  BPS Simulation : Changes the BPS simulation speed for ANSIs in
View mode.

F8 ║  Color Mode :    This is usually set to Color, however it can be
set to Grey to do greyscale or ASCII to strip
the color from ANSIs and BINs.

F9 ║  Toggle Blink :  Determines if 16 background colors instead of
blinking will be used for ANSI and BIN display.

F10 ║ Capture Screen : When this is pressed when a ansi or rip is being
viewed, a image of the screen will be saved in
.GIF format, in the current directory.  The file
name for this capture file is AVCAPXX.GIF where
XX is a number which increases with the number of
captured files.  Note- This does not work during
viewing of an ansi in text mode, nor does it work
properly for VGA mode 320x400.

ACiD View Alternative Functions

ALT-D                : When a file is selected, and this key combination
is pressed, a confirmation message will apear.
Hitting "Y" at this message will allow you do
delete the file.

TAB ║              : Toggles between three different file display options
including regular with sauce, multiple columns,
and full file information.

ACiD View Command Line Viewing

ACiD View now allows the ability for command line viewing.  There are
several option available.  (These option can be obtained by running
ACiD View with the -h, switch when calling ACiDVIEW)

ACiDVIEW [/R:#] [/F:#] [/C:{C,G,A}] [/SMOOTH] [/AUTO] [/B:#] @Filename(s)/Mask

Resolution(R)││    Font(F)    ││ /C              /SMOOTH
C = Color      Smooth Scroll
1 │ Text    ││   │TEXT │ VGA ││     G = Grey    /AUTO
2 │ 320x200 ││   ├─────┴─────┤│     A = Ascii      Auto Scroll

4 │ 640x400v││ 2 │ 28L │ 2x2 │ @Filename - Text file containg list of files.
5 │ 640x400 ││ 3 │ 30L │ 1x4 │             One filename per line.
6 │ 640x680 ││ 4 │ 35L │ 2x4
7 │ 800x600 ││ 5 │ 43L │ 4x4 │ Filename(s) - Single file, or multiple.
8 │1024x768 ││ 6 │ 50L │ 4x8
Mask - Mask for files to view.

@Filename - This is the name of a regular text file containing a list of
files which are to be viewed, in respective order.  This list
can contain the name of any file, ACiD View will automatically
determine which format the file is in.  Wildcards are not
not supported in this text file.   Invalid file(s) will not be
displayed, just skipped over.

What is SAUCE?

Recipe for SAUCE

Chef cuisinier : Tasmaniac / ACiD
Maitre d'hôtel : Rad Man / ACiD

ANSi's used to be just ANSi's,  pictures  were just pictures,
loaders were just loaders  and quite frankly,  every file was just
as plain tasting as every  other.  This  is  about to change, how-
ever,  because  ACiD  has decided to give  their  files  an  extra
"je-ne-sais-quoi."  In  reality,  we'll  be  adding SAUCE to every
file you can imagine.

Now, before we thoroughly confuse you, let us explain what we
are doing  here.  SAUCE  stands  for  "Standard  Architecture  for
Universal  Comment  Extensions."  Although originally intended for
personal use in ANSi's and RIP screens,  early in the developement
of EFI (Extended File Information) it  was decided that EFI should
be extended  to  have  support  for  more  than  just ANSi and RIP
screens.  Our brainchild  was  born  and  the specs were designed.
The only aspect left  undecided was the name,  and after rejecting
some very funny candidates,  SAUCE  was  unanimously chosen.  This
leads us to the big question in the sky,  "What is SAUCE ?"  SAUCE
is a universal process to incorporate  a  full description for any
type of file.  The most outstanding aspect of this concept is that
you have access to the complete file name,  the file's title,  the
creation date, the creator of the file, the group that the creator
is employed by, and much, much, more.

A  full  explanation  on  how  you  can  implement  SAUCE  is
described at the end of this  document  in the PLATES (Programming
Language Architecture To Extract SAUCE) section.  Although you can
create your own  programs  to  implement  SAUCE  to your files, we
recommend that you use the  SPOON.EXE  program to ensure a greater
universal compatibility.

SAUCE already supports a  plethora of filetypes (See PLATES).
If you have a need for the SAUCE specifications, please contact us
before you make the  changes  yourself.  We  will  accomodate your
needs as soon as possible.  After all, SAUCE is designed to become
a standard, and if people change  the specs without allowing us to
make a complete update,  there will be no  standard.  In the event
that we change SAUCE,  we  will  quickly  release  a public update
which  will  most  definately  include  an  improved  and  updated
SPOON.EXE.

SAUCE has advantages  over  any  other  system  in use.  Each
description will be added  to  the  file  and  will provide a file
description no matter what computer  it  is used for.  SAUCE, how-
ever, also provides  a  back  compatibility  that uses a file with
descriptions for those  files  that  do  NOT  already have a SAUCE
description.  Processing in  this  manner  is fully implemented in
SPOON.EXE and one can extract embedded SAUCE to this data file and
add SAUCE to files from this data file.

NOTICE

SAUCE was initially created for supporting only the ANSi & RIP
screens.  Since both ANSi and RIP are in effect text-based and
have no other form of control, SAUCE never interferes with the
workings of a program using either ANSi or RIP.  If it does,
the program is not functioning the way it should.
This is _NOT_ true for the other types of file SAUCE supports
however. Adding SAUCE to some of the other filetypes supported
in the SAUCE specifications may have serious consequences on
the proper functioning of other programs using those files,
In the worst case, they'll simply refuse the file, stating it
is invalid.

It's not up to us to decide whether or not adding SAUCE is a
bad thing.  The one who added the SAUCE to the file should be
fully aware of any problems that can arise when 'SAUCEing' a
file other than the 'Character' or XBIN datatypes.

You may have your own specialized viewing/editing tools and
simply not care about the file not being recognized in other
viewing/editing programs.

PLATES

Let us begin with a description  of  the record layouts used.
The record layouts and code  examples  are  in  a  variated pascal
pseudo code, and should  be  transferrable  enough to implement in
most  other  programming  languages.  For  ease  of  reading,  the
examples assume  that  the  file  is  correct  and  that no error-
checking need be included.  How  rigorous  you check for errors is
completely up to you, and will most likely depend on the file type
you are describing.

SAUCE RECORD

This portion of the documentation  is about the SAUCE record.
The SAUCE record describes the  file  in short, and provides other
information not included in the SAUCE record itself.

A sauce record is _EXACTLY_ 128 bytes in size.

Fieldname   : Name of the field.
Size        : Size of the field in BYTES
Type        : Type of data. This can be :
BYTE      : One byte unsigned numeric value (0 to 255)
WORD      : Two byte unsigned numeric value (0 to 65535)
INTEGER   : Two byte signed numeric value (-32768 to 32767)
LONG      : Four byte signed numeric value (-2147483648 to 2147483647)
CHARACTER : One byte ASCII value.  Longer character fields are
padded with spaces.  It is _NOT_ a PASCAL string (with a
leading length byte), and it's _NOT_ a C-Style string
(with a trailing nul-byte).  A 10 byte character field
holding the text 'ANSI' would look like this: 'ANSI      '.

Numeric fields should be zero when not used, character fields
should be all spaces when not used.

No fields are REQUIRED to be filled in except for ID, Version, FileSize,
DataType and FileType.

V#          : SAUCE Version number.  This indicates the version of
SAUCE when the field was implemented.

Description : Complete description of the field.

FieldName Size Type      V# Description

ID          5  Character 00 SAUCE Identification. This should be equal to
'SAUCE' or the record is not a valid SAUCE
record.
Version     2  Character 00 Version number of SAUCE. Current version is
'00'.  As new features are added to the
specifications of SAUCE, this version number
will change.  Future versions SHOULD remain
compatible with version 00 only ADDING on
the specifications, it is however not unlikely
that this compatibility is impossible to
maintain, but this is of no concern now.
Title      35  Character 00 Title of the file.
Author     20  Character 00 Name or handle of the creator of the file.
Group      20  Character 00 Name of the group/company the creator is
employed by.
Date        8  Character 00 Date the file was created. This date is in
the format CCYYMMDD (Century, year, month,
day).  By storing it in this way, it's very
easy to sort SAUCE records by date.
FileSize    4  Long      00 Original filesize NOT including any
information of SAUCE.
DataType    1  Byte      00 Type of Data. (See DATATYPES further on)
FileType    1  Byte      00 Type of File. (See DATATYPES further on)
TInfo1      2  Word      00 Numeric information field 1 (See DATATYPES)
When used, this field holds informative
values.  Any program using SAUCE should not
rely on these values being correct or filled
in.
TInfo2      2  Word      00 Numeric information field 2 (See DATATYPES)
TInfo3      2  Word      00 Numeric information field 3 (See DATATYPES)
TInfo4      2  Word      00 Numeric information field 4 (See DATATYPES)
Comments    1  Byte      00 Number of Comment lines (See COMMENTS)
Flags       1  Byte    * 00 Flags indication optional settings/switches
These flags have different meaning depending
on the datatype & filetype .
The flags weren't originally in the concept
for version 00 of SAUCE. But since the
specification of SAUCE expects all filler
bytes to be binary zero, the flags should be
set to ZERO in all previous files, and cause
no harm.

An Example PASCAL record looks like this:

TYPE SAUCERec = RECORD
ID       : Array[1..5] of Char;
Version  : Array[1..2] of Char;
Title    : Array[1..35] of Char;
Author   : Array[1..20] of Char;
Group    : Array[1..20] of Char;
Date     : Array[1..8] of Char;
FileSize : Longint;
DataType : Byte;
FileType : Byte;
TInfo1   : Word;
TInfo2   : Word;
TInfo3   : Word;
TInfo4   : Word;
Comments : Byte;
Flags    : Byte;
Filler   : Array[1..22] of Char;
END;

An Example C record looks like this:

typedef SAUCEREC {
char           ID[5];
char           Version[2];
char           Title[35];
char           Author[20];
char           Group[20];
char           Date[8];
signed   long  FileSize;
unsigned char  DataType;
unsigned char  FileType;
unsigned short TInfo1;
unsigned short TInfo2;
unsigned short TInfo3;
unsigned short TInfo4;
unsigned char  Comments;
unsigned char  Flags;
char           Filler[22];
} SAUCEREC;

DATATYPES

DataType and FileType hold the information needed to deter-
mine what type of file it is.

There are 5 DataTypes, these are (with their respective numeric values) :
0) None      : Undefined filetype, you could use this to add SAUCE
information to personal datafiles needed by programs,
but not having any other meaning.
1) Character : Any character based file.  Examples are ASCII, ANSi and
RIP.
2) Graphics  : Any bitmap graphic file.  Examples are GIF, LBM, and
PCX.
3) Vector    : Any vector based graphic file.  Examples are DXF and
CAD files.
4) Sound     : Any sound related file.  Examples are samples, MOD
files and MIDI.
5) BinaryText: This is RAW memory copy of a text screen.  It's
basically the BIN format you can save from whitin
TheDraw.  Each character is built up of two consecutive
bytes.  The first is the character to be displayed.  The
second is the Attribute byte.
6) XBIN      : XBIN is the so called eXtended BIN format.  It is
similar to the BinaryText, but provides for fonts,
palettes, and has built-in compression.
7) Archive   : Any type of archive.  Examples are ARC, ZIP, ARJ and
LZH.
8) Executable: Any file that is executable.

None

When using the 'None' datatype, you should have FileType set to
zero also.  This is a compatibility issue as it's not unlikely,
the 'None' datatype will have filetypes in the future.

Character

When using the 'Character' datatype, you have following filetypes
available :

0) ASCII     : Plain text file with no formatting codes or color codes.
TInfo1 is used for the width of the file.
TInfo2 is used to hold the number of lines in the file.
1) ANSi      : ANSi file.  With ANSi color codes and cursor
positioning.
TInfo1 is used for the width of the file.
TInfo2 is used to hold the number of ANSi screen lines
in the file.
2) ANSiMation: ANSi Animation.  With ANSi color codes and cursor
positioning.  While an ANSi file can also have animated
sequences, there is a clear distinction.  While an ANSi
may or may not have a beginning animated sequence
introducing the group or artist the rest is just a
sequence of colored characters.  An ANSiMation on the
other hand is a more like a text mode cartoon.
TInfo1 is used for the width of the file.
TInfo2 is used to hold the number of ANSi screen lines
the ANSiMation was created for.
A program using SAUCE may use these two values to
switch to the appropriate video mode.
3) RIP       : Remote Imaging Protocol (RIP) graphics file.
TInfo1 holds the width (should be 640)
TInfo2 holds the height (should be 350)
TInfo3 holds the number of colors (should be 16)
4) PCBoard   : File with PCBoard style @X color codes and @ macro's
and ANSi codes.
TInfo1 is used for the width of the file.
TInfo2 is used to hold the number of ANSi screen lines
in the file.
5) AVATAR    : A file with AVATAR and ANSi color codes and cursor
positioning.
6) HTML      : HyperText Markup Language.  The type of file used on
World Wide Web (WWW).
7) SOURCE    : A piece of sourcecode for any type of programming
language.  The file extention should determine the
programming language (.C=C, .PAS=Pascal, ...)

FLAGS for the Character Datatype.

All non-used bits should be ZERO.

A) Non-Blink mode (iCE Color).
When this bit is SET (equal to 1) The ANSi is created using iCE
color codes.  This is a special mode where the blinking is
disabled, and you have 16 background colors available.  Basically,
you have the same choice for background colors as for foreground
colors.

Please note:

When the picture does not make specific use of the iCE color, you
should NOT have this bit set.  When you do not support the iCE
color mode, you should probably not display the file as it could
look pretty weird in normal mode.

Graphics

WARNING: Adding SAUCE to some of these files can make them
invalid.  See the NOTICE at the start of this document.

For all graphics types, TInfo1 holds width of the image, TInfo2
holds the Height of the image and TInfo3 holds the number of bits
per pixel (a 256 colour image would have 8 bits per pixel, a
TrueColour image would have 24);

Following Graphics filetypes are available :

0) GIF     (CompuServe Graphics Interchange format)
1) PCX     (ZSoft Paintbrush PCX format)
2) LBM/IFF (DeluxePaint LBM/IFF format)
3) TGA     (Targa Truecolor)
4) FLI     (Autodesk FLI animation file)
5) FLC     (Autodesk FLC animation file)
6) BMP     (Windows or OS/2 Bitmap)
7) GL      (Grasp GL Animation)
8) DL      (DL Animation)
9) WPG     (Wordperfect Bitmap)
10) PNG     (Portable Graphics)
11) JPG     (JPeg compressed File)
12) MPG     (MPeg compressed animation/video)
13) AVI     (Audio Visual Interlace)

FLAGS

Not used, should be all zeroes.

Vector

WARNING: Adding SAUCE to some of these files will make them
invalid.  See the NOTICE at the start of this document.

Following Vector filetypes are available :
0) DXF     (CAD Data eXchange File)
1) DWG     (AutoCAD Drawing file)
2) WPG     (WordPerfect/DrawPerfect vector graphics)
3) 3DS     (3D Studio file).

FLAGS

Not used, should be all zeroes.

Sound

WARNING: Adding SAUCE to some of these files will make them
invalid.  See the NOTICE at the start of this document.

Following sound filetypes are available :
0) MOD    (4, 6 or 8 channel MOD/NST file)
1) 669    (Renaissance 8 channel 669 format)
2) STM    (Future Crew 4 channel ScreamTracker format)
3) S3M    (Future Crew variable channel ScreamTracker3 format)
4) MTM    (Renaissance variable channel MultiTracker Module)
5) FAR    (Farandole composer module)
6) ULT    (UltraTracker module)
7) AMF    (DMP/DSMI Advanced Module Format)
8) DMF    (Delusion Digital Music Format (XTracker))
9) OKT    (Oktalyser module)
10) ROL    (AdLib ROL file (FM))
11) CMF    (Creative Labs FM)
12) MIDI   (MIDI file)
13) SADT   (SAdT composer FM Module)
14) VOC    (Creative Labs Sample)
15) WAV    (Windows Wave file)
16) SMP8   (8 Bit Sample, TInfo1 holds sampling rate)
17) SMP8S  (8 Bit sample stereo, TInfo1 holds sampling rate)
18) SMP16  (16 Bit sample, TInfo1 holds sampling rate)
19) SMP16S (16 Bit sample stereo, TInfo1 holds sampling rate)
20) PATCH8 (8 Bit patch-file)
21) PATCH16(16 Bit Patch-file)
22) XM     (FastTracker ][ Module)
23) HSC    (HSC Module)

FLAGS

Not used, should be all zeroes.

BinaryText

The Binary Text format, basically has no Filetype, since the datatype
has already defined how the file will look.
The FileType however specifies the WIDTH of the BinaryText screen.
Only the Width is required, as the Height can be calculated by dividing
the filesize by the Width.
In an attempt to provide as much WIDTH as possible in a possible 256
values of the Byte-sized FileType.  The width is specified in Multiples
of 2.  The fact that the Width is specified in multiples of 2 isn't
really a problem, since you also need to define the effective screen
size in multiples of 2.

An example : For normal 80*25 binary images as made with TheDraw the
FileType value would be 40 (since 2*40 equals 80 <g>)
All you need to do is divide the width of the binary text
image by 2. This gives a maximum width of 510 characters.
Although currently not supported, should there be a need
for even bigger images, this can be arranged.

Please note.  BinaryText expects the character-attribute pairs to be
stored one row at a time.  If you wanted to create a 80*100 Image, you
could do this by just copying 4 80*25 or 2 80*50 together to form one
bigger image.
If for example you wanted to create a 160*25 image from 2 80*25 images,
you would need to write a little program which would copy line 1 from
image 1, line 1 from image 2, Line 2 from Image 1, Line 2 from Image 2
and so on.
Basically, you should have all character-attribute pairs from one line
of the COMPLETE image one after the other, followed by all
char-attribute pairs from the next row, and so on.

If the picture does not fit this format. You should use the NONE
datatype.  Besides,  you'd probably want to have it in this format
anyway, as it seems to be the most logical approach to have these kind
of images.

FLAGS for the BinaryText Datatype.

All non-used bits should be ZERO.

A) Non-blink mode (iCE Color).
This bit has exactly the same meaning as for the Character
datatype.  It indicates whether the picture uses iCE color.

XBIN

The XBIN datatype has no other filetypes.  Further specification son
the XBIN format are available in the XBIN archive or on the XBIN Web
page.
The filetype should be zero.
TInfo1 holds width of the image, TInfo2 holds the Height of the image.

FLAGS

Not used, should be all zeroes.

Archive

WARNING: Adding SAUCE to some of these files can make them
invalid.  See the NOTICE at the start of this document.

Following sound filetypes are available :
0) ZIP (PKWare)
1) ARJ (Robert K. Jung)
2) LZH (Haruyasu Yoshizaki (Yoshi))
3) ARC (SEA)
4) TAR (Unix TAR format)
5) ZOO
6) RAR
7) UC2
8) PAK
9) SQZ

FLAGS

Not used, should be all zeroes.

Executable

WARNING: Adding SAUCE to some of these files can make them
invalid.  See the NOTICE at the start of this document.

The executable datatype has no other filetypes.  Executables usually
have any of the following file extentions : BAT, COM, EXE, OVL, OVR,
DLL, ...
The filetype should be zero.

FLAGS

Not used, should be all zeroes.

COMMENTS

The  comment  block  is an addition to the SAUCE  record.  It
holds up to  255  lines of additional information.  Each  line 64
characters wide.

When the Comments field is not  zero,  it holds the number of
additional comment lines available.   A single comment line is 64
characters long.   Like the character fields in the SAUCE record,
it  is padded  with spaces,  and has no  leading  length byte  or
trailing null-byte.

The comment block is  preceded  with  a 5 character identifi-
cation mark.  This identification mark is 'COMNT'.

SAUCE IN FILES

A file with SAUCE added to it.  Will look like this:

FILE DATA   │  Actual file data.  As if it would be without SAUCE.

EOF MARKER   │  EOF marker.  This will assure character files can
easily determine the end of file.

COMMENT BLOCK │  Optional Comment block.

SAUCE RECORD  │  SAUCE record.

The Comment block

'COMNT'     │  Comment block ID bytes

COMMENTLINE 1 │  First comment line

COMMENTLINE 2 │  Second comment line

COMMENTLINE N │  n-th comment line, n equals the Comments field
in SAUCE record.

EXAMPLE CODE TO READ SAUCE

Variables:
Byte : Count;
Long : FileSize;
file : F;

Code:
Open_File(F);                         | Open the file for read access
FileSize = Size_of_file(F);           | Determine filesize
Seek_file (F, FileSize-128);          | Seek to start of SAUCE (Eof-128)
Read_File (F, SAUCE);                 | Read the SAUCE record
IF SAUCE.ID="SAUCE" THEN              | ID bytes match "SAUCE" ?
IF SAUCE.Comments>0 THEN           | Is there a comment block ?
Seek_File(F, FileSize-128-(SAUCE.Comments*64)-5);
| Seek to start of Comment block.
Read_File(F, CommentID);        | Read Comment ID.
IF CommentID="COMNT" THEN       | Comment ID matches "COMNT" ?
For Count=1 to SAUCE.Comments| \ Read all comment lines.
Read_File(F, CommentLine) | /
ENDFOR
ELSE
Invalid_Comment;             | Non fatal, No comment present.
ENDIF
ENDIF
ELSE
Invalid_SAUCE;                     | No valid SAUCE record was found.
ENDIF

SOURCECODE AVAILABILITY

A fully working implementation for  SAUCE extraction is available
as a PASCAL unit.   The extraction code itself  is implemented in
built-in Assembly.  It should be fairly easy to port the source
code to C.  SAUCE_.PAS should be available in the ACiD Acquisitions
and on the SAUCE Web page

INFORMATION OR UPGRADES

If you have a need for additional information on SAUCE, or
need modifications, you can contact me at these places...

email:

tas@acid.org

SAUCE Web Page :

http://uc2.unicall.be/tasmaniac/sauce.htm

(!) This page is still being constructed, it may not yet be
available at the time you are reading this.  The page
will contain up to date information about the SAUCE
specifications and implementations of SAUCE.

BBS:

Leave a message to TASMANIAC on any of these boards :

Neo Tokyo       +32-50-620112   USR 33600 Dual
+32-50-625717   ZyXEL 28800
Succotash       +1-XXX-XXX-ACiD USR 33600 Dual

or contact one of our coders in the Utilities base via AgoraNet.

Acquisition Viewer 4.21

1)  RIPscrip viewer now supports large cut and paste commands.

Acquisition Viewer 4.20

1)  Additional configurable file-masks added

2)  Bug which caused duplicate lines corrected.

Acquisition Viewer 4.14

1)  Woops, we forgot to add XMS for BIN files.  Now it's there.

Acquisition Viewer 4.14

1)  ACiD View ANSI, GIF and RIP display routines optimized.  ACiD View now
claims to be THE fastest ANSI viewing utility, bar none.

2)  The entire BGI RIP font set has been made external, making our viewer
(in it's executable form) a mere 69kilobytes!

Acquisition Viewer 4.13

1) ALL BGI RIP fonts added to ACiD View.

2) Fixed minor bugs related to ANSI to GIF screen capturing.

3) Baud-simulator for RIP re-implemented.  (New to 4.xx series)

Acquisition Viewer 4.12

1)  File deleting capabilities reimplemented.  (New to 4.xx series)

2)  Command line viewing mode added.

3)  Mouse support while viewing images was enhanced.

4)  More RIP fonts were added to the program.

5)  Multiple SAUCE/File view options, with the TAB key.

6)  Added screen capturing ability [F10].

Acquisition Viewer 4.10

1)  Multiple file tagging (slideshow) added.

2)  A bug which added extra lines while scrolling ANSI in VGA was removed.

3)  ANSI-VGA mode routines optimized for speed.

Acquisition Viewer 4.00b

1)  Re-written from scratch, ACiD View presents a completely new version of
ACiD View.  This edition offers all the features of previous versions
combined and more, with and interface that has the look and feel of
The Hit Man's final version of The Viewer.  Although virtually all the
features are still here, the memory and disk space requirements have
been cut down to one third of it's predecessor.

Acquisition Viewer 3.99

1)  Finally detected and removed bug which causes the screen to shake while
using the bouncing interface.

Acquisition Viewer 3.06

1)  Changes to multifriendly environment made.

Acquisition Viewer 3.05

1)  ACiD View now loads maximum lines of text or ANSI, according to
free memory available rather than crashing to OS.

2)  Other minor cosmetic changes made.

Acquisition Viewer 3.04

1)  ACiD View reimplements imbedded RIP fonts, resulting in slightly
faster display, ease of configuration, but reducing available
memory by another 120k.

2)  Fixed minor bug in the RIP parser.

3)  Interface modified to display cleaner.

4)  ACiD View forces multi-friendly mode when a Trident video card is
dectected due to its history of problems with the split screen
"bouncing" interface.

Acquisition Viewer 3.03

1)  Support for Tab characters in ANSi parser (Tab stops every 5 columns)

2)  Help screen is now avaible in multi-friendly mode

Acquisition Viewer 3.02

1)  No longer uses an EGA text mode when VGA is avaible.

Acquisition Viewer 3.01

1)  More code reduction, less memory used for code and smaller file.

2)  File and directory indexing added.  Entering a lowercase charactor
brings the selection bar to the first file begining with that letter.
A uppercase charactor does the same, except with directories.

3)  Fixed a bug in the CFG parser.  Did not recognise custom MASKs.

Acquisition Viewer 3.00

1)  Initial release of a completely new ACiD View, coded by SiDS &
Tasmaniac.

Acquisition Viewer 2.02

1)  New RIP routines by Cap'n Crunch used in part with already exist-
ing source to accelerate display speed.

2)  ACiD View now uses Tasmaniac's assembly source for SAUCE reading,
and increases the speed of on-the-fly definition loading.

3)  Fixed ansimation mode bug.

4)  Fixed mouse bug and other minute flaws.

Acquisition Viewer 2.01

1)  New pull-down interface by Icy of ACiD Productions.

Acquisition Viewer 2.00

1)  ACiD View takes on a hot new look in its new interface created by
Dr. Tongue of ACiD Productions.  The layout has been completely
reconstructed, and now provides the end user with pull-downs and
the same familiar hot keys.

2)  ACiD View now makes use of on-the-fly SAUCE definition loading.
This process will greatly increase your initialization speed on
computers that contain a multitude of files.

3)  ACiD View now caters to mouse users, supporting a wide spectrum
of different mouse types.

4)  ACiD View has recently been implemented with progress bars.  Your
estimated position in the list of files or directories can now be
visually monitored with the help of the elevator located to the
right of the file/directory listing.

5)  VESA SVGA viewing updated for 640x480, 800x600, and 1024x768x256
modes.  ACiD View supports the following chipsets as well as the
VESA standard mode:  Ahead, ATI, Chips & Tech, Everex, Genoa,
Paradise, Oak, Trident, TSeng, and Video7.  If you have trouble
viewing in SVGA mode, try loading your video cards VESA driver.

6)  All setup changes made during the run-time of ACiD View will be
saved upon exiting the program.

7)  More minor bugs fixed.

Acquisition Viewer 1.50

1)  ACiD View Control File support Added.  ACiD View will now load
defaults from ACIDVIEW.INI.

2)  Screen now displays the current directory.

3)  Drive switching now added.  ACiD View will show drives A: - Z:.
(Including FLOPPY, SUBST, RAM, and other drives.)

4)  Command line Viewing is now supported!  (Type "ACiDView /?")

5)  ND CHECK (NO DELAY mode w/Error Checking) display speed added.
This speed is the same as NO DELAY except it checks if ANSIs con-
tain lines with more than 255 characters per line.

Acquisition Viewer 1.40

1)  Multitasking environment awareness implemented (ie. DesqView and
OS/2.)

2)  Modem simulation routines are now disabled when ACiD View is loaded
under multitasking environments.

3)  Directory switching added.  Change directories simply by pressing
the return key.

4)  "File jumping" and auto-sorting added.  ACiD View will now jump to
the first file that begins with the character entered by the user.

5)  640x480 viewing is now two times faster than version 1.32.
320x200 Normal Wide have also been optimized for speed.

Acquisition Viewer 1.32

1)  Major bug erradicated in file reading routines.

2)  Fixed the problem with the Viewer exiting if no files were found
matching the default mask.  ACiDView will now simply display the
normal interface with no files, allowing you to MASK or exit until
you specify a valid file mask.

3)  Fixed the key-reading loop with the 320x200 and 320x200 WIDE emu-
lations when ScrollBack was turned off.

Acquisition Viewer 1.30

1)  File Masking added, allowing the user to select files within the
mask.

2)  Added 320x200x256 ansimation mode.

3)  Added modem simulator which emulates user-defined bps rate.

4)  Minor bug corrected in the scroll back of large ANSIs.

5)  Removed slow panning upon exit.

6)  640x480x16 now FULLY supports ansimations.  Small bug fixed.

Acquisition Viewer 1.20

1)  Maximum number of files in one directory has been increased to
2,000.

2)  A bug in the RIP portion of the viewer which caused the colors
of plotted objects to display improperly has been squashed.

3)  RIP code has been optimized for speed, and it is now possible to
abort the screens.

4)  Scrolled viewing has since been implemented, and 320x200x256 MCGA
display modes are now supported.

5)  The old font has been replaced with a new character set, and a new
interface has been added which features icons.

Credits

Interface by: RaD Man and Skull Leader
Screens by: Lord Jazz
File Handling & Baud Simulation by: Skull Leader
ANSI and BIN display and GIF Mode Detect by: Skull Leader
RIP Display routines by: Capn' Crunch & SiDS
Mode-X Primatives by: Matt Pritchard
Other Graphics Primatives, GIF & PCX from Fastgraph by TGS
Compiled with Turbo Pascal v7.0

Bugs?

Did you find any bugs?  If so, please write us at
acid-public@acid.org, or mail Skull Leader on any ACiD
affiliated system via AgoraNet.