Talk:D64Lister

From C64-Wiki
Jump to navigationJump to search
                               D64Lister 1.7.3

                                   By Lars


1. Introduction
---------------
Because I wasn't satisfied with all the available D64 lister programs in
several aspects I decided to make my own one.
The D64Lister is of course Freeware.



2. Abilities and properties
---------------------------
The D64Lister is featured with the following abilities and properties, which
are described more precise later on:

- Windows based (Win9x, WinNT, Win2000, WinXP, WinVista, Windows7)
- Multifile support
- Extended Recursive OpenDialog with Directory selection
- D64 Images as parameter 
- Images can be drag&dropped
- 40 Tracks Support (SpeedDOS, DolphinDOS, PrologicDOS)
- 99% PETSCII -> ASCII conversion
- 99% Original C64/1541 behaviour
- ASCII Textfile generation
- RichTextFormat file generation
- Appending of new Textfiles to existing ones
- Upper/Lower -> Upper/Graphics Char switching
- Emulated C64Screen
- C64Screen is zoom - and scrollable
- Comfortable OptionsDialog with *.ini File
- GEOS File support
- Auto Upper/Lower Char switching for GEOS Files
- GEOS File Details
- GeoWrite Textviewer with styles, fontsizes, formats and photoscraps
- GEOS Font Shower
- GeoPaint Viewer
- PhotoScrap Viewer
- PhotoAlbum Viewer
- GeoPaint pictures and PhotoScraps are saveable
- Fonts zoom - and saveable (as bitmap)
- Zoomable display of GEOS icons
- Export function for supported GEOS Filetypes
- Show BAM (with diskerrors like StarCommander)
- Show BAM entry -> filename, filename -> BAM entries
- BlockViewer in hex or char
- FileViewer with BASIC Command Detokenize, C64 program export and Hex View


All Options and the last loading path are saved in the D64Lister.ini
*.ini file. If a file called D64Lister.ini is present in the same folder
where the D64Lister.exe is, this file is used as *.ini file, so the 
D64Lister can be used portable.
Otherwise since Windows XP the *.ini file is saved in the user Application
Data folder. For Windows Versions older than Windows XP the *.ini file
is saved in the Windows Folder.



Load
----
The D64Lister is a full Windows Application and not a new DOS tool with
output redirection.

An from the D64Lister unlimited amount of D64 images can be opened at once
and their directory will be listed in C64/1541 format (including Blocks free
and filetype).
Therefore, click on one of the "Load" buttons and choose the wanted images.


There are two kinds of OpenDialogs:

The normal OpenDialog:
With CTRL/shift and leftmouse the images can be chosen. CTRL+A chooses all 
images in the actual directory. Doubleclick chooses only one image.

The extended OpenDialog:
After choosing a directory the D64 images found (with wildcard mask) are
displayed in the FileList on the right. Here you can choose the wanted images
or complete directories by checking the checkboxes.
Additional a with leftclick dragged rectangle checks the images and a with
rightclick dragged rectangle unchecks them again.

With "Initial Directory" you can choose ("Pick" or type) where to start the
next time opening the Dialog. Here the following special locations are valid:

- DESKTOP  : Desktop
- DRIVES   : My Computer
- NETWORK  : Network Neighborhood
- NETHOOD  : My Network Places
- PERSONAL : My Documents

The FileList Window can be resized on the right border. This setting becomes
valid the next time opening the Dialog.

A click on the "OK" Button lists the images.

A new loading will clear the list on the Mainform.

The "List" button lists the last loaded D64 image again.

It is possible to open the D64Lister with D64 images as parameter.
So you can include the D64Lister as your default D64 Lister in
Windows. No ASCII file will be created automatically.

You can also open images by drag&dropping directories or files on the
Mainform.



ASCII file
----------
The directory can be viewed in the Mainform and/or an ASCII file with nearly 
full PETSCII -> ASCII conversion (codepage 850) can be generated.
Therefore the checkbox "Generate ASCII File" on the Mainform has to be
checked.

The ASCII file can be viewed or printed in textmode (DOS prompt) with for
example "edit.com". In Windows for example "DIZzy", "UltraEdit32" or
"VEdit32 Plus" can be used to display the ASCII file correctly.
Also any Text Editor should work, where the "Terminal" Font from Windows,
which should emulate the textmode, can be selected.
Some recommended Tools are "Jane", "Angel Writer" or "Kool Padding". Here you
can set the "Terminal" Font as default (Fontsize 6 or 12) and can also open
RTF files (not with "Jane"). For a collection of editors refer to for example
http://www.heise.de/software/download/o0g0s3l11k17 .

The generated ASCII or RTF files can also be viewed in the D64Lister with
File->Import.

A click on the "Save" Button let you choose between Textfile or RTF file.
The RTF file uses the "Terminal" Font from Windows.
You can also copy (CTRL+C) the text from the Mainform.
The "ASCII Textfile" is the same as the "Generate ASCII File" file.
Choosing "ANSI Textfile" does some conversion to chars Windows cannot display
correctly.


The PETSCII -> ASCII conversion uses a slightly modified conversion table
from Joe Forster/STA (StarCommander).


The name of the ASCII file can be chosen in the OptionsDialog:

- use the name of the image                           (default name)
- use your own name                                   (insert name)

If the file already exists, you can choose between the following options:

- Append
- Overwrite
- Insert new name
- Cancel

The directory, where the ASCII file should be saved, can be chosen in the
same way in the OptionsDialog:

- Use the directory where the image was               (default path)
- Select a different directory or create a new one    (select path)


If more than one image is opened the name of the directory (default name) or
an earlier inserted name (insert name) will be used for the ASCII file
(multifile name).

The resulting savename can be displayed after successful saving.

Additional a header (check "Generate Header" in the OptionsDialog) can be
added before every listed image in the ASCII file, which includes the name of
the image and some good visible separating lines.



C64Screen
----------
For control or only to have a quick look into an image the C64Screen was
implemented (click on "C64Screen").
This screen uses the original char from the C64 (CharROM), so it displays the
directory like the original C64. The screen is zoom- and scrollable.
With "Options | Images in C64Screen" the number of displayed images can be
limited, because drawing the graphics in the C64Screen needs some time.

The following keys are valid:

- "+", "-" and "*"          Zoom


Upper/Lower -> Upper/Graphics Charset
-------------------------------------
The C64 have two Charset modes: the Upper/Graphics and the Upper/Lower mode.
Filenames can be saved in these different modes, too.


The D64Lister supports these two modes. You can switch between them manually,
or use the automatic recognition (Options | Auto GEOS conversion):

- BASIC files are displayed in Upper/Graphics
- GEOS files are displayed in the C64Screen in Upper/Lower and are saved in
  the ASCII file with standard ASCII (GEOS uses standard ASCII)

The Graphic Chars are converted as good as possible to the available ASCII
Graphic Chars.

The Upper/Graphics or Upper/Lower Buttons on the Mainform are used in all
PETSCII conversions of the D64Lister.



Interpret Specialchars
----------------------
Specialchars can be present in Disknames and Filenames.
The Option "Interpret Specialchars" enables their translation while listing.

The following Specialchars are translated:
- 0x0D        Return
- 0x8D        Shift Return
- 0x12        Reverse On
- 0x92        Reverse Off
- 0x1D        Cursor Right
- 0x9D        Cursor Left
- 0x14        Delete

Note that no linebreak is done for the Return chars. The other Specialchars
(e.g. Cursor Down, Home, Clear, and so on) will be ignored, but their
resulting behaviour (e.g. Rev Off) is simulated.
Disknames are limited to 80 chars (like on the C64), Filenames are limited to
40 chars.

After Quotes Chars greater than 0x80 are interpreted as BASIC Tokens in
Disknames, e.g. Char 0x8D will be displayed as "GOSUB" instead of "Shift
Return".

With the Option "Display BASIC V2 Tokens" these interpretation can be enabled.
The BASIC V2 Tokens can be displayed and edited in the Token Table in the
FileViewer Options.



GEOS Support
------------
If GEOS files are found while listing the directory, the File Ending
($80 - DEL, $81 - SEQ, $82 - PRG, $83 - USR, $84 - REL) is replaced with
GEOS Filetype Endings. These are:

BAS       ($01) - BASIC
ASS       ($02) - Assembler
DAT       ($03) - Data file
SYS       ($04) - System File
DAC       ($05) - Desk Accessory
APP       ($06) - Application
DOC       ($07) - Application Data
FON       ($08) - Font File
PRN       ($09) - Printer Driver
INP       ($0A) - Input Driver
DRV       ($0B) - Disk Driver (or Disk Device)
BOO       ($0C) - System Boot File
TMP       ($0D) - Temporary
AUT       ($0E) - Auto-Execute File

If the checkbox "Generate GEOS File Details" in the OptionsDialog is checked,
the Info Block of a GEOS File inclusive icon is added to the
"GEOS File Details" List. 

A Rightclick on the List shows the Options PopUp Menu.
A Doubleclick on a GeoWrite File opens the GeoWrite Viewer where the contents
of the File is displayed.
A Doubleclick on GEOS Fonts, GeoPaint Pictures, PhotoScraps and PhotoAlbums
open different Windows where the resulting bitmap can be saved or Options can
be set.
By doubleclicking on a not supported GEOS File its icon will be displayed in
a separate window and can be saved as a bitmap (Rightclick).
The "GEOS File Details" List is independent from the "Clear" button on the 
Mainform.

In the PhotoAlbum Viewer the following keys are valid:

"+", "-" and "*"          Zoom
"PgUp" and "PgDown"       next/prev Scrap


A click on the export function in the PopUp Menu will export all selected 
supported entries to their resulting filetypes, i.e. Fonts and GeoPaint
Pictures are exported as bitmap and GeoWrite Files are exported as a RTF
Textfile.


Before saving the List a choicebox will come up allowing you to select
which segments of the Info Block should be saved.


If problems come up by sorting the List (the GEOS Details ListView only
supports the used sorting algorithm with comctl32.dll Version 5.80 or later)
an own sorting routine can be used. Therefore the following entry has to be
added to the D64Lister.ini:

[GeosDetails]
OwnSort=1



GeoWrite
--------
Over the ContextMenue from the GeoWrite Viewer the Option can be switched on to
replace the used GeosFonts through its FontID over a Lookup Table with Windows
Fonts. Therefore a Lookup Table must be inserted in the *.ini File.
The entries must have this Format:

GeosFontID=FontName;

[FontTable]
-1=Arial;				Default
0000=Berkelium 64;			BSW 64
0001=Arial;				University
0002=Helvetica;				California
0003=Times New Roman;			Roma
0004=Olde English;			Dwinelle
0005=JLS Space GothicR  NC;		Cory
0006=Comic Sans MS;			Tolman
0017=Broadway;				Superb
0019=Microgramma D OT Medium Extend;	Ormond
0025=MacType;				LeConte
0026=Pet Me 64;				Commodore	
0027=Times New Roman;			LW_Roma
0028=Helvetica;				LW_Cal	
0030=Courier New;			LW_Barrows
0056=Arial;				University_GE, University LQ
0057=Helvetica;				California_GE, California LQ
0064=Times New Roman;			Roma_GE, Roma LQ
0065=Olde English;			Dwinelle_GE
0066=JLS Space GothicR  NC;		Cory_GE
0088=Times New Roman;			LW_Roma_GE
0089=Helvetica;				LW_Cal_GE
0091=Courier New;			Barrows_LQ, LW_Barrows_GE
0128=Berkelium 64;			BSW 128
0129=Pet Me 64;				Commodore_GE
;0129=Commodore;			This is an Example to rem out an entry
0736=Comic Sans MS;			Tolman LQ
0745=Broadway;				Superb LQ
0980=Olde English;			Dwinelle_GE LQ

The table ist sorted by the GeosFontID while reading. The topmost Entry
ist used as default if a FontID present. It is recommented to use -1 as the default
entry. If you just want a different DefaultFont, just enter this.
The FontName is the Name displayed in for example Word, not the Filename of the
FontFile. The FontName ends with a semicolon, following Chars are ignored and 
ca be used as a comment. The Table isn't completed yet and can be expanded.

Please have a look at:
https://www.forum64.de/index.php?thread/73537-geos-fonts-als-truetype/



BAMViewer/BlockOwner/FileViewer/BlockViewer
-------------------------------------------
In the BAMViewer (click on the BAM button on the Mainform) the BAM
(Block Allocation Map) of the last loaded image is shown.
Disk Errors (generated with e.g. StarCommander) are shown with a red frame
and the errornumber.

For undisturbed use of the BlockViewer with Rightclick type 'd' in the
BAMViewer to deactivate the PopUp Menu. 'a' activates the Popup again.

A click on "Show Block Owner >>" Button opens a List with the files of the
actual image. A click on a filename shows its BAM entries.

A click on "Show Chain" gives the numbered BAM entries with the following 
meanings of the colors:
- Red indicates an error. Doubleclick to get a little description
- Green indicates, that the Block is used by the file.
  For GEOS VLIR files it’s the VLIR
- Fuchsia indicates, that the Block is used by the file and has an error
- Blue indicates a VLIR Block. The number is !not! the original VLIR number,
  it's the absolute VLIR number (starting at 1).
- Yellow shows the Blocks of a VLIR Block. The parent VLIR Block number is
  shown in the right top. The Block number is shown at the left bottom.
- Pink indicates the GEOS Info Block.

A click on a BAM entry highlights the accompanying filename.

A Rightclick on a file opens the FileViewer:
A Rightclick on a Block opens the BlockViewer:



FileViewer
-----------
In the FileViewer the following options are available
(click "Options" Button or menuitem):

- Convert to ASCII
  Converts the file to ASCII using the PETSCII -> ASCII Conversion table
- Convert to chars
  Converts the file to chars or show it in Hex
- Replace 0x0D with a newline
  In most SEQ files 0x0D is used to do a newline

- Detokenize
  BASIC Commands are stored as BASIC Tokens.
  To detokenize a BASIC File click on the Detokenize Button labelled with
  "TOK64". The detokenize function was implemented with help from TOK64, it's
  source code, PETCAT and it's source code, but for now they have nothing
  in common anymore.
  Thanks to Cris Berneburg for TOK64 and Jouko Valta for PETCAT.

  Optional you can additionally choose between the following modes (Default):

  - Final Cardridge 3
  - Simons BASIC 
  - TSB (Tuned Simons BASIC) 
  - Graphics52
  - BASIC V3.5
  - BASIC V7
  - BASIC V7.1
  - BASIC V10


  If Detokenize was successful, BASIC Commands and Specialchars (for example
  {Up}, {Down}, {Home}) are shown in different colors adjustable in the
  Token Table. The translation of the Specialchars can be disabled in the
  FileViewer Options.

- Token Table
  A click on the Button "Edit" next to the BASIC Mode Selection in the
  FileViewer Options opens the Token Table.
  Here the Tokens for the different BASIC Modes and the Specialchars are
  displayed and can be edited.

  The following Properties can be found in the Header Area:
  
  - Number           Numbering of the Columns
  - Name             The Name of the Tokenset. If the Name is set in Brackets
                     it won't be added to the BASIC Mode Selection in the
                     FileViewer Options
  - Extension Of     Number of the Tokenset to extend. E.g. BASIC V7 is an
                     extension of BASIC V3.5 which is an extension of 
                     BASIC V2. If the Tokenset is not extended a "-" must be
                     inserted.
                     The Tokensets are scanned from Top (the chosen BASIC
                     Mode) to Bottom (the last Tokenset with "-" as Extension
                     Of) for matching Tokens inclusive Prefix.
  - Type             The BASIC Mode can be detected and / or tested by the
                     Startaddress of the file. BASIC Extensions
                     (Type 5, 6, 7) can't be autodetected.
                     The BASIC Startaddresses can be displayed and edited
                     by clicking on "Edit" next to the "Ignore Startaddess"
                     Button in the FileViewer Options.
                      - Type 0    Startaddress won't be tested
                      - Type 1    indicates Specialchars
                      - Type 2    indicates BASIC V2 Startaddress
                      - Type 5    indicates BASIC V2 Extensions
                      - Type 3    indicates BASIC V3.5 Startaddress
                      - Type 6    indicates BASIC V3.5 Extensions
                      - Type 4    indicates BASIC V7 Startaddress
                      - Type 7    indicates BASIC V7 Extensions
  - Color Type       Selection of the used Color for Syntax Highlighting.
                     The Color can be edited with "Change" in the right of
                     the Token Table Window.
  - Prefix           Some Tokensets uses Prefixes to indicate a Token.
                     Insert this Prefix here (for Hex Numbers use 0x).
                     If the Tokenset has no Prefix insert "-".
  - Comment Token    Indicates the Token used for Comments.
                     In BASIC V2 this is 0x8F (REM).
                     The Comment Token will be displayed with the for
                     Color Type 15 chosen Color.
  - Detok Comment    Option for further detokenizing within a Comment (1) or
                     displaying as Text (0).

  The Tokens have to be in ascending Order for proper function.
  With "Use Custom Token Table" a own CSV File with Tokensets is loaded the
  first time needed (i.e. Open Token Table or Detokenize).
  This CSV file can be edited in e.g. "Excel" or "CSVEd".
  The Token Table Window supports copy/Cut/Paste.
  The List separation char is automatically detected through the "Number" Row.
  So an own Token Table can be made with further or other Tokensets. Further
  Tokensets can be found in e.g. cbm_basic_tokens.txt supplied with Vice or
  at http://www.npsnet.com/danf/cbm/languages.html#BASIC
  
  Caution: Not everything can be checked, so fill the Header Area carefully
           for a new Tokenset with respect to the default sets.

  To use the Custom Token Table at Startup of the D64Lister (for example
  "Display BASIC V2 Tokens" at listing) add the entry LoadAtOnCreate=1 in the
  Section [TOK64] in the D64Lister.ini.

- Save as...
  You can save the file as a "RTF File", "txt File" or "C64 Program" with and
  without Startaddress.

The Upper/Graphics or Upper/Lower Buttons on the Mainform are also used in
the FileViewer.



BlockViewer
-----------
The BlockViewer displays the selected Block dependently from the FileViewer 
Options.



Additional Options
------------------
In the OptionsDialog the following functions can be enabled:

- Convert Everything
  Converts alphanumeric chars, too. Instead, only Graphic and other chars
  are converted to ASCII.

- Show deleted files
  Displays files which are signed as scratched in the directory. If their
  name is longer than 0 chars these files can be undeleted possibly ...

- Convert Disknames 
  The Diskname of the image will be converted, too. This can be useful if
  there are Graphic Chars in the name. GEOS disks will be recognized and 
  won't be converted (GEOS uses standard ASCII).

- Allow more than 144 Files
  Normal Images only use track 18 as directory track. This results in maximal
  144 Files. Some special Images are using additional tracks for the
  directory, too.
  With this option checked you can fully list them, but it's limited to 288
  Files.



3. Future Versions
------------------



4. Dlls
-------



5. Thanks go to
---------------
Bacchus/FLT
Joe Forster/STA
Robert Rottmerhusen
Jan Stuhler
Stefan Weber
Cris Berneburg
Jouko Valta
Robert Dunn
Werner Weicht
Arndt Dettke

For TOK64 visit:
ftp://ftp.zimmers.net/pub/cbm/programming/msdos/



6. Bugs
-------
Bug reports or other suggestions or ideas send to:

d64lister@hotmail.com