Cps2emu Test Version 5


Mr 2X

Member
Joined
Jun 17, 2006
Messages
443
Website
lostsite.altervista.org
Amazing updates in this new version! Thanks to ell! :)

- test v5
fix raster mode rendering.
fix line scroll mode rendering.
add save/load state.
add no sound(and sound cpu stop) mode.
support command line options.
support usb joypad(maximum 4 player).
support TV-Out.
fix romcnv source to support unix system(experimental).
[cut]
* control
- in selector
A, Y: Change options
Vol +/-: CPU clock adjust
B, Stick(Push), Select: Start game
Start: Quit

- in games
X, B, A, Y: Button 1, 2, 3, 4
Select : Insert coin
Vol +/- : Volume control
Select + Vol +/- : Frameskip control
Stick(Push) + Start : Save state
Stick(Push) + L + Start : Load state
Stick(Push) + Select : Enter service(test) mode
L + R + Select : Quit
L + R + Start : P1, P2 Start button(for service mode)

- in Vertical mode
Vol +: Button 1
L: Button 2
Vol -: Button 3(3 button games), Autofire Button 1(2 button games)
Start + Vol +/- : Volume control

- in 2 button games
X, A: Button 1, Autofire Button 1
B, Y, R: Button 2

- in 6 button games
A, Y, L: Button 1, 2, 3
X, B, R: Button 4, 5, 6

* command line options
--sound, --no-sound: enable/disable sound.
--samplerate [rate]: set sound samplerate. possible 11025/22050/44100 Hz.
--hw-rescale, --sw-rescale, --no-rescale: select rescale mode.
--68kclock [clock], --z80clock [clock]: clock adjust main core(m68k), sound core(z80). [clock] is percentage. 0 is 100%.
--showfps: display fps. not support in hw-rescale mode.

* ps
I always read gp32x.de forum, but difficult to write.

Download cps2emu test v5[/cut]
 
Last edited by a moderator:
Just having a look at this and it's looking really nice. Thanks Ell!

In the readme.txt you say that you watch the forums so I hope you get to read this:

Suggestion cache code to also keep it at 16MB

Code:
	if(block_capacity <= CACHE_SIZE) {
		read_cache = read_cache_static;
	num_cache = block_capacity >> BLOCK_SHIFT;
		block_data = NULL;
	} else {
	read_cache = read_cache_compress;
		num_cache = CACHE_SIZE >> BLOCK_SHIFT;
		block_data = malloc(block_size);
	}

I was also going to suggest some fixes to the sound code but I see you've done almost exactly what I was playing with last night. Previously frag was uninitialized which would cause SNDCTL_DSP_SETFRAGMENT to use bad values and the sound would lag in 11025.

Code:
		int rate, bits, stereo, frag;
		rate = 44100 >> (2 - option_samplerate);
		bits = 16;
		stereo = 1;
	
		ioctl(sound_fd, SNDCTL_DSP_SPEED,  &rate);
		ioctl(sound_fd, SNDCTL_DSP_SETFMT, &bits);
		ioctl(sound_fd, SNDCTL_DSP_STEREO, &stereo);

		frag = 10 + option_samplerate;
		frag |= 2 << 16;
		ioctl(sound_fd, SNDCTL_DSP_SETFRAGMENT, &frag);

Thanks for all the hard work - the Dungeons and Dragons games are amongst my favourite all time arcade games, so the emulator is definitely one of my favourite GP2X emulators! :-D

EDIT:

Also perhaps consider using the assembler versions of memset and memcpy. Every little bit counts; especially since I see that memset is used frequently.
 
I haven't tried the CPS2 emu yet because my SD card was full :( but after reading all the comments of the previous test version it seems that this Emu is running really well.

I will try this version of the emu once I get Home. :D

I can't wait!!!!!!!!
 
This emulator is already great, and it just keep getting better.
Great work!
 
Marvel Super Heroes vs. Street Fighter on my GP2X and playable. Unbelievable. For a "test" program this emu rocks.
 
wow i take it back i was to busy trying it out and miss the info for service mode thats this is a Great Emu keep up the good work thanks!!
 
I love this emulator!

In the previous test version I noticed the stereo sound was reversed and I don't see this mentioned in the notes that it was changed. Did anyone else notice this? I don't think it's my headphones and I have not noticed it on other programs, but I did notice it on more than one game with cps2emu. I am using roms from the .75 MAME romset if that matters at all?

OK, nevermind me. I just tried the new version on the D&D game and the stereo is correct. I swear I was (painfully) wearing my earbuds in the wrong ears in the earlier version so I could play it! :D
 
* ps
I always read gp32x.de forum, but difficult to write.



Ell,

Great work on this emu.

You are welcome to come and post here. Don't worry if English is not your first language. Even if you don't write perfect English it is no problem. Many of our other members don't speak English as their primary language either, we won't mind.

I like the software scaled mode and 1:1 the best. The software mode is slightly slower than the HW mode as can be expected. The HW scaling mode also stretches vertical though which can look pixellated. Is there a way to use the hardware mode but only scale down horizontally (just to fit all on screen) and leave vertical at 1:1 with top & bottom border so it looks like your nice software mode? I don't know if possible with the scaler in the GP2X or not. It could be another mode called "HW scale-horiz only" or something like that. The least amount of scaling needed looks best.

An idea for the 1:1 (unscaled)mode. Make an offset value. This way someone could set it to offset the screen by XX number of pixels. This could be used for puzzle games that have the player 1 board on 1 side. You could set it so that it shows the 1 player board and cuts the other side. This could be used for vertical shooters to see your ship etc. The offset would be like this: offset of 0, screen is centered. Offset of 30 shifts screen 30 pixels to the right. Offset of -10 shifts screen 10 pixels left etc.

Could you give other options other than stick push so d-pad users can use all options?

How do you turn off the "CPS2EMU for GP2X(ver 5)" text that appears on the top in SW and NO rescale modes ;)

Thanks again for the great job :)
 
Last edited by a moderator:
Has anyone got "Progear" to work? It just loads for me, says "game start" then crashes to main menu.
 
How do you get multi part ROMs to work such as Armwar? I see there is a bunch of different ROM versions like armwar, armwaru, etc. I tried all versions but no work.
At a guess, I would say you have to merge the parent set with the version you want to try.
armwar is one of the sets where the parent does not work and the clone does.

1). Copy the armwar.zip to a new armwaru.zip
2). Extract the files from original armwaru.zip into your new armwaru.zip
3). Use this as you ROM.

Again, just guessing based on looking through the source code.
 
Last edited by a moderator:
Mmm, mega man power fighters on a handheld.

The Neo Geo pocket one doesn't count, this is incredible ^_^b
 
How do you get multi part ROMs to work such as Armwar? I see there is a bunch of different ROM versions like armwar, armwaru, etc. I tried all versions but no work.
At a guess, I would say you have to merge the parent set with the version you want to try.
armwar is one of the sets where the parent does not work and the clone does.

1). Copy the armwar.zip to a new armwaru.zip
2). Extract the files from original armwaru.zip into your new armwaru.zip
3). Use this as you ROM.

Again, just guessing based on looking through the source code.

Yeah some of these MAME ROMs drive me nuts with all the fragmented multi-part ROMs ;)

Have you tried the Progear ROM it does't work for me, not sure if it is a bad dump or a bug in the emu.

Also how do you get rid of that distracting "CPS2EMU for GP2X(ver 5)" text that is always on the top of the screen in the SW and No scale modes? It is driving me goofy :p
 
Last edited by a moderator:
Also how do you get rid of that distracting "CPS2EMU for GP2X(ver 5)" text that is always on the top of the screen in the SW and No scale modes? It is driving me goofy :p
I've recompiled a version without this message. It's also using assembler memset/memcpy and has my 16MB buffer mod.

I'm getting very nice FPS with ddtod with it running at the default 250Mhz @ 11025hz sound.

I would say that it's 60FPS with the hardware scaling.
 
Last edited by a moderator:
Back
Top