The Adventurers' Guild Forum Index The Adventurers' Guild
The Ultimate Bard's Tale Resource
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

BT 1 CBM64 roster file format
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    The Adventurers' Guild Forum Index -> Bard's Tale Construction Set
View previous topic :: View next topic  
Author Message
ZeroZero



Joined: 10 Mar 2009
Posts: 197
Location: Germany

PostPosted: Sun Mar 29, 2009 11:15 pm    Post subject: BT 1 CBM64 roster file format Reply with quote

 
Here is the roster file decoded as far as I came yet. Anyone can fill in the missing things, marked by ????

Code:

Roster entries

each entry is 128 bytes, two files are used, NM00 and NM01, each
file can carry 16 entries

--------------------------------------------------------------
1) parties
--------------------------------------------------------------
Byte      Value      Meaning
--------------------------------------------------------------
00      AA      is a party
01 - 0e      BT Text      name of party
0f      FF      sorta end marker
10 - 1f      BT txt & FF   Name of char 1 in party
20 - 2f      BT txt & FF   Name of char 2 in party
30 - 3f      BT txt & FF   Name of char 3 in party
40 - 4f      BT txt & FF   Name of char 4 in party
50 - 5f      BT txt & FF   Name of char 5 in party
60 - 6f      BT txt & FF   Name of char 6 in party
70 - 7f      00      unused


--------------------------------------------------------------
2) characters
--------------------------------------------------------------
Byte      Value      Meaning
--------------------------------------------------------------
00 - 0f      BT txt & FF   character's name, padded by ff's
10 - 13      bit packed   char values:
            0000-0|000 00|0|0-0000| 0000-0|000 00|0|0-0000
              ST     IQ   ?   DX      CN     LK   ? ?-????
14 - 1f      bytes      Experience, every byte represents one decimal
            digit: 01 02 03 04 05 06 06 05 04 03 02 01 ==>
            123,456,654,321   experience points
20 - 21      hi, lo byte   natural level
22 - 23      hi, lo byte   current level, like being dropped by monsters
24 - 2f      like XP      gold, same coding as XP
30 - 31      hi, lo byte   max HP
32 - 33      hi, lo byte   cur HP, condition
34 - 35      hi, lo byte   max SP
36 - 37      hi, lo byte   cur SP
38      byte      class:   0 Warrior   5 Rogue
               1 Wizard   6 Bard
               2 Sorcerer   7 Paladin
               3 Conjurer   8 Hunter
               4 Magician   9 Monk
39      byte      race:   0 Human      4 Half-Elf
               1 Elf      5 Half-Orc
               2 Dwarf      6 Gnome
               3 Hobbit
3a - 3c      ????      ????
3d      byte      ???? seems to be set
3e      byte      status: 0:ok, 1:pois, 2:old, 3:dead, 4:ston, 5:para, 6:poss, 7:nuts
3f      byte      natural armor class
40 - 43      byte      level of magic classes, Sorcerer, Conjurer, Magician, Wizard
44 - 46      byte      rogue values: HIDE, DETECT TRAP, DISARM TRAP, sequence????
47 - 48      ????      ????
49            remaining Bard songs before he needs a drink
4a - 4f    ????        ????
50 - 5f      byte pairs   equipment
            1. byte: 0 = unequpd, 1 = eqp, 2 = unusable, 3 = unknown
            2. byte: item no
60 - 7e      ????      ????
7f      byte      [i]EDIT: acc to Apple sources, see post below, a checksum. On C64 likely not used[/i]


Missing is in particular the remaining item uses left. The last byte is annoying me, since I cannot see what it is for. I dunno if attacks per round should be found here or is calculated.
 


Last edited by ZeroZero on Fri Apr 10, 2009 10:16 am; edited 1 time in total
Back to top
View user's profile Send private message
Darendor



Joined: 14 Jan 2009
Posts: 668
Location: Red Deer, Alberta, Canada

PostPosted: Mon Mar 30, 2009 12:56 am    Post subject: Reply with quote

Heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh heh. Megatron will be pleased.
_________________
The Bard's Tale Wiki!

Help me build a city!
Back to top
View user's profile Send private message
Twoflower



Joined: 19 Mar 2009
Posts: 92
Location: Haarlem, NL

PostPosted: Fri Apr 10, 2009 1:17 am    Post subject: Reply with quote

Zerozero:

The last byte is the generated checksum. :-9

How do I know? First of all I recall that it was mentioned elsewhere in some thread here, but I got it confirmed when I found an outrageously good source of information. Have it ever occured to you that people did almost the same thing we are doing when these games were all the rage? And that people have started to put things online?

Just check out http://mirrors.apple2.org.za/tarnover.org/computist/Hardcore.Computist/Issue.36/Page-16.jpg and on the following pages for a complete description of how a character editor for BT I was made. This was done in 1986. You just got to love it.

All articles are indexed and searchable aswell. Through the issues are essential information on the format of all three games. Need I mention what a goldmine this is?
_________________
/Twoflower
Back to top
View user's profile Send private message Visit poster's website
Darendor



Joined: 14 Jan 2009
Posts: 668
Location: Red Deer, Alberta, Canada

PostPosted: Fri Apr 10, 2009 4:07 am    Post subject: Reply with quote

Twoflower wrote:
Zerozero:

The last byte is the generated checksum. :-9

How do I know? First of all I recall that it was mentioned elsewhere in some thread here, but I got it confirmed when I found an outrageously good source of information. Have it ever occured to you that people did almost the same thing we are doing when these games were all the rage? And that people have started to put things online?

Just check out http://mirrors.apple2.org.za/tarnover.org/computist/Hardcore.Computist/Issue.36/Page-16.jpg and on the following pages for a complete description of how a character editor for BT I was made. This was done in 1986. You just got to love it.

All articles are indexed and searchable aswell. Through the issues are essential information on the format of all three games. Need I mention what a goldmine this is?


It did occur to me that back in the 80s when these games were hot off the shelf people would want to hack them and whatnot. This is the reason why things like Pirateslayer and whatnot were made after all, to prevent people in the 80s from doing what we're after today.

However, since Michael Cranford, EA and everyone have made their money on the series I would suspect that there's no longer an objection to us doing this. Sadly, the protection/encryption schemes don't conveniently disappear after 20+ years. Confused

Anyways.

The article mentions Apple DOS. How different is that from the CBM DOS exactly?

In any case, good find. I notice that the BTIII Character Editor I used briefly loaded characters two at a time, so I suspect all 3 games keep the 2 character per sector scheme...
_________________
The Bard's Tale Wiki!

Help me build a city!
Back to top
View user's profile Send private message
ZeroZero



Joined: 10 Mar 2009
Posts: 197
Location: Germany

PostPosted: Fri Apr 10, 2009 9:43 am    Post subject: Reply with quote

Hmmm I do not see anything new in this article, in fact we know more about the character files used by BT1 and BT2 than that article. See the list above.
On the other hand I got it straight from the horses mouth, that BT3 in fact was using a port of Apple's PRODOS for the CBM64, and it was selfmade by one person at Interplay. I apologize to Darendor for not believeing him. Now is the q: how do we get that PRODOS version to work with the BT3 files? Or shall we try to make up BT2? The track/sector tables are supposed to be within the main code and the main engine of BT2 uses direct access to the tracks. I was also told some more info about maps and gfx, even if not too much. If you are online on Easter Sunday, when I am back, I will share this info.

EDIT

Oh I see now... a lot more articles there, sorry being hasty, there is more sources


EDIT 2

Unfortunately I didn't find issues after #52. The articles until #52 have no information we don't have already or even we have more on Sad

 
Back to top
View user's profile Send private message
Twoflower



Joined: 19 Mar 2009
Posts: 92
Location: Haarlem, NL

PostPosted: Fri Apr 10, 2009 11:44 am    Post subject: Reply with quote

Here are the issues you are looking for:

http://computist.textfiles.com/

Some more interesting information there, especially when it comes to the BT III character format and the codewheel-removal. Noteble is also the articles on the dungeon-editor, which seem to be like Darendors one, although a bit visually worse.
_________________
/Twoflower
Back to top
View user's profile Send private message Visit poster's website
ZeroZero



Joined: 10 Mar 2009
Posts: 197
Location: Germany

PostPosted: Fri Apr 10, 2009 12:02 pm    Post subject: Reply with quote

The more interesting stuff you mention is published in the issues AFTER #52, that collection only has the issues up to #52 and that last issue
Back to top
View user's profile Send private message
Twoflower



Joined: 19 Mar 2009
Posts: 92
Location: Haarlem, NL

PostPosted: Fri Apr 10, 2009 12:26 pm    Post subject: Reply with quote

Sorry - gave you the wrong link:

http://www.computist-project.net/hcomputist/thumbs/computist.html

Some interesting stuff on BT I and II:

Code:
Bard's Tale         30   11   Sector Edit      
Bard's Tale (IIgs)      53   19   Sector Edit      
Bard's Tale (IIgs) (Fix)   53   23   Sector Edit      Softkey for same in issue #50, page 23
Bard's Tale (Update)      36   6   Sector Edit      Softkey for same in issue #30, page 11
Bard's Tale I         51   16   Sector Edits      
Bard's Tale II         48   33   Sector Edit      
Bard's Tale II         48   39   Controller      
Bard's Tale II         50   37   Sector Edits      
Bard's Tale II         51   15   Sector Edits      
Bard's Tale II (IIgs)      50   23   Sector Edit      
Bard's Tale II (IIgs)      56   16-17   Binary File Patch      
Bard's Tale II (IIgs)      63   26   Sector Edit      
Bard's Tale II (IIgs)      64   7   Sector Edit      
Bard's Tale II: Destiny Knight   49   29   Sector Edit      
Bard's Tale II: Destiny Knight   56   31   Sector Edit      
Bard's Tale II: Destiny Knight   57   15-16   Sector Edit

_________________
/Twoflower
Back to top
View user's profile Send private message Visit poster's website
Darendor



Joined: 14 Jan 2009
Posts: 668
Location: Red Deer, Alberta, Canada

PostPosted: Fri Apr 10, 2009 2:54 pm    Post subject: Reply with quote

Twoflower wrote:
Here are the issues you are looking for:

http://computist.textfiles.com/

Some more interesting information there, especially when it comes to the BT III character format and the codewheel-removal. Noteble is also the articles on the dungeon-editor, which seem to be like Darendors one, although a bit visually worse.


Visually worse than something I constructed in BASIC? I don't feel so bad now.
_________________
The Bard's Tale Wiki!

Help me build a city!
Back to top
View user's profile Send private message
Darendor



Joined: 14 Jan 2009
Posts: 668
Location: Red Deer, Alberta, Canada

PostPosted: Fri Apr 10, 2009 2:57 pm    Post subject: Reply with quote

Twoflower wrote:
Sorry - gave you the wrong link:

http://www.computist-project.net/hcomputist/thumbs/computist.html

Some interesting stuff on BT I and II:

Code:
Bard's Tale         30   11   Sector Edit      
Bard's Tale (IIgs)      53   19   Sector Edit      
Bard's Tale (IIgs) (Fix)   53   23   Sector Edit      Softkey for same in issue #50, page 23
Bard's Tale (Update)      36   6   Sector Edit      Softkey for same in issue #30, page 11
Bard's Tale I         51   16   Sector Edits      
Bard's Tale II         48   33   Sector Edit      
Bard's Tale II         48   39   Controller      
Bard's Tale II         50   37   Sector Edits      
Bard's Tale II         51   15   Sector Edits      
Bard's Tale II (IIgs)      50   23   Sector Edit      
Bard's Tale II (IIgs)      56   16-17   Binary File Patch      
Bard's Tale II (IIgs)      63   26   Sector Edit      
Bard's Tale II (IIgs)      64   7   Sector Edit      
Bard's Tale II: Destiny Knight   49   29   Sector Edit      
Bard's Tale II: Destiny Knight   56   31   Sector Edit      
Bard's Tale II: Destiny Knight   57   15-16   Sector Edit


Which articles are relevent to our project exactly?
_________________
The Bard's Tale Wiki!

Help me build a city!
Back to top
View user's profile Send private message
Darendor



Joined: 14 Jan 2009
Posts: 668
Location: Red Deer, Alberta, Canada

PostPosted: Fri Apr 10, 2009 3:06 pm    Post subject: Reply with quote

The documents take too long to load. Confused
_________________
The Bard's Tale Wiki!

Help me build a city!
Back to top
View user's profile Send private message
ZeroZero



Joined: 10 Mar 2009
Posts: 197
Location: Germany

PostPosted: Sun Apr 12, 2009 2:56 pm    Post subject: Reply with quote

Ah there we go... I will check, if any of that articles has information beyond our own research results

EDIT

Ok, the articles beyond #52 will give us a very good start for the roster file format in case we decide to go with BT3 engine.
Apart from the roster I only saw cracking info for the Apples, which cannot be used as is for the C64 I think. Also we must find out about the differences in the structure of Apple II and C64 disks to interpret the given information properly. An excellent Apple source.
Back to top
View user's profile Send private message
Quantum Reality



Joined: 15 Mar 2010
Posts: 86

PostPosted: Mon Mar 15, 2010 10:01 pm    Post subject: Reply with quote

Apple DOS is fundamentally different from Commodore DOS. The BASIC code will still work, but not the machine language routines used to directly acciess the floppy disk.

I don't know the C64 calls, but I do know the Apple DOS RWTS calls basically say "get me this track, this sector, and dump it *here* in memory". And off RWTS goes and grabs 256 bytes off the disk and pops it into RAM for you. You edit that RAM, and then you can tell your RWTS caller, "grab this memory and write it to this track and sector".

Bingo, the kernel of a character editor. Wink

(I'm actually trying to write one under an Apple //e emulator as we speak, so this lookup table showing information I thought I had long lost to the mists of history is a godsend. Last time I saw the exact information storage for character attributes was in a printout I lost back in the 1990s when I sold all my Apple stuff.

Incidentally, if anyone cares, I can write a routine in machine language to AND/bit shift the attributes to make sensible numbers out of them. Gimme a day or so to play with it, then I'll put the 6502 source here.)

((EDIT TO ADD TEXT BELOW))

I just noticed the Bard's Tale 3 situation.

I can verify that yes, in fact the Apple ][ version of BT3 used a ProDOS-like disk structure for the editing of characters and did not use any encoding unlike BT2. I had, in fact, embarked on the ambitious project of trying to write a character editor for BT3 but just got bogged down in trying to make it cool instead of workable and abandoned the project.

If anyone wants to see how far I got, I can put the program up somewhere in text format. Unfortunately I outsmarted myself a little and at the time, stored off all the variables in a special variable format under ProDOS (mainly lists of items, character classes, things like that). I can't reconstruct those yet so there's some "from scratch" work it looks like I'll be doing.

Long story short, it worked when I tested the MLI calls and everything so I know it's feasible to write the Apple ][ version of a BT3 character editor. I'd just need a list (which I worked off of) of the Bard's Tale 3 data format.
Back to top
View user's profile Send private message
ZeroZero



Joined: 10 Mar 2009
Posts: 197
Location: Germany

PostPosted: Tue Mar 16, 2010 4:25 pm    Post subject: Reply with quote

Actually, for the C64, Burgerbecky adapted the ProDOS file structure for the Commodore 64. The C64 BTIII uses ProDOS as well. Of course the sector structure of the disks was physically different, so she changed that on the C64.
Back to top
View user's profile Send private message
Quantum Reality



Joined: 15 Mar 2010
Posts: 86

PostPosted: Tue Mar 16, 2010 4:31 pm    Post subject: Reply with quote

You'd need some kind of translator for the C64 version then, to translate the sequential block structure of ProDOS to the native track/sector format of whatever the 1541 uses.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    The Adventurers' Guild Forum Index -> Bard's Tale Construction Set All times are GMT + 1 Hour
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group