Previous Thread
Next Thread
Print Thread
Page 3 of 4 1 2 3 4
#9170 - 06/21/04 08:23 AM Re: Some comments  
Joined: Mar 2002
Posts: 119
DynaChicken Offline
Member
DynaChicken  Offline
Member

Joined: Mar 2002
Posts: 119
Smf,

Dont forget to emulate that 4KB of icache and 1KB of scratchpad in your interpreter and recompiler to make sure it is accurate wink Actually, I'm only half joking about that. Its the only way to get all the timings exactly accurate after you have GTE, GPU, MDEC and CDROM cycle accurate. Load and Store and Instruction fetch from memory is very very slow compared to iCache and scratchpad.

It isnt important to the arcade games but you might actually get some of the PSX games that never worked right on other emulators to be correct in MESS. Since PSX is sufficiently slow by todays standards to do it right this would be a real 'pure' and will give everyone a reason to shut up with enhancements because this is the only way to get everything right (unless pete's willing to calculate every cycle taken by rendering the triangle on the real PSX). Even PS2's PS1 emulation isnt that correct will their GPU timing being off and breaking some games .. and they cheated by putting the original CPU (with caches) and CDROM interface 'n stuff and SPU there!

Oh, and you'll get rid of the MAME patch kiddies once there is a new ZiNc out that satisfies 'game playing'.

#9171 - 06/21/04 09:00 AM Re: Some comments  
Joined: Feb 2003
Posts: 168
mangamuscle Offline
Senior Member
mangamuscle  Offline
Senior Member

Joined: Feb 2003
Posts: 168
Mexico
Quote:
Originally posted by DynaChicken:
Oh, and you'll get rid of the MAME patch kiddies once there is a new ZiNc out that satisfies 'game playing'.
That will be another three months, at least, since this is the busiest time of the year for RB.

Which is fine by me :bubble: since I do love to read this threads, they are shock full of info.

#9172 - 06/21/04 09:46 AM Re: Some comments  
Joined: Mar 2001
Posts: 15,654
R. Belmont Offline
R. Belmont  Offline

Very Senior Member

Joined: Mar 2001
Posts: 15,654
USA
3 months? Nah, it's not that bad. I don't want to specify an actual date, but it's sooner than you'd think :-)

#9173 - 06/21/04 11:18 AM Re: Some comments  
Joined: Apr 2002
Posts: 67
PeteB Offline
Senior Member
PeteB  Offline
Senior Member

Joined: Apr 2002
Posts: 67
>DynaChicken:
>(unless pete's willing to calculate every cycle
>taken by rendering the triangle on the real PSX)

That's exactly the point where I stopped some years ago (when an attempt has been made by me to bring some real parallelism into psx gpu emulation, and I realized that this is only possible by an accurate timing).

How long does it take to render a small flat shaded triangle? A slightly bigger one? With g-shading? And texturing applied, taking the real psx's gpu small texture cache into account? And and and...

That's a task for a better man than me smile

#9174 - 06/21/04 01:04 PM Re: Some comments  
Joined: Mar 2002
Posts: 17
Howard_Casto Offline
Junior Member
Howard_Casto  Offline
Junior Member

Joined: Mar 2002
Posts: 17
This is going down an interesting path.

I have a hypothetical question and excuse my ignorance as I know little about how emulation works because I am more of a software guy than a hardware guy.

Won't mame eventually have to have hardware acceleration support added to keep up with future arcade games?

Right now it's no big deal, but it appears that at least on some level, the arcade is making a comeback. And instead of eprom-based pcbs we have systems with their own harddrives, cdroms, hardware accelerated graphics processors ect.... In essence, they are mini pcs. As we all know the more complicated a system is the more resources it takes to emulate. I know that computers will always get faster and thus the older a game is, the better it will run, unfortunately, the way things are going though, arcades may soon have systems just as powerful as the average pc out at that time. And since emulating a system usually requires about 5-10 times the resources the actual system had, it might become difficult.

Btw I don't mean we should be emulating games as soon as they come out, i just mean that pc advancments aren't THAT fast. Also I don't mean something stupid like making a plugin for psx games only. I meant more along the lines of a universal "hardware acceleration emulator" code base in mame that takes the proprietary form of acceleration found on the original pcb and translates it to directx, opengl ect... E.g. more useful and less hack-like.

Anyway.... just wanted everyone's thoughts.

#9175 - 06/21/04 01:22 PM Re: Some comments  
Joined: Nov 2003
Posts: 803
smf Offline
Senior Member
smf  Offline
Senior Member

Joined: Nov 2003
Posts: 803
Quote:
Originally posted by DynaChicken:
Smf,

Dont forget to emulate that 4KB of icache and 1KB of scratchpad in your interpreter and recompiler to make sure it is accurate wink Actually, I'm only half joking about that.
I haven't forgotten, I've been thinking about how to implement wait states for fetching memory since the start. I think another driver may have this issue too, so I'm hoping someone else will do the mame core changes. Bus contention is much more of a problem.

There are already signs of timing causing issues with system 11 games, tekken does some dma which has to finish instantly or it corrupts the vram ( technically it should probably just steal the bus cycles from the cpu, but that has a similar effect in this case ). The problem affected MAME and ZiNc, although I guess it's possible they were both doing something else wrong. I've been meaning to see if there are any weird status reads, you never know what else they may have changed in the status register in the prototype gpu to console gpu changes.

smf

#9176 - 06/21/04 01:28 PM Re: Some comments  
Joined: Nov 2003
Posts: 803
smf Offline
Senior Member
smf  Offline
Senior Member

Joined: Nov 2003
Posts: 803
Quote:
Originally posted by Howard_Casto:
Won't mame eventually have to have hardware acceleration support added to keep up with future arcade games?

Also I don't mean something stupid like making a plugin for psx games only. I meant more along the lines of a universal "hardware acceleration emulator" code base in mame that takes the proprietary form of acceleration found on the original pcb and translates it to directx, opengl ect... E.g. more useful and less hack-like.

Anyway.... just wanted everyone's thoughts.
MAME won't have to do anything. If it turns out that a 2010 PC won't run Naomi then a 2015 one probably will. You will probably see the arcades pulling away from MAME, but the situation of recent games being emulated has only happened because games were coming out on old hardware.

The idea of a 3d abstraction layer has been thrown around, unfortunately it's much more complicated than you'd like. System 22 has tile based textures and downloading them as a texture your graphics card would use takes something like 512mb. You then need some extra for the screen etc. There are ways around it, dynamically uploading textures etc but they tend to then be more complicated than writing the rest of the emulator.

smf

#9177 - 06/21/04 08:46 PM Re: Some comments  
Joined: Mar 2001
Posts: 15,654
R. Belmont Offline
R. Belmont  Offline

Very Senior Member

Joined: Mar 2001
Posts: 15,654
USA
Naomi in MAME (and typing those 3 words just gave Haze a coronary) would be about 70-80% of Seattle's requirements I think (based on the generally similar hardware and clocks, and the fact that the SH-4 does more work per-clock than the MIPS). That's assuming a DRC for the SH-4 and software rendering, both quite reasonable for MAME.

#9178 - 06/21/04 10:28 PM Re: Some comments  
Joined: Mar 2002
Posts: 119
DynaChicken Offline
Member
DynaChicken  Offline
Member

Joined: Mar 2002
Posts: 119
Pete:

If you want to do your timing right, get a 'fixed' PS1 with Action Replay and ISA development cable and start running your small benchmark programs. It is probably not as hard as you'd think. flat shaded and gourad shaded dont use the texture cache so its probably just a matter of number of pixel and how many pixels the GPU is doing at a time (I bet only 1 .. its old!). With the cache, its harder but since its probably direct mapped it is something you can time from 'full in the cache' 'not in the cache' 'half in the cache' and then you've got the algorithm. Ridge Racer special hires and most interlace games use only gourad polys to keep it all predictable, but even with the cache you can calculate it. Its just costing CPU cyles but nowadays they come a plenty for PS emulation.

Its going to be the only way that SMF is ever going to get correct emulation if he's willing to accept cheating by trying on a PS1 and then multiplying the numbers by the real thing running at 66 Mhz or so.

#9179 - 06/21/04 10:33 PM Re: Some comments  
Joined: Mar 2001
Posts: 15,654
R. Belmont Offline
R. Belmont  Offline

Very Senior Member

Joined: Mar 2001
Posts: 15,654
USA
There's also the catch that GPU timings are different on real hardware between the various revs of the GPU. In particular, the "rev C" found in late PSXes and all PSones does block fill and transparency drawing much faster than the older parts, so GPU-bound games run a little faster on it.

Page 3 of 4 1 2 3 4

Moderated by  R. Belmont 

Who's Online Now
3 registered members (AJR, mixmaster, 1 invisible), 25 guests, and 3 spiders.
Key: Admin, Global Mod, Mod
Shout Box
Forum Statistics
Forums9
Topics8,381
Posts108,462
Members4,750
Most Online225
May 26th, 2014
Powered by UBB.threads™ PHP Forum Software 7.6.0
Page Time: 0.127s Queries: 14 (0.089s) Memory: 5.0214 MB (Peak: 5.2438 MB) Zlib enabled. Server Time: 2017-07-20 22:30:36 UTC