BT 1 file list on CBM64

Any developer realated stuff
User avatar
ZeroZero
Posts: 286
Joined: Tue Mar 10, 2009 9:10 pm
Location: Germany

BT 1 file list on CBM64

Post by ZeroZero »

 
Ok, from the combined work of Darendor, Twoflower and me, here is the
file list of BT1 on the C64.
Can someone fill in the remaining ????'s ?

EDITED

Code: Select all

hidden file 1	intro
hidden file 2	BT 1 engine/OS, 0800 routines
hidden file 3	main program, maybe all data
NM00	Character roster Part 1
NM01	Character roster Part 2
NM02	BT 1 engine/OS, ae00 routines
NM03	screen: start game, copy chars and make a disk
NM04	city gfx and maps
NM05	dungeon wall gfx
NM06	dungeon wall gfx
NM07	dungeon wall gfx
NM08	dungeon wall gfx
NM09	???? handling movement in cities ???? contains direction texts. File is rather big, gfx???
NM0A	the shop equipment, each byte represents an item, see that list, FF means unlimited in stock
NM0B	EVENT: Review Board
NM0C	EVENT: Taverns, including the Scarlet Bard and the wine cellar entrance
NM0D	EVENT: Garth's equipment shop
NM0E	EVENT: Temple
NM0F	EVENT: empty building
NM10	EVENT: pressing the ? key, contains street names
NM11	EVENT: guarded gates in city: Samurai, Stone giant, Ogre lord, Stone Golem, Grey Dragon
NM12	EVENT: gates in city, Mangar and Kylearan
NM13	EVENT: entrance to sewers from near Mangar's tower
NM14	EVENT: Mad God temple in the city
NM15	EVENT: Harkyn's castle in the city
NM16	EVENT: game credits
NM17	EVENT: Roscoe's energy emporium
NM18	EVENT: Kylearan's tower in city
NM19	EVENT: Mangar's tower in city
NM1A	EVENT: city gate, snowdrift
NM1B	EVENT: Inside Guild, with all menues
NM1C	EVENT: treasure chest
NM1D	EVENT: trap
NM1E	EVENT: wandering creature
NM1F	EVENT: Sewers 3, N 16, E 17, Long stairs up near Mangar's tower
NM20	EVENT: Sewers 1, N 09, E 04, Spider God Statue
NM21	EVENT: Sewers 2, N 04, E 00, Light beam
NM22	EVENT: Sewers 2, N 04, E 03, Reveals name of mad god: TARJAN
NM23	EVENT: Catacombs 2, N 12, E 10, Bashar Kavilor
NM24	EVENT: Catacombs 2, N 13, E 06, Bashar Kavilor's pet dragon Sphynx
NM25	EVENT: Catacombs 3, N 19, E 20, Witch King, get the EYE
NM26	EVENT: Harkyn's 1, N 14, E 09, Baron's throne, Bard's only, opens secret door in N wall
NM27	EVENT: Harkyn's 1, N 18, E 09, Captain of the guard
NM28	EVENT: Harkyn's 1, N 06, E 16, Guards in robes... robes protect vs the 4 x 99 Berzerks
NM29	EVENT: Harkyn's 1, N 00, E 19, get the CRYSTAL SWORD
NM2A	EVENT: Harkyn's 2, N 09, E 09, riddle VAMPYRE
NM2B	EVENT: Harkyn's 2, N 00, E 00, get the SILVER SQUARE
NM2C	EVENT: Harkyn's 2, N 00, E 19, riddle SHIELDS, get YBARRASHIELD
NM2D	EVENT: Harkyn's 3, N 05, E 12, Berzerks 4 x 99, unless you wear the robes
NM2E	EVENT: Harkyn's 3, N 01, E 21, Mad God, if you have the EYE: teleport near Kylearan's
NM2F	EVENT: Harkyn's 3, N 05, E 09, riddle SKULL
NM30	EVENT: Kylearan's, N 10, E 13, riddle STONE GOLEM, teleport to N 08, E 09
NM31	EVENT: Kylearan's, N 02, E 12, riddle SINISTER, opens secret door at N 06, E 01
NM32	EVENT: Kylearan's, N 20, E 02, get the SILVER TRIANGLE
NM33	EVENT: Kylearan's, N 01, E 04, Crystal Statue, can only be beaten by CRYSTAL SWORD
NM34	EVENT: Kylearan's, N 13, E 17, Kylearan, get ONYX KEY to unlock Mangar's Tower (not the gates!)
NM35	EVENT: Mangar's 1, N 13, E 20, Teleport to Mangar's 2, N 13, E 20
NM36	EVENT: Mangar's 2, N 15, E 04, riddle CIRCLE, get SILVER CIRCLE
NM37	EVENT: Mangar's 3, N 12, E 19, buy MASTER KEY for the gates, or have a nasty fight
NM38	EVENT: Mangar's 3, N 04, E 10, riddle LIE WITH PASSION AND BE FOREVER DAMNED, unlocks stairs N 09, E 03
NM39	EVENT: Mangar's 4, N 08, E 12, black coffin with a Vampyre Lord
NM3A	EVENT: Mangar's 4, N 08, E 21, two sleeping dragons
NM3B	EVENT: Mangar's 4, N 09, E 20, riddle THOR, get a thor fgn
NM3C	EVENT: Mangar's 4, N 20, E 03, switch to flip walls to doors and vice versa, opens passage to stairs
NM3D	EVENT: Mangar's 5, N 15, E 10, insert the shapes to open the secret door (btw they form the EOA logo)
NM3E	EVENT: Mangar's 5, N 21, E 10, riddle SPECTRE SNARE, get it, causes high damage + critical hit
NM3F	EVENT: Mangar's 5, N 08, E 10, when Mangar is dead, Liches appear here (if you revisit this level)
NM40	EVENT: Mangar's 5, N 10, E 21, if you dive the pool ==> teleport to N 06, E 10
NM41	EVENT: Mangar's 5, N 17, E 00, Mangar's tresure trove, 2 black dragons
NM42	EVENT: Mangar's 5, N 01, E 10, HP drain
NM43	EVENT: Mangar's 5, N 01, E 20, one party hero will get POSSESSED and starts a party fight
NM44	EVENT: Mangar's 5, N 20, E 10, Mangar... hard fight, high reward and teleport to Guild
....	can there be more events up to NM4F? and can the index table for events be extended for that?
NM50	GFX: Inside The Guild
NM51	GFX: Inside Garth's Equipment Shoppe
NM52	GFX: Inside The Inn
NM53	GFX: Outside of an Inn, daytime
NM54	GFX: Inside Temple
NM55	GFX: Inside Empty house A
NM56	GFX: Inside Review Board
NM57	GFX: Outside of a Temple, daytime
NM58	GFX: Outside of The Guild, daytime
NM59	GFX: Outside of Garth's, daytime
NM5A	GFX: Outside of a house A, daytime
NM5B	GFX: Outside of a house B, daytime
NM5C	GFX: Outside of a house C, daytime
NM5D	GFX: Outside of a house D, daytime
NM5E	GFX: Barbarian
NM5F	GFX: Hobbit / Goblin
NM60	GFX: Warrior
NM61	GFX: Magician
NM62	GFX: Zombie
NM63	GFX: Golem?
NM64	GFX: Dragon
NM65	GFX: Witch?
NM66	GFX: Skeleton
NM67	GFX: Thief
NM68	GFX: Dog / Wolf
NM69	GFX: Old man
NM6A	GFX: Spider
NM6B	GFX: Orc
NM6C	GFX: Eye
NM6D	GFX: Priest / High Priest
NM6E	GFX: Monk
NM6F	GFX: Paladin
NM70	GFX: Hydra
NM71	GFX: Poltergeist?
NM72	GFX: Crystal Golem?
NM73	GFX: Chest
NM74	GFX: Treasure
NM75	GFX: Statue, daytime
NM76	GFX: Gate, daytime
NM77	GFX: Vampire Lord
NM78	GFX: Lich
NM79	GFX: Giant
NM7A	GFX: Michael Cranford
NM7B	GFX: Kylearan
NM7C	GFX: Mangar
NM7D	GFX: Magic Mouth
NM7E	GFX: Man w. Sword / Mad God
NM7F	GFX: Angel
NM80	GFX: Goblin
NM81	GFX: Barbarian
NM82	GFX: Ghoul?
NM83	GFX: Inside Empty house B
NM84	GFX: Inside Empty house C
NM85	GFX: Inside Empty house D
NM86	GFX: Wizard with spinning globe? Roscoe? 
NM87	GFX: Outside of an Inn, night
NM88	GFX: Outside of a Temple, night
NM89	GFX: Outside of The Guild, night
NM8A	GFX: Outside of Garth's, night
NM8B	GFX: Outside of house A, night
NM8C	GFX: Outside of house B, night
NM8D	GFX: Outside of house C, night
NM8E	GFX: Outside of house D, night
NM8F	GFX: Statue, night
NM90	GFX: Gate, night
....	there can be more gfx up to NM9F, confirmed by Twoflower
NMA0	Dungeon wine cellar, connected to sewers 1 - 3
NMA1	Dungeon sewers 1, connected to wine cellar and sewers 2 and 3
NMA2	Dungeon sewers 2, connected to wine cellar and sewers 1 and 3
NMA3	Dungeon sewers 3, connected to wine cellar and sewers 1 and 2
NMA4	Dungeon Catacombs 1, connected to Catacombs 2 & 3
NMA5	Dungeon Catacombs 2, connected to Catacombs 1 & 3
NMA6	Dungeon Catacombs 3, connected to Catacombs 1 & 2
NMA7	Dungeon Harkyn's 1, connected to Harkyn's 2 & 3
NMA8	Dungeon Harkyn's 2, connected to Harkyn's 1 & 3
NMA9	Dungeon Harkyn's 3, connected to Harkyn's 1 & 2
NMAA	Dungeon Kylearan's 1, one level maze
NMAB	Dungeon Mangar's 1, connected to Mangar's 2,3,4,5
NMAC	Dungeon Mangar's 2, connected to Mangar's 1,3,4,5
NMAD	Dungeon Mangar's 3, connected to Mangar's 1,2,4,5
NMAE	Dungeon Mangar's 4, connected to Mangar's 1,2,3,5
NMAF	Dungeon Mangar's 5, connected to Mangar's 1,2,3,4
....	how many dungeon files more are possible? NMB0 is confirmed to be possible
NMF0	????
On the boot disk there is the loader plus 3 hidden files, which are
the Intro,
some data file which includes the event file index table, and
the main program (engine, BT OS).
 
Last edited by ZeroZero on Fri Feb 26, 2010 10:29 am, edited 5 times in total.
User avatar
Twoflower
Posts: 128
Joined: Thu Mar 19, 2009 12:40 am
Location: Haarlem, NL
Contact:

Post by Twoflower »

Graphics files are confirmed to be able to load over NM90 (NM91, etc.)
As we see it, it seems like the limit is the filenames so far. I believe NMF0 might be music, but I have to verify that with the SID-file.
/Twoflower
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Post by Darendor »

On a C64 floppy disk you can have up to 144 filenames.

So, if someone wanted to do their own Bard's Tale game, which are the "core files" that would need to stay on the City and Dungeon disk then?

I suppose that also brings into question how powerful do we want the editor to be?
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Post by Darendor »

And yes, I was able to construct a sixth level for Mangar's tower and call it NMB0.PRG. It had its own two text messages and a portal up to level 7, complete with an antimagic zone to prevent people from actually going up to it.
User avatar
ZeroZero
Posts: 286
Joined: Tue Mar 10, 2009 9:10 pm
Location: Germany

Post by ZeroZero »

Well, actually you can extend the directory on a 1541 floppy to use more than track 18 for directory entries, however these tracks are not safe and will be destroyed by a validate.
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Post by Darendor »

ZeroZero wrote:Well, actually you can extend the directory on a 1541 floppy to use more than track 18 for directory entries, however these tracks are not safe and will be destroyed by a validate.
Sounds dangerous. :?
User avatar
Twoflower
Posts: 128
Joined: Thu Mar 19, 2009 12:40 am
Location: Haarlem, NL
Contact:

Post by Twoflower »

Once again - if you replace the usual loader with an IFFL routine, the problems with the amount of files will be no more. Most of the files - especially the events - aren't of any use for a new scenario.
/Twoflower
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Post by Darendor »

Twoflower wrote:Once again - if you replace the usual loader with an IFFL routine, the problems with the amount of files will be no more. Most of the files - especially the events - aren't of any use for a new scenario.
Whatever an IFFL routine is.

As long as you know how to do this then we're all good.
User avatar
Twoflower
Posts: 128
Joined: Thu Mar 19, 2009 12:40 am
Location: Haarlem, NL
Contact:

Post by Twoflower »

Sorry again - IFFL stands for Interactive Flexible File Linking. This is really just a fancy word for a loader which uses track/sector chains instead of files. Usually, this ends up with only having two files - one startfile and one big datafile containing all the files you have. Let me take an example:

Say you'll have a disk with looks like this:

Code: Select all

94 "-BARD'S TALE IV-"
84 "INTRO"
09 "NM01"
09 "NM02"
33 "NM03", etc, going on 90+ files. 

144 BLOCKS FREE.
This will look like this if you use an IFFL-routine:

Code: Select all

94  "-BARD'S TALE IV-"
428 "BARD'S TALE DATA"

144 BLOCKS FREE
You are ofcourse free to use the rest of the disk for other files. A verify or a write won't screw up things - like it might if you use a pure track/sector loader with no files on the disk. I understand that this still isn't totally clear, but let's just say that it mashes together all the small files to one bigger file and that you never will have problems with the amount of files storable on a disk again.

---

On a completely different topic: NM04 does most probably contain all the "normal" city-graphics which doesn't need to get loaded while wandering around.
/Twoflower
User avatar
Darendor
Posts: 1502
Joined: Wed Jan 14, 2009 1:53 am
Location: Red Deer, Alberta, Canada

Post by Darendor »

So you're talking about editing data directly using block read and block writing routines rather than editing files themselves.

The datafile being the track, sector and position numbers for each bit of code.

Am I right?
User avatar
Twoflower
Posts: 128
Joined: Thu Mar 19, 2009 12:40 am
Location: Haarlem, NL
Contact:

Post by Twoflower »

Well, while you edit the game, I guess it is better to use files. If you develop or test on a D81-image (like I do now) you can have all the files on one disk.

Once you want to share your edited game - using the above technique is better, since you can fit as many files as you want on one diskside. And best of all - people can't fiddle around directly with your game, since they can't see the files. Trackloading like this is also conciderably faster than the original loader = less waiting if you play it on the real thing.

The datafile is a container for all the tracks/sectors used by the - say 183 - files you have on the disk. One of these files within the container holds the key to all the positions.
/Twoflower
User avatar
ZeroZero
Posts: 286
Joined: Tue Mar 10, 2009 9:10 pm
Location: Germany

Post by ZeroZero »

Ok, anyway that IFFL loader will need some memory to run. Will it load into the floppy ram and run from there, or do we need to find an unused area in main mem of the C64? I think with BT and its intense use of the main mem this will become the hard part. But I *think* BT is not using the floppy mem.
Also I understand, that the IFFL not only manages the read/write of files, but also will do the runtime crunching/decrunching?
User avatar
ZeroZero
Posts: 286
Joined: Tue Mar 10, 2009 9:10 pm
Location: Germany

Post by ZeroZero »

As for the city gfx... I assume that the "3-D" view is generated like Twoflower says, prolly from NM04 gfx, and maybe the houses gfx from the NM5x++ files is preloaded and buffered (not ALL the house views load, only the "specials" and the insides). I wonder what data NM09 contains... if it only handled the directions, it were by far too big, 1 sector then were sufficient.
I also was not able to find yet the monster and item tables. Only the names I found in the main program, and I am afraid also the property tables are within the main. The "basic BT OS" seems to be in the coated 3rd file on disk, which is about 6k. It has the jump tables in the beginning and also some index tables.
For the monsters there are not too many candidates left in the files... I am rather positive that NM05 to NM08 contain the 4 dungeon wall gfx sets, Twoflowers suspects NMF0 to be the bard songs (if so they also must be preloaded and buffered, because only one of the disks contains that file, while the bard can play everywhere). This leaves for the monsters and items only:
the rest of NM09 or
NM02 or
NM04, if that does NOT contain the city gfx, but I think Twoflowers is right with the city gfx, or
the main files....
User avatar
Twoflower
Posts: 128
Joined: Thu Mar 19, 2009 12:40 am
Location: Haarlem, NL
Contact:

Post by Twoflower »

I'm almost 100% sure that NM04 only carries the prebuffered graphics needed to wander around in the city. Going from some earlier experience with the graphics, I patched over $2000-2700 in the file with zeroes. This will lead to loss of color in the lower half of the city-view aswell as some screwed up housefacades.

While toying around with this I found some other interesting things concerning the main-program. Concider the following:

The main program uses a JSR to $B600 as entrypoints to certain locations like Kylearan's Tower, Garth's, The Guild, the Sewers, etc.
Just load the correct adress in A and do a JSR.

Code: Select all

LDA #$00	- The Guild.
LDA #$01	- The Guild.
LDA #$02	- Tavern.	
LDA #$03	- Garth's.
LDA #$04	- Temple.
LDA #$05	- Reviewboard.
LDA #$06	- Catacombs.
LDA #$07	- Empty building.
LDA #$08	- Spell street and time of current position?

LDA #$09	- Kylearan's Gate?
LDA #$0A	- Kylearan's Gate?
LDA #$0B	- Kylearan's Gate?

LDA #$0C	- Stone Giant Statue.
LDA #$0D	- Kylearan's Gate.
LDA #$0E	- Mad God's Temple.
LDA #$0F	- Entrance to the City Sewers.
Haven't really examined this, but the main city-program seem to use a subroutine at $AEE4 to access this.
Last edited by Twoflower on Mon Mar 30, 2009 12:53 pm, edited 1 time in total.
/Twoflower
User avatar
Twoflower
Posts: 128
Joined: Thu Mar 19, 2009 12:40 am
Location: Haarlem, NL
Contact:

Post by Twoflower »

ZeroZero wrote:Ok, anyway that IFFL loader will need some memory to run. Will it load into the floppy ram and run from there, or do we need to find an unused area in main mem of the C64? I think with BT and its intense use of the main mem this will become the hard part. But I *think* BT is not using the floppy mem.
Also I understand, that the IFFL not only manages the read/write of files, but also will do the runtime crunching/decrunching?
An IFFL loader mainly uses floppy-ram with a very small footprint in the main-mem.
It normally uses runtime-crunching or decrunching aswell, but that can be cut out aswell.
/Twoflower
Post Reply