home *** CD-ROM | disk | FTP | other *** search
/ Brotikasten / BROTCD01.iso / spectrum / bdde.txt next >
Text File  |  1994-08-22  |  90KB  |  2,066 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.                            ============================
  8.                            BDDE version 1.5c - 21/08/94
  9.                            ============================
  10.  
  11.        1. What is BDDE . . . . . . . . . . . . . . . . . . . . . . . .    3
  12.  
  13.        2. Who produced BDDE  . . . . . . . . . . . . . . . . . . . . .    3
  14.  
  15.        3. Registering BDDE . . . . . . . . . . . . . . . . . . . . . .    3
  16.  
  17.        4. The registered version . . . . . . . . . . . . . . . . . . .    4
  18.  
  19.        5. Requirements . . . . . . . . . . . . . . . . . . . . . . . .    4
  20.  
  21.        6. BDDE and media-conversion  . . . . . . . . . . . . . . . . .    4
  22.  
  23.        7. Using BDDE . . . . . . . . . . . . . . . . . . . . . . . . .    5
  24.  
  25.        8. Making the dump using AnaDisk  . . . . . . . . . . . . . . .    5
  26.  
  27.        9. Making the dump using ADU  . . . . . . . . . . . . . . . . .    6
  28.  
  29.        10. Putting BDDE to work  . . . . . . . . . . . . . . . . . . .    6
  30.  
  31.        11. A sample session  . . . . . . . . . . . . . . . . . . . . .    8
  32.  
  33.        12. Let's `ls` a little . . . . . . . . . . . . . . . . . . . .    8
  34.  
  35.        13. `df` and `di` . . . . . . . . . . . . . . . . . . . . . . .   10
  36.  
  37.        14. Getting down to business: `cp`  . . . . . . . . . . . . . .   10
  38.  
  39.        15. Debug Level . . . . . . . . . . . . . . . . . . . . . . . .   11
  40.  
  41.        16. `cp` continued  . . . . . . . . . . . . . . . . . . . . . .   12
  42.  
  43.        17. Conditional extraction  . . . . . . . . . . . . . . . . . .   18
  44.  
  45.        18. Using listfiles . . . . . . . . . . . . . . . . . . . . . .   18
  46.  
  47.        19. The interleave  . . . . . . . . . . . . . . . . . . . . . .   19
  48.  
  49.        20. Initializing BDDE . . . . . . . . . . . . . . . . . . . . .   21
  50.  
  51.        21. Other options . . . . . . . . . . . . . . . . . . . . . . .   23
  52.  
  53.        22. Just another `od`.. . . . . . . . . . . . . . . . . . . . .   23
  54.  
  55.        23. SmartSeek . . . . . . . . . . . . . . . . . . . . . . . . .   25
  56.  
  57.        24. I love it when a plan comes together..  . . . . . . . . . .   25
  58.  
  59.  
  60.            BDDE V1.5c User Guide page 1 - (c) 1992,4 HanSoft & Partners
  61.  
  62.  
  63.  
  64.  
  65.  
  66.        25. Piping and redirecting  . . . . . . . . . . . . . . . . . .   28
  67.  
  68.        26. Mum, it doesn't work! . . . . . . . . . . . . . . . . . . .   29
  69.  
  70.        27. (Error)messages . . . . . . . . . . . . . . . . . . . . . .   29
  71.  
  72.        28. Tips and tricks . . . . . . . . . . . . . . . . . . . . . .   35
  73.  
  74.        29. Finally.. . . . . . . . . . . . . . . . . . . . . . . . . .   35
  75.  
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.            BDDE V1.5c User Guide page 2 - (c) 1992,4 HanSoft & Partners
  120.  
  121.  
  122.  
  123.  
  124.   1. What is BDDE
  125.   ---------------
  126.   BDDE (BetaDisk  Dump Extractor)  is an  MS-DOS utility  that enables  a former
  127.   BetaDisk user to transfer his files to the IBM-PC or Atari-ST without fiddling
  128.   around with serial cables and COM-ports. The  resulting files can be read into
  129.   the Spectrum Emulators of Gerton Lunter, Kevin Phair (MS-DOS) and of Christian
  130.   Gandler  (Atari-ST). Apart  from all  this  you can  retrieve  *every* bit  of
  131.   information concerning  your BetaDisk. Even more  than you ever could  on your
  132.   own Spectrum!
  133.  
  134.  
  135.   2. Who produced BDDE
  136.   --------------------
  137.   BDDE is produced by J.L. Bezemer under the HanSoft-label. The author was quite
  138.   active in  the Spectrum scene  from 1983 until  1987 and ported  packages like
  139.   Micro-Prolog, Artic Forth  and HiSoft BASIC  to BetaDisk. Apart  from that  he
  140.   cracked several protection-schemes  like LensLok and  SpeedLok. He also  wrote
  141.   several  distinctive menu-programs,  the last  being FRED (FRont  End Display)
  142.   that  featured a  graphical  user-interface not  unlike  the Apple  Macintosh,
  143.   previously  unknown  in the  Spectrum  environment.  It  is included  in  this
  144.   package.
  145.  
  146.  
  147.   3. Registering BDDE
  148.   -------------------
  149.   The  registered version of  BDDE is more  expensive than a  few packs of ciga-
  150.   rettes,  but you get a lot for  your hard-earned money! Please send Dfl. 12.50
  151.   to account 86.87.11.853 of J.L. Bezemer in Den Haag (The Hague). Or just put a
  152.   bill of DM 10 in an envelope.
  153.  
  154.   Registered  users receive  the complete  version  of BDDE,  the C  source-code
  155.   (supporting K&R and  ANSI compilers under Unix  and MS-DOS), and some  utility
  156.   programs on an MS-DOS floppy disk. If  you want an additional Windows version,
  157.   please add Dfl. 2.50 (or 2 DM). Existing users can get an update for only Dfl.
  158.   5.00 (or 5 DM). Write to:
  159.  
  160.                       J.L. Bezemer
  161.                       Turfmarkt 97
  162.                       2511 DN  Den Haag
  163.                       The Netherlands
  164.  
  165.   Registration for  personal use is  *not* mandatory.  However, the use  of this
  166.   program in a  governmental, institutional, commercial or  business environment
  167.   is limited  to 2 disks  only. After that you  either register this  program or
  168.   stop using it. This program has been  produced according to the European Legal
  169.   Guidelines on  Software. No information has been extracted from any product by
  170.   reverse engineering. All information used has been published.
  171.  
  172.   THIS PROGRAM, BOTH SOURCE AND OBJECT, MAY NOT BE USED BY MILITARY OR POLITICAL
  173.   ORGANIZATIONS  OR USED  FOR MILITARY OR  POLITICAL PURPOSES.  YOU MAY  USE THE
  174.   SOURCECODE OR  PARTS OF THE  SOURCECODE TO  BUILD ANY PROGRAM  AS LONG  AS THE
  175.   COPYRIGHT IS RECOGNIZED  IN THE RESULTING PROGRAM (BOTH SOURCE AND OBJECT) AND
  176.   ITS  ASSOCIATED WRITTEN  MATERIALS OR  DOCUMENTATION.  THIS EXCLUDES  PROGRAMS
  177.  
  178.            BDDE V1.5c User Guide page 3 - (c) 1992,4 HanSoft & Partners
  179.  
  180.  
  181.  
  182.  
  183.  
  184.   CREATED FROM THE SOURCECODE OF BDDE WITH THE SAME FUNCTIONALITY AS  BDDE. SUCH
  185.   PROGRAMS  MAY  ONLY BE  UTILIZED BY  THE  LICENSEE AND  NOT BE  DISTRIBUTED OR
  186.   TRANSFERRED IN ANY WAY.
  187.  
  188.  
  189.   4. The registered version
  190.   -------------------------
  191.   From a functionality point  of view there is no difference  between the regis-
  192.   tered and  the unregistered version.  However, the registered version  is more
  193.   user-friendly and  faster! E.g. a dump of track  159 takes the registered user
  194.   only 7  seconds. The shareware version  takes a vast 4 minutes.  Using `cp` is
  195.   about three  times faster, although the  difference is not  that dramatic when
  196.   using  a hard-disk. These  tests have been  performed on a  80386sx with an 40
  197.   MB/28 ms hard-disk. The current version of BDDE can convert at a rate of about
  198.   *120 kB/s* (using  an 486/33 and an  335 MB/13 ms hard-disk).  Furthermore the
  199.   automatic  interleave  detection,  the  autoRUN  linenumber report,  list-file
  200.   support and .TAP file conversion are disabled on the shareware version.
  201.  
  202.  
  203.   5. Requirements
  204.   ---------------
  205.   For the  conversion of a 40 tracks BetaDisk a  5.25" 360 kB drive is required.
  206.   To convert a 80 tracks BetaDisk you need either a 3.5" 720 kB drive or a 5.25"
  207.   1.2 MB drive.
  208.   BDDE itself needs only a very modest configuration. Even a 128 kB machine with
  209.   two 5.25" 360 kB drives will do in some circumstances. A rule of the thumb is,
  210.   you'll  need a machine with twice the online  disk capacity of the size of the
  211.   diskdump.
  212.   BDDE is available for both MS-DOS  and Unix. Tested platforms include  several
  213.   80286,  80386sx, 80386,  80486  MS-DOS  machines (MS-DOS),  a  Bull DPX/2  340
  214.   running BOS  V2.00.69, a 486/33 clone running Coherent  V4.2 and a RS/6000 250
  215.   running AIX V3.2 (Unix).
  216.  
  217.  
  218.   6. BDDE and media-conversion
  219.   ----------------------------
  220.   There are  three levels of conversion. The first  just transfers the data from
  221.   one medium  to another,  e.g. from  harddisk to  tape. This  is called  media-
  222.   conversion. The second takes all data and transfers it from one file-format to
  223.   another, e.g. when  converting graphical data from a GIF-file into a BMP-file.
  224.   This is  called file-conversion. The final  form of conversion is  more diffi-
  225.   cult. It's  called data-conversion.  Both formats are  not compatible  so some
  226.   data has to  be added manually or  "guessed". You'll find these  conversions a
  227.   lot  when you're  transferring  data  from a  non-relational  database into  a
  228.   relational database.
  229.  
  230.   BDDE can do all file- and data-conversion, but is (still) unable to do  media-
  231.   conversion. Of course it can be done, but it takes a lot of low level program-
  232.   ming. Worse, a solution can work on  some hardware and refuse its services  on
  233.   other hardware.  So I  decided to  leave that  level of  conversion alone  and
  234.   concentrate on file- and dataconversion, which is difficult enough.
  235.  
  236.  
  237.            BDDE V1.5c User Guide page 4 - (c) 1992,4 HanSoft & Partners
  238.  
  239.  
  240.  
  241.  
  242.  
  243.   That  means that you have to get  yourself a nice diskanalyser, which can also
  244.   dump the contents  of the diskette  examined on an  MS-DOS (or Unix)  readable
  245.   disk. BDDE will then unpack these  files for you. We are currently  supporting
  246.   "Anadisk" from Sydex and "ADU"  from AME Computing Systems. Others might  also
  247.   be  supported; just  check your  documentation  on whether  raw diskdumps  are
  248.   supported.
  249.  
  250.   We have  found two programs  suitable for doing  this job and  we support them
  251.   both. Neither BDDE nor its  producer are connected in any way to the companies
  252.   or  person(s) who  produce  the programs  we support.  BDDE is  an independant
  253.   conversion-program. If you need  support on the use of any  of these products,
  254.   you have to contact these companies or person(s).
  255.  
  256.  
  257.   7. Using BDDE
  258.   -------------
  259.   The  conversion is done in  two stages. First,  the disk-analyser converts the
  260.   entire BetaDisk to a MS-DOS file. BDDE converts this (dump)file to several MS-
  261.   DOS or Unix files, each holding the equivalent to a BetaDisk file. These files
  262.   can either  be further  converted or  read in  without any  conversion into  a
  263.   Spectrum Emulator.  There are Unix  and MS-DOS versions of  BDDE. They produce
  264.   exactly the same files.
  265.  
  266.  
  267.   8. Making the dump using AnaDisk
  268.   --------------------------------
  269.   Read the  instructions in  ANADISK.DOC concerning  ADCONFIG.EXE and  configure
  270.   Anadisk accordingly. When you're done, put the BetaDisk in either drive  A: or
  271.   B: (depends on the kind of computer you use and the disk you want to convert).
  272.   Now start Anadisk and a menu will appear.
  273.  
  274.   Use the cursor-keys  to highlight  DUMP and  press <ENTER>. A  next menu  will
  275.   appear. Use the cursorkeys again  to highlight the A: or B:  drive. Choose the
  276.   drive where  the BetaDisk is inserted.  Don't press <ENTER>  yet! Anadisk will
  277.   ask you whether one  side or both sides  have to be dumped. Choose  both sides
  278.   (unless you're working  with a single sided disk). Finally you're asked if you
  279.   want to include sector-information.
  280.  
  281.   The default is "No". You can use these dumps with BDDE, but you make your life
  282.   a lot easier by answering "Yes" to this question. You can safely press <ENTER>
  283.   now. BDDE  uses this sector-information  to check  its position. A  real drive
  284.   does the same thing.  That is, except for drives that position  the head using
  285.   special disks and diodes. These are called hard-sectored disks,  but I haven't
  286.   seen one since the Exidy Sorcerer (and that was a long time ago!).
  287.  
  288.   We're almost there. Just enter the filename you  want the dump written to (any
  289.   valid MS-DOS filename will  do) and press <ENTER>. Remember the  drive must be
  290.   able  to hold all the data Anadisk writes  to the dump-file (and please do not
  291.   try to write  a dump to a BetaDisk!).  A dump from an 80  tracks, double sided
  292.   disk  (including sector-IDs)  will result  in a 660  kB file.  Finally, you're
  293.   asked which track to start from and which track to end the dump. If you're not
  294.   sure, enter 0 and 79. If it's  a 40 tracks disk Anadisk will adjust according-
  295.  
  296.            BDDE V1.5c User Guide page 5 - (c) 1992,4 HanSoft & Partners
  297.  
  298.  
  299.  
  300.  
  301.  
  302.   ly. But  if you want  to do it  nice and clean  enter 0 and  39 for  40 tracks
  303.   disks..
  304.  
  305.   Ok, sit  back and relax.  Anadisk will do  the job for  you. It will  keep you
  306.   posted  with a  pointer and  messages  (read/write, etc.).  Don't let  warning
  307.   messages like  a difference in  Logical Side ID  ruin your day.  Everything is
  308.   alright. When Anadisk is  done, you can go  back to the DOS-prompt  by hitting
  309.   the spacebar. Now let's put BDDE to work.
  310.  
  311.  
  312.   9. Making the dump using ADU
  313.   ----------------------------
  314.   Read  the instructions to  ADU. When you're  done, put the  BetaDisk in either
  315.   drive A: or B: (depends  on the kind of computer you use and the disk you want
  316.   to convert). Now start ADU and a prompt will appear.
  317.  
  318.   If you want to convert the BetaDisk in drive A: enter:
  319.  
  320.        L 0
  321.  
  322.   Else enter:
  323.  
  324.        L 1
  325.  
  326.   If you want to convert a single sided, 40 tracks BetaDisk enter:
  327.  
  328.        VB 16; VT 40; VZ 256; VH 1; VO 0; C <filename> 0/39; Q
  329.  
  330.   The  entry <filename> stands  for the  name of your  dumpfile. If  you want to
  331.   convert a double sided, 40 tracks BetaDisk enter:
  332.  
  333.        VB 16; VT 40; VZ 256; VH 2; VO 0; C <filename> 0/79; Q
  334.  
  335.   If you want to convert a single sided, 80 tracks BetaDisk enter:
  336.  
  337.        VB 16; VT 80; VZ 256; VH 1; VO 0; C <filename> 0/79; Q
  338.  
  339.   If you want to convert a double sided, 80 tracks BetaDisk enter:
  340.  
  341.        VB 16; VT 80; VZ 256; VH 2; VO 0; C <filename> 0/159; Q
  342.  
  343.   That should do it. When  ADU is done, you are returned to  the DOS-prompt. Now
  344.   let's put BDDE to work.
  345.  
  346.  
  347.   10. Putting BDDE to work
  348.   -----------------------
  349.   Let's do something  very simple. Like displaying the  help-screen. Type `bdde`
  350.   at the prompt and press <ENTER>. The following screen will be displayed:
  351.  
  352.  
  353.  
  354.  
  355.            BDDE V1.5c User Guide page 6 - (c) 1992,4 HanSoft & Partners
  356.  
  357.  
  358.  
  359.  
  360.  
  361.   BetaDisk Dump Extractor V1.5c - (c) 1991,94  HanSoft & Partners
  362.  
  363.      Usage: BDDE [command] <options> <[filelist|@listfile] [directory]>
  364.  
  365.   Commands: ls, df, di, cp, od
  366.   Options : -Dx   (Set debug level to %u; all)
  367.             -ix   (Set interleave to %u; all)
  368.             -Mx   (Use mediatype %u; all)
  369.             -Fx   (Mount BetaDisk dumpfile %s; all)
  370.             -Ix   (Initialize using init-file %s; all)
  371.             -l    (Show a long directory listing; ls)
  372.             -u    (Use erased files too; cp, ls)
  373.             -s    (Force sector filesize on error; cp)
  374.             -Cx   (Use conversion method %u; cp)
  375.             -dx   (Set first array to variable %c; cp)
  376.             -f    (Use same variable for all arrays; cp)
  377.             -#    (Force numeric arrays; cp)
  378.             -$    (Force character arrays; cp)
  379.             -S    (Use random seek; cp, od)
  380.             -tx   (Dump track %u; od)
  381.             -c    (Dump track in ascii; od)
  382.  
  383.  
  384.   For those among you who know Unix there is not much special to see. Just think
  385.   of BDDE as  a very small Operating  System. After I had  written the low-level
  386.   routines of BDDE  the whole thing  became very transparent.  To me the  higher
  387.   level routines seemed  to work with  tracks and sectors.  However, BDDE  works
  388.   only with dump-files. That is why it is portable. But let's take a closer look
  389.   to this helpscreen.
  390.  
  391.   -    With `bdde` we start our mini-OS.
  392.   -    Then we'll have to enter the command we want to execute. Only `ls`, `df`,
  393.        `di`, `cp` and `od` are available.
  394.  
  395.   As a  matter of fact, `ls` is  a Unix-DIR and `cp` is  a Unix-COPY. `df` indi-
  396.   cates how  much  free disk-space  is available,  not unlike  FREE  in 4DOS  or
  397.   CHKDSK. `di` provides a lot of technical information,  like DISKINFO in Norton
  398.   Utilities V4.x, but  is *not*  a Unix  command. Finally, there  is `od`  which
  399.   means Octal  Dump and does about the same thing as the 'D' command of DEBUG. I
  400.   know, it's strange but `od` cannot do an octal dump. It can only dump in ASCII
  401.   or hex. Please note  that all of these commands are  case-sensitive. `LS` will
  402.   *not* work!
  403.  
  404.   -    You  can slightly  alter the  operation  of a  command by  adding several
  405.        options. All options  are prefixed by '-' instead of '/' like MS-DOS. And
  406.        they are case-sensitive just like Unix.
  407.   -    When using `cp`  you must add a target-directory like  'c:\temp' (DOS) or
  408.        '/tmp'  (Unix). You can  even add a trailing  separator to the directory-
  409.        name. If you do not use `cp` adding a target-directory is an error.
  410.  
  411.   If you  violate any of  these rules or  the order of  the arguments BDDE  will
  412.   either show you  a helpscreen or issue an  error-message. So don't call  me if
  413.  
  414.            BDDE V1.5c User Guide page 7 - (c) 1992,4 HanSoft & Partners
  415.  
  416.  
  417.  
  418.  
  419.  
  420.   that's the only thing you see all the time: you're definitely  doing something
  421.   wrong!
  422.  
  423.  
  424.   11. A sample session
  425.   --------------------
  426.   In  this  section we  will make  a quick  tour through  the world  of BetaDisk
  427.   conversion. We included a  sample dumpfile (made by ADU) to  play around with.
  428.   It's called "bdde.dmp". Just put it anywhere you want. Any directory will do.
  429.  
  430.   Before BDDE can do anything you have to let it  know what you're working with.
  431.   If you're  using a sector-headerless Anadisk  dumpfile or an  ADU dumpfile the
  432.   option '-M0' will apply. If you're working with a Anadisk dump  *WITH* sector-
  433.   headers, you'll  have to  use the  option '-M1'.  Furthermore, you'll  have to
  434.   specify the dumpfile that you are using. Both  absolute and relative pathnames
  435.   are supported.
  436.  
  437.   If you  want to  save yourself  some typing,  it is  wise to  use the  system-
  438.   variable support this version of BDDE provides. It's very easy to use. E.g. if
  439.   your 'bdde.dmp' is  located in the '/home/john' directory  of your Unix-system
  440.   enter:
  441.  
  442.        BDDEINIT='-M0 -F/home/john/bdde.dmp'; export BDDEINIT
  443.  
  444.   Likewise, if your BDDE.DMP file is located in the C:\TEMP directory of you MS-
  445.   DOS system enter:
  446.  
  447.        set BDDEINIT=-M0 -Fc:\temp\bdde.dmp
  448.  
  449.   Now you can start your tour with a minimum of key-strokes. Have fun!
  450.  
  451.  
  452.   12. Let's `ls` a little
  453.   -----------------------
  454.   Well, let's say you successfully dumped a  BetaDisk using Anadisk. We can read
  455.   what is on the disk by typing this command:
  456.  
  457.        bdde ls -l
  458.  
  459.   A list not unlike this will appear:
  460.  
  461.  
  462.  
  463.  
  464.  
  465.  
  466.  
  467.  
  468.  
  469.  
  470.  
  471.  
  472.  
  473.            BDDE V1.5c User Guide page 8 - (c) 1992,4 HanSoft & Partners
  474.  
  475.  
  476.  
  477.  
  478.  
  479.                 Addr    Len     B/D  First     First  Last        First  Last
  480. Filename  Type  Len(B)  Run(C)  NEG  Tk/Sd/Sc  Abs.S  Abs.S  #Sc  Tk/Sc  Tk/Sc
  481. ==============================================================================
  482. index     BASIC   9232    9232  240    1/0/01     16     52   37   1/00   3/04
  483. FRED      CODE   59769   64300    0    3/0/06     53     75   23   3/05   4/11
  484. keynes    BASIC  13223   13166   89    4/0/13     76    127   52   4/12   7/15
  485. bt,ks&ei  BASIC   2620    2620  196    8/0/01    128    138   11   8/00   8/10
  486. probe     BASIC  10143   10101   97    8/0/12    139    178   40   8/11  11/02
  487. musicflr  BASIC   6900    6900   12   11/0/04    179    205   27  11/03  12/13
  488. musicode  CODE   65333       0    0   12/0/15    206    206    1  12/14  12/14
  489. flagrec   BASIC   1542    1298  250   12/0/16    207    213    7  12/15  13/05
  490. MakeDir (3): Erased file '?eynsdoc' found: skipped
  491. MakeDir (3): Erased file '?lide' found: skipped
  492. HanSoft   CODE   16384       0    0   17/0/15    286    312   27  17/14  19/08
  493. C         CODE   16384       0    0   19/0/10    313    339   27  19/09  21/03
  494. I wish..  CODE   16384       0    0   21/0/05    340    366   27  21/04  22/14
  495. birthday  CODE   16384    1627    0   22/0/16    367    393   27  22/15  24/09
  496. slide     BASIC   4152    4038  200   24/0/11    394    410   17  24/10  25/10
  497. <0>       DATA   33150     317  195   25/0/12    411    412    2  25/11  25/12
  498.  
  499.   Left the BetaDisk filename. The next column shows the file type. The next  two
  500.   columns are only interesting when it's a CODE file. The Addr-column  indicates
  501.   the loading  address, the  next one  indicates the starting  address, that  is
  502.   when you own a  BetaDisk V3 interface. When  using BetaDisk+ it indicates  the
  503.   length  of the  CODE files.  CODE files  cannot autoRUN  on a  BetaDisk+ as  a
  504.   consequence.
  505.  
  506.   The  B/D NEG  column  doesn't contain  very  interesting  information for  the
  507.   average user. It  was added to  enable me to  check the allocation  algorithm.
  508.   The First  Tk/Sd/Sc column  shows on which  physical track/side/sector  a file
  509.   starts. Only interesting  when you want to peek into  a BetaDisk using Anadisk
  510.   (see  ANADISK.DOC). BDDE has a similar  function. The First Abs.S column shows
  511.   on  which absolute sector  a file  starts (the  very first sector  is absolute
  512.   sector  0 and so on). The Last Abs.S  column indicates what sector is the last
  513.   absolute sector which  still belongs  to the file.  The #Sc  column shows  how
  514.   many  sectors the file spans. Finally the  First Tk/Sc and Last Tk/Sc columns.
  515.   This  notation is  used by  TR-DOS  itself. It  indicates the  first and  last
  516.   logical track and  sector of the  file. Both tracks  and sectors are  starting
  517.   with 0. When you want to use the `od` command the track number is important.
  518.  
  519.   Not everything seemed to go *THAT* well. We've got  two warnings on our hands.
  520.   That  is because  BDDE found  two erased  files  on our  dump, which  *CAN* be
  521.   extracted! If  you want to see them just add  the '-u' option to your command-
  522.   line:
  523.  
  524.        bdde ls -l -u
  525.  
  526.   The '&'  indicates that  the file  has been  erased (unless  you put that  '&'
  527.   there yourself).
  528.  
  529.   If you do not  use the '-l' option  BDDE will only show  you the names of  the
  530.   files on disk. This can be very useful as we will show you later on.
  531.  
  532.            BDDE V1.5c User Guide page 9 - (c) 1992,4 HanSoft & Partners
  533.  
  534.  
  535.  
  536.  
  537.  
  538.  
  539.   13. `df` and `di`
  540.   -----------------
  541.   These two commands provide you with information  on the BetaDisk as a whole. I
  542.   added these commands to allow  users to obtain every possible bit  of informa-
  543.   tion without  returning to  the BetaDisk  environment. Some  information can't
  544.   even be obtained in this environment. Just type:
  545.  
  546.        bdde df
  547.  
  548.   And the following list will appear:
  549.  
  550.  
  551.   Volume label is: BDDE test
  552.       Password is:
  553.  
  554.   160 kb,  (640 sectors) total
  555.    99 kb,  (397 sectors) in 16 files, 2 deleted
  556.     4 kb,   (16 sectors) in directory
  557.    56 kb,  (227 sectors) free
  558.  
  559.  
  560.   It will show you the name  of the disk, its password (Sure, when  you're using
  561.   BetaDisk  V3 or below),  and some  other information  on the disk  usage. `di`
  562.   gives you quite another kind of information:
  563.  
  564.        bdde di
  565.  
  566. PHYSICAL DISK INFORMATION                  LOGICAL DISK INFORMATION
  567. -------------------------                  ------------------------
  568. Format....  40 tracks, single sided       Media descriptor................  19h
  569. Heads..........................   1       Total sectors...................  640
  570. Cylinders......................  40       Bytes per sector................  256
  571. Starting head..................   0       First sector of directory.......    0
  572. Starting cylinder..............   0       Number of sectors on directory..   16
  573. Starting sector................   1       Maximum number of dir. entries..  128
  574. Ending head....................   0       First sector of data area.......   16
  575. Ending cylinder................  39
  576. Ending sector..................  16
  577.  
  578.   Very technical indeed. When you don't know what to do with it, just forget it.
  579.   It's not very important  when you're only interested in converting  files. May
  580.   be you  can do something  with the Format-entry.  It indicates  the disk-type.
  581.   Yep, and it's correct!
  582.  
  583.  
  584.   14. Getting down to business: `cp`
  585.   ----------------------------------
  586.   May be you  think: well, that's all  very nice but when  do I get the  hack my
  587.   files converted to my machine. Slow down, it's all there. Just use `cp`. Type:
  588.  
  589.        bdde cp * .
  590.  
  591.            BDDE V1.5c User Guide page 10 - (c) 1992,4 HanSoft & Partners
  592.  
  593.  
  594.  
  595.  
  596.  
  597.   or (when you're using some kind of Unix):
  598.  
  599.        bdde cp \* .
  600.  
  601.   All BetaDisk files are now copied to the default directory. Do you want to use
  602.   another directory or drive?
  603.  
  604.        bdde cp * c:\emul
  605.  
  606.   The files will now be copied to  the C:\EMUL directory. However, do *not*  try
  607.   to read these files into  any other emulator than the one from  Gerton Lunter.
  608.   It won't work! Oh  no, not another conversion.. You won't  need one. If you're
  609.   converting files to your Atari St you only have to add an option like:
  610.  
  611.        bdde cp -C2 * c:\emul
  612.  
  613.   The same applies when you're using the  SpecEm emulator, only then you have to
  614.   use the -C3 option.
  615.  
  616.   When  you add  -C0 all the  files will  be copied,  but without a  header. The
  617.   emulators need  these headers  to see  what file  is coming.  Files without  a
  618.   header can  be very useful when you want  to convert them into something else,
  619.   e.g. Tasword II  files to MS-DOS or  Unix-files. Registered users get  a small
  620.   utility to do just that, by the way. The option -C1 is default and makes files
  621.   for  the emulator of Gerton Lunter.  If you are using  V2 of his fine emulator
  622.   you can  also use the -C4 option  which creates .TAP files. And  I find them a
  623.   lot easier to handle!
  624.  
  625.   By the way,  if you are using  SMARTDRV.EXE V4 (or another  cache-program with
  626.   write-caching) this  tip is  for you!  BDDE generates  files very  rapidly and
  627.   (especially when you are using a large write-cache) sometimes it may seem that
  628.   nothing is happening. Don't reset! You'll ruin all your work because resetting
  629.   throws away the contents of  the write cache. Your computer is  just VERY busy
  630.   writing all these files  to disk. Just wait a minute so SMARTDRV can catch its
  631.   breath again. Of course you can disable the write-cache, but that isn't really
  632.   necessary.
  633.  
  634.  
  635.   15. Debug Level
  636.   ---------------
  637.   A  special  feature of  BDDE  is the  debug  level. BDDE  has  6 debug-levels.
  638.   Initially used  by  the author  to see  if this  beautiful  program worked  as
  639.   intended, but now for your convenience:
  640.  
  641.   5)   Fatal, the  program aborts. BDDE can't  recover from an  error like this.
  642.        Like there is no BetaDisk dump to read.
  643.   4)   Warning level 1. There is probably  something very wrong, but the program
  644.        can recover from the error. E.g. a wrong sector has been read (that's why
  645.        we need the  sector-IDs). If you  make debug-level 3 the  standard level,
  646.        the program aborts also when  it encounters a level 4 error. This  is not
  647.        always necessary. Sometimes you can safely continue.
  648.  
  649.  
  650.            BDDE V1.5c User Guide page 11 - (c) 1992,4 HanSoft & Partners
  651.  
  652.  
  653.  
  654.  
  655.  
  656.   3)   Warning  level 2.  There is something  of special interest  going on. The
  657.        program can easily handle this kind of  situation. E.g. an erased file is
  658.        skipped.
  659.   2)   Information. The  user  just wants  to  know what  is  going on.  E.g.  a
  660.        BetaDisk file has been converted to a MS-DOS file.
  661.  
  662.  
  663.   16. `cp` continued
  664.   ------------------
  665.   Now the story tends to get a  little different for Atari-ST and MS-DOS  users.
  666.   Most current users are MS-DOS  users, so we'll tell them first how  it's done.
  667.   We'll come  back  to you.  Just skip  everything until  you  see "*ATARI*"  or
  668.   "*SPECEM*" in  the text.  The complete command  line for  the users  of Gerton
  669.   Lunters emulator now reads:
  670.  
  671.        bdde cp * .
  672.  
  673.   The next  messages will  be  shown on  your screen  (that is,  if you  haven't
  674.   forgotten to erase previously generated files):
  675.  
  676.   MakeDir (3): Erased file '?eynsdoc' found: skipped
  677.   MakeDir (3): Erased file '?lide' found: skipped
  678.   RunLine (2): Program 'index' runs from line 10000
  679.   MakeCopy (2): BetaDisk file 'index' copied to '.\index.bas'
  680.   MakeCopy (2): BetaDisk file 'FRED' copied to '.\fred.cod'
  681.   RunLine (2): Program 'keynes' runs from line 200
  682.   MakeCopy (2): BetaDisk file 'keynes' copied to '.\keynes.bas'
  683.   RunLine (2): Program 'bt,ks&ei' runs from line 1
  684.   MakeCopy (2): BetaDisk file 'bt,ks&ei' copied to '.\btks&ei.bas'
  685.   RunLine (2): Program 'probe' runs from line 1
  686.   MakeCopy (2): BetaDisk file 'probe' copied to '.\probe.bas'
  687.   RunLine (2): Program 'musicflr' runs from line 1
  688.   MakeCopy (2): BetaDisk file 'musicflr' copied to '.\musicflr.bas'
  689.   MakeCopy (2): BetaDisk file 'musicode' copied to '.\musicode.cod'
  690.   RunLine (2): Program 'flagrec' runs from line 10
  691.   MakeCopy (2): BetaDisk file 'flagrec' copied to '.\flagrec.bas'
  692.   MakeCopy (2): BetaDisk file 'HanSoft' copied to '.\hansoft.cod'
  693.   MakeCopy (2): BetaDisk file 'C' copied to '.\c.cod'
  694.   MakeCopy (2): BetaDisk file 'I wish..' copied to '.\iwish.cod'
  695.   MakeCopy (2): BetaDisk file 'birthday' copied to '.\birthday.cod'
  696.   RunLine (2): Program 'slide' runs from line 1
  697.   MakeCopy (2): BetaDisk file 'slide' copied to '.\slide.bas'
  698.   GetAType  (2): '<0>' (317  bytes) contains character  array A (312  elem. in 2
  699.   dims.)
  700.   MakeCopy (2): BetaDisk file '<0>' copied to '.\0.chr'
  701.  
  702.   Every error message is shown in this format. First of all the C-function  that
  703.   generated the message,  in this case MakeCopy() and  RunLine(). Between paren-
  704.   thesis the error level (which indicates this message is just a bit of informa-
  705.   tion) and finally the message itself.
  706.  
  707.  
  708.  
  709.            BDDE V1.5c User Guide page 12 - (c) 1992,4 HanSoft & Partners
  710.  
  711.  
  712.  
  713.  
  714.  
  715.   Probably  you won't  get the RunLine()  messages. That's alright,  this is the
  716.   unregistered version and the function  is just not there (conditional compila-
  717.   tion so don't try to hack it!). If you like it, you must register.
  718.  
  719.   One thing is very obvious: BDDE filters out all characters that cannot be part
  720.   of  a filename under DOS. Then the whole  name is converted to lower case even
  721.   when you're working with the  Unix-version. Lower-case filenames are also very
  722.   convenient when you're working with PC-NFS. If  there are no characters in the
  723.   BetaDisk filename that are allowed under DOS, the name 'noname' is assigned to
  724.   this file.
  725.  
  726.   In case there would be a  conflict between two filenames, e.g. 'STRIPOKR'  and
  727.   'stripokr' which  are two perfectly  different filenames to TR-DOS,  BDDE will
  728.   still  try to create two different filenames.  If BDDE were a dumb program you
  729.   could never  retrieve  the first  file,  because it  would be  overwritten  by
  730.   'stripokr'.  However, BDDE takes  notice of the  file on disk  and changes the
  731.   extension of 'stripokr'. If  both are BASIC files the first  one created would
  732.   be called 'stripokr.bas' and the second 'stripokr.ba0'. And it continues to do
  733.   so until 'stripokr.ba9' has been written. Then BDDE has got one other trick up
  734.   its sleeve. It  starts to generate files  from AA.AA0 to ZZ.ZZZ.  That's about
  735.   36^5 files.  Most users don't  even have that  many files on  disk.. And after
  736.   that? Sorry..
  737.  
  738.   Finally the  extension indicates  what kind  of file  has been extracted.  The
  739.   extension '.cod'  is assigned  to CODE  files, the  extension '.bas'  to BASIC
  740.   files and the extension '.nmb' or '.chr' to DATA files.
  741.  
  742.   The old  Spec has got  to know a little  more to read  a file using  the RS232
  743.   port. That's also  true in the emulated version. That's why BDDE automatically
  744.   generates the necessary 9 byte header. The header tells the Spectrum what kind
  745.   of  file is being read, how long it is  and where it's got to be loaded. Well,
  746.   when reading BASIC and  DATA files it ignores the starting  address, but *not*
  747.   when reading  CODE files! If you  want to know  more about the 9  byte header,
  748.   please register. It's all explained in the source.
  749.  
  750.   If  you are currently using version  2.x of Gertons Z80  emulator you can also
  751.   use .TAP file conversion. To activate it, just add the '-C4' option:
  752.  
  753.        bdde cp -C4 * .
  754.  
  755.   The next  messages  will be  shown on  your screen  (that is,  if you  haven't
  756.   forgotten to erase previously generated files):
  757.  
  758.   MakeDir (3): Erased file '?eynsdoc' found: skipped
  759.   MakeDir (3): Erased file '?lide' found: skipped
  760.   RunLine (2): Program 'index' runs from line 10000
  761.   MakeCopy (2): BetaDisk file 'index' copied to '.\index.tap'
  762.   MakeCopy (2): BetaDisk file 'FRED' copied to '.\fred.tap'
  763.   RunLine (2): Program 'keynes' runs from line 200
  764.   MakeCopy (2): BetaDisk file 'keynes' copied to '.\keynes.tap'
  765.   RunLine (2): Program 'bt,ks&ei' runs from line 1
  766.   MakeCopy (2): BetaDisk file 'bt,ks&ei' copied to '.\btks&ei.tap'
  767.  
  768.            BDDE V1.5c User Guide page 13 - (c) 1992,4 HanSoft & Partners
  769.  
  770.  
  771.  
  772.  
  773.  
  774.   RunLine (2): Program 'probe' runs from line 1
  775.   MakeCopy (2): BetaDisk file 'probe' copied to '.\probe.tap'
  776.   RunLine (2): Program 'musicflr' runs from line 1
  777.   MakeCopy (2): BetaDisk file 'musicflr' copied to '.\musicflr.tap'
  778.   MakeCopy (2): BetaDisk file 'musicode' copied to '.\musicode.tap'
  779.   RunLine (2): Program 'flagrec' runs from line 10
  780.   MakeCopy (2): BetaDisk file 'flagrec' copied to '.\flagrec.tap'
  781.   MakeCopy (2): BetaDisk file 'HanSoft' copied to '.\hansoft.tap'
  782.   MakeCopy (2): BetaDisk file 'C' copied to '.\c.tap'
  783.   MakeCopy (2): BetaDisk file 'I wish..' copied to '.\iwish.tap'
  784.   MakeCopy (2): BetaDisk file 'birthday' copied to '.\birthday.tap'
  785.   RunLine (2): Program 'slide' runs from line 1
  786.   MakeCopy (2): BetaDisk file 'slide' copied to '.\slide.tap'
  787.   GetAType (2): '<0>'  (317 bytes) contains  character array A  (312 elem. in  2
  788.   dims.)
  789.   MakeCopy (2): BetaDisk file '<0>' copied to '.\0.tap'
  790.  
  791.   Every error message is shown in this format. First of all  the C-function that
  792.   generated the message,  in this case MakeCopy() and  RunLine(). Between paren-
  793.   thesis the error level (which indicates this message is just a bit of informa-
  794.   tion) and finally the message itself.
  795.  
  796.   Probably  you won't  get the RunLine()  messages. That's alright,  this is the
  797.   unregistered version and the function  is just not there (conditional compila-
  798.   tion so don't try to hack it!). If you like it, you must register.
  799.  
  800.   One thing is very obvious: BDDE filters out all characters that cannot be part
  801.   of a filename under DOS.  Then the whole name is converted to  lower case even
  802.   when you're working with the  Unix-version. Lower-case filenames are also very
  803.   convenient when you're  working with PC-NFS. If there are no characters in the
  804.   BetaDisk filename that are allowed under DOS, the name 'noname' is assigned to
  805.   this file.
  806.  
  807.   In case  there would be a conflict between  two filenames, e.g. 'STRIPOKR' and
  808.   'stripokr' which  are two perfectly  different filenames to TR-DOS,  BDDE will
  809.   still try to create two different filenames.  If BDDE were a dumb program  you
  810.   could never  retrieve  the first  file,  because it  would be  overwritten  by
  811.   'stripokr'. However, BDDE  takes notice of  the file on  disk and changes  the
  812.   first character of 'stripokr'. If both  are BASIC files the first one  created
  813.   would be called 'stripokr.tap' and the second '0tripokr.tap'. And it continues
  814.   to do so until '9tripokr.tap'  has been written. Then  BDDE has got one  other
  815.   trick up its sleeve. It starts to generate files from AA.AA0 to ZZ.ZZZ. That's
  816.   about 36^5  files. Most users  don't even have that  many files on  disk.. And
  817.   after that? Sorry..
  818.  
  819.   The  old Spec  has  got  to know  a  little  more to  read  a  file using  the
  820.   cassette-port.  That's also  true in  the  emulated version.  That's why  BDDE
  821.   automatically generates  the necessary  17 byte header.  The header  tells the
  822.   Spectrum what kind of file is being read, how long it is and where it's got to
  823.   be loaded. Well, when loading BASIC and  DATA files the starting address isn't
  824.   very important,  but  it is  when loading  CODE files!  The  filename is  also
  825.  
  826.  
  827.            BDDE V1.5c User Guide page 14 - (c) 1992,4 HanSoft & Partners
  828.  
  829.  
  830.  
  831.  
  832.  
  833.   included in the header.  If you want  to know more about  the 17 byte  header,
  834.   please register. It's all explained in the source.
  835.  
  836.   YOU CAN'T  USE  THESE FILES  ANYWAY  IF  YOU HAVEN'T  REGISTERED.  Some  vital
  837.   information is missing in the files the unregistered version creates. Sorry..
  838.  
  839.   I think  I've spend  enough time  with you  MS-DOS junkies.  Just continue  to
  840.   section 15. I'm now going to tell the Atari-ST users how it's done.
  841.  
  842.   *ATARI*  You found  this section?  Great,  then we'll  continue. The  complete
  843.   command line for Atari-ST users reads:
  844.  
  845.        bdde cp -C2 * .
  846.  
  847.   The next  messages  will be  shown on  your screen  (that is,  if you  haven't
  848.   forgotten to erase previously generated files):
  849.  
  850.   MakeDir (3): Erased file '?eynsdoc' found: skipped
  851.   MakeDir (3): Erased file '?lide' found: skipped
  852.   RunLine (2): Program 'index' runs from line 10000
  853.   MakeCopy (2): BetaDisk file 'index' copied to '.\index'
  854.   MakeCopy (2): BetaDisk file 'FRED' copied to '.\fred'
  855.   RunLine (2): Program 'keynes' runs from line 200
  856.   MakeCopy (2): BetaDisk file 'keynes' copied to '.\keynes'
  857.   RunLine (2): Program 'bt,ks&ei' runs from line 1
  858.   MakeCopy (2): BetaDisk file 'bt,ks&ei' copied to '.\btks&ei'
  859.   RunLine (2): Program 'probe' runs from line 1
  860.   MakeCopy (2): BetaDisk file 'probe' copied to '.\probe'
  861.   RunLine (2): Program 'musicflr' runs from line 1
  862.   MakeCopy (2): BetaDisk file 'musicflr' copied to '.\musicflr'
  863.   MakeCopy (2): BetaDisk file 'musicode' copied to '.\musicode'
  864.   RunLine (2): Program 'flagrec' runs from line 10
  865.   MakeCopy (2): BetaDisk file 'flagrec' copied to '.\flagrec'
  866.   MakeCopy (2): BetaDisk file 'HanSoft' copied to '.\hansoft'
  867.   MakeCopy (2): BetaDisk file 'C' copied to '.\c'
  868.   MakeCopy (2): BetaDisk file 'I wish..' copied to '.\iwish'
  869.   MakeCopy (2): BetaDisk file 'birthday' copied to '.\birthday'
  870.   RunLine (2): Program 'slide' runs from line 1
  871.   MakeCopy (2): BetaDisk file 'slide' copied to '.\slide'
  872.   GetAType  (2): '<0>' (317  bytes) contains character  array A (312  elem. in 2
  873.   dims.)
  874.   MakeCopy (2): BetaDisk file '<0>' copied to '.\0'
  875.  
  876.   Every error message is shown in this format. First of all  the C-function that
  877.   generated the message,  in this case MakeCopy() and  RunLine(). Between paren-
  878.   thesis the error level (which indicates this message is just a bit of informa-
  879.   tion) and finally the message itself.
  880.  
  881.   Probably you won't  get the RunLine()  messages. That's alright,  this is  the
  882.   unregistered version and the function  is just not there (conditional compila-
  883.   tion so don't try to hack it!). If you like it, you must register.
  884.  
  885.  
  886.            BDDE V1.5c User Guide page 15 - (c) 1992,4 HanSoft & Partners
  887.  
  888.  
  889.  
  890.  
  891.  
  892.   One thing is very obvious: BDDE filters out all characters that cannot be part
  893.   of a filename under DOS. Then  the whole name is converted to lower  case even
  894.   when you're working with the  Unix-version. Lower-case filenames are also very
  895.   convenient when you're working with PC-NFS. If there are no characters  in the
  896.   BetaDisk filename that are allowed under DOS, the name 'noname' is assigned to
  897.   this file.
  898.  
  899.   In case there would  be a conflict between two filenames,  e.g. 'STRIPOKR' and
  900.   'stripokr' which  are two perfectly  different filenames to TR-DOS,  BDDE will
  901.   still try to create two different filenames.  If BDDE were a dumb program  you
  902.   could never  retrieve  the first  file,  because it  would  be overwritten  by
  903.   'stripokr'. However,  BDDE takes notice  of the file  on disk and  changes the
  904.   last character of  'stripokr'. If both are  BASIC files the first  one created
  905.   would be called 'stripokr'  and the second 'stripok0'. And it  continues to do
  906.   so until 'stripok9' has been written. Then BDDE has got one other trick up its
  907.   sleeve. It  starts to generate files from AA.AA0  to ZZ.ZZZ. That's about 36^5
  908.   files. Most users  don't even have that  many files on disk..  And after that?
  909.   Sorry..
  910.  
  911.   The old Spec has got  to know a little more to read a file using the cassette-
  912.   port. That's also true in the emulated version. That's  why BDDE automatically
  913.   generates  the necessary 17  byte header. The  header tells the  Spectrum what
  914.   kind of file  is being read, how long  it is and where it's  got to be loaded.
  915.   Well,  when  loading BASIC  and DATA  files  the starting  address  isn't very
  916.   important, but it is when loading CODE files! The filename is also included in
  917.   the  header. Christian  Gandlers emulator insists  that the  physical filename
  918.   *and* the name in  the header are identical.  That's the only reason why  BDDE
  919.   produces  slightly different filenames for  the Atari-ST. If  you want to know
  920.   more about the  17 byte  header, please  register. It's all  explained in  the
  921.   source.
  922.  
  923.   So  I guess you're going to be quite  busy now on this machine with no buttons
  924.   to click. In the meanwhile I  got the time to explain the SpecEm  fans a thing
  925.   or two. Please continue with section 15.
  926.  
  927.   *SPECEM*  You found  this section?  Great, then  we'll continue.  The complete
  928.   command line for SpecEm users reads:
  929.  
  930.        bdde cp -C3 * .
  931.  
  932.   The next  messages  will be  shown on  your screen  (that is,  if you  haven't
  933.   forgotten to erase previously generated files):
  934.  
  935.   MakeDir (3): Erased file '?eynsdoc' found: skipped
  936.   MakeDir (3): Erased file '?lide' found: skipped
  937.   RunLine (2): Program 'index' runs from line 10000
  938.   MakeCopy (2): BetaDisk file 'index' copied to '.\index___.__b'
  939.   MakeCopy (2): BetaDisk file 'FRED' copied to '.\fred____.__c'
  940.   RunLine (2): Program 'keynes' runs from line 200
  941.   MakeCopy (2): BetaDisk file 'keynes' copied to '.\keynes__.__b'
  942.   RunLine (2): Program 'bt,ks&ei' runs from line 1
  943.   MakeCopy (2): BetaDisk file 'bt,ks&ei' copied to '.\btks_ei_.__b'
  944.  
  945.            BDDE V1.5c User Guide page 16 - (c) 1992,4 HanSoft & Partners
  946.  
  947.  
  948.  
  949.  
  950.  
  951.   RunLine (2): Program 'probe' runs from line 1
  952.   MakeCopy (2): BetaDisk file 'probe' copied to '.\probe___.__b'
  953.   RunLine (2): Program 'musicflr' runs from line 1
  954.   MakeCopy (2): BetaDisk file 'musicflr' copied to '.\musicflr.__b'
  955.   MakeCopy (2): BetaDisk file 'musicode' copied to '.\musicode.__c'
  956.   RunLine (2): Program 'flagrec' runs from line 10
  957.   MakeCopy (2): BetaDisk file 'flagrec' copied to '.\flagrec_.__b'
  958.   MakeCopy (2): BetaDisk file 'HanSoft' copied to '.\hansoft_.__c'
  959.   MakeCopy (2): BetaDisk file 'C' copied to '.\c_______.__c'
  960.   MakeCopy (2): BetaDisk file 'I wish..' copied to '.\iwish___.__c'
  961.   MakeCopy (2): BetaDisk file 'birthday' copied to '.\birthday.__c'
  962.   RunLine (2): Program 'slide' runs from line 1
  963.   MakeCopy (2): BetaDisk file 'slide' copied to '.\slide___.__b'
  964.   GetAType (2): '<0>'  (317 bytes) contains  character array A  (312 elem. in  2
  965.   dims.)
  966.   MakeCopy (2): BetaDisk file '<0>' copied to '.\0_______.__r'
  967.  
  968.   Every error message is shown in this format. First of all  the C-function that
  969.   generated the message,  in this case MakeCopy() and  RunLine(). Between paren-
  970.   thesis the error level (which indicates this message is just a bit of informa-
  971.   tion) and finally the message itself.
  972.  
  973.   Probably  you won't  get the RunLine()  messages. That's alright,  this is the
  974.   unregistered version and the function  is just not there (conditional compila-
  975.   tion so don't try to hack it!). If you like it, you must register.
  976.  
  977.   One thing is very obvious: BDDE filters out all characters that cannot be part
  978.   of a filename under DOS.  Then the whole name is converted to  lower case even
  979.   when you're working with the  Unix-version. Lower-case filenames are also very
  980.   convenient when you're  working with PC-NFS. If there are no characters in the
  981.   BetaDisk filename that are allowed under DOS, the name 'noname' is assigned to
  982.   this file.
  983.  
  984.   In case  there would be a conflict between  two filenames, e.g. 'STRIPOKR' and
  985.   'stripokr' which  are two perfectly  different filenames to TR-DOS,  BDDE will
  986.   still try to create two different filenames.  If BDDE were a dumb program  you
  987.   could never  retrieve  the first  file,  because it  would be  overwritten  by
  988.   'stripokr'. However, BDDE  takes notice of  the file on  disk and changes  the
  989.   first character of 'stripokr'. If both  are BASIC files the first one  created
  990.   would be called 'stripokr.__b' and the second '0tripokr.__b'. And it continues
  991.   to do so until '9tripokr.__b'  has been written. Then  BDDE has got one  other
  992.   trick up its sleeve. It starts to generate files from AA.AA0 to ZZ.ZZZ. That's
  993.   about 36^5  files. Most users  don't even have that  many files on  disk.. And
  994.   after that? Sorry..
  995.  
  996.   The old Spec has got  to know a little more to read a file using the cassette-
  997.   port. That's also true in the  emulated version. That's why BDDE automatically
  998.   generates  the necessary 17  byte header. The  header tells  the Spectrum what
  999.   kind of file  is being read, how long  it is and where it's  got to be loaded.
  1000.   Well,  when loading  BASIC  and DATA  files  the starting  address  isn't very
  1001.   important, but it is when loading CODE files! The filename is also included in
  1002.   the header. Kevin Phairs emulator insists that the physical filename *and* the
  1003.  
  1004.            BDDE V1.5c User Guide page 17 - (c) 1992,4 HanSoft & Partners
  1005.  
  1006.  
  1007.  
  1008.  
  1009.  
  1010.   name  in the header  are identical. That's  the only reason  why BDDE produces
  1011.   slightly different filenames  for the SpecEm. If  you want to know  more about
  1012.   the 17 byte header, please register. It's all explained in the source.
  1013.  
  1014.  
  1015.   17. Conditional extraction
  1016.   --------------------------
  1017.   But may  be you don't want to  extract all the files, but  only the files that
  1018.   make up  the 'musicfiler' program. You can do  that with this version of BDDE!
  1019.   Just type:
  1020.  
  1021.        bdde cp musicflr musicode .
  1022.  
  1023.   Don't forget the '-Cx' option if you need it! BDDE will now only extract these
  1024.   two files. You may specify as many files as  your Operating System allows, but
  1025.   please remember  that  only the  original BetaDisk  filenames are  recognized.
  1026.   Issuing:
  1027.  
  1028.        bdde cp musicflr.bas musicode.cod .
  1029.  
  1030.   will *NOT* work. Sorry, no wildcards, so
  1031.  
  1032.        bdde cp music* .
  1033.  
  1034.   won't work  either. There's  got to  be something  left to  wish for..  If the
  1035.   filename contains  characters that  have a special  meaning to  your Operating
  1036.   System like spaces or tabs, you'll have to enclose them by quotes, like:
  1037.  
  1038.        bdde cp "bt,ks&ei" "I wish.." .
  1039.  
  1040.   You can  also extract erased files. E.g.  if you want to  extract the 'keynes'
  1041.   program together with its documentation, you have to use this command:
  1042.  
  1043.        bdde cp -u keynes "&eynsdoc" .
  1044.  
  1045.   The '-u' means you want BDDE  to salvage erased files, like 'keynsdoc'.  Since
  1046.   the BetaDisk discards the first character of an erased files, BDDE substitutes
  1047.   it with an ampersand. By the way, all this works with 'ls' as well.
  1048.  
  1049.  
  1050.   18. Using listfiles
  1051.   -------------------
  1052.   However,  if you want  to extract some  multi-file games, the  list can become
  1053.   very long. So BDDE has another  trick up its sleeve to make your  life easier.
  1054.   It is only available to *registered* users.
  1055.  
  1056.   It works quite simple. Just issue this command:
  1057.  
  1058.        bdde ls > filelist.txt
  1059.  
  1060.   The file 'filelist.txt' will now contain this information:
  1061.  
  1062.  
  1063.            BDDE V1.5c User Guide page 18 - (c) 1992,4 HanSoft & Partners
  1064.  
  1065.  
  1066.  
  1067.  
  1068.  
  1069.        index
  1070.        FRED
  1071.        keynes
  1072.        bt,ks&ei
  1073.        probe
  1074.        musicflr
  1075.        musicode
  1076.        flagrec
  1077.        HanSoft
  1078.        C
  1079.        I wish..
  1080.        birthday
  1081.        slide
  1082.        <0>
  1083.  
  1084.   Now fire  up your favorite editor and edit the file. Just delete the files you
  1085.   do  *NOT*  want to  extract, e.g.  let's  say we  only want  the index-program
  1086.   (including its data) and the 'musicfiler' program:
  1087.  
  1088.        index
  1089.        FRED
  1090.        musicflr
  1091.        musicode
  1092.        <0>
  1093.  
  1094.   You can now extract these files by issuing this command:
  1095.  
  1096.        bdde cp @filelist.txt .
  1097.  
  1098.   That's it! Easy as pie, ain't it?
  1099.  
  1100.  
  1101.   19. The interleave
  1102.   ------------------
  1103.   This is a  difficult subject and most  users don't want  to know about it  and
  1104.   some don't  have to know  about it. Most  registered users *never* have  to do
  1105.   with the  interleave, because  BDDE is  smart enough  to  sort it  all out  by
  1106.   itself. However, it  needs a little help.  Anadisk is a very  nice program and
  1107.   highly  recommended. If  you dump  your disks using  this program  and include
  1108.   sector-IDs in the  proces you can forget  all about interleaves. ADU  can sort
  1109.   out  the  interleave as  well,  but BDDE  can  neither check  nor  correct the
  1110.   interleave.
  1111.  
  1112.   The interleave  has to do with the  way a disk is organized.  Let's say you're
  1113.   working in  some pizza parlor. The  pizza is already  cut in 8 slices  and you
  1114.   have to put the slices in a box. Since this pizza parlor is highly automatized
  1115.   the pizza is lying on a turning table. However, there is a catch. Every  slice
  1116.   is numbered and you'll have to  put the slices in the box in  the right order.
  1117.   So you wait until  slice 1 appears. You  pick it up and  put it in the  box as
  1118.   fast as  you can. When you have  turned back you see that  you missed slices 2
  1119.   and 3 and are facing slice 4. So you have to wait almost a full turn until you
  1120.   can pick up slice 2 again. That slows you down, doesn't it?
  1121.  
  1122.            BDDE V1.5c User Guide page 19 - (c) 1992,4 HanSoft & Partners
  1123.  
  1124.  
  1125.  
  1126.  
  1127.  
  1128.   To prevent this you have to put slice 2 at position 4. So when you're ready to
  1129.   pick up a  slice again, it's  there! Of course you'll  have to put slice  3 at
  1130.   position 7. And slice 4 at position 2. And so on.
  1131.  
  1132.   Effectively, you've  created an interleave of 3:1,  while starting off with an
  1133.   interleave of  1:1. And  that's the  way  *all* disks  are organized,  whether
  1134.   floppy  or hard-disk. And  just like you  when packaging pizzas,  they have an
  1135.   interleave that gives  the highest performance. Well, that's  all the explana-
  1136.   tion you boys are going to get. Now it's time for the Real Men.
  1137.  
  1138.   BDDE supports all interleaves from  1:1 up to 8:1. I haven't got  the faintest
  1139.   idea whether they are  necessary or not. But if you  need them, they're there.
  1140.   BDDE  expects an  interleave of  1:1 in  accordance with  most disk-analysers.
  1141.   However, when you dump a  disk with sector-IDs and BDDE reads a  sector with a
  1142.   wrong ID, it will try to find out what the corresponding interleave  is. If it
  1143.   is successful it will switch to that interleave and continue without a glitch.
  1144.   Of course it  is possible that  BDDE switches the  interleave more often,  but
  1145.   only in rare cases of data-corruption.
  1146.  
  1147.   When the going gets tough, the -i option gets going. Just add an interleave to
  1148.   -i, e.g. -i3. After that the interleave is  fixed and BDDE won't try to change
  1149.   it again.  Use with  care! To determine  the right  interleave you'll  have to
  1150.   follow this procedure:
  1151.  
  1152.   First, try this command:
  1153.  
  1154.        bdde di
  1155.  
  1156.   If it produces something like this:
  1157.  
  1158. MountDisk (4): File 'bdde.dmp' probably not a BetaDisk; media descriptor: 00h
  1159.  
  1160. PHYSICAL DISK INFORMATION                 LOGICAL DISK INFORMATION
  1161. -------------------------                 ------------------------
  1162. Format....                  Unknown       Media descriptor................   0h
  1163. Heads..........................   2       Total sectors................... 2560
  1164. Cylinders......................  80       Bytes per sector................  256
  1165. Starting head..................   0       First sector of directory.......    0
  1166. Starting cylinder..............   0       Number of sectors on directory..   16
  1167. Starting sector................   1       Maximum number of dir. entries..  128
  1168. Ending head....................   1       First sector of data area.......   16
  1169. Ending cylinder................  79
  1170. Ending sector..................  16
  1171.  
  1172.   then your  disk-analyser probably  did not sort  out the  interleave properly.
  1173.   Now try:
  1174.  
  1175.        bdde di -i2
  1176.  
  1177.   It should produce something like this:
  1178.  
  1179.  
  1180.  
  1181.            BDDE V1.5c User Guide page 20 - (c) 1992,4 HanSoft & Partners
  1182.  
  1183.  
  1184.  
  1185.  
  1186.  
  1187. PHYSICAL DISK INFORMATION                 LOGICAL DISK INFORMATION
  1188. -------------------------                 ------------------------
  1189. Format....  40 tracks, single sided       Media descriptor................  19h
  1190. Heads..........................   1       Total sectors...................  640
  1191. Cylinders......................  40       Bytes per sector................  256
  1192. Starting head..................   0       First sector of directory.......    0
  1193. Starting cylinder..............   0       Number of sectors on directory..   16
  1194. Starting sector................   1       Maximum number of dir. entries..  128
  1195. Ending head....................   0       First sector of data area.......   16
  1196. Ending cylinder................  39
  1197. Ending sector..................  16
  1198.  
  1199.   If it still fails to produce a report like this try:
  1200.  
  1201.        bdde di -i3
  1202.  
  1203.   One of these  should work in most  cases. I've seen quite  some BetaDisks, but
  1204.   none ever  had an interleave of 4:1 or up. But you're welcome to try them. But
  1205.   we're not ready  yet! Sometimes it just looks like BDDE has detected the right
  1206.   interleave, but the detection  mechanism is not fail-safe. It is  quite possi-
  1207.   ble that e.g.  '-i1' and  '-i3' produce the  same results.  So extract a  non-
  1208.   trivial BASIC-file (size 4 kB or up), e.g.
  1209.  
  1210.        bdde cp -i1 keynes .
  1211.  
  1212.   and read it into your Spectrum emulator. Now list it by issuing:
  1213.  
  1214.        LIST
  1215.  
  1216.   to  your (emulated) Spectrum. If the listing  looks fine, you've got the right
  1217.   interleave.  If it doesn't,  try the other  one. Repeat the  procedure for all
  1218.   possible interleaves until  you got the  right one. Then  you can handle  your
  1219.   dump as  easily as the one we  provided you with. But you  *HAVE* to issue the
  1220.   corrsponding '-ix'  option with  every command. Or  just add  it to your  BDDE
  1221.   configuration. In the next section we'll explain you how to do just that.
  1222.  
  1223.  
  1224.   20. Initializing BDDE
  1225.   ---------------------
  1226.   You can initialize BDDE  in various ways. If you think the  only thing that is
  1227.   coming is the  BDDEINIT variable you're wrong. BDDE will  collect its settings
  1228.   from  various sources.  First  of all  there  is  the initialization-file.  If
  1229.   you're working  with Unix,  it's called '.bdderc'  and ought  to be placed  in
  1230.   your $HOME-directory. If  you're working with MS-DOS it's  called BDDE.INI and
  1231.   is placed  in the  same directory  where BDDE.COM is.  If you  do not  want to
  1232.   place  it there, you can place  it somewhere else. Just add  this line to your
  1233.   AUTOEXEC.BAT:
  1234.  
  1235.        set BDDE=<directory>
  1236.  
  1237.   e.g.
  1238.  
  1239.  
  1240.            BDDE V1.5c User Guide page 21 - (c) 1992,4 HanSoft & Partners
  1241.  
  1242.  
  1243.  
  1244.  
  1245.  
  1246.        set BDDE=d:\spec
  1247.  
  1248.   Or if you're working with Unix, add a line like this to your .profile:
  1249.  
  1250.        BDDE=/users/habe/data; export BDDE
  1251.  
  1252.   What  does  such an  ini-file  look  like? Well,  just  like the  commandline.
  1253.   However, all the  arguments have their own line. BDDE can  not generate such a
  1254.   file on its own. You have  to create it with an ASII-editor like  `vi`, EDLIN,
  1255.   etc. This is an example of an ini-file:
  1256.  
  1257.        -Fc:\spec\bdde.dmp
  1258.        -M0
  1259.        -i3
  1260.        -C4
  1261.        -S
  1262.  
  1263.   When BDDE  is started it will look  for this file first. If  it isn't there it
  1264.   will continue  without an  error, since you  don't have  to have an  ini-file.
  1265.   Then it will look for an environment variable  called BDDEINIT. The format for
  1266.   BDDEINIT  is a  little different.  You issue  the arguments  just like  on the
  1267.   commandline. If you're working with MS-DOS, you set BDDEINIT like this:
  1268.  
  1269.        set BDDEINIT=-Fc:\spec\bdde.dmp -M0 -i3 -C4 -S
  1270.  
  1271.   If you're working with Unix use this command:
  1272.  
  1273.        BDDEINIT="-F/home/habe/bdde.dmp -M0 -i3 -C4 -S"
  1274.        export BDDEINIT;
  1275.  
  1276.   And, just like we  said before, BDDEINIT is interpreted *after*  the ini-file.
  1277.   Then the  command-options are interpreted.  However, you can also  add an ini-
  1278.   file  on the  commandline.  Its format  is  exactly the  same  as BDDE.INI  or
  1279.   '.bdderc'. Just use the '-Ix' option:
  1280.  
  1281.        bdde ls -l -Ialien.ini
  1282.  
  1283.   This way you can keep the options needed for a certain task  neatly in an ini-
  1284.   file so you  don't have to find it  all out again or issue all  the options at
  1285.   the commandline. You  don't have to erase ini-files  or environment-variables,
  1286.   since BDDE will only use  the last value entered  and cancel out all  previous
  1287.   entered values. E.g. if your ini-file contains:
  1288.  
  1289.        -Fc:\spec\bdde.dmp
  1290.        -M0
  1291.        -i3
  1292.        -C4
  1293.  
  1294.   and you issue this command:
  1295.  
  1296.        bdde cp -Fd:\temp\games1.dmp -M1 -i1 -C3 * .
  1297.  
  1298.  
  1299.            BDDE V1.5c User Guide page 22 - (c) 1992,4 HanSoft & Partners
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.   BDDE wil  still use  file D:\TEMP\GAMES1.DMP,  treat it  like an  Anadisk-dump
  1306.   with interleave 1:1 and produce files for the SpecEm emulator.
  1307.  
  1308.  
  1309.   21. Other options
  1310.   -----------------
  1311.   -s   When a  different number  of sectors has  been allocated  to a  file then
  1312.        necessary (e.g. 2  sectors of 256 bytes have been allocated  to a file of
  1313.        256 bytes) this option comes in. It disregards the length of the file and
  1314.        forces BDDE to use the number-of-sectors entry. Use only  when BDDE fails
  1315.        to produce a usable file.
  1316.   -dx  When a  DATA file  is saved  the BetaDisk  doesn't seem  to be  store any
  1317.        information about the variable-name. Since it's vital to store some value
  1318.        in the  header BDDE picks  a variable-name,  starting with 'A'.  Then you
  1319.        want to use  another character to start  with use this option,  e.g. -dd,
  1320.        which  starts off with  'D'. After assigning  a character to  a DATA file
  1321.        this value is incremented,  so the next DATA file would  get 'E' assigned
  1322.        to it. However,  the Spectrum doesn't seem  to care to which  variable it
  1323.        was  originally assigned as  long as the  type and size  are correct. Use
  1324.        only when the Spectrum fails to read the DATA file.
  1325.   -f   This  option fixes  a  variable-name. Usually  used  in combination  with
  1326.        option -dx,  e.g. `bdde cp -dh -f ...`.  This will assign variable 'H' to
  1327.        every DATA file on the dump.
  1328.   -#   The BetaDisk  doesn't just  discard the variable-name  of DATA  files, it
  1329.        even doesn't store what kind of file has been saved! This  information is
  1330.        even more vital to the Spectrum. BDDE uses a smart algorithm to  find out
  1331.        what  kind of  DATA file has  been saved.  It works excellent  when using
  1332.        undamaged  DATA files with no more than 127 dimensions. However, when for
  1333.        some reason this algorithm doesn't work  you can force numeric arrays  by
  1334.        using this  option. Be  careful: *ALL*  arrays will  be saved  as numeric
  1335.        arrays when using this option.
  1336.   -$   The same as above. Forces string arrays.
  1337.  
  1338.  
  1339.   22. Just another `od`..
  1340.   -----------------------
  1341.   Let's say you issue a simple `ls` and  all you get is a lot of error-messages.
  1342.   So  you want to see  what the heck is  wrong with track 0. Or  you want to see
  1343.   what is on the Tasword II file on track 4 before copying it to  disk. A simple
  1344.   file-viewer won't get you very far  since Anadisk added sector-ID's. And  when
  1345.   you're using an older version  of Anadisk even the  sectors may not be in  the
  1346.   correct order.  In these cases  `od` will save  you without resorting  to your
  1347.   old BetaDisk. Let's see what's on track 0:
  1348.  
  1349.        bdde od
  1350.  
  1351.   `od` will generate this output:
  1352.  
  1353.  
  1354.  
  1355.  
  1356.  
  1357.  
  1358.            BDDE V1.5c User Guide page 23 - (c) 1992,4 HanSoft & Partners
  1359.  
  1360.  
  1361.  
  1362.  
  1363.  
  1364.   Track 0 (00h), sector 0 (00h)
  1365.  
  1366.     0 (00h)     63 6f 70 79 - 20 20 20 20 - 42 28 01 20 - 01 02 00 01
  1367.    16 (10h)     62 61 63 6b - 75 70 20 20 - 42 2c 01 24 - 01 02 02 01
  1368.    32 (20h)     73 63 6f 70 - 79 20 20 20 - 43 00 80 00 - 80 0d 04 01
  1369.    48 (30h)     66 6f 72 6d - 61 74 20 20 - 43 00 a0 00 - a0 0a 01 02
  1370.    64 (40h)     66 6f 72 6d - 61 74 2a 20 - 43 00 a0 00 - a0 0a 0b 02
  1371.    80 (50h)     73 63 6f 70 - 79 20 20 20 - 42 2a 01 22 - 01 02 05 03
  1372.    96 (60h)     62 61 63 6b - 75 70 20 20 - 43 00 80 00 - 80 08 07 03
  1373.   112 (70h)     63 6f 70 79 - 20 20 20 20 - 43 00 80 00 - 80 0e 0f 03
  1374.   128 (80h)     00 6f 70 79 - 20 20 20 20 - 43 00 80 00 - 80 00 0d 04
  1375.   144 (90h)     00 6f 70 79 - 20 20 20 20 - 43 00 80 00 - 80 00 0d 04
  1376.   160 (A0h)     00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00
  1377.   176 (B0h)     00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00
  1378.   192 (C0h)     00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00
  1379.   208 (D0h)     00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00
  1380.   224 (E0h)     00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00
  1381.   240 (F0h)     00 00 00 00 - 00 00 00 00 - 00 00 00 00 - 00 00 00 00
  1382.  
  1383.   Track 0 (00h), sector 1 (01h)
  1384.  
  1385.   ....
  1386.  
  1387.  
  1388.   Sorry I  didn't include  al 16 screens..  It may not  be very  helpful either.
  1389.   That's  why BDDE has its  '-c' option (just like good  old Unix). It shows the
  1390.   same information, but in ASCII.
  1391.  
  1392.  
  1393. Track 0 (00h), sector 0 (00h)
  1394.  
  1395.   0 (00h)     copy    B(. ....backup  B,.$....scopy   C.......format  C.......
  1396.  64 (40h)     format* C.......scopy   B*."....backup  C.......copy    C.......
  1397. 128 (80h)     .opy    C........opy    C.......................................
  1398. 192 (C0h)     ................................................................
  1399.  
  1400. Track 0 (00h), sector 1 (01h)
  1401.  
  1402. ....
  1403.  
  1404.  
  1405.   If there are any hackers reading: you know what to do with this kind of stuff,
  1406.   don't you?  If you don't have  any use for it  just forget it. When  using the
  1407.   ASCII-display every non-printable  character is shown as a  dot. If you really
  1408.   need to distinguish between dots and non-printable characters use the hexadec-
  1409.   imal display.
  1410.  
  1411.   Finally, you  can select any track on the  BetaDisk (dump). Just use the '-tx'
  1412.   option. Replace the 'x' with any valid logical track number,  e.g. to dump the
  1413.   fifth track issue this command:
  1414.  
  1415.        bdde od -t4
  1416.  
  1417.            BDDE V1.5c User Guide page 24 - (c) 1992,4 HanSoft & Partners
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.   If you select a track beyond the disk an error message is displayed.
  1424.  
  1425.  
  1426.   23. SmartSeek
  1427.   -------------
  1428.   BDDE has  two ways to access a track. The first is sequential, so first of all
  1429.   track 0 is read, then track 1 and so on. When using `od` you could be in for a
  1430.   long wait. Let's say  you want to  dump track 150. If  BDDE would access  this
  1431.   track sequential  150 tracks of 4 kB  would have to be read.  And if you don't
  1432.   register, that's what you're in for..
  1433.  
  1434.   So  register! Because  the registered  version  has the  SmartSeek option  and
  1435.   dumping track 150  is just as  fast as dumping track  0. It's also  very handy
  1436.   when you haven't MOVEd your disk for some time and a lot of deleted files have
  1437.   to  be skipped. Yes,  of course when  your old Spec  is still  working you can
  1438.   *still* MOVE it..
  1439.  
  1440.   It  can even jump back a  few tracks when necessary  but the chance of finding
  1441.   yourself in  that kind  of situation  is very  remote. Usually  all files  are
  1442.   sorted in order of allocation. BDDEs `ls` doesn't sort anything..
  1443.  
  1444.   When SmartSeek is active the dump is really acting like it's a  disk. BDDE can
  1445.   randomly access any 'track'. However, when you never issue an `od` or use 'cp'
  1446.   conditionally you won't need SmartSeek very often. SmartSeek is activated when
  1447.   you use the '-S'  option. It actually works on every  command, but since `ls`,
  1448.   `df` and `di` only access track 0  you won't experience any dramatic increases
  1449.   in performance when  issuing these commands. An  example of a sensible  use of
  1450.   SmartSeek:
  1451.  
  1452.        bdde od -t150 -S
  1453.  
  1454.   But I've done  enough advertising  for one  day. Let's continue  to the  final
  1455.   level in this great adventure named the 'Quest for the Lost Spectrum'. Reading
  1456.   the files in the emulators..
  1457.  
  1458.  
  1459.   24. I love it when a plan comes together..
  1460.   ------------------------------------------
  1461.   Actually I'm  doing somebody  elses job down  here. It  should all  be in  the
  1462.   manuals of the Spectrum  Emulator, but when you hate to switch manuals as much
  1463.   as I do continue reading.
  1464.  
  1465.   Just  a little  tip before  you  get too  enthusiastic and  try to  load  in a
  1466.   multiple file program or  something like that.  Start off with something  very
  1467.   easy,  like a  BASIC  program.  Be aware  that  BASIC programs  which  contain
  1468.   machine-code (e.g. in a  REM statement) might *not*  work! Because the  memory
  1469.   layout of every emulator is different from that of a standard BetaDisk machine
  1470.   addresses may  have  been moved  and this  could easily  "crash" the  emulated
  1471.   Spectrum.  However, registered  users receive  a small  program that  tries to
  1472.   emulate  this layout while preserving  all functionality so  you don't have to
  1473.   hack a lot to get these programs up and running..
  1474.  
  1475.  
  1476.            BDDE V1.5c User Guide page 25 - (c) 1992,4 HanSoft & Partners
  1477.  
  1478.  
  1479.  
  1480.  
  1481.  
  1482.   Sorry folks,  I  have to  split  you up  again! First  of  all Gerton  Lunters
  1483.   Spectrum Emulator for MS-DOS:
  1484.  
  1485.   If  you want to read a  file into this emulator  there are two possible angles
  1486.   you can take. First of all, you can assign the file to the  RS232 port using a
  1487.   command-line option:
  1488.  
  1489.        Z80 -u[SpecFile]
  1490.  
  1491.   Of course  [SpecFile] is  a '.bas', 'chr'  or '.nmb'  file generated  by BDDE.
  1492.   Another way is  to enter the Emulator,  press <F10> and choose  <I>nput RS232.
  1493.   Then you can select  your file using <D>isk. Leave the  menu by pressing <ESC>
  1494.   and issue an RS232 command in Sinclair BASIC:
  1495.  
  1496.        LOAD *"b"                     to read a BASIC program
  1497.        LOAD *"b" CODE <address>      to read a CODE program
  1498.        LOAD *"b" DATA [var]<$>()     to read a DATA file
  1499.  
  1500.   E.g.:
  1501.  
  1502.        LOAD *"b" CODE 25000
  1503.        LOAD *"b" DATA i$()
  1504.        LOAD *"b" DATA i()
  1505.  
  1506.   The  border will  flash  for a  while and  hurray! There  it  is! You  can now
  1507.   continue with section 20 unless you are using a *registered* copy of  BDDE and
  1508.   a copy of Gerton Lunters Z80 emulator V2.x.
  1509.  
  1510.   If you want  to read a  file into this version  of the emulator there  are two
  1511.   possible angles you  can take. First, if  you use multiple .TAP  file mode let
  1512.   BDDE write  its files  to your  multiple .TAP  file directory  and start  your
  1513.   emulator like this:
  1514.  
  1515.        Z80 -td [directory_multiple_tap]
  1516.  
  1517.   That is  if you haven't added that option (yet)  to your Z80.INI. You can also
  1518.   string .TAP files together and thus  create a file you can use in  single .TAP
  1519.   file mode.
  1520.  
  1521.   To read a file, just issue any valid Sinclair BASIC tape-command:
  1522.  
  1523.        LOAD "<name>"                      to read a BASIC program
  1524.        LOAD "<name>" CODE <address>       to read a CODE program
  1525.        LOAD "<name>" DATA [var]<$>()      to read a DATA file
  1526.  
  1527.   E.g.:
  1528.  
  1529.        LOAD "format" CODE 25000
  1530.        LOAD ""
  1531.        LOAD "backup"
  1532.        LOAD "mfiler" DATA i$()
  1533.        LOAD "smo" DATA i()
  1534.  
  1535.            BDDE V1.5c User Guide page 26 - (c) 1992,4 HanSoft & Partners
  1536.  
  1537.  
  1538.  
  1539.  
  1540.  
  1541.   There it is! It was worth the wait, wasn't it? Now continue with section 20.
  1542.  
  1543.   *ATARI* It  seems that Christian Gandler  doesn't like to write  long manuals.
  1544.   But it is very easy anyway. The file INHALT.INF contains all information about
  1545.   the Spectrum tape-files  in the directory.  BDDE does *not* create  this file,
  1546.   since the emulator creates it anyway when you issue a LOAD statement. This may
  1547.   take a while (I wouldn't know since I don't have an Atari-ST), especially when
  1548.   you put a full 640 kB BDDE-floppy in your drive. Don't write-protect the disk!
  1549.   It is very hard for any program to write a file to disk  when you have enabled
  1550.   write-protection..
  1551.  
  1552.   To read a file, just issue any valid Sinclair BASIC tape-command:
  1553.  
  1554.        LOAD "<name>"                      to read a BASIC program
  1555.        LOAD "<name>" CODE <address>       to read a CODE program
  1556.        LOAD "<name>" DATA [var]<$>()      to read a DATA file
  1557.  
  1558.   E.g.:
  1559.  
  1560.        LOAD "format" CODE 25000
  1561.        LOAD ""
  1562.        LOAD "backup"
  1563.        LOAD "mfiler" DATA i$()
  1564.        LOAD "smo" DATA i()
  1565.  
  1566.   A window will appear when you issue a null name (e.g. LOAD  ""). At the bottom
  1567.   of the window you can select a directory. Other useful keys are:
  1568.  
  1569.        <Up> and <Down>     Select a file
  1570.        <Return>            Confirms your choice
  1571.        <F1>                Reread INHALT.INF
  1572.        <F2>                Regenerate INHALT.INF
  1573.        <ESC>               "Tape loading error"
  1574.  
  1575.   The name you'll have  to use is exactly  the same as your filename,  e.g. when
  1576.   the Atari filename is "termina0", you'll have to load it  into the emulator by
  1577.   issuing:
  1578.  
  1579.        LOAD "termina0"
  1580.  
  1581.   There it  is! Now  you can continue  and read section  20 while I  tribute the
  1582.   famous last words of this section to all SpecEm users..
  1583.  
  1584.   *SPECEM*  To read a  file, just issue  any valid Sinclair  BASIC tape-command.
  1585.   Just be sure that the files that you want to read in are in the same directory
  1586.   as your SpecEm emulator:
  1587.  
  1588.        LOAD "<name>"                      to read a BASIC program
  1589.        LOAD "<name>" CODE <address>       to read a CODE program
  1590.        LOAD "<name>" DATA [var]<$>()      to read a DATA file
  1591.  
  1592.  
  1593.  
  1594.            BDDE V1.5c User Guide page 27 - (c) 1992,4 HanSoft & Partners
  1595.  
  1596.  
  1597.  
  1598.  
  1599.  
  1600.   E.g.:
  1601.  
  1602.        LOAD "format" CODE 25000
  1603.        LOAD "backup"
  1604.        LOAD "mfiler" DATA i$()
  1605.        LOAD "smo" DATA i()
  1606.  
  1607.   The name you'll  have to use depends on your filename.  Just ignore the exten-
  1608.   sion   and  trailing   underscores,   e.g.  when   the   MS-DOS  filename   is
  1609.   "0ape_rd_.__b", you'll have to load it into the emulator by issuing:
  1610.  
  1611.        LOAD "0ape_rd"
  1612.  
  1613.  
  1614.   25. Piping and redirecting
  1615.   --------------------------
  1616.   I think  you MS-DOS junkies have found  out by now that I  like to use another
  1617.   Operating System.  Right. It's Unix. Unfriendly, chaotic, but awesome (believe
  1618.   me).  If you  compare the  script language  of `ksh`  or  `csh` to  the batch-
  1619.   language of MS-DOS  it looks like  the latter has been  designed a very  drunk
  1620.   COBOL-programmer.  Every Unix  command has  a very  small but  clearly defined
  1621.   task. The only way you can get a Unix-box to work is by putting these commands
  1622.   together by pipes, redirections, environment  variables, etc. And you can tune
  1623.   the operation of these commands by using options.
  1624.  
  1625.   This  philosophy has effected  BDDE. There  is no  paging option,  no printing
  1626.   option, or any  option that every  MS-DOS programmer usually  includes in  his
  1627.   program. But you can do all this with standard MS-DOS or Unix tools:
  1628.  
  1629.   Print `ls` output:
  1630.  
  1631.        bdde ls -l > prn
  1632.        bdde ls -l | lp (Unix)
  1633.  
  1634.   Show `ls` output per page:
  1635.  
  1636.        bdde ls -l | more
  1637.        bdde ls -l | pg (Unix)
  1638.  
  1639.   Remove headers from `od` output:
  1640.  
  1641.        bdde od -c | find h) | find /v sector
  1642.        bdde od -c | grep h\) | grep -v sector (Unix)
  1643.  
  1644.   Print 'od' output without headers:
  1645.  
  1646.        bdde od -c | find h) | find /v sector > prn
  1647.        bdde od -c | grep h\) | grep -v sector | pr | lp (Unix)
  1648.  
  1649.   Most MS-DOS  users never  utilize redirection  and  piping. That  is a  shame,
  1650.   because it is *very* powerful and has a great potential. Many examples in this
  1651.   documentation have been generated by redirecting the output of BDDE, e.g.:
  1652.  
  1653.            BDDE V1.5c User Guide page 28 - (c) 1992,4 HanSoft & Partners
  1654.  
  1655.  
  1656.  
  1657.  
  1658.  
  1659.        bdde ls -l > bdde.txt
  1660.  
  1661.   Of  course, there a very few tools available when you use standard MS-DOS, and
  1662.   there  are even fewer  programmers that support  this feature,  although it is
  1663.   very easy (when you program in C)  and even portable! Standard MS-DOS provides
  1664.   only `sort`, `more` and  `find`, which are in fact  (less capable) equivalents
  1665.   of the Unix commands `sort`, `more` and `grep`. But even then you can do quite
  1666.   a lot..
  1667.  
  1668.  
  1669.   26. Mum, it doesn't work!
  1670.   -------------------------
  1671.   We  really tried to  test every possible  BetaDisk we could  lay our hands on,
  1672.   verify our documentation using different sources, etc. We even use the program
  1673.   ourselves and we never ran into  trouble. However, every program has bugs  and
  1674.   so has BDDE. Otherwise we  would never find or fix any and we do. So you might
  1675.   experience problems. Read very carefully, I only write this once:
  1676.  
  1677.   WE CANNOT  PAY ANY  DAMAGES, LARGE  OR SMALL.  SO NEITHER THE  AUTHOR NOR  ANY
  1678.   DISTRIBUTOR  SHALL  BE  LIABLE  FOR  ANY DIRECT,  INDIRECT,  CONSEQUENTIAL  OR
  1679.   INCIDENTAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THIS PRODUCT  OR
  1680.   BUNDLED  UTILITY-PROGRAMS,  INCLUDING  ANY DAMAGES  RESULTING  FROM  ERRORS IN
  1681.   WRITTEN MATERIALS OR DOCUMENTATION. USE AT YOUR OWN RISK!!
  1682.  
  1683.   But we'll give you support and a nice smile when you stop by for a beer. We'll
  1684.   give  the best  support to  registered users,  but comments  from unregistered
  1685.   users are welcome  too. If you  have any ideas for  enhancement or help  me to
  1686.   port this program  to other Operating Systems or  environments, please contact
  1687.   me. This includes adding support for more Spectrum Emulators (I never realized
  1688.   how many there are!). Of course, we only support BDDE.
  1689.  
  1690.   But  what do you have to do when  BDDE *really* doesn't work? It would be very
  1691.   nice  if you  send me  your copy  of BDDE  and  the dump  that BDDE  failed to
  1692.   convert. Then we can  try to reproduce your problem. But if you try to convert
  1693.   your dairy in Tasword II and do not want so send me such personal or sensitive
  1694.   material please send me a diskette with your copy of BDDE and a debug listing.
  1695.   You can make a debug listing with this command:
  1696.  
  1697.        bdde [command] <options> -D0 [filespec] [directory] > [filename]
  1698.  
  1699.   But you should be able  to think of that  yourself after our nice  piping-and-
  1700.   redirecting tutorial ;-).
  1701.  
  1702.  
  1703.   27. (Error)messages
  1704.   -------------------
  1705.   BDDE can generate following messages. Usually only errors of debug-level 2 and
  1706.   higher  will be  reported, unless  you specify  another debug-level  using the
  1707.   '-Dx' option.
  1708.  
  1709.   FillBuf (5): Unexpected end of 'dumpfile'
  1710.   FillBuf (5): Unknown error reading file 'dumpfile'
  1711.  
  1712.            BDDE V1.5c User Guide page 29 - (c) 1992,4 HanSoft & Partners
  1713.  
  1714.  
  1715.  
  1716.  
  1717.  
  1718.        BDDE  detected an  End-Of-File while  reading  a dumpfile.  You may  have
  1719.        forgotten to dump the  whole disk or specified  the wrong mediatype  with
  1720.        the '-Mx' option. Can also be caused by data-corruption in track 0.
  1721.  
  1722.   GetTrk (4): Wrong track read: expected track x, got track y
  1723.   CheckHeader (4): Invalid sector header: Fys. track (xxh)/Log. track (xxh)
  1724.   CheckHeader (4): Invalid sector header: Fys. track (xxh)/Calc. track (xxh)
  1725.   CheckHeader (4): Invalid sector header: Fys. side (xxh)/Calc. side (xxh)
  1726.   CheckHeader (4): Invalid sector header: Fys. sector (xxh)/Calc. sector (xxh)
  1727.   GetILeave (4): Invalid sector header: Fys. sector (xxh)/Calc. sector (xxh)
  1728.  
  1729.        When  you're  using  Anadisk and  included  sector-ID's  BDDE incessantly
  1730.        checks which track/side/sector has been  read. This error might be caused
  1731.        by inconsistency within  the sector-ID itself. It might also  be that the
  1732.        sector  read wasn't the  sector BDDE expected.  Maybe the  wrong file was
  1733.        read  (e.g.  COMMAND.COM).  May  be you  didn't  follow  the instructions
  1734.        concerning Anadisk, specified the wrong mediatype or only dumped one side
  1735.        of a double-sided  BetaDisk. May be you didn't  compensate the interleave
  1736.        with the unregistered version of BDDE.
  1737.  
  1738.   SeekTrk (4): Random access failed on track x of file 'dumpfile'
  1739.   SeekTrk (4): Sequential access failed on track x of file 'dumpfile'
  1740.  
  1741.        The first message indicates that SmartSeek failed. It should never occur.
  1742.        The second  message indicates that a  track before the current  track was
  1743.        requested. This message should never  occur when using a clean dump-file.
  1744.        It may indicate a rare case of data-corruption in the BetaDisk directory.
  1745.  
  1746.   MountDisk (5): Unable to mount file 'dumpfile'
  1747.  
  1748.        Mapping a  physical disk to a directory is  called 'mounting' in Unix. If
  1749.        BDDE fails to find the dumpfile this  message will be issued. Usually due
  1750.        to typing errors.
  1751.  
  1752.   MountDisk (4): Unable to assign buffer to file 'dumpfile'
  1753.   CopyFile (4): Unable to assign buffer to file 'DOSfile'
  1754.  
  1755.        Unregistered  users  never get  these  messages since  they  use standard
  1756.        buffers. The registered version of BDDE has two fairly large buffers. The
  1757.        dump-file  buffer is  exactly the  size  of a  physical track  (including
  1758.        sector-IDs when necessairy).  The file-buffer is larger, more  than 10 kB
  1759.        so even the  largest files can  be written to  disk in only  three write-
  1760.        actions.  If a  buffer cannot  be  assigned to  a file,  this  message is
  1761.        display. Actually,  it is rather  hypothetical since the buffers  are not
  1762.        allocated on the heap.
  1763.  
  1764.   MountDisk (4): File 'dumpfile' probably not a BetaDisk; media descriptor: xxh
  1765.  
  1766.        BDDE warns you that this dumpfile does not look like  a BetaDisk. A valid
  1767.        BetaDisk has an indication of its file-format, called a media descriptor.
  1768.        However, the value  of this media descriptor is out of range. This always
  1769.        indicates data corruption on track 0.
  1770.  
  1771.            BDDE V1.5c User Guide page 30 - (c) 1992,4 HanSoft & Partners
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.   GetAType (4): Too many dimensions: file 'DOSfile' written as CODE
  1778.   GetAType (4): Too many elements: file 'DOSfile' written as CODE
  1779.   GetAType (4): Corrupt data: file 'DOSfile' written as CODE
  1780.   GetAType (4): Unknown type: file 'DOSfile' written as CODE
  1781.  
  1782.        These messages are shown when there  is something wrong with a DATA  file
  1783.        and you didn't use the '-#' or '-$' options. The first  message indicates
  1784.        that there are more than 127 dimensions and that is beyond the specifica-
  1785.        tions of the detection algorithm. When the second message occurs there is
  1786.        really something wrong.  The algorithm detected more  than 65536 elements
  1787.        and  that's  more than  64  kB. The  third  message is  displayed  when a
  1788.        checksum error  is detected. The last  message is shown  when an entirely
  1789.        new data-type has been found. Most of the time these last  three messages
  1790.        indicate data-corruption. The file will still be written, but with a CODE
  1791.        header.
  1792.  
  1793.   GetAType (2): 'Betafile'  (xx bytes) contains  numeric array A  (x elem. in  y
  1794.   dims.)
  1795.   GetAType (2):  'Betafile' (xx  bytes) contains string  array A  (x elem.  in y
  1796.   dims.)
  1797.   GetAType (2):  'Betafile' (xx bytes)  contains invalid array  A (x elem.  in y
  1798.   dims.)
  1799.  
  1800.        The first  two messages indicate  that the detection  algorithm performed
  1801.        perfectly. The last  message will occur only when other  DATA file errors
  1802.        have been displayed.  It might  be helpful  in finding the  cause of  the
  1803.        error.
  1804.  
  1805.   PatchName (3): Rename file 'XX.XXX' to 'DOSfile'
  1806.  
  1807.        BDDE  will  try to  synchronize the  names in  the tape-headers  with the
  1808.        filenames of a specific emulator.  However, once BDDE starts using random
  1809.        filenames it actually loses control. You are warned that this file  can't
  1810.        be read into your emulator without renaming it first. Will only  be shown
  1811.        when using a tape-header conversion like SpecEm.
  1812.  
  1813.   WriteBlock (4): Unknown error writing RS232 header to file 'DOSfile'
  1814.   WriteBlock (4): Unknown error writing tape header to file 'DOSfile'
  1815.   WriteBlock (4): Unknown error writing checksum to file 'DOSfile'
  1816.   WriteBlock (4): Unknown error writing data to file 'DOSfile'
  1817.  
  1818.        An error occurred while BDDE  tried to write data to a DOS  file. Most of
  1819.        the time these  messages do not come alone.  May be your disk  is full or
  1820.        write-protected.
  1821.  
  1822.   CopyFile (4): Unable to open file 'DOSfile'
  1823.  
  1824.        BDDE is  unable to create  a DOS file.  May be  you specified an  invalid
  1825.        target-directory. May be  there are already  too many files in  the root-
  1826.        directory.
  1827.  
  1828.   CopyFile (4): Error closing file 'DOSfile'
  1829.  
  1830.            BDDE V1.5c User Guide page 31 - (c) 1992,4 HanSoft & Partners
  1831.  
  1832.  
  1833.  
  1834.  
  1835.  
  1836.        BDDE  was unable to close the DOS  file correctly. May be you removed the
  1837.        floppy or your  disk is full.  This message may  be accompanied by  other
  1838.        write-errors.
  1839.  
  1840.   RunLine (2): Program 'Betafile' runs from line xxxx
  1841.   RunLine (3): Unable to determine autoRUN linenumber of program 'Betafile'
  1842.  
  1843.        The method BDDE uses to determine the autoRUN linenumber works with 99.9%
  1844.        of all programs.  In that case the first message is printed, the BetaDisk
  1845.        filename  and the  linenumber itself.  When the  method fails  the second
  1846.        message is shown.
  1847.  
  1848.   MakeEntry (3): BetaDisk file 'Betafile' may be an unconvertible snapshot
  1849.  
  1850.        BDDE  warns you  that it  has  found a  CODE file  with a  length  of 192
  1851.        sectors. This is an strong indication for a BetaDisk+ snapshot.  BDDE can
  1852.        convert  it, but  you might  be  unable to  use  it. If  anyone has  some
  1853.        technical information  concerning snapshots, write  us! If we can  use it
  1854.        you get a registered copy of BDDE for free!
  1855.  
  1856.   MakeEntry (4): Unknown type 'X' in file 'Betafile'; CODE assumed
  1857.  
  1858.        BDDE found another file-type than BASIC, CODE  or DATA. So it was written
  1859.        to disk as a CODE file. Might be data-corruption or a BetaDisk+ disk.
  1860.  
  1861.   CheckLength (4): File 'Betafile' needs xx sectors but allocates yy
  1862.  
  1863.        The  BetaDisk file  has  allocated  another number  of  sectors than  its
  1864.        filesize indicates. If you're unable to  load the file correctly try  the
  1865.        '-s' option.
  1866.  
  1867.   CheckLength (3): Filesize adjusted: 'Betafile' now xxx bytes long
  1868.  
  1869.        BDDE warns you, that the previous error has occurred and is  corrected by
  1870.        the '-s' option.
  1871.  
  1872.   MakeDir (3): Erased file '?etafile' found: skipped
  1873.  
  1874.        BDDE warns  it found an erased file. Since the  '-u' option is not speci-
  1875.        fied, the file will be skipped.
  1876.  
  1877.   MakeDir (4): BetaDisk reported more files than BDDE found (xx vs. xx)
  1878.   MakeDir (4): BetaDisk reported less files than BDDE found (xx vs. xx)
  1879.  
  1880.        BDDE found more  or less files than  specified by the BetaDisk.  Could be
  1881.        data-corruption.  However, BDDE  will still  copy  all the  files it  has
  1882.        found.
  1883.  
  1884.   MakeCopy (3): BetaDisk file 'Betafile' skipped
  1885.  
  1886.  
  1887.  
  1888.  
  1889.            BDDE V1.5c User Guide page 32 - (c) 1992,4 HanSoft & Partners
  1890.  
  1891.  
  1892.  
  1893.  
  1894.  
  1895.        BDDE warns that the  BetaDisk file could not be copied and is skipped. It
  1896.        will continue with  the next  file. Will always  be accompanied by  other
  1897.        open- and/or write errors on the equivalent DOS-file.
  1898.  
  1899.   MakeCopy (2): BetaDisk file 'Betafile' copied to 'DOSfile'
  1900.  
  1901.        BDDE informs  you that it successfully copied a  BetaDisk file to its DOS
  1902.        file equivalent.
  1903.  
  1904.   MakeDump (5): Track xx does not exist; disk has only xx tracks
  1905.  
  1906.        The requested track is not present  on the BetaDisk since the poor  thing
  1907.        has only xx tracks. A double-sided 80 tracks disk has 160  logical tracks
  1908.        numbered from 0  to 159.  A single-sided  40 tracks disk  has 40  logical
  1909.        tracks  numbered 0  to 39. All  other disks  have 80 tracks  (0-79). When
  1910.        using the '-t' option please specify a valid track number.  Possibly data
  1911.        corruption.
  1912.  
  1913.   MakeDump (5): Disk access failed on track xx of file 'dumpfile'
  1914.  
  1915.        Will always be accompanied by seek-errors. See SeekTrk() errors.
  1916.  
  1917.   GetListFile (5): List-file 'ListFile' not found
  1918.  
  1919.        BDDE  checks whether an  list-file is there  before it tries  to open it.
  1920.        This is always caused by typing errors at the '@' character. Unregistered
  1921.        users cannot get this message.
  1922.  
  1923.   GetListFile (5): Error reading list-file 'ListFile'
  1924.  
  1925.        This might be caused by a physical disk error or not enough memory. If it
  1926.        is a physical disk error you cannot  access it with other utilities (e.g.
  1927.        copying  it). Otherwise  you might  have consumed  too much  memory using
  1928.        init-files.
  1929.  
  1930.   GetOpts (3): Illegal option '-X' ignored
  1931.  
  1932.        You specified an  option that is  not supported by  BDDE. Often the  '-S'
  1933.        option  that is  not supported  in  the unregistered  version. BDDE  will
  1934.        ignore the option and continue.
  1935.  
  1936.   GetIniOptions (4): Init-file 'InitFile' not found
  1937.  
  1938.        BDDE checks whether  an init-file is  there before it  tries to open  it.
  1939.        This is always caused by typing  errors at the '-I' option or  init-files
  1940.        that are not properly configured. If you can't find the error  check your
  1941.        init-file(s) and $BDDEINIT.
  1942.  
  1943.   GetIniOptions (4): Error reading init-file 'InitFile'
  1944.  
  1945.        This might be caused by a physical disk error or not enough memory. If it
  1946.        is a physical disk error you cannot access it with other  utilities (e.g.
  1947.  
  1948.            BDDE V1.5c User Guide page 33 - (c) 1992,4 HanSoft & Partners
  1949.  
  1950.  
  1951.  
  1952.  
  1953.  
  1954.        copying  it). You  might have  created a  loop  in your  init-files (e.g.
  1955.        "bdde.ini" calling "atari.ini" and "z80v2.ini" calling "bdde.ini")!
  1956.  
  1957.   GetAllOptions (4): $HOME not defined; searching '.bdderc' in current directory
  1958.  
  1959.        Unix only. BDDE  needs the $HOME variable to locate your .bdderc file. If
  1960.        it isn't set BDDE might not be able to find your default init-file. Since
  1961.        this might contain vital information about  how your conversion has to be
  1962.        executed, it warns you.
  1963.  
  1964.   GetAllOptions (4): Definition of '$BDDEINIT' too long; truncated
  1965.  
  1966.        BDDEINIT may  only be 256 bytes long. If it  is longer BDDE cannot inter-
  1967.        pret it  completely. This  is to  warn you  that BDDE  will truncate  the
  1968.        contents of BDDEINIT.  As a consequence some settings  will be incomplete
  1969.        or even missing.
  1970.  
  1971.   GetAllOptions (4): Definition of 'drive:\path\bdde.com' too long; truncated
  1972.  
  1973.        DOS only. BDDE  needs the full pathname  of BDDE to locate  your BDDE.INI
  1974.        file. If it gets  truncated BDDE might not be  able to find your  default
  1975.        init-file.  Since this  might contain  vital  information about  how your
  1976.        conversion has to be executed, it warns you.
  1977.  
  1978.   GetAllOptions (5): Target directory 'directory' does not exist
  1979.  
  1980.        BDDE first checks  whether the target directory you  specified exists. If
  1981.        it doesn't BDDE terminates. All files couldn't have been opened anyway.
  1982.  
  1983.   UnMountDisk (4): Error unmounting file 'dumpfile'
  1984.  
  1985.        BDDE could not  close the dump-file correctly. Will  probably be accompa-
  1986.        nied by other read-errors.
  1987.  
  1988.  
  1989.  
  1990.  
  1991.  
  1992.  
  1993.  
  1994.  
  1995.  
  1996.  
  1997.  
  1998.  
  1999.  
  2000.  
  2001.  
  2002.  
  2003.  
  2004.  
  2005.  
  2006.  
  2007.            BDDE V1.5c User Guide page 34 - (c) 1992,4 HanSoft & Partners
  2008.  
  2009.  
  2010.  
  2011.  
  2012.  
  2013.   28. Tips and tricks
  2014.   -------------------
  2015.   1)   The listings produced by `ls` and  `cp` might be very useful when  trans-
  2016.        ferring complicated programs (e.g. games) to disk. Print them.
  2017.   2)   Convert all  your BetaDisks to dump-files before  using BDDE. They can be
  2018.        handled more  easily that  way. Compress  them to  self-extracting files,
  2019.        e.g. with ARJ. You can put three or more compressed dumps on a single 720
  2020.        kB floppy.
  2021.   3)   If you  try to dump a BetaDisk using  Anadisk and errors occur, write the
  2022.        faulty  tracks  down somewhere.  When  you  generate `ls`  output  (First
  2023.        Tk/Sd/Sc) you can easily find out which files are still usable.
  2024.   4)   Even  when BDDE  doesn't support your  emulator (yet) you  might still be
  2025.        able to use  it! How can  I find this out?  Easily. If your  emulator has
  2026.        tape-support try  the Atari-ST conversion  or the  .TAP files. If  it has
  2027.        RS232 support, try  the MS-DOS conversion. May be you only have to rename
  2028.        the file.
  2029.  
  2030.  
  2031.   29. Finally..
  2032.   -------------
  2033.   -The MS-DOS Spectrum Emulator is a product of G.A. Lunter
  2034.   -The Atari-ST Spectrum Emulator is a product of Christian Gandler
  2035.   -ARJ is a product of Robert K. Jung
  2036.   -AnaDisk is a product of Sydex
  2037.   -ADU is a product of AME Computing Systems
  2038.   -Norton Utilities is a product of Symantics
  2039.   -Unix is a product of AT&T
  2040.   -DRC is a product of David Harris
  2041.   -MS-DOS is a product of MicroSoft
  2042.   -PC-NFS is a product of Sun Laboratories
  2043.   -Tasword II was a product of Tasman Software
  2044.   -ZX Spectrum was a product of Sinclair Research Ltd.
  2045.   -BetaDisk was a product of Technology Research Ltd.
  2046.  
  2047.   "All other  trademarks mentioned in  this documentation are property  of their
  2048.   respective owners."
  2049.  
  2050.   Many  thanks to  Marcel and especially  Jack Verheydt  for their  patience and
  2051.   support while adding the Atari-conversion. Thank you, boys for believing in me
  2052.   and this program!
  2053.   Thank you Tinus  v/d Wouw for your  BetaDisk+ snapshot. I still  can't convert
  2054.   it, but now BDDE can  at least issue a warning! And your  BetaDisk with inter-
  2055.   leave 2:1 was very useful too!
  2056.   Many thanks to  all users  of the  'Tatort BBS' who  downloaded this  program,
  2057.   especially sysop Dick Pluym and Johan Muizelaar.
  2058.   And last but not least Gerton Lunter, who did not  only write a great Spectrum
  2059.   Emulator but mentioned this program in his  documentation so it could go where
  2060.   it never expected to go before!
  2061.  
  2062.   "BDDE was produced using Borland  (MS-DOS) and Mark Williams (Unix) compilers.
  2063.   Some  library functions  used  by  BDDE are  copyrighted  by their  respective
  2064.   owners. The read-me program was produced by David's Readme Compiler (DRC)."
  2065.  
  2066.            BDDE V1.5c User Guide page 35 - (c) 1992,4 HanSoft & Partners