<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Sat, 05 May 2001 09:06:00 -0700 (PDT)
From   : Thomas Harte <t.harte@...>
Subject: Re: Tape reading/writing

>    As I don't think the uef format is a good idea (I prefer original data
>  and other data (cover scans etc) to be completely separate, and it can
>  all easily be handled on a meta level with config files anyway), I
>  didn't work on make_uef anymore, but had a look around at other programs
>  that already existed.

Since I appreciate some people on the list may have an interest in
implementing tools or emulator support for tape formats, I thought I had
better qualify the UEF format.

It is chunk based and designed to store digital versions of pretty much all
of the information that would have come when you bought a program in just
one file. That means not only tape, disc and ROM media, but also inlay
scans, game instructions, author credits, etc. However, because of its
format none of this information is obligatory and adding new information
without disrupting programs which don't recognise it or possibly don't
support it is already handled by the chunk nature.

It also supports state snapshots, and hints about the configuration of
machine required to run the program. This latter information can be usefully
used in emulators (including ElectrEm in the next release) to automatically
configure the machine and run the program so that the modern desktop idea of
data files being the focus can be fully pursued - simply double click a UEF
and the emulator launches, configures itself and loads the file, usually
within less than a second.

Further, as of UEF version 0.8 (which I'm doing a final check of the specs
before uploading right now), a strict UEF-Tape chunk subset has been defined
in order to make it obvious which software - in all honesty probably the
vast majority - only cares about the UEF format for its tape support.

The tape support is the main reason UEF was invented - at the time it was
authored, no other file formats offering an entirely accurate tape level
view of the data existed. The best was !6502Em's format, but that only
stored bytes as they appeared once read from the tape via a BBC Master.
Which should be okay for all BBC Micro emulators, but isn't really good
enough for entirely accurate Electron emulation, and doesn't allow with full
accuracy a backwards conversion from tape file to genuine tape.

The INF format is even worse since it can't store non-ROM format data. The
UEF format (and in all fairness WH Scholten's new format also) make no
assumptions about the intended interpretation of bits on a tape. The UEF
format is knocking on a year old, and at least two large repositories of UEF
files exist online, the Stairway to Hell (www.stairwaytohell.com) and
Electron Forever (www.electronforever.com). Although the latter is
predictably uninterested in strictly BBC Micro games!

In truth, the main difference between WH Scholten's format and the UEF-Tape
subset is that the UEF-Tape subset has some chunks for common special cases
(blocks of high tone, high tone with dummy, implicit start/stop bits), and
that baud rate is a modal value. Also, the UEF format explicitly comes with
GZip compression, but that hardly counts as an issue.

A nice feature of the UEF format when compared to WH Scholten's is that bit
multiplexing information can be transparently stored. This is the
information that can be used by emulators (and is by ElectrEm) to improve
the graphics of old games, much as Spec256, PacDX and emulators such as that
do for other computer or arcade systems. However to date this ability has
only been used by one game - Dare Devil Denis - and then only to improve a
state snapshot rather than a genuine media such as a tape, disc or ROM. This
is a result of the tool set available at present (i.e. there isn't one)
rather than the format itself.

So, anyway, to a programmer looking to support tape images, supporting both
WH Scholten's format and the UEF-Tape subset is near trivial and hence
highly recommended - I will certainly be incorporating support for WH
Scholten's format into ElectrEm. And hopefully I've justified some of the
greater excesses of UEF?

-Thomas





_______________________________________________________
 Get 100% private, FREE email for life from Excite UK
 Visit http://inbox.excite.co.uk/ 

<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>