Forums

Sega Master System / Mark III / Game Gear
SG-1000 / SC-3000 / SF-7000 / OMV
Home - Forums - Games - Scans - Maps - Cheats - Credits
Music - Videos - Development - Hacks - Translations - Homebrew

View topic - Thank you guys all so verry much ! (I will answer everything in this post)

Reply to topic
Author Message
Le hamster croustilant
  • Guest
Reply with quote
Thank you guys all so verry much ! (I will answer everything in this post)
Post Posted: Thu Jun 29, 2000 11:26 pm
Thank you guys, I never expected this much help! ;)

So, if I want to start programming i'd better start with something like Visual Basic or C. What are the main differences between C & C++ ? I'd like to start with C then, so like eric said i'll track down those "programming C by Deitel and Deitel "(is this a companie name or 2 brothers?(plus some others)). Can someone explain to me (in beginers therms) what are programming " libraries "? ( and what is SEAL (just so I understand better)). Let's take this line from heliophobe's post : " main() returns int. main() does not return void ", can someone explain it in english (it's meaning and the function it performs)? I am what we call in french " autodidacte ". I allways learned by myself, like my english or basic. So i'll have probably no difficulties with C (I hope so!). Researching a little on this matter (and compiling M.A.M.E. myself), I think I figured it out : I code, add libraries & and those seal thingies, write a makefile (Did I forgot to mention I'd like to start with dos and djgpp? oups! ;) and then compile to make an executableof my prog... (or something similar). That about sums it up. Again thank you for all those posts and perhaps i'll present you guys an emulator someday soon... (only problem is that allmost every system is emulated, oh well... dreamcast anyone? haha! (in my dreams !!!)).

To zoop : Thank you! i'll wait for them, you don't have to rush. English or french? your call, the one that you get your hands on first. Thanks in advance!. Is it ok if I ask questions here if it's not (for now) sega related ?

 
  • Site Admin
  • Joined: 25 Oct 1999
  • Posts: 2029
  • Location: Monterey, California
Reply with quote
Post Posted: Fri Jun 30, 2000 12:32 am
Quote
> Thank you guys, I never expected this much help! ;)

> So, if I want to start programming i'd better start with something like Visual Basic or C. What are the main differences between C & C++ ?


C++ is mostly downwards compatible with C, so you can begin with C and not have to rewrite all you code when (if) you move to C++.
Explaining the difference between the two is a bit tricky to do without referencing features of the languages or styles of programming. The shorty short version, though...

C++ is an object oriented language. 'Objects' in C++ (or other OO languages like Java) are composite 'things' which both store data about themselves, and define specific behaviors. An object type is a 'class'. An object of a particular class is an 'instance'. Or we could just call it an instance.

For example, a numerical variable, we'll call that class Integer.

an Integer has data, which in it's case is simply however many bytes it takes to define a number. That data is the object types 'state'. It also has behaviors, you can add it to another integer and it will chance the value. You can copy them, do math on them, or invent new math functions.

You can then take the Integer class and make a 'subclass', that it, a class that builds on an existing class, but adds special features or restrictions. We could make a subclass of Integers that restrict themselves to being between 1 and 10, for instance. They could be used anywhere an integer can be used, but still have their own special properties.

If you don't get this, don't worry, it makes more sense when you've been working in C for a while, and start to wish you could make your own datatypes.

C++ is object ORIENTED, that is, you can use objects and build your application out of objects, but it's not necessary. Also, C can use objects in an indirect sort of way, but it's a lot clumsier.

C++ also adds various feautres that C ought to have had (mostly minor ones, several of which have been picked up by the NEW (but basically unsupported as of yet) C99 standard). It's also more type safe. What that means is that the compiler enforces stricter rules that allow it to catch more mistakes when it detects something you -could- do, but probably didn't mean to (there are always ways to tell the compiler 'thank you very much but I -DID- mean it).



Quote
>I'd like to start with C then, so like eric said i'll track down those "programming C by Deitel and Deitel "(is this a companie name or 2 brothers?(plus some others)).

I think brothers. The publisher, if I recall correctly, is Addison Wesley.

Quote
> Can someone explain to me (in beginers therms) what are programming " libraries "? ( and what is SEAL (just so I understand better)).

Your C book will explain this better, but in short:
Libraries are already compiled code grouped that you can include in your own programs. You simply need to 'link' it in with the code you compile, and you can use functions provided for by the library (the library should come with instructions on how to use it, or they should be available somewhere). Certain libraries contain 'standard' functions, functions available on every compiler for every system. For instance, "printf()" for writing text to the output device (as said before, usually the screen, but not necessarily). No matter what system you're writing for, you can call the printf() function that comes with libraries that come with your compiler. However, the actual 'printf()' routine that someone wrote had to be written specially for that compiler, using operating system (or platform) specific code that wouldn't make sense on any other OS or platform.
If you took the same code, and compiled on a completely different kind of system, the compiler would link a relevant version of the library for that system, and it would work correctly.
Other libraries are very specific to the operating system, but are provided as a neat gateway into the features of the OS. When programming on Windows in C, you use a set of libraries provided by Microsoft which link you to the features of the operating system. If you tried to bypass those libraries you'd have a hell of a time wading through the guts of the operating system to find the correct features, and would gain nothing for it besides the potential for incompatibility if microsoft changes the nuts and bolts without telling you.

Seal is a library for dos (and windows?) that makes writing sound code easier. It's not provided by your compiler, rather it's written by people who want to save others from reinventing the wheel every time they want to add a sound engine to their game, emulator, or whatever.
There are specific SEAL libraries for DOS and Windows, in fact I think there are special versions for individual compilers. The DOS version wouldn't make any sense on a macintosh, or linux, or a Sun workstation, etc.

Quote
>Let's take this line from heliophobe's post : " main() returns int. main() does not return void ", can someone explain it in english (it's meaning and the function it performs)?

No need to explain it now. It'll make sense when you start programming.

Quote
>I am what we call in french " autodidacte ". I allways learned by myself, like my english or basic. So i'll have probably no difficulties with C (I hope so!).

well there will always be difficulties, but that's part of the process.

Quote
>Researching a little on this matter (and compiling M.A.M.E. myself), I think I figured it out : I code, add libraries & and those seal thingies, write a makefile (Did I forgot to mention I'd like to start with dos and djgpp? oups! ;)

Kinda. You generally start VERY small, and work in increments. Compiling every step of the way to see if it worked like you expected.

It quite often won't. If you're like every programmer I know, you'll be your own worst enemy, and will spend hours and hours debugging just to find it was some stupid little something that you slipped in by accident.
If that doesn't happen, and it always works the first time, I will have you killed.

In addition to DJGPP, pick up RHIDE: it's a little intimidating at first but VERY powerful and VERY nice. (RHIDE is an integrated developer's environment, that is, it's like a text editor, but it also will let you manage source code files, help you catch mistakes while you code, run the compiler for you so you don't have to do a makefile.. and it's got a good graphical debugger for figuring out what went wrong).

Quote
>and then compile to make an executableof my prog... (or something similar). That about sums it up. Again thank you for all those posts and perhaps i'll present you guys an emulator someday soon... (only problem is that allmost every system is emulated, oh well... dreamcast anyone? haha! (in my dreams !!!)).

Aw hell, just write new games. MAybe make PC specific 'sequels' to SMS games.
You don't want to tackle an emulator, it's not a fun way to learn to program.. (but you CAN do it... right zoop?)
  View user's profile Send private message Visit poster's website
  • Joined: 18 Sep 1999
  • Posts: 498
  • Location: Portland, Oregon USA
Reply with quote
Post Posted: Fri Jun 30, 2000 12:33 am
Quote
> Thank you guys, I never expected this much help! ;)

> So, if I want to start programming i'd better start with something like Visual Basic or C. What are the main differences between C & C++ ?

C is a traditional "structured" programming language. The flow of the program occurs by calling procedures (or functions). The program always starts by executing the main function ("main" is the function name). Data can be entirely enclosed in a function, or it can be global to the entire program.

C++ is an object-oriented extension to the C programming language. Object-oriented languages use "classes" that incorporate both data and the functions that operate on them into on logical unit.

Quote
> I'd like to start with C then, so like eric said i'll track down those "programming C by Deitel and Deitel "(is this a companie name or 2 brothers?(plus some others)).

It's a father and son team.

Quote
> Can someone explain to me (in beginers therms) what are programming " libraries "?

Libraries of files that contain numerous functions within them. Program can then use the library functions rather than having to write all the code themselves.

Quote
> ( and what is SEAL (just so I understand better)).

Someone else will have to help you with SEAL. I don't know what it is.

Quote
> Let's take this line from heliophobe's post : " main() returns int. main() does not return void ", can someone explain it in english (it's meaning and the function it performs)?

All functions in C or C++ return a single data value. The idea is that the function operates on some data, and returns the result of that operation (just as a mathematical function does). "Main" is the program's main function, and it, too, returns a value. This return value can be used to inform the operating system that the program worked correctly or that it failed. I suspect Heliophobe is simply recommending that you take advantage of this feature; use it to return error codes from your programs.


Eric Quinn
  View user's profile Send private message Visit poster's website
  • Joined: 03 Sep 2007
  • Posts: 352
  • Location: Canada
Reply with quote
Now I understand.....
Post Posted: Fri Jun 30, 2000 1:51 am
...A little. So i'll get books this weekend and start reading. Pc sms "sequels"? I have allready planned my first one : Kenseiden2 ! (my best sms game), that is, when i'm able to do it... thank you heliophobe for your time as I understood a little more on seal & other stuff. About Quick basic, looking at some programs I found on the net I realised it is similar to the one I used to work on . I just downloaded it (v.45) and im allready working on a small game that I think will be ready tomorow anthough it is still in the " commodore64 " flavor-coded style...
  View user's profile Send private message
  • Joined: 03 Sep 2007
  • Posts: 352
  • Location: Canada
Reply with quote
Interesting...
Post Posted: Fri Jun 30, 2000 2:01 am
A debugging function?

Looking at the M.A.M.E. source I find C interesting and surprisingly not that much hard to folow the general " flow " of the prog (although I have ABSOLUTELY no idea what most of it mean as of right now). And I find that it is poorly writen when compared to other source I looked at (too much REMarks perhaps? )...

I'll have probably more questions in a week or two... thank you all!
  View user's profile Send private message
  • Joined: 24 Jun 1999
  • Posts: 1732
  • Location: Paris, France
Reply with quote
Re: Interesting...
Post Posted: Fri Jun 30, 2000 8:20 am
Quote
> Looking at the M.A.M.E. source I find C interesting and surprisingly not that much hard to folow the general " flow " of the prog (although I have ABSOLUTELY no idea what most of it mean as of right now). And I find that it is poorly writen when compared to other source I looked at (too much REMarks perhaps? )...

Generally speaking, M.A.M.E. source code is just like anarchy in term of code. That's because a dozen of people are working on it with each their own way of programming and without real rules.

These sources are very informative if you want to find informations about the systems themselves, but I wouldn't advise checking it if you want to learn C.
  View user's profile Send private message Visit poster's website
  • Joined: 24 Jun 1999
  • Posts: 1732
  • Location: Paris, France
Reply with quote
Re: Now I understand.....
Post Posted: Fri Jun 30, 2000 8:22 am
Quote
> ...A little. So i'll get books this weekend and start reading. Pc sms "sequels"? I have allready planned my first one : Kenseiden2 ! (my best sms game), that is, when i'm able to do it...

Don't start setting you too high points to reach or you'll end like Chris ;)

I'd love to form a team and reprogram SMS games, thought.
I'd like to write a Wonderboy 3 Eternal version, (like Y's Eternal in Japan, etc..) which excellent graphics, musics, etc.

Quote
>thank you heliophobe for your time as I understood a little more on seal & other stuff. About Quick basic, looking at some programs I found on the net I realised it is similar to the one I used to work on . I just downloaded it (v.45) and im allready working on a small game that I think will be ready tomorow anthough it is still in the " commodore64 " flavor-coded style...

Oh another advice: do not publicize release dates. Release dates are meant to be never expected.
  View user's profile Send private message Visit poster's website
  • Joined: 03 Sep 2007
  • Posts: 352
  • Location: Canada
Reply with quote
Re: Now I understand.....
Post Posted: Fri Jun 30, 2000 9:14 pm
Quote
> I'd love to form a team and reprogram SMS games, thought.
> I'd like to write a Wonderboy 3 Eternal version, (like Y's Eternal in Japan, etc..) which excellent graphics, musics, etc.

Indeed. Team as in a bunch of guys working on the same game or everyone programing ther own game (and sharing tips and findings)? In any case I love the idea!. As for the games I know the composer for my games ( if he wants of course!) : unfnknblvbl... Did any of you lisened to his compositions?

Quote
> >thank you heliophobe for your time as I understood a little more on seal & other stuff. About Quick basic, looking at some programs I found on the net I realised it is similar to the one I used to work on . I just downloaded it (v.45) and im allready working on a small game that I think will be ready tomorow anthough it is still in the " commodore64 " flavor-coded style...

> Oh another advice: do not publicize release dates. Release dates are meant to be never expected.

Well, actually they are the same games that are on my site... I just wanted to see how quick basic worked and see if I could make some .exe's. I know now that I can... :) Er, can I do some "install.exe" with QB? If so, i'll check on the net for some "how to"...
  View user's profile Send private message
Consolemu
  • Guest
Reply with quote
Hey!!
Post Posted: Fri Jun 30, 2000 9:28 pm
Woah! There can't be two Kenseiden 2...man. I was secretly going to work on a PC sequel but I guess it can be made public now. I already have hand-drawn pictures and scans on my HD, I just need to start creating the program itself.

Chris :o)
 
  • Joined: 03 Sep 2007
  • Posts: 352
  • Location: Canada
Reply with quote
Re: Hey!!
Post Posted: Sat Jul 01, 2000 3:07 am
Quote
> Woah! There can't be two Kenseiden 2...man. I was secretly going to work on a PC sequel but I guess it can be made public now. I already have hand-drawn pictures and scans on my HD, I just need to start creating the program itself.

> Chris :o)

What? You mean that my favorite SMS game is "taken"? ;) Good to see that this gem is liked by others (than me, I thought I was the only "fan"). Can I take a peek?
  View user's profile Send private message
  • Joined: 24 Jun 1999
  • Posts: 1732
  • Location: Paris, France
Reply with quote
Sorry I meant:
Post Posted: Sat Jul 01, 2000 6:18 am
Quote
>> Oh another advice: do not publicize release dates. Release dates are meant to be never expected.
^^^^^^^^^^^^^^

to be never respected :)
  View user's profile Send private message Visit poster's website
  • Site Admin
  • Joined: 25 Oct 1999
  • Posts: 2029
  • Location: Monterey, California
Reply with quote
Oka, raise your hand if..
Post Posted: Sat Jul 01, 2000 6:07 pm
..you -weren't- going to make a sequel to Kenseiden.

Yeah, I had considered that also, originally as an SMS cart.




Quote
> > Woah! There can't be two Kenseiden 2...man.

Well, don't everyone go calling them Kenseiden 2 then. I'm sure there are more intersting sequel names out there.

Quote
> > I was secretly going to work on a PC sequel but I guess it can be made public now. I already have hand-drawn pictures and scans on my HD, I just need to start creating the program itself.

Hmm. Hand drawn by whom?

Quote
> > Chris :o)

> What? You mean that my favorite SMS game is "taken"? ;) Good to see that this gem is liked by others (than me, I thought I was the only "fan"). Can I take a peek?

It's one of my deep down darndest favorite sms carts. I really don't know why it didn't get very popular, even in the SMS world.

It's one of those games I keep hoping to find was also a bad-ass 16-bit arcade game (like fantasy zone, or Alex Kidd and the Lost Stars) but I'm about ready to give up hoping.
  View user's profile Send private message Visit poster's website
Reply to topic



Back to the top of this page

Back to SMS Power!