..:: PCSX2 Forums ::..
Register | Help | Log In |
Register PCSX2 Site Forums Member List Donate View Today's Posts Search

Current time: 05-23-2013, 01:53 AM Hello There, Guest! (Login — Register)

..:: PCSX2 Forums ::.. / Off Topic / Hardware/software discussion v
« Previous 1 ... 18 19 20 21 22 ... 72 Next »
/ Emulation in Real Mode\Emulation VIA clusters



User(s) browsing this thread: 1 Guest(s)

Post Reply 
 
Thread Rating:
  • 1 Votes - 1 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Threaded Mode | Linear Mode
Emulation in Real Mode\Emulation VIA clusters
Author Message
Spirrwell Offline
Junior Member
*

Posts: 37
Joined: Nov 2009
Location:
Reputation: 2
Post: #1
Emulation in Real Mode\Emulation VIA clusters
For the past few years I've been working on my programming skills, and I've gotten much better, and am getting closer to mastering even Assembly language. My next big project is going to be a small scale Atari or NES emulator, but that's irrelevant to my question. Upon my research I've learned the difference between running in protected mode, vs running in real mode. In protected mode, the operating system has its own subroutines that take over low level jobs such as disk reading and writing. In real mode you have complete access to make your own routines to do what you want them to.

The complication exists that there's many computers with many different devices, but on a small scale, let's assume we're dealing with one computer in particular. How much difference could it make if an emulator was built in Assembly to run in real mode or C code with inline Assembly? What difference would it make if any at all?

MOBO: GIGABYTE Z68X-UD4-B3
CPU: Intel® Core™ i7-2600K @ 3.4 GHz
GPU: NVIDIA 9600 GT (x2 SLI)
RAM: Ripjaws X 8GB (2 x 4GB) DDR3 2133
OS: Windows 7; Linux Mint 13 MATE
(This post was last modified: 07-07-2012 03:46 AM by Spirrwell.)
07-06-2012 07:33 AM
Find all posts by this user Quote this message in a reply
refraction Offline
PCSX2 Coder
********

Posts: 7.420
Joined: Aug 2005
Location: England
Reputation: 108
Post: #2
RE: Emulation in Real Mode
Probably very little difference. Windows is pretty efficient with its device handling and all youd get from doing everything in real mode is a lot more work for yourself, especially if you're writing it in assembly.

When you're looking at NES and Atari emulators, machines since the 90's have had more than enough power to handle the emulation with room to spare, so as far as that is concerned you will probably never notice it. PS3 emulation might benifit very very slightly from it, but its most likely neglegable, but when weighed against the cost of extra handling code youd have to write (remember itll have to work on millions of different configurations), it seriously wouldnt be worth it.

[Image: ref_sig_anim.gif]
Like our Facebook Page and visit our Facebook Group!
(This post was last modified: 07-06-2012 11:41 AM by refraction.)
07-06-2012 11:40 AM
Visit this user's website Find all posts by this user Quote this message in a reply
Spirrwell Offline
Junior Member
*

Posts: 37
Joined: Nov 2009
Location:
Reputation: 2
Post: #3
RE: Emulation in Real Mode
(07-06-2012 11:40 AM)refraction Wrote:  (remember itll have to work on millions of different configurations), it seriously wouldnt be worth it.

Oh I know, that's why I said let's just assume we were working with one computer and optimized everything for just that one computer.

I understand the complication of writing the code from scratch, and it has caught my curiosity for the sake of emulating those bigger devices PS3 or otherwise. I know that using Assembly would be great for any portions that require crunching the numbers. It's what a computer is designed for.

The whole point of doing this would be to write it all from scratch, for the sake of not having any excess code, nothing else using up the CPU or RAM, just pure dedication to the emulator.


On a side note, I'm also interested in cluster computing, how much difference could that make in emulation?

MOBO: GIGABYTE Z68X-UD4-B3
CPU: Intel® Core™ i7-2600K @ 3.4 GHz
GPU: NVIDIA 9600 GT (x2 SLI)
RAM: Ripjaws X 8GB (2 x 4GB) DDR3 2133
OS: Windows 7; Linux Mint 13 MATE
07-06-2012 06:46 PM
Find all posts by this user Quote this message in a reply
soratidus999 Offline
Senior Member
***

Posts: 259
Joined: Jul 2012
Location: Australia
Reputation: 6
Post: #4
RE: Emulation in Real Mode
You raise some interesting points, possible yes, will it happen - probably not

with pcsx2 a lot of it is "cheap" for lack of a better word tricks

bypassing unneeded operations, trimming what grunt work needs to be done in the actual emulation is all just as important in figuring out HOW to emulate it. Building it from scratch would to me, make a lot of those tricks unusable - maybe it will present more opportunities, or maybe it wont end up anymore efficient

but more specifically what appealed to me in your last post - cluster computing, well really you are just offloading processor activity to another slave machine, so you could add your total processing power together, the only limitations being connection bandwidth and lag - as well as how an application multi threads, since a single thread would still need to run on a single core

Why not a PS2 cpu? - obviously here we are ignoring the point of emulation, but why cant we offload what we cant emulate well to the system designed for it in the first place

maybe it doesnt have to be part of the consumers emulator - but it could certainly be used to bug test and/or develop code that can eventually be used

[Main Computer] - CPU: I7 950 @ 3.2Ghz | GPU: Twin Nvidea GTS 450's SLI'd | RAM: 8GB DDR3 - 1600MHz | OS: Windows 7 Ultimate x64 | EMU: PCSX2 v1.0 | GS: GSdx32-SSE4 | SPU2: SPU2-X | PAD LilyPad | CDVD ****
07-06-2012 07:43 PM
Visit this user's website Find all posts by this user Quote this message in a reply
Spirrwell Offline
Junior Member
*

Posts: 37
Joined: Nov 2009
Location:
Reputation: 2
Post: #5
RE: Emulation in Real Mode
Well, I definitely have more faith in cluster computing than I would at expecting anyone to start from scratch. I brought up cluster computing because of a story I heard about video effects for the movie the Titanic. A supercomputer a multi million dollar machine, and they needed to render some really high quality video effects, which with those older computers would've taken way too long. The problem was solved by using cluster computing. I've got quite a few modern computers with many more older ones. If I took them all and made one big computer with cluster computing, I probably could run an emulator of a modern device, in theory.

MOBO: GIGABYTE Z68X-UD4-B3
CPU: Intel® Core™ i7-2600K @ 3.4 GHz
GPU: NVIDIA 9600 GT (x2 SLI)
RAM: Ripjaws X 8GB (2 x 4GB) DDR3 2133
OS: Windows 7; Linux Mint 13 MATE
07-06-2012 10:30 PM
Find all posts by this user Quote this message in a reply
pseudonym Offline
PCSX2 coder
******

Posts: 183
Joined: Feb 2009
Location:
Reputation: 5
Post: #6
RE: Emulation in Real Mode
The difference would be a lot of work for you and the routines you'd write to do assorted monkey work would be much less efficient than those in the OS so it'd be slower too, drastically slower if you cut corners because you discover how hard some of the things the OS does are.
07-07-2012 03:11 AM
Find all posts by this user Quote this message in a reply
Spirrwell Offline
Junior Member
*

Posts: 37
Joined: Nov 2009
Location:
Reputation: 2
Post: #7
RE: Emulation in Real Mode
(07-07-2012 03:11 AM)pseudonym Wrote:  The difference would be a lot of work for you and the routines you'd write to do assorted monkey work would be much less efficient than those in the OS so it'd be slower too, drastically slower if you cut corners because you discover how hard some of the things the OS does are.

How would it be less efficient? I mean if you were a messy coder I could see why, but for OS development, wouldn't you have to write that code yourself either way?

Well I changed the title as my side note seems like it could be more promising, emulation through cluster computers. I've never set up a cluster before, but the concept catches my interest. Seeing as how emulators can be CPU intensive, it would make sense that spreading different processes throughout multiple computers, a cluster, would drastically speed up the process of emulation with a fast enough network.

MOBO: GIGABYTE Z68X-UD4-B3
CPU: Intel® Core™ i7-2600K @ 3.4 GHz
GPU: NVIDIA 9600 GT (x2 SLI)
RAM: Ripjaws X 8GB (2 x 4GB) DDR3 2133
OS: Windows 7; Linux Mint 13 MATE
07-07-2012 03:54 AM
Find all posts by this user Quote this message in a reply
DaMan Offline
Senior Member
***

Posts: 335
Joined: Feb 2010
Location:
Reputation: 3
Post: #8
RE: Emulation in Real Mode\Emulation VIA clusters
Unless you're a masochist that wants to work with segmented memory you want unreal mode.
07-07-2012 01:10 PM
Find all posts by this user Quote this message in a reply
Spirrwell Offline
Junior Member
*

Posts: 37
Joined: Nov 2009
Location:
Reputation: 2
Post: #9
RE: Emulation in Real Mode\Emulation VIA clusters
(07-07-2012 01:10 PM)DaMan Wrote:  Unless you're a masochist that wants to work with segmented memory you want unreal mode.

Ha, I learned more about Assembly language from a PCSX2 forum... I'll have to really look into that. That could be very useful for my operating system development research. Thank you.

Although I'm still curious about clusters...

MOBO: GIGABYTE Z68X-UD4-B3
CPU: Intel® Core™ i7-2600K @ 3.4 GHz
GPU: NVIDIA 9600 GT (x2 SLI)
RAM: Ripjaws X 8GB (2 x 4GB) DDR3 2133
OS: Windows 7; Linux Mint 13 MATE
07-07-2012 05:26 PM
Find all posts by this user Quote this message in a reply
« Next Oldest | Next Newest »
Post Reply 


  • View a Printable Version
  • Send this Thread to a Friend
  • Subscribe to this thread



Current time: 05-23-2013, 01:53 AM

Contact Us | PCSX2 | Return to Top | Return to Content | Lite (Archive) Mode | RSS Syndication

Powered By MyBB, © 2002-2013 MyBB Group.
Theme created by IncadudeF and modified by bositman