Emuforums.com

Go Back   Emuforums.com > General Discussion > Web development / Programming
Home Register Downloads FAQ Members List Calendar Arcade Mark Forums Read


Reply
 
LinkBack Thread Tools Display Modes
Old October 8th, 2009   #21 (permalink)
Banned
 
Join Date: Oct 2009
Location: somewhere
Posts: 42
Quote:
you purposely misread things in order to start an unrelated argument.
No, your intelligence offends me enough to start one. I would have expected a lot more out of you, you really honestly disappointed me
Mr. B is offline   Reply With Quote

Advertisement [Remove Advertisement]
Old October 8th, 2009   #22 (permalink)
Registered User
 
Join Date: Sep 2009
Location: United States
Posts: 36
Quote:
Originally Posted by Mr. B View Post
No, your intelligence offends me enough to start one.
Ah, and now we arrive at the root of the problem: Mr. B finds intelligence offensive. From now on nobody say anything intelligent!

(Sorry, but that comment was just screaming to have someone (mis?)read it. )
nonoitall is offline   Reply With Quote
Old October 8th, 2009   #23 (permalink)
Banned
 
Join Date: Oct 2009
Location: somewhere
Posts: 42
Quote:
(Sorry, but that comment was just screaming to have someone (mis?)read it. )
Now you are being pathetic: I was just saying. I am disappointed in cotton. He seems quite knowledgeable, but I would have thought with dealing with dynarecs, fluent knowledge in ASM would be expected. So I see it as kinda strange talking about it when lacking some experience in a important area.
Mr. B is offline   Reply With Quote
Old October 8th, 2009   #24 (permalink)
Emu author
 
Join Date: Apr 2001
Location: Cleveland OH, USA
Posts: 1,184
Quote:
Originally Posted by Mr. B View Post
It has everything to do with your competence.

You are trying to write a recompiler WITHOUT proper knowledge of ASM. You are working on recompilers WITHOUT a proper knowledge of ASM.

So, how the heck are you doing this recompiler for this emulator then? >_> Or for PCSX2, for that matter.
He's just saying that he has had bad experiences with Visual Studio and using macros with inline ASM. I've never even used inline ASM in Visual Studio, in fact I don't even use Visual Studio at all, I hope you don't think that means I don't know x86 ASM/am unqualified to work on recompilers.

Last edited by Exophase; October 8th, 2009 at 15:49..
Exophase is offline   Reply With Quote
Old October 8th, 2009   #25 (permalink)
Emu author
 
@ruantec's Avatar
 
Join Date: Nov 2002
Location: Austria (originally from Dominican Republic)
Posts: 2,380
Quote:
Originally Posted by nonoitall View Post
Ah, and now we arrive at the root of the problem: Mr. B finds intelligence offensive. From now on nobody say anything intelligent!

(Sorry, but that comment was just screaming to have someone (mis?)read it. )
huh ...mmmm no comment
__________________

Current development tools:

Visual C++.net, Visual C#.net
Visual VB.net, Visual Webdeveloper.net
Bloodshed Dev C++, Borland C++
Visual Basic 6

Last edited by @ruantec; October 8th, 2009 at 16:39..
@ruantec is offline   Reply With Quote
Old October 8th, 2009   #26 (permalink)
You're already dead...
 
cottonvibes's Avatar
 
Join Date: Sep 2007
Location: Post-Apocalyptic Earth
Posts: 3,904
oh well, seems mudlord, hatred, ..., Mr. B was banned.... what a suprise

but of course he managed to kill another one of the few threads i create in this section, so i guess he accomplished what he set out to do...
__________________

Quote:
Eccentricity is often associated with genius, giftedness, or creativity. The individual's eccentric behavior is perceived to be the outward expression of his or her unique intelligence or creative impulse. In this vein, the eccentric's habits are incomprehensible not because they are illogical or the result of madness, but because they stem from a mind so original that it cannot be conformed to societal norms.
check out my blog
cottonvibes is offline   Reply With Quote
Old October 8th, 2009   #27 (permalink)
Hackin 'n Slashin
 
SCHUMI_4EVER's Avatar
 
Join Date: Jan 2007
Location: Corrupt Rapist run South Africa
Posts: 11,327
sorry about that cotton, he just despises you and can't see that you've grown immensely since the days when you were just a beginner hacking at PCSX2 code to try and make it faster when he made the decision you're no good (remember similarily to you he considers coding an absolute art form).
It's actually ironic how much you two fight considering how similar both your belief structures are when it comes to coding and how passionately you both believe in them. If not for erroneous judgements made in haste at the start you could and in fact should be best of friends.
__________________
Intel Core2Quad Q9550 (2.83Ghz stock) | ASUS P5Q | 2x2GB Transcend JetRam DDR2-800 | ASUS ENGTX260\HDTP\896M | Windows Vista Home Premium 64bit SP1
The Champ has retired but may his Legacy live on FOREVER !!!!
Get it right fools! The glass is HALF-EMPTY, not half-full!!!
!!! WARNING: Emulation requires a brain !!! WARNING: Emulation =/= Piracy !!!

Last edited by SCHUMI_4EVER; October 8th, 2009 at 21:21..
SCHUMI_4EVER is offline   Reply With Quote
Old October 9th, 2009   #28 (permalink)
You're already dead...
 
cottonvibes's Avatar
 
Join Date: Sep 2007
Location: Post-Apocalyptic Earth
Posts: 3,904
Quote:
Originally Posted by SCHUMI_4EVER View Post
It's actually ironic how much you two fight considering how similar both your belief structures are when it comes to coding and how passionately you both believe in them.
well optimization is something we both like, but our definition of optimization and our core principals differ.

my beliefs in coding are something like:
1) optimization is about the end-result speed
2) clean code is sometimes better than optimization (you generally have to weigh the speed-benefit VS the code 'ugliness')
3) my favorite optimizations are ones which are faster, simpler, and cleaner.

i assume mud's is something like:
1) file size and memory foot print matter most.
2) un-needed features should be stripped out to make the footprint smaller.

most of the time file size has no correlation to program execution speed (except in different extreme cases which i'm too lazy to describe), so i personally don't care if a program is 64kb vs 3mb (except the smaller file size is preferred if it does everything and looks exactly the same as the the larger program)...

and memory footprint also has no real correlation to speed.
so i only care about the program taking a reasonable amount of memory for its given task.

there's many-many cases where you come across great optimizations that will increase speed a lot, but it will increase allocated memory and file size.

putting a limit on filesize and memory footprint is essentially limiting your program. and i don't believe in limiting my programs for seemingly no valid reason (only things i can think of are bragging rights or proof-of-concept).

furthermore, setting limits on memory usage is effectively refusing to evolve on programming.
as one of my programming instructors once said: "as technology increases and gets more powerful, programmers are expected to do greater things and work with more data."
(or something like that)

Quote:
Originally Posted by SCHUMI_4EVER View Post
If not for erroneous judgements made in haste at the start you could and in fact should be best of friends.
well with mud anything that isn't exactly like his belief, he gets upset about.

furthermore i've seen mud constantly flame even his closer friends when he gets angry.
so i personally wouldn't want to be friends with someone like that... even if our interests were 99% similar.

ideally i get along with kind people who are open to new ideas, and if the idea isn't good they logically explain why they think it isn't. and if we disagree on something we just agree to disagree; not start flaming ;p

life is too depressing to have even your friends yelling at you
in that case its better to have no friends at all...


anyways i guess i sidetracked this thread; but the initial conversation died anyways so not like it matters anymore
__________________

Quote:
Eccentricity is often associated with genius, giftedness, or creativity. The individual's eccentric behavior is perceived to be the outward expression of his or her unique intelligence or creative impulse. In this vein, the eccentric's habits are incomprehensible not because they are illogical or the result of madness, but because they stem from a mind so original that it cannot be conformed to societal norms.
check out my blog
cottonvibes is offline   Reply With Quote
Old October 9th, 2009   #29 (permalink)
Hackin 'n Slashin
 
SCHUMI_4EVER's Avatar
 
Join Date: Jan 2007
Location: Corrupt Rapist run South Africa
Posts: 11,327
well I would say you got a fair bit out of it and if you can coax exophase back you can get some more, but yeah sorry about that again.
Mud has no sense of moderation, there's only 0% and 100%, nothing unbetween, he can't be moderately upset it's just full on rage mode as soon as even the smallest thing upsets him in the smallest manner.
__________________
Intel Core2Quad Q9550 (2.83Ghz stock) | ASUS P5Q | 2x2GB Transcend JetRam DDR2-800 | ASUS ENGTX260\HDTP\896M | Windows Vista Home Premium 64bit SP1
The Champ has retired but may his Legacy live on FOREVER !!!!
Get it right fools! The glass is HALF-EMPTY, not half-full!!!
!!! WARNING: Emulation requires a brain !!! WARNING: Emulation =/= Piracy !!!
SCHUMI_4EVER is offline   Reply With Quote
Old October 9th, 2009   #30 (permalink)
Emu author
 
@ruantec's Avatar
 
Join Date: Nov 2002
Location: Austria (originally from Dominican Republic)
Posts: 2,380
Optimization cotton is a great part of programming.. of course there are many different views on that.. i by myself am not much different than Mudlord in that area but the main difference between us is that i make exceptions when it comes to graphics design and memory/size usage...

sometimes when you care about optimizations and size you find out bugs/problems you probably skip if you donīt take those points in mind

Quote:
Originally Posted by cottonvibes View Post
most of the time file size has no correlation to program execution speed (except in different extreme cases which i'm too lazy to describe), so i personally don't care if a program is 64kb vs 3mb (except the smaller file size is preferred if it does everything and looks exactly the same as the the larger program)...

and memory footprint also has no real correlation to speed.
so i only care about the program taking a reasonable amount of memory for its given task.

there's many-many cases where you come across great optimizations that will increase speed a lot, but it will increase allocated memory and file size.

putting a limit on filesize and memory footprint is essentially limiting your program. and i don't believe in limiting my programs for seemingly no valid reason (only things i can think of are bragging rights or proof-of-concept).
Thatīs definitelly true and i agree with that... in most(if not all) of the cases optimizations are done in code and not because of file size or memory usage... i by myself get pissed/mad when people start to complain because X app use -10mb less then yours and so on... i mean what are 10mb of memory nowdays??? the thing arenīt the 10mb but the idea non-coders have as they want to see a great app using probably 1mb of memory which is not realistic.. sometimes tho.. lower memory usage can definitelly increase performance as less work has to be done but it depends on the task and not on the amount of memory. to show you what i mean check out the pic above which clearly shows some optimizations points... first is the lower memory usage in comparation to the previous version and second a nice performance boost because less pixels need to be calculated as they are stored in smaller packages and therefore the reduced memory size.


either way i think you have a great point there

Quote:
Originally Posted by cottonvibes View Post
oh well, seems mudlord, hatred, ..., Mr. B was banned.... what a suprise

but of course he managed to kill another one of the few threads i create in this section, so i guess he accomplished what he set out to do...
mmmm i can garantee you it wasnīt his intention.. in fact he has been trying to get back here as he loves this place.. sadly he is still paying for his past acts which he regrets immensely.

now talking about killing threads... you and Exophase killed my "no comment" thread and few others i rarely create here remember??? thatīs actually the reason why i got mad/pissed a while ago because you guys kept killing every single thread i opened.. but i guess/hope it wasnīt intentionally.

Quote:
Originally Posted by SCHUMI_4EVER View Post
well I would say you got a fair bit out of it and if you can coax exophase back you can get some more, but yeah sorry about that again.
Mud has no sense of moderation, there's only 0% and 100%, nothing unbetween, he can't be moderately upset it's just full on rage mode as soon as even the smallest thing upsets him in the smallest manner.
now you know why my little bro only posted once here.... other than Mud my bro is always on a Agressive Rage mode so mudīs style is passive against his

Spoiler:
Thanks God he doesnīt like forums
__________________

Current development tools:

Visual C++.net, Visual C#.net
Visual VB.net, Visual Webdeveloper.net
Bloodshed Dev C++, Borland C++
Visual Basic 6

Last edited by @ruantec; October 9th, 2009 at 10:02..
@ruantec is offline   Reply With Quote
Old October 9th, 2009   #31 (permalink)
Emu author
 
Join Date: Apr 2001
Location: Cleveland OH, USA
Posts: 1,184
A lot of performance optimizations actually come at the expense of space. Especially for emulators, you usually won't have the fastest code unless you expand a lot of path combinations. And then on the data side there are look up tables. Of course, higher code/data footprint could come at the cost of inferior cache performance, but it's a common misbelief that one always results in the other. You can have a large set range without having a large working set. You might have 1MB of code but the program only actively uses 5KB of it most of the time (but you can't determine which of that 5KB it's using since it varies per instance). Or there might be a 16MB look up table but the top 15.9MB are only touched in abnormal situations, or maybe only the first 1KB of every 1MB. Might sound strange but I find things like that all the time.

So I find it kind of weird when someone wants to maximize both size and time performance, it's just usually not possible to get the best of both. I think mudlord's irritation is due to all of the programs that are both slow and way too bloated at that. Personally I think it's silly and irritating that I need at least 2GB of RAM to run a Linux desktop that's doing little more than a desktop 5 years ago would be (that certainly didn't need so much RAM) and even then it still runs chuggier now. Problem is that, like said, mudlord seems to go to extreme extents on these thinss.
Exophase is offline   Reply With Quote
Old 4 Weeks Ago   #32 (permalink)
Emu author
 
Zack's Avatar
 
Join Date: Sep 2007
Location: idk
Posts: 251
Quote:
Originally Posted by cottonvibes View Post
on the dynarec for pcsx2, i handled cycle accuracy by doing the cycle counting at recompile time. and then each recompiled 'block' was indexed by 'start PC' and by 'pipeline state'.

in the worst cases, the same block would have to be recompiled multiple times since it started with different pipeline states. i also took some complex measures to limit this, by removing information that could in-no-way effect the accuracy of the block.

the idea made indirect jumps slower because i would have to check against start PC AND pipeline states when jumping to different blocks at execution-time; but i created a hand optimized SSE function to do the comparisons quickly, and the end result was pretty good.

the nes isn't pipelined; but the times the PPU and interrupts should be updated should probably be treated in a similar way since they need cycle accuracy.



thanks for the article link and info.
don't have time to read the whole topic now, but i will later today at work ^^

there's a possibility that after i read your article though, i'll "decide it isn't worth the trouble" like you did

from the people i've talked to, the average seems to be ~80% of emu coders think its a waste of time; and the remaining ~20% think it "would be interesting", but not sure if its worth it.
its a shame my fav. console has been emulated so much times that likely little people would care about such an emu ><
even though this nes emu project is mostly for myself, the extra motivation from other people wanting the product does help me find the energy to continue coding-through difficult projects at times where i feel like giving up.



i think at least on the simple Mapper0 games with 1~2 read only program rom banks, the idea has the potential to at least be 'noticeably' faster than an optimized ASM interpreter.

but i should also add, working with asm is so much nicer with an emitter than it is using inline-asm or separate asm files.
its also very portable.

on pcsx2, Jake and I have been working on converting most of the asm functions to be generated with the pcsx2 emitter. which is nice since currently a lot of the code is duplicated for win vc++ and linux gcc.
If it's any consolation, I won't be using your emulator... However I love reading about WIP emulation projects. So I will be following your progress at least.

I have worked on, well, the Snes Emulator for PSP, but never attempted my own emulator. One day soon I shall start

Keep it up!
__________________

My Releases :



^-------------------------^

^-------------------------^

Zack is offline   Reply With Quote
Old 4 Weeks Ago   #33 (permalink)
You're already dead...
 
cottonvibes's Avatar
 
Join Date: Sep 2007
Location: Post-Apocalyptic Earth
Posts: 3,904
heh
well as an update, for now i've abandoned the dynarec idea to focus on emulation accuracy and getting things to work (might come back to it once things are working correctly).

My goal now is to make a good nes emu with good emulation accuracy and cool features, but w/o a lot of unnecessary bloat.
Something not as bloated as nestopia, but ideally more around the lines of Jnes with cooler features.
Simplicity is also a goal, you shouldn't need to read any tutorials on how to setup a nes emu ^^
Also from a source-code perspective, portability is not a goal. The emu is intended just for windows OS's, and i dont' want to bloat the code supporting other OS's and compilers...


As an emu update, currently 95% of mapper0 (no-mapper) games show stuff (the others just show a grey screen).
Stuff like donkey kong are playable, but not working 100% correctly (probably some cpu bug).
I don't have any other mappers implemented yet, but i probably will soon cuz i'm getting bored of testing the same mapper0 games over and over xD

I have savestates working, and wrote a HW accelerated directx9 renderer (was using StretchDIBits() before, which was un-HW accelerated and slow ^^)
I've threaded the emulation so it runs on a seperate thread from the GUI (which is nice since emulation continues while processing gui events; such as dragging the window around)

i also rewrote my ppu to be cycle/pixel accurate, instead of updating every scanline.
sadly I've slowed down the emu from max 600fps to now 120fps on my pc, but i will work on optimizations later...
my goal is at least ~300fps for me to be content with the speed.
__________________

Quote:
Eccentricity is often associated with genius, giftedness, or creativity. The individual's eccentric behavior is perceived to be the outward expression of his or her unique intelligence or creative impulse. In this vein, the eccentric's habits are incomprehensible not because they are illogical or the result of madness, but because they stem from a mind so original that it cannot be conformed to societal norms.
check out my blog
cottonvibes is offline   Reply With Quote
Old 3 Weeks Ago   #34 (permalink)
You're already dead...
 
cottonvibes's Avatar
 
Join Date: Sep 2007
Location: Post-Apocalyptic Earth
Posts: 3,904
Quote:
Originally Posted by cottonvibes View Post
I don't have any other mappers implemented yet, but i probably will soon cuz i'm getting bored of testing the same mapper0 games over and over xD
So just implemented mapper 2 earlier today since it was an easy one (don't have much time this week to implement other more involved ones).




oh also, the numbers beside the fps in the titlebar are 'frames recorded'.
my emu has the ability to rewind emulation (i think nestopia and retrocopy can do that too).

its very cool dieing in the game, and then rewinding time before you died ^^
Attached Images
File Type: jpg cottonNESmm1.JPG (129.2 KB, 30 views)
__________________

Quote:
Eccentricity is often associated with genius, giftedness, or creativity. The individual's eccentric behavior is perceived to be the outward expression of his or her unique intelligence or creative impulse. In this vein, the eccentric's habits are incomprehensible not because they are illogical or the result of madness, but because they stem from a mind so original that it cannot be conformed to societal norms.
check out my blog
cottonvibes is offline   Reply With Quote
Old 3 Weeks Ago   #35 (permalink)
Emu author
 
Zack's Avatar
 
Join Date: Sep 2007
Location: idk
Posts: 251
Keep it up man

Nice screenshot
__________________

My Releases :



^-------------------------^

^-------------------------^

Zack is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


All times are GMT. The time now is 13:04.

© 2006 - 2008 Emu Forums | About Emu Forums | Legal | A member of the Crowdgather Forum Community


Powered by vBulletin® Version 3.7.6
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 RC5