What a fun!

A forum to introduce yourself and chat to others. Also includes community announcements.
Newcomer? Please read the forum description.
Forum rules
Please read the Forum rules and policies before posting.
User avatar
ChristopheF
Encyclopedist
Posts: 1544
Joined: Sun Oct 24, 1999 2:36 pm
Location: France
Contact:

Post by ChristopheF »

Quite impressive indeed !

Bit, you need to give a unique name to this new program so that there is no ambiguity with other existing clones/ports.

Can I add it to the encyclopaedia?

And will you make the source code available to everyone?
User avatar
Paul Stevens
CSBwin Guru
Posts: 4319
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

Pretty impressive....Very responsive. HArd to
believe you managed to do this in such a
short time.

Comments:

Not a nice windows program. Even in windowed
mode, it uses 100% CPU just standing still on
the Hall of Champions Level. In fact, even while
displaying the 'Save' dialog.

Standing one step back from Zed's Portrait,
the wall that the protrait is hanging from
flashed into/outof existence about 2 times
per second.
User avatar
zoom
Grand Master
Posts: 1819
Joined: Tue Sep 23, 2003 1:27 am
Location: far away but close enough

Post by zoom »

Well done Bit. You still have some programming skill!
8)
Did you coincidentially stumble over anything
that could shed some light on the monsters'
behaviour ? Afaik, it is not fully clear how
monsters work...
User avatar
Bit
Arch Master
Posts: 1064
Joined: Mon Mar 03, 2008 10:53 am
Location: Nuts trees

Post by Bit »

Hey - so fast responses...

@Christoph:
That's all a work in progress, a very first alpha. Too soon to decide how to continue. My first wish was to have a version absolutely close to the original disassembly, as stable as possible to have kind of a root for someone who really wishes to open a new branch (perhaps even me included ;)).
Paul has done soo much trace and debug stuff , that it is (for a 'beginner') hard to understand which is add-on and which is original. That was absolutely necessary to find out where I am and what could be the reason for my bugs, also all those variable names helped a lot. But - as you can see when I release the source (think that can be done next Tuesday in my free night), I wanted to have it even independent from any windows stuff - and Allegro allows that.
So Christoph - please wait a while before adding that to the encyclopedia until I made the same with the CSB-source too, and merged both.

@Paul:
About CPU performance: Yes, the program runs continuous and has a lot to do - imagine, I even did not replace the memmove-routines etc., that's really done by the original code (means movem-emulation), and I check almost all read and write adresses for access-violations at the moment. Then the graphics enhancement, that costs much time.
All is synced by an Allegro 70 Hz-Timer for the VBL, but the mouse-things also run through. As an old time programmer, I'm not very skilled in giving CPU-time to others, is all mine,mine,mine ;) Well - we'll see what we can do. Priority is stability atm.

What I really still need would be an entry point for the samples' loudness. I must not recalculate each sample's wave, but where can I find a parameter that gives me the loudness - all tests that I made say: not in that routine that plays the sample :/
Perhaps you have a nice hint how you realized it, reading your source still leaves me unsure where to plug-in.

@zoom:
All work is still done on a very theoretical base - I have almost no idea where what happens. Most important thing I trusted in was that DM ever ran without bugs (at least I did not spot them).

The current version is also a second try doing some steps back - I had all functions already full parametrized, but I faced the truth that I had somewhere some typos in all those pushs and pops, probably splitting a long constant into two words. And - because I also had the idea to handle all the endianess stuff another way, I did that step back - obviously relative successful.
But - I still haven't tested very much, maybe there's still something left of the critical changes because of all the protection stuff. So - if it crashes - it should simply end without a comment, and hopefully not harm anything.

As I said, I'll soon release the source, and you'll be surprised how close it is to the original. And then I'll process the CSB-stuff the same way.
Though - I do not plan to do anything with DM2!!! (in fact I even didn't really like it...)
User avatar
Bit
Arch Master
Posts: 1064
Joined: Mon Mar 03, 2008 10:53 am
Location: Nuts trees

Post by Bit »

Good news! The CSB-version seems to run too now.
At least the first part with the character selection including save and load and sound (but I still got the loudness problem here too).
Will create a real gamefile and test this too, if all works fine, release a testversion and the sources soon. :)

EDIT:
All running now (incl. loudness). T0Mi and me testing. Obviously some odd behaviour in the game engine (fast new fighter levels, extremely hard to kill the first worms etc.). Hopefully same bug type for all of that.
OS/Emu part same for both games now.
The 'need all CPU-time'-problem will remain for a while - due to Allegro. Though Allegro provides a 'yield'-function in the GUI-pack, which is probably the only way for that, but then I have to install an invisible GUI. Can't promise that this can be done easily.
Did send a very early source to T0Mi, will update that frequently, so at least one member of the community has something, if the heartattack strikes on me ;)
User avatar
Bit
Arch Master
Posts: 1064
Joined: Mon Mar 03, 2008 10:53 am
Location: Nuts trees

Post by Bit »

Good news!
1. The fast level-up bug has been found (have to investigate if those bad ror-commands came really from the original disassembly...)
2. Both games merged into one source, (ifdef CSB 'splitted').
A small splitter-program could verify that I did not add more bugs that way.
3. The whole time I worked with a real stack, means all parameters of any routine found their way to the stack and the call was finally parameter-less. That changed now, all 400+ procedures have parameters and the pushs are obsolete. This, of course, could only be done first with a lot of manual work and macros, means - thousands of places for nice typos. Means also, now that I got the parameters, I hopefully can do a splitter again and compare to the parameterless version, so that I am on the safe side.

At that point there are different choices how to continue.
One important thing would be to 'eliminate' that damned variablestack, which is bottom-up because of the endianess.
But that would be far more difficult to do than the already done steps.
I think I better clean up the source now and do a first release.
Perhaps someone has good arguments what to do next when watching those files.
User avatar
zoom
Grand Master
Posts: 1819
Joined: Tue Sep 23, 2003 1:27 am
Location: far away but close enough

Post by zoom »

hmm, have you already thought about an editor ?

looking forward to your first release
User avatar
Bit
Arch Master
Posts: 1064
Joined: Mon Mar 03, 2008 10:53 am
Location: Nuts trees

Post by Bit »

Nah, there's nothing to edit which can't be done with existing editors - it's not more than the pure originals with no add-ons.

If there are things that I'm thinking about to do, then those things Tomi is requesting and Sophia is needing. So, more infos about the renderer and the monster AI. And (more educational) steps that I already made long ago on the Atari in GFA-Basic, like automated processes that remove label by label and goto by goto and bring in C-structures. Currently it isn't more than an endless list of adapted 68000-commands as you will see, but I think it would be worth to bring in real OOP, at least it would be a challenge.

It surely just would end in a program close to CSBwin, perhaps even with the add-ons of Paul. The only advantage would be a portability to Linux because of using Allegro. But I don't think that there is a need to develop something that goes new ways, I'd rather would try to support the other projects.

My primary goal was to get it running on the PC, a very old unfinished work, am I'm pretty proud to have it done, even more, because having CSB working too - and melted both.

There is still Tony's request of having the Amiga version running.
But as far as I could check, this looks pretty evil.
With his help I could make memory picks of the running program - and I must say - I would have expected some hundred rts-commands in that - they aren't. I have no idea what they are doing there, but on a first view, it's looking like they keep the program packed in memory and just unpack and execute the currently needed routine - and that'd be a nono for me then...
User avatar
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

Post by Adamo »

So, more infos about the renderer and the monster AI.
check out the threads about monster AI on Paul`s site- there are tons of valuable stuff, and if you need a monsters tables, here they are:
http://www.dungeon-master.com/forum/vie ... sc&start=0
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
User avatar
zoom
Grand Master
Posts: 1819
Joined: Tue Sep 23, 2003 1:27 am
Location: far away but close enough

Post by zoom »

fair enough!
So, more infos about the renderer and the monster AI.
Bit, what would further info on the renderer yield?
with discoveries about monster AI you would surely attain here
the equivalent of getting on top of a Himalaya mountain - or -
if you prefer, drilling through the moon ;)
User avatar
Sophia
Concise and Honest
Posts: 4240
Joined: Thu Sep 12, 2002 9:50 pm
Location: Nowhere in particular
Contact:

Post by Sophia »

Bit wrote:those things Tomi is requesting and Sophia is needing
Needing? I wouldn't put it in those terms. At least, not to sound so demanding. I'd love to have more information about how original DM's renderer and monster AI worked, both to improve DSB, and for my own curiosity, but DSB works pretty well the way it is, so... don't change your priorities or anything on my account. :)
User avatar
Bit
Arch Master
Posts: 1064
Joined: Mon Mar 03, 2008 10:53 am
Location: Nuts trees

Post by Bit »

Hehe, yes, I know those lovely charts of the monster AI.
It seems to be really a 'Monster AI' :lol:

And the renderer - I'd be glad to modify the routines that I must not have the original ST-viewport bitmap, but can put the pixels directly either into a 256-color, or a truecolor bitmap. This would save a lot of calculation time.

And thanks Adamo - I'm still far from the point that I want to know what happens where - atm I'm pretty satisfied with anonymous numbers.

@Sophia:
The renderer has just a few routines, seems to use graphic routines that belonged to a graphics library, so is pretty good 'capsuled' from the other things. That's (hopefully) just a lot of analyzing those bitoperations for setting the pixels in that weird ST-graphics mode. Just the mouse cursor has some enhancements, but I already know where to find it and how it works.
Ofc there are lots of places where those routines are called and you probably want to know more about 'what and where' to render than 'how'. That I can probably answer first, when I kicked the last 'goto' from my source, which (regarding those articles about the monster ai) may take a while.

After all, as I said, bringing more OOP into all, should allow things like a little 'more-player' mode, where another player's party is nothing more than another monster group, which would satisfy T0Mi, and maybe install an OpenGL-Interface (and if it's only for plain standard-rendered bitmaps in the beginning) that allow powerful things later - maybe even that lovely Spore-dragon of Ameena ;)
User avatar
Bit
Arch Master
Posts: 1064
Joined: Mon Mar 03, 2008 10:53 am
Location: Nuts trees

Post by Bit »

I uploaded the recent sources and those of the most important development steps for a few days at
[edited by Bit: link removed - plz wait for a new one!!!]
You need MSVC 6.0 (dunno if later versions are compatible) to make the exes and for CSB you should create a new game with the utility-function of CSBwin (no way to do it with my programs!).
Don't expect those sources to be bugfree in any way, those are just snapshots, with lots of TODO-notes.
But because they seem not to crash immediately, I thought it's time to keep my promises. ;)
Last edited by Bit on Wed Oct 08, 2008 2:00 pm, edited 1 time in total.
User avatar
Paul Stevens
CSBwin Guru
Posts: 4319
Joined: Sun Apr 08, 2001 6:00 pm
Location: Madison, Wisconsin, USA

Post by Paul Stevens »

Wow.....That's beautiful :!:

Getting that to work is quite amazing.
Congratulations.
User avatar
ChristopheF
Encyclopedist
Posts: 1544
Joined: Sun Oct 24, 1999 2:36 pm
Location: France
Contact:

Post by ChristopheF »

Wonderful work, indeed. You must have spent quite a few hours working on that project, as Paul did some years ago.

I saw in your sources that you worked on Dungeon Master version 1.1.
Do you have an original disk of this game version? This is the only (known) version that is not available as a PASTI image on my web site. Would you agree to make such an image? (using the PASTI imaging tool available at http://pasti.fxatari.com/ )

That would be so kind!

I'd like to collect all versions to compare them and find all the little differences.
User avatar
Adamo
Italodance spammer
Posts: 1534
Joined: Fri Apr 22, 2005 11:59 am
Location: Poland
Contact:

Post by Adamo »

Bit wrote:
As I said, I'll soon release the source, and you'll be surprised how close it is to the original. And then I'll process the CSB-stuff the same way.
Though - I do not plan to do anything with DM2!!! (in fact I even didn't really like it...)
Neither do I.
DM2 is just (I think) an enhanced version of DM/CSB. Very enhanced, with a lot of things dramaticly screwed, especially all the monster`s bitmaps.. But the main framework is the same- the monster`s AI is based strictly on DM, just much more enhanced. I guess it`s only the viewportstuff that is totally reworked, so you could get enhanced perspective (4 steps visible instead of 3). And the useless double-step movement.
I might be wrong (here you should ask Kentaro about that), but I think they took the old DM/CSB engine and enhanced it (the improvements, in most cases, were bad). Except the 4 steps perspective, wchich was totally reworked.
But I think the dungeon structural data is generally the same (here you should ask Paul).

Actually, Suule and Kentaro dig a bit, if you`re interested:
http://www.dungeon-master.com/forum/vie ... hp?t=24695
http://www.dungeon-master.com/forum/vie ... hp?t=25532
Spoiler
(\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/) (\__/)
Spoiler
(@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@) (@.@)
Spoiler
(>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<) (>s<)
User avatar
Bit
Arch Master
Posts: 1064
Joined: Mon Mar 03, 2008 10:53 am
Location: Nuts trees

Post by Bit »

ChristopheF wrote:Wonderful work, indeed. You must have spent quite a few hours working on that project, as Paul did some years ago.

I saw in your sources that you worked on Dungeon Master version 1.1.
Do you have an original disk of this game version? This is the only (known) version that is not available as a PASTI image on my web site. Would you agree to make such an image? (using the PASTI imaging tool available at http://pasti.fxatari.com/ )

That would be so kind!

I'd like to collect all versions to compare them and find all the little differences.
The disassembly is straight from my original disc, which is still working, CSB too, just one sector with one character picture of the utility disc is unreadable now. I'll get that imaging tool and will send it to you - it's just, I must move house now and it will take a while until I'll have internet-connection again. So, that can take a month now, but you will get it!

@Paul:
Thanks for the flowers, but I know now pretty good what you've been through, and I wouldn't have made it without your work , I'd been stuck in the desert of endian :D
And it's far far away from another CSBwin and there's really no need to bring it that far. The only advancement would be the portability to Linux.
But - when I got time again to continue (and there are surely some things to fix), I'd really wish to have a list of all those known bugs that are fixed in all those years, i.e. that last thing with the fireshield, is such available? I won't read through the huge CSBwin-source.
IF I (or lets say we for any other one who would be part of such a project) continue, then I'd like to create some source-processors first, that bring more C structures in it, and make all the code more readable. Next would be the step up to C++, bringing a lot of OOP into it, even if it differs then from the original code (but keeps invisible for the player).
Of course, at some point I surely will say - if it only could read CSBwin dungeons - but that will take a while ;)
User avatar
ChristopheF
Encyclopedist
Posts: 1544
Joined: Sun Oct 24, 1999 2:36 pm
Location: France
Contact:

Post by ChristopheF »

Thank you!
I've been looking for an image of this version for years, I can wait one more month :)
User avatar
Bit
Arch Master
Posts: 1064
Joined: Mon Mar 03, 2008 10:53 am
Location: Nuts trees

Post by Bit »

You got mail :D
Who knows what desasters will happen next.

Btw - just found that in the pedia (related products),
you write about a DM-editor for the Amiga.
I - got this for the ST too! Any requests?
User avatar
ChristopheF
Encyclopedist
Posts: 1544
Joined: Sun Oct 24, 1999 2:36 pm
Location: France
Contact:

Post by ChristopheF »

Thank you for the disk image, I'll add it soon to the web site.

I'm always interested by all DM related things (disk images / scans / tools etc.), so yes I'd be glad to add the Atari ST version of the DM editor! Another PASTI image ?

Thanks a lot!
User avatar
Bit
Arch Master
Posts: 1064
Joined: Mon Mar 03, 2008 10:53 am
Location: Nuts trees

Post by Bit »

As soon as possible.
I also noted the night, my old harddisc won't live for long anymore.
After using it, it could not calibrate anymore for a while, but the morning, when it was colder, it made it again.
Just press thumbs that it survives another pasti-process, because the program seems not to run without a harddisc.

About my sources and bugs:
Found the first one - if you put a chest in anyone's hand, and watch the inventory, funny things may happen and then it hangs up. Okay - I better write this 'backstep-processor'.
As I said, don't take the current one in csbdev03 too serious... :oops:

Update: T0Mi had some funny fresh champions when he gave DM version 03 a try. First I really thought he's gone crazy completely now - but - he just gave a fine description (all the same bug after all). Okay, fixed that and a few others that the 'backstep'-process delievered, and so I hope it's much safer now. But it needs testing. The sourcefiles on my site have been updated (link above), I still won't give out exes now. will test some more after moving house.
User avatar
T0Mi
Expert
Posts: 324
Joined: Thu Dec 27, 2007 10:21 pm
Location: schland

Post by T0Mi »

huu... I'm starting to get a little worried about Bits whereabout.

My latest message still waits in the outbox folder since 2 weeks now. And his last message made me worry more than a little; beside moving it didn't sound like he is doing well. :-/
There is a saying in Germany: "moving once is like burned to the ground twice", so maybe it is really nothing more than the new connection not yet available, or the old modem buried somewhere in a room full of boxes.

Still: has anyone heard anything from him?
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

I think the moving house is enough, connections and spare time over a month might be a problem
User avatar
Bit
Arch Master
Posts: 1064
Joined: Mon Mar 03, 2008 10:53 am
Location: Nuts trees

Post by Bit »

Back (almost) alive :D
Telekom T0mi - don't ask...
Just want to say a quick hello and tell you that the third uploaded version is pretty buggy. I will make an update soon, it's already fixed and I could play DM now to the firetomb without a problem.

Next step I already began is the sourceprocessing.
A kind of a recompiler processes the source from those nasty gotos to normal C-structures. So far I got a lot of routines solved, but ofc there are (already known) pretty ugly ones, like the monster AI and some more (still no idea what does what...).
Maybe I'll give some riddles how to solve the one or other thing, maybe Paul has a warning about some dead-end traps in that.
User avatar
beowuuf
Archmastiff
Posts: 20687
Joined: Sat Sep 16, 2000 2:00 pm
Location: Basingstoke, UK

Post by beowuuf »

hey! there has been worried talk on your absence, good to see you poking your head in again!
User avatar
Trantor
Duke of Banville
Posts: 2466
Joined: Wed Mar 09, 2005 4:16 am
Location: Berlin, Germany
Contact:

Post by Trantor »

Yeah, all those Germans eventually come back - sucinum, me, Bit, THOM, t0mi... You'll never get rid of us! :P
User avatar
T0Mi
Expert
Posts: 324
Joined: Thu Dec 27, 2007 10:21 pm
Location: schland

Post by T0Mi »

Ah, really good to hear you're back and doing well. :-)
I hope you'll be feeling 'at home' in your new house soon.
User avatar
Bit
Arch Master
Posts: 1064
Joined: Mon Mar 03, 2008 10:53 am
Location: Nuts trees

Post by Bit »

Just a quick update.
I removed the link to the source for two reasons at the moment:
1. the 3rd part had some problems like I already described.
2. I won't host that link anymore, because I reconfigured my hardware with router etc., and with that it simply looks impossible to use AOL anymore - that's not worth the time to spend.
So I must look for other webspace first. Maybe T0mi is willing to host the newest version for a while, which includes a corrected version 3 and a new work-in-progress, where all gotos have been removed (except for that dammit monster-move-routine).
That source looks pretty impressive now - but - in some cases it had to do code duplication, and that it did sometimes pretty dumb!
Because that process was done almost automated, I think I have to enhance that tool first, that's why I don't call it a finished step.
Though - it's really fascinating that it is still playable ;)
User avatar
T0Mi
Expert
Posts: 324
Joined: Thu Dec 27, 2007 10:21 pm
Location: schland

Post by T0Mi »

Of course. :-)

Just drop me a mail and I'll do the upload as well as some wierdminded testing. ;-)
(but will take its time till the weekend... that working hot spot turns out to be the river Styx made of boiling Lava... :twisted:)
User avatar
Bit
Arch Master
Posts: 1064
Joined: Mon Mar 03, 2008 10:53 am
Location: Nuts trees

Post by Bit »

Ah, there he is!
Thanks T0mi, no need to hurry.
I figured some timing problems on faster machines - obviously with no clean vsync, or no at all. Then the spellbox leaves white squares after releasing a spell sometimes - and on the dual core machine of my brother, after each 2nd step, just that floors&ceiling-only pic appears - that's not funny.
Unfortunately I cannot force him to switch anything on the graphics card for testing - and editing a .cfg-file - that's impossible to him :roll:
So, I must do something with the vsync (think CSB solves it with some more vsync-loops) - and I wonder why the 70 hz-timing of Allegro will not work. Btw - that's for all versions from the beginning...

(another thing - why does a session times out that fast here? Am I typing that slow?)
Post Reply