View Full Version : Newbie
kris2pe
August 15th, 2005, 15:04
What are the programing languages needed 2 learn by a noob, about tweaking emus & optimising certain programs?
smcd
August 15th, 2005, 18:21
Most emulators are written in either C or C++. Other languages used include Java, Pascal/Delphi, and BASIC variants (Visual Basic, etc), and the occasional 'other language' like C#.
kris2pe
August 18th, 2005, 10:48
So is there a site where I can learn about c++ better? or can u recommend me a good book for c++?
Does working w/ an emulator require engineering skills?
Cyberman
August 18th, 2005, 14:05
So is there a site where I can learn about c++ better? or can u recommend me a good book for c++?
Does working w/ an emulator require engineering skills?
Making an emulator requires a number of skills. Yes you can learn them. However if you don't kow C++ then you have a lot of things to learn. I recomend to start with general programing and learn as much as possible about programing in general. Depending on the platform some engineering or understanding of hardware will be required. This is the nature of emulation.
C++ Starting place (http://www.cplusplus.com/)
Dev C++ Free Compilors (http://www.bloodshed.net/index.html)
I recomend starting from the basics and just learning how software works :)
Have fun!
Cyb
BGNG
August 18th, 2005, 17:46
I recomend starting from the basics and just learning how software works :)To twist the words of Cyberman somewhat, starting from "the BASICs" is an easier way to pick up the concept of proramming than starting with C variants. Look up something like QBasic to get started.
Falcon4ever
August 18th, 2005, 18:15
those tutorials @ cplusplus.com are good enough to learn C/C++ from
i wouldn't recommend using a programming language like (q)basic...
Doomulation
August 18th, 2005, 21:08
Learning an easier programming language first will just get you into trouble since it hides so much from you...
ShizZy
August 19th, 2005, 00:05
I agree with Doomulation, stick with a solid language like C right off the bat, and follow it through.
xamenus
August 19th, 2005, 02:52
I personally would suggest to just go ahead and purchase a book on C rather than read an online tutorial. I would feel more comfortable reading an actual book rather than a website tutorial or printout, but that's just my opinion.
There are many beginners books available. Eventually, you may also want to consider the "K&R" book if you start thinking more seriously about learning C.
blueshogun96
August 26th, 2005, 21:34
Learning an easier programming language first will just get you into trouble since it hides so much from you...
True, true.
But beleive it or not, he can learn asm as his first language. IMO although C is a mid-level language, there is still quite a bit of things "hidden" from you. I'm not exactly reccomending this, but you can pick up a copy of Assembly language Step by Step. It is a book aimed at noob programmers who want to learn asm as their first language. It will teach you many skills required to write an emulator IMO. In 500+ pages, he will be a pro :party:
http://www.amazon.com/exec/obidos/tg/detail/-/0471375233/qid=1125091538/sr=8-4/ref=pd_bbs_4/103-3517403-8041419?v=glance&s=books&n=507846
When you gain some C and asm experience, read up on reverse engineering. I got this book a while ago and it's really good.
http://www.amazon.com/exec/obidos/tg/detail/-/0764574817/qid=1125091683/sr=8-1/ref=pd_bbs_1/103-3517403-8041419?v=glance&s=books&n=507846
zenogais
August 27th, 2005, 01:10
To be absolutely honest there are better more friendly and well-documented languages that are better suited for a beginner than C or C++. Python (http://www.python.org) is an excellent language to start with and is not only very well documented, but fairly comfortable to pick up for a beginner, also it's easier to get up and running with than C or C++. I'd recommend that because Assembly language is simply much much too low-level for any beginner to ever make use of and C and C++ are much too powerful and complex for a beginner to learn and utilize effectively without any serious time investment. I'd say download Python 2.4 and head to the beginner's guide section and you should already be well on your way to learning some programming. Good luck.
EDIT: You'll probably want the beginners guide for non-programmers, which is here (http://wiki.python.org/moin/BeginnersGuide/NonProgrammers)
rockytrh
September 17th, 2005, 02:03
a great book for C++ is Beginning Visual C++ by Ivor Horton.
VC++ is kinda expensive (but not for me, i got a copy, CSci major (freshman).) but it is really great.
rockytrh
September 17th, 2005, 02:06
To be absolutely honest there are better more friendly and well-documented languages that are better suited for a beginner than C or C++. Python (http://www.python.org) is an excellent language to start with and is not only very well documented, but fairly comfortable to pick up for a beginner, also it's easier to get up and running with than C or C++. I'd recommend that because Assembly language is simply much much too low-level for any beginner to ever make use of and C and C++ are much too powerful and complex for a beginner to learn and utilize effectively without any serious time investment. I'd say download Python 2.4 and head to the beginner's guide section and you should already be well on your way to learning some programming. Good luck.
EDIT: You'll probably want the beginners guide for non-programmers, which is here (http://wiki.python.org/moin/BeginnersGuide/NonProgrammers)
I disagree. Assembly languages are extreamly limited. A few pages of code from C++ or C can take like 10x that in an assembly language (i don't know anythign about python, so i don't really know the limts of it)
refraction
September 17th, 2005, 17:44
I disagree. Assembly languages are extreamly limited. A few pages of code from C++ or C can take like 10x that in an assembly language (i don't know anythign about python, so i don't really know the limts of it)
that isnt a limit, thats just the fact asm is a much lower level language than C, altho if you look at the asm generated by compiling a program in C, it would be about 10x shorter to write it yourself in asm.
altho i wouldnt recommend asm as a first language, id definately learn about general programming in a higher level language like C first, then learn about x86 architecture before you even think about it.
asm is the closest thing you can get to machine code (unless you wanna program in binary :happy: ) technically you can do anything the pc is capable of in asm, it is possibly less limited id say than C.
bcrew1375
September 17th, 2005, 18:25
Why DO compilers make crappy ASM code, is it for compatibility reasons?
zenogais
September 17th, 2005, 18:34
I would think it would be because they write alot of general purpose asm to account for common situations and that this code is not always the most ideal in every situation.
smcd
September 17th, 2005, 19:01
bcrew here's a fun thing to try - use gcc and compile a program with the -S flag to generate the assembly listing. After that, add to the -S -O2 and then -O3 optimizations and check the differences in the generated assembly files :)
kris2pe
October 4th, 2005, 22:49
But beleive it or not, he can learn asm as his first language. IMO although C is a mid-level language, there is still quite a bit of things "hidden" from you. I'm not exactly reccomending this, but you can pick up a copy of Assembly language Step by Step. It is a book aimed at noob programmers who want to learn asm as their first language. It will teach you many skills required to write an emulator IMO. In 500+ pages, he will be a pro :party:
I agree I think should start w/ ASM then move to C++ & hopefully someday contribute to the emu community!!!
But everyday companies like Sony, MS & Nintendo make it harder & harder 4 ppl to emulate this things!!!
ShizZy
October 5th, 2005, 04:18
Ehhhhh... I'd say stick with C for now.
Doomulation
October 5th, 2005, 08:36
Asm is incredibly hard, thus it would be better to start with C. C/C++ is much easier and more power program-wise (ie, classes, virtual functions, etc). Asm is useful to write routines that need extra speed, and is time consuming and hard.
Toasty
October 5th, 2005, 10:25
I wouldn't say assembly is hard to use, just impractical for general use. Here and there a well-written assembly function or two can improve performance significantly, but usually the speed benefits are too small to warrant the extra development time. IMHO, assembly is probably the easiest language to grasp (just a long line of instructions like Mom used to leave on the fridge - well, maybe a little different) it just takes way longer to accomplish relatively simple things in it. Also, its readability and portability are not all that great. :P
I'd say go with C++ since documentation on the semantics and common libraries are virtually endless, and the language is very versatile. C could work well for you too, but since C++ adds on a few mechanisms that might prove useful in higher level programming without taking anything away from C, C would be a second choice for me. Get yourself a good compiler and IDE and Google yourself up a nice tutorial.
Cyberman
October 5th, 2005, 17:03
Why DO compilers make crappy ASM code, is it for compatibility reasons? There are several reasons for this:
Microsoft made the compilor and they always make systems and programs that tend to be quite buggy (this is not a slam it's just a fact of life and Microsoft).
The person compiling doesn't know what -O<options> does yet
The person compiling doesn't know how to use ANY of the optimization switchs.
The compilor doesn't HAVE any optimization switches.
fast calls were not used thus you get a HUGE amount of stack twiddling going on and proceedure in and out instructions as well.
The person making the compilor backend was lazy and assumed that neat and understandable code for generated assembly is unnecessary.
NAME MANGLING, this is a FACT C++ structures and objects are complex and all there member functions etc. have almost undecipherable names as a consequence. Some compilors have options to set 'Human readable' names for such information.
The person working on the back end was lazy and more importantly wasn't as familiar with the processor features as they would like to be. They were then forced to do another project and let some new person try and improve the code and they spent halve the man hours allocated to fixing the optimization and code generation relearning what the person before them had to learn. Thus only a little bit of improvement was had. (fact of life in Microsoft and any big company).
tye stik
October 5th, 2005, 22:02
I'm a noob programmer and so far C++ has been an easy language to learn. I've found that most of my time is spent debugging though, which can get very tedious.
kris2pe
October 6th, 2005, 07:46
Yeah I agree the most difficult part of programming especially beginners is debugging!!! The worst is that the compiler doesn't see anything wrong w/ your code but the output will show something is wrong!!!
Doomulation
October 6th, 2005, 11:06
A common problem. But the IDE tends to leave you with a lot of debugging tools which can really help yout debugging. Although I do agree, that at times you have pretty much NO idea what's going on :P
kris2pe
October 7th, 2005, 11:16
Forgive me for being ignorant but what is an IDE? I know a compiler is the one that converts that written codes into machine codes & convert them into exe! So what does IDE do ?
Doomulation
October 7th, 2005, 11:35
An IDE is the interface you work in. In the IDE you write your code, you compile and link your code to an executable. The IDE contains debugging tools, syntax check and lots other stuff. The Visual C++ for example, as you know it, is an IDE. The compiler is just a command line tool that converts your code for the linker.
Cyberman
October 7th, 2005, 16:04
Forgive me for being ignorant but what is an IDE? I know a compiler is the one that converts that written codes into machine codes & convert them into exe! So what does IDE do ?
IDE is short for Integrated Developement Environment. It combines a compilor debugger and program editor into one unit often including form creation tools as well.
Cyb
blueshogun96
October 7th, 2005, 21:52
kris2pe, do your programs crash with the "Send Error Report" message?
kris2pe
October 9th, 2005, 19:36
kris2pe, do your programs crash with the "Send Error Report" message?
Y? would u say that? Do mean progs that I make? Unfortunately I don't make progs coz I'm a noob!!! Or do u mean that software that I have f uped & give the message "Send Error Report"? No I disabled it through registry!!!
More Newbie questions:
1.) Is it possible to for PS2 games to b transformed to into PC game? What I meant is that like pc games it puts data ie texture, music files & etc to its HD to minimize processing load (I think!!!)! Is it b possible to take some texture files, music files & the like to the pc to reduce the processing load of the PC 4 PS2 emulation 2 b sucessful?
2.) Wouldn't it help in the development PS2 emulation development if they study how PS2 games are ported? I know that they both different. But emulation in a nutshell is translating code A into a code that PC can understand r8? So y not do that I think it can help in the emulation of PS2 r8?
Cyberman
October 10th, 2005, 05:53
More Newbie questions:
1.) Is it possible to for PS2 games to b transformed to into PC game? What I meant is that like pc games it puts data ie texture, music files & etc to its HD to minimize processing load (I think!!!)! Is it b possible to take some texture files, music files & the like to the pc to reduce the processing load of the PC 4 PS2 emulation 2 b sucessful?
Yes it is possible
No that's not why there is a hard disk in a PC. :D
Hmmmm in simple words NO. In complicated words ... I don't have time :)
2.) Wouldn't it help in the development PS2 emulation development if they study how PS2 games are ported? I know that they both different. But emulation in a nutshell is translating code A into a code that PC can understand r8? So y not do that I think it can help in the emulation of PS2 r8?
Hmmmm sic et non. Most games are ported to the PS2. Programing for the PS2 is highly specialized and.. a royal PAIN.
What are different?
No it is not at all. That is porting a PS2 game to a PC and or doing a binary translation.
See 2? :D
Cyb
kris2pe
October 10th, 2005, 08:52
:icecream: Well that's what noobs do ask stupid questions!!! Thank you answering them coz I'm learning from them!!!
So is developing a fully working PS2 emulator far fetch? I know that PCSX2 has made some outstanding development in emulating it!!! But I also know that they're barely scratching the surface it!!!
I also know that next-gen console is also emulation prof like the Revolution, Xbox2 & PS3 based on their hardware I could almost say that their almost impossible to emulate!!!
Cyberman
October 10th, 2005, 16:08
:icecream: Well that's what noobs do ask stupid questions!!! Thank you answering them coz I'm learning from them!!!
Ok :D
So is developing a fully working PS2 emulator far fetch? I know that PCSX2 has made some outstanding development in emulating it!!! But I also know that they're barely scratching the surface it!!!
At this point yes. I suggest something simple like the ones at the top of the forum (sticky threads of GB Chip8 and NES). Also learn to program, BIG problem if you don't know how to. LOL.
I also know that next-gen console is also emulation prof like the Revolution, Xbox2 & PS3 based on their hardware I could almost say that their almost impossible to emulate!!!Umm... maybe in about 7 years they will be emulated. Remember nothing is impossible just not practical in many cases. Just like some games run at 1 and 2 fps in PCSX2 now. That doesn't mean they will always be slow. PSX went from crawling to pretty much easy going these days.
Cyb
kris2pe
October 12th, 2005, 11:59
True of course I'm not going to start w/ PS2 of course not its waaay to hard!!! I'll have to start w/ the easy once!!!
Another noob question:
Is it possible to emulate psp? just asking!!!
blueshogun96
October 17th, 2005, 05:25
Y? would u say that? Do mean progs that I make? Unfortunately I don't make progs coz I'm a noob!!! Or do u mean that software that I have f uped & give the message "Send Error Report"? No I disabled it through registry!!! Oh, you haven't made any programs yet :blush: Forget I asked, :)
1.) Is it possible to for PS2 games to b transformed to into PC game? What I meant is that like pc games it puts data ie texture, music files & etc to its HD to minimize processing load (I think!!!)! Is it b possible to take some texture files, music files & the like to the pc to reduce the processing load of the PC 4 PS2 emulation 2 b sucessful? Correct me if I'm wrong, but isn't that called static rec? Yeah, I don't see why not, but that task would be a world of pain IMO.
Is it possible to emulate psp? just asking!!!Yeah, there is a PSP emu called pspe. I wouldn't reccomend trying to emulate any recent consoles as a start though.
Umm... maybe in about 7 years they will be emulated. Remember nothing is impossible just not practical in many cases. Just like some games run at 1 and 2 fps in PCSX2 now. That doesn't mean they will always be slow.Sir, this is just my 2 cents. I think that it would take less than 7 years to emulate systems such as PS3 and Xbox360. Remember when atari 2600 came out? back then, atari + emulation = stfu. It did take many years (at least I think it did) to emulate atari partly because PC's weren't "evolving" fast enough in terms of power. And the Sega Saturn back in the mid-90's, SS + emulation = stfu. It did take quite a while for SS emulation to get this far as Satourne is today though. Now adays, PC power is growing so fast that it makes moore's law look like ancient history. I also heard that Cell technology is coming to PCs and Video cards. So IMO with those pros, I'd say maybe 4 years :) Heh, heh, maybe I'm just dreaming :saint:
bcrew1375
October 17th, 2005, 05:54
Another noob question:
Is it possible to emulate psp? just asking!!!
As Cyberman said, it's not impossible to emulate a system, it's just not practical all the time. An example would be the Nintendo DS, that's not practical to emulate on the PC. I guess you could emulate the touch screen with a mouse? :P
kris2pe
October 18th, 2005, 18:36
Of course I'm not planning PSP yet but u when I get the knack of it who knows!!! Just future plans lol!!!
Y is it impractical to emulate next gen consoles? I think having a PSP emu wud b gr8 coz the games r way xpensive it cost about $65 in my country now I don't think that even Americans fine delight in shelving $65 on games that wud barely last u 4 hrs game play !!!
Sony has been shelving sub par products & jacking the price way too expensive!!! I was a victim of the Clie UX50 which is the most expenisive handheld device & now its gathering dust in my drawer!!! But PSP console is worth buying when they don't stop homebrew programing development!!! I mean the homebrew devs like pdf reader, video player & alternative mp3 player make the psp all worth it!!!
Cyberman
October 18th, 2005, 20:12
blueshogun96
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
kris2pe
Hmmmm your motivation is wrong I think and I suggest you start learning instead of trying to count your chickens before they hatch. You cannot write an emulator.. period UNLESS you learn how to program first. Then you have to gain experience programing. It's not enough to just be able to write a program in C/C++ or whatever. You have to be able to USE the language and think things through, this takes a lot of time. Zilmar Azimer and anyone else who has written Emulators had a lot of learning to do in between. Project64 was the result of 3 years of developement BEFORE they ever anounced it. If you plan on making an emulator be prepared to WORK for a while on it.
The best thing for you to do is lay out a plan to get from point A to point Z in small incremental steps. You can't climb a mountain without first knowing how to walk. After all is said and done often more is said than done. So don't speculate what you would like to do, because if you don't start you won't finish no matter what. Bottom line is .. start learning now don't wait for a good day to learn because there isn't one, or wait for that great console you want to emulate, because it won't happen. If you have the tools and skill at your disposal then you can do something. Otherwise you are just blowing smoke. To seize the moment you must prepare for that moment in other words, GET TO WORK NOW, if you want to reach your goal.
Cyb
PS please use english it gets kind of tiresome reading leet speak. Nothing against it on ocassion but ..
kris2pe
October 19th, 2005, 12:10
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#?
Sorry 4 using Leet or whatever you guys call it!!! I got use to it coz SMS is the widely use form of messaging in country & there are limited space of putting in the message!!!
Doomulation
October 19th, 2005, 14:43
"Sorry 4 using" - See in there, the "4" you used instead of "for" is called "leet."
As for the difference between C++ and C#, well, C# is a managed version of C++, which is bad at native programming. For emulators - use C++/C.
Jsr
October 19th, 2005, 19:01
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
October 19th, 2005, 20:28
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
October 20th, 2005, 10:49
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.
kris2pe
October 20th, 2005, 17:34
But is Visual C++ good? coz isn't visual c++ part of MS?
smcd
October 20th, 2005, 18:29
Visual C++ is an environment by Microsoft for coding C++ (and it'll do C as well).
Cyberman
October 20th, 2005, 19:55
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
October 20th, 2005, 20:53
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):
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.RuntimeResourc eSet, 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 ! ¡ ª @
smcd
October 21st, 2005, 04:19
.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
October 21st, 2005, 08:00
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
October 21st, 2005, 08:19
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 (http://www.aisto.com/roeder/dotnet/).
Doomulation
October 21st, 2005, 11:41
Ah, I never saw that managed library. Oh well.
blueshogun96
October 27th, 2005, 02:29
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 :Dheh, 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.
Powered by vBulletin® Version 4.1.11 Copyright © 2012 vBulletin Solutions, Inc. All rights reserved.