xboxscene.org forums

Pages: 1 2 [3]

Author Topic: Dual Screen Emulator Running On Xbox?  (Read 530 times)

nes6502

  • Archived User
  • Hero Member
  • *
  • Posts: 1158
Dual Screen Emulator Running On Xbox?
« Reply #30 on: November 28, 2006, 02:14:00 PM »

QUOTE(MENTALDOMINANCE @ Nov 26 2006, 11:09 PM) *

Excellent excellent excellent... Thankyou so much for
answering in such an intelligent detailed way!
I mentioned earlier that I'm an oldschool Amiga guy
and the first NES emulators for that ran like crap
untill someone finally coded an ASM one.
I was under the impression that these guys doing the
ports knew ASM. I didn't know they were essentially
just compiling the code as an .xbe - So now the
question comes, does anyone code in ASM for the
Xbox? Who has made ASM demos? These would be
the people whom xport and the other guy need to
contact. The whole part of the fun of coding back
in the old days was shit like this, doing the so called
impossible, etc. - but everyone did everything in
ASM and that was how some things such as full
overscan borderless screens filled with sprites on
the C=64 were possible. Today with all these point
and click high level languages, some people have
lost the whole point of homebrew. Look to it's
origins and the original Godfathers would be turning
over in their grave when they listened to some of
these kids complaining about how nothing can be
done but list doing something in ASM as
not even an option whatsoever or worse yet, crazy.



No one codes in assembly period anymore. Why? Because there is no point. It's the same reason people don't code in binary. Why kill yourself when you can do the job 99% quicker and it works just as well? The reason people relied on assembly 15 years ago is because Computers were very primitive. When your CPU runs at 5Mhtz and you have 16KB of RAM, Assembly is pretty much the only option (which is why all NES, SNES, genesis, TG16 games were written in the assembly language of the CPU in those consoles. Today we have 4Ghtz CPUs and Gigs of RAM. It's a lost art. In fact ZSNES is in the process of converting all the ASM code to C because there's no need for it anymore. Pagefault is pretty much the only one who can make emulation related changes. If it was written in C or C++ then everyone could contribute.

I can write assembly just fine, but there's no way I'd code anything in it anymore. It takes 100 times longer to write anything, it's 100 times harder to debug, and virtually noone can read it anymore. So, you'll be hard pressed to find emulator authors that will choose assembly as their language (which means ported apps will not be written in assembly).
Logged

Timerever

  • Archived User
  • Jr. Member
  • *
  • Posts: 93
Dual Screen Emulator Running On Xbox?
« Reply #31 on: November 29, 2006, 05:49:00 AM »

QUOTE(nes6502 @ Nov 28 2006, 11:14 PM) *

No one codes in assembly period anymore. Why? Because there is no point. It's the same reason people don't code in binary. Why kill yourself when you can do the job 99% quicker and it works just as well? The reason people relied on assembly 15 years ago is because Computers were very primitive. When your CPU runs at 5Mhtz and you have 16KB of RAM, Assembly is pretty much the only option (which is why all NES, SNES, genesis, TG16 games were written in the assembly language of the CPU in those consoles. Today we have 4Ghtz CPUs and Gigs of RAM. It's a lost art. In fact ZSNES is in the process of converting all the ASM code to C because there's no need for it anymore. Pagefault is pretty much the only one who can make emulation related changes. If it was written in C or C++ then everyone could contribute.

I can write assembly just fine, but there's no way I'd code anything in it anymore. It takes 100 times longer to write anything, it's 100 times harder to debug, and virtually noone can read it anymore. So, you'll be hard pressed to find emulator authors that will choose assembly as their language (which means ported apps will not be written in assembly).

Steve Snake, the author of Kega Fusion writes all his emus on x86 assembler, and Kega Fusion is all assembler with small parts (Windows interface, DirectX interface, File Handling) written in C so there you go... ok Steve likes to have control over the stuff but I doubt you'll see the end of assembler anytime soon (or at all) since there's always use for direct control of the CPU and squeezing all the speed you can. Image filters (like hq2x) are written in assembler to bottleneck the emulation the least possible, also while SNES and MD emulators don't need ASM code anymore I'd love to see someone trying to code a full speed Gamecube emulator with resorting to a lot of assembler or waiting for 16 cores CPUs.

Anyway, nes6502 point is still somewhat valid, assembler is becoming an even rarer art but getting the idea that back then everyone was a ASM master is wrong, ASM was always a massive pain in the ass and people runned from it like from hell.

As for someone writing a DS emu enterely in assembler, I doubt it will happen, but I'm pretty sure they'll resort to in in some more CPU heavy parts of the code.
Logged

enderandrew

  • Archived User
  • Sr. Member
  • *
  • Posts: 414
Dual Screen Emulator Running On Xbox?
« Reply #32 on: November 29, 2006, 09:13:00 AM »

http://bripro.com/

http://sourceforge.net/projects/neshla

Some people certainly still work with assembly.

On one hand I hear that C++ is just as fast, but you also hear that the only way to optimize most emulators is to code them in assembly.  So really, which is it?
Logged

Diontae18

  • Archived User
  • Sr. Member
  • *
  • Posts: 386
Dual Screen Emulator Running On Xbox?
« Reply #33 on: November 29, 2006, 10:25:00 AM »

I've noticed that the second link (with the source) has the numbers 6502, like nes6502's nick. Is this just a coincidence?  tongue.gif
Logged

nes6502

  • Archived User
  • Hero Member
  • *
  • Posts: 1158
Dual Screen Emulator Running On Xbox?
« Reply #34 on: November 29, 2006, 11:13:00 AM »

QUOTE(enderandrew @ Nov 29 2006, 05:13 PM) *

http://bripro.com/

http://sourceforge.net/projects/neshla

Some people certainly still work with assembly.

On one hand I hear that C++ is just as fast, but you also hear that the only way to optimize most emulators is to code them in assembly.  So really, which is it?



C++ is not as fast as assembly. C and C++ "become" assembly when they are compiled. However, you are trusting the compiler to generate the assembly. It usually can be done better by a human. Therefore some people skip development in a high language and write the assembly themselves.


But most people do not do this. They write in a high level language (like C or C++) and use the compiler to do the rest (i.e. generate the  assembly for them). Hand written assembly is mainly used for certain parts of a C/C++ program to speed "that" portion up (like the graphics filters).

But in general, most developers do not use assembly at all unless they are in proprietory development, graphics programming (i.e. games), or just love using it.





QUOTE(Diontae18 @ Nov 29 2006, 06:32 PM) *

I've noticed that the second link (with the source) has the numbers 6502, like nes6502's nick. Is this just a coincidence?  (IMG:style_emoticons/default/tongue.gif)


nes6502 = nes (Nintendo Entertainment System) + 6502 (The CPU in the NES)
Logged

Timerever

  • Archived User
  • Jr. Member
  • *
  • Posts: 93
Dual Screen Emulator Running On Xbox?
« Reply #35 on: November 29, 2006, 01:16:00 PM »

QUOTE(nes6502 @ Nov 29 2006, 08:13 PM) *

nes6502 = nes (Nintendo Entertainment System) + 6502 (The CPU in the NES)

Really? I always thought the 6502 was just a random number you used to register your nick since the nick 'nes' is probably already in use.
Logged

nes6502

  • Archived User
  • Hero Member
  • *
  • Posts: 1158
Dual Screen Emulator Running On Xbox?
« Reply #36 on: November 29, 2006, 02:08:00 PM »

QUOTE(Timerever @ Nov 29 2006, 09:16 PM) *

Really? I always thought the 6502 was just a random number you used to register your nick since the nick 'nes' is probably already in use.


Yup. The Nes actually uses a customised 8-bit 6502 CPU. I have written several NES emulators which are made up of three core components: The APU, PPU, and CPU core (6502 core). That's where the 6502 comes from.
Logged

sshrugg

  • Archived User
  • Newbie
  • *
  • Posts: 7
Dual Screen Emulator Running On Xbox?
« Reply #37 on: December 10, 2006, 04:08:00 PM »

I see this as something that could be kinda neat in the future - once more features/games are supported, and if it can run quickly on the xbox CPU once it reaches that level of maturity.

Stylus could be emulated with a joypad and the joypad button.
Microphone - headset? Maybe.

The thing is, this is a maybe when it's mature kinda thing.  There's tons of projects people would probably rather do that would work nearly 100% and have a following before this.

By the time the emulator reaches that state, hopefully we'll have 360 chips!! XD

I'm not a xbox coder, or anything.  Just thought the post was interesting.

This post has been edited by sshrugg: Dec 11 2006, 12:09 AM
Logged
Pages: 1 2 [3]