Author Topic: CapriceRPI2  (Read 20616 times)

0 Members and 1 Guest are viewing this topic.

Offline KaosOverride

  • 464 Plus
  • *****
  • Posts: 308
  • Country: es
  • Liked: 191
  • Likes Given: 44
Re: CapriceRPI2
« Reply #25 on: 18:20, 15 July 15 »
Solved!!!!

Pre-WIP2 released. Has autodetection of RPI1 so it selects low-res mode for it. Has some error detection when trying to run under X at incorrect bpp. Latest DISPMANX SDL

here:
https://mega.co.nz/#F!qctQXKiI!oPgeSUzDj6rN_1GAPFbe4A
Al source is updated at github also.

PHabermehl, please make an "unset SDL1_VIDEODRIVER" if you run under X, SDL tries to run as text console because of the set variable, is nbot trying X SDL, so it gives error and exit. At text console I have tried with and without the set, and works now fine.

How easy is this to incorporate in RetroPie as an alternative emulator "press X or M" jobbie?

Well, for my testings I directly replaced the cpc4rpi binary an edit the Amstrad script (To add support to CDT and SNA, adding the extensions). Command line runs like cpc4rpi (And Caprice32...). I have also deactivated the initial splash screen when command line params are detected.

When I finish to clean and redo some of the menus, I will made some try to run as alternate emu, and make some doc about it :)
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Offline PHabermehl

  • CPC464
  • **
  • Posts: 26
  • Country: de
  • Liked: 6
  • Likes Given: 11
Re: CapriceRPI2
« Reply #26 on: 23:04, 15 July 15 »
Thanks for your efforts, I can hardly wait to try the new (pre)release...

One question meanwhile, just theoretically, do you think your sources could be compiled under, let's say, a recent SuSE Linux? How about the display manager stuff?

Kind regards,
Peter

Offline KaosOverride

  • 464 Plus
  • *****
  • Posts: 308
  • Country: es
  • Liked: 191
  • Likes Given: 44
Re: CapriceRPI2
« Reply #27 on: 01:07, 16 July 15 »
Yes, should work, as original Caprice32 does. When this code was for GP2x I also was able to compile under Win32 for testing.

But take care about hardware dependant code, as the WhichPi() in menu.c. It just checks a file under /proc , but you can patch it replacing all the code with a return 129;. The rest should compile with no problem. Just use the normal makefile (not the .static). You need libSDL1.2-dev, libSDL-image-dev and libSDL-ttf2.0-dev (and maybe many others like zlib...)

Then if you have X11 at 16bpp colour mode for windowed mode,  or console in framebuffer mode for fullscreen SDL, should work.
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Offline KaosOverride

  • 464 Plus
  • *****
  • Posts: 308
  • Country: es
  • Liked: 191
  • Likes Given: 44
Re: CapriceRPI2
« Reply #28 on: 00:55, 17 July 15 »
Just workin with some ideas for the menus. Now that there is no need for that RUN" and CAT options thanks to the autorun feature, I have room for load at B drive :)

And a drive status at the bottom!

What do you think?

[youtube]x4QU_mrC0AY[/youtube]
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Offline PHabermehl

  • CPC464
  • **
  • Posts: 26
  • Country: de
  • Liked: 6
  • Likes Given: 11
Re: CapriceRPI2
« Reply #29 on: 10:50, 17 July 15 »
Just workin with some ideas for the menus. Now that there is no need for that RUN" and CAT options thanks to the autorun feature, I have room for load at B drive :)

And a drive status at the bottom!

What do you think?

Yes!


-------------------------

Ran WIP2 release yesterday, looks good :-) Played Kong strikes back until my daughter had to go to bed :-(

« Last Edit: 10:52, 17 July 15 by PHabermehl »

Offline arnoldemu

  • Supporter
  • 6128 Plus
  • *
  • Posts: 5.335
  • Country: gb
    • Unofficial Amstrad WWW Resource
  • Liked: 2261
  • Likes Given: 3478
Re: CapriceRPI2
« Reply #30 on: 11:36, 17 July 15 »
Just workin with some ideas for the menus. Now that there is no need for that RUN" and CAT options thanks to the autorun feature, I have room for load at B drive :)

And a drive status at the bottom!

What do you think?

[youtube]x4QU_mrC0AY[/youtube]
Nice, clean and simple to use :)
My games. My Games
My website with coding examples: Unofficial Amstrad WWW Resource

Offline PHabermehl

  • CPC464
  • **
  • Posts: 26
  • Country: de
  • Liked: 6
  • Likes Given: 11
Re: CapriceRPI2
« Reply #31 on: 11:52, 17 July 15 »
Then if you have X11 at 16bpp colour mode for windowed mode,  or console in framebuffer mode for fullscreen SDL, should work.

Patched menu.h, installed some devel packages, compiled without errors... Perfect, many thanks! :D

BUT I'm unable to set 16bpp and yet also unable to run it from console because I don't know how to set framebuffer mode....  :( Stupid me...

Any hints? Any chance to run under 32bpp in X11?

Thank you in advance,
Peter

Offline Beaps

  • CPC664
  • ***
  • Posts: 132
  • Country: gb
  • Liked: 5
  • Likes Given: 3
Re: CapriceRPI2
« Reply #32 on: 18:12, 17 July 15 »
Sorry for being dim  :laugh:


Does this need compiling before ftp'ing to the opt/retropie/emulators


I wanted to try this out as another CPC emulator when you press X or M in retropie

Offline PHabermehl

  • CPC464
  • **
  • Posts: 26
  • Country: de
  • Liked: 6
  • Likes Given: 11
Re: CapriceRPI2
« Reply #33 on: 19:28, 17 July 15 »
Sorry for being dim  :laugh:


Does this need compiling before ftp'ing to the opt/retropie/emulators


I wanted to try this out as another CPC emulator when you press X or M in retropie

Some light ... No, you don't have to compile anything. The MEGA folder posted by Kaosoverride contains both, a source code archieve and an archieve with the executable. So just download th executable and that's it...

Have fun
Peter

Offline Beaps

  • CPC664
  • ***
  • Posts: 132
  • Country: gb
  • Liked: 5
  • Likes Given: 3
Re: CapriceRPI2
« Reply #34 on: 20:10, 17 July 15 »
OK I got a little help from a friend  ;D

I do have a problem tho CDT files aint showing up in RetroPie, do I need to add CDT in a config somewhere?

Offline KaosOverride

  • 464 Plus
  • *****
  • Posts: 308
  • Country: es
  • Liked: 191
  • Likes Given: 44
Re: CapriceRPI2
« Reply #35 on: 02:36, 18 July 15 »
At /etc/emulationstation/es_systems.cfg 

Edit and at the Amstrad CPC change extension from:

    <extension>.cpc .CPC .dsk .DSK</extension>

to

    <extension>.sna .SNA .cdt .CDT .cpc .CPC .dsk .DSK</extension>

Also at <command> you can change your default CPC emulator from cpc4rpi to capriceRPI2 editing the line.
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Offline KaosOverride

  • 464 Plus
  • *****
  • Posts: 308
  • Country: es
  • Liked: 191
  • Likes Given: 44
Re: CapriceRPI2
« Reply #36 on: 02:58, 18 July 15 »

BUT I'm unable to set 16bpp and yet also unable to run it from console because I don't know how to set framebuffer mode....  :( Stupid me...

Any hints? Any chance to run under 32bpp in X11?

CapriceRPI2 is fixed to 16bpp. This is made this way because the default settings at the Raspbian and RetroPie distros. Well, the X11 support into the DISPMANX SDL is more a facility for the development than a feature, but it makes the sense of the emulator being both a more featured CPC emu for RetroPie adding CDT SNA and menus, and also a generic and easy to use emu, under Pi's X11 and Pi's console.

Going to 32bpp under Pi will kill performance :( also 8bpp gave problems so all modes but 16bpp are deactivated.

It's not the goal of CapriceRPI2 to be a generic emulator to be compiled under Win, Mac, Linux, etc so these bpp modes are not planed to be supported, but when a decent release is done, with the menus finished and all that, these modes can be repatched.

Also the video mode testing routine I added to the video_init() that advises that the screen is at incorrect bpp can be used to detect the bpp needed and reconfigure the emu... But that is another story.

If this Caprice was done with "any computer" in mind would not be called CapriceRPI2, but FancyCaprice!!!!  :P
And because RPI1 is working fine, I am droping the 2 from the name, so it's CapriceRPI!!!  :)
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Offline Beaps

  • CPC664
  • ***
  • Posts: 132
  • Country: gb
  • Liked: 5
  • Likes Given: 3
Re: CapriceRPI2
« Reply #37 on: 12:56, 18 July 15 »
At /etc/emulationstation/es_systems.cfg 

Edit and at the Amstrad CPC change extension from:

    <extension>.cpc .CPC .dsk .DSK</extension>

to

    <extension>.sna .SNA .cdt .CDT .cpc .CPC .dsk .DSK</extension>

Also at <command> you can change your default CPC emulator from cpc4rpi to capriceRPI2 editing the line.


Nothings ever simple....


I ain't got a es_systems.cfg file in that folder

Offline KaosOverride

  • 464 Plus
  • *****
  • Posts: 308
  • Country: es
  • Liked: 191
  • Likes Given: 44
Re: CapriceRPI2
« Reply #38 on: 15:58, 18 July 15 »
Sorry, I was looking at my RetroPie installed at my Raspbian distro, not at RetroPie dedicated distro.

From EmulatorStation FAQ:
Quote
Q. EmulationStation works even though there's no ~/.emulationstation/es_systems.cfg file! What's up with that?

A. There is probably a pre-configured es_systems.cfg file in /etc/emulationstation/es_systems.cfg (Linux only). See README.md for more detailed documentation.

So it can be at your $HOME/.emulationstation also.
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Offline Beaps

  • CPC664
  • ***
  • Posts: 132
  • Country: gb
  • Liked: 5
  • Likes Given: 3
Re: CapriceRPI2
« Reply #39 on: 01:29, 19 July 15 »
Getting there now and enjoying the emulator, very cool.


I do have a question tho lol. How do I disable turbo speed?


Is there a config file where I can turn it off?

Offline KaosOverride

  • 464 Plus
  • *****
  • Posts: 308
  • Country: es
  • Liked: 191
  • Likes Given: 44
Re: CapriceRPI2
« Reply #40 on: 01:45, 19 July 15 »
Do you mean the tape turbo? Is enabled by default when loading CDTs- You can disable it at the Tape menu, last option. There is no CFG, the emu has it's defaults. Some are customizable from menus after execution, but if the idea is that you want to play a game, the CDT just loads as fast as it can.

For tape the turbo speed is only enabled when tape motor is ON and cassette status is playing. If a loader forgets to stop motor, then speed is turbo until you disable it from menu. I think that we all agree that more than 95% cases for a gaming experience is that tape loads as fast as it can, and you start playing.

Also, 464 configuration is enabled when a CDT is loaded via command line, then you can change the model to 6128 or just add more RAM up to 576, if you want to load a CDT game in 128K mode, and manually rewind the tape and play it from tape menu
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Offline Beaps

  • CPC664
  • ***
  • Posts: 132
  • Country: gb
  • Liked: 5
  • Likes Given: 3
Re: CapriceRPI2
« Reply #41 on: 02:30, 19 July 15 »
I actually prefer to hear the original loading sounds. Does that mean I have go go in menu and turn it off quickly?


Also when I select a cdt in retropie it goes to the 128k Amstrad, autotypes


ITape


Run"


Which is superb!

Offline KaosOverride

  • 464 Plus
  • *****
  • Posts: 308
  • Country: es
  • Liked: 191
  • Likes Given: 44
Re: CapriceRPI2
« Reply #42 on: 11:52, 19 July 15 »
Uhh... I was convinced that I enabled the model change when a CDT was included at command line  :laugh:

I took te decision of the tape turbo by default because, under a generic gaming system as RetroPie, waiting 5-10 minutes for a game has no sense.

For Amstrad users, the tape data noise is love music  :P
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Offline Beaps

  • CPC664
  • ***
  • Posts: 132
  • Country: gb
  • Liked: 5
  • Likes Given: 3
Re: CapriceRPI2
« Reply #43 on: 11:59, 19 July 15 »
I guess maybe releasing two versions with tape turbo on and tape turbo off would be a good idea as I load .dsk files if I just want to load a game quickly  :D
« Last Edit: 12:02, 19 July 15 by Beaps »

Offline KaosOverride

  • 464 Plus
  • *****
  • Posts: 308
  • Country: es
  • Liked: 191
  • Likes Given: 44
Re: CapriceRPI2
« Reply #44 on: 14:51, 19 July 15 »
Or a command line option that yo ;D u use as part of the alternate executable.  If you configure it as "capriceRPI2 --notapeturbo" instead of "capriceRPI2" it should work. (Not with actual executable, first the option must be coded!!!!!)

Well, I have updated the github source for compiler-addicts :P Menu reworks and file loading routines rewriten. Now you can load from ZIP at the menus.

Maybe some cleanups, the --tapeturbo and something else, and a release is possible (And forget about the WIP !!!)

Also since first release, the --nosound command line switch was working, since the times of GP2x

I want to finish this emu reaching some mature level and forget about it for a while. I have many other ideas (CPC real hardware related) that I would like to devel. I really  enjoy with capriceRPI but I also want to do more things!!! ;D

EDIT: planned --notapeturbo switch for command line. Will be avaiable at next release, but release RELEASE, we are leaving WIP stage.  8)
« Last Edit: 15:07, 19 July 15 by KaosOverride »
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Offline Beaps

  • CPC664
  • ***
  • Posts: 132
  • Country: gb
  • Liked: 5
  • Likes Given: 3
Re: CapriceRPI2
« Reply #45 on: 15:05, 19 July 15 »
So like this?

CapriceRPI2="/opt/retropie/emulators/CapriceRPI2/capriceRPI2 %ROM%"
default="CapriceRPI2 --notapeturbo"

or

CapriceRPI2="/opt/retropie/emulators/CapriceRPI2/capriceRPI2 --notapeturbo %ROM%"
default="CapriceRPI2"

or

CapriceRPI2="/opt/retropie/emulators/CapriceRPI2/capriceRPI2 %ROM%"
default="CapriceRPI2 --tapeturbo"

or

CapriceRPI2="/opt/retropie/emulators/CapriceRPI2/capriceRPI2 --tapeturbo %ROM%"
default="CapriceRPI2"

Either way none of them work

« Last Edit: 15:35, 19 July 15 by Beaps »

Offline KaosOverride

  • 464 Plus
  • *****
  • Posts: 308
  • Country: es
  • Liked: 191
  • Likes Given: 44
Re: CapriceRPI2
« Reply #46 on: 18:58, 19 July 15 »
Yes, but at next release. As I said, the option must be coded, WIP2 has not the option...
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Offline Beaps

  • CPC664
  • ***
  • Posts: 132
  • Country: gb
  • Liked: 5
  • Likes Given: 3
Re: CapriceRPI2
« Reply #47 on: 19:16, 19 July 15 »
Oh ok I'll chill and wait for the next release  :P

Offline KaosOverride

  • 464 Plus
  • *****
  • Posts: 308
  • Country: es
  • Liked: 191
  • Likes Given: 44
Re: CapriceRPI2
« Reply #48 on: 21:19, 19 July 15 »
Enjoy WIP2 until next release!!!!  :P
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Offline KaosOverride

  • 464 Plus
  • *****
  • Posts: 308
  • Country: es
  • Liked: 191
  • Likes Given: 44
Re: CapriceRPI2
« Reply #49 on: 19:29, 21 July 15 »
GitHub updates, new menu arrangement. Config submenu now for video options.

Added the --notapeturbo to the GitHub  :P

I have to finish the "save snapshot" option (pending since 2007!!!) and some minor cosmetic changes...

Also I will try to recover the code for 32bpp compatibility.

Then there will be a RELEASE V1.0 :D
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder