-
Notifications
You must be signed in to change notification settings - Fork 1
wepl/wwarp
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Send images using WWarp to a WHDLoad developer ---------------------------------------------- If you get requested to send images of your game using WWarp to a WHDLoad install author, just do the following: - copy the WWarp executable to somewhere it is reachable via your PATH, e.g. copy it to C: - enter the directory where you like to store the images to create, there should be some MB of free store - insert the disk to image into your floppy drive and run WWarp with the name of the image to create as argument, if there are multiple disks for the game add the disk number to the name, e.g. "wwarp robocop2-d1" - if you are using not DF0: but a other drive add the unit number on the argument list, e.g. "wwarp robocop2-d1 unit=1" for DF1: - each image created by wwarp will have a size between 1 and 4.5 MB - at the end pack all images into one lha archive and email this archive to the WHDLoad install author Here an complete example of how to install WWarp and create images for the game RoboCop2: cd <where you have unpacked the wwarp archive> copy wwarp c: cd <where you like to create your images> wwarp robocop2-d1 wwarp robocop2-d2 lha a robocop2 #?.wwp This creates "robocop2.lha" which you can send by email. Usage ----- Synopsis: WWarp filename[.wwp] [command] [tracks] [args] [options...] commands: C - create wwarp file (default) this will read the disk in the floppy drive and create a image from, if [tracks] has been specified only these tracks will be read D - dump tracks displays info about the specified track and displays the mfm-data (or decoded data if type is not 'raw'), if there is a sync set in the wwarp file the mfm-data will be displayed shifted to the first sync args = [sync[&mask]][,[syncno][,[len][,off]]] sync[&mask] - the track will be shiftet to that sync and then displayed syncno - if multiple syncs are found, the number of the sync to use for display (first sync is 1) len - amount of bytes to display off - offset to start display, can be negative e.g. to view bytes before the sync, a bit offset will be specified using $1000.7 for example leadings args can be ommited, e.g. use ,,16 to see first the 16 bytes F - try to decode the specified [tracks] as one of the known formats (less restrictive than the routine used in command C for some custom formats) G - save contents as image file, all decoded tracks will be saved in their size, track of type RAW or with a data length of 0 will be saved as $1600 bytes with the contents 'TDIC' (as used with the DIC program), you can save a part of the image or skip tracks by selecting only the whished tracks I - print informations about wwarp file and tracks contained L - set track length sets the data length which should be written back to disk. this length is stored in the wwarp file and will be used on command 'W' (see below), this operation does not modify the stored track data in the wwarp file, this command doesn't work with tracks which are not of type 'raw' of course P - pack wwarp file this removes all unneccessary data from the wwarp file, all tracks of type 'raw' and a valid 'Length' and 'Sync' will be stored starting with 'Sync' and the length 'Length', removed data is lost forever, so be careful R - remove tracks from wwarp file deletes the specified [tracks] from the wwarp file, the tracks are lost forever, so be careful S - save tracks each track will be saved to a separate file, the filename contains the track number and the format, if the format is raw-single the doubled length will be saved, if the format is raw and a sync is set the data will be shifted to this sync, if length is also set only length data bytes are saved W - write wwarp file to disk Y - set sync sets the syncronization to write the track with sync back to a floppy disk, the sync can consist of upto 16 byte data and a mask of the same length. both, data and mask must be given in hexadecimal notation: "data&mask", the mask can be omitted and will then calculated from the data value (rounded up to byte boundaries) args = [sync[&mask]][,syncno] sync[&mask] - syncronization to set syncno - if multiple syncs are found, the number of the sync to use (first sync is 1) Z - write custom format or raw data from a data file to the disk This command does not operate on a wwarp file! The filename specifies the datafile which will be written to the specified track (only one track must be set). The format to be written must be specifed as number. The file length must match the tracklength for the given format. The supported formats and their number are displayed when wwarp is called without arguments. To write raw-mfm data the format number 0 must be used. Then the first 16 bytes are considered the sync and will be used for verify. e.g. wwarp mynewtrack.47 z 47 17 (writes ZZKJA format) tracks: will be used to specify which tracks should be affected by the command 1-5 tracks 1,2,3,4,5 2,90 tracks 2 and 90 2*2 tracks 2,4,...,156,158 10-20*5 tracks 10,15,20 1-5,7,99-104*2 tracks 1,2,3,4,5,7,99,101,103 * all tracks options: BPT=BytesPerTrack/K - amount of bytes to rawread and write to the wwarp file if nothing will be detected, default $6c00 DBG/K/N - enable debugging messages (see chapter below for more infos) Force/S - enable detection of formats with flag force Import/K - import alien file via trackwarp.library, must be used with in conjunction with command C NoFmt/K - don't try to detect known formats which are specified, formats are given by their number as listed when WWarp is called without arguments, multiple formats are delimited with comma, e.g. NoFmt=16,30,33 disables detection of slackskin, twilight1 and twilight2 formats NoStd/S - don't try to detect any known formats NV=NoVerify/S - disables verify on write operations, verify is supported with all modes! RC=RetryCnt/N/K - number of read retries before a track is stored as 'nonsingle' 'raw', default 6 SYBIL/S - use SYBIL hardware to write long track formats and formats with variable bitcell densities (see chapter below for more infos) Unit/N/K - trackdisk.device unit number, use 1 for DF1: etc. Tips & Tricks ------------- * use 'wwarp' without arguments for a short decription of the available options and to display all supported custom formats * to write back an image: for that are usually multiple steps necessary because you have to say WWarp how to write back the track data. first step: 'wwarp filename f' - that command forces WWarp to try to decode all tracks, thats recommended because WWarp by default saves standard AmigaDos tracks in decoded format only if the mfm data is absolutely clean. most format programs are weak in their job, e.g. formatting not the full track to save some miliseconds or do not init the sector headers correctly. because such differences could be used as a copy protection WWarp saves such tracks as raw by default. anyway usually you can use the F(orce) command to ignore such specials. second step: 'wwarp filename y 2-159 9521000044&ffff0000ff' - set the sync, that must be done for all tracks which are not detected as a supported format by WWarp. WWarp needs that information to know where the track data starts. You should make sure that the specified sync is only one time contained on the track, otherwise WWarp may start on the wrong sector. If the disk format uses multiple sectores you have to set the sync that it refers the first sector after the inter sector gap. For example if you would like to write back a standard AmigaDOS track (which is unnecessary because WWarp knows that format ;-) you had to use: 448944895500000555000001&ffffffffff000055ff000055 third step: 'wwarp filename l 2-159 $3050' - set the write length, that step is optional but recommended, WWarp needs that information to know how many bytes must be written to the disk. when writing WWarp will check if your drive is capable of writing the requested amount of bytes, e.g. it will say you if you try to write a long track on a normal drive if you don't set the length WWarp will write as much bytes as possible depending on the drive speed forth step: 'wwarp filename w' - that will write back the tracks to disk, if you have prepared the wwarp file correctly and there are no specials preventing the write back operation you will have another duplicate of your original and saved this piece of software history for your sons and daughters ;) * to check if the right sync has been set use: wwarp filename d 2-159 ,,32 which will display the first 32 mfm bytes of the selected tracks, you will also see if the sync has been found and if its present multiple times * if a disk is very weak and you have problems to warp it increase the RetryCnt, for example use: wwarp filename c 10-14*2 RetryCnt=50 get some coffee, watch some tv and after that maybe wwarp could read the tracks after several retries * when WWarp detects the Rob Northen 12 sector format it also calculates the lower 31 bit of the DiskKey (bit #31 cannot be calculated, but seems to be most time zero, in the warp file that bit is always set!), this key is saved in front of the decoded track data in the warp file, to see it just use the (I)nfo command wwarp removes the gap between the sectors when writing the format back, that makes it possible to write also the long track variants of the format on standard disk drives Using High-Density Floppy+Disk ------------------------------ There is some support for using HD disks. There are several limitations but it may be useful under some conditions. * WWarp will automatically detect if there is an HD floppy in a HD drive and some operations will be performed slightly different * the following applies to standard AmigaDOS tracks: a track on a HD is not $1600 but $2c00 bytes in length, that requires some work arounds, WWarp will still write $1600 for each track but with the offset as it would be a DD disk, that means that track #1 will be physically located on the second half of track #0, tracks in std format will not be written using TD_FORMAT but TD_WRITE, as result the tracks must be formatted correctly before SYBIL ----- The SYBIL hardware has been created by Jim Drew of Utilities Unlimited International. The hardware was created to read/write 800KB Macintosh Disks which uses different speed zones. It seems there was also a successor called AMIA which could be used together with Emplant (Mac-Emulator) which was also from UU. The hardware consists of two cards connected with some wires. One card connects to the parallel port, the other to the video port. The SYBIL is controlled via the parallel port and changes the clocking of the custom chips via the genlock interface. Because the disk controller is part of these chips also the bitcell timing on writing is affected by the genlock interface. Using the SYBIL hardware with WWarp you can write tracks with standard drives (300 rpm) from $3000 bytes upto $3580 bytes length. Debug output ------------ Setting the option DBG/K/N you can increase the amount of messages wwarp will print on several operations. Following the additional messages depending on the value specified: 1 * on write operation of custom formats check the mfm data for "11" and "0000" sequences which are illegal for mfm * on read print each unsuccessful tried custom format 2 * on write operation of custom formats dump encoded mfm data 3 * on retrying raw read because track length could not be estimated the head will be moved, now instead the dot the cylinder will be printed MORE QUESTIONS? so check the source ;-) Full package of WWarp can obtained from http://whdload.de/whdload/ The source is accessible via: https://github.com/wepl/wwarp Please report bugs via the GitHub page. Contributions are welcome too!
About
Floppy disk warper for the Amiga
Resources
Stars
Watchers
Forks
Packages 0
No packages published