home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Brotikasten
/
BROTCD01.iso
/
spectrum
/
bdde.txt
next >
Wrap
Text File
|
1994-08-22
|
90KB
|
2,066 lines
============================
BDDE version 1.5c - 21/08/94
============================
1. What is BDDE . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Who produced BDDE . . . . . . . . . . . . . . . . . . . . . 3
3. Registering BDDE . . . . . . . . . . . . . . . . . . . . . . 3
4. The registered version . . . . . . . . . . . . . . . . . . . 4
5. Requirements . . . . . . . . . . . . . . . . . . . . . . . . 4
6. BDDE and media-conversion . . . . . . . . . . . . . . . . . 4
7. Using BDDE . . . . . . . . . . . . . . . . . . . . . . . . . 5
8. Making the dump using AnaDisk . . . . . . . . . . . . . . . 5
9. Making the dump using ADU . . . . . . . . . . . . . . . . . 6
10. Putting BDDE to work . . . . . . . . . . . . . . . . . . . 6
11. A sample session . . . . . . . . . . . . . . . . . . . . . 8
12. Let's `ls` a little . . . . . . . . . . . . . . . . . . . . 8
13. `df` and `di` . . . . . . . . . . . . . . . . . . . . . . . 10
14. Getting down to business: `cp` . . . . . . . . . . . . . . 10
15. Debug Level . . . . . . . . . . . . . . . . . . . . . . . . 11
16. `cp` continued . . . . . . . . . . . . . . . . . . . . . . 12
17. Conditional extraction . . . . . . . . . . . . . . . . . . 18
18. Using listfiles . . . . . . . . . . . . . . . . . . . . . . 18
19. The interleave . . . . . . . . . . . . . . . . . . . . . . 19
20. Initializing BDDE . . . . . . . . . . . . . . . . . . . . . 21
21. Other options . . . . . . . . . . . . . . . . . . . . . . . 23
22. Just another `od`.. . . . . . . . . . . . . . . . . . . . . 23
23. SmartSeek . . . . . . . . . . . . . . . . . . . . . . . . . 25
24. I love it when a plan comes together.. . . . . . . . . . . 25
BDDE V1.5c User Guide page 1 - (c) 1992,4 HanSoft & Partners
25. Piping and redirecting . . . . . . . . . . . . . . . . . . 28
26. Mum, it doesn't work! . . . . . . . . . . . . . . . . . . . 29
27. (Error)messages . . . . . . . . . . . . . . . . . . . . . . 29
28. Tips and tricks . . . . . . . . . . . . . . . . . . . . . . 35
29. Finally.. . . . . . . . . . . . . . . . . . . . . . . . . . 35
BDDE V1.5c User Guide page 2 - (c) 1992,4 HanSoft & Partners
1. What is BDDE
---------------
BDDE (BetaDisk Dump Extractor) is an MS-DOS utility that enables a former
BetaDisk user to transfer his files to the IBM-PC or Atari-ST without fiddling
around with serial cables and COM-ports. The resulting files can be read into
the Spectrum Emulators of Gerton Lunter, Kevin Phair (MS-DOS) and of Christian
Gandler (Atari-ST). Apart from all this you can retrieve *every* bit of
information concerning your BetaDisk. Even more than you ever could on your
own Spectrum!
2. Who produced BDDE
--------------------
BDDE is produced by J.L. Bezemer under the HanSoft-label. The author was quite
active in the Spectrum scene from 1983 until 1987 and ported packages like
Micro-Prolog, Artic Forth and HiSoft BASIC to BetaDisk. Apart from that he
cracked several protection-schemes like LensLok and SpeedLok. He also wrote
several distinctive menu-programs, the last being FRED (FRont End Display)
that featured a graphical user-interface not unlike the Apple Macintosh,
previously unknown in the Spectrum environment. It is included in this
package.
3. Registering BDDE
-------------------
The registered version of BDDE is more expensive than a few packs of ciga-
rettes, but you get a lot for your hard-earned money! Please send Dfl. 12.50
to account 86.87.11.853 of J.L. Bezemer in Den Haag (The Hague). Or just put a
bill of DM 10 in an envelope.
Registered users receive the complete version of BDDE, the C source-code
(supporting K&R and ANSI compilers under Unix and MS-DOS), and some utility
programs on an MS-DOS floppy disk. If you want an additional Windows version,
please add Dfl. 2.50 (or 2 DM). Existing users can get an update for only Dfl.
5.00 (or 5 DM). Write to:
J.L. Bezemer
Turfmarkt 97
2511 DN Den Haag
The Netherlands
Registration for personal use is *not* mandatory. However, the use of this
program in a governmental, institutional, commercial or business environment
is limited to 2 disks only. After that you either register this program or
stop using it. This program has been produced according to the European Legal
Guidelines on Software. No information has been extracted from any product by
reverse engineering. All information used has been published.
THIS PROGRAM, BOTH SOURCE AND OBJECT, MAY NOT BE USED BY MILITARY OR POLITICAL
ORGANIZATIONS OR USED FOR MILITARY OR POLITICAL PURPOSES. YOU MAY USE THE
SOURCECODE OR PARTS OF THE SOURCECODE TO BUILD ANY PROGRAM AS LONG AS THE
COPYRIGHT IS RECOGNIZED IN THE RESULTING PROGRAM (BOTH SOURCE AND OBJECT) AND
ITS ASSOCIATED WRITTEN MATERIALS OR DOCUMENTATION. THIS EXCLUDES PROGRAMS
BDDE V1.5c User Guide page 3 - (c) 1992,4 HanSoft & Partners
CREATED FROM THE SOURCECODE OF BDDE WITH THE SAME FUNCTIONALITY AS BDDE. SUCH
PROGRAMS MAY ONLY BE UTILIZED BY THE LICENSEE AND NOT BE DISTRIBUTED OR
TRANSFERRED IN ANY WAY.
4. The registered version
-------------------------
From a functionality point of view there is no difference between the regis-
tered and the unregistered version. However, the registered version is more
user-friendly and faster! E.g. a dump of track 159 takes the registered user
only 7 seconds. The shareware version takes a vast 4 minutes. Using `cp` is
about three times faster, although the difference is not that dramatic when
using a hard-disk. These tests have been performed on a 80386sx with an 40
MB/28 ms hard-disk. The current version of BDDE can convert at a rate of about
*120 kB/s* (using an 486/33 and an 335 MB/13 ms hard-disk). Furthermore the
automatic interleave detection, the autoRUN linenumber report, list-file
support and .TAP file conversion are disabled on the shareware version.
5. Requirements
---------------
For the conversion of a 40 tracks BetaDisk a 5.25" 360 kB drive is required.
To convert a 80 tracks BetaDisk you need either a 3.5" 720 kB drive or a 5.25"
1.2 MB drive.
BDDE itself needs only a very modest configuration. Even a 128 kB machine with
two 5.25" 360 kB drives will do in some circumstances. A rule of the thumb is,
you'll need a machine with twice the online disk capacity of the size of the
diskdump.
BDDE is available for both MS-DOS and Unix. Tested platforms include several
80286, 80386sx, 80386, 80486 MS-DOS machines (MS-DOS), a Bull DPX/2 340
running BOS V2.00.69, a 486/33 clone running Coherent V4.2 and a RS/6000 250
running AIX V3.2 (Unix).
6. BDDE and media-conversion
----------------------------
There are three levels of conversion. The first just transfers the data from
one medium to another, e.g. from harddisk to tape. This is called media-
conversion. The second takes all data and transfers it from one file-format to
another, e.g. when converting graphical data from a GIF-file into a BMP-file.
This is called file-conversion. The final form of conversion is more diffi-
cult. It's called data-conversion. Both formats are not compatible so some
data has to be added manually or "guessed". You'll find these conversions a
lot when you're transferring data from a non-relational database into a
relational database.
BDDE can do all file- and data-conversion, but is (still) unable to do media-
conversion. Of course it can be done, but it takes a lot of low level program-
ming. Worse, a solution can work on some hardware and refuse its services on
other hardware. So I decided to leave that level of conversion alone and
concentrate on file- and dataconversion, which is difficult enough.
BDDE V1.5c User Guide page 4 - (c) 1992,4 HanSoft & Partners
That means that you have to get yourself a nice diskanalyser, which can also
dump the contents of the diskette examined on an MS-DOS (or Unix) readable
disk. BDDE will then unpack these files for you. We are currently supporting
"Anadisk" from Sydex and "ADU" from AME Computing Systems. Others might also
be supported; just check your documentation on whether raw diskdumps are
supported.
We have found two programs suitable for doing this job and we support them
both. Neither BDDE nor its producer are connected in any way to the companies
or person(s) who produce the programs we support. BDDE is an independant
conversion-program. If you need support on the use of any of these products,
you have to contact these companies or person(s).
7. Using BDDE
-------------
The conversion is done in two stages. First, the disk-analyser converts the
entire BetaDisk to a MS-DOS file. BDDE converts this (dump)file to several MS-
DOS or Unix files, each holding the equivalent to a BetaDisk file. These files
can either be further converted or read in without any conversion into a
Spectrum Emulator. There are Unix and MS-DOS versions of BDDE. They produce
exactly the same files.
8. Making the dump using AnaDisk
--------------------------------
Read the instructions in ANADISK.DOC concerning ADCONFIG.EXE and configure
Anadisk accordingly. When you're done, put the BetaDisk in either drive A: or
B: (depends on the kind of computer you use and the disk you want to convert).
Now start Anadisk and a menu will appear.
Use the cursor-keys to highlight DUMP and press <ENTER>. A next menu will
appear. Use the cursorkeys again to highlight the A: or B: drive. Choose the
drive where the BetaDisk is inserted. Don't press <ENTER> yet! Anadisk will
ask you whether one side or both sides have to be dumped. Choose both sides
(unless you're working with a single sided disk). Finally you're asked if you
want to include sector-information.
The default is "No". You can use these dumps with BDDE, but you make your life
a lot easier by answering "Yes" to this question. You can safely press <ENTER>
now. BDDE uses this sector-information to check its position. A real drive
does the same thing. That is, except for drives that position the head using
special disks and diodes. These are called hard-sectored disks, but I haven't
seen one since the Exidy Sorcerer (and that was a long time ago!).
We're almost there. Just enter the filename you want the dump written to (any
valid MS-DOS filename will do) and press <ENTER>. Remember the drive must be
able to hold all the data Anadisk writes to the dump-file (and please do not
try to write a dump to a BetaDisk!). A dump from an 80 tracks, double sided
disk (including sector-IDs) will result in a 660 kB file. Finally, you're
asked which track to start from and which track to end the dump. If you're not
sure, enter 0 and 79. If it's a 40 tracks disk Anadisk will adjust according-
BDDE V1.5c User Guide page 5 - (c) 1992,4 HanSoft & Partners
ly. But if you want to do it nice and clean enter 0 and 39 for 40 tracks
disks..
Ok, sit back and relax. Anadisk will do the job for you. It will keep you
posted with a pointer and messages (read/write, etc.). Don't let warning
messages like a difference in Logical Side ID ruin your day. Everything is
alright. When Anadisk is done, you can go back to the DOS-prompt by hitting
the spacebar. Now let's put BDDE to work.
9. Making the dump using ADU
----------------------------
Read the instructions to ADU. When you're done, put the BetaDisk in either
drive A: or B: (depends on the kind of computer you use and the disk you want
to convert). Now start ADU and a prompt will appear.
If you want to convert the BetaDisk in drive A: enter:
L 0
Else enter:
L 1
If you want to convert a single sided, 40 tracks BetaDisk enter:
VB 16; VT 40; VZ 256; VH 1; VO 0; C <filename> 0/39; Q
The entry <filename> stands for the name of your dumpfile. If you want to
convert a double sided, 40 tracks BetaDisk enter:
VB 16; VT 40; VZ 256; VH 2; VO 0; C <filename> 0/79; Q
If you want to convert a single sided, 80 tracks BetaDisk enter:
VB 16; VT 80; VZ 256; VH 1; VO 0; C <filename> 0/79; Q
If you want to convert a double sided, 80 tracks BetaDisk enter:
VB 16; VT 80; VZ 256; VH 2; VO 0; C <filename> 0/159; Q
That should do it. When ADU is done, you are returned to the DOS-prompt. Now
let's put BDDE to work.
10. Putting BDDE to work
-----------------------
Let's do something very simple. Like displaying the help-screen. Type `bdde`
at the prompt and press <ENTER>. The following screen will be displayed:
BDDE V1.5c User Guide page 6 - (c) 1992,4 HanSoft & Partners
BetaDisk Dump Extractor V1.5c - (c) 1991,94 HanSoft & Partners
Usage: BDDE [command] <options> <[filelist|@listfile] [directory]>
Commands: ls, df, di, cp, od
Options : -Dx (Set debug level to %u; all)
-ix (Set interleave to %u; all)
-Mx (Use mediatype %u; all)
-Fx (Mount BetaDisk dumpfile %s; all)
-Ix (Initialize using init-file %s; all)
-l (Show a long directory listing; ls)
-u (Use erased files too; cp, ls)
-s (Force sector filesize on error; cp)
-Cx (Use conversion method %u; cp)
-dx (Set first array to variable %c; cp)
-f (Use same variable for all arrays; cp)
-# (Force numeric arrays; cp)
-$ (Force character arrays; cp)
-S (Use random seek; cp, od)
-tx (Dump track %u; od)
-c (Dump track in ascii; od)
For those among you who know Unix there is not much special to see. Just think
of BDDE as a very small Operating System. After I had written the low-level
routines of BDDE the whole thing became very transparent. To me the higher
level routines seemed to work with tracks and sectors. However, BDDE works
only with dump-files. That is why it is portable. But let's take a closer look
to this helpscreen.
- With `bdde` we start our mini-OS.
- Then we'll have to enter the command we want to execute. Only `ls`, `df`,
`di`, `cp` and `od` are available.
As a matter of fact, `ls` is a Unix-DIR and `cp` is a Unix-COPY. `df` indi-
cates how much free disk-space is available, not unlike FREE in 4DOS or
CHKDSK. `di` provides a lot of technical information, like DISKINFO in Norton
Utilities V4.x, but is *not* a Unix command. Finally, there is `od` which
means Octal Dump and does about the same thing as the 'D' command of DEBUG. I
know, it's strange but `od` cannot do an octal dump. It can only dump in ASCII
or hex. Please note that all of these commands are case-sensitive. `LS` will
*not* work!
- You can slightly alter the operation of a command by adding several
options. All options are prefixed by '-' instead of '/' like MS-DOS. And
they are case-sensitive just like Unix.
- When using `cp` you must add a target-directory like 'c:\temp' (DOS) or
'/tmp' (Unix). You can even add a trailing separator to the directory-
name. If you do not use `cp` adding a target-directory is an error.
If you violate any of these rules or the order of the arguments BDDE will
either show you a helpscreen or issue an error-message. So don't call me if
BDDE V1.5c User Guide page 7 - (c) 1992,4 HanSoft & Partners
that's the only thing you see all the time: you're definitely doing something
wrong!
11. A sample session
--------------------
In this section we will make a quick tour through the world of BetaDisk
conversion. We included a sample dumpfile (made by ADU) to play around with.
It's called "bdde.dmp". Just put it anywhere you want. Any directory will do.
Before BDDE can do anything you have to let it know what you're working with.
If you're using a sector-headerless Anadisk dumpfile or an ADU dumpfile the
option '-M0' will apply. If you're working with a Anadisk dump *WITH* sector-
headers, you'll have to use the option '-M1'. Furthermore, you'll have to
specify the dumpfile that you are using. Both absolute and relative pathnames
are supported.
If you want to save yourself some typing, it is wise to use the system-
variable support this version of BDDE provides. It's very easy to use. E.g. if
your 'bdde.dmp' is located in the '/home/john' directory of your Unix-system
enter:
BDDEINIT='-M0 -F/home/john/bdde.dmp'; export BDDEINIT
Likewise, if your BDDE.DMP file is located in the C:\TEMP directory of you MS-
DOS system enter:
set BDDEINIT=-M0 -Fc:\temp\bdde.dmp
Now you can start your tour with a minimum of key-strokes. Have fun!
12. Let's `ls` a little
-----------------------
Well, let's say you successfully dumped a BetaDisk using Anadisk. We can read
what is on the disk by typing this command:
bdde ls -l
A list not unlike this will appear:
BDDE V1.5c User Guide page 8 - (c) 1992,4 HanSoft & Partners
Addr Len B/D First First Last First Last
Filename Type Len(B) Run(C) NEG Tk/Sd/Sc Abs.S Abs.S #Sc Tk/Sc Tk/Sc
==============================================================================
index BASIC 9232 9232 240 1/0/01 16 52 37 1/00 3/04
FRED CODE 59769 64300 0 3/0/06 53 75 23 3/05 4/11
keynes BASIC 13223 13166 89 4/0/13 76 127 52 4/12 7/15
bt,ks&ei BASIC 2620 2620 196 8/0/01 128 138 11 8/00 8/10
probe BASIC 10143 10101 97 8/0/12 139 178 40 8/11 11/02
musicflr BASIC 6900 6900 12 11/0/04 179 205 27 11/03 12/13
musicode CODE 65333 0 0 12/0/15 206 206 1 12/14 12/14
flagrec BASIC 1542 1298 250 12/0/16 207 213 7 12/15 13/05
MakeDir (3): Erased file '?eynsdoc' found: skipped
MakeDir (3): Erased file '?lide' found: skipped
HanSoft CODE 16384 0 0 17/0/15 286 312 27 17/14 19/08
C CODE 16384 0 0 19/0/10 313 339 27 19/09 21/03
I wish.. CODE 16384 0 0 21/0/05 340 366 27 21/04 22/14
birthday CODE 16384 1627 0 22/0/16 367 393 27 22/15 24/09
slide BASIC 4152 4038 200 24/0/11 394 410 17 24/10 25/10
<0> DATA 33150 317 195 25/0/12 411 412 2 25/11 25/12
Left the BetaDisk filename. The next column shows the file type. The next two
columns are only interesting when it's a CODE file. The Addr-column indicates
the loading address, the next one indicates the starting address, that is
when you own a BetaDisk V3 interface. When using BetaDisk+ it indicates the
length of the CODE files. CODE files cannot autoRUN on a BetaDisk+ as a
consequence.
The B/D NEG column doesn't contain very interesting information for the
average user. It was added to enable me to check the allocation algorithm.
The First Tk/Sd/Sc column shows on which physical track/side/sector a file
starts. Only interesting when you want to peek into a BetaDisk using Anadisk
(see ANADISK.DOC). BDDE has a similar function. The First Abs.S column shows
on which absolute sector a file starts (the very first sector is absolute
sector 0 and so on). The Last Abs.S column indicates what sector is the last
absolute sector which still belongs to the file. The #Sc column shows how
many sectors the file spans. Finally the First Tk/Sc and Last Tk/Sc columns.
This notation is used by TR-DOS itself. It indicates the first and last
logical track and sector of the file. Both tracks and sectors are starting
with 0. When you want to use the `od` command the track number is important.
Not everything seemed to go *THAT* well. We've got two warnings on our hands.
That is because BDDE found two erased files on our dump, which *CAN* be
extracted! If you want to see them just add the '-u' option to your command-
line:
bdde ls -l -u
The '&' indicates that the file has been erased (unless you put that '&'
there yourself).
If you do not use the '-l' option BDDE will only show you the names of the
files on disk. This can be very useful as we will show you later on.
BDDE V1.5c User Guide page 9 - (c) 1992,4 HanSoft & Partners
13. `df` and `di`
-----------------
These two commands provide you with information on the BetaDisk as a whole. I
added these commands to allow users to obtain every possible bit of informa-
tion without returning to the BetaDisk environment. Some information can't
even be obtained in this environment. Just type:
bdde df
And the following list will appear:
Volume label is: BDDE test
Password is:
160 kb, (640 sectors) total
99 kb, (397 sectors) in 16 files, 2 deleted
4 kb, (16 sectors) in directory
56 kb, (227 sectors) free
It will show you the name of the disk, its password (Sure, when you're using
BetaDisk V3 or below), and some other information on the disk usage. `di`
gives you quite another kind of information:
bdde di
PHYSICAL DISK INFORMATION LOGICAL DISK INFORMATION
------------------------- ------------------------
Format.... 40 tracks, single sided Media descriptor................ 19h
Heads.......................... 1 Total sectors................... 640
Cylinders...................... 40 Bytes per sector................ 256
Starting head.................. 0 First sector of directory....... 0
Starting cylinder.............. 0 Number of sectors on directory.. 16
Starting sector................ 1 Maximum number of dir. entries.. 128
Ending head.................... 0 First sector of data area....... 16
Ending cylinder................ 39
Ending sector.................. 16
Very technical indeed. When you don't know what to do with it, just forget it.
It's not very important when you're only interested in converting files. May
be you can do something with the Format-entry. It indicates the disk-type.
Yep, and it's correct!
14. Getting down to business: `cp`
----------------------------------
May be you think: well, that's all very nice but when do I get the hack my
files converted to my machine. Slow down, it's all there. Just use `cp`. Type:
bdde cp * .
BDDE V1.5c User Guide page 10 - (c) 1992,4 HanSoft & Partners
or (when you're using some kind of Unix):
bdde cp \* .
All BetaDisk files are now copied to the default directory. Do you want to use
another directory or drive?
bdde cp * c:\emul
The files will now be copied to the C:\EMUL directory. However, do *not* try
to read these files into any other emulator than the one from Gerton Lunter.
It won't work! Oh no, not another conversion.. You won't need one. If you're
converting files to your Atari St you only have to add an option like:
bdde cp -C2 * c:\emul
The same applies when you're using the SpecEm emulator, only then you have to
use the -C3 option.
When you add -C0 all the files will be copied, but without a header. The
emulators need these headers to see what file is coming. Files without a
header can be very useful when you want to convert them into something else,
e.g. Tasword II files to MS-DOS or Unix-files. Registered users get a small
utility to do just that, by the way. The option -C1 is default and makes files
for the emulator of Gerton Lunter. If you are using V2 of his fine emulator
you can also use the -C4 option which creates .TAP files. And I find them a
lot easier to handle!
By the way, if you are using SMARTDRV.EXE V4 (or another cache-program with
write-caching) this tip is for you! BDDE generates files very rapidly and
(especially when you are using a large write-cache) sometimes it may seem that
nothing is happening. Don't reset! You'll ruin all your work because resetting
throws away the contents of the write cache. Your computer is just VERY busy
writing all these files to disk. Just wait a minute so SMARTDRV can catch its
breath again. Of course you can disable the write-cache, but that isn't really
necessary.
15. Debug Level
---------------
A special feature of BDDE is the debug level. BDDE has 6 debug-levels.
Initially used by the author to see if this beautiful program worked as
intended, but now for your convenience:
5) Fatal, the program aborts. BDDE can't recover from an error like this.
Like there is no BetaDisk dump to read.
4) Warning level 1. There is probably something very wrong, but the program
can recover from the error. E.g. a wrong sector has been read (that's why
we need the sector-IDs). If you make debug-level 3 the standard level,
the program aborts also when it encounters a level 4 error. This is not
always necessary. Sometimes you can safely continue.
BDDE V1.5c User Guide page 11 - (c) 1992,4 HanSoft & Partners
3) Warning level 2. There is something of special interest going on. The
program can easily handle this kind of situation. E.g. an erased file is
skipped.
2) Information. The user just wants to know what is going on. E.g. a
BetaDisk file has been converted to a MS-DOS file.
16. `cp` continued
------------------
Now the story tends to get a little different for Atari-ST and MS-DOS users.
Most current users are MS-DOS users, so we'll tell them first how it's done.
We'll come back to you. Just skip everything until you see "*ATARI*" or
"*SPECEM*" in the text. The complete command line for the users of Gerton
Lunters emulator now reads:
bdde cp * .
The next messages will be shown on your screen (that is, if you haven't
forgotten to erase previously generated files):
MakeDir (3): Erased file '?eynsdoc' found: skipped
MakeDir (3): Erased file '?lide' found: skipped
RunLine (2): Program 'index' runs from line 10000
MakeCopy (2): BetaDisk file 'index' copied to '.\index.bas'
MakeCopy (2): BetaDisk file 'FRED' copied to '.\fred.cod'
RunLine (2): Program 'keynes' runs from line 200
MakeCopy (2): BetaDisk file 'keynes' copied to '.\keynes.bas'
RunLine (2): Program 'bt,ks&ei' runs from line 1
MakeCopy (2): BetaDisk file 'bt,ks&ei' copied to '.\btks&ei.bas'
RunLine (2): Program 'probe' runs from line 1
MakeCopy (2): BetaDisk file 'probe' copied to '.\probe.bas'
RunLine (2): Program 'musicflr' runs from line 1
MakeCopy (2): BetaDisk file 'musicflr' copied to '.\musicflr.bas'
MakeCopy (2): BetaDisk file 'musicode' copied to '.\musicode.cod'
RunLine (2): Program 'flagrec' runs from line 10
MakeCopy (2): BetaDisk file 'flagrec' copied to '.\flagrec.bas'
MakeCopy (2): BetaDisk file 'HanSoft' copied to '.\hansoft.cod'
MakeCopy (2): BetaDisk file 'C' copied to '.\c.cod'
MakeCopy (2): BetaDisk file 'I wish..' copied to '.\iwish.cod'
MakeCopy (2): BetaDisk file 'birthday' copied to '.\birthday.cod'
RunLine (2): Program 'slide' runs from line 1
MakeCopy (2): BetaDisk file 'slide' copied to '.\slide.bas'
GetAType (2): '<0>' (317 bytes) contains character array A (312 elem. in 2
dims.)
MakeCopy (2): BetaDisk file '<0>' copied to '.\0.chr'
Every error message is shown in this format. First of all the C-function that
generated the message, in this case MakeCopy() and RunLine(). Between paren-
thesis the error level (which indicates this message is just a bit of informa-
tion) and finally the message itself.
BDDE V1.5c User Guide page 12 - (c) 1992,4 HanSoft & Partners
Probably you won't get the RunLine() messages. That's alright, this is the
unregistered version and the function is just not there (conditional compila-
tion so don't try to hack it!). If you like it, you must register.
One thing is very obvious: BDDE filters out all characters that cannot be part
of a filename under DOS. Then the whole name is converted to lower case even
when you're working with the Unix-version. Lower-case filenames are also very
convenient when you're working with PC-NFS. If there are no characters in the
BetaDisk filename that are allowed under DOS, the name 'noname' is assigned to
this file.
In case there would be a conflict between two filenames, e.g. 'STRIPOKR' and
'stripokr' which are two perfectly different filenames to TR-DOS, BDDE will
still try to create two different filenames. If BDDE were a dumb program you
could never retrieve the first file, because it would be overwritten by
'stripokr'. However, BDDE takes notice of the file on disk and changes the
extension of 'stripokr'. If both are BASIC files the first one created would
be called 'stripokr.bas' and the second 'stripokr.ba0'. And it continues to do
so until 'stripokr.ba9' has been written. Then BDDE has got one other trick up
its sleeve. It starts to generate files from AA.AA0 to ZZ.ZZZ. That's about
36^5 files. Most users don't even have that many files on disk.. And after
that? Sorry..
Finally the extension indicates what kind of file has been extracted. The
extension '.cod' is assigned to CODE files, the extension '.bas' to BASIC
files and the extension '.nmb' or '.chr' to DATA files.
The old Spec has got to know a little more to read a file using the RS232
port. That's also true in the emulated version. That's why BDDE automatically
generates the necessary 9 byte header. The header tells the Spectrum what kind
of file is being read, how long it is and where it's got to be loaded. Well,
when reading BASIC and DATA files it ignores the starting address, but *not*
when reading CODE files! If you want to know more about the 9 byte header,
please register. It's all explained in the source.
If you are currently using version 2.x of Gertons Z80 emulator you can also
use .TAP file conversion. To activate it, just add the '-C4' option:
bdde cp -C4 * .
The next messages will be shown on your screen (that is, if you haven't
forgotten to erase previously generated files):
MakeDir (3): Erased file '?eynsdoc' found: skipped
MakeDir (3): Erased file '?lide' found: skipped
RunLine (2): Program 'index' runs from line 10000
MakeCopy (2): BetaDisk file 'index' copied to '.\index.tap'
MakeCopy (2): BetaDisk file 'FRED' copied to '.\fred.tap'
RunLine (2): Program 'keynes' runs from line 200
MakeCopy (2): BetaDisk file 'keynes' copied to '.\keynes.tap'
RunLine (2): Program 'bt,ks&ei' runs from line 1
MakeCopy (2): BetaDisk file 'bt,ks&ei' copied to '.\btks&ei.tap'
BDDE V1.5c User Guide page 13 - (c) 1992,4 HanSoft & Partners
RunLine (2): Program 'probe' runs from line 1
MakeCopy (2): BetaDisk file 'probe' copied to '.\probe.tap'
RunLine (2): Program 'musicflr' runs from line 1
MakeCopy (2): BetaDisk file 'musicflr' copied to '.\musicflr.tap'
MakeCopy (2): BetaDisk file 'musicode' copied to '.\musicode.tap'
RunLine (2): Program 'flagrec' runs from line 10
MakeCopy (2): BetaDisk file 'flagrec' copied to '.\flagrec.tap'
MakeCopy (2): BetaDisk file 'HanSoft' copied to '.\hansoft.tap'
MakeCopy (2): BetaDisk file 'C' copied to '.\c.tap'
MakeCopy (2): BetaDisk file 'I wish..' copied to '.\iwish.tap'
MakeCopy (2): BetaDisk file 'birthday' copied to '.\birthday.tap'
RunLine (2): Program 'slide' runs from line 1
MakeCopy (2): BetaDisk file 'slide' copied to '.\slide.tap'
GetAType (2): '<0>' (317 bytes) contains character array A (312 elem. in 2
dims.)
MakeCopy (2): BetaDisk file '<0>' copied to '.\0.tap'
Every error message is shown in this format. First of all the C-function that
generated the message, in this case MakeCopy() and RunLine(). Between paren-
thesis the error level (which indicates this message is just a bit of informa-
tion) and finally the message itself.
Probably you won't get the RunLine() messages. That's alright, this is the
unregistered version and the function is just not there (conditional compila-
tion so don't try to hack it!). If you like it, you must register.
One thing is very obvious: BDDE filters out all characters that cannot be part
of a filename under DOS. Then the whole name is converted to lower case even
when you're working with the Unix-version. Lower-case filenames are also very
convenient when you're working with PC-NFS. If there are no characters in the
BetaDisk filename that are allowed under DOS, the name 'noname' is assigned to
this file.
In case there would be a conflict between two filenames, e.g. 'STRIPOKR' and
'stripokr' which are two perfectly different filenames to TR-DOS, BDDE will
still try to create two different filenames. If BDDE were a dumb program you
could never retrieve the first file, because it would be overwritten by
'stripokr'. However, BDDE takes notice of the file on disk and changes the
first character of 'stripokr'. If both are BASIC files the first one created
would be called 'stripokr.tap' and the second '0tripokr.tap'. And it continues
to do so until '9tripokr.tap' has been written. Then BDDE has got one other
trick up its sleeve. It starts to generate files from AA.AA0 to ZZ.ZZZ. That's
about 36^5 files. Most users don't even have that many files on disk.. And
after that? Sorry..
The old Spec has got to know a little more to read a file using the
cassette-port. That's also true in the emulated version. That's why BDDE
automatically generates the necessary 17 byte header. The header tells the
Spectrum what kind of file is being read, how long it is and where it's got to
be loaded. Well, when loading BASIC and DATA files the starting address isn't
very important, but it is when loading CODE files! The filename is also
BDDE V1.5c User Guide page 14 - (c) 1992,4 HanSoft & Partners
included in the header. If you want to know more about the 17 byte header,
please register. It's all explained in the source.
YOU CAN'T USE THESE FILES ANYWAY IF YOU HAVEN'T REGISTERED. Some vital
information is missing in the files the unregistered version creates. Sorry..
I think I've spend enough time with you MS-DOS junkies. Just continue to
section 15. I'm now going to tell the Atari-ST users how it's done.
*ATARI* You found this section? Great, then we'll continue. The complete
command line for Atari-ST users reads:
bdde cp -C2 * .
The next messages will be shown on your screen (that is, if you haven't
forgotten to erase previously generated files):
MakeDir (3): Erased file '?eynsdoc' found: skipped
MakeDir (3): Erased file '?lide' found: skipped
RunLine (2): Program 'index' runs from line 10000
MakeCopy (2): BetaDisk file 'index' copied to '.\index'
MakeCopy (2): BetaDisk file 'FRED' copied to '.\fred'
RunLine (2): Program 'keynes' runs from line 200
MakeCopy (2): BetaDisk file 'keynes' copied to '.\keynes'
RunLine (2): Program 'bt,ks&ei' runs from line 1
MakeCopy (2): BetaDisk file 'bt,ks&ei' copied to '.\btks&ei'
RunLine (2): Program 'probe' runs from line 1
MakeCopy (2): BetaDisk file 'probe' copied to '.\probe'
RunLine (2): Program 'musicflr' runs from line 1
MakeCopy (2): BetaDisk file 'musicflr' copied to '.\musicflr'
MakeCopy (2): BetaDisk file 'musicode' copied to '.\musicode'
RunLine (2): Program 'flagrec' runs from line 10
MakeCopy (2): BetaDisk file 'flagrec' copied to '.\flagrec'
MakeCopy (2): BetaDisk file 'HanSoft' copied to '.\hansoft'
MakeCopy (2): BetaDisk file 'C' copied to '.\c'
MakeCopy (2): BetaDisk file 'I wish..' copied to '.\iwish'
MakeCopy (2): BetaDisk file 'birthday' copied to '.\birthday'
RunLine (2): Program 'slide' runs from line 1
MakeCopy (2): BetaDisk file 'slide' copied to '.\slide'
GetAType (2): '<0>' (317 bytes) contains character array A (312 elem. in 2
dims.)
MakeCopy (2): BetaDisk file '<0>' copied to '.\0'
Every error message is shown in this format. First of all the C-function that
generated the message, in this case MakeCopy() and RunLine(). Between paren-
thesis the error level (which indicates this message is just a bit of informa-
tion) and finally the message itself.
Probably you won't get the RunLine() messages. That's alright, this is the
unregistered version and the function is just not there (conditional compila-
tion so don't try to hack it!). If you like it, you must register.
BDDE V1.5c User Guide page 15 - (c) 1992,4 HanSoft & Partners
One thing is very obvious: BDDE filters out all characters that cannot be part
of a filename under DOS. Then the whole name is converted to lower case even
when you're working with the Unix-version. Lower-case filenames are also very
convenient when you're working with PC-NFS. If there are no characters in the
BetaDisk filename that are allowed under DOS, the name 'noname' is assigned to
this file.
In case there would be a conflict between two filenames, e.g. 'STRIPOKR' and
'stripokr' which are two perfectly different filenames to TR-DOS, BDDE will
still try to create two different filenames. If BDDE were a dumb program you
could never retrieve the first file, because it would be overwritten by
'stripokr'. However, BDDE takes notice of the file on disk and changes the
last character of 'stripokr'. If both are BASIC files the first one created
would be called 'stripokr' and the second 'stripok0'. And it continues to do
so until 'stripok9' has been written. Then BDDE has got one other trick up its
sleeve. It starts to generate files from AA.AA0 to ZZ.ZZZ. That's about 36^5
files. Most users don't even have that many files on disk.. And after that?
Sorry..
The old Spec has got to know a little more to read a file using the cassette-
port. That's also true in the emulated version. That's why BDDE automatically
generates the necessary 17 byte header. The header tells the Spectrum what
kind of file is being read, how long it is and where it's got to be loaded.
Well, when loading BASIC and DATA files the starting address isn't very
important, but it is when loading CODE files! The filename is also included in
the header. Christian Gandlers emulator insists that the physical filename
*and* the name in the header are identical. That's the only reason why BDDE
produces slightly different filenames for the Atari-ST. If you want to know
more about the 17 byte header, please register. It's all explained in the
source.
So I guess you're going to be quite busy now on this machine with no buttons
to click. In the meanwhile I got the time to explain the SpecEm fans a thing
or two. Please continue with section 15.
*SPECEM* You found this section? Great, then we'll continue. The complete
command line for SpecEm users reads:
bdde cp -C3 * .
The next messages will be shown on your screen (that is, if you haven't
forgotten to erase previously generated files):
MakeDir (3): Erased file '?eynsdoc' found: skipped
MakeDir (3): Erased file '?lide' found: skipped
RunLine (2): Program 'index' runs from line 10000
MakeCopy (2): BetaDisk file 'index' copied to '.\index___.__b'
MakeCopy (2): BetaDisk file 'FRED' copied to '.\fred____.__c'
RunLine (2): Program 'keynes' runs from line 200
MakeCopy (2): BetaDisk file 'keynes' copied to '.\keynes__.__b'
RunLine (2): Program 'bt,ks&ei' runs from line 1
MakeCopy (2): BetaDisk file 'bt,ks&ei' copied to '.\btks_ei_.__b'
BDDE V1.5c User Guide page 16 - (c) 1992,4 HanSoft & Partners
RunLine (2): Program 'probe' runs from line 1
MakeCopy (2): BetaDisk file 'probe' copied to '.\probe___.__b'
RunLine (2): Program 'musicflr' runs from line 1
MakeCopy (2): BetaDisk file 'musicflr' copied to '.\musicflr.__b'
MakeCopy (2): BetaDisk file 'musicode' copied to '.\musicode.__c'
RunLine (2): Program 'flagrec' runs from line 10
MakeCopy (2): BetaDisk file 'flagrec' copied to '.\flagrec_.__b'
MakeCopy (2): BetaDisk file 'HanSoft' copied to '.\hansoft_.__c'
MakeCopy (2): BetaDisk file 'C' copied to '.\c_______.__c'
MakeCopy (2): BetaDisk file 'I wish..' copied to '.\iwish___.__c'
MakeCopy (2): BetaDisk file 'birthday' copied to '.\birthday.__c'
RunLine (2): Program 'slide' runs from line 1
MakeCopy (2): BetaDisk file 'slide' copied to '.\slide___.__b'
GetAType (2): '<0>' (317 bytes) contains character array A (312 elem. in 2
dims.)
MakeCopy (2): BetaDisk file '<0>' copied to '.\0_______.__r'
Every error message is shown in this format. First of all the C-function that
generated the message, in this case MakeCopy() and RunLine(). Between paren-
thesis the error level (which indicates this message is just a bit of informa-
tion) and finally the message itself.
Probably you won't get the RunLine() messages. That's alright, this is the
unregistered version and the function is just not there (conditional compila-
tion so don't try to hack it!). If you like it, you must register.
One thing is very obvious: BDDE filters out all characters that cannot be part
of a filename under DOS. Then the whole name is converted to lower case even
when you're working with the Unix-version. Lower-case filenames are also very
convenient when you're working with PC-NFS. If there are no characters in the
BetaDisk filename that are allowed under DOS, the name 'noname' is assigned to
this file.
In case there would be a conflict between two filenames, e.g. 'STRIPOKR' and
'stripokr' which are two perfectly different filenames to TR-DOS, BDDE will
still try to create two different filenames. If BDDE were a dumb program you
could never retrieve the first file, because it would be overwritten by
'stripokr'. However, BDDE takes notice of the file on disk and changes the
first character of 'stripokr'. If both are BASIC files the first one created
would be called 'stripokr.__b' and the second '0tripokr.__b'. And it continues
to do so until '9tripokr.__b' has been written. Then BDDE has got one other
trick up its sleeve. It starts to generate files from AA.AA0 to ZZ.ZZZ. That's
about 36^5 files. Most users don't even have that many files on disk.. And
after that? Sorry..
The old Spec has got to know a little more to read a file using the cassette-
port. That's also true in the emulated version. That's why BDDE automatically
generates the necessary 17 byte header. The header tells the Spectrum what
kind of file is being read, how long it is and where it's got to be loaded.
Well, when loading BASIC and DATA files the starting address isn't very
important, but it is when loading CODE files! The filename is also included in
the header. Kevin Phairs emulator insists that the physical filename *and* the
BDDE V1.5c User Guide page 17 - (c) 1992,4 HanSoft & Partners
name in the header are identical. That's the only reason why BDDE produces
slightly different filenames for the SpecEm. If you want to know more about
the 17 byte header, please register. It's all explained in the source.
17. Conditional extraction
--------------------------
But may be you don't want to extract all the files, but only the files that
make up the 'musicfiler' program. You can do that with this version of BDDE!
Just type:
bdde cp musicflr musicode .
Don't forget the '-Cx' option if you need it! BDDE will now only extract these
two files. You may specify as many files as your Operating System allows, but
please remember that only the original BetaDisk filenames are recognized.
Issuing:
bdde cp musicflr.bas musicode.cod .
will *NOT* work. Sorry, no wildcards, so
bdde cp music* .
won't work either. There's got to be something left to wish for.. If the
filename contains characters that have a special meaning to your Operating
System like spaces or tabs, you'll have to enclose them by quotes, like:
bdde cp "bt,ks&ei" "I wish.." .
You can also extract erased files. E.g. if you want to extract the 'keynes'
program together with its documentation, you have to use this command:
bdde cp -u keynes "&eynsdoc" .
The '-u' means you want BDDE to salvage erased files, like 'keynsdoc'. Since
the BetaDisk discards the first character of an erased files, BDDE substitutes
it with an ampersand. By the way, all this works with 'ls' as well.
18. Using listfiles
-------------------
However, if you want to extract some multi-file games, the list can become
very long. So BDDE has another trick up its sleeve to make your life easier.
It is only available to *registered* users.
It works quite simple. Just issue this command:
bdde ls > filelist.txt
The file 'filelist.txt' will now contain this information:
BDDE V1.5c User Guide page 18 - (c) 1992,4 HanSoft & Partners
index
FRED
keynes
bt,ks&ei
probe
musicflr
musicode
flagrec
HanSoft
C
I wish..
birthday
slide
<0>
Now fire up your favorite editor and edit the file. Just delete the files you
do *NOT* want to extract, e.g. let's say we only want the index-program
(including its data) and the 'musicfiler' program:
index
FRED
musicflr
musicode
<0>
You can now extract these files by issuing this command:
bdde cp @filelist.txt .
That's it! Easy as pie, ain't it?
19. The interleave
------------------
This is a difficult subject and most users don't want to know about it and
some don't have to know about it. Most registered users *never* have to do
with the interleave, because BDDE is smart enough to sort it all out by
itself. However, it needs a little help. Anadisk is a very nice program and
highly recommended. If you dump your disks using this program and include
sector-IDs in the proces you can forget all about interleaves. ADU can sort
out the interleave as well, but BDDE can neither check nor correct the
interleave.
The interleave has to do with the way a disk is organized. Let's say you're
working in some pizza parlor. The pizza is already cut in 8 slices and you
have to put the slices in a box. Since this pizza parlor is highly automatized
the pizza is lying on a turning table. However, there is a catch. Every slice
is numbered and you'll have to put the slices in the box in the right order.
So you wait until slice 1 appears. You pick it up and put it in the box as
fast as you can. When you have turned back you see that you missed slices 2
and 3 and are facing slice 4. So you have to wait almost a full turn until you
can pick up slice 2 again. That slows you down, doesn't it?
BDDE V1.5c User Guide page 19 - (c) 1992,4 HanSoft & Partners
To prevent this you have to put slice 2 at position 4. So when you're ready to
pick up a slice again, it's there! Of course you'll have to put slice 3 at
position 7. And slice 4 at position 2. And so on.
Effectively, you've created an interleave of 3:1, while starting off with an
interleave of 1:1. And that's the way *all* disks are organized, whether
floppy or hard-disk. And just like you when packaging pizzas, they have an
interleave that gives the highest performance. Well, that's all the explana-
tion you boys are going to get. Now it's time for the Real Men.
BDDE supports all interleaves from 1:1 up to 8:1. I haven't got the faintest
idea whether they are necessary or not. But if you need them, they're there.
BDDE expects an interleave of 1:1 in accordance with most disk-analysers.
However, when you dump a disk with sector-IDs and BDDE reads a sector with a
wrong ID, it will try to find out what the corresponding interleave is. If it
is successful it will switch to that interleave and continue without a glitch.
Of course it is possible that BDDE switches the interleave more often, but
only in rare cases of data-corruption.
When the going gets tough, the -i option gets going. Just add an interleave to
-i, e.g. -i3. After that the interleave is fixed and BDDE won't try to change
it again. Use with care! To determine the right interleave you'll have to
follow this procedure:
First, try this command:
bdde di
If it produces something like this:
MountDisk (4): File 'bdde.dmp' probably not a BetaDisk; media descriptor: 00h
PHYSICAL DISK INFORMATION LOGICAL DISK INFORMATION
------------------------- ------------------------
Format.... Unknown Media descriptor................ 0h
Heads.......................... 2 Total sectors................... 2560
Cylinders...................... 80 Bytes per sector................ 256
Starting head.................. 0 First sector of directory....... 0
Starting cylinder.............. 0 Number of sectors on directory.. 16
Starting sector................ 1 Maximum number of dir. entries.. 128
Ending head.................... 1 First sector of data area....... 16
Ending cylinder................ 79
Ending sector.................. 16
then your disk-analyser probably did not sort out the interleave properly.
Now try:
bdde di -i2
It should produce something like this:
BDDE V1.5c User Guide page 20 - (c) 1992,4 HanSoft & Partners
PHYSICAL DISK INFORMATION LOGICAL DISK INFORMATION
------------------------- ------------------------
Format.... 40 tracks, single sided Media descriptor................ 19h
Heads.......................... 1 Total sectors................... 640
Cylinders...................... 40 Bytes per sector................ 256
Starting head.................. 0 First sector of directory....... 0
Starting cylinder.............. 0 Number of sectors on directory.. 16
Starting sector................ 1 Maximum number of dir. entries.. 128
Ending head.................... 0 First sector of data area....... 16
Ending cylinder................ 39
Ending sector.................. 16
If it still fails to produce a report like this try:
bdde di -i3
One of these should work in most cases. I've seen quite some BetaDisks, but
none ever had an interleave of 4:1 or up. But you're welcome to try them. But
we're not ready yet! Sometimes it just looks like BDDE has detected the right
interleave, but the detection mechanism is not fail-safe. It is quite possi-
ble that e.g. '-i1' and '-i3' produce the same results. So extract a non-
trivial BASIC-file (size 4 kB or up), e.g.
bdde cp -i1 keynes .
and read it into your Spectrum emulator. Now list it by issuing:
LIST
to your (emulated) Spectrum. If the listing looks fine, you've got the right
interleave. If it doesn't, try the other one. Repeat the procedure for all
possible interleaves until you got the right one. Then you can handle your
dump as easily as the one we provided you with. But you *HAVE* to issue the
corrsponding '-ix' option with every command. Or just add it to your BDDE
configuration. In the next section we'll explain you how to do just that.
20. Initializing BDDE
---------------------
You can initialize BDDE in various ways. If you think the only thing that is
coming is the BDDEINIT variable you're wrong. BDDE will collect its settings
from various sources. First of all there is the initialization-file. If
you're working with Unix, it's called '.bdderc' and ought to be placed in
your $HOME-directory. If you're working with MS-DOS it's called BDDE.INI and
is placed in the same directory where BDDE.COM is. If you do not want to
place it there, you can place it somewhere else. Just add this line to your
AUTOEXEC.BAT:
set BDDE=<directory>
e.g.
BDDE V1.5c User Guide page 21 - (c) 1992,4 HanSoft & Partners
set BDDE=d:\spec
Or if you're working with Unix, add a line like this to your .profile:
BDDE=/users/habe/data; export BDDE
What does such an ini-file look like? Well, just like the commandline.
However, all the arguments have their own line. BDDE can not generate such a
file on its own. You have to create it with an ASII-editor like `vi`, EDLIN,
etc. This is an example of an ini-file:
-Fc:\spec\bdde.dmp
-M0
-i3
-C4
-S
When BDDE is started it will look for this file first. If it isn't there it
will continue without an error, since you don't have to have an ini-file.
Then it will look for an environment variable called BDDEINIT. The format for
BDDEINIT is a little different. You issue the arguments just like on the
commandline. If you're working with MS-DOS, you set BDDEINIT like this:
set BDDEINIT=-Fc:\spec\bdde.dmp -M0 -i3 -C4 -S
If you're working with Unix use this command:
BDDEINIT="-F/home/habe/bdde.dmp -M0 -i3 -C4 -S"
export BDDEINIT;
And, just like we said before, BDDEINIT is interpreted *after* the ini-file.
Then the command-options are interpreted. However, you can also add an ini-
file on the commandline. Its format is exactly the same as BDDE.INI or
'.bdderc'. Just use the '-Ix' option:
bdde ls -l -Ialien.ini
This way you can keep the options needed for a certain task neatly in an ini-
file so you don't have to find it all out again or issue all the options at
the commandline. You don't have to erase ini-files or environment-variables,
since BDDE will only use the last value entered and cancel out all previous
entered values. E.g. if your ini-file contains:
-Fc:\spec\bdde.dmp
-M0
-i3
-C4
and you issue this command:
bdde cp -Fd:\temp\games1.dmp -M1 -i1 -C3 * .
BDDE V1.5c User Guide page 22 - (c) 1992,4 HanSoft & Partners
BDDE wil still use file D:\TEMP\GAMES1.DMP, treat it like an Anadisk-dump
with interleave 1:1 and produce files for the SpecEm emulator.
21. Other options
-----------------
-s When a different number of sectors has been allocated to a file then
necessary (e.g. 2 sectors of 256 bytes have been allocated to a file of
256 bytes) this option comes in. It disregards the length of the file and
forces BDDE to use the number-of-sectors entry. Use only when BDDE fails
to produce a usable file.
-dx When a DATA file is saved the BetaDisk doesn't seem to be store any
information about the variable-name. Since it's vital to store some value
in the header BDDE picks a variable-name, starting with 'A'. Then you
want to use another character to start with use this option, e.g. -dd,
which starts off with 'D'. After assigning a character to a DATA file
this value is incremented, so the next DATA file would get 'E' assigned
to it. However, the Spectrum doesn't seem to care to which variable it
was originally assigned as long as the type and size are correct. Use
only when the Spectrum fails to read the DATA file.
-f This option fixes a variable-name. Usually used in combination with
option -dx, e.g. `bdde cp -dh -f ...`. This will assign variable 'H' to
every DATA file on the dump.
-# The BetaDisk doesn't just discard the variable-name of DATA files, it
even doesn't store what kind of file has been saved! This information is
even more vital to the Spectrum. BDDE uses a smart algorithm to find out
what kind of DATA file has been saved. It works excellent when using
undamaged DATA files with no more than 127 dimensions. However, when for
some reason this algorithm doesn't work you can force numeric arrays by
using this option. Be careful: *ALL* arrays will be saved as numeric
arrays when using this option.
-$ The same as above. Forces string arrays.
22. Just another `od`..
-----------------------
Let's say you issue a simple `ls` and all you get is a lot of error-messages.
So you want to see what the heck is wrong with track 0. Or you want to see
what is on the Tasword II file on track 4 before copying it to disk. A simple
file-viewer won't get you very far since Anadisk added sector-ID's. And when
you're using an older version of Anadisk even the sectors may not be in the
correct order. In these cases `od` will save you without resorting to your
old BetaDisk. Let's see what's on track 0:
bdde od
`od` will generate this output:
BDDE V1.5c User Guide page 23 - (c) 1992,4 HanSoft & Partners
Track 0 (00h), sector 0 (00h)
0 (00h) 63 6f 70 79 - 20 20 20 20 - 42 28 01 20 - 01 02 00 01
16 (10h) 62 61 63 6b - 75 70 20 20 - 42 2c 01 24 - 01 02 02 01
32 (20h) 73 63 6f 70 - 79 20 20 20 - 43 00 80 00 - 80 0d 04 01
48 (30h) 66 6f 72 6d - 61 74 20 20 - 43 00 a0 00 - a0 0a 01 02
64 (40h) 66 6f 72 6d - 61 74 2a 20 - 43 00 a0 00 - a0 0a 0b 02
80 (50h) 73 63 6f 70 - 79 20 20 20 - 42 2a 01 22 - 01 02 05 03
96 (60h) 62 61 63 6b - 75 70 20 20 - 43 00 80 00 - 80 08 07 03
112 (70h) 63 6f 70 79 - 20 20 20 20 - 43 00 80 00 - 80 0e 0f 03
128 (80h) 00 6f 70 79 - 20 20 20 20 - 43 00 80 00 - 80 00 0d 04
144 (90h) 00 6f 70 79 - 20 20 20 20 - 43 00 80 00 - 80 00 0d 04
160 (A0h) 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00
176 (B0h) 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00
192 (C0h) 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00
208 (D0h) 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00
224 (E0h) 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00
240 (F0h) 00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00
Track 0 (00h), sector 1 (01h)
....
Sorry I didn't include al 16 screens.. It may not be very helpful either.
That's why BDDE has its '-c' option (just like good old Unix). It shows the
same information, but in ASCII.
Track 0 (00h), sector 0 (00h)
0 (00h) copy B(. ....backup B,.$....scopy C.......format C.......
64 (40h) format* C.......scopy B*."....backup C.......copy C.......
128 (80h) .opy C........opy C.......................................
192 (C0h) ................................................................
Track 0 (00h), sector 1 (01h)
....
If there are any hackers reading: you know what to do with this kind of stuff,
don't you? If you don't have any use for it just forget it. When using the
ASCII-display every non-printable character is shown as a dot. If you really
need to distinguish between dots and non-printable characters use the hexadec-
imal display.
Finally, you can select any track on the BetaDisk (dump). Just use the '-tx'
option. Replace the 'x' with any valid logical track number, e.g. to dump the
fifth track issue this command:
bdde od -t4
BDDE V1.5c User Guide page 24 - (c) 1992,4 HanSoft & Partners
If you select a track beyond the disk an error message is displayed.
23. SmartSeek
-------------
BDDE has two ways to access a track. The first is sequential, so first of all
track 0 is read, then track 1 and so on. When using `od` you could be in for a
long wait. Let's say you want to dump track 150. If BDDE would access this
track sequential 150 tracks of 4 kB would have to be read. And if you don't
register, that's what you're in for..
So register! Because the registered version has the SmartSeek option and
dumping track 150 is just as fast as dumping track 0. It's also very handy
when you haven't MOVEd your disk for some time and a lot of deleted files have
to be skipped. Yes, of course when your old Spec is still working you can
*still* MOVE it..
It can even jump back a few tracks when necessary but the chance of finding
yourself in that kind of situation is very remote. Usually all files are
sorted in order of allocation. BDDEs `ls` doesn't sort anything..
When SmartSeek is active the dump is really acting like it's a disk. BDDE can
randomly access any 'track'. However, when you never issue an `od` or use 'cp'
conditionally you won't need SmartSeek very often. SmartSeek is activated when
you use the '-S' option. It actually works on every command, but since `ls`,
`df` and `di` only access track 0 you won't experience any dramatic increases
in performance when issuing these commands. An example of a sensible use of
SmartSeek:
bdde od -t150 -S
But I've done enough advertising for one day. Let's continue to the final
level in this great adventure named the 'Quest for the Lost Spectrum'. Reading
the files in the emulators..
24. I love it when a plan comes together..
------------------------------------------
Actually I'm doing somebody elses job down here. It should all be in the
manuals of the Spectrum Emulator, but when you hate to switch manuals as much
as I do continue reading.
Just a little tip before you get too enthusiastic and try to load in a
multiple file program or something like that. Start off with something very
easy, like a BASIC program. Be aware that BASIC programs which contain
machine-code (e.g. in a REM statement) might *not* work! Because the memory
layout of every emulator is different from that of a standard BetaDisk machine
addresses may have been moved and this could easily "crash" the emulated
Spectrum. However, registered users receive a small program that tries to
emulate this layout while preserving all functionality so you don't have to
hack a lot to get these programs up and running..
BDDE V1.5c User Guide page 25 - (c) 1992,4 HanSoft & Partners
Sorry folks, I have to split you up again! First of all Gerton Lunters
Spectrum Emulator for MS-DOS:
If you want to read a file into this emulator there are two possible angles
you can take. First of all, you can assign the file to the RS232 port using a
command-line option:
Z80 -u[SpecFile]
Of course [SpecFile] is a '.bas', 'chr' or '.nmb' file generated by BDDE.
Another way is to enter the Emulator, press <F10> and choose <I>nput RS232.
Then you can select your file using <D>isk. Leave the menu by pressing <ESC>
and issue an RS232 command in Sinclair BASIC:
LOAD *"b" to read a BASIC program
LOAD *"b" CODE <address> to read a CODE program
LOAD *"b" DATA [var]<$>() to read a DATA file
E.g.:
LOAD *"b" CODE 25000
LOAD *"b" DATA i$()
LOAD *"b" DATA i()
The border will flash for a while and hurray! There it is! You can now
continue with section 20 unless you are using a *registered* copy of BDDE and
a copy of Gerton Lunters Z80 emulator V2.x.
If you want to read a file into this version of the emulator there are two
possible angles you can take. First, if you use multiple .TAP file mode let
BDDE write its files to your multiple .TAP file directory and start your
emulator like this:
Z80 -td [directory_multiple_tap]
That is if you haven't added that option (yet) to your Z80.INI. You can also
string .TAP files together and thus create a file you can use in single .TAP
file mode.
To read a file, just issue any valid Sinclair BASIC tape-command:
LOAD "<name>" to read a BASIC program
LOAD "<name>" CODE <address> to read a CODE program
LOAD "<name>" DATA [var]<$>() to read a DATA file
E.g.:
LOAD "format" CODE 25000
LOAD ""
LOAD "backup"
LOAD "mfiler" DATA i$()
LOAD "smo" DATA i()
BDDE V1.5c User Guide page 26 - (c) 1992,4 HanSoft & Partners
There it is! It was worth the wait, wasn't it? Now continue with section 20.
*ATARI* It seems that Christian Gandler doesn't like to write long manuals.
But it is very easy anyway. The file INHALT.INF contains all information about
the Spectrum tape-files in the directory. BDDE does *not* create this file,
since the emulator creates it anyway when you issue a LOAD statement. This may
take a while (I wouldn't know since I don't have an Atari-ST), especially when
you put a full 640 kB BDDE-floppy in your drive. Don't write-protect the disk!
It is very hard for any program to write a file to disk when you have enabled
write-protection..
To read a file, just issue any valid Sinclair BASIC tape-command:
LOAD "<name>" to read a BASIC program
LOAD "<name>" CODE <address> to read a CODE program
LOAD "<name>" DATA [var]<$>() to read a DATA file
E.g.:
LOAD "format" CODE 25000
LOAD ""
LOAD "backup"
LOAD "mfiler" DATA i$()
LOAD "smo" DATA i()
A window will appear when you issue a null name (e.g. LOAD ""). At the bottom
of the window you can select a directory. Other useful keys are:
<Up> and <Down> Select a file
<Return> Confirms your choice
<F1> Reread INHALT.INF
<F2> Regenerate INHALT.INF
<ESC> "Tape loading error"
The name you'll have to use is exactly the same as your filename, e.g. when
the Atari filename is "termina0", you'll have to load it into the emulator by
issuing:
LOAD "termina0"
There it is! Now you can continue and read section 20 while I tribute the
famous last words of this section to all SpecEm users..
*SPECEM* To read a file, just issue any valid Sinclair BASIC tape-command.
Just be sure that the files that you want to read in are in the same directory
as your SpecEm emulator:
LOAD "<name>" to read a BASIC program
LOAD "<name>" CODE <address> to read a CODE program
LOAD "<name>" DATA [var]<$>() to read a DATA file
BDDE V1.5c User Guide page 27 - (c) 1992,4 HanSoft & Partners
E.g.:
LOAD "format" CODE 25000
LOAD "backup"
LOAD "mfiler" DATA i$()
LOAD "smo" DATA i()
The name you'll have to use depends on your filename. Just ignore the exten-
sion and trailing underscores, e.g. when the MS-DOS filename is
"0ape_rd_.__b", you'll have to load it into the emulator by issuing:
LOAD "0ape_rd"
25. Piping and redirecting
--------------------------
I think you MS-DOS junkies have found out by now that I like to use another
Operating System. Right. It's Unix. Unfriendly, chaotic, but awesome (believe
me). If you compare the script language of `ksh` or `csh` to the batch-
language of MS-DOS it looks like the latter has been designed a very drunk
COBOL-programmer. Every Unix command has a very small but clearly defined
task. The only way you can get a Unix-box to work is by putting these commands
together by pipes, redirections, environment variables, etc. And you can tune
the operation of these commands by using options.
This philosophy has effected BDDE. There is no paging option, no printing
option, or any option that every MS-DOS programmer usually includes in his
program. But you can do all this with standard MS-DOS or Unix tools:
Print `ls` output:
bdde ls -l > prn
bdde ls -l | lp (Unix)
Show `ls` output per page:
bdde ls -l | more
bdde ls -l | pg (Unix)
Remove headers from `od` output:
bdde od -c | find h) | find /v sector
bdde od -c | grep h\) | grep -v sector (Unix)
Print 'od' output without headers:
bdde od -c | find h) | find /v sector > prn
bdde od -c | grep h\) | grep -v sector | pr | lp (Unix)
Most MS-DOS users never utilize redirection and piping. That is a shame,
because it is *very* powerful and has a great potential. Many examples in this
documentation have been generated by redirecting the output of BDDE, e.g.:
BDDE V1.5c User Guide page 28 - (c) 1992,4 HanSoft & Partners
bdde ls -l > bdde.txt
Of course, there a very few tools available when you use standard MS-DOS, and
there are even fewer programmers that support this feature, although it is
very easy (when you program in C) and even portable! Standard MS-DOS provides
only `sort`, `more` and `find`, which are in fact (less capable) equivalents
of the Unix commands `sort`, `more` and `grep`. But even then you can do quite
a lot..
26. Mum, it doesn't work!
-------------------------
We really tried to test every possible BetaDisk we could lay our hands on,
verify our documentation using different sources, etc. We even use the program
ourselves and we never ran into trouble. However, every program has bugs and
so has BDDE. Otherwise we would never find or fix any and we do. So you might
experience problems. Read very carefully, I only write this once:
WE CANNOT PAY ANY DAMAGES, LARGE OR SMALL. SO NEITHER THE AUTHOR NOR ANY
DISTRIBUTOR SHALL BE LIABLE FOR ANY DIRECT, INDIRECT, CONSEQUENTIAL OR
INCIDENTAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THIS PRODUCT OR
BUNDLED UTILITY-PROGRAMS, INCLUDING ANY DAMAGES RESULTING FROM ERRORS IN
WRITTEN MATERIALS OR DOCUMENTATION. USE AT YOUR OWN RISK!!
But we'll give you support and a nice smile when you stop by for a beer. We'll
give the best support to registered users, but comments from unregistered
users are welcome too. If you have any ideas for enhancement or help me to
port this program to other Operating Systems or environments, please contact
me. This includes adding support for more Spectrum Emulators (I never realized
how many there are!). Of course, we only support BDDE.
But what do you have to do when BDDE *really* doesn't work? It would be very
nice if you send me your copy of BDDE and the dump that BDDE failed to
convert. Then we can try to reproduce your problem. But if you try to convert
your dairy in Tasword II and do not want so send me such personal or sensitive
material please send me a diskette with your copy of BDDE and a debug listing.
You can make a debug listing with this command:
bdde [command] <options> -D0 [filespec] [directory] > [filename]
But you should be able to think of that yourself after our nice piping-and-
redirecting tutorial ;-).
27. (Error)messages
-------------------
BDDE can generate following messages. Usually only errors of debug-level 2 and
higher will be reported, unless you specify another debug-level using the
'-Dx' option.
FillBuf (5): Unexpected end of 'dumpfile'
FillBuf (5): Unknown error reading file 'dumpfile'
BDDE V1.5c User Guide page 29 - (c) 1992,4 HanSoft & Partners
BDDE detected an End-Of-File while reading a dumpfile. You may have
forgotten to dump the whole disk or specified the wrong mediatype with
the '-Mx' option. Can also be caused by data-corruption in track 0.
GetTrk (4): Wrong track read: expected track x, got track y
CheckHeader (4): Invalid sector header: Fys. track (xxh)/Log. track (xxh)
CheckHeader (4): Invalid sector header: Fys. track (xxh)/Calc. track (xxh)
CheckHeader (4): Invalid sector header: Fys. side (xxh)/Calc. side (xxh)
CheckHeader (4): Invalid sector header: Fys. sector (xxh)/Calc. sector (xxh)
GetILeave (4): Invalid sector header: Fys. sector (xxh)/Calc. sector (xxh)
When you're using Anadisk and included sector-ID's BDDE incessantly
checks which track/side/sector has been read. This error might be caused
by inconsistency within the sector-ID itself. It might also be that the
sector read wasn't the sector BDDE expected. Maybe the wrong file was
read (e.g. COMMAND.COM). May be you didn't follow the instructions
concerning Anadisk, specified the wrong mediatype or only dumped one side
of a double-sided BetaDisk. May be you didn't compensate the interleave
with the unregistered version of BDDE.
SeekTrk (4): Random access failed on track x of file 'dumpfile'
SeekTrk (4): Sequential access failed on track x of file 'dumpfile'
The first message indicates that SmartSeek failed. It should never occur.
The second message indicates that a track before the current track was
requested. This message should never occur when using a clean dump-file.
It may indicate a rare case of data-corruption in the BetaDisk directory.
MountDisk (5): Unable to mount file 'dumpfile'
Mapping a physical disk to a directory is called 'mounting' in Unix. If
BDDE fails to find the dumpfile this message will be issued. Usually due
to typing errors.
MountDisk (4): Unable to assign buffer to file 'dumpfile'
CopyFile (4): Unable to assign buffer to file 'DOSfile'
Unregistered users never get these messages since they use standard
buffers. The registered version of BDDE has two fairly large buffers. The
dump-file buffer is exactly the size of a physical track (including
sector-IDs when necessairy). The file-buffer is larger, more than 10 kB
so even the largest files can be written to disk in only three write-
actions. If a buffer cannot be assigned to a file, this message is
display. Actually, it is rather hypothetical since the buffers are not
allocated on the heap.
MountDisk (4): File 'dumpfile' probably not a BetaDisk; media descriptor: xxh
BDDE warns you that this dumpfile does not look like a BetaDisk. A valid
BetaDisk has an indication of its file-format, called a media descriptor.
However, the value of this media descriptor is out of range. This always
indicates data corruption on track 0.
BDDE V1.5c User Guide page 30 - (c) 1992,4 HanSoft & Partners
GetAType (4): Too many dimensions: file 'DOSfile' written as CODE
GetAType (4): Too many elements: file 'DOSfile' written as CODE
GetAType (4): Corrupt data: file 'DOSfile' written as CODE
GetAType (4): Unknown type: file 'DOSfile' written as CODE
These messages are shown when there is something wrong with a DATA file
and you didn't use the '-#' or '-$' options. The first message indicates
that there are more than 127 dimensions and that is beyond the specifica-
tions of the detection algorithm. When the second message occurs there is
really something wrong. The algorithm detected more than 65536 elements
and that's more than 64 kB. The third message is displayed when a
checksum error is detected. The last message is shown when an entirely
new data-type has been found. Most of the time these last three messages
indicate data-corruption. The file will still be written, but with a CODE
header.
GetAType (2): 'Betafile' (xx bytes) contains numeric array A (x elem. in y
dims.)
GetAType (2): 'Betafile' (xx bytes) contains string array A (x elem. in y
dims.)
GetAType (2): 'Betafile' (xx bytes) contains invalid array A (x elem. in y
dims.)
The first two messages indicate that the detection algorithm performed
perfectly. The last message will occur only when other DATA file errors
have been displayed. It might be helpful in finding the cause of the
error.
PatchName (3): Rename file 'XX.XXX' to 'DOSfile'
BDDE will try to synchronize the names in the tape-headers with the
filenames of a specific emulator. However, once BDDE starts using random
filenames it actually loses control. You are warned that this file can't
be read into your emulator without renaming it first. Will only be shown
when using a tape-header conversion like SpecEm.
WriteBlock (4): Unknown error writing RS232 header to file 'DOSfile'
WriteBlock (4): Unknown error writing tape header to file 'DOSfile'
WriteBlock (4): Unknown error writing checksum to file 'DOSfile'
WriteBlock (4): Unknown error writing data to file 'DOSfile'
An error occurred while BDDE tried to write data to a DOS file. Most of
the time these messages do not come alone. May be your disk is full or
write-protected.
CopyFile (4): Unable to open file 'DOSfile'
BDDE is unable to create a DOS file. May be you specified an invalid
target-directory. May be there are already too many files in the root-
directory.
CopyFile (4): Error closing file 'DOSfile'
BDDE V1.5c User Guide page 31 - (c) 1992,4 HanSoft & Partners
BDDE was unable to close the DOS file correctly. May be you removed the
floppy or your disk is full. This message may be accompanied by other
write-errors.
RunLine (2): Program 'Betafile' runs from line xxxx
RunLine (3): Unable to determine autoRUN linenumber of program 'Betafile'
The method BDDE uses to determine the autoRUN linenumber works with 99.9%
of all programs. In that case the first message is printed, the BetaDisk
filename and the linenumber itself. When the method fails the second
message is shown.
MakeEntry (3): BetaDisk file 'Betafile' may be an unconvertible snapshot
BDDE warns you that it has found a CODE file with a length of 192
sectors. This is an strong indication for a BetaDisk+ snapshot. BDDE can
convert it, but you might be unable to use it. If anyone has some
technical information concerning snapshots, write us! If we can use it
you get a registered copy of BDDE for free!
MakeEntry (4): Unknown type 'X' in file 'Betafile'; CODE assumed
BDDE found another file-type than BASIC, CODE or DATA. So it was written
to disk as a CODE file. Might be data-corruption or a BetaDisk+ disk.
CheckLength (4): File 'Betafile' needs xx sectors but allocates yy
The BetaDisk file has allocated another number of sectors than its
filesize indicates. If you're unable to load the file correctly try the
'-s' option.
CheckLength (3): Filesize adjusted: 'Betafile' now xxx bytes long
BDDE warns you, that the previous error has occurred and is corrected by
the '-s' option.
MakeDir (3): Erased file '?etafile' found: skipped
BDDE warns it found an erased file. Since the '-u' option is not speci-
fied, the file will be skipped.
MakeDir (4): BetaDisk reported more files than BDDE found (xx vs. xx)
MakeDir (4): BetaDisk reported less files than BDDE found (xx vs. xx)
BDDE found more or less files than specified by the BetaDisk. Could be
data-corruption. However, BDDE will still copy all the files it has
found.
MakeCopy (3): BetaDisk file 'Betafile' skipped
BDDE V1.5c User Guide page 32 - (c) 1992,4 HanSoft & Partners
BDDE warns that the BetaDisk file could not be copied and is skipped. It
will continue with the next file. Will always be accompanied by other
open- and/or write errors on the equivalent DOS-file.
MakeCopy (2): BetaDisk file 'Betafile' copied to 'DOSfile'
BDDE informs you that it successfully copied a BetaDisk file to its DOS
file equivalent.
MakeDump (5): Track xx does not exist; disk has only xx tracks
The requested track is not present on the BetaDisk since the poor thing
has only xx tracks. A double-sided 80 tracks disk has 160 logical tracks
numbered from 0 to 159. A single-sided 40 tracks disk has 40 logical
tracks numbered 0 to 39. All other disks have 80 tracks (0-79). When
using the '-t' option please specify a valid track number. Possibly data
corruption.
MakeDump (5): Disk access failed on track xx of file 'dumpfile'
Will always be accompanied by seek-errors. See SeekTrk() errors.
GetListFile (5): List-file 'ListFile' not found
BDDE checks whether an list-file is there before it tries to open it.
This is always caused by typing errors at the '@' character. Unregistered
users cannot get this message.
GetListFile (5): Error reading list-file 'ListFile'
This might be caused by a physical disk error or not enough memory. If it
is a physical disk error you cannot access it with other utilities (e.g.
copying it). Otherwise you might have consumed too much memory using
init-files.
GetOpts (3): Illegal option '-X' ignored
You specified an option that is not supported by BDDE. Often the '-S'
option that is not supported in the unregistered version. BDDE will
ignore the option and continue.
GetIniOptions (4): Init-file 'InitFile' not found
BDDE checks whether an init-file is there before it tries to open it.
This is always caused by typing errors at the '-I' option or init-files
that are not properly configured. If you can't find the error check your
init-file(s) and $BDDEINIT.
GetIniOptions (4): Error reading init-file 'InitFile'
This might be caused by a physical disk error or not enough memory. If it
is a physical disk error you cannot access it with other utilities (e.g.
BDDE V1.5c User Guide page 33 - (c) 1992,4 HanSoft & Partners
copying it). You might have created a loop in your init-files (e.g.
"bdde.ini" calling "atari.ini" and "z80v2.ini" calling "bdde.ini")!
GetAllOptions (4): $HOME not defined; searching '.bdderc' in current directory
Unix only. BDDE needs the $HOME variable to locate your .bdderc file. If
it isn't set BDDE might not be able to find your default init-file. Since
this might contain vital information about how your conversion has to be
executed, it warns you.
GetAllOptions (4): Definition of '$BDDEINIT' too long; truncated
BDDEINIT may only be 256 bytes long. If it is longer BDDE cannot inter-
pret it completely. This is to warn you that BDDE will truncate the
contents of BDDEINIT. As a consequence some settings will be incomplete
or even missing.
GetAllOptions (4): Definition of 'drive:\path\bdde.com' too long; truncated
DOS only. BDDE needs the full pathname of BDDE to locate your BDDE.INI
file. If it gets truncated BDDE might not be able to find your default
init-file. Since this might contain vital information about how your
conversion has to be executed, it warns you.
GetAllOptions (5): Target directory 'directory' does not exist
BDDE first checks whether the target directory you specified exists. If
it doesn't BDDE terminates. All files couldn't have been opened anyway.
UnMountDisk (4): Error unmounting file 'dumpfile'
BDDE could not close the dump-file correctly. Will probably be accompa-
nied by other read-errors.
BDDE V1.5c User Guide page 34 - (c) 1992,4 HanSoft & Partners
28. Tips and tricks
-------------------
1) The listings produced by `ls` and `cp` might be very useful when trans-
ferring complicated programs (e.g. games) to disk. Print them.
2) Convert all your BetaDisks to dump-files before using BDDE. They can be
handled more easily that way. Compress them to self-extracting files,
e.g. with ARJ. You can put three or more compressed dumps on a single 720
kB floppy.
3) If you try to dump a BetaDisk using Anadisk and errors occur, write the
faulty tracks down somewhere. When you generate `ls` output (First
Tk/Sd/Sc) you can easily find out which files are still usable.
4) Even when BDDE doesn't support your emulator (yet) you might still be
able to use it! How can I find this out? Easily. If your emulator has
tape-support try the Atari-ST conversion or the .TAP files. If it has
RS232 support, try the MS-DOS conversion. May be you only have to rename
the file.
29. Finally..
-------------
-The MS-DOS Spectrum Emulator is a product of G.A. Lunter
-The Atari-ST Spectrum Emulator is a product of Christian Gandler
-ARJ is a product of Robert K. Jung
-AnaDisk is a product of Sydex
-ADU is a product of AME Computing Systems
-Norton Utilities is a product of Symantics
-Unix is a product of AT&T
-DRC is a product of David Harris
-MS-DOS is a product of MicroSoft
-PC-NFS is a product of Sun Laboratories
-Tasword II was a product of Tasman Software
-ZX Spectrum was a product of Sinclair Research Ltd.
-BetaDisk was a product of Technology Research Ltd.
"All other trademarks mentioned in this documentation are property of their
respective owners."
Many thanks to Marcel and especially Jack Verheydt for their patience and
support while adding the Atari-conversion. Thank you, boys for believing in me
and this program!
Thank you Tinus v/d Wouw for your BetaDisk+ snapshot. I still can't convert
it, but now BDDE can at least issue a warning! And your BetaDisk with inter-
leave 2:1 was very useful too!
Many thanks to all users of the 'Tatort BBS' who downloaded this program,
especially sysop Dick Pluym and Johan Muizelaar.
And last but not least Gerton Lunter, who did not only write a great Spectrum
Emulator but mentioned this program in his documentation so it could go where
it never expected to go before!
"BDDE was produced using Borland (MS-DOS) and Mark Williams (Unix) compilers.
Some library functions used by BDDE are copyrighted by their respective
owners. The read-me program was produced by David's Readme Compiler (DRC)."
BDDE V1.5c User Guide page 35 - (c) 1992,4 HanSoft & Partners