I occasionally stream so you can see how boring poking around in the memory is.
[8/6/2014 8:19:53 PM] Pasky: jedpossum, hacker of the obscure fighting games
Zero1_, post: 7532254, member: 12428 wrote:
Ok so what exactly are the issues with emulation currently?
I gather there is potential for lag from USB. Is there a way round this? I'm thinking maybe we could wire an arcade stick to a DA-15 port and use the midi/gameport pinout and buy a couple of game port cards? Only problem is that I don't think it has enough buttons as last time I checked, a whole load of pins were for power, leaving not many pins for actual button inputs.
Then I had an idea. What about wiring arcade stick controls/directions to a PS2 keyboard? (the old DIN style connector, not the console) I seem to think there was some limitation on the number of buttons that could be pressed at one time though. There may be other non-USB input devices we can hack up. Maybe if someone is good with software/programming they can do something with a serial port?
Then on to the emulation itself. I know people have tested this and it seems that the Qsound emulation adds 2 frames of lag in FBA/GGPO, and then you have the issue of syncing the game to your monitor. On setups I've played FBA on, I've only been able to get true 60 fps without judder or anything on the scrolling SUPER text is by using triple buffering in fullscreen mode, but I've read that triple buffering adds 3 frames of lag. If I disable triple buffering, I tended to get tearing or stutter. Things like fireballs that are meant to flicker on alternate frames, don't and sometimes appear solid on and solid off for a few frames.
I've also heard that HDR classic has 2 or 3 frames of input lag over the CPS2 board. Could it be that the Xbox is using something like triple buffering to sync/prevent tearing and that's what is causing the lag?
I think it might be possible to get the emulator to run at 60fps on a CRT monitor without tearing or stutter and without needing vsync or triple buffering in the emulator, by messing with the hsync and vsync on the monitor itself, but that's something I never understood (how you can set positive or negative hsync and vsync and its effects)
We can also use the arcadevga adapter to run games in their native resolutions to eliminate the need for upscaling (proving you can find a 15k monitor). At least for us Europeans, we should be able to take the VGA signal and send it to a scart socket without converting the signal..
So to get closer to perfect, I think we need:
-ArcadeVGA adapter for native resolution
-Some way to sync the video output with a CRT monitor without using Vsync or triple buffering in the emulator
-Alternative method of control to USB (though I don't think USB lag is the biggest problem)
-Better Qsound emulation
As for the Qsound emulation, could it be more to do with how it syncs with the game, rather than suboptimal code or whatever?
With how many millions of instructions per second CPUs can get through these days, I don't see why we cant have perfect emulation of a 18 year old game.
As for the OS, there is a program called nlite that lets you streamline Windows XP installs and remove a bunch of stuff from the install disc so it never even gets put on. I think you can get it down to about 18 processes at around 32-48MB RAM use.
Zero1_, post: 7536304, member: 12428 wrote:
Thanks for the reply man, that's some great information regarding emulation and the custom MAME versions.
Where to start.
I had a vague recollection of changing some USB polling settings in XP years ago, and a quick google has refreshed my memory. The default poll rate was 125Hz (1000ms/125 cycles = 8ms per cycle), and you are absolutely correct that you can change the poll rate to 1000Hz, which makes it sample every 1ms. I wonder if consoles use similar polling rates (my guess it it's some kind of defacto standard), which would contribute to the lag felt in HDR and other fighting games over the arcade hardware.
So yeah, I was trying to get my head around what would be the best case scenario for tournament organisers wanting to run ST who don't have access to arcade boards. My train of thought was that you could have this highly tweaked computer outputting the native resolution and using keyboard modded sticks in order to reduce latency and just offer it as a somewhat standard setup. Maybe the community could agree on a particular emulator, settings, display, sticks and other hardware in order to make a somewhat standardised MAME ST tournament setup so you just have these rigs that are very similar from event to event.
I fully appreciate people wanting to use their own sticks, especially when some people spend so much time and money modding or building them from scratch. Maybe if/when we get something decided on how to go about the setup with regards to how we work around USB input, that it would be something that serious modders could build support into their sticks for. I'm thinking that if you have direct button output for supergun use that it could be a simple case of making up the relevant cables to play via serial port or something, or maybe someone could even fabricate a basic PCB to go inside a stick that would give your stick keyboard output.
I had this same issue about making my supergun setup. It would be nice for people to use their own sticks (which they could do if they had Neo Geo output), but at the same time I don't think people would be too dissapointed if you provided a couple of standard TE sticks to use since they are so common now, maybe 80% of players use those anyway. Not being able to use your own sticks/being forced to use the same hardware as the other player is a bit more authentic to the arcade experience too anyway.
I think the community really needs to figure out some kind of standards. I've played tournaments from arcade perfect, to what must have had 5 frames input lag (emulator + laggy LCD TV) and everything inbetween. Then throw in the ST stage specific speed, and that other ports/versions don't have variable speed etc, it's a headache to say the least.
So, what would be the list of preference in terms of closest to arcade ST? Let's say the versions we have available are Dreamcast ST, HDR classic mode on 360, Xbox HSF2 etc?
DNGR S PAPERCUT, post: 7543382, member: 25510 wrote:
curious, what "bugs" did users report for HDR classic mode on 360?
Zero1_, post: 7543418, member: 12428 wrote:
Yes, the emulation issue where events have some kind of official vibe is looked down on as it's not legal. In my opinion the ethical side of this can die in a fire, since a company that makes their hardware purposely die after a few years of normal use is skanky, but that aside...
Before HDR was released, I'd have put it to you that Capcom wouldn't care much since ST had run its course on multiple consoles and it's not like they are making new arcade boards anymore, but now they could use emulation as a possible scapegoat for loss of sales for HDR.
I think Dreamcast is one of the best options right now. The console is small and neat, it's cheap to buy, even the stock sticks are nice and the game can had on auction sites, or at worst, downloaded. The pause after the round announcement is weird. I wonder if that's an issue with emulation, or if it's just loading? Also it's really nice that it has the training mode and those crazy turbo speeds. I'm really tempted to grab a DC myself now.
Where the stages on the DC port different speeds like on CPS2? And was the speed difference per round intentional, or a hardware limitation (maybe more/larger sprites caused some stages to run slower).
I haven't had a whole lot of time playing on the CPS2 board compared to the years I've played HDR, but one thing I noticed is that some of the supers are really slow (like the animation on the Gief FAB, or sometimes Boxer's super seems to slow down a bit). One of the things that I don't think we will be able to emulate accurately is the hardware limitations of the CPS2 board. The best way to descibe this is like when emulating an N64. On 1080 Snowboarding there is a point in the intro where the framerate drops due to the amount of action/graphics that is going on but when you emulate it, it runs 100% perfect without the characteristic hardware limitations. I wonder if that kind of thing is present in MAME/CPS2 emulation like if the supers do slow down due to CPU limitations or something, you may not get that same effect in emulation - not important for the majority of cases, but it can make a difference during Boxer's super as you know you can reversal out of it in certain situations.
Then again, I'm probably splitting hairs at this point.
I have been wanting to make what I could only describe as a modular supergun. Basically I would terminate the video cables and control cables in D-Sub connectors, so depending on the tournament you could swap out different video circuits no problem; for example you could have JAMMA>DE15 and then DE-15> Scart, DE-15>arcade monitor or even DE-15>component upscaler. You could even make use of splitters/video amps so you could have a head to head cab setup, with output to a hauppauge HD capture box and maybe even a normal TV far away for the commentators to watch or a projector. Taking your point with controls, terminating in a Dsub would then mean you can make various project boxes/converters (which is probably what you was thinking of anyway) and swap those out to suit USB sticks, supergun sticks or even pad players.
One good thing that will come of a PC running ArcadeVGA adapter is you can set it to emulate the CPS2 resolution, get a Y splitter cable and connect one end to a CRT, and the other end to one of those upscalers that people use for cabs with 31k monitors. Run a timer on the PC and take a photo on a high shutter speed, and then we now have a way to measure the lag of various JAMMA video converters/upscalers.
jdubs, post: 7574241, member: 72280 wrote:
Guys, what about using an ultimarc I-PAC2 ps/2 keyboard encoder to avoid the usb lag issue with the emulators? Is this a feasible solution?
Zero1_, post: 7575276, member: 12428 wrote:
You could be on to something here. Certainly a lot cleaner solution than soldering stuff to keyboard traces.
If we can get PS/2 keyboard/joysticks working, then we might as well forget Windows altogether and boot into DOS and run MAME. That will eliminate any background disk access and overheads etc (I'm sure that's what causes the occasional skipping when I play on GGPO)
Zero1_, post: 7579152, member: 12428 wrote:
Hey, if it's not much trouble and you are leaving the existing PCB in (kinda dual modding), could you maybe fix an LED to the button and do some lag testing?
Born2SPD, post: 7593930, member: 28257 wrote:
The new rom format is pretty simple actually: now each zip must contain all files needed. In the old format, you needed both ssf2.zip and ssf2t.zip to run ST. In the new format, the ssf2t.zip must contain both ssf2t.zip roms as well as the shared rom fiels from ssf2.zip. There's one program (which i forgot the name) that does that automatically.
oldschool_BR, post: 7592408, member: 7169 wrote:
Good news: they've updated M.A.M.E. so that it now compiles in any platform. So it shouldn't be a problem to run it under Linux. I've got it done in a 64-bit distro, just fine. The bad nes is I got no idea how it runs since they have completely changed the ROM sets some time ago.