Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Geek Culture / How did they make DB?

Author
Message
Libervurto
18
Years of Service
User Offline
Joined: 30th Jun 2006
Location: On Toast
Posted: 20th Aug 2007 20:51
Is DarkBASIC sitting on top of BASIC or did the Bambers and co actually write everything from scratch in assembler (or whatever you would use to write a language I don't know!)

Your signature has been erased by a mod because it was rubbish.
Gil Galvanti
19
Years of Service
User Offline
Joined: 22nd Dec 2004
Location: Texas, United States
Posted: 20th Aug 2007 20:56
it's written in C++


Satchmo
19
Years of Service
User Offline
Joined: 29th May 2005
Location:
Posted: 21st Aug 2007 06:00
Man if it was written in assembler that would rock, you would have the speed of c++ and the ease of dark basic! But that's really just a pie in the sky dream.

I like my sig.
bitJericho
22
Years of Service
User Offline
Joined: 9th Oct 2002
Location: United States
Posted: 21st Aug 2007 06:19
dbpro had optimizations written in assembler. Such as for/next loops and all that jazz. I know, cuz I totally read lee's blog back in the day

Image All
18
Years of Service
User Offline
Joined: 30th Dec 2005
Location: Home
Posted: 21st Aug 2007 06:29
Assembly

bitJericho
22
Years of Service
User Offline
Joined: 9th Oct 2002
Location: United States
Posted: 21st Aug 2007 06:33
my bad... should have caught that

dark coder
22
Years of Service
User Offline
Joined: 6th Oct 2002
Location: Japan
Posted: 21st Aug 2007 11:09
Quote: "Man if it was written in assembler that would rock, you would have the speed of c++ and the ease of dark basic! But that's really just a pie in the sky dream."


No you wouldn't, it's possible for something written in asm to run slower than using DBP, it's all down to the programmer.

Code Dragon
18
Years of Service
User Offline
Joined: 21st Aug 2006
Location: Everywhere
Posted: 21st Aug 2007 15:10
There would be little point in writing the compiler in assembly (if anyone was insane enough to do it) because that doesn't automatically make the programs compiled in it fast.

Quote: "Quote: "he probably thought you meant you thought"
NOO!! MY BRAIN IT EXPL"
Raven
19
Years of Service
User Offline
Joined: 23rd Mar 2005
Location: Hertfordshire, England
Posted: 21st Aug 2007 15:32
Quote: "Assembly"


they were right the first time, it's Assembler not Assembly; use wikipedia to see why there is a difference. :p
as we all knew what was ment though, why bother correcting (or trying to) such a common mistake?

As for DB:
I believe both have been written in MSVC++ (v6.0 for both), how much of the source is assembler that is then linked post compile is debatable though (if any).

Lee refuses to release the source to DB v1 because he has said that it contains quite a bit of the current technology employed in DBP, although given they both use completely different APIs (DirectX7 and DirectX9) as well as being completely different language types (Machine Code and ByteCode Interpreted) then that statement has always confused me.

iirc Lee for v1 used quite a bit of his knowledge from working on Lego Mindstorms to develop the interpreted language; but for the compiled professional version he had to learn about ASM.

This said, it would've probably made more sense if he had used something like GNU GCC or NASM for the base then edited the top-end so it worked more like a BASIC. No idea if this is what happened but then again with the language performance and interaction I would highly doubt it.

Quote: "Man if it was written in assembler that would rock, you would have the speed of c++ and the ease of dark basic! But that's really just a pie in the sky dream.""


Writing something in ASM is a pain in the arse. You can optimise far better in ASM because you're tinkering at exactly what the processor does, however it is much longer to do most things because you have to write near enough everything from scratch in a very procedrual mannor.

It's being phased out now, due to the complexity of code and really no real requirement as the performance difference is neglegable to even use ASM inline in C/C++.

Hell Shaders are a much less complex system to deal with ASM-wise and even they moved from ASM to C-Style within a few months. There are destinct reasons for this.. most of the time to make it all a damn sight easier to develop. As I said as processors get faster the performance benifits really become so small over the development time and ease aspect.

Zombie 20
17
Years of Service
User Offline
Joined: 26th Nov 2006
Location: Etters, PA
Posted: 21st Aug 2007 16:11
I will now explain the origin of our great language dark basic. This may end up edited many times because I have a short attention span.


The sun rose up over the flats as deer ran across the fields welcoming the coming day. The village shown with a simplified brillance..they were a simple people whom valued hard work and the buisness of their neighbors. But this story is not about the village of simple garden tenders. This is about one family and the secret art they forged deep in the dark cellar of their home.

And just like that I've lost inspiration so here's the fast version

ONE DAY LEE BAMBER BENT OVER AND FARTED..the resulting explosion created the wonderful language we call dark basic.

Libervurto
18
Years of Service
User Offline
Joined: 30th Jun 2006
Location: On Toast
Posted: 21st Aug 2007 17:23
"Let there be DB Lite"
oooh made myself cringe with that one

Your signature has been erased by a mod because it was rubbish.
Ron Erickson
Moderator
21
Years of Service
User Offline
Joined: 6th Dec 2002
Location: Pittsburgh, PA, USA
Posted: 21st Aug 2007 19:32
Quote: "I believe both have been written in MSVC++ (v6.0 for both), how much of the source is assembler that is then linked post compile is debatable though (if any)."

DB Classic was definately written in MSVC++ 6.0. I am pretty sure that DBpro was initialy written in 6.0 too, but has been updated to the current versions of C++ along the way.

Quote: "Lee refuses to release the source to DB v1 because he has said that it contains quite a bit of the current technology employed in DBP, although given they both use completely different APIs (DirectX7 and DirectX9) as well as being completely different language types (Machine Code and ByteCode Interpreted) then that statement has always confused me."


Why would they publicly release the source code? Although it would be no easy task to convert DB classic to use DX9 or DX10, it contains a lot of info that would allow users to start writing directly in C++. The compiler is only a small part (and probably least significant) of the information that would be exposed.

Libervurto
18
Years of Service
User Offline
Joined: 30th Jun 2006
Location: On Toast
Posted: 21st Aug 2007 22:33
I agree, these guys spent ages developing DB, why does everyone seem to expect they'll just release the code?

Your signature has been erased by a mod because it was rubbish.
GatorHex
19
Years of Service
User Offline
Joined: 5th Apr 2005
Location: Gunchester, UK
Posted: 21st Aug 2007 22:42 Edited at: 22nd Aug 2007 00:08
Sugar and spice and all things nice and ingredient X

It's a Basic wrapper (SUGAR), made in C++(SPICE), sat on top of DirectX SDK (INGREDIENT X)

The PowerPuff Girl of programming languages

DinoHunter (still no nVidia compo voucher!), CPU/GPU Benchmark, DarkFish Encryption DLL, War MMOG (WIP), 3D Model Viewer
Advancement Games
19
Years of Service
User Offline
Joined: 6th Jan 2005
Location:
Posted: 21st Aug 2007 23:54
Couldn't you just decompile DBP? Of course illegal, that would get you your answers...
Seppuku Arts
Moderator
20
Years of Service
User Offline
Joined: 18th Aug 2004
Location: Cambridgeshire, England
Posted: 22nd Aug 2007 01:12
I'd make the joke of there being little pixies...but Gatorhex already made a joke and I don't want to steal his spotlight.

Well I believe it took a lot of work - and well they use C++ with DirectX SDK and they wrapped the DX SDK commands into their own 'basic' language - exactly how I doubt have been released in info and I certainly doubt they'll give you the codes.

Hakuna Matata

Login to post a reply

Server time is: 2024-11-19 03:21:57
Your offset time is: 2024-11-19 03:21:57