Author Topic: Caprice32 (Amstrad CPC)  (Read 44209 times)

ker (OP)

  • Posts: 618
Caprice32 (Amstrad CPC)
« on: May 01, 2014, 01:52:36 pm »
Dingux-cap32 v1.1.2 adapted, recompiled and packed as OPK.

Bios files must be located at $HOME/.cap32/bios/ folder

Download: http://www.mediafire.com/download/482w6k5zs5u447d/dingux-cap32.opk

Triple buffer version: http://www.mediafire.com/download/x3em0hx8e9an18a/dingux-cap32(3b).opk

Source code: https://github.com/kerheol/dingux-cap32

Thanks to @Gab1975 for his nice PNGs  ;)

Changelog:
[2014-05-03]
- Updated help.txt and background images (@Gab1975 work)
- ROMs last used path saved in new config file
- Changed video mode from SDL_SWSURFACE to SDL_HWSURFACE | SDL_DOUBLEBUF (@hi-ban suggestion)

[2014-05-25]
- Unified emulator menu button implemented. You can press Power slider or Start+Select to enter menu (more info here)
- Updated PNGs and menu emulator name (more info here)
« Last Edit: May 25, 2014, 03:40:42 pm by ker »

surfi80

  • Posts: 252
Re: Caprice32 (Amstrad CPC)
« Reply #1 on: May 01, 2014, 02:45:23 pm »
thanks ker and still friend
play with the best? die like the rest!

http://www.elotrolado.net/wiki/PS_VITA_Usuarios_EoL

Gab1975

  • Posts: 1165
Re: Caprice32 (Amstrad CPC)
« Reply #2 on: May 01, 2014, 03:06:00 pm »
Thanks to @Gab1975 for his nice PNGs  ;)

Thanks to you for your work! :)

DeusDormouse

  • Posts: 99
Re: Caprice32 (Amstrad CPC)
« Reply #3 on: May 01, 2014, 07:56:47 pm »
What's your relation to this post?

ker (OP)

  • Posts: 618
Re: Caprice32 (Amstrad CPC)
« Reply #4 on: May 01, 2014, 11:34:19 pm »
What's your relation to this post?

I don't understand your question. I'm the guy who posted last message in that post...

doglush

  • Posts: 102
Re: Caprice32 (Amstrad CPC)
« Reply #5 on: May 02, 2014, 04:57:31 pm »
I've tested this emulator and I have a little request.
Can we add a Vsyng option, because I saw a lot of glitch when Amstrad try to move big surfaces.

(I made a little prog who move the screen with OUT command and I got a lot of glitch)
Thanks

Gab1975

  • Posts: 1165
Re: Caprice32 (Amstrad CPC)
« Reply #6 on: May 02, 2014, 09:11:43 pm »
I've tested this emulator and I have a little request.
Can we add a Vsyng option, because I saw a lot of glitch when Amstrad try to move big surfaces.

Maybe I don't understand well what you mean, but you need to consider that the jerky scrolling is a "feature" of many Amstrad CPC games (this is a "problem" of the original hardware and not of the emulator)

Unlike the C64, the Amstrad CPC hasn't got any hardware function to speed up the graphic rendering...
« Last Edit: May 02, 2014, 09:13:33 pm by Gab1975 »

doglush

  • Posts: 102
Re: Caprice32 (Amstrad CPC)
« Reply #7 on: May 03, 2014, 11:16:20 am »
No you're (half) wrong. :)
All demos have pixels perfect scroller.

And when you try to move a screen with basic command like
OUT &bc00,2:out &bd00,x

You don't have glitch like that.



hi-ban

  • Posts: 889
Re: Caprice32 (Amstrad CPC)
« Reply #8 on: May 03, 2014, 11:37:05 am »
Try using "SDL_HWSURFACE | SDL_DOUBLEBUF" instead of "SDL_SWSURFACE". That enables vsync and double buffer.
I'm 99% sure that will solve the scroll issues, already happened in most emulators.
« Last Edit: May 03, 2014, 11:43:40 am by hi-ban »

ker (OP)

  • Posts: 618
Re: Caprice32 (Amstrad CPC)
« Reply #9 on: May 03, 2014, 03:04:55 pm »
Try using "SDL_HWSURFACE | SDL_DOUBLEBUF" instead of "SDL_SWSURFACE". That enables vsync and double buffer.
I'm 99% sure that will solve the scroll issues, already happened in most emulators.

I've updated OPK changing video mode flags to SDL_HWSURFACE | SDL_DOUBLEBUF.

Emulator now remembers last rom path. Background image and help.txt are updated also.

Enjoy  ;)

hi-ban

  • Posts: 889
Re: Caprice32 (Amstrad CPC) [updated 2014-05-03]
« Reply #10 on: May 03, 2014, 03:48:37 pm »
if you want to use triple buffer, you must wait for a new toolchain, or just patch your toolchain:

Edit /mipsel-gcw0-linux-uclibc/sysroot/usr/include/SDL/SDL_video.h and add the following line under the "#define SDL_DOUBLEBUF   0x40000000" line:
Code: [Select]
#define SDL_TRIPLEBUF 0x40000100   /**< Set up triple-buffered video mode */
Then you will be able to compile the emulator using "SDL_HWSURFACE | SDL_TRIPLEBUF" in the source code of the emulator, and it will use triple buffer.

Triple buffer is better than double because it does not force 30 fps when the emulator performance is 59 fps or less.

pcercuei

  • Posts: 1732
    • My devblog
Re: Caprice32 (Amstrad CPC) [updated 2014-05-03]
« Reply #11 on: May 03, 2014, 03:51:43 pm »
But there is absolutely no reason to use triple buffering on this emulator, as it never struggles to push 60 frames per second.
With triple buffering, the delay between the moment you render the frame and the moment it is shown is increased by a few milliseconds, so if you don't need it, better stay with double buffering.

Also, patching the toolchain does not change the fact that triple-buffering will work only with the new firmware (it reverts to double-buffering on older firmwares).
« Last Edit: May 03, 2014, 03:53:16 pm by pcercuei »

Nebuleon

  • Guest
Re: Caprice32 (Amstrad CPC) [updated 2014-05-03]
« Reply #12 on: May 03, 2014, 08:07:48 pm »
Yeah, triple-buffering is only needed if any emulated game gets locked to 30 FPS with less than 100% CPU usage.

And triple-buffering is better protected by an #ifdef anyway for cross-platform compatibility:

Code: [Select]
output_screen = SDL_SetVideoMode(...,
#ifdef SDL_TRIPLEBUF
    SDL_TRIPLEBUF
#else
    SDL_DOUBLEBUF
#endif
    );

Gab1975

  • Posts: 1165
Re: Caprice32 (Amstrad CPC) [updated 2014-05-03]
« Reply #13 on: May 03, 2014, 09:01:06 pm »
Changelog:
[2014-05-03]
- Updated help.txt and background images (@Gab1975 work)
- ROMs last used path saved in new config file
- Changed video mode from SDL_SWSURFACE to SDL_HWSURFACE | SDL_DOUBLEBUF (@hi-ban suggestion)

Thanks for the update! :)

Gab1975

  • Posts: 1165
Re: Caprice32 (Amstrad CPC)
« Reply #14 on: May 03, 2014, 09:08:53 pm »
No you're (half) wrong. :)
All demos have pixels perfect scroller.

And when you try to move a screen with basic command like
OUT &bc00,2:out &bd00,x

You don't have glitch like that.

I didn't spotted a similar glitch, but, with the double buffer support, the scrolling is certainly more stable! :)

longnosedgoblin

  • Posts: 18
Re: Caprice32 (Amstrad CPC) [updated 2014-05-03]
« Reply #15 on: May 05, 2014, 05:10:45 pm »
What BIOS file does this need, I have never used one for a CPC emulator before.  The programming loads the splash screen then goes back to the GCw menu.

ker (OP)

  • Posts: 618
Re: Caprice32 (Amstrad CPC) [updated 2014-05-03]
« Reply #16 on: May 05, 2014, 05:14:40 pm »
What BIOS file does this need, I have never used one for a CPC emulator before.  The programming loads the splash screen then goes back to the GCw menu.

I've this ones:
- amsdos.rom
- cpc464.rom
- cpc6128.rom
- cpc664.rom

longnosedgoblin

  • Posts: 18
Re: Caprice32 (Amstrad CPC) [updated 2014-05-03]
« Reply #17 on: May 06, 2014, 07:25:07 am »
Eventually found them all working now.

Optimus

  • Posts: 108
Re: Caprice32 (Amstrad CPC) [updated 2014-05-03]
« Reply #18 on: May 06, 2014, 11:07:21 pm »
I want to run this but I fail. It returns me back in the gcw menu too.
Is it supposed to create empty folder to put roms? Or not?

I did created at home/cap32/bios and put the four roms inside. I guess, the ".cap32" with dot is a mistake in the post? (I can't create a .cap32)

Also I want to say, after I run the OPK, I cannot find any traces of files/folders created anywhere. Maybe it failed to install?
« Last Edit: May 06, 2014, 11:09:28 pm by Optimus »

ker (OP)

  • Posts: 618
Re: Caprice32 (Amstrad CPC) [updated 2014-05-03]
« Reply #19 on: May 06, 2014, 11:39:33 pm »
I want to run this but I fail. It returns me back in the gcw menu too.
Is it supposed to create empty folder to put roms? Or not?

I did created at home/cap32/bios and put the four roms inside. I guess, the ".cap32" with dot is a mistake in the post? (I can't create a .cap32)

Also I want to say, after I run the OPK, I cannot find any traces of files/folders created anywhere. Maybe it failed to install?

Dot is not a mistake. On first launch all needed folders are created under $HOME/.cap32/ folder. A folder started with a dot may be hidden for your browser.

 

Post a new topic