[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

NIB to Disk!



Hello,

there were still a few bugs in this thing but they're now ironed out, it
seems.

The code consists of: A little piece of C code (gcc, but should be
portable) for the PC that splits the .nib image into tracks, marks sync
bytes, makes sure the track start is at the start, removes garbage and
shortens inter-sector gaps, all to fit the 53248 bits per track of a
.nib image into the merely 51024 bits per track of a well-adjusted Disk
II drive.

Since the code is based on a bunch of educated guesses, it is currently
only usable for the "ultima_i_boot.nib.gz" and "ultima_i_player.nib.gz"
images in the Asimov unsorted directory, which contain the first, 1981
release of "Ultima", later known as "Ultima I". For other NIBs, some
changes will probably be required based on hand examination of the NIB
in question. I'm afraid a one-size-fits-all approach probably isn't
possible, given that .nib is such a poorly designed format - it contains
no information on sync bytes and real track length.

In addition to that, there is a small Apple II program that reads the
tracks as files from a DOS 3.3 disk and then writes them to a new disk.
It is written mostly in C, except for the actual track writing code,
which is in assembly language for timing reasons. You need cc65, the
6502 C compiler, and its companion assembler ca65 to build this.

Then there is a shell script that compiles everything, runs the PC side
code, and transfers the track files to the disk images.

After that, use standard ADT to get the images to your apple, insert an
empty floppy disk in slot 6, drive 2, insert the disk you just
transferred into drive 1, and reboot. Wait until 16 tracks have been
written to the target disk in drive 2, flip over the disk in drive 1,
and wait until it's done the remaining tracks. Put the target disk into
drive 1, reboot, and voila you just created a working copy of the
original "Ultima" game with the original copy protection, original
ability to run on 13-sector and 16-sector controllers, and all the
original data.

For those who know the program, I've tested the following elements of
the game: the demo program, the player disk copier, the start of the
game proper, character creation, walking around in the land and doing
some fighting, entering castles, towns, and dungeons and moving around
in them. Untested so far are the space travel and time travel sequences,
since you can't yet access them early in the game. But since everything
else works very well, I trust these will probably also work out.

If anybody is interested, I'll mail you a copy. It's just 15KB. Or, if
you don't want to play with the code but merely do the reconstruction
process on the Apple, I can send you the standard disk images that can
do the reconstruction. I have scanned images of the original
documentation as well.

(Note to self: stop posting novels!)
--
Linards Ticmanis