News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu
avatar_Gryzor

CapriceRPI2

Started by Gryzor, 09:20, 13 March 15

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Gryzor


trabitboy

I don't have a FB account and the news title is intriguing ,
any other link ? :o)


( I'm such a raspberry geek :p )

Bryce

Like for NOT having an FB account (like myself) :)

Bryce.

Singaja








Mikel Erauskin Goyaran
CapriceRPI2 news:
(Emu based on my previous work in CapriceGP2x, a Caprice32 port to GP2x handheld console)
-Tested tape load from menu options. OK, normal load and hacked 5x speed (not bad for the old Caprice32 code)
-Try to do sound more accurate mimizing audio buffer lag, looks ok...
-Firmware and Amsdos ROMs and GUI resources built in the executable. Standalone exe!!
More to do:
-Continue un-GP2x-ing the code xD
-Fix some menu controls (that make sense at a handheld but not at keyboard/joystick)
-Recheck joystick code (mangled from GP2x support)
And then maybe have a decent release for your joy at your Raspberry Pies Emotikon smile


jrodriguezv

The author of the topic is Kaosoverride, who is also an user of this forum.

TFM

Quote from: Bryce on 12:39, 13 March 15
Like for NOT having an FB account (like myself) :)

Bryce.


Me neither.  :)
TFM of FutureSoft
Also visit the CPC and Plus users favorite OS: FutureOS - The Revolution on CPC6128 and 6128Plus

KaosOverride

Lol, have I broke something?  :P :P :P :P :P :P

Is just some recovered code from 2007, when I did some coding for the GP2x :)

I hope to have some working version for release circa next weekend.
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

KaosOverride

#8
Some testing for your raspberrys!!!

Can run at console and at X11. Better to run at RetroPie console!!  GPU hardware scaling statically linked. To activate type before executing at the console:

export SDL1_VIDEODRIVER="dispmanx"


F8 opens the menu, cursor keys and return to select option. Esc exit.
F10 quits emulation
With joysticks Fire4 opens menu, directions and fire 1 to select, some options fire 2 goes back with no effect and Fire 4 exits to emulation.
F9 / Fire 5 toogles the virtual keyboard. Does not work for now
F12 / Fire 6 shows FPS info
F6 F7 up down volume

Works from joystick 1  and 2

Please coment

Binary tgz
http://mega.co.nz/#!zBtinbRQ!Suq12bB-IwwE02N8fSaBPt-A3zEPyhM2IJZhZFs7ags           

Source (because of GPL!!!)
http://mega.co.nz/#!TMUCSJoS!72QDz66f_WAWuovTCLGwvK22RyWO2k1Q2Ky1pCQWkns
NOTE: Maybe some credits are not written at the readme.txt. Please excuse me. will update at next release!!
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

KaosOverride

Testing EmulatorStation integration :)  (CDT, SNA and DSK!!)
DSK autorun pending....


CapriceRPI2 CDT Autorun, SNA and DSK Test - YouTube
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

KaosOverride

CapriceRPI2 first "proper" release!!!!!
V0.1 WIP 1!!!!!!!!
Mega folder with all releases:
https://mega.co.nz/#F!qctQXKiI!oPgeSUzDj6rN_1GAPFbe4A
V0.1 W.I.P 1
====
-Virtual keyboard operative. Program BASIC from your joystick!!!!
-Autorun support, partial for disks, complete for tape.
-New RPI2 splash screen, replaced the GP2x one.
_____________________________________________________________________________________________________
Features:
-GPL Caprice32 4.1.0 emulator core from Ulrich Doewich
-Portable monolithic executable, without external file dependencies (System ROMs, skins, etc)
-Static link to Raspberry PI hardware scaler SDL library
-Autoconfiguration when called from launchers and frontends (6128 default, 464 for tapes) with partial support for autorun commands for tape and disk
-2 joystick support, and up to the unofficial Fire 3, redefinable as key for many games
-Option menus and CPC virtual keyboard. Full use of the CPC from your joystick!!!
-Supports DSK, CDT and SNA from menu and command line. Great for frontends and launchers
To do:
-Finish DSK autorun commands. For now only |CPM. Autorun for CDT complete with x5 loading
-Optimize virtual keyboard. Stops 20% the emulation. (Cause found)
-Testing under RPI 1
-Better menus handling
_____________________________________________________________________________________________________
Options
Main Emulation
===================
F1: (X11 only) Full Screen (No hardware scaler), OK for RPI2 composite out
F3: Reset
F4: Start/Stop tape motor
F5: Start loading tape with RUN" or |TAPE:RUN" depending model
F6: Volume --
F7: Volume ++
F8: Options menu
F9: Virtual keyboard (+CTRL Change position up/down)
F10: Quit
F12: show FPS / INFO (+CTRL Change realtime or "as fast as it can"
Joystick:
Fire 4: Options menu
Fire 5: Virtual Keyboard
Fire 6: Show FPS / INFO
Options Menu
============
Icons:
Disk: Disk menu
Tape: Tape menu
Chip: Snapshots menu
Gear: Configuration menu
Red button: Quit
Select with cursors + Enter o Joystick + Fire 1
F8 or Fire 4 Return to emulation.
Submenus
--------
Up/down (cursors/joystick) navigate options
Right (cursors/joystick), Enter or Fire 1 select option
Left (cursors/joystick), ESC or Fire 4 returns to emulation or the submenu before.
File selectors
--------------
Up/down (cursors/joystick) navigate files/folders
Right (cursors/joystick), Enter o Fire 1 select file or open subfolder
Left (cursors/joystick), Fire 2 return to the above folder
ESC o Fire 4 returns to emulation or the submenu before.
Virtual keyboard
================
From keyboard: (Helpfull if some emulated key can't be pressed!!)
Cursors: Move key cursor
CTRL: Simulate CTRL key
Shift: Simulate SHIFT key
Espace: Press selected key
F9: Exit virtual keyboard (+CTRL change position up/down)
From Joystick
Directions: Move key cursor
Fire 3: Simulate CTRL key
Fire 2: Simulate SHIFT key
Fire 1: Press selected key
Fire 5: Exit virtual keyboard
Fire 4: Change position up/down
_____________________________________________________________________________________________________
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

CraigsBar

Quote from: KaosOverride on 22:44, 23 May 15
CapriceRPI2 first "proper" release!!!!!
V0.1 WIP 1!!!!!!!!
Mega folder with all releases:
https://mega.co.nz/#F!qctQXKiI!oPgeSUzDj6rN_1GAPFbe4A
V0.1 W.I.P 1
====
-Virtual keyboard operative. Program BASIC from your joystick!!!!
-Autorun support, partial for disks, complete for tape.
-New RPI2 splash screen, replaced the GP2x one.
_____________________________________________________________________________________________________
Features:
-GPL Caprice32 4.1.0 emulator core from Ulrich Doewich
-Portable monolithic executable, without external file dependencies (System ROMs, skins, etc)
-Static link to Raspberry PI hardware scaler SDL library
-Autoconfiguration when called from launchers and frontends (6128 default, 464 for tapes) with partial support for autorun commands for tape and disk
-2 joystick support, and up to the unofficial Fire 3, redefinable as key for many games
-Option menus and CPC virtual keyboard. Full use of the CPC from your joystick!!!
-Supports DSK, CDT and SNA from menu and command line. Great for frontends and launchers
To do:
-Finish DSK autorun commands. For now only |CPM. Autorun for CDT complete with x5 loading
-Optimize virtual keyboard. Stops 20% the emulation. (Cause found)
-Testing under RPI 1
-Better menus handling
_____________________________________________________________________________________________________
Options
Main Emulation
===================
F1: (X11 only) Full Screen (No hardware scaler), OK for RPI2 composite out
F3: Reset
F4: Start/Stop tape motor
F5: Start loading tape with RUN" or |TAPE:RUN" depending model
F6: Volume --
F7: Volume ++
F8: Options menu
F9: Virtual keyboard (+CTRL Change position up/down)
F10: Quit
F12: show FPS / INFO (+CTRL Change realtime or "as fast as it can"
Joystick:
Fire 4: Options menu
Fire 5: Virtual Keyboard
Fire 6: Show FPS / INFO
Options Menu
============
Icons:
Disk: Disk menu
Tape: Tape menu
Chip: Snapshots menu
Gear: Configuration menu
Red button: Quit
Select with cursors + Enter o Joystick + Fire 1
F8 or Fire 4 Return to emulation.
Submenus
--------
Up/down (cursors/joystick) navigate options
Right (cursors/joystick), Enter or Fire 1 select option
Left (cursors/joystick), ESC or Fire 4 returns to emulation or the submenu before.
File selectors
--------------
Up/down (cursors/joystick) navigate files/folders
Right (cursors/joystick), Enter o Fire 1 select file or open subfolder
Left (cursors/joystick), Fire 2 return to the above folder
ESC o Fire 4 returns to emulation or the submenu before.
Virtual keyboard
================
From keyboard: (Helpfull if some emulated key can't be pressed!!)
Cursors: Move key cursor
CTRL: Simulate CTRL key
Shift: Simulate SHIFT key
Espace: Press selected key
F9: Exit virtual keyboard (+CTRL change position up/down)
From Joystick
Directions: Move key cursor
Fire 3: Simulate CTRL key
Fire 2: Simulate SHIFT key
Fire 1: Press selected key
Fire 5: Exit virtual keyboard
Fire 4: Change position up/down
_____________________________________________________________________________________________________
does this work on the original pi too? Albeit with performance hit maybe.
IRC:  #Retro4All on Freenode

KaosOverride

I have to look at the hardware scaled SDL if needs to be a different version. Test have to be done. (Take a look at the "To Do" section). Last time I took a look to the scaled SDL there where 2 versions, for Pi1 and Pi2, and where trying to merge in one. Not sure if the retropie script has updated to the new unified versio. (Yes, I'm a disaster with this things). I have to make a version control of my libs!!

Just copy the executable to your PI 1 and launch :)
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Gryzor

Ahhh great, some use for my RPi2!!! :)

KaosOverride

If you want some CPC Plus power at your RPI2, Arnold also compiles OK, works fine, realtime, under RPI2 X11, but the code "as is" has some issues with X11 keystrokes and you cannot quit the emulator  :P :P :P :P

A kill command from console saves the day, but...

If you want I can upload to the Mega folder the arnold folder as is now, cleaning .o files, just source, the patched makefile and the RPI2 exe :)
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

KaosOverride

Ok, I'm sure I have to rework the GUI from 16 bit color to 8 bit. That makes the keyboard drop the emulation because I have to reescale 2x the keyboard skin at init time and because of SDL rotozoom the skin gets to 24 or 32 bit color. That's a huge array to blit. 8bit SDL surfaces remain 8 bit...

I use rotozoom also with the menus but the emulation is paused so no problem. I make the 2x zoom with the idea to recover the 320x200 screen mode for RPI1. So I don't have to redesign the GUI for both modes.

In the future I want to detect if you are using the RPI1 or 2 and select low or high resolution. And the F1 key to rotate the 2 modes (Lo,  Hi) and windowed/fullscreen under X11 (So they are 4 modes actually)

But first the keyboard. Is a shame that it drops the emulation...
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

KaosOverride

 8) 8) 8) 8) 8)

Small fix to finish the WIP1. Make sure that you download the WIP1a KEYBOARDFIX from the  WIP1 folder. :)
Now emulation is perfect with the displayed virtual keyboard. With CONTROL + F12 emulation reaches 310% and displaying the keyboard falls to 280%, I think it's more than enough !!
The "rotozoom" converts the 16bit surface to 32 bit, so big pixel array... But because keyboard bitmap loading it's done just one only time, I have add one step more to convert it to 16 bits again.  :P
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

KaosOverride

OMG, the SDL lib I had attached to the executable gives some ilegal operation at the RPI1. I have compiled a new SDL with DISPMANX and X11 support that works at RPI1 and RPI2  8)

But it has a Vsync option enabled, so at the RPI2 we have 50FPS 100% speed accurate, when I disable the realtime emulation, it syncs to 60FPS 120% speed  :'(

Now I can make an only executable for RPI1 and RPI2, and with a code which senses the board and I can enable downgrade options for RPI1 (320x200, etc). 8Bpp mode gives me a black screen for the emulation so this is the way, recover the low resolution modes for RPI1  ???

So I have lot of things to do with this.... Coding time! 8)
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

CraigsBar

Many thanks. I really look forward to a decent pi CPC.
IRC:  #Retro4All on Freenode

KaosOverride

I'm new to github but I will try my best...

KaosOverride/CapriceRPI · GitHub

I will continue with the executables at MEGA, but source will be managed online.

There is a master and a WIP1 branch. I will update the master and do branches for each new WIP or version :D

As I said, I'm new with all this github and online repositories, so be patient!!!
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

PHabermehl

#20
Hello Kaosoverride,

First of all, I'll have to say "Thank you" for your efforts - I used to own a CPC464 back in the 80s and I loved it (well, until I got an Amiga2000 back in 1988...)
Now I'm very happy to be able to show my kids what computers were like when I was young, and of course also to be able to play my favourite games again.


I downloaded the exec of CapriceRPI2 from mega, and it's all fine on my (daughter's) RPI2 - only thing is, if i try to use dispmanx (doing that export.... thing before starting caprice), I get

pi@raspberrypi ~/CPC $ ./capriceRPI2
======================
CapriceRPI2 WIP Start:
======================
  V0.1 (CaPriCe32 v4.1.0) WIP
  KaosOverride - 2015
  W.I.P 1 for RPI!
...
0 joysticks were found.

video_init() failed. Aborting.


Any idea from your side what to do to get H/W scaling and a "full screen CPC experience"? Btw, I'm running the RPI2 on 1024x768, is this maybe an issue?

Many thanks in advance and kind regards,
Peter

KaosOverride

#21
Are you runing it at the console or under X?

For full screen must be run at the console.

This is strange because I tried it also with composite out.

If it's under X please make shure it's at 16bit colour mode. It's fixed for that bpp.

The WIP 1 also is compiled with an old DISPMANX SDL version. There is one much better and newer that I'm now using. I have WIP 2 almost ready but I want to make some cleaning at the menus. Maybe I can close WIP 2 as it is now at github plus some extended error message at the video init tomorrow night.
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

PHabermehl

Oh, well, I opened a console under X... I'm quite sure it's not a 16bit colour mode.

Unfortunately I'm away from home until Thursday evening, so I can't test before then.

Thank you for your fast and kind reply, I'll report back!

Peter

KaosOverride

I'm very sorry but there is a problem with my devel RPI2. When I exit from capriceRPI it halts the machine at the text console (but I can ssh into the RPI2 and make a reboot). 2 days ago didn' happend...

Now I have to check what I have mess... :(

Murphy, why!!!
KaosOverride · GitHub
MEGA Amstrad Public Amstrad folder

Beaps

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

Powered by SMFPacks Menu Editor Mod