Página 8 de 10

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Lun, 26 Oct 2015, 08:11
por radastan

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Lun, 26 Oct 2015, 23:38
por Lord Raptor
Sí, tengo los dos pdf [la putadita es ke el de splib2 está en guiri] ... existe versión en castellano de Albacete ? :jias:

Tal y como ha explicado na_th_an, así lo tengo todo y me casca un error muy curioso cuando compilo.
He revisado el fuente innumerables veces y está correcto. [es código ke viene diréctamente en el pdf]
'Ándesta el error tónces ?¿'

$this->bbcode_second_pass_quote('', '&')quot;ESTA ES LA VERSION 1.10"
## COMPILANDO
1 archivo(s) copiado(s).
1 archivo(s) copiado(s).
sccz80:"./spritepack.h" L:25 Error:#32:Already defined
Compilation aborted
## CONSTRUYENDO CINTA

BAS2TAP v2.5 by Martijn van der Heide of ThunderWare Research Center

Creating output file loaderzx.tap
Done! Listing contains 1 line.
Input file open failed!
loaderzx.tap
1 archivo(s) copiado(s).
## BORRANDO TEMPORALES
No se pudo encontrar C:\Curso\mainzx.tap
No se pudo encontrar C:\Curso\juegozx.bin
## FIN
Presione una tecla para continuar . . .

Creé una copia del batch del curso para compilar usando splib2 de esta manera:
$this->bbcode_second_pass_quote('', 'e')cho ## COMPILANDO
zcc +zx -vn juegozx.c -o juegozx.bin -lsplib2 -lndos -zorg=24200

Se supone ke hay ke hacerlo así.... y nada [error]
Si lo intento con el del curso sin modificar... [el mismo error tmb]

A parte de todo eso...
Pienso ke ahora mismo con el motor de Radas + splib2 [por el tema de uso de sprites en modo xor] ya
es suficiente para crear güegos con poderw, verdá [de la güena] ?

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Mar, 27 Oct 2015, 08:10
por na_th_an
Creo que en la 1.10 se define un tipo que también se definía antes en spritepack.h cuando no se hacía en z88dk. Creo que yo lo modifiqué hace siglos. ¿Tienes la versión de splib2 que se puede descargar en nuestra web?

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Mar, 27 Oct 2015, 12:40
por Lord Raptor
@na_th_an
Pues sí, tengo la 'tuneada'. Ya me dirás cómo 'apaño' yo too esto.

Como me estoy golviendo mico :cabesa: ... voy a ir preguntando por puntos [y ya saco mis propias conclusiones] y decisiones.

- La versión del z88dk10 de Radas.... está tuneada/modificada en algo frente a la oficial v.1.10 ?¿ [o sólo lleva su motorzx.h y poco más]
- Si a la primera pregunta, la respuesta es sí, entónces me bastaría bajarme lúltima versión del z88dk y 'apañar' el .bat de Radastan para compilar.
- Sé ke hay binarios para usar en mi Amiga, pero ya estarán compilados como lo están para win ?¿
- Desde la versión 1.9 del z88dk, he leído ke se usaba splib3 [renombrada a sp1] y viene incluída en el zip, ya compilada... entónces:
1a. splib2 es posterior a splib3 [aka sp1] ?!¿
1b. la versión splib2T mojona es pucho pejor ke la ofissial ?¿

Mientras arreglo todo este desaguisado voy estudiando C++. Creo ke he encontrado un fallo en el libro. Aclárame ésto:

a-=b es lo mismo ke decir a = a - b ke significa... Resta de a - b y asigna resultado en a
[en el libro pone literalmente: "Resta b de a y asigna el resultado a la variable a"]
yo creo ke es alrevés ya ke no es lo mismo restar 2-5 ke 5-2 además la asociatividad debe de hacerse de izq a drch. :ojo:
[vale, ya lo he pillado] :porro:

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Mar, 27 Oct 2015, 12:54
por na_th_an
No sé qué habrá hecho radas con su versión. Bájate esto, z88dk10 + splib2. Es la nuestra. Funciona, la uso cada día.

https://www.mojontwins.com/churrera/mt-z88dk10.zip

splib2 es anterior a SP1.Lleva desde 2003 sin actualizarse, pero a nosotros SP1 nos parece demasiado pesada. La versión splib2t es una modificación pequeña necesaria para el efecto de atributos en Cadaverion y Severin Sewers, no trae nada más. Usa la normal.

El libro está bien, "Resta b de a y asigna el resultado a la variable a" es precisamente a = a - b.

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Mar, 27 Oct 2015, 13:11
por Lord Raptor
...

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Mar, 27 Oct 2015, 15:06
por na_th_an
Creo que te estás montando un lío de la leche con las versiones :D

En el paquete que te he puesto sólo está z88dk 1.10 y splib2 precompilada y modificada para que funcione bien en 1.10. Saliendo de eso, no te puedo ayudar. Apenas conozco SP1. Digo que es más pesada porque necesita estructuras en RAM muchísimo más grandes y te deja menos espacio para tus cosas.

Los includes no necesitan la ruta completa. Todo lo que esté dentro del directorio de includes de z88dk se puede poner directamente, que lo encontrará. Si no, compartir código o moverlo a otros ordenadores sería una pesadilla.

No sé exactamente qué estás diciendo en la parte que hablas de tipos de archivo, parece correcto lo que pones, aunque me gusta traducir bien "library" y decir "biblioteca" :D Deberías plantearte intentar escribir de forma menos telegráfica.

Los juegos que hemos sacado para NES están escritos desde cero pero, claro, las técnicas son las mismas, eso es normal - si comparas el código con el de la rama 3.99 de la Churrera encontrarás muchos lugares comunes. Pero no hay código portado directamente, si te refieres a eso. Usamos el compilador cc65 y la biblioteca Neslib de Shiru, que puedes encontrar en su web junto con una pequeña introducción y programas de ejemplo. Seguir el código del juego "chase" te enseña cómo funcionan la mayoría de las cosas, pero es muy importante empaparse toda la documentación sobre el hardware antes, sobre todo cómo funciona la PPU, o si no estarás más perdido que el barco del arroz. Las bibliotecas son a muy bajo nivel y apenas ocultan cómo funciona el hardware, así que hay que saber qué se quiere hacer y dónde tocar, sobre todo si te quieres poner a hacer scrolles y cosas así.

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Mar, 27 Oct 2015, 16:24
por Lord Raptor
Ahá, perfecto con lo de NES. Gracias por la info.

En el mi post anterior te preguntaba sobre las diferencias [con una xplicación muy sencilla] de:
librería/biblioteca [.lib]
archivo de cabecera [.h]
archivo de definición [.def] <---- sirven a la hora de compilar las librerías ?

A library las traduje como librerías ya ke una librería y una biblioteca son el lugar donde se acumulan/guardan libros.
Se suele llamar librería a la tienda de venta de libros.... pero tmb tengo en casa unas librerías llenas y no los tengo en venta. :jias: :jias: :jias:
De todas maneras me has entendido [ke es lo ke importa] y no está de más el apunte ke has hecho.

Ahora ya sólo me keda enredar con sp1 y con tu tuto en inglés de splib2, y kedarme con lo ke me apetezca o resulte más fácil/manejable.
De tu tutorial sobre splib2 no hay nada en spanish, no?

Nada pás, gracias por la ayuda.... ya me vendré por akí para comentar dudas.. [no lo dudes :poke: ]

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Mar, 27 Oct 2015, 17:22
por na_th_an
Hombre, las diferencias... A ver, es que cada uno es una cosa diferente totalmente :D

En los .lib está el código objeto de las funciones ya compiladas (o sea, código máquina, para entendernos) junto con información para que el linker sepa qué código incluir dependiendo de las llamadas en los otros módulos. En los .h hay prototipos y definiciones en C. Se suelen incluir para que el compilador sepa qué hay definido. El código puede estar en el propio .h, en un archivo .c asociado que se enlace con los demás, o formando parte de un .lib.

Los .def, parecen código fuente en ensamblador con definiciones y constantes, supongo que serán includes de ensamblador.

Re: Z88DK (curso Radastan) - Dudas Varias

Publicado: Jue, 29 Oct 2015, 13:20
por Lord Raptor
Dónde está el maldito error?
[estoy usando el zip enlazado de na_th_an]

$this->bbcode_second_pass_code('', '#include <spritepack.h> // lib spritepack
#include <spectrum.h>

#pragma output STACKPTR = 53248 // inicio de la pila (0xd000)

main()
{
sp_PrintAtInv (10,12,INK_BLACK|PAPER_WHITE, 'A');
}')

ERROR:
sccz80:"c:\z88dk10\include/sys/types.h" L:66 Error:#32:Already defined
Compilation aborted