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.

Dark GDK / Are TGC still interested in DGDK.NET ?

Author
Message
Zuka
16
Years of Service
User Offline
Joined: 21st Apr 2008
Location: They locked me in the insane asylum.
Posted: 7th Jul 2008 00:16
Quote: "I could never get the DX mode to run fast enough to be playable. When I switched over to OpenGL it was like someone pushed the turbo button and the game finally came to life."


ATI or nVidia graphics card?

Mahoney
16
Years of Service
User Offline
Joined: 14th Apr 2008
Location: The Interwebs
Posted: 7th Jul 2008 00:21 Edited at: 7th Jul 2008 00:21
Also, what game? I'm sure many developers devoted more time to one over the other.
pirogoth
16
Years of Service
User Offline
Joined: 6th Apr 2008
Location: Good Old California
Posted: 7th Jul 2008 00:35
Quote: "As for .Net - I must say the mentioning (from you guys) about Halflife coders saying C# as fast as C++ (or neglible difference) and the portability stuff - all sounds very attractive. Though, knowing Microsoft, I can't wrap my head around the portability stuff - I mean - did they write the linux and max ports to .Net or is it some GNU thingy - that will always be playing catchup? Are the .Net core "calls" and Libs - the same? Does it allow One code base for both 32 and 64 bit stuff? Can it compile code on 32 bit that Int's and pointers are default 32 bit, but on 64bit switch to 64 default? (not breaking as much code when you switch from compiling 32 bit stuff to 64?)"


The Mono port is under the GPL to my knowledge, however it has full patent immunity (granted by Microsoft) and Microsoft is actually actively supplying documentation of .NET internals to the group and occasionally funding the project. So I'd say it's here to stay. It is generally a few months behind the latest release of .NET, but they don't stay behind for long.

Yes, the libs are identical across Mono and .NET. There are a few special libs for OS X and Linux though (GTK# for example), but winforms are supported across all three OS's.

As for 64-bit and 32-bit, yes. All that is required is an extra command line switch sent to the compiler. Ints compiled for 32-bits, are locked at 32-bits. Ints compiled for 64-bits are locked at 32-bits. Allows for one code base, for both. This also works for the Xbox 360 if you have an interest in XNA.

However as for dynamically switching between 32-bits and 64-bits, I don't think it can do that. I could very well be wrong, I just don't believe that's currently possible.

If you want to give C# a shot, I'd highly recommend XNA as well. It's a high level wrapper over DirectX, but gives you all the low level functionality if you need/want it. It also has the benefit of working on the Xbox 360. However, XNA currently only works on Windows, the Xbox 360 and the Zune. There is apparently a linux port in the works (done independently of Mono), but if the message group is any indication the project is likely dead.

-Piro
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 7th Jul 2008 01:01
Quote: "However as for dynamically switching between 32-bits and 64-bits, I don't think it can do that. I could very well be wrong, I just don't believe that's currently possible."


No that's not what I meant (Though you're right - you can't switch 32 to 64 like that .. however in intel - you start AFAIK - still in a 16 bit mode - switch to 32 - and now I bet you can switch 64 bit there - it might be 32bit on cold boot - but I don't know or care about this anylonger and wont unless I decide to write another OS - something I have done before - but its ALOT of work - and I doubt I'll do that again.

Mahoney
16
Years of Service
User Offline
Joined: 14th Apr 2008
Location: The Interwebs
Posted: 7th Jul 2008 01:13
What amount of progress did you make on it?

Also, on the topic of .NET, check out this operating system written in mainly C#:

http://research.microsoft.com/os/Singularity/

It's pretty neat.
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 7th Jul 2008 06:06
Quote: "What amount of progress did you make on it?"


Well - I made a direct hardware IO "Floppy" driver one might say - (in the days when you could call Intel and they would snail mail you a 2 inch thick reference book on anything you wanted) directly to the floppy "controller" for disk based booting - reading the boot sector is done by bios - but you need to have code in the boot sector to load your loader LOL (sounds silly but that's how its usually done). Formatting the floppy - though you have tons of control programming the chip - was a pain - so I stuck with the standard 80 track, double density format.

I also wrote an EIDE lib and my own filesystem - that after I explained it to someone they said I made something a kin to the old IBM VSAM file system. In short - it allows reading files forward and backwards, and you never delete a file - they just get flagged "offline" with a unique ID number - like a autonumber - and when there is no more space - the "Oldest" (based on autonumber id) "deleted" file becomes the one that gets written on next. So you literally fill the drive first then it hunts for "emptys" one might say.

I basically alluded I wrote bootstrap code that loaded a loader - (bootstrap is tiny - and the loader was kinda big compared to a single sector - the loader would read from either floppy or harddrive). The loader would then start loading what people call the kernal - upon loading it - it would set the meory model, set up the task segment registers for a couple threads, and then call the loaded "kernal" code. I never called this part a kernal - I referred to it as the "os core" but that's because I'm self taught and didn't always know the "mainstream" names for thing back then.

I had my own EXE format - complete with memory usage headers, and relocable or non relocatable code "blocks" it could load and fire. You could switch tasks, and what I thought was neat about the whole thing was that you had to give an EXE rights to use resources, like users - but a user's didn't trump the exe rights. Sound Silly? It was done with the idea that only an administrator could set how much access to resources an executable could have... and looking back - this would eliminate most virus. I wrote it in such a way that if you ran an application - without any - rights you would see all the resources it "tried" to access. This was done so if it wasn't working the way it was supposed - you could discern what it needed access to and grant it.

This was entirely written in MASM (Microsoft old Macro Assembler) and I used NASM for some things, and old dos DEBUG and a utility I wrote - to create the bootsector stuff.

It was completely console based - and I programmed the video card directly - writing to the memory locations that show the ascii "console" and colors... like fullscreen console "looks" now.

It was called COPS - (Complete [control] OPerating System) but some other guy had one called the same thing and I didn't know - I was a little urked when I found out... His stood for something different - but - I liked the old Boot Up screen - you didn't see ANYTHING microsoft - the screen would turn Blue... and in yellow text you'd see: "C.O.P.S. Loading..." Then you'd get a command prompt not unlike linux or dos.

It only ran little assembly programs I wrote - and I had to write them one way to test in MSDOS (in PMODE) - then make sure the code was relocatable, and then literally "hand write" the exe header in MASM - (so it was all byte aligned, and had all the correct data in the spots the "kernal" expected to be able to load and launch it) then hand place it into the filesystem with a utility I made in Turbopascal to access the harddrive from dos the way COPS did natively... (I didn't have networking either BTW) .. then change that harddrive to the boot one - and fire it up - A LOT OF WORK!

so - I got 32bit mode working, booting, security, homebrew filesystem for large EIDE drives, and ability to lauch "programs" (which were only assembly language - but if I wrote a c compiler for it - (or its own macro assembler for that matter) then you could write apps in c (or assembly) natively without needing to "leave" and boot DOS to make things for it... this would involve writing text editor, compiler, linker - etc.. all from scratch as it didn't follow any (possibly copyrighted) specifications from anyone.

My reference manual was a bunch of intel books on different processors, and the "other" chips reference manual (that had the floppy stuff in it) and this book I bought on 32bit systems archietecture.. which taught me about designing the various memory models - (you typically choose one - Novell and I think early WinNT were flat memory model for example) - and it showed me was task segments were, how the TSS structures worked - (it turned it closer to english - intel reference had the info too but until you knew it a bit - it seemed kinda of hard for me to understand... but once you start banging on it and some thing works... (after 100 tried and reboots) you start to get it.

--Jason

Mahoney
16
Years of Service
User Offline
Joined: 14th Apr 2008
Location: The Interwebs
Posted: 7th Jul 2008 07:04
Damn. That's amazing. I feel like such a noob. I've always wanted to do something like that, but all in MASM? I expected C. I can't imagine MASM.

I bet you would love to see the Windows source files, then. I imagine you'd have a field day looking over that.
Mahoney
16
Years of Service
User Offline
Joined: 14th Apr 2008
Location: The Interwebs
Posted: 7th Jul 2008 07:42
So, you already knew all about this, huh?

http://forum.thegamecreators.com/?m=forum_view&t=132760&b=22
jason p sage
17
Years of Service
User Offline
Joined: 10th Jun 2007
Location: Ellington, CT USA
Posted: 7th Jul 2008 12:55
Quote: "I bet you would love to see the Windows source files, then. I imagine you'd have a field day looking over that"
I'd rather have a tooth pulled.

Quote: "So, you already knew all about this, huh?
"

Yeah....

Mahoney
16
Years of Service
User Offline
Joined: 14th Apr 2008
Location: The Interwebs
Posted: 7th Jul 2008 17:45
Quote: "I'd rather have a tooth pulled."


o.O

Not the response I expected.
pirogoth
16
Years of Service
User Offline
Joined: 6th Apr 2008
Location: Good Old California
Posted: 7th Jul 2008 18:55
Quote: "o.O

Not the response I expected."


Ahhh, but very much the response that I expected! The source code to the Windows kernel is fairly notorious. Honestly, I'd much rather be kicked in the crotch repeatedly with steel toe boots than have to work with it.

Singularity on the other hand, I've been very interested to look into, I've just not had the time to do so.
Mahoney
16
Years of Service
User Offline
Joined: 14th Apr 2008
Location: The Interwebs
Posted: 7th Jul 2008 19:09
Quote: "The source code to the Windows kernel is fairly notorious."


Supposedly, it's very well written in the sense that it's very easily upgradeable. Read this comment to see what I mean:

http://neosmart.net/blog/2008/shipping-seven-is-a-fraud/#comment-160264
pirogoth
16
Years of Service
User Offline
Joined: 6th Apr 2008
Location: Good Old California
Posted: 7th Jul 2008 20:28
The problem with that comment, is what do you call the windows kernel? Where do you draw the line?

The NT kernel itself, at least it's core anyway is very small, compact and well written. However that kernel core and supporting utilities, an OS it does not make. Simply put, it won't even boot.

That post essentially says, "If you remove all this crud, then it's a nice shiny, well written kernel!" Take the windows XP kernel for example. The XP kernel is a monolithic kernel. In the case of Windows, most everything is built into the kernel itself. When people talk about the Windows kernel being a mess, this is what they are talking about. All that extra bulk that is actually required for the OS to run.

The kernel core is very upgradeable and modular. It's also likely less than five thousand lines of code.

Don't get me wrong, the Linux and OS X kernels are a mess as well, but Windows takes the cake.

-Piro
KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 7th Jul 2008 21:24
@jason,

Yup. I've hit turbosquid a few times and managed to pull one ship model that I'm using for testing. I need to get about 20 custom ships made. Most of them being cargo ships capable of carrying generic cargo pods that all the ships will use. A few fighters, and a couple of space stations. Nothing high poly.

Quote: "ATI or nVidia graphics card?"


It's been long enough that I don't remember. Probably neither one.

Quote: "What game?"


I remember having many problems with the original Unreal. Unreal Tournament gave me trouble until I upgraded the computer. I still don't think I had ATI or nVidia graphics at the time, but typically OpenGL performed better for me until recently. Chances are that is due to my upgrading to nVidia.

Mahoney
16
Years of Service
User Offline
Joined: 14th Apr 2008
Location: The Interwebs
Posted: 7th Jul 2008 21:37
I believe that's due to the fact that the Unreal Engine was originally based on OpenGL, and the DX mode was less optimized. Though, I may be completely off on that.

@pirogoth

I meant the NT Kernel, not the rest. I'm sure the rest might be consider "bloat", but, like you said, it's required, and still extraordinarily fast.
KISTech
16
Years of Service
User Offline
Joined: 8th Feb 2008
Location: Aloha, Oregon
Posted: 7th Jul 2008 22:05
Either way I at least have current hardware now.

Mahoney
16
Years of Service
User Offline
Joined: 14th Apr 2008
Location: The Interwebs
Posted: 7th Jul 2008 23:17
Yep!
pirogoth
16
Years of Service
User Offline
Joined: 6th Apr 2008
Location: Good Old California
Posted: 7th Jul 2008 23:28
Mahooney: Keep in mind, that the speed of the code has nothing to do with how easy it is to work with, or how well written something is.

-Piro
Mahoney
16
Years of Service
User Offline
Joined: 14th Apr 2008
Location: The Interwebs
Posted: 8th Jul 2008 00:09
I know.
Zuka
16
Years of Service
User Offline
Joined: 21st Apr 2008
Location: They locked me in the insane asylum.
Posted: 8th Jul 2008 01:24
Mahoney
16
Years of Service
User Offline
Joined: 14th Apr 2008
Location: The Interwebs
Posted: 8th Jul 2008 01:29
He's making fun of me! XD
pirogoth
16
Years of Service
User Offline
Joined: 6th Apr 2008
Location: Good Old California
Posted: 8th Jul 2008 02:10
Woops! Sorry if it came off that way. I'm not trying to make fun of you.

-Piro
Zuka
16
Years of Service
User Offline
Joined: 21st Apr 2008
Location: They locked me in the insane asylum.
Posted: 8th Jul 2008 02:37
Mahoney
16
Years of Service
User Offline
Joined: 14th Apr 2008
Location: The Interwebs
Posted: 8th Jul 2008 02:41
@pirogoth

I know. I was joking.

@Zuka

Zuka
16
Years of Service
User Offline
Joined: 21st Apr 2008
Location: They locked me in the insane asylum.
Posted: 8th Jul 2008 02:42

Login to post a reply

Server time is: 2024-09-30 03:23:03
Your offset time is: 2024-09-30 03:23:03