Registrarse
Home
Foros
Miembros
Calendario
Normas
Ayuda

Foros de usuarios de openSUSE
Retroceder   ForoSUSE > Zona Software > Software


Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook

Respuesta
 
Herramientas Desplegado

Compilar emulador CPC
  #1  
Antiguo 16-ene-2008, 18:11
Pablinux
Invitado
 
Mensajes: n/a
Compilar emulador CPC

Una de las cosas que más me hacen falta en linux es un emulador del amstrad CPC. Pues poseo uno original instalado en la mesa de al lado y con el emulador testeo cosas y creo discos para arranque del real. He visto varios, y con wine puedo emular mas o menos bien el WinCPC. Pero habiendo nativos, preferiria compilarme uno. Como dice todo el mundo compilar es supersencillo , ya pero eso si no tienes problemas y sabes. Me he leido unas cuantas paginas generales sobre como compilar aplicaciones y parece bien sencillo, solo tres pasos teniendo las librerias necesarias instaladas: ./configure , make y make install.

Pero en mi caso tengo instrucciones especificas para compilar:
Código:
This is a beta version of a AMSTRAD CPC emulator for X11. I build 
it with S.u.S.E. Linux.

 IMPORTANT
     If you have installed an earlier version of cpc4x than 0.20, please 
     rename the "cpc" directory in your (or every users) home directory
     to "cpc_old" first.

     Only after this, the emulator will be installed correctly while its first
     start! Later you must copy your "dsk" files from the "cpc_old/disc" to the
     "cpc/disc" directory.


You can compile this emulator as system administrator and makes so the 
emulator useable for all users on the machine where you install it. In 
that case you need root access.

If you do not have root access, you must compile the emulator in single user
mode.

_______________________________________________________________________________

Sytemadministrator installation:
--------------------------------
1. Login as root and extract the cpc4x_***.tgz file in a directory of your 
   choise, e.g. /usr/src/SOURCE. Use the following shell command for extract

      tar -xvzf cpc4x.tgz

   A subdirectory "cpc" will be created automaticaly. After extracting change
   with "cd cpc" into the new directory.

2. If you use an Intel based operating system (386 or higer) goto step 5

3. Now you must find out what kind of microprocessor you use. Is it a high 
   endian (INTEL 386 or higher) or a low endian (?) type. To find it out, 
   translate the file "processor.c" with the following command:

   cc -o processor src/processor.c

   Start the test program now by typing "./processor". The test program should
   show, if you use a high endian or a low endian processor.

4. Edit the "Makefile.admin" file and choice the right processor type 
   in the first lines.  Set the variable PROCESSOR to -DLSB_FIRST if
   you use a low endian processor or to -DMSB_FIRST if you use a high endian one.

5. Set in the Makefile.admin the installation directory where the emulator binary
   file will be copied to after "make -f Makefile.admin install" command. 

   INSTALLDIR = /usr/lib/cpc

   As next set the user working directory, which will be created in every 
   users home directory, if the user starts the emulator the first time.
   
   USERSUBDIR = cpc

   Set the BINDIR variable to a directory which is included by the PATH 
   variable. The Makefile will create a script file there which starts
   the emulator by typing "cpc". Example:

   BINDIR = /usr/X11/bin

6. Type 

     make -f Makefile.admin config
     make -f Makefile.admin 
     make -f Makefile.admin install
     make -f Makefile.admin clean
   

Now the emulator should be installed in the directory structure as been 
describe in the doc/DirectoryStructure.txt file.

Every user can start the emulator by typing the command "cpc"

_______________________________________________________________________________


Single user installation for no root access:
--------------------------------------------
1. To install this emulator as single user login on your system 

2. Copy the cpc4x_***.tgz file to your home directory and extract it with the
   shell command:
  
      tar -xvzf cpc4x.tgz

   A subdirectory "cpc" will be created automaticaly. After extracting change
   with "cd cpc" into the new directory.

3. If you use an Intel based operating system (386 or higer) goto step 6

4. Now you must find out what kind of microprocessor you use. Is it a high 
   endian (INTEL 386 or higher) or a low endian (?) type. To find it out, 
   translate the file "processor.c" with the following command:

   cc -o processor src/processor.c

   Start the test program now by typing "processor". The test program should
   show, if you use a high endian or a low endian processor.

5. Edit the "Makefile.user" and choice the right processor type in the first 
   lines. Set the variable PROCESSOR to -DLSB_FIRST if you use a low endian 
   processor or to -DMSB_FIRST if you use a high endian one.

6. Set in "Makefile.user" the variables INSTALLDIR = $(HOME)/cpc, 
   the USERSUBDIR = /cpc and the BINDIR = $(HOME)/bin

7. If not exists, create a "bin" directory in your home directory with

   mkdir $HOME/bin

8. Type 

     make -f Makefile.user config
     make -f Makefile.user 
     make -f Makefile.user install

     To clean up type   rm -r src/*.o     
     Do not(!) use      make -f Makefile.user clean!!!

Now you can start the CPC emulator by typing "cpc". 

_______________________________________________________________________________

The emulator do not work perfect now, but you can use it to run your old 
CPC basic programs. I work hard on the emulator but I need time for it.
If you want to help me, pleas contact me.


Keys:
-----

F1  - Info and help dialog
F3  - insert a disk image as A:
F4  - insert a disk image as B:
F7  - shows a setup dialog
F8  - resets the emulation
F12 - exit the emulation


Author:
-------

Ulrich Cordes
Vor der Dorneiche 1
34317 HABICHTSWALD

GERMANY


email:  ulrich.cordes@gmx.de
WWW:    http://www.amstrad-cpc.de   (my CPC homepage in english language)
        http://www.schneider-cpc.de (my CPC homepage in german language )



EOF          (c) 1999, 2000, Ulrich Cordes
Sigo los pasos y configuro los archivos Makefile y tanto como admin o como user obtengo errores varios.

ERROR AL EJECUTAR make -f Makefile.user
Código:
src/cpc.c:21:22: error: X11/Xlib.h: No existe el fichero o el directorio
src/cpc.c:22:23: error: X11/Xutil.h: No existe el fichero o el directorio
src/cpc.c:47: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’
 token
src/cpc.c:48: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘my
window’
src/cpc.c:49: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘my
windowattributes’
src/cpc.c:50: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘my
gc’
src/cpc.c:52: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘my
event’
src/cpc.c:53: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘my
key’
src/cpc.c:54: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘my
hint’
src/cpc.c:61: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘*’
 token
src/cpc.c:62: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Bo
rderRectangles’
src/cpc.c:63: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘Di
scDrives’
src/cpc.c: In function ‘InitCPC’:
src/cpc.c:200: warning: incompatible implicit declaration of built-in function ‘
strlen’
src/cpc.c: In function ‘LoopZ80’:
src/cpc.c:270: error: ‘mydisplay’ undeclared (first use in this function)
src/cpc.c:270: error: (Each undeclared identifier is reported only once
src/cpc.c:270: error: for each function it appears in.)
src/cpc.c:270: error: ‘QueuedAfterReading’ undeclared (first use in this functio
n)
src/cpc.c:271: error: ‘myevent’ undeclared (first use in this function)
src/cpc.c:274: error: ‘Expose’ undeclared (first use in this function)
src/cpc.c:276: error: ‘mywindow’ undeclared (first use in this function)
src/cpc.c:276: error: ‘mygc’ undeclared (first use in this function)
src/cpc.c:276: error: ‘myimage’ undeclared (first use in this function)
src/cpc.c:285: error: ‘BorderRectangles’ undeclared (first use in this function)
src/cpc.c:289: error: ‘EnterNotify’ undeclared (first use in this function)
src/cpc.c:290: error: ‘XCrossingEvent’ undeclared (first use in this function)
src/cpc.c:290: error: expected expression before ‘)’ token
src/cpc.c:290: error: ‘NotifyInferior’ undeclared (first use in this function)
src/cpc.c:294: error: ‘LeaveNotify’ undeclared (first use in this function)
src/cpc.c:295: error: expected expression before ‘)’ token
src/cpc.c:299: error: ‘DestroyNotify’ undeclared (first use in this function)
src/cpc.c:305: error: ‘ConfigureNotify’ undeclared (first use in this function)
src/cpc.c:309: error: ‘MappingNotify’ undeclared (first use in this function)
src/cpc.c:311: error: ‘FocusIn’ undeclared (first use in this function)
src/cpc.c:316: error: ‘FocusOut’ undeclared (first use in this function)
src/cpc.c:320: error: ‘ButtonPress’ undeclared (first use in this function)
src/cpc.c:323: error: ‘KeyPress’ undeclared (first use in this function)
src/cpc.c:324: error: ‘mykey’ undeclared (first use in this function)
src/cpc.c:329: error: ‘KeyRelease’ undeclared (first use in this function)
src/cpc.c: In function ‘main’:
src/cpc.c:541: error: ‘mydisplay’ undeclared (first use in this function)
src/cpc.c:544: error: ‘myhint’ undeclared (first use in this function)
src/cpc.c:548: error: ‘PPosition’ undeclared (first use in this function)
src/cpc.c:548: error: ‘PSize’ undeclared (first use in this function)
src/cpc.c:555: error: ‘ZPixmap’ undeclared (first use in this function)
src/cpc.c:560: error: ‘myimage’ undeclared (first use in this function)
src/cpc.c:568: error: ‘BorderRectangles’ undeclared (first use in this function)
src/cpc.c:593: error: ‘mywindow’ undeclared (first use in this function)
src/cpc.c:598: error: ‘None’ undeclared (first use in this function)
src/cpc.c:600: error: ‘mygc’ undeclared (first use in this function)
src/cpc.c:606: error: ‘KeyPressMask’ undeclared (first use in this function)
src/cpc.c:607: error: ‘KeyReleaseMask’ undeclared (first use in this function)
src/cpc.c:608: error: ‘ExposureMask’ undeclared (first use in this function)
src/cpc.c:609: error: ‘FocusChangeMask’ undeclared (first use in this function)
src/cpc.c:610: error: ‘EnterWindowMask’ undeclared (first use in this function)
src/cpc.c:611: error: ‘LeaveWindowMask’ undeclared (first use in this function)
src/cpc.c:616: error: ‘mywindowattributes’ undeclared (first use in this functio                     n)
make: *** [src/cpc.o] Error 1
Viendo esto veo que los primeros errores son a falta de unas librerias de video X11, pero no entiendo que me falta y a donde teoricamente apunta esa ruta.

El programa en question se puede bajar desde aqui:
http://ulrich-cordes.gmxhome.de/cpc/english/cpcemu.htm

Gracias por vuestra ayuda técnica. Saludos
Responder Citando
  #2  
Antiguo 16-ene-2008, 18:35
Avatar de DiabloRojo
DiabloRojo DiabloRojo está desconectado
Super Moderador
 
Fecha de Ingreso: 19-marzo-2005
Ubicación: En un lugar del planeta Tierra
Versión: La ultima estable
Mensajes: 16.481
Agradecimientos: 563
Agradecido 2.416 Veces en 1.627 Mensajes
Poder de Credibilidad: 10
DiabloRojo llegará a ser famoso muy pronto
Te falta el paquete xorg-x11-devel
__________________
NORMAS A CUMPLIR EN LOS FOROS (Lectura obligatoria) Lo siento, no contesto privados sobre problemas con GNU/Linux.
Síguenos en TWITTER y en FACEBOOK
Código:
Buscador de   Alojamiento      Alojamiento     Otros
 paquetes:    de imágenes:     de ficheros:    buscadores:
Search        TinyPic          Ifile Wuala     Simple y Facil
Webpinstant   Paste Suse       SendSpace       TextSnip  Cl1p
Responder Citando
  #3  
Antiguo 16-ene-2008, 22:00
Pablinux
Invitado
 
Mensajes: n/a
Correcto, son las librerias Xorg-X11-devel lo que hacen falta para compilar el emulador. Sin embargo ahora me saltan unos warnings que no estoy seguro de si tienen importáncia.

Código:
gcc -O2 -DLSB_FIRST -I./src -I./src/Z80 -DCPCSOUND -DDEBUG -DCPCLOCAL   -c -o sr
c/cpc.o src/cpc.c
src/cpc.c: In function ‘InitCPC’:
src/cpc.c:200: warning: incompatible implicit declaration of built-in function ‘
strlen’
gcc -O2 -DLSB_FIRST -I./src -I./src/Z80 -DCPCSOUND -DDEBUG -DCPCLOCAL   -c -o sr
c/mem.o src/mem.c
src/mem.c: In function ‘InitMem’:
src/mem.c:56: warning: incompatible implicit declaration of built-in function ‘m
alloc’
src/mem.c:66: warning: incompatible implicit declaration of built-in function ‘s
trlen’
gcc -O2 -DLSB_FIRST -I./src -I./src/Z80 -DCPCSOUND -DDEBUG -DCPCLOCAL   -c -o sr                              c/io.o src/io.c
gcc -O2 -DLSB_FIRST -I./src -I./src/Z80 -DCPCSOUND -DDEBUG -DCPCLOCAL   -c -o sr                              c/screen.o src/screen.c
gcc -O2 -DLSB_FIRST -I./src -I./src/Z80 -DCPCSOUND -DDEBUG -DCPCLOCAL   -c -o sr                              c/screenpos.o src/screenpos.c
gcc -O2 -DLSB_FIRST -I./src -I./src/Z80 -DCPCSOUND -DDEBUG -DCPCLOCAL   -c -o sr                              c/colors.o src/colors.c
gcc -O2 -DLSB_FIRST -I./src -I./src/Z80 -DCPCSOUND -DDEBUG -DCPCLOCAL   -c -o sr                              c/timer.o src/timer.c
gcc -O2 -DLSB_FIRST -I./src -I./src/Z80 -DCPCSOUND -DDEBUG -DCPCLOCAL   -c -o sr                              c/keyboard.o src/keyboard.c
gcc -O2 -DLSB_FIRST -I./src -I./src/Z80 -DCPCSOUND -DDEBUG -DCPCLOCAL   -c -o sr                              c/disc.o src/disc.c
gcc -O2 -DLSB_FIRST -I./src -I./src/Z80 -DCPCSOUND -DDEBUG -DCPCLOCAL   -c -o sr                              c/dialogs.o src/dialogs.c
gcc -O2 -DLSB_FIRST -I./src -I./src/Z80 -DCPCSOUND -DDEBUG -DCPCLOCAL   -c -o sr                              c/printer.o src/printer.c
gcc -O2 -DLSB_FIRST -I./src -I./src/Z80 -DCPCSOUND -DDEBUG -DCPCLOCAL   -c -o sr                              c/aysound.o src/aysound.c
gcc -O2 -DLSB_FIRST -I./src -I./src/Z80 -DCPCSOUND -DDEBUG -DCPCLOCAL   -c -o sr                              c/Z80/Z80.o src/Z80/Z80.c
gcc -O2 -DLSB_FIRST -I./src -I./src/Z80 -DCPCSOUND -DDEBUG -DCPCLOCAL   -c -o src/Z80/Debug.o src/Z80/Debug.c
src/Z80/Debug.c:448:19: warning: no newline at end of file
gcc -o cpc4x.bin src/cpc.o src/mem.o src/io.o src/screen.o src/screenpos.o src/colors.o src/timer.o src/keyboard.o src/disc.o src/dialogs.o src/printer.o src/aysound.o src/Z80/Z80.o src/Z80/Debug.o -L /usr/lib/ -lX11 -lm
El caso es que me crea un binario ejecutable, pero aunque esta marcado por defecto con permisos de ejecución. Lo ejecuto y no pasa nada. Ejecuto el binario desde consola y me da lo siguiente:

Código:
$ cpc4x
bash: cpc4x: command not found
Tampoco me funciona ejecutar CPC como dice en las instrucciones:
Código:
Now you can start the CPC emulator by typing "cpc".
Cuando dice command not found, no se si se refiere a que se tiene que arrancar con algun tipo de parametros, en todo caso en las instrucciones no dice nada ni tampoco he encontrado algun tipo de archivo de acceso directo que lo abra con parametros. Saludos y gracias
Responder Citando
  #4  
Antiguo 16-ene-2008, 22:45
Avatar de darkskimmer
darkskimmer darkskimmer está desconectado
Miembro FOROSuSE
 
Fecha de Ingreso: 07-julio-2006
Ubicación: Málaga...por poco tiempo!!
Versión: 11.1
Mensajes: 2.151
Agradecimientos: 0
Agradecido 5 Veces en 5 Mensajes
Poder de Credibilidad: 14
darkskimmer está en el buen camino
¿Al ejecutar cpc4x estás en la ubicación del ejectuable?

Si el ejecutable es un binario prueba con
Código:
sh cpc4x.bin
ó
Código:
./pcp4x.bin

Saludos~
__________________

How-to VirtualBox <~ Guía sobre VirtualBox
Responder Citando
  #5  
Antiguo 16-ene-2008, 23:20
Pablinux
Invitado
 
Mensajes: n/a
Pues si, con ./cpc4x.bin es la unica forma de arrancarlo. Ahora me suelta otra cosa, pero probablemente sea pq esta mal hecho el script para compilarlo, pues configure un parametro de ruta de instalación INSTALLDIR y paso de mi olimpicamente, me lo compilo en la misma carpeta del codigo fuente y me creo las carpetas de roms en otra ruta que no era la de instalacion (root/cpc).

Copiando los archivos a la ruta root/cpc y el binario he conseguido que me arranque con doble clic. Una pantalla previa de visualización que tiene un boton para abrirme el emulador, cuando le doy no hace nada

Ahora si lo ejecuto desde terminal no tengo ningun mensaje ni problema aparente. Pero el botón de lanzar el emulador desde ese formulario no hace nada.

Con lo contento que estaba yo de haber encontrado un emulador para CPC y encima el programador dice que lo ha programado con SUSE.
Responder Citando
  #6  
Antiguo 16-ene-2008, 23:36
Avatar de darkskimmer
darkskimmer darkskimmer está desconectado
Miembro FOROSuSE
 
Fecha de Ingreso: 07-julio-2006
Ubicación: Málaga...por poco tiempo!!
Versión: 11.1
Mensajes: 2.151
Agradecimientos: 0
Agradecido 5 Veces en 5 Mensajes
Poder de Credibilidad: 14
darkskimmer está en el buen camino
Mira los que hay para installar con 1-click Buscando cpc salen dos o tres!

¿No hay "readme" o algo en el fichero de cpc4x?
__________________

How-to VirtualBox <~ Guía sobre VirtualBox

Última edición por darkskimmer; 16-ene-2008 a las 23:38
Responder Citando
Respuesta

Marcadores


(0 miembros y 1 visitantes)
 
Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder mensajes
No puedes subir archivos adjuntos
No puedes editar tus mensajes

Los Códigos BB están Activado
Las Caritas están Activado
[IMG] está Activado
El Código HTML está Desactivado

Ir al Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Compilar TCL/TK con soporte antialiasing (xft) para SUSE 10.3 gabop Software 3 28-may-2009 17:46
Problema al intentar compilar tar.bz2 tar.gz nadie2k Software 4 03-ago-2007 05:52
que necesito tener instalado antes de compilar el kernel head777 General OpenSUSE 5 06-jul-2007 15:34
Error al compilar (estas cosas me desesperan de SUSE) gerlar86 Software 7 17-abr-2007 08:32
cómo compilar módulos extra cocotero Hardware 0 13-feb-2006 17:31



Síguenos en Twitter Suscríbete a nuestras noticias Acompáñanos en Facebook


La franja horaria es GMT +2. Ahora son las 20:38.
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.

Esta página está bajo una licencia de Creative Commons, salvo que no se indique lo contrario.
Creative Commons License

Valid CSS!

Diseño por:Designed by: vbdesigns.devbdesigns.de 
Contáctenos - ForoSUSE - Archivo - Declaración de Privacidad - Arriba