Página 1 de 3

Dudas con Uwol2 (CPC)

Publicado: Jue, 19 Feb 2015, 09:48
por mode2
Buenas fieras,

Ante todo espero que todo bien y especialmente la criatura. ;-)

Estoy compilando el Uwol2 y aunque da algunos 'warnings' termina compilando y haciendo el binario pero a la hora de ejecutarlo, nada más pintar la primera pantalla o bien me sale un número (el 24) en el margen izquierdo superior y se congela el juego, o sale el mensaje del final y luego sale de nuevo la pantalla de presentación y se congela, etc...
¿Será por la versión de z88dk y/o versión de CPCRSLIB tengo que compilar?

Saludos.

Re: Dudas con Uwol2 (CPC)

Publicado: Jue, 19 Feb 2015, 10:42
por na_th_an
Hm - hace ya mucho tiempo, pero es probable que fuese compilado con la 1.9 de z88dk. De todos modos, no creo que esto influya en el resultado final.

¿Qué haces para ejecutar el binario en el emulador? A lo mejor el problema está ahí. Mientras respondes, voy a mirar a ver si veo algo en mi carpeta de desarrollo. La verdad es que no recuerdo ni la dirección de inicio.

Re: Dudas con Uwol2 (CPC)

Publicado: Jue, 19 Feb 2015, 11:39
por na_th_an
No veo gran cosa, pero parece que la dirección de carga y ejecución es 6900.

Re: Dudas con Uwol2 (CPC)

Publicado: Jue, 19 Feb 2015, 12:18
por mode2
¿Cómo? Pues en vuestro Make.bat aparece "-zorg=12200", o sea, que no es la misma dirección. De todos modos, el programa arranca bien, con su pantalla de presentación del juego, su mensaje de pulsar tecla y dibujando la primera pantalla y eso no lo haría con una dirección de carga/ejecución distinta, entiendo que no haría nada. Debe ser otro problema. :cabesa:

Re: Dudas con Uwol2 (CPC)

Publicado: Jue, 19 Feb 2015, 12:33
por na_th_an
El cargador del disco carga el binario en su dirección por defecto, que según la cabecera de amsdos es 6900, y luego ejecuta ahí con un CALL. Yo no me fiaría mucho de los make.bat, es posible que hayan sobrevivido mal a algún tipo de jodimiento de datos por pérdida de pendrives o algo así. Yo tengo un par (uno solo saca .asm para probar una cosa) y tienen direcciones diferentes.

Sin embargo miro "tilemapconf" y crea un buffer para la pantalla desde $40 que ocupa hasta 12200...

Joder, esto es un misterio XDDD

A ver si lo puedo ver con más tiempo.

Re: Dudas con Uwol2 (CPC)

Publicado: Jue, 19 Feb 2015, 12:39
por na_th_an
Si es que ni siquiera puedo hacer funcionar el .bin que viene en la carpeta, sin compilar ni nada. Joe, no me acuerdo de un carajo.

Re: Dudas con Uwol2 (CPC)

Publicado: Jue, 19 Feb 2015, 12:43
por na_th_an
Hostia, de puto milagro lo he visto !

Es que cargarlo tiene su guasa. Pero guasa. Hay que cargarlo más abajo, y luego moverlo más arriba. Lo que hace el cargador BASIC es cargarlo en 6900, y luego ejecuta una rutina en 6800 que lo mueve más arriba con un lddr. Esto es porque pisa parte de la memoria que el CPC usa para el editor de BASIC y se cuelga si lo cargas en 12200 directamente.

$this->bbcode_second_pass_code('', 'org 6800
di
ld de, 47462
ld hl, 42162
ld bc, 35263
lddr
call 12200')

En winape, por ejemplo, tienes que poner el binario en 6900 y luego ejecutar ese código, que pone las cosas en su sitio. Se puede hacer todo desde el ensamblador en linea que trae.

No sé qué emulador usarás o cómo cargarás los binarios. En WinApe es como se hace. Un poco raro, si me preguntas, pero asín es el CPC... Atravesaíco.

Re: Dudas con Uwol2 (CPC)

Publicado: Jue, 19 Feb 2015, 12:46
por na_th_an
Pasos:

1.- Pones uwol2.bin en el directorio de WinAPE.
2.- Ejecutas WinAPE.
3.- Pulsas F3.
4.- Pones esto:

$this->bbcode_second_pass_code('', 'org 6900
nolist
incbin "uwol2.bin"
org 6800
di
ld de, 47462
ld hl, 42162
ld bc, 35263
lddr
call 12200')

5.- Lo ejecutas (F9)
6.- Te vas a la ventana de WinAPE
7.- Escribes en BASIC "CALL 6800"... et voie la.-

Lo he probado con mi uwol2.bin, sin recompilar. Si ves que no funciona recompilando, prueba con esta versión de z88dk. Ya trae el CPCRSLIB y CPCWYZLIB (viejos). Es el que usaba en la época, así que debería funcionar.

Re: Dudas con Uwol2 (CPC)

Publicado: Jue, 19 Feb 2015, 12:50
por mode2
¡¡Jo,jo!!, claro, yo lo que hacíaera esto:

org 12200
incbin "uwol2.bin"
run 12200

Lo probaré.

¡Muchas gracias!

Re: Dudas con Uwol2 (CPC)

Publicado: Jue, 19 Feb 2015, 14:59
por mode2
Efectivamente, si lo cogemos tal cual de tu ejecutable funciona, pero si pillamos los fuentes ya sea con la versión del CPCRSLIB actual o con la que tu adjuntas (copio los dos .lib en el directorio donde están los fuentes a compilar). Se queda colgado, se queda en la pantalla de BASIC y sale basurilla en la pantalla. :?