Página 2 de 2

Re: Nuevas opciones debugger para ZEsarUX 4.1

Publicado: 20 Mar 2016, 19:31
por Haplo
El ansia me puede y he estado intentando compilarlo con MinGW ... sin éxito.
He seguido los pasos que pone en "installwindows":

Código: Seleccionar todo

ZEsarUX supports both native Windows execution (using mingw) or Cygwin.
Mingw is a minimal GNU environment system for Windows, and Cygwin is a more complete GNU system, including X-Windows.
I recommend you to use mingw. I will describe both:



-- Native Windows (with mingw)

If you have downloaded the Windows binary version, you don't need to install ZEsarUX. It can be run with the executable file:

zesarux.exe



If you are using the source code and want to compile it:


-First install mingw:

On mingw installation program, go to Basic Setup and select:

mingw-developer-toolkit

mingw32-base
mingw32-gcc
-g++

msys
-base


Download SDL 1.2 library, from https://www.libsdl.org/download-1.2.php,
and get SDL-devel-1.2.15-mingw32.tar.gz (Mingw32). 


Unzip and copy all contents to c:\mingw\sdl\

Run 
Windows Command Prompt (cmd.exe):


#set PATH to the gcc and make mingw binaries:
set PATH=%PATH%;c:\mingw\bin;c:\mingw\msys\1.0\bin

#
go to the ZEsarUX downloaded source code
cd <where it is located>

#
delete compileoptions.h (if existed)
del compileoptions.h

#
use the included compileoptions_mingw.h, renaming it:

ren compileoptions_mingw.h compileoptions.h

#
launch the compilation process, with the included Makefile_mingw
make -f Makefile_mingw clean
make -f Makefile_mingw

#
copy SDL.dll to the current directory

copy c:\mingw\sdl\bin\SDL.dll .

#
And run ZEsarUX

zesarux.exe
y no hay tu tía:

Código: Seleccionar todo

D:\Descargas\zesarux-code>make -f Makefile_mingw clean
rm -f *.o zesarux zesarux.exe smpatap sp_z80 tapabin leezx81 file_to_eprom bmp_to_prism_4_planar bmp_to_sprite install.sh
rm -fR bintargztemp/ sourcetargztemp/ ZEsarUX_win-4.1/
rm -fR macos/zesarux.app
rm -fR macos/zesarux.dmg
rm -fR macos/zesarux.dmg.gz
rm -fR macos/ZEsarUX_macos*gz
rm -f ZEsarUX_bin-*tar.gz
rm -f ZEsarUX_src-*tar.gz
rm -f ZEsarUX_win-*.zip

D:\Descargas\zesarux-code>make -f Makefile_ming
make: Makefile_ming: No such file or directory
make: *** No rule to make target `Makefile_ming'.  Stop.

Mirando el código del Makefile_mingw juraría que hay una errata y que la orden debería ser:

make -f Makefile_mingw windows

Sin embargo, cuando lo ejecuto me sale esto:

Código: Seleccionar todo

D:\Descargas\zesarux-code>make -f Makefile_mingw windows
mkdir -p ZEsarUX_win-4.1
cp -a ACKNOWLEDGEMENTS LICENSE Changelog TODO README HISTORY FEATURES INSTALL INSTALLWINDOWS ALTERNATEROMS INCLUDEDTAPES FAQ zesarux.odt mantransfev3.bin *.rom zxuno.flash divmmcesx085.mmc divmmcesx086.mmc speech_filters media snap_tests docs zesarux.exe SDL.dll ZEsarUX_win-4.1/
cp: cannot stat `zesarux.exe': No such file or directory
cp: cannot stat `SDL.dll': No such file or directory
make: *** [windows] Error 1
¿Dónde está el error?

Re: Nuevas opciones debugger para ZEsarUX 4.1

Publicado: 20 Mar 2016, 20:25
por chernandezba
Hola

En la documentación está bien... Vale seguro que lo puedo hacer más descriptivo pero está bien, hay que lanzar :

make -f Makefile_mingw clean
make -f Makefile_mingw

Fíjate que tú en cambio has ejecutado

make -f Makefile_ming

Sin la w final :silbando: :silbando:

Re: Nuevas opciones debugger para ZEsarUX 4.1

Publicado: 20 Mar 2016, 20:38
por Haplo
ostia, ostiaaa :tepego:

pues sí, me faltaba la w

Bien, ahora salen "más cositas", warnings por todos lados y ya sí que me hago caquita...

Código: Seleccionar todo

D:\Descargas\zesarux-code>make -f Makefile_mingw clean
rm -f *.o zesarux zesarux.exe smpatap sp_z80 tapabin leezx81 file_to_eprom bmp_to_prism_4_planar bmp_to_sprite install.sh
rm -fR bintargztemp/ sourcetargztemp/ ZEsarUX_win-4.1/
rm -fR macos/zesarux.app
rm -fR macos/zesarux.dmg
rm -fR macos/zesarux.dmg.gz
rm -fR macos/ZEsarUX_macos*gz
rm -f ZEsarUX_bin-*tar.gz
rm -f ZEsarUX_src-*tar.gz
rm -f ZEsarUX_win-*.zip

D:\Descargas\zesarux-code>make -f Makefile_mingw
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c charset.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c scrsimpletext.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c scrsdl.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c audiosdl.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c common_sdl.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c autoselectoptions.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c chardetect.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c textspeech.c
textspeech.c: In function 'textspeech_empty_speech_fifo':
textspeech.c:240:6: warning: unused variable 'resultado' [-Wunused-variable]
  int resultado=spawnl(modo, parametro_programa, parametro_programa, NULL);
      ^
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c scrnull.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c audionull.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c ay38912.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c cpu.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c codsinpr.c
codsinpr.c: In function 'instruccion_39':
codsinpr.c:463:40: warning: comparison is always true due to limited range of data type [-Wtype-limits]
  if ((Z80_FLAGS & FLAG_C)==0 && (high_a>=0x0 && high_a<=0x9) && (Z80_FLAGS & FLAG_H)==0 && (low_a>=0x0 && low_a<=0x9)) diff=0x00;
                                        ^
codsinpr.c:463:98: warning: comparison is always true due to limited range of data type [-Wtype-limits]
  if ((Z80_FLAGS & FLAG_C)==0 && (high_a>=0x0 && high_a<=0x9) && (Z80_FLAGS & FLAG_H)==0 && (low_a>=0x0 && low_a<=0x9)) diff=0x00;
                                                                                                  ^
codsinpr.c:464:40: warning: comparison is always true due to limited range of data type [-Wtype-limits]
  if ((Z80_FLAGS & FLAG_C)==0 && (high_a>=0x0 && high_a<=0x9) && (Z80_FLAGS & FLAG_H) && (low_a>=0x0 && low_a<=0x9)) diff=0x06;
                                        ^
codsinpr.c:464:95: warning: comparison is always true due to limited range of data type [-Wtype-limits]
  if ((Z80_FLAGS & FLAG_C)==0 && (high_a>=0x0 && high_a<=0x9) && (Z80_FLAGS & FLAG_H) && (low_a>=0x0 && low_a<=0x9)) diff=0x06;
                                                                                               ^
codsinpr.c:465:40: warning: comparison is always true due to limited range of data type [-Wtype-limits]
  if ((Z80_FLAGS & FLAG_C)==0 && (high_a>=0x0 && high_a<=0x8) &&                (low_a>=0xa && low_a<=0xf)) diff=0x06;
                                        ^
codsinpr.c:466:98: warning: comparison is always true due to limited range of data type [-Wtype-limits]
  if ((Z80_FLAGS & FLAG_C)==0 && (high_a>=0xa && high_a<=0xf) && (Z80_FLAGS & FLAG_H)==0 && (low_a>=0x0 && low_a<=0x9)) diff=0x60;
                                                                                                  ^
codsinpr.c:467:95: warning: comparison is always true due to limited range of data type [-Wtype-limits]
  if ((Z80_FLAGS & FLAG_C) &&                                 (Z80_FLAGS & FLAG_H)==0 && (low_a>=0x0 && low_a<=0x9)) diff=0x60;
                                                                                               ^
codsinpr.c:468:92: warning: comparison is always true due to limited range of data type [-Wtype-limits]
  if ((Z80_FLAGS & FLAG_C) &&                                 (Z80_FLAGS & FLAG_H) && (low_a>=0x0 && low_a<=0x9)) diff=0x66;
                                                                                            ^
codsinpr.c:471:95: warning: comparison is always true due to limited range of data type [-Wtype-limits]
  if ((Z80_FLAGS & FLAG_C)==0 && (high_a>=0xa && high_a<=0xf) && (Z80_FLAGS & FLAG_H) && (low_a>=0x0 && low_a<=0x9)) diff=0x66;
                                                                                               ^
codsinpr.c:486:71: warning: comparison is always true due to limited range of data type [-Wtype-limits]
  if ((Z80_FLAGS & FLAG_C)==0 && (high_a>=0xa && high_a<=0xf) && (low_a>=0x0 && low_a<=0x9)) flag_C_final=FLAG_C;
                                                                       ^
codsinpr.c:503:60: warning: comparison is always true due to limited range of data type [-Wtype-limits]
  if ((Z80_FLAGS & FLAG_N) && (Z80_FLAGS & FLAG_H) && (low_a>=0x0 && low_a<=0x5)) flag_H_final=FLAG_H;
                                                            ^
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c codprddfd.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c codpred.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c operaciones.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c debug.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c tape.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c tape_tap.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c tape_tzx.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c tape_smp.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c audio.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c screen.c
screen.c: In function 'compare_char_tabla_step':
screen.c:738:71: warning: comparison of promoted ~unsigned with unsigned [-Wsign-compare]
                 for (numero_byte=0; (numero_byte<8) && (*copia_origen == (*tabla_comparar ^ 255 )) ;numero_byte++,copia_origen+=step,tabla_comparar++) {
                                                                       ^
screen.c: In function 'compare_char_tabla_rainbow':
screen.c:795:77: warning: comparison of promoted ~unsigned with unsigned [-Wsign-compare]
                 for (numero_byte=0; (numero_byte<8) && (origen[numero_byte] == (*tabla_comparar ^ 255 )) ;numero_byte++,tabla_comparar++) {
                                                                             ^
screen.c: In function 'scr_fadeout':
screen.c:5938:3: warning: 'usleep' is deprecated (declared at c:\mingw\include\unistd.h:126) [-Wdeprecated-declarations]
   usleep(SLEEPTIME);
   ^
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c mem128.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c chloe.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c prism.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c timex.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c zx8081.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c jupiterace.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c z88.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c cpc.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c zxuno.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c snap.c
snap.c: In function 'load_zx_snapshot':
snap.c:1605:15: warning: comparison is always true due to limited range of data type [-Wtype-limits]
     if (bloque>=0 && bloque<=7) load_zx_snapshot_bytes_generic_16kb(buffer_lectura,longitud,chloe_ex_ram_mem_table[bloque]);
               ^
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c snap_z81.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c snap_zx8081.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c menu.c
menu.c: In function 'menu_cpu_core_loop':
menu.c:2316:25: warning: 'usleep' is deprecated (declared at c:\mingw\include\unistd.h:126) [-Wdeprecated-declarations]
                         usleep(500);
                         ^
menu.c: In function 'menu_espera_tecla_no_cpu_loop':
menu.c:2383:17: warning: 'usleep' is deprecated (declared at c:\mingw\include\unistd.h:126) [-Wdeprecated-declarations]
                 usleep(500);
                 ^
menu.c: In function 'menu_espera_no_tecla_no_cpu_loop':
menu.c:2405:17: warning: 'usleep' is deprecated (declared at c:\mingw\include\unistd.h:126) [-Wdeprecated-declarations]
                 usleep(500);
                 ^
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c core_spectrum.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c core_zx8081.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c core_z88.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c core_cpc.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c core_ace.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c timer.c
timer.c: In function 'timer_sleep':
timer.c:93:9: warning: 'usleep' is deprecated (declared at c:\mingw\include\unistd.h:126) [-Wdeprecated-declarations]
         usleep(milisec*1000);
         ^
timer.c: In function 'timer_usleep':
timer.c:98:2: warning: 'usleep' is deprecated (declared at c:\mingw\include\unistd.h:126) [-Wdeprecated-declarations]
  usleep (usec);
  ^
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c contend.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c disassemble.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c utils.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c playtzx.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c joystick.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c ula.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c mmc.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c divmmc.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c zxpand.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c spectra.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c spritechip.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c printers.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c realjoystick.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c ulaplus.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c if1.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  -c main_unix.c
gcc  -DMINGW -Ic:\mingw\sdl\include -Wall -Wextra -fsigned-char  cpu.o main_unix.o charset.o  scrsimpletext.o     scrsdl.o audiosdl.o common_sdl.o  autoselectoptions.o chardetect.o textspeech.o scrnull.o screen.o mem128.o chloe.o prism.o timex.o     audionull.o ay38912.o codsinpr.o codprddfd.o codpred.o operaciones.o debug.o tape.o tape_tap.o tape_tzx.o tape_smp.o audio.o zx8081.o jupiterace.o z88.o cpc.o zxuno.o snap.o snap_z81.o snap_zx8081.o menu.o core_spectrum.o core_zx8081.o core_z88.o core_cpc.o core_ace.o timer.o contend.o disassemble.o utils.o playtzx.o joystick.o ula.o mmc.o divmmc.o zxpand.o spectra.o spritechip.o printers.o realjoystick.o ulaplus.o if1.o -o zesarux -Lc:\mingw\sdl\lib -lSDL

Re: Nuevas opciones debugger para ZEsarUX 4.1

Publicado: 20 Mar 2016, 20:40
por chernandezba
Eiiiii!!!!!
Ya está compilado!!!

Ignora los warnings, a mí también me salen y no pasa nada ;)
Copia la SDL.dll en el directorio actual y ejecútalo!

:bienvenido: al maravilloso mundo de compilar versiones inestables, jijiji

Re: Nuevas opciones debugger para ZEsarUX 4.1

Publicado: 20 Mar 2016, 20:41
por chernandezba
Échale un vistazo también al Changelog ;)

Re: Nuevas opciones debugger para ZEsarUX 4.1

Publicado: 20 Mar 2016, 21:37
por Haplo
Ok, gracias ya lo he visto. Voy a ver si veo lo de los tsates.

Hay un pequeño bug, al darle a la opción "DISASSEMBLE" se cierra el emulador.

Luego pruebo más cosas.

Re: Nuevas opciones debugger para ZEsarUX 4.1

Publicado: 20 Mar 2016, 22:19
por chernandezba
Gracias por el reporte del fallo.
Qué raro! No debería suceder... Solo he agregado el tema de los testados parcial y no debería influir en que falle el desensamblado...
Bueno lo revisaré y te diré si encuentro el fallo

Re: Nuevas opciones debugger para ZEsarUX 4.1

Publicado: 21 Mar 2016, 09:59
por chernandezba
Hola

He revisado la opción de "disassemble". Tanto en Windows como en Mac me funciona y no se cierra el emulador... Si te sigue pasando haremos algunas pruebas a ver si tengo alguna pista de por qué te sucede

Saludos
César