Login
Back to forumReply to this topicGo to last reply

Posted By

Hans
on 2013-01-04
13:46:43
 Bard's Tale

Raised this question months ago when the Arok attenders assembled themselves. No answer yet.....
So I'd like to ask again: is there any progress in making Bard's Tale suitable for the CBM 264?

Reg's,
Hans.
Posted By

Csabo
on 2013-01-04
14:54:54
 Re: Bard's Tale

Fair question! Let me try to write up all the known facts and the lay out where we stand.

- We're talking about Bard's Tale and Bard's Tale II. The 3rd one works.
- Those two games don't load past the beginning. The games ask for the Character Disk but they refuse to accept them.

Why don't they work? Possibilities:
a) It's a problem with emulation. I think this one can be eliminated because people have tried those disk images on the real iron and the same thing happened (please confirm).
b) The disk images we have are broken copies. This is likely.
c) The game never correctly worked. This is unlikely, but until someone can confirm playing them back in the day (anyone has a contact with Csory?), I wouldn't eliminate it.

So, assuming we have broken disk images, how can it be fixed?
1) Someone turns up a good copy and gives it to us. This would be nice.
2) If it's only the character disk, maybe it would work with the character disk from the C64 version. Worth a try.
3) Someone sits down and debugs the game. Once they know what the exact cause is, they will be able to tell us if it can be fixed, and what kind of effort it would require.

All we need is someone with the knowledge, free time and will to do 3). Realistically, the hopes of it happening are not high, but I'd love to be proven wrong.

Did I miss anything?
Posted By

Gaia
on 2013-01-04
15:08:15
 Re: Bard's Tale

Fair summary, Csabo happy I recall we discussed this very thing almost exactly 10 years ago around May 2003? I think I did try the character disk of the C64 version but it did not work (I wouldn't swear though). Someone mentioned once that Csory applied weird copy protection schemes (?) that the D64 format could not handle (Luca can you confirm?) and that could be a cause for the failure. If memory serves the D64 images do have more than the usual 35 tracks dumped with additional sector error info which implies either 1) faulty image 2) copy protection.
Posted By

Csabo
on 2013-01-04
15:23:33
 Re: Bard's Tale

Yeah, we did talk about this before... apparently happy
forum/19833

I guess siz never found his copy. So the current best guess is copy protection issue, which could possibly be worked around. I think I'm good with debugging/reverse engineering games, but I suck when it comes to I/O (never really learned or looked into it). I'd love to see these games work as well, BTW.

Off topic: I just also saw Hans' note in the Arok 2012 topic (which seems to have been completely overlooked by everyone). You didn't come to the party, did you?
Posted By

Gaia
on 2013-01-04
15:33:23
 Re: Bard's Tale

Well spotted that Csabo! Totally forgot about it.I guess siz should visit Luca that is our only hope happy Seriously, I think Luca shouldn't have removed the error code information from the files. These copy protections (the simpler ones anyway) usually read a certain sector which is intentionally "bad" and expect an error or a bit pattern that is specific to a certain type of sector error.

Here's a lowdown on the various sector error types (scroll way down until 2/3rd of the document):
http://ist.uwaterloo.ca/~schepers/formats/D64.TXT
Posted By

siz
on 2013-01-04
15:52:30
 Re: Bard's Tale

I've just checked my copy of Bard's Tale II: it's in plain D64 format (created by me with NilbTools using a ZoomFloppy and a parallel 1541-II).
It does accept my character disk and I was able to start a game. happy

About Bard's Tale 1: I did not found my copy. It should have been on the adjacent disk beside Bard's Tale II's disk but it was not there. Since then I looked through my disks several times but no signs of that game.
(Sadly I've deleted my IWIW.hu registration some weeks ago just to realize some days later that I had Csory in my contacts there)

update: I've looked at the Bard's Tale II zip: the disk images named bt2[a-d].d64 are the ones I've created.
Posted By

Csabo
on 2013-01-04
16:10:55
 Re: Bard's Tale

Oh cool, and you're right, BTII runs just fine now. One down, one to go!
Posted By

Hans
on 2013-01-06
10:35:36
 Re: Bard's Tale

If I understood the current state of BT correctly, we're here:

Part 1 (Tales Of The Unknown) = software available but still not working
Part 2 (The Destiny Knight) = working
Part 3 (The Thief Of Fate) = working
Dragon Wars (unofficial Part 4) = missing software.

To the best of my knowledge. BT and Dragon Wars were never released for the CBM 264 series officially.

So I assume the Plus/4 files were converted from the official C64 disks?

I'm not very experienced in converting, let alone in ML, but there certainly are members here who have been successful in conversion from the C64/128 platform to our system.

Who within our community does know more about this issue?
Posted By

Luca
on 2013-01-06
11:13:25
 Re: Bard's Tale

Hans converting (mostly) C64 games to Plus/4 is a distinctive one along the Plus/4 scene history, and sceners like Pigmy, Csory, TGMS had been real pillars of games' conversions. Even several demoparts have been straight converted (see some demos by Callisto or FYC).

Any info written here is correct, I can only add the copy tools specifically used by Csory in order to copy the disks of Bard's Tale I and II: Bard's Tale I Copy, Bard's Tale II Copy.
Posted By

Trypticon
on 2013-01-08
23:08:02
 Re: Bard's Tale

I think Centauri Alliance
http://plus4world.powweb.com/software/Centauri_Alliance
isort of fits into this as well - it was designed by the original developer with the obvious difference of a space theme. But, it's also supposed to allow import of BT characters (and even from other series - Ultima and Might & Magic) in the original C64 version.
Posted By

Degauss
on 2013-01-09
05:15:12
 Re: Bard's Tale

A bit off-topic maybe: I always wondered why no installment of the ultima series has been ported to +4. From the looks i guess the older parts are some mixture of Basic + ML and no sprites. So there are no "show-stoppers" for a conversion, but somehow nobody did one. Any idea why?
Posted By

Luca
on 2013-01-09
15:55:55
 Re: Bard's Tale

Mh, the same reasons you raised for Ultima could be simmetrically shifted over several strategic games, for example. I have always thought that conversions to Plus/4 were decided 50/50 by feasibility and interest the coder did put into that, probably neither Pigmy or TGMS loved the fantastic Ultima series.
Apropos, I would have suggested the IV chapter happy
Posted By

Pigmy
on 2013-01-09
16:36:43
 Re: Bard's Tale

Hello! Luca is right, I was looking at the Ultima series for a long time, collected the parts, and I cannot remember any reason not to convert them. Or I just do not remember well enough, but I think the only one was that the inspiration just did not come... happy
Posted By

Patrick
on 2013-01-10
08:08:18
 Re: Bard's Tale

wow, pigmy is here!! thanks for all the nice software you made for our machines!
Posted By

Luca
on 2013-01-10
10:13:37
 Re: Bard's Tale

Yes, having Pigmy on this forum is a honour happy
Posted By

Litwr
on 2013-01-10
11:32:41
 Re: Bard's Tale

Ultima is one of the greatest computer game forever. I want to find time to replay parts III and IV. PC versions are without music. I am going to use C64 version... It is a bit odd that this game was unpopular among C+4 users.
Posted By

Pigmy
on 2013-01-11
16:04:53
 Re: Bard's Tale

Patrick: you are welcome happy or what to say this time...? It was a hobby that I loved and it was and it is always good to see that others also loved it. Everyone is happy. happy
Posted By

siz
on 2015-08-15
06:32:08
 Re: Bard's Tale

Resurrecting this old thread: I checked Bard's Tale 1 again to see what can be the problem. It seems that the character disk image is damaged. I went to the official site at http://bardstale.brotherhood.de/talefiles/1/files/ to download the C64 version and check it's character disk: it's also not accepted.
And I think we have a bigger problem: we don't have the 3rd disk, the Dungeon disk. So repairing the current version seems impossible. But I hope we will find it laying around on some disks.
Posted By

MMS
on 2015-08-15
15:01:42
 Re: Bard's Tale

Well, the Character and the Dungeon disc should contain purely raw data (gfx bitmap and layout, text) in the form Interplay planned to have it, why the guy who made the magic to converte the game should touch it?
(Except if the GFX have specific loading addresses the +4 version do not support. But as I saw the loading, it has it's own loader routine, just takes the raw data of the frames, loads it to the proper place)

So, if there is no such specific content the C64 discs should be OK.
A possible confirmation of this idea: if the properly working Bard's Tale 3 may accept the C64 versions discs, then from the same authors the Bard's Tale 1 should work in the same way.

If the Bard's Tale 3 works in this way, but Bard's Tale 1 and 2 does not, then most probably just the intro was converted, and the rest of the content remained untouched.
Posted By

.mad.
on 2025-01-01
15:53:15
 Re: Bard's Tale

Even though the disk is corrupted.
i have managed to to get the character disk accepted in Bards Tale 1 to show the next menu.

it is checking for the disk name and ID.
CHARACTER         IP 2A

IP means it's the InterPlay version, not EA version of the char disk it's looking for.

*maybe the char editor could be used to create a working player?
Posted By

Luca
on 2025-01-02
05:00:51
 Re: Bard's Tale

@.mad. the disk doesn't work because it's a direct copy of a protected disk. Most probably, Csory applied a disk protection, then he had modified a standard Disc Copy 1551 tool to obtain a Bard's Tale I Copy utility which was the only capable to copy those disks in a clean way.

The best we can do is to receive one day the originals from the author himself.

Months ago, I've contacted Csory via Discord because he first posted some juicy pictures on the Hungarian FB group. In the end, he decided to transfer all his softography on D64 format, and to perform this he asked to @Pigmy for help. I wrote to him again few weeks ago, and he said that they faced some problems with the transfering.
Posted By

.mad.
on 2025-01-02
05:28:36
 Re: Bard's Tale

Thanks for info Luca.
i could get my hands on the original C64 version (G64 / NIB).
...But if Csory has added his own protection, it would be usless. sad

good luck with the hunt!
Posted By

SukkoPera
on 2025-01-02
05:35:29
 Re: Bard's Tale

I'm sure a ZoomFloppy + a 1571 drive or a 1541 with a parallel cable could make a perfect disk image and/or disk copies through nibtools, including any protection mechanisms.

I can help with dumps, I can make them myself or provide the HW (my own ZoomFloppy clone), just ask.
Posted By

Chronos
on 2025-01-02
12:46:07
 Re: Bard's Tale

1., I got a version on disk from Attila Bancsics that he said worked (but then it didn't work on normal iron either), I tried it first with xu1541 to dump, then with a c64, from disk to sd2iec. Neither works, but there is a strange pattern on the disk, then I try to put it in, I get errors when reading it. it doesn't look like a damaged disk, it's more like a copy protection I think.

2., I've tried it earlier that i've generated a "virgin" character disk on the c64 version. It doesn't work with Csory's stuff, maybe the copy protection (and it seems he used other loader than the original) he developed it prevents to load it. I agree with Luca, we need to wait til Csory's backup of the original disk.
Posted By

SukkoPera
on 2025-01-02
15:32:21
 Re: Bard's Tale

Keep in mind that a D64 image made with the XU1541 + d64copy is NOT the same as a G64 image image made with the XUM1541 + a 1571 drive (or a 1541 + parallel cable) + nibtools. The former is basically a sector-by-sector copy and contains the data only, while the latter stores metadata about the disk, including read errors, etc. That's why it can copy any disk and defy most copy protections.
Posted By

ytm
on 2025-01-02
17:56:51
 Re: Bard's Tale

I played with that this evening. It seems a true GCR dump (G64) is the only way.

It was already mentioned that the character disk needs to have disk ID set to 'IP' ($49, $50).

The copy protection seems to be based on introducing errors into sector headers for every odd sector on tracks 3-30 (except directory track 18).

The drivecode has a special path for calculating GCR-encoded sector header in $04E8


. 04CD A5 1A LDA $1A ; track
. 04CF C9 12 CMP #$12 ; directory track?
. 04D1 F0 0E BEQ $04E1
. 04D3 C9 03 CMP #$03 ; track 3?
. 04D5 90 0A BCC $04E1
. 04D7 C9 1E CMP #$1E ; track 30?
. 04D9 B0 06 BCS $04E1
. 04DB A5 1B LDA $1B ; sector
. 04DD 29 01 AND #$01 ; even?
. 04DF D0 07 BNE $04E8
. 04E1 20 BB F3 JSR $F3BB ; ROM routine to encode header ($18/$19/$1A/$1B+checksum in $1C) into GCR
. 04E4 A9 08 LDA #$08
. 04E6 D0 2B BNE $0513
; code between $04E8 and $0513 does almost the same thing as ROM routine from $F3BB


Protection could be disabled by putting two NOPs into $04DF/$04E0 but it looks like the sector data itself right now is not correct as the game won't start anyway with that change.
Posted By

Luca
on 2025-08-03
13:13:47
 Re: Bard's Tale

Finally, here it is! Fantastic unearthing Csory!
Rüdiger, Lacus2
Posted By

Délest
on 2025-08-04
04:14:32
 Re: Bard's Tale

Üdv!

Ez nagy örömhír! Esetleg SD2IEC-el tud működni?

Köszi
Posted By

Gaia
on 2025-08-04
08:36:50
 Re: Bard's Tale

@ytm: your observation was spot on! Having checked the disk dump logs prepared by siz, the sector error info value is $0B which is the equivalent of the "29, DISK ID MISMATCH" and indeed occurs on odd sectors on each track from 3 to 30 except track 18 as you wrote. I was able to hack a D64 file (extended with error info) that passes the check, using the information you provided. Since the D64 does not store the header ID, the expected 'IP' value had to be inserted to the BAM (at offset: 0x165A2) since that's where emulators grab it from, so it is no longer a 1:1 exact copy of the original. Alas, it still does not load the game just passes the initial check...
ytm1
Posted By

.mad.
on 2025-08-04
08:43:56
 Re: Bard's Tale

excellent work!

i was just about to ask if the ytm hack worked, and @Gaia beat me to it.

can you please upload the hacked D64 version.
Posted By

Gaia
on 2025-08-04
08:56:49
 Re: Bard's Tale

I was too quick with my post and since had to edit out that "it works". The hacked D64 only passes the initial check and presents the menu but fails to load and insists on inserting the character disk. Perhaps it is expecting alternating ID's (IP and something else) and it has to be some specific value which is not possible to be stored in a D64, alas.
Posted By

Crown
on 2025-08-04
10:38:06
 Re: Bard's Tale

Just a little interesting bit: there are Apple II basic code remnants at multiple location, see from track 30 sector 1. There is code and text referencing to an Omninet Card, which was an Apple II network interface card. Track 30-32 is filled with it.
This is also present in the C64 version (looked at the disk from GB64). The 64 crack pack was converted for normal files, files like "NMA*" end with these remnants.
Posted By

Csabo
on 2025-08-04
12:48:54
 Re: Bard's Tale

This game is crying out for a "Deluxe" version. Hacking the copy protection out would be nice (which is everyone is talking about here), so that we could have two D64 files.

Not sure if any of you actually tried to play though! As soon as you meet an enemy, the sound gets stuck on a low noise (basically an equivalent of VOL 8 : SOUND 3, 0, 1000). It's... unbearable!... I had to turn off sound completely. That definitely needs a fix, and I'm sure there's quite a few other quality-of-life improvements that wouldn't hurt.
Posted By

Crown
on 2025-08-04
16:01:49
 Re: Bard's Tale

First the G64 needs to be properly converted into a D64, but in order to do that, the broken GCR headers need to be patched manually in the G64 file. The issue is that nibconv will not decode the GCR sector if the header is incorrect when converting to D64, these sectors are empty in all the old broken D64 files. Alternatively need to modify nibconv to apply the modified GCR checksum logic, so it converts these sectors as well.
Then apply the patch ytm mentioned. This theoretically takes care of the all the odd sectors.
But sector 16 of all tracks has a similar problem, which points to a second stage of the protection, which needs to be found, then defused.

Actually this might be more complex. It also seems that sectors are not written in order to the disk.

Also in each track there is a sector with wacky track and sector number. For example in track 3 there is a header with Track 14 and sector 93, on track 4 there is one as Track 14 Sector 90 and so on.

Nibconv doesn't find the odd sectors at all, because of the modified custom header format, the wacky sectors might be a side effect of that.

Also Track 36 has something on it, and track 37-40 is regularly formatted but empty.
Posted By

Luca
on 2025-08-04
18:48:19
 Re: Bard's Tale

@Csabo I've played it but had minimum volume because I was on the shore, feet in the sand, noidy waves. Hence, didn't notice that.
Posted By

MMS
on 2025-08-08
06:07:47
 Re: Bard's Tale

I used headphones only for th begining, but after the initial music you continouosly hear a background noise. So I removed my headphones, to do not hear the background noise.
Posted By

siz
on 2025-08-11
02:02:19
 Re: Bard's Tale

I can upload the original .nbz version with the copy log if someone wants to experiment with it. Unfortunately I have no time for that. sad
Posted By

Crown
on 2025-08-11
02:31:33
 Re: Bard's Tale

I don't think the .nbz is needed, but the more data the merrier.
I haven't verified yet, but you should be able to copy the character disk(side b) with the built in copy tool in the game (in G64 format in the emulator), that should transfer everything, you're actually supposed to do that (all BT games worked like that). That formats the disk with the out of ordered sectors, which is really a hardware interleave solution. It also gives an indication whether track 36-40 is needed, if it copies it then yes, if it is not than not really.
This might be also a way to remove the copy protection, by modifying the copy code so, that it applies the GCR header modification when reading the disk, and not apply when writing it.
I've needed to fix the 1551 emulation in Vice first, clearing the handshake lines with ASL, was not expected in the code, so it barfs.
Next step is to patch the copying in the game, copy a fixed header G64, then remove the copy protection.
Then the next step is to convert to D64, verify that the disk copy can create the out of ordered G64 sectors from the D64 as source. If yes , then theoretically it could be done. The only issues is that using the D64 might be slower on actual hardware (maybe even on emulator as well), because interleave will be not optimal. If that's the issue, then the only path forward is to replace the DOS layer, and move from the PRODOS format to CBM dos formatted files, that's a bigger undertaking.
Posted By

.mad.
on 2025-08-11
12:16:32
 Re: Bard's Tale

you can message Pete Rittwage with the disk.
https://rittwage.com/floppy/

if you know exactly what mnib code needs changing and can explain it in detail...
we might get a special mnib version to copy to a d64.


i upgraded the characters to max energy, gold and weapons so i could play test it...
i think there may also be a protection check on that.
as after a while i was stuck in a loop fighting my own invincible party. grin

the c64 tape version has already been cracked into files, but i wouldn't have a clue how to plus4 them.
Posted By

Crown
on 2025-08-11
14:46:59
 Re: Bard's Tale

It is also worrisome that the original C64 version have 3 disk sides(boot, city, dungeon). It is possible that the C64 crack used as source for the conversion might have packed all 3 into 2 disk sides, we will see.
Posted By

Luca
on 2025-08-13
09:29:30
 Re: Bard's Tale

Oh wow I've noticed now only that the G64 is only one, the B side!
Posted By

Csabo
on 2025-08-13
10:44:59
 Re: Bard's Tale

Correct, the side A was always correct, and we don't need any extra information recorded, so that one can stay as D64. If someone figures this out or manages to hack the game, we might have a working D64 version of side B too.
Posted By

Crown
on 2025-08-13
13:37:29
 Re: Bard's Tale

The built in disk copy function (Make a disk menu entry), doesn't work, runs into an infinite BRK loop. Don't know yet if it is intentional or a bug.

The Bard's Tale I copy doesn't work, can't handle the odd sectors. Copied disk is recognized as character disk, but doesn't run. So manual patching it is.
Csabo1
Posted By

ytm
on 2025-08-13
17:57:51
 Re: Bard's Tale

That formats the disk with the out of ordered sectors, which is really a hardware interleave solution

They are using linear block addressing, which is mapped directly to a 1541 disk format. It's the same in Dragon Wars - I thought it was quite silly, lazy and inefficient. But if interleave was actually done in hardware by reordering the sectors, that's actually quite clever.
Posted By

Crown
on 2025-08-14
05:04:32
 Re: Bard's Tale

Yes that's the purpose of the built in Make a disk menu entry. Unfortunately it only works in BT III, in BT I and BT II it seems it's intentionally disabled, I guess it would defeat the purpose of the copy protection. This needs to be added back.

I don't see an option in Dragon Wars, but its original disks should be also formatted this way so a G64 or nib files would be welcome (Both for BT II and Dragon Wars)

D64 doesn't preserve the order on how the sectors are laid out on the disc, that means that copying it back to actual discs or using it in an emulator will provide worse disc performance for these type of games.
I guess the D64 format could be extended to contain this information. The easiest way to add it would be to create a .D64.meta file next to the D64, to preserve backwards compatibility. This could contain the sector order for each track at minimum. It might make sense to add additional things as well like the offset of the first sector on a track from the index hole, or disk speed zones, or custom padding bytes. Anything which might only show up in a G64, so the format should be extendable with new entries in a backward compatible way.
Lavina, Gaia2
Posted By

Délest
on 2025-08-14
07:21:08
 Re: Bard's Tale

So... can I play th BT somehow with my SD2IEC?

Tenksz!
Posted By

Crown
on 2025-08-14
07:43:11
 Re: Bard's Tale

All BT games use custom fast loaders(well it is more of a mini DOS) supporting both 1541 and 1551. So even if a D64 version is achieved, supporting SD2IEC requires either firmware support in SD2IEC to detect this loader and support it, or the game needs to be modified to add a 3rd loader for SD2IEC. It needs to stay semi custom, I don't think we could use anything from the Kernel, so the questions is whether there is already available support in SD2IEC for a mini-DOS like loader. It requires essentially 3 functionality, read a sector, write a sector, and format.


Back to topReply to this topic


Copyright © Plus/4 World Team, 2001-2025. Support Plus/4 World on Patreon