Gp2x-cap32: Amstrad Cpc Emulator For Gp2x V1.0.1


I am not agree with that, i have a real CPC 6128 20 years ago and Caprice2X emulation feels like real CPC.Have you set frameskip to 0 in menu? IT´s 1 bt default

If you get steady 100% emulation the sound is perfect in the most of the games.With 250 OC or more you can get that.I am overcloking with GMENU2X, with a script you can do it as well.

But well, you are the coder, and i am not :D

One question:¿Why the fps limit in your port is 60 and 50 in Kaos port?

I think that the games in CPC are running at 50 fps.But i can be wrong.

CPC has been always my favourite 8 bits computer and all times as well :)

I am very happy that people like you and Kaos are very interested to improve CPC emulation on GP2X :)

Waiting a new release anxiously :)

Thank you very much :) ;)

Sorry for my poor english :ph34r:
 
Great to hear your keen to get this running faster ZX. I'll be a happy man when I can play my fav 8-bit comp on the gp2x :) (and with happyness comes donations ;)

I was curious, is there a way to load roms up without having to type the run"name command. I'm sure I saw someone get around this on a pc emu. and it would save a lot of hastle on the gp2x since we dont have a native keyboard.

Keep up the great work.
 
Godmil said:
Great to hear your keen to get this running faster ZX. I'll be a happy man when I can play my fav 8-bit comp on the gp2x :) (and with happyness comes donations ;)

I was curious, is there a way to load roms up without having to type the run"name command. I'm sure I saw someone get around this on a pc emu. and it would save a lot of hastle on the gp2x since we dont have a native keyboard.

Keep up the great work.
There are two ways :
- edit the run.txt file and put the right command (ex RUN"MYGAME), see README for details.
- use Caprice32 on a PC, save a .sna file and use it instead of dsk file ;)
 
Last edited by a moderator:
Yes, I did that "hack" of half screens because it improved nice speed. On the other hand, I have adjusted the VDU to cut only what is seen in screen so the CRTC code skips the left and right border, getting more speed. Y also use the VDU to define the UP and DOWN zone for each frame, so the CRTC just draws the needed half. The trick is not to speed in bliting, I make te code of the CRTC ignore the part of the screen that is not going to be displayed in each frame. The CRTC code eats 36% under PC, measured through profiling :(

Under an interlaced system like the CPC monitor, this cshould be not very notieable, but yes, frameskiping exposes the trick!! (And this frameskiping is made in bliting....)

I don't remember when, but I moved some code of the Z80 part from 4.20 to 4.10. I appart from some little bugs, I haven't notice many more advances from 4.10 to 4.20 than the graphics proccesing (OpenGL, scanlines, etc...). Maybe the compatibility difference is not really big :)

The good news of using the same origin is that maybe some tweaks from my port could help yours! :)

Good work!!
 
KaosOverride said:
Yes, I did that "hack" of half screens because it improved nice speed. On the other hand, I have adjusted the VDU to cut only what is seen in screen so the CRTC code skips the left and right border, getting more speed. Y also use the VDU to define the UP and DOWN zone for each frame, so the CRTC just draws the needed half. The trick is not to speed in bliting, I make te code of the CRTC ignore the part of the screen that is not going to be displayed in each frame. The CRTC code eats 36% under PC, measured through profiling :(

Under an interlaced system like the CPC monitor, this cshould be not very notieable, but yes, frameskiping exposes the trick!! (And this frameskiping is made in bliting....)

I don't remember when, but I moved some code of the Z80 part from 4.20 to 4.10. I appart from some little bugs, I haven't notice many more advances from 4.10 to 4.20 than the graphics proccesing (OpenGL, scanlines, etc...). Maybe the compatibility difference is not really big :)

The good news of using the same origin is that maybe some tweaks from my port could help yours! :)

Good work!!
What you've done is really awesome, it works fine and it's the fastest version i have ever seen. I will may be get part of your modifications and integrate them in my PSP version, since it's a bit too slow (even with a 333Mhz clock). For the Gp2x version, i don't know if i will continue this port, because yours is definitively the best :).

Or may be i can just get the z80 and crtc part of your version, and we will have the best of our two ports, with many features such as :
- virtual keyboard (even if you got one, i prefer mine :) )
- screenshot
- sna and save states in gzip format
- configurable keyboards / mapping
- keys composition (using Trigger keys)
- startup run" commands
- a setting file for each games
- and some other settings

anyway, i focus now on other emu port ... and this project is standby for the moment :)
 
Last edited by a moderator:
zx-81 said:
For the Gp2x version, i don't know if i will continue this port, because yours is definitively the best :).
I wish you continue with this port, maybe you both must work together :)

zx-81 said:
Or may be i can just get the z80 and crtc part of your version, and we will have the best of our two ports, with many features such as :
- virtual keyboard (even if you got one, i prefer mine :) )
- screenshot
- sna and save states in gzip format
- configurable keyboards / mapping
- keys composition (using Trigger keys)
- startup run" commands
- a setting file for each games
- and some other settings
That will be the best in my opinion :)



zx-81 said:
anyway, i focus now on other emu port ... and this project is standby for the moment :)
Nooooooooooooooooooooooooooooooooooooo!!! :D :p ;)
 
Last edited by a moderator:
There are also many changes in CAP32.CPP, the VDU_init function, and the VDU_init1 and VDU_init2, added for defining the upper and lower part of screen for even/odd frames. I also defined the VDU width to ignore the left and right border (CPC without border is 320 px, and this way the CRTC will ignore the CPC' screen out of the VDU window)

Try to play with the VDU settings and you will see that rather than rendering a "left border offset"+320px screen+"right border offset" and blit only the 320px width, you can render directly the 320px!! :)
 
KaosOverride said:
There are also many changes in CAP32.CPP, the VDU_init function, and the VDU_init1 and VDU_init2, added for defining the upper and lower part of screen for even/odd frames. I also defined the VDU width to ignore the left and right border (CPC without border is 320 px, and this way the CRTC will ignore the CPC' screen out of the VDU window)

Try to play with the VDU settings and you will see that rather than rendering a "left border offset"+320px screen+"right border offset" and blit only the 320px width, you can render directly the 320px!! :)
Yes i forgot to mention that file of course :) ... there are many differences here, and in particular the VDU/split/graphic stuff (as you said) and also the SDL audio part :).
 
Last edited by a moderator:
Is good to see you both talking about the emulator :)

Thank you for the good job boys ^_^

CPC fans will thank you forever.
 
Back
Top