Last update: may 1st 2024

Dm2k - DiskManager 2000

Download Dm2k(80) version 4.0 now
ti dsk image as zipped disk-image (ZIP)

1 - INTRODUCTION
2 - FEATURES
3 - DISKMANAGER 2000 SCREEN LAYOUT
4 - WORKING WITH DISKMANAGER 2000
4.1 - BROWSING
4.2 - ENTERING SUBDIRECTORIES
4.3 - DIRECT COMMANDS
4.3.1 - COPY, MOVE, DELETE, PROTECT, UNPROTECT FILES
4.3.2 - TYPE A FILE
4.3.3 - RENAME A FILE OR SUBDIRECTORY
4.3.4 - PRINT A CATALOG
4.3.5 - CREATE A SUBDIRECTORY
4.3.6 - START A PROGRAM
4.3.7 - FORMAT A FLOPPY DISK
4.4 - FILE AND DIRECTORY COMMANDS
APPENDIX A - FUNCTION KEYS
APPENDIX B - CONFIGURATION
APPENDIX C - ERROR MESSAGES

1 - INTRODUCTION
Diskmanager 2000 is a program manager to use with hard-disk drives (HFDC/SCSI/IDE). It is possible to acces files in a directory structure by entering a full path name instead by drive number as used by programs written in the pre-directory age. There was no intention to write a program to replace the fabulous Diskmager 1000 program, but the need for a program like this for the TI99/4a, and more or less for the Myarc Geneve 9640 home computer is high. DM2K is written in an optimized form of Clint Pulley's 'C' and assembly. Before version 1.0 was developed I had written a mixed 'C' and assembly library for accessing files at level 2 (sectors) and level 3 (standard file IO) using the library of Tom Bentley as an example. At the same time I've written a C99 optimizer for MDOS to optimize almost every generated 'C' code so that the program will still fit in the TI99/4a's memory. This optimizer can also be used for the TI99/4a with minor changes. Version 2.0 and newer of Dm2k was completely build and tested on a PC with Windows-XP or Windows 7 or Windows 8.2. Version 2.6 and newer of Dm2k was completely build and tested on a PC with Windows 10, my own written TI99 emulator for windows (TI994w), a 32bits console version of Clint Pulley's 'C' compiler, 32bits console versions of my own written optimizers (C99o, C99x, C99f, C99m, C99z), assembler XA99 and linker L99. The final test was done on the real thing. Version 2.5 of Dm2k is able to type files as text or in hexadecimal format in 40 or 80 columns if your TI99/4A console is equipped with the F18A VDP replacement board of M. Haggerty or some 80 column card. Dm2k does not test if such a device is really available. Version 2.6 Bug fix in textm1() and textm2() functions. A 9938/9958 VDP requires that the two least significant bits of R2 (patter name table) are set to 1 when switched to text mode 2 (80 columns mode) So R2=0 for PNT address >0000 in text mode 1 and R2=3 for PNT address >0000 in text mode 2. The F18A VDP board doesn't care. Version 3.0 Added the possibility to define the CRU address in front of the Src and/or Dst path like so: 1400.DSK1. This is for the people with disk controllers and or RAM-disks witch all have the same device names. If no CRU address is entered then the first device found with the given device name is used. The CRU address of the device(s) used is always displayed in front of the Src and Dst path. Added lower case character set and beeps and honks. Added five new direct commands: C(opy), M(ove), D(elete), P(rotect) and U(nprotect). These commands are used directly on the file where the cursor is (and all other selected files). This is a quicker method for handling a single file then the select with fctn-2, fctn-6, select command sequence. If a subdirectory is selected and the P or U command is given then an "Are you sure" question is displayed. If a M or D command is given then an "Are you sure" question is displayed. Version 3.1 Added a check to prohibited people to create sub directories and/or rename sub directories or files containing '.' characters. If you have a sub directory or a file with '.' characters in the name you can't delete them but it is possible to rename them. Version 3.2 Corrected the check for determining the CRU address of the source device. This shouldn't be copied if it is allready defined. Version 3.3 Direct commands only Protect, Unprotect, Copy, Move or Delete the files which are selected or the single file the cursor points at. Updated the help pages. Leaving type file (text or binary) with fctn-9 instead of Q(uit). Corrected printing the U/P character for unprotected/protected files. Version 3.4 Erase character is fctn-1 (as it always was) instead of fctn-2. Version 4.0 Check for copying file to itself and added progress bar as in Gdm2k. Code cleanup. Created Dm2k80 an 80 column version of Dm2k with two file lists (like Gdm2k but needs SAMS memory expansion and an 80 column card or F18A). Created a special version Dm2kts which also show the creation and update time stamps of files (needs 80 column card or F18A).
Dm2k catalog
An impression of Dm2k while copying files.
Dm2k catalog
An impression of Dm2k80.


2 - FEATURES
With Diskmanager 2000 it is possible to: - Protect and unprotect files - Rename files and/or directories - Copy files and/or directories - Move files and/or directories - Delete files and/or directories - View a file as text or hexadecimal (program files only in hex) in 40 or 80 characters per line. - Create a subdirectory - Print the contents of a subdirectory - Execute a program - Format a floppy disk It is not possible to: - Protect subdirectories - Create subdirectories on floppy disks
3 - DISK MANAGER 2000 SCREEN LAYOUT
The Diskmanager 2000 screen shows the following information: - the name of the device and/or subdirectory of wich the filenames ar read (SRC) - the name of the device and/or subdirectory to wich files are copied or moved (DST) - the volume name of the device (Vol) - the total size in sectors of the device (Size) - the number of free sectors on the device (Free) - the number of used sectors on the device (Used) - the number of files in a directory (Files) - the number of sub-directories in a directory (Dirs) - the number of used sectors in a directory (Used) - the number of selected files and/or subdirectories in the directory showed (Selct) on which te file command will be executed - the total number of sectors the selected files are using up in the directory showed (Tsect) - a maximum of 12 filenames with their sector size, file-type, protection status - the command currently being executed (if any) - an immediately command to execute (if any) - an error message (if any occured) - the first sector number reading or writing of a block of 8Kb while copy-ing Dm2k file list
4 - WORKING WITH DISKMANAGER 2000
To be able to work with Diskmanager 2000 place the Editor/Assembler module in the TI99/4A console or start the GPL-interpreter on your Geneve. Choose option 5 Run program file and enter DSK1.DM2K When Diskmanager 2000 is loaded, your computer screen will show the help screen. This screen can be called any time by pressing the 'H' key. Press enter to go to the Diskmanager 2000 main screen. Before the filenames on a device can be read a source devicename and/or subdirectory name must be entered (i.e. DSK1. or SCS7.SUB01). It's not necessary to end the names with a period, Diskmanager 2000 will append this for you. You can use the cursor keys fctn-S and fctn-D to move the cursor through the line. Pressing fctn-3 will erase the whole line. Press enter to read the filenames of the just entered device and/or subdirectory.
4.1 - BROWSING
After the filenames are read, you'll be able to manage them. Use the arrow keys fctn-E and fctn- X to browse through your files. Use ctrl-E and ctrl-X to browse page by page. Ctrl-H will take you back to the top of the subdirectory.
4.2 - ENTERING SUBDIRECTORIES
If the cursor character '>' is in front of a subdirectory name (the type is SubDir) simply press ENTER to go to that subdirectory and read the filenames in it. The device name and subdirectory level on top of the screen is expanded automatically. To return to the upper directory (name is .. and type is UprDir) press enter when the cursor character is pointing at the upper dirtectory name. Use ctrl-H to move the cursor to the top of current directory. Press fctn-0 (also F10 on the Geneve) the enter a complete new device name and/or subdirectory name as described above. Pressing fctn-9 at this stage will abort this function. Pressing ctrl-s will swap the source with the destination device and subdirectory name.
4.3 - DIRECT COMMANDS
The direct commands are: - Copy file(s) (see also paragraph 4.4) - Move file(s) (see also paragraph 4.4) - Delete file(s) (see also paragraph 4.4) - Protect file(s) (see also paragraph 4.4) - Unprotect file(s) (see also paragraph 4.4) - Type a file on screen - Rename a file - Print a catalog on a printer - Create a subdirectory - Starting a program - Formatting a floppy disk and will be executed immediatelly.
4.3.1 - COPY, MOVE, DELETE, PROTECT, UNPROTECT FILES
The Copy, Move, Delete, Protect, Unprotect commands will be executed on the file where the cursor is placed and al other selected files and subdirectories marked by a '+' sign. See paragraph 4.4 for the description of these commands.
4.3.2 - TYPE A FILE
To view the contents of file move the cursor to the filename to view and press 'T' for an ASCII representation in 40 characters per line or ctrl-T in 80 characters per line (not for program files). To view the file in a hexadecimal representation press 'B' for 40 characters per line or ctrl-B for 80 characters per line. Use ctrl-E and Ctrl-X to browse through the file. While viewing an ASCII representation you can use fctn-7 (tab) to view records which are longer than 40 or 80 characters. Pressing Q while take you back to the main screen. dm2k display text dm2k display binary
4.3.3 - RENAME A FILE OR SUBDIRECTORY
To rename file or subdirectory move the cursor to the filename or subdirectorynam to change and press 'R'. At the bottom of the main screen the following line will appear: Rename NAME______ to NAME______ Use the cursor keys fctn-S and fctn-D to move the cursor through the name. Use fctn-3 (also F3 on the Geneve) to remove the complete name to enter a new name. The maximum length of a filename or subdirectory name is 10 characters. Pressing ENTER will rename the file or subdirectory. Press fctn-9 (also F9 on the Geneve) the return to the main screen without renaming the file or subdirectory.
4.3.4 - PRINT A CATALOG
To print a catalog of the subdirectory actually shown in the main screen press ctrl-P. At the bottom of the main screen the following line with a default device name will appear: Print: PIO. Use the cursor keys fctn-S and fctn-D to move the cursor through the devicename. Use fctn-3 (also F3 on the Geneve) to remove the complete devicename to enter a new devicename. Pressing ENTER will start the print function. Press fctn-9 (also F9 on the Geneve) the return to the main screen without printing a catalog. See appendix B for changing the default printer name and/or settings.
4.3.5 - CREATE A SUBDIRECTORY
To create a subdirectory press fctn-8 (also F8 on the Geneve). At the bottom of the main screen the following line will appear: Makedir __________ Enter a subdirectory name. Use the cursor keys fctn-S and fctn-D to move the cursor through the devicename. Use fctn-3 (also F3 on the Geneve) to remove the complete subdirectory to enter a new name. The maximum length of a fsubdirectory name is 10 characters. Pressing ENTER will create the subdirectory. Press fctn-9 (also F9 on the Geneve) the return to the main screen without creating a subdirectory.
4.3.6 - START A PROGRAM
To start a program (TI99 version only) position the cursor in front of a executable program and press X. At the bottom of the main screen the following line will appear if the file type is PROGRAM or DIS/FIX80: Execute PROGRAMNAME? ([y],n) Pressing ENTER or Y at this stage, Diskmanager 2000 will attempt to load and start the program. If an error occurs the following line will be displayed at the bottom of the screen: Error X Where X will be between 0 and 7 or 13. See appendix B for an explanation of the error codes. In the case of an error Diskmanager 2000 returns to the title screen.
4.3.7 - FORMAT A FLOPPY DISK
Press ctlr-F to format a floppy-disk (TI99 version only). The following information will be displayed on the screen: Dm2k format disk First enter the drive number of the floppy disk to format. Next press 'Y' to format the floppy disk for 40 tracks, or 'N' for 80 tracks (the diskdrive must be able to handle 80 tracks). Press 'Y' to format the floppy disk double sides and 'N' for single sided. The data density depends on the disk controller you uses. Enter 'S' for single density (ie TI-disk controller), 'D' for double density or 'H' for high density (ie Myarc-disk controller). Also enter a volume label for the disk to format. The following line will appear: Format DSKx (Y/N) Press 'Y' to start formatting or 'N' to return to the main screen. If you start the formatting routine, the next line will appear: Formatting... After formatting the floppy disk will be checked: Formatting...Done Verifying If a problem occurs with one of the sectors, this sector will be marked as bad: Bad sectors in which means the total number of unusable sectors. While entering the information to format a floppy disk or during checking the formatted floppy disk it is always possible to press fctn-9 (olso F9 on the Geneve) to return to the main screen. After formatting a floppy disk, the results will be displayed on screen: Dm2k format done Press 'Y' to format another disk or 'N' to return to the main screen.
4.4 - FILE AND DIRECTORY COMMANDS
File and directory commands will be executed on all selected files and directories. Move the cursor in front of the name of the file by using the cursor keys fctn-E, fctn-X, ctrl-E or ctrl-X and mark the file or directory bij pressing fctn-2 (or F2 or insert on the Geneve). A '+' sign will be displayed before the file or directory name. By pressing fctn-2 again the file or subdirecty will be de-selected. Next press fctn-6 (or F6 on the Geneve). At the bottom of the main screen the following line will appear: Press: Unpr Prot Copy Move Delete: : - Press 'U' to remove the protection of all selected files and all the files in the selected directories. - Press 'P' to protect all selected files and all the files in the selected directories. - Press 'C' to copy all selected files and directories. - Press 'M' to move all selected files and directories. - Press 'D' to delete all selected files and directories. Any other key will return you to the main screen of Diskmanager 2000. Pressing fcnt-9 (or F9 on the Geneve) will abort execution of the choosen command. If a file seems write protected while attemting to overwrite this file, the following message will appear at the bottom of the screen: Copy: DSK1.FILENAAM Protected! Overwrite (y, [n], a) Press 'Y' to overwrite the file. Press 'N' to keep the original file. Press 'A' to overwrite all write protected files. If a file seems write protected while attemting to delete this file, the following message will appear at the bottom of the screen: Del : DSK1.FILENAAM Protected! Delete (y, [n], a) Press 'Y' to delete the file. Press 'N' to keep the original file. Press 'A' to delete all write protected files.
APPENDIX A - FUNCTION KEYS
The following function keys are used by Diskmanager 2000 H Show the help screen A All: Select all files and subdirectories N None: Deselect all files and subdirectories R Rename file or subdirectory C Copy (selected) file(s) M Move (selected) file(s) D Delete (selected) file(s) P Protect (selected) file(s) U Unprotect (selected) file(s) T / ctrl-T Type the contents of a file on screen in ASCII in 40 or 80 characters per line. B / ctrl-B Type the contents of a file on screen in a Hexadecimal form in 40 or 80 characters per line. ctrl-P Print the contents of a subdirectory ctrl-F Format a floppy disk (TI99 version only) X Execute a program (TI99 version only) Q Exit program fctn-3 / F3 Erase line fctn-6 / F6 Execute file commands fctn-7 / F7 Tab while viewing files fctn-8 / F8 Create subdirectory fctn-9 / F9 Escape fctn 0 / F10 Input a pathname fctn-S Cursor left fctn-D Cursor right ctrl-L Cursor to start of line ctrl-J Cursor to end of line fctn-E Filename up fctn-X Filename down ctrl-E Page up ctrl-X Page down cltr-L Begining of line (or Home on the Geneve) ctrl-J End of line (or End on the Geneve) ctrl-C Copy Src path to Dst path while entering Dst ctrl-S Swap Src path with Dst path while entering Dst ENTER Accept line, name, go into subdirecotry, go back to the upper-directory
APPENDIX B - CONFIGURATION
A few variables can be manipulated to change the operation of Dm2k to your desires: - Autorepeat delay, this is the time to wait before the autorepeat function will start after holding the same key on the keyboard. - Autorepeat speed, to define the rate at which the same key will be generated. - Printer name, to change the default printer name and/or properties. These variables are located at the beginning of the file Dm2k and can be changed with any sector editor: Offset Value TI Description ------------------------------------------------------ >0000 FFFF Loader flag >0002 1FFA Module size >0004 A000 Module start address >0006 02E0 83E0 LWPI >83E0 instruction >000A 020B 0024 LI 11,>0024 instruction >000E 0460 A056 B @@START instruction >0012 0250 Autorepeat delay >0014 0050 Autorepeat speed >0016 PIO. Printer name (max 30 characters) Offset Value Geneve Description ------------------------------------------------------ >0000 5047 Loader flag >0002 1FFA Module size >0004 0400 Module start address >0006 0460 043A B @@START instruction >000A 0250 Autorepeat delay >000C 0050 Autorepeat speed >000E PIO. Printer name (max 30 characters)
APPENDIX C - ERROR MESSAGES
An error message consists of 3 parts: - An error number - The function for which the error occured - The reason for the error (explanation of the error number) The following functions can result in an error: - Opendir - Open a directory - Readdir - Read a directory - Delete - Delete a file or subdirectory - Load - Load a program file - Save - Save a program file - Opensrc - Open a source file for reading - Readsrc - Reading a source file - Opendst - Open a destination file for writing - Writedst - Writing to a destination file - Protect - Write protect a file - Unprotect - Make a file accessible for both reading and writing - Rename - Renaming a file or subdirectory - Mkdir - Create a subdirectory - Execute - Execute a program - CBstor - Saving a subdirectory name in a circulair buffer The following errors can occur: 0 - CRU address/Device name A device name like "DSK1" or "WDS1.SUBDIR" was entered that doesn't exist, or the (optional) CRU address entered doesn't match with the correct device. 1 - Write protected An attempt was made to delete, rename or write over a file that is write protected. 2 - Bad open attribute An attempt was made to open a file without the proper attributes. This error should not occur in DM2k. 3 - Illegal operation I.e. an operation not supported by the peripheral or a conflict with the open attribute. This error should not occur in DM2k. 4 - Out of buffers To many files are open. DM2K is build with a 'C' library which can handle a maximum of 4 open files. This error should not occur in DM2k. 5 - Read past eof An attempt was made to read past the end of a file. This error should not occur in DM2k. 6 - Device error Covers all hard device errors such as parity and bad medium errors. 7 - File error Program or data file mismatch, non existing file opened in INPUT mode etc. 8 - File to big The file is to big for DM2K to handle. The file doesn't fit in DM2k's internal buffers. 9 - Name to long The directory can not be created because the total length of the path name will be more than 34 characters. 13 - Unresolved reference A label was not found in the REF/DEF table after loading a DIS/FIX80 file. 14 - Circular buffer full While executing the chosen command all names of directories and subdirectories are stored in a circular buffer for later processing. If this buffer is full, no more names can be stored and further executing of the command is canceled. This can occur if a directory is selected with many branches to other subdirectories.
Warning: goto_ti99geek.html could not be included.