Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Todo sobre la creación, diseño y programación de nuevo software para
nuestro Spectrum

Moderador: Sir Cilve Sinclair

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Notapor radastan el Lun Mar 31, 2014 4:50 pm

Por cierto, ya casi está metida la rutina de impresión de textos. Si veis de utilidad alguna otra rutina decirlo ahora.

La semana que viene doy una charla en Retromálaga enseñando el motor, y en Retromadrid podéis preguntarme lo que os venga en gana, tirarme piedras, insultarme, etc.
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________
Avatar de Usuario
radastan
Phantomas
 
Mensajes: 2178
Registrado: Lun May 07, 2007 5:34 pm

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Notapor josepzin el Lun Mar 31, 2014 7:11 pm

Lo de tirarte piedras no sé, pero insultarte puede ser viable :-P
Avatar de Usuario
josepzin
Jack The Nipper
 
Mensajes: 115
Registrado: Vie Oct 19, 2007 4:27 pm
Ubicación: Carthagonova

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Notapor javiperez el Lun Mar 31, 2014 7:14 pm

radastan escribió:Está orientado a caracter, es lo que hay. Para motores al pixel hay ya dos motores bastante buenos y no tiene sentido sacar otro: SP1 (SP2 ya) y el FASE. De echo pretendo sacar un apéndice con el uso de FASE, para los que deseen movimiento al pixel pero sin scroll.


De cualquier forma, podemos combinar llamadas a funciones de la librería SP1 con las funciones incluídas en "motorzx.h", entiendo que no hay ningún tipo de incompatibilidad en tiempo de ejecución, no?
De esta forma podemos coger lo mejor de ambos mundos :D
The Spectrum will rise again to rule the Earth.
Real programmers never die. They just return without gosub.
Avatar de Usuario
javiperez
Jack The Nipper
 
Mensajes: 103
Registrado: Vie Ago 24, 2007 12:45 pm
Ubicación: Valladolid

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Notapor radastan el Mar Abr 01, 2014 8:56 am

javiperez escribió:
radastan escribió:Está orientado a caracter, es lo que hay. Para motores al pixel hay ya dos motores bastante buenos y no tiene sentido sacar otro: SP1 (SP2 ya) y el FASE. De echo pretendo sacar un apéndice con el uso de FASE, para los que deseen movimiento al pixel pero sin scroll.


De cualquier forma, podemos combinar llamadas a funciones de la librería SP1 con las funciones incluídas en "motorzx.h", entiendo que no hay ningún tipo de incompatibilidad en tiempo de ejecución, no?
De esta forma podemos coger lo mejor de ambos mundos :D


Es que eso es lo bueno de esta "librería", que no se peleea para nada con SP1/SP2 o FASE, ya que no usa interrupciones ni nada por el estilo. Evidentemente tienes que tener en cuenta que el ZX Spectrum tiene sus límites... si te pasas de cosas en pantalla se enletecerá si o si.
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________
Avatar de Usuario
radastan
Phantomas
 
Mensajes: 2178
Registrado: Lun May 07, 2007 5:34 pm

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Notapor javiperez el Mar Abr 01, 2014 9:19 am

radastan escribió:Es que eso es lo bueno de esta "librería", que no se peleea para nada con SP1/SP2 o FASE, ya que no usa interrupciones ni nada por el estilo. Evidentemente tienes que tener en cuenta que el ZX Spectrum tiene sus límites... si te pasas de cosas en pantalla se enletecerá si o si.


El juego del Buggy para el concurso de remakes de recres, ¿lo programaste con esta librería?
The Spectrum will rise again to rule the Earth.
Real programmers never die. They just return without gosub.
Avatar de Usuario
javiperez
Jack The Nipper
 
Mensajes: 103
Registrado: Vie Ago 24, 2007 12:45 pm
Ubicación: Valladolid

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Notapor radastan el Mar Abr 01, 2014 9:28 am

javiperez escribió:El juego del Buggy para el concurso de remakes de recres, ¿lo programaste con esta librería?


Lo ESTOY programando con esta librería, así la pongo a prueba y veo de lo que es capaz. Como se ha creado un segundo concurso lo presentaré en él.

Para Retromadrid espero poder enseñar como va, ahora mismo sólo es un desierto que se mueve.
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________
Avatar de Usuario
radastan
Phantomas
 
Mensajes: 2178
Registrado: Lun May 07, 2007 5:34 pm

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Notapor cybernoid el Mar Abr 01, 2014 9:30 am

No estaría mal alguna función para copiar bloques gráficos.

copy_block(dir_grafico,w,h,pos_screen_x,pos_screen_y);

así no te limitas a tiles de 8x8 ni tienes que ir haciendo bucles lenturrios para copiar imagenes medianamente grandes.
Avatar de Usuario
cybernoid
rst 0
 
Mensajes: 18
Registrado: Jue May 06, 2010 12:55 pm

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Notapor radastan el Mar Abr 01, 2014 9:54 am

cybernoid escribió:No estaría mal alguna función para copiar bloques gráficos.

copy_block(dir_grafico,w,h,pos_screen_x,pos_screen_y);

así no te limitas a tiles de 8x8 ni tienes que ir haciendo bucles lenturrios para copiar imagenes medianamente grandes.


Lo que tu quieres es la rutina que estoy haciendo, que es para imprimir un tile del tamaño que te venga en gana. Lo uso para gráficos en el menú y esas cosas.
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________
Avatar de Usuario
radastan
Phantomas
 
Mensajes: 2178
Registrado: Lun May 07, 2007 5:34 pm

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Notapor javiperez el Dom Abr 06, 2014 8:02 pm

Por cierto, veo que al compilar no usas la librería sp1: zcc +zx -vn juegozx.c -o juegozx.bin -lndos -zorg=24200

Estoy intentando hacer algunos ensayos utilizando sp1 y tu librería, pero no consigo compilar con: zcc +zx -vn juego.c -o juego.bin -lndos -lsp1 -lmalloc (según el tutorial albergado en el wiki de speccy.org), el compilador no encuentra el header sp1.h. Este tuto está pensado para la versión 1.8 cd z88DK, estando ahora por la 1.10 supongo que habrá habido algún cambio en la forma de de organizar los ficheros, o quizás haya que generarla con el make correspondiente.

¿Alguien ha conseguido compilar algo con z88DK 1.10 y SP1?
The Spectrum will rise again to rule the Earth.
Real programmers never die. They just return without gosub.
Avatar de Usuario
javiperez
Jack The Nipper
 
Mensajes: 103
Registrado: Vie Ago 24, 2007 12:45 pm
Ubicación: Valladolid

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Notapor Alcoholics Anonymous el Lun Abr 07, 2014 7:06 am

Su español es legible a través de traductor Google así que esperemos que lo contrario es cierto!

javiperez escribió:¿Alguien ha conseguido compilar algo con z88DK 1.10 y SP1?


Sí tengo :)

La biblioteca no viene pre-construido con la distribución - que se espera que su construcción después de seleccionar varias opciones en el archivo de configuración. Para ello, siga estas instrucciones:

=====

cd z88dk/libsrc/sprites/software/sp1

En hay un makefile. Si usted sabe cómo usarlos, puede escribir 'make sp1 del espectro y que hará que la versión del espectro de la biblioteca y mover la biblioteca y encabezado a los lugares correctos.

Si no se puede ejecutar archivos MAKE (por ejemplo, usted está en una máquina Windows), puede realizar manualmente la biblioteca (sugiero guardarlo en un archivo bat. Y luego ejecutar el archivo. Bat)

z80asm -d -ns -nm -Mo -xsp1 @spectrum.lst
copy spectrum\spectrum-sp1.h ..\..\..\..\include\sprites\sp1.h
copy sp1.lib ..\..\..\..\lib\clibs
del /S *.o

====

Mencioné el archivo de configuración. Usted puede encontrar que en:

z88dk/libsrc/sprites/software/sp1/spectrum/customize.asm
http://z88dk.cvs.sourceforge.net/viewvc/z88dk/z88dk/libsrc/sprites/software/sp1/spectrum/customize.asm?revision=1.2&view=markup

Antes de hacer la biblioteca puedes editarla para cambiar el área de la pantalla gestionada por sp1 o para cambiar su mapa de memoria.


Hay programas de ejemplo simples:

z88dk/libsrc/sprites/software/sp1/spectrum/examples
http://z88dk.cvs.sourceforge.net/viewvc/z88dk/z88dk/libsrc/sprites/software/sp1/spectrum/examples/

Cada archivo C contiene algunas observaciones y los argumentos del compilador utilizado en la parte superior.

====

Un comentario sobre 1,10: es muy viejo. Hay muchos cambios que ocurren dentro de z88dk y ya no recomiendan el uso de la última versión de construir cosas porque ahora hay una incompatibilidad entre antiguos binarios de biblioteca y otros nuevos. De hecho, es por eso que no puedo simplemente darle sp1.lib como estoy ejecutando la última versión, mientras que no lo son. Puede obtener la versión más reciente por noche desde: http://nightly.z88dk.org/

Yo no entiendo por qué algunas personas prefieren utilizar un comunicado conocido ya que les da problemas conocidos y una interfaz conocida. Por ejemplo, creo que Churerra depende de una versión particular de z88dk para compilar desde distintas interfaces han cambiado desde entonces.
Alcoholics Anonymous
rst 0
 
Mensajes: 21
Registrado: Lun Feb 04, 2008 7:16 am

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Notapor Alcoholics Anonymous el Lun Abr 07, 2014 7:33 am

javiperez escribió:2. Desde la versión 1.7, el Z88DK ya integra la librería Sprite Pack (pasó a llamarse SP1). Dado que las funciones de esa librería están optimizadas para el manejo de sprites, tiles, control del movimiento, etc., ¿cuál es el propósito de que las volváis a definir?


Hay espacio en el espectro para muchos motores de sprites. Mientras escribía sp1 tuve que tomar muchas decisiones para el usuario en el uso de memoria, velocidad y características compromiso. Esas decisiones no son adecuados para todo tipo de juegos. FASE es otro motor de reciente - también ha hecho algunas decisiones de implementación que son diferentes de la SP1, que hace que sea capaz de hacer cosas que no pueden sp1 y viceversa.

Radastan, me encontré con este hilo por accidente. Parece que el mismo está ocurriendo como cuando la revista ZX publicaba algunos artículos sobre z88dk y splib2. Los artículos fueron muy bien hecho (por Sejuan creo?) Pero salieron al mismo tiempo sp1 salió, lo que les obsoleta poco. Una vez que esto esté pasando :) z88dk tendrá un nuevo clib en la próxima versión y compilación opcional con sdcc así que las cosas van a cambiar un poco. Hay dos objetivos de la prueba en el nightly build ahora:

zx_dev para la compilación utilizando la nueva clib + sccz80 and zx_dev_sx para la compilación utilizando la nueva clib + sdcc, que se puede probar si te gusta. (Hay algunos problemas conocidos con sdcc actualmente - variables estáticas no se inicializan y no se puede tener funciones definidas por delante main() )

El árbol de las fuentes para la nueva clib está aquí:
http://z88dk.cvs.sourceforge.net/viewvc ... VELOPMENT/

Está escrito para generar cuatro bibliotecas: - uno para los programadores en ensamblador, una para sccz80 (con fastcall, callee, etc), una para sdcc con ix utilizado por la biblioteca y otra para sdcc con iy utilizado por la biblioteca. Esto puede servir como un ejemplo de cómo escribir rutinas de la biblioteca que trabajarán con cualquier compilador.

Las funciones actualmente en la nueva clib se pueden encontrar en los archivos de cabecera:
http://z88dk.cvs.sourceforge.net/viewvc ... VELOPMENT/

Todavía no he añadido las bibliotecas z88dk existentes. Ellos continuarán trabajando con sccz80 como compilador, pero no pueden trabajar con sdcc.

El nuevo clib es sustancial, la intención de ser lo más cercano a C11 como es razonable, y se puede configurar si la memoria es un bien escaso. Algunas de las opciones de configuración se puede encontrar aquí:

http://z88dk.cvs.sourceforge.net/viewvc ... iew=markup

Yo quería asegurarme de que estabas al tanto de esto, antes de llegar demasiado lejos en una introducción a z88dk :) z88dk necesita más de este tipo de cosas :)
Alcoholics Anonymous
rst 0
 
Mensajes: 21
Registrado: Lun Feb 04, 2008 7:16 am

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Notapor radastan el Lun Abr 07, 2014 9:22 am

No hay problema, cuando salga la nueva versión pasarán dos cosas:

- Adaptaré las rutinas para que funcionen en la nueva versión
- Actualizaré los ficheros del curso con las nuevas rutinas y el nuevo Z88DK

No afecta para nada a los que lean el curso. :D
_________________________________________
Hay otras páginas.... pero no son Bytemaniacos
http://www.bytemaniacos.com
Orgullo de 8 bits
_________________________________________
Avatar de Usuario
radastan
Phantomas
 
Mensajes: 2178
Registrado: Lun May 07, 2007 5:34 pm

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Notapor javiperez el Mar Abr 08, 2014 12:03 am

Alcoholics Anonymous escribió:Un comentario sobre 1,10: es muy viejo. Hay muchos cambios que ocurren dentro de z88dk y ya no recomiendan el uso de la última versión de construir cosas porque ahora hay una incompatibilidad entre antiguos binarios de biblioteca y otros nuevos. De hecho, es por eso que no puedo simplemente darle sp1.lib como estoy ejecutando la última versión, mientras que no lo son. Puede obtener la versión más reciente por noche desde: http://nightly.z88dk.org/


Thanks for putting this into Spanish ;-)

So i fI got it right, you are sugegsting not to get the latest version from the Download section on http://www.z88dk.org, but rather get the nightly build?

Also, in order to generate SP1 library, shall I follow your guidelines above, or the ones you suggest here: http://www.worldofspectrum.org/forums/s ... stcount=41?
The Spectrum will rise again to rule the Earth.
Real programmers never die. They just return without gosub.
Avatar de Usuario
javiperez
Jack The Nipper
 
Mensajes: 103
Registrado: Vie Ago 24, 2007 12:45 pm
Ubicación: Valladolid

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Notapor Alcoholics Anonymous el Mar Abr 08, 2014 4:42 pm

javiperez escribió:Gracias por poner esto en español ;-)


Bueno, yo creo que sería un desastre si todos empezamos no habla Inglés en un foro español y probablemente justo hispanohablantes que no pueden hablar Inglés , así que no me importa dar el paso extra para Traduccion automática a través de google . En estos días , por lo menos con español <- > traducción Inglés , el resultado es comprensible.

Así que si lo tengo bien, usted está sugegsting no para obtener la última versión desde la sección de descargas en http://www.z88dk.org , sino más bien obtener la compilación nocturna ?


Sí, la última versión oficial es demasiado viejo y los cambios que han ocurrido significa que no podemos incluso arreglar los problemas de gente corriendo . Tuvimos ese período en WOS donde yo estaba proporcionando bibliotecas pre - compilados para fzx y sp1 y la gente no podía usarlos , y la razón fue que estaban utilizando la versión de descarga , mientras que yo estaba usando la última ( la noche ) .

Un lanzamiento es desde hace mucho tiempo , pero queremos que el próximo lanzamiento que contenga la nueva clib y sdcc compilación como opciones , al menos en una forma que es beta, por lo que es la razón de la demora . sdcc también posee la autorización viene dentro de una semana y nos gustaría asegurar que las cosas funcionan nominalmente con eso.

Asimismo, a fin de generar la biblioteca SP1, he de seguir sus directrices anteriormente, o los que usted sugerir aquí: ? Http://www.worldofspectrum.org/forums/s ... stcount=41


Eso funcionará también, pero podemos sacar el paso de la instalación gnu utils ahora , si se compila la biblioteca sp1 con la mano como se detalla en el último post aquí . De hecho , creo que probablemente voy a incluir un archivo bat . Para los usuarios de Windows en la próxima versión sólo para que podamos evitar todas estas largas conversaciones y confusión.

Usted todavía tiene que tener que " init.bat " archivo para configurar las variables de entorno para usted.

==Inglés abajo========

So if i got it right, you are sugegsting not to get the latest version from the Download section on http://www.z88dk.org, but rather get the nightly build?


Yes the last official release is just too old and the changes that have occurred mean we cannot even fix issues for people running it. We had that period on WOS where I was providing pre-compiled libraries for fzx and sp1 and people couldn't use them and the reason was they were using the download version whereas I was using the latest (the nightly).

A release is long overdue but we want the next release to contain the new clib and sdcc compilation as options, at least in a form that is beta, so that is the reason for the delay. sdcc also has a release coming up within about a week and we'd like to make sure things nominally work with that.

Also, in order to generate SP1 library, shall I follow your guidelines above, or the ones you suggest here: http://www.worldofspectrum.org/forums/s ... stcount=41?


That will work too but we can take out the step of installing gnu utils now, if you compile the sp1 library by hand as detailed in the last post here. In fact, I think I will probably include a .bat file for windows users in the next release just so that we can avoid all these long conversations and confusion.

You still need to have that "init.bat" file to set up environment variables for you.
Alcoholics Anonymous
rst 0
 
Mensajes: 21
Registrado: Lun Feb 04, 2008 7:16 am

Re: Curso de Z88DK básico + SDK para ZX Spectrum [preview]

Notapor javiperez el Sab Abr 12, 2014 1:24 am

Alcoholics Anonymous escribió:Si no se puede ejecutar archivos MAKE (por ejemplo, usted está en una máquina Windows), puede realizar manualmente la biblioteca (sugiero guardarlo en un archivo bat. Y luego ejecutar el archivo. Bat)

z80asm -d -ns -nm -Mo -xsp1 @spectrum.lst
copy spectrum\spectrum-sp1.h ..\..\..\..\include\sprites\sp1.h
copy sp1.lib ..\..\..\..\lib\clibs
del /S *.o

I´m about to give up :oops:
- First, no sp1.lib is built with the above process, but psp1.lib - guessing that renaming will suffice
- I get this compiler error: cpp: line 18, Fatal error: Cannot open include file "sprites/sp1.h - strange since that header file exists in the right folder
- When trying to compile a file using the sp1.lib I get: Error: Cannot open file 'sp1.lib' for reading - I have checked and the file attributes are equal to the other lib files

I´m using the Nightly build...any suggestion more than welcome!
The Spectrum will rise again to rule the Earth.
Real programmers never die. They just return without gosub.
Avatar de Usuario
javiperez
Jack The Nipper
 
Mensajes: 103
Registrado: Vie Ago 24, 2007 12:45 pm
Ubicación: Valladolid

PrevioSiguiente

Volver a Programación y nuevos desarrollos

¿Quién está conectado?

Usuarios navegando este Foro: No hay usuarios registrados visitando el Foro y 2 invitados