SDK completo para Spectrum

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

Moderador: Sir Cilve Sinclair

Bubu
Freddy Hardest
Mensajes: 544
Registrado: Mié Oct 31, 2007 12:15 am

SDK completo para Spectrum

Mensaje por Bubu » Dom Nov 11, 2007 12:44 am

Estoy buscando un paquete de utilidades completo para desarrollar en mi PC un juego para el Spectrum. Me refiero a una especie de SDK (Software Development Kit) que incluya:

- ensamblador / desensamblador del Z80 del spectrum bajo window$
- debugador paso a paso, con puntos de ruptura
- que al ejecutar o debugar paso a paso se vea en una ventana emulando el spectrum
- que incluya una herramienta de diseño gráfico con las mismas caracterísitcas que el sepctrum


Ahora mismo el que más se le acerca es el emuZWin, pero me da algunos petardazos, y no incluye diseño gráfico. ¿Conocéis algún SDK?

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Mensaje por mcleod_ideafix » Dom Nov 11, 2007 1:48 am

Ensamblador para Z80: PASMO, que además puede generar un SNA, un TAP, o un archivo binario puro.
Debugger/emulador paso a paso con puntos de ruptura: Spectaculator (y además sale en una ventana emulando al Spectrum)
Herramienta de diseño gráfico con las mismas características que el Spectrum: tienes BASIn para generar los UDG's y creo que también música, y BMP2SCR que además de convertir imágenes a formato SCR, tiene un editor de dibujo en el que se emula el "atrribute clash" del Spectrum.
Web: ZX Projects | Twitter: @zxprojects

Avatar de Usuario
Metalbrain
Freddy Hardest
Mensajes: 592
Registrado: Lun May 07, 2007 8:17 am
Ubicación: Sevilla
Contactar:

Re: SDK completo para Spectrum

Mensaje por Metalbrain » Dom Nov 11, 2007 4:47 pm

Bubu escribió:Estoy buscando un paquete de utilidades completo para desarrollar en mi PC un juego para el Spectrum. Me refiero a una especie de SDK (Software Development Kit) que incluya:

- ensamblador / desensamblador del Z80 del spectrum bajo window$
- debugador paso a paso, con puntos de ruptura
- que al ejecutar o debugar paso a paso se vea en una ventana emulando el spectrum
- que incluya una herramienta de diseño gráfico con las mismas caracterísitcas que el sepctrum

Ahora mismo el que más se le acerca es el emuZWin, pero me da algunos petardazos, y no incluye diseño gráfico. ¿Conocéis algún SDK?


El emulador ZXSpin tiene un buen debugger y también tiene ensamblador integrado, que por lo que opina la gente en WoS no debe ser malo (aunque yo para ensamblar uso Pasmo). Para los gráficos, puedes usar el TommyGun (que es como un IDE en el cual también puedes escribir código y otras cosas) o mi propio SevenuP.
SevenuP se escribe con u minúscula y P mayúscula.

Bubu
Freddy Hardest
Mensajes: 544
Registrado: Mié Oct 31, 2007 12:15 am

Re: SDK completo para Spectrum

Mensaje por Bubu » Dom Nov 11, 2007 7:57 pm

Probaremos todo esto e iré comentando los resultados. ¡¡ Gracias !!

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

Re: SDK completo para Spectrum

Mensaje por Gandulf » Dom Nov 11, 2007 11:52 pm

A mi el TommyGun me falla como una escopeta de feria. Lo probé hace como un año y sinceramente no me funcionaba nada como debía hacerlo. Muchísimos errores y luego opciones que simplemente no funcionaban. Deduje que o bien nadie lo usaba realmente o en la web había una versión no estable del mismo. Y creo que lo probé bajo XP pero ya no estoy seguro totalmente de ello, puede que lo probara bajo Vista, pero juraría que fue en XP.

Yo para dibujar recompiendo el ZXPaintBrush sin dudarlo, además del resto de utilidades de las ZXTools como el ZXBlockEditor para manejar cintas y bloques de carga. El SevenUp lo probé pero la interface se me hizo rara, fue exactamente en la misma época en la que probé el TommyGun, no recuerdo si era las combinaciones de teclas o la forma en que había que hacer las cosas, el caso es que volví al ZXPaintBrush otra vez, y sigo usando este. Pero con el SevenUp ya fue algo más de gustos personales, simplemente.
Un saludo,

Gandulf

Bubu
Freddy Hardest
Mensajes: 544
Registrado: Mié Oct 31, 2007 12:15 am

Re: SDK completo para Spectrum

Mensaje por Bubu » Mar Nov 13, 2007 1:22 am

Bueeeeno, bueno, bueno... de momento he probado esto:

- emuZWin: Ensamblando y debugando: no permite ver la pantalla cuando se ejecuta paso a paso
- zxSpin: Ensamblando y debugando: no permite ver la pantalla cuando se ejecuta paso a paso
- ZXPaintBrush: Es una p* maravilla como utilidad para gráficos del Spectrum. Buenísimo.

El pograma que estoy ejecutando en los emuladores es siempre el mismo:

Código: Seleccionar todo

   ORG 60000
   DI
   LD HL, 4000H
   LD (HL), 255
   EI
   RET


con el que se debería dibujar una rayita arriba a la izquierda. Peeeero se dibuja una vez termina la debugación. Mientras tanto el emulador (tanto emuZWin como zxSpin) parece estar en pausa. ¿No podría haber una manera para que al ejecutarse la instrucción LD (HL), 255 ahí mismo se viera ya la rayita?

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

Re: SDK completo para Spectrum

Mensaje por Gandulf » Mar Nov 13, 2007 1:48 am

Para tracear no te puedo decir, porque uso Spectaculator y me vale de sobra, pero creo recordar que EmuZWin tiene una opción de refrescar la ventana del spectrum.

Con respecto a ensamblar te recomiendo encarecidamente Pasmo u otro ensamblador cruzado, porque aunque algunos emuladores te dejen meter código en asm, los cruzados te dejan incluir ficheros como músicas, o lo que quieras, o subdividir el código en varios ficheros de texto. No hay color, vamos, si lo que pretendes es hacer algo más o menos complejo/largo.

Veo que también te ha gustado el ZXPaintbrush :)
Un saludo,

Gandulf

Avatar de Usuario
TrueVideo
Jack The Nipper
Mensajes: 195
Registrado: Mié May 23, 2007 8:34 am
Ubicación: BCN
Contactar:

Re: SDK completo para Spectrum

Mensaje por TrueVideo » Mar Nov 13, 2007 9:12 pm

El debugger de ZXSpin apunta maneras, pero de momento el visualizador de memoria sigue siendo un horror (los offsets cambian al redimensionar la ventana??) Por el momento sigo con el de Spectaculator, que es más austero pero funciona.

Para pintar ZXPaintbrush está muy bien tal como te han dicho, aunque personalmente prefiero una solución más tradicional como ProMotion, que es como el hijo ilegítimo de DeluxePaint y Brillance. Por desgracia se pierde la simulación de atributos de Spectrum pero se gana en versatilidad. En cualquier caso no descartes tan pronto SevenuP: llegará el momento en que querrás convertir tus gráficos a un formato manejable por código y en ese aspecto SevenuP es valiosísimo.

Respecto a TommyGun mucho me temo que ya sea un proyecto abandonado (al menos el autor así lo insinuó hace un tiempo en WOS). El problema es que intentaba abarcar demasiado a la vez y el resultado ha sido una herramienta que no sobresale en ningún aspecto en concreto. En ese sentido creo que la utilidad de una kit todo en uno es muy discutible, como ya se ha demostrado.

J

Avatar de Usuario
TrueVideo
Jack The Nipper
Mensajes: 195
Registrado: Mié May 23, 2007 8:34 am
Ubicación: BCN
Contactar:

Re: SDK completo para Spectrum

Mensaje por TrueVideo » Mar Nov 13, 2007 9:16 pm

Gandulf escribió:Con respecto a ensamblar te recomiendo encarecidamente Pasmo u otro ensamblador cruzado, porque aunque algunos emuladores te dejen meter código en asm, los cruzados te dejan incluir ficheros como músicas, o lo que quieras, o subdividir el código en varios ficheros de texto. No hay color, vamos, si lo que pretendes es hacer algo más o menos complejo/largo.


Desde luego. Los ensambladores incorporados en algunos emuladores sirven para introducir algún que otro parche en caliente de forma rápida, pero en ningún caso pueden sustituir a un ensamblador cruzado. Hoy por hoy Sjasm y Pasmo son las opciones más claras.

J

Avatar de Usuario
TrueVideo
Jack The Nipper
Mensajes: 195
Registrado: Mié May 23, 2007 8:34 am
Ubicación: BCN
Contactar:

Re: SDK completo para Spectrum

Mensaje por TrueVideo » Mar Nov 13, 2007 9:29 pm

Bubu escribió:con el que se debería dibujar una rayita arriba a la izquierda. Peeeero se dibuja una vez termina la debugación. Mientras tanto el emulador (tanto emuZWin como zxSpin) parece estar en pausa. ¿No podría haber una manera para que al ejecutarse la instrucción LD (HL), 255 ahí mismo se viera ya la rayita?


Al ejecutar paso a paso el emulador permanece en pausa, pero también lo hace el refresco de pantalla. Por eso los cambios que haces por código no se visualizan en el acto. Para verlos deberías esperar a un refresco de cuadro completo. Si el debugger no tiene esa opción prueba con dos HALT después de habilitar las interrupciones (han de ser dos, con uno no vale).

J

Avatar de Usuario
Metalbrain
Freddy Hardest
Mensajes: 592
Registrado: Lun May 07, 2007 8:17 am
Ubicación: Sevilla
Contactar:

Re: SDK completo para Spectrum

Mensaje por Metalbrain » Mar Nov 13, 2007 10:34 pm

Bubu escribió:con el que se debería dibujar una rayita arriba a la izquierda. Peeeero se dibuja una vez termina la debugación. Mientras tanto el emulador (tanto emuZWin como zxSpin) parece estar en pausa. ¿No podría haber una manera para que al ejecutarse la instrucción LD (HL), 255 ahí mismo se viera ya la rayita?


Si el emulador es bueno, lo normal es que no lo haga. En el Spectrum, cuando escribes un byte, este no se muestra inmediatamente en la pantalla, sino que hay que esperar a que el haz de electrones de la televisión pase por esa posición concreta y la actualize con la información que le pasa la ULA. En la pantalla del emulador con el que depuras ocurrirá algo similar, solo se actualizará la pantalla cuando se deba. Eso implica esperar ejecutando más instrucciones o haciendo por ejemplo un halt (si el haz de electrones te pilla arriba del pixel que estás actualizando), o dos como te ha indicado TrueVideo para el caso de que el haz ya haya pasado por ese pixel y por lo tanto debas esperar al siguiente turno.
SevenuP se escribe con u minúscula y P mayúscula.

Bubu
Freddy Hardest
Mensajes: 544
Registrado: Mié Oct 31, 2007 12:15 am

Re: SDK completo para Spectrum

Mensaje por Bubu » Mié Nov 14, 2007 12:20 am

Comprendido. Voy a hacer dos HALT's para ver qué pasa, pero me da que el emulata va a seguir tostating.
Por cierto, si uso Pasmo, ¿podré ir mientras voy paso a paso visualizando también la pantalla?

Avatar de Usuario
mcleod_ideafix
Johnny Jones
Mensajes: 3985
Registrado: Vie Sep 21, 2007 1:26 am
Ubicación: Jerez de la Frontera
Contactar:

Re: SDK completo para Spectrum

Mensaje por mcleod_ideafix » Mié Nov 14, 2007 1:10 am

No. Pasmo es un ensamblador: coge un fichero de texto con código escrito en ASM y te devuelve un BIN, un TAP o no se qué más, que puedes cargar en el Spectrum. No integra ningún tipo de depurador.
Spectaculator te permite una opción que es "Run until end of frame" que es algo así como ejecutar hasta que se termine de refrescar la pantalla actual. Eso y un par de HALT's antes del RET debe ser suficiente para mostrar la rayita...
Web: ZX Projects | Twitter: @zxprojects

Bubu
Freddy Hardest
Mensajes: 544
Registrado: Mié Oct 31, 2007 12:15 am

Re: SDK completo para Spectrum

Mensaje por Bubu » Mié Nov 14, 2007 1:35 am

He probado lo de los HALT's con emuZWIn y funciona perfestamente. Qué grandes sois.
Con ZxSpin no hacen falta los HALT's porque sólo hay que hacer clic a la pantalla del spectrum y entonces se refresca y aparece la rayita. Me queda probar el Spectaculator.
No voy a probar en principio el pAsmo porque lo que pretendo (al menos iniclamente) es ir viendo en pantalla lo que va ocurriendo.

Gandulf
Nonamed
Mensajes: 1067
Registrado: Lun May 07, 2007 10:06 pm

Re: SDK completo para Spectrum

Mensaje por Gandulf » Mié Nov 14, 2007 2:49 am

Pero no tiene nada que ver lo de ver en pantalla lo que ocurre con usar Pasmo o no. Tal y como te decía McLeod, tu con Pasmo creas lo que es el código, o sea, lo ensamblas. Luego en el emulador cargas el código, como si fuera un juego, y lo depuras paso a paso dentro del emulador, viendo lo que pasa en pantalla con cada cosa.

El emulador sería el monitor de código máquima, pero el código lo puedes generar con un ensamblador cruzado y no meterlo también en el emulador.

Con respecto a los formatos de grabación, efectivamente ZXPaintBrush no da muchas opciones y SevenUP sí, pero para eso lo mejor es currarse una/s utilidades para PC para formatear y tratar los formatos de grabación de ZXPaintbrush de la forma que quieras. Yo tengo algunas que me hecho en plan caserillo, incluyendo un compilador de tiles. Así cuando quieres algo en un formato raro en concreto para alguna rutina toqueteas un poco y lo sacas.
Un saludo,

Gandulf

Responder

¿Quién está conectado?

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