Posted: Sun May 02, 2010 5:17 pm
Updates...
This includes the correct disassembling of NM31, the riddle for the endless byway
This includes the correct disassembling of NM31, the riddle for the endless byway
The Ultimate Bard's Tale Resource
https://bardstale.brotherhood.de/talefiles/forum/
https://bardstale.brotherhood.de/talefiles/forum/viewtopic.php?t=910
The value byte make more sense, of you see each of them as a bitfield with the lower 3 bits indicating the house type (or 0 if its a street or something on a street) and the higher 5 bits indicating something special. If you do that with the table above, you getZeroZero wrote:I T E M # 07
Map 1: buildings and specials
This map contains all the buildings (incl. statues) and is used to call the related
events for a map cell.Code: Select all
Values Event called 00 none, is no building. ? command is available 01 02 03 04 standard house types, nothing special. if stepped on, event NM0F is called 0B guild, event NM1B 12 a tavern, event NM0C 1C shop, event NM0D 21 a standard temple, event NM0E 2B Review board, event NM0B 60 some statue, event NM11 is called 68 gate, event NM12 is called 71 Mad God's temple, event NM14 78 sewer entrance, event NM13 81 credits, event NM16 89 Roscoe, event NM17 91 Kylearans tower, event NM18 9B Harkyn's castle, event NM15 A1 Mangars tower, event NM19 A8 city gate, event NM1A
Code: Select all
High Low Event called
00 00 none, is no building. ? command is available
00 01 standard house type 1
00 02 standard house type 2
00 03 standard house type 3
00 04 standard house type 4
01 03 guild, event NM1B
02 02 a tavern, event NM0C
03 04 shop, event NM0D
04 01 a standard temple, event NM0E
05 03 Review board, event NM0B
0C 00 some statue, event NM11 is called
0D 00 gate, event NM12 is called
0E 01 Mad God's temple, event NM14
0F 00 sewer entrance, event NM13
10 01 credits, event NM16
11 01 Roscoe, event NM17
12 01 Kylearans tower, event NM18
13 03 Harkyn's castle, event NM15
14 01 Mangars tower, event NM19
15 00 city gate, event NM1A
I grew up with the C64 tape version of Bard's Tale. It's with that version that I developed my super high level characters. They really did an amazing job squeezing it all into memory. The best thing about it is that there are no IO delays during play on single level. That means that you can wander around Scara Brae and the dungeons as fast as you can press the keys.Twoflower wrote:Just for your interest.
I've started to look into the tape version of Bard's Tale (both the german and the english version), and so far i'm quite impressed - loads of things are recoded, loads of stuff have been compressed and loads of stuff have been altered. After some research, I got the releasedate of this verson set to 1988 - which means that this must've been put together for the european market by someone with access to the sourcecode. Probably Burgerbecky and some others.
I believe (from screenshots, etc.) that there was a french version aswell - have any of you seen that one? Or was it only released on the Amstrad / MSX?
Same here - the tape version is really what I have fond memories of playing as a kid. I was really surprised when I realised that there were two other kids in my age playing Bard's Tale tape at school - one even had the cluebook which he kindly let me copy.Flanimal wrote:I grew up with the C64 tape version of Bard's Tale. It's with that version that I developed my super high level characters. They really did an amazing job squeezing it all into memory. The best thing about it is that there are no IO delays during play on single level. That means that you can wander around Scara Brae and the dungeons as fast as you can press the keys.
Wow, that would be the best version of the Bards Tale ever!Twoflower wrote:The quick walking around, and the general speed-up is actually one of the reasons why i'm looking into this. If this works out well, you guys might have a diskbased version with all the cons in a little while - provided that I can find enough space to cram in a loader.
Heh. that'll be a problem since the characters are located between $0251-0343 in the tape-version. No normal save/load there. Furthermore, they are stored as a block (as an entire Party) while the disk-version stores them as characters with a checksum in the end to prevent them from tampering. I believe the tape-version may lack that checksum-byte. Will look in to the details of how the characters differ tomorrow.ZeroZero wrote:You could try to identify the memory addresses of the character rosters in the CBM64 emulator, copy that bit of memory and "implant" it then into the disk version in emulator at the addresses used by it.
I think I gave the memory address of character rosters for the disk version somewhere in this thread
I'm hoping that there may be an easier way. Plus, I don't have a character editor for the tape version so I can't be sure that I would enter all the values exactly right.Twoflower wrote:You could ofcourse edit your characters - byte by byte or in a level-editor - from tape to disk, but that'd be a nuisance. I'll look in to this.
That's what I have in mind. Extracting and importing memory content is easy thanks to the Action Replay cartridge machine code monitor. Problem is, knowing which addresses to copy from, which addresses to copy to, and whether the internal party representation in the C64 is different between tape and disk versions, in which case some manipulation is going to be needed.ZeroZero wrote:You could try to identify the memory addresses of the character rosters in the CBM64 emulator, copy that bit of memory and "implant" it then into the disk version in emulator at the addresses used by it.
I think I gave the memory address of character rosters for the disk version somewhere in this thread
Does the Action Replay machine code monitor eliminate the address problem, seeing as it can save any address data at any time? Are you referring to how the party data is storred in memory, or tape/disk media? If the former, then agreed, this presents a problem. Thanks so much for looking into this.Twoflower wrote:Heh. that'll be a problem since the characters are located between $0251-0343 in the tape-version. No normal save/load there. Furthermore, they are stored as a block (as an entire Party) while the disk-version stores them as characters with a checksum in the end to prevent them from tampering. I believe the tape-version may lack that checksum-byte. Will look in to the details of how the characters differ tomorrow.
This is from memory, so it may not be 100% reliable or complete - I'll verify the accuracy tomorrow.Twoflower wrote:While were at it - do you guys know if anything but dungeons, the city and the player parties are loaded in the tape-version? Right now it looks as 1 dungeon-level equals one load. Could anyone confirm this? Furthermore, it looks as there is one "main" side of the tape including the engine, the ATEAM and the Partymerger - the rest is dungeons. Any information on what is on each tape-side would be appreciated.