Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
  You are not logged in - nap
DART 1.2 - Directory Art Importer   [2023]

DART 1.2 - Directory Art Importer Released by :
Genesis Project [web]

Release Date :
9 October 2023

Type :
Other Platform C64 Tool

AKA :
Dirart Importer - the tool everyone has to write at least once

User rating:awaiting 8 votes (6 left)   See votestatistics

Credits :
Code .... Sparta of Genesis Project, OMG, Propaganda Magazine Staff
Help .... Visage of Lethargy

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
Advanced
Navigate
Prev - Random - Next
Detailed Info
· Summaries (1)
· User Comments (3)
· Production Notes
Fun Stuff
· Goofs
· Hidden Parts
· Trivia
Forum
· Discuss this release
Support CSDb
Help keep CSDb running:



Funding status:




About this site:
CSDb (Commodore 64 Scene Database) is a website which goal is to gather as much information and material about the scene around the commodore 64 computer - the worlds most popular home computer throughout time. Here you can find almost anything which was ever made for the commodore 64, and more is being added every day. As this website is scene related, you can mostly find demos, music and graphics made by the people who made the scene (the sceners), but you can also find a lot of the old classic games here. Try out the search box in the top right corner, or check out the CSDb main page for the latest additions.
Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.085 sec.