What's new

Newbie

Jsr

New member
kris2pe said:
Okey I agree I should get a move on!!! Which compiler & IDE wud be good 4 beginers? Whats the difference between C++, Visual C++ & C#?

C++ is the language, Visual C++ is an IDE (and compiler) from Microsoft.
I would recommend Visual C++, it has great documentation and debugging features. But it isn't free.

C# is another language. (Possible better for beginners?)
 

Toasty

Sony battery
To elaborate a bit more on C#, it's a fine language, but you'll probably experience problems similar to those you'd experience in Java, as C# is not compiled natively until runtime. If you're just writing a Chip8 emulator, C# would be adequate, but when you move on to more advanced emulation, you'll really be missing some of the features a natively compiled executable can offer, along with some handy features like inline assembly. I actually think it would be interesting if someone tried to write a dynarec in .NET for an older system that recompiled to MSIL instead of native code, but I doubt it would be practical. Too many layers of code translation between the actual ROM's code and the processor and emulation speeds will plummet, so C# (or any language that compiles to MSIL) and Java are not really a good choice for sophisticated emulation.
 

Doomulation

?????????????????????????
C# and microsoft's stupid .NET language is not a good platform. It sacrifices all the power that you have in C/C++ with potent classes that you have to rely on and is very, very bad with native coding. Lots of overhead from going to/from native, plus managed code is, unlike binary, HUMAN READABLE. I think the whole C# and .NET is one big mistake. Avoid it.
 

Cyberman

Moderator
Moderator
kris2pe said:
But is Visual C++ good? coz isn't visual c++ part of MS?
Visual C++ is comercial software. If you are hard up for cash, use the DEV C++ compilor tell you have the funds to invest in a IDE. The best thing is to be certain you figure out what compilor you want to procure before you do so. It takes some research. In the mean time you can learn how to program with Dev C++ pretty easily. You should get a book and work through the language and learn how to use it.

Think of Visual C++ as a tool chain (IE automated compilor assembler and window construction kit, with a nice editor for your code). Dev C++ sort of handles the same thing, however adding graphical based applications is a different issue with Dev C++.

Cyb
 

Toasty

Sony battery
Doomulation said:
Lots of overhead from going to/from native, plus managed code is, unlike binary, HUMAN READABLE. I think the whole C# and .NET is one big mistake. Avoid it.
I wouldn't go so far as to call .NET a mistake; it works great for quickly developing business applications where a GUI is the important thing, but it would be a poor choice for emulation. And as for .NET executables, they are compiled to binary, just not native binary. Maybe you're thinking of .NET assembly code (which, like natively compiled assembly code, is human readable until it is compiled). This, taken from a .NET binary, is not human readable, aside from strings (at least I have a hard time reading it):

Code:
0 S    (  
 s	  }  s
  

r  po  
þ  s  
o  
 s
  
r  po  
þ  s  
o  
 s
  
r  po  
þ  s  
o  
 {  o  
%o  
%o  
o  
o  
o  
o  
o  
{  o  
%o  
(  
o  
(  
	(  
{  o  
%o  
%o  
o  
(  
{  o  
 (  
o  
 (  
o  
 (  
o  
  * 0 *     s  
o  
o  
& Þþ-o  
 Ü *           
 *
 *  0      {  
+ *V(  
o   
}  *~(!  
 o"  
s#  
(   *   0 [    ($  
 o%  
 o&  
 o'  
þþ-8-  ((  
o'  
o)  

u  o*  
o+  
þ-:	o  (,  
(-  
(  (.  
(  (  
o/  
  (  (.  
X%(,  
X(0  
%(1  
Y(2  
	((  
o'  
o)  
o3  
o4  
(1  
o5  
(6  
(7  
iYc%(-  
X(8  
%(6  
Y(9  
o:  
s;  
	o3  
o4  
(<  
o=  
 o>  
 *6o?  
o@  
*&(A  
  * 0 :     ~  þþ-!r-  pÐ  (B  
oC  
sD  

€   ~  + *  0 
     ~  
+ *€  *b(G  
 (H  
 s  (I  
 * 0 P     ~  þþ-7~  (J  
 ~  þþ-s  €   Þ
~  (K  
  Ü   ~  
+ *   ) 
6 
    .sA  
€  *(L  
*š(  
 sM  
}  (  
{  o  
  * ¼   ÎÊï¾   ž   )System.Resources.ResourceReader, mscorlibsSystem.Resources.RuntimeResourceSet, mscorlib, Version=2.0.3600.0, Culture=neutral, PublicKeyToken=b77a5c561934e089           PA¼   BSJB         v2.0.40607     l   t  #~  à  h  #Strings    H  D   #US Œ     #GUID   œ  ü  #Blob        W¢	   ú3      2               M                             
       ”   ™  
 ± ª  Í ¸ 
 ë ª   4 `  } 
 Ȼ
 èÓ e 
 Ž|
 §|
 À|
 Û|
 ö|
 |
 (|
 G|
 d|
 Ž{[ ¢  
 ѱ ñ  ø 
 	ª  j k ‚   »  È  öà (  j   Ž £ è ö  $ / F
 fª 
 kª 
 �| ¥à ¾à
 Óª  æ 
 -              !    ¡   ) !       9 ! 	      F P 
   € c ! 
     k P      t !     ™ 
  92  ËR  ôV  9x  A|  s‰ P     †å   °!    � õ   ø!    � û   û!    �         Æ
 "        Æ
*'   "    †D6  "    †R;  -"    †å  	 P"    Ä rA 	 ·#    Ä ’G 
 Å#    ƒå   Ð#    – Z  $    –_  .$    – d  6$    ‘ 4t  P$    –N  ¼$    ‘Xt  È$    †å   Ð$    †å      ¥   §   ¥   §   ¥   §         §   §   i å � q å � y å � � å � ‰ å � ‘ å � ™ å � ¡ å � © å � ± å ’ Á å ˜ 	 å  É å  Ñ  � Ù å  Ñ £ Ñ  © Ñ +˜ Ñ 3© Ñ =˜ Ñ F˜ 9 F˜ 9 P˜ 	 [; Ñ w* Ñ ”³ é ¡¸ 	 ©Ì 	 ÕÑ   9 ©  ˜  å   1ã 9 å ê  rA A > A M A `©  {ð …ö A ˜û A ¬¹© ¿© 9 Å© !ÏÙ˜ Å© F˜  ßA í!ü© 1&
˜ P˜ A *Aå 0I:7!L@Q   W© I ˜  å  Y}dY˜mQ å sqå ˆ�å  ‰òt ‰t ‰‘5£‘;£! å  a å  . + Ñ. 3 Þ. S ê.  ®. # ´. [ ó. ; ®. C ®. K Ñi +�‰ +� 3˜¾ Ø Þ N{ƒ¨          -    M   »j   ,o   _„              
    	   	    €     uv       !                            ¡               ª                          @
 
Last edited:

smcd

Active member
.net binaries are 'decompilable' like java ones - there are obfuscators and stuff to protect against this (like for java once again). check out remotesoft salamander, they have a demo online to upload a binary and it'll output source. It's VERY close with only occasional minor flaws but those are easily fixed.
 

Doomulation

?????????????????????????
Toasty said:
I wouldn't go so far as to call .NET a mistake; it works great for quickly developing business applications where a GUI is the important thing, but it would be a poor choice for emulation. And as for .NET executables, they are compiled to binary, just not native binary. Maybe you're thinking of .NET assembly code (which, like natively compiled assembly code, is human readable until it is compiled). This, taken from a .NET binary, is not human readable, aside from strings (at least I have a hard time reading it):
I'd call it a huge mistake. Developing applications within .NET was a pain when I tried it in Framework 2.0. For example, C# does not support pointers (unless you use unsafe code, but it still has limitations). They pretty much force you to execute gui update components on the creating thread. Not that it's saying it's bad, but it involves creating a lot of stupid delegates to make it work. Plus it's not easy to convert to native, like you cannot convert to or from a char*. And I dunno about DirectX support? Is it managed yet? If not, then you'll have a hard time using it.
 

Toasty

Sony battery
I guess I just think differently. :p .NET does have a managed DirectX library that performs almost as well as the native one BTW, though that doesn't mean it's ideal for emulation. Oh, and sethmcdoogle - don't bother uploading your code; there's a free decompiler that you can download called Reflector.
 

blueshogun96

A lowdown dirty shame
Err Ummm right :D
Depends on your perspective the PS2 was developed and designed in 1998 released in 1999 so .. it was at least 4 years before PCSX2 came out even from it's release. Some perspective. It's now almost 2006 and it's just now getting something close to reasonable. I'm not far off at all. The fact is PCSX2 is so far along ONLY because of PS2 linux kits. It would still be in the darkages likely or NOT AT ALL otherwise LOL. Remember nothing just happens magically :D
heh, yeah, I know its old sir, but I guess you are right. I guess I need to think a little harder about things, lol. BTW I thought that ps2 came out in 2000.
 

Top