| |
DART 1.2 - Directory Art Importer [2023] |
AKA :
Dirart Importer - the tool everyone has to write at least once
Credits :
Download :
Look for downloads on external sites:
Pokefinder.org
Summary Submitted by Sparta on 9 October 2023
DART is a simple cross-platform command-line tool that imports directory art from a variety of source file types to D64 disk images.
New in this release:
--------------------
DART has been rewritten in C++ to support cross-platform use. Windows, Linux Ubuntu, and macOS binaries are included in the zip file.
Huge thanks to Visage/Lethargy for the macOS build.
Usage:
------
dart input[+] [output.d64]
By default, DART will replace any existing old directory in the output file with the new, imported one. Entry types
will only be updated if the input file contains this information (D64, ASM). If none defined then DEL will be used.
To append the imported DirArt to the existing directory entries without overwriting them, mark the input file with
a plus sign (e.g., input.d64+, see example below). Thus, multiple DirArts can be imported in the same D64 as long as
there is space on track 18. DART does not support directories extending beyond track 18.
The directory header and ID can only be imported from D64 and ASM files. All other input file types must only
consist of directory entries, without a directory header and ID. In overwrite mode DART will always import the
directory header and ID from D64 and ASM files, if these exist in the input file. In append mode, however, it will
only import them if they are not defined in the output file.
The [output.d64] parameter is optional. If not specified, DART will create an input_out.d64 file. The output file
name can also be defined in KickAss ASM input files.
Accepted input file types:
--------------------------
D64 - DART will import all directory entries from the input file. The file type, track and sector, and file size
will also be imported. In overwrite mode the directory header and ID will be imported if they are defined
in the input D64. In append mode they will only be imported if they are not defined in the output D64.
PRG - DART accepts two file formats: screen RAM grabs (40-byte long char rows of which the first 16 are used as dir
entries, can be more than 25 char rows long) and $a0 byte terminated directory entries*. If an $a0 byte is not
detected sooner, then 16 bytes are imported per directory entry. DART then skips up to 24 bytes or until an
$a0 byte detected. Example source code for $a0-terminated .PRG (KickAss format, must be compiled):
* = $1000 // Address can be anything, will be skipped by DART
.text "hello world!" // This will be upper case once compiled
.byte $a0 // Terminates directory entry
.byte $30,$31,$32,$33,$34,$35,$36,$37,$38,$39,$01,$02,$03,$04,$05,$06,$a0
*Char code $a0 (inverted space) is also used in standard directories to mark the end of entries.
BIN - DART will treat this file type the same way as PRGs, without the first two header bytes.
ASM - KickAss ASM DirArt source file. Please refer to Chapter 11 in the Kick Assembler Reference Manual for details.
The ASM file may contain both disk and file parameters within [] brackets. DART recognizes the 'filename',
'name', and 'id' disk parameters and the 'name' and 'type' file parameters. If a 'filename' disk parameter is
provided, it will overwrite the [output.d64] command-line argument. In overwrite mode the directory header and
ID will be imported if they are defined in the input D64. In append mode they will only be imported if they
are not defined in the output D64.
Example:
.disk [filename= "Test.d64", name="test disk", id="-omg-"]
{
[name = "0123456789ABCDEF", type = "prg"],
[name = @"\$75\$69\$75\$69\$B2\$69\$75\$69\$75\$ae\$B2\$75\$AE\$20\$20\$20", type="del"],
}
C - Marq's PETSCII Editor C array file. This file type can also be produced using Petmate. This is essentially a
C source file which consists of a single unsigned char array declaration initialized with the dir entries.
If present, DART will use the 'META:' comment after the array to determine the dimensions of the DirArt.
PET - This format is supported by Marq's PETSCII Editor and Petmate. DART will use the first two bytes of the input
file to determine the dimensions of the DirArt, but it will ignore the next three bytes (border and background
colors, charset) as well as color RAM data. DART will import max. 16 chars per directory entry.
JSON - This format can be created using Petmate. DART will import max. 16 chars from each character row.
PNG - Portable Network Graphics image file. Image input files can only use two colors (background and foreground).
DART will try to identify the colors by looking for a space character. If none found, it will use the darker
of the two colors as background color. Image width must be exactly 16 characters (128 pixels or its multiples
if the image is resized) and the height must be multiples of 8 pixels. Borders are not allowed. Image files
must display the uppercase charset and their appearance cannot rely on command characters. DART uses the
LodePNG library by Lode Vandevenne to decode PNG files.
BMP - Bitmap image file. Same rules and limitations as with PNGs.
Any other file type will be handled as a binary file and will be treated as PRGs without the first two header bytes.
Example 1:
----------
dart MyDirArt.d64
DART will create MyDirArt_out.d64 (if it doesn't already exist), and will import the whole directory of MyDirArt.d64
in it overwriting any existing directory entries.
Example 2:
----------
dart MyDirArt.c MyDemo.d64
DART will import the DirArt from a Marq's PETSCII Editor C array file in MyDemo.d64 overwriting any existing
directory entries.
Example 3:
----------
dart MyDirArt.asm+ MyDemo.d64
DART will append the DirArt from a KickAss ASM source file to the existing directory entries of MyDemo.d64. |
|
|
|
| Search CSDb |
| Navigate | |
|
| Detailed Info | |
|
| Fun Stuff | |
· Goofs · Hidden Parts · Trivia
|
|
| Forum | |
|
| Support CSDb | |
|
| |
|