Well, which engine?

Discussions and help for the Bard's Tale Construction Set
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Post by Darendor »

Twoflower wrote:
Darendor wrote:Track 15, sector 14 has the text: "PRODOS ERROR # [...] HAS OCCURED!"...

It seems to me PRODOS isn't a copy protection or code scrambler but rather...the DOS from the Apple systems.
This actually sounds quite reasonable to me; according to Pete Rittwage's site, the only copy-protection present on the BT III disks should be the codewheel. All the disksides should be copyable. What sense does it make to do two different versions, when you could make an interpreter for almost everything in the Apple II version?

I'm pretty sure that you can find the exact same datastrings you find on the C-64 disk on the Apple II disk. This might also give me an opening to the images? Are these stored in some kind of native Apple II graphics format?

So far i've managed to find out that the images are stored as sequential commands, not as a bitmap image. I believe the image is plotted in vertical sequences from the upper left corner, and all these sequences are ended with byte #$FF. Removing parts of the image (counting the divider #$FF bytes) from the end causes the image to lose animation-frames and if you continue - parts of the image. I will investigate this more thoroughly later.
That sounds plausible.

I'm not sure but I think I remember the BTIII disks back in the day being bootable on either the C64 as well as Apple II. This explains why.
User avatar
Twoflower
Posts: 128
Joined: Thu Mar 19, 2009 12:40 am
Location: Haarlem, NL
Contact:

Post by Twoflower »

Well, a first quick check proves me right that the exact same strings can be found on both versions of BT III. Since Apple II disk-backups and the .D64 format doesn't work in the same way, the images differs - but I suspect it is more to it than that.

I will see if I can find one of the C-64 graphic-files embedded in the Apple BT I image aswell - this might - or might not - prove my theory once and for all.

EDIT: Well, now it didn't really prove anything, since the files on the Apple II disk looks like they are EOR'ed... With #$EA. :-) Shall process a couple of parts of it and see if I can find similar strings in the C-64 version. Or perhaps do the opposite way around.
/Twoflower
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Post by Darendor »

What does "EOR" mean?
User avatar
Twoflower
Posts: 128
Joined: Thu Mar 19, 2009 12:40 am
Location: Haarlem, NL
Contact:

Post by Twoflower »

Darendor wrote:What does "EOR" mean?
To simplify it a little - you know when you encode a letter, making A becoming C, B becoming D and so on? This is the same, but moved right #$EA bytes. Every byte is shifted right #$EA bytes, making text unreadable and code incomphrehensible.
/Twoflower
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Post by Darendor »

Oh I see.

I was thinking Eeyore. :?
User avatar
Twoflower
Posts: 128
Joined: Thu Mar 19, 2009 12:40 am
Location: Haarlem, NL
Contact:

Post by Twoflower »

Small progress have been made, and I can state the following:

* The BT III versions on C-64 and Apple II are very alike. Some parts might be identical, and the motor seems to be what really sets them apart. I'd be surprised if the graphics isn't the same on the two engines.

* I don't seem to be able to track the same likenesses in BT I. To cut it short: it seems to differ everywhere. Some strings here and there might be alike, and I don't think that's a coincidence.

* I've managed to do some graphic switching between BT III and BT I. So far i've only managed to replace the charset (which is located at memorylocation $15CE in BT I), but i'm slowly tracking down more.

* Memorymapping for BT I is rapidly progressing, but many things are still just unchartered waters.
/Twoflower
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Post by Darendor »

From what I remember, BTI was coded on the Apple IIe first, then ported to the C64 and other systems.

It seems logical to suppose BTII was coded the exact same way. As for III, the Prodos thing seems to support that theory but ZeroZero disagrees with me that it's an Apple DOS and he says it's just a copy protection/data encryption.



In short, which engine do you think is the most feasible to go with overall?
User avatar
Twoflower
Posts: 128
Joined: Thu Mar 19, 2009 12:40 am
Location: Haarlem, NL
Contact:

Post by Twoflower »

According to what I could find, Bard's Tale III was using Prodos 2. I'll look more into it - the scramling might be caused by a completely different way of storing and handling data than the common Commodore DOS.

EDIT: After checking a little, the only games using Prodos seem to be Wasteland, Dragon Wars and Bard's Tale III - all titles which have been released on the Apple II.
None of them have any type of physical copy-protection (like f.ex BT II) - all are codewheel/manual protected.


I'll ask around a little more.
/Twoflower
User avatar
Twoflower
Posts: 128
Joined: Thu Mar 19, 2009 12:40 am
Location: Haarlem, NL
Contact:

Post by Twoflower »

Some update on the progress:

Things are looking quite positive. After I chatted with Zerozero yesterday, I decided to take a peek at the protection for BT II. As it looks now, atleast one of the original versions utilizes exactly the same protection as the version of BT I i've allready been working with. As it looks now:

* BT II uses the same Pirateslayer protection as BT I.
* Unlike BT I, the Pirateslayer track/sector-loader is used on all disksides.
* The disksides B, C and D seems to be copyable = no protection on them.
* All files are EOR'ed (see explanation above) with #$EA.

But now I got to find a copy of the right original. :-)
/Twoflower
Post Reply