intentando compilar CPC4Ppi en la Rasberry Pi 2

Programando el Amstrad en Ensamblador.
Reglas del Foro
Debido a que hay varios temas pidiendo ayuda para programar en ensamblador máquinas distintas al Amstrad CPC, con micro distinto al Z80 y que incluso dependen del sistema operativo, nos vemos en la necesidad de poner por escrito que estos posts son bienvenidos pero que no es el lugar adecuado ya que por estos lares nos dedicamos más al ensamblador del Z80, un microprocesador de 8 bits que tuvo su gran auge en ordenadores y consolas de los años 80.

De todas formas, esto no quita que alguien que sepa del asunto pueda postear alguna respuesta pero es más fácil encontrar foros dedicados a programar en ensamblador en Windows o MS-DOS que ayudarán más que nosotros:
http://www.lawebdelprogramador.com/news ... nsamblador
Avatar de Usuario
cpcbegin
Forero habitual
Forero habitual
Mensajes: 223
Registrado: Vie 25 Jun , 2010 7:49 pm
Ubicación: Málaga
Contactar:

intentando compilar CPC4Ppi en la Rasberry Pi 2

Mensajepor cpcbegin » Jue 05 Mar , 2015 6:57 am

Me he descargado el código fuente de su página y he intentado compilar con las siguientes instrucciones:

Código: Seleccionar todo

tar -zxvf cpc4rpi-1.1_src.tar.gz
sudo apt-get install libsdl1.2-dev build-essential
make


pero lo que obtengo es el error:

Código: Seleccionar todo

g++ -Wall -Wstrict-prototypes `sdl-config --cflags` -mcpu=arm1176jzf-s -march=armv6zk -O2 -funroll-loops -ffast-math -fomit-frame-pointer -fno-strength-reduce -finline-functions -s  -o cpc4rpi cpc4rpi.cpp crtc.o fdc.o psg.o tape.o z80.o /root/Raspbian/Libs/libSDL.a /root/Raspbian/Libs/libnofun.a -L/usr/lib/arm-linux-gnueabihf -lz -lts -L/opt/vc/lib -lGLESv2 -lEGL
g++: error: /root/Raspbian/Libs/libSDL.a: Permiso denegado
g++: error: /root/Raspbian/Libs/libnofun.a: Permiso denegado
makefile:12: recipe for target 'cpc4rpi' failed
make: *** [cpc4rpi] Error 1

pacomix
Forum Addict
Forum Addict
Mensajes: 381
Registrado: Dom 11 Nov , 2012 8:05 pm

Re: intentando compilar CPC4Ppi en la Rasberry Pi 2

Mensajepor pacomix » Jue 05 Mar , 2015 8:50 am

Parece que no tienes acceso a /root/Raspbian/Libs/libSDL.a y /root/Raspbian/Libs/libnofun.a con tu usuario.
Prueba a hacerlo con sudo o compila teniendo acceso root.

KaosOverride
Keeper of The Forum
Keeper of The Forum
Mensajes: 696
Registrado: Vie 27 Feb , 2009 12:21 pm

Re: intentando compilar CPC4Ppi en la Rasberry Pi 2

Mensajepor KaosOverride » Jue 05 Mar , 2015 1:23 pm

Ostras, desde linea de comandos se le mee el DSK? no tiene ninguna otra opcion?
Aunque para el RetroPie no creo que necesite mucho mas, al core del Caprice dudo que le metan cambios......

Pero por afinarlo un poco me esta tentando el coger el viejo codigo fuente de mi CapriceGP2x y meterle los menues que le hice xD Asi poder soportar el cambio de DSK para juegos de varias caras, el teclado virtual por si solo usas Joysticks y poder teclear aunque sea el cero para "empezar" la partida, el teclear |tape:run" si le metes un .cdt... Oh no, mas trabajo xD
--------
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]

Avatar de Usuario
cpcbegin
Forero habitual
Forero habitual
Mensajes: 223
Registrado: Vie 25 Jun , 2010 7:49 pm
Ubicación: Málaga
Contactar:

Re: intentando compilar CPC4Ppi en la Rasberry Pi 2

Mensajepor cpcbegin » Jue 05 Mar , 2015 2:49 pm

pacomix escribió:Parece que no tienes acceso a /root/Raspbian/Libs/libSDL.a y /root/Raspbian/Libs/libnofun.a con tu usuario.
Prueba a hacerlo con sudo o compila teniendo acceso root.


Lo raro es que con

Código: Seleccionar todo

sudo make
sale el mismo error :shock:

Pienso que tiene que ser que me falta alguna librería además de libsdl1.2-dev y build-essential que ya había instalado, lo he puesto por aquí por si alguien tenía experiencia compilando este emulador de Amstrad CPC.
Última edición por cpcbegin el Jue 05 Mar , 2015 2:53 pm, editado 2 veces en total.

Avatar de Usuario
robcfg
Keeper of The Forum
Keeper of The Forum
Mensajes: 787
Registrado: Jue 03 Abr , 2008 5:32 pm
Ubicación: Madrid

Re: intentando compilar CPC4Ppi en la Rasberry Pi 2

Mensajepor robcfg » Jue 05 Mar , 2015 2:51 pm

Puede ser que no las tenga instaladas?

KaosOverride
Keeper of The Forum
Keeper of The Forum
Mensajes: 696
Registrado: Vie 27 Feb , 2009 12:21 pm

Re: intentando compilar CPC4Ppi en la Rasberry Pi 2

Mensajepor KaosOverride » Jue 05 Mar , 2015 3:02 pm

OJO! Aunque tengas las libs-dev de SDL instaladas en la Pi, estaran en /usr/lib o donde toque.

/root/Raspbian/Libs/libSDL.a hace referencia a la carpeta Raspbian/Libs en la carpeta del usuario /root. Son librerias "locales" y no del sistema

Toca editar el Makefile y hacer que apunte a la ubicacion correcta. Normalmente esto de apuntar a librerias locales se hace cuando haces crosscompiling, como cuando yo compilaba el Caprice de GP2x en Win o Linux, tenia que usar las del SDK con diferente ruta.

Si estas compilando en la misma PI, no deberias tener problema en quitar esa ruta local y que tire de los includes y libs-dev del sistema...

Mañana a la tarde me llega mi PI 2, que ganas de meterme con este emu :)

EDIT: Por cierto, en este foro http://www.raspberrypi.org/forums/viewt ... 78&t=63820 esta el hermano de Mr Cliff Lawson!!
--------
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]

KaosOverride
Keeper of The Forum
Keeper of The Forum
Mensajes: 696
Registrado: Vie 27 Feb , 2009 12:21 pm

Re: intentando compilar CPC4Ppi en la Rasberry Pi 2

Mensajepor KaosOverride » Jue 05 Mar , 2015 4:36 pm

Arrea, si que esta el makefile para crosscompiling, si fuese para compilar en nativo en la pi, no haria falta indicar los flags de cpu host destino en el makefile

Prueba a ver si con este makefile retocado te lo traga para compilar en la pi:

Código: Seleccionar todo

# use "make -f makefile.unix RELEASE=TRUE" to create release executable

CC   = g++

GFLAGS   = -Wall -Wstrict-prototypes `sdl-config --cflags`

CFLAGS   = $(GFLAGS) -O2 -funroll-loops -ffast-math -fomit-frame-pointer -fno-strength-reduce -finline-functions -s

LIBS =  -lz  -lSDL -lGLESv2 -lEGL

cpc4rpi: cpc4rpi.cpp crtc.o fdc.o psg.o tape.o z80.o cap32.h z80.h
   $(CC) $(CFLAGS) $(IPATHS) -o cpc4rpi cpc4rpi.cpp crtc.o fdc.o psg.o tape.o z80.o  $(LIBS)

crtc.o: crtc.c draw_8bpp.c draw_16bpp.c draw_24bpp.c draw_32bpp.c cap32.h crtc.h z80.h
   $(CC) $(CFLAGS) -c crtc.c

fdc.o: fdc.c cap32.h z80.h
   $(CC) $(CFLAGS) -c fdc.c

psg.o: psg.c cap32.h z80.h
   $(CC) $(CFLAGS) -c psg.c

tape.o: tape.c cap32.h tape.h z80.h
   $(CC) $(CFLAGS) -c tape.c

z80.o: z80.c z80.h cap32.h
   $(CC) $(CFLAGS) -c z80.c

clean:
   rm *.o cpc4rpi


A mi me lo ha compilado asi en el netbook, con una live linux con su gcc, SDL-dev y todo jejejeje, pero en x86. En la pi deberia compilarlo para arm tal cual.

De todas formas, no voy a usarlo para injertarle los menues de mi CapriceGP2x, no me merece la pena el esfuerzo. Es el Caprice tal cual, no hay dependencia sobre el hardware de la PI, lo que pone de que usa escalado de la gpu bla bla bla, lo hace el SDL de la pi por su cuenta, no porque haya cambiado codigo del Caprice original... OJO no lo digo a malas ni por desprecio a su trabajo, solo como valoracion a la hora de pegarme el curro con mi propia version de Caprice que ya tengo...

Lo que si ha hecho es suprimir el fichero CFG y usar el preconfigurarlo de dentro del codigo cuando no encuentra fichero .CFG solo que ahora no crea el CFG. Tambien ha incluido dentro del codigo las ROMs, para no tener ficheros independentes del ejecutable.

Por eso creo que en lugar de "mejorar" este Caprice32, adapto el que ya tengo mejorado yo, que tengo makefiles para WIN, LINUXx32 y ARMLinux de la GP2x, en el mismo codigo, a base de defines y los menues de GP2x tambien funcionan en WIN y LINUXx32, asi que tengo todo el curro casi hecho.
--------
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]

KaosOverride
Keeper of The Forum
Keeper of The Forum
Mensajes: 696
Registrado: Vie 27 Feb , 2009 12:21 pm

Re: intentando compilar CPC4Ppi en la Rasberry Pi 2

Mensajepor KaosOverride » Sab 07 Mar , 2015 2:37 pm

Umm, con el makefile retocado he logrado compilarlo en la RPI2. Le he quitado el flag -static de todas formas.

Lo unico, en consola al ejecutar me sale en negro, pero al borrar suena el CPC y al dar a F6 sale a consola... En Xwindows me funciona en ventana... cuando la doc dice que no...

Por lo que voy averiguando usa una version custom de SDL, y la misteriosa libnofun... A ver en los scriptd de retropie si averiguo algo...

No descarto que lo de la consola pueda ser problema de mi TV que no soporte la frecuencia que le manda la RPI2 en modo consola a fullscreen sin Xwindows
Última edición por KaosOverride el Sab 07 Mar , 2015 11:06 pm, editado 1 vez en total.
--------
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]

KaosOverride
Keeper of The Forum
Keeper of The Forum
Mensajes: 696
Registrado: Vie 27 Feb , 2009 12:21 pm

Re: intentando compilar CPC4Ppi en la Rasberry Pi 2

Mensajepor KaosOverride » Sab 07 Mar , 2015 7:54 pm

Bien, aqui se puede bajar la libSDL con soporte del dispmanx, el scaler de la GPU de la PI
http://www.raspberrypi.org/forums/viewt ... 2&p=705540
--------
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]

Avatar de Usuario
cpcbegin
Forero habitual
Forero habitual
Mensajes: 223
Registrado: Vie 25 Jun , 2010 7:49 pm
Ubicación: Málaga
Contactar:

retropie, la solución

Mensajepor cpcbegin » Sab 07 Mar , 2015 9:46 pm

Al final lo he instalado con el script de retropie que ha sido mano de santo, ya que te permite instalar y compilar muchos emuladores incluido cpc4rpi de forma muy sencilla (se guardan en /opt/retropie).

Imagen

Para que funcionen algunos hay que instalar la librería para zip

Código: Seleccionar todo

sudo apt-get install libzip2

KaosOverride
Keeper of The Forum
Keeper of The Forum
Mensajes: 696
Registrado: Vie 27 Feb , 2009 12:21 pm

Re: intentando compilar CPC4Ppi en la Rasberry Pi 2

Mensajepor KaosOverride » Sab 07 Mar , 2015 11:05 pm

Y te funciona en la consola Linux, fuera de las X?

A mi me salia en negro la pantalla hasta usar estas libs SDL. A ver si mañana las linco estaticamente y lo cuelgo para que pruebes ;)

Ademas la libsdl que he colgado en el anterior mensaje es posterior a la lincada a la version de la rpistore y arregla lo de no ir bajo X11
--------
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]

KaosOverride
Keeper of The Forum
Keeper of The Forum
Mensajes: 696
Registrado: Vie 27 Feb , 2009 12:21 pm

Re: intentando compilar CPC4Ppi en la Rasberry Pi 2

Mensajepor KaosOverride » Dom 08 Mar , 2015 12:03 am

Imagen

:mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:
Última edición por KaosOverride el Dom 08 Mar , 2015 10:12 am, editado 2 veces en total.
--------
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]

Avatar de Usuario
cpcbegin
Forero habitual
Forero habitual
Mensajes: 223
Registrado: Vie 25 Jun , 2010 7:49 pm
Ubicación: Málaga
Contactar:

Re: intentando compilar CPC4Ppi en la Rasberry Pi 2

Mensajepor cpcbegin » Dom 08 Mar , 2015 9:59 am

KaosOverride escribió:Y te funciona en la consola Linux, fuera de las X?

Me ha sorprendido la pregunta porque había asumido que necesitaba las X para funcionar, pero lo he probado sin X y ... efectivamente funciona =D>

Imagen

KaosOverride escribió:A mi me salia en negro la pantalla hasta usar estas libs SDL. A ver si mañana las linco estáticamente y lo cuelgo para que pruebes ;)

Ademas la libsdl que he colgado en el anterior mensaje es posterior a la lincada a la version de la rpistore y arregla lo de no ir bajo X11


Este script lo primero que hace es cambiar libsdl.

Por cierto, un ordenador inglés emulando a otro ordenador inglés. :P

KaosOverride
Keeper of The Forum
Keeper of The Forum
Mensajes: 696
Registrado: Vie 27 Feb , 2009 12:21 pm

Re: intentando compilar CPC4Ppi en la Rasberry Pi 2

Mensajepor KaosOverride » Dom 08 Mar , 2015 10:13 am

Si, te pega el cambiazo por las que soportan la GPU.

Voy q ver si puedo enlazar la lib solo, como estatica y voy avanzando esta semana.
--------
Carpeta publica [url=https://mega.nz/#F!W5IyhbLa!51JpgZqvyx6j__v12Pr9QA]MEGA Amstrad[/url]
Carpeta proyecto [url=https://github.com/KaosOverride]GitHub[/url]

Avatar de Usuario
cpcbegin
Forero habitual
Forero habitual
Mensajes: 223
Registrado: Vie 25 Jun , 2010 7:49 pm
Ubicación: Málaga
Contactar:

Re: intentando compilar CPC4Ppi en la Rasberry Pi 2

Mensajepor cpcbegin » Jue 12 Mar , 2015 2:54 pm

KaosOverride escribió:Imagen

:mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen: :mrgreen:


Menudos menús más guapos tiene la versión de caprice para GP2X y esos script para cargar juegos o discos de CP/M son muy útiles.


Volver a “Ensamblador”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro

La Comunidad Española
ESP Soft, juegos para tu CPC Foro de Amstrad CPC Todos los juegos para CPC en un CD El portal del CPC Web dedicada al Amstrad CPC (utilidades) Información útil para el CPC (talleres) El sitio del Amstrad CPC Mundo CPC Pree Play then any Key CPC Basic