Averno para ORIC

Avatar de Usuario
Chema
Mensajes: 2124
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 1520 veces
Agradecimiento recibido: 484 veces
Contactar:

Re: Averno para ORIC

Mensajepor Chema » 29 Mar 2019 14:07

Último mensaje de la página anterior:

Sí, hay varios... Yo recuerdo haber usado el vector de interrupción, pero no sé si será lo mejor. En Defence-Force Symoon puso:

$C800 seems a good candidate.
= 00 => ROM 1.0
= 4E => ROM 1.1
= 07 => Sedoric 3 or 4 overlay
= 09 => Sedoric 1 overlay


Así que si PEEK(#C800)<>0 es un Atmos. O al menos NO es un 1 (podría tener una ROM modificada o SEDORIC o algo así)

dancresp
Mensajes: 5320
Registrado: 13 Nov 2010 02:08
Agradecido : 128 veces
Agradecimiento recibido: 250 veces

Re: Averno para ORIC

Mensajepor dancresp » 31 Mar 2019 21:22

Gracias chema y silicebit.

Al final he modificado el programa para conseguir un código compatible para los dos modelos de ORIC.

He añadido una línea "3001 Z=ABS(PEEK(#C800))<>0)" que pone la variable Z=0 cuando es un ORIC-1 o Z=1 cuando es un ORIC-Atmos.

Posteriormente he modificado la línea 2130 restando Z a la dirección inicial de la memoria de vídeo en la rutina que guarda los caracteres en la matriz S.

En 505 he tenido que partir un IF/THEN/ELSE en dos líneas ya que da un error de sintaxis en ORIC-1, pero no en ATMOS. Supongo que es el famoso bug, porque la línea no tiene ningún misterio.

Y en la pantalla de presentación he tenido que acortar un carácter tres líneas, ya que en ORIC-1 provocaban un salto de línea y se descuadraban los colores.

Por el resto, el programa funciona perfectamente en los dos modelos, excepto por un pequeño "poltergeist" que hace que en el ORIC-1 los números del marcador se ponen verde cuando coges una llave. He estado dos horas mirando de encontrar el motivo, dándome por vencido. Incluso he forzado de poner un atributo en blanco justo antes, pero nada. En el ATMOS no pasa. Supongo que otro "bug".

Pues nada, gracias a todos y mañana subo el código fuente actualizado.

Avatar de Usuario
Chema
Mensajes: 2124
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 1520 veces
Agradecimiento recibido: 484 veces
Contactar:

Re: Averno para ORIC

Mensajepor Chema » 31 Mar 2019 21:59

Genial!!!

dancresp escribió:En 505 he tenido que partir un IF/THEN/ELSE en dos líneas ya que da un error de sintaxis en ORIC-1, pero no en ATMOS. Supongo que es el famoso bug, porque la línea no tiene ningún misterio.


Efectivamente. Ese es uno de los bugs más serios y clásicos de la ROM 1.0 (la del Oric-1)

dancresp escribió:
Por el resto, el programa funciona perfectamente en los dos modelos, excepto por un pequeño "poltergeist" que hace que en el ORIC-1 los números del marcador se ponen verde cuando coges una llave. He estado dos horas mirando de encontrar el motivo, dándome por vencido. Incluso he forzado de poner un atributo en blanco justo antes, pero nada. En el ATMOS no pasa. Supongo que otro "bug".


Eso no tengo ni idea de por qué sera... .

Avatar de Usuario
Silicebit
Mensajes: 1462
Registrado: 16 May 2011 21:13
Ubicación: La buhardilla del silicio.
Agradecido : 80 veces
Agradecimiento recibido: 178 veces
Contactar:

Re: Averno para ORIC

Mensajepor Silicebit » 01 Abr 2019 11:57

dancresp escribió:... Por el resto, el programa funciona perfectamente en los dos modelos, excepto por un pequeño "poltergeist" que hace que en el ORIC-1 los números del marcador se ponen verde cuando coges una llave. He estado dos horas mirando de encontrar el motivo, dándome por vencido. Incluso he forzado de poner un atributo en blanco justo antes, pero nada. En el ATMOS no pasa. Supongo que otro "bug".

Pues nada, gracias a todos y mañana subo el código fuente actualizado.

Sí, es otro "bicho" documentado de la ROM del Oric-1. En el libro que te dije está comentado:

2. STR$, when packing a positive number, puts the attribute ‘2’ at the front instead of a space. This often results in green numbers! The cure is to use MID$ to take off the unwanted character or to define a new STR$ function using the & function.

¡¡Manda "eggs" con los bichitos de la ROM eh!! -507
El 6809 es el Rolls-Royce de los 8bits, el 6502 es el Mercedes, y el Z80 el SEAT 850. Sorry, but... I think different. :-P -0r1c -m3s3x -t4nd1 -cbmja YouTube

dancresp
Mensajes: 5320
Registrado: 13 Nov 2010 02:08
Agradecido : 128 veces
Agradecimiento recibido: 250 veces

Re: Averno para ORIC

Mensajepor dancresp » 01 Abr 2019 15:24

Silicebit escribió:2. STR$, when packing a positive number, puts the attribute ‘2’ at the front instead of a space. This often results in green numbers! The cure is to use MID$ to take off the unwanted character or to define a new STR$ function using the & function.

Toma !!! Este lo he pillado de lleno.

Doy fe que los síntomas son numeritos verdes... :mrgreen:

Avatar de Usuario
Silicebit
Mensajes: 1462
Registrado: 16 May 2011 21:13
Ubicación: La buhardilla del silicio.
Agradecido : 80 veces
Agradecimiento recibido: 178 veces
Contactar:

Re: Averno para ORIC

Mensajepor Silicebit » 05 Abr 2019 11:07

He cazado un par de bugs que no son de la ROM, aquí van:

Averno_bug2.jpg
¡El ladrillo fantasma!
Averno_bug2.jpg (129.82 KiB) Visto 201 veces

Aquí, sin tocar la 'z' o la 'x', pulsas return, y debajo del fantasma aparece un ladrillo que cae hasta topar con los primeros ladrillos que encuentra, acto seguido cae el fantasma para comenzar el juego.

Averno_bug3.jpg
¡El ladrillo fantasma y 2!
Averno_bug3.jpg (129.66 KiB) Visto 201 veces

En esta posición pulsas return, y en el hueco aparece un ladrillo que cae hasta abajo, aparece tantas veces como veces pulses return, hasta llegar a tapar el hueco por donde debe caer el fantasma.

Averno_bug.jpg
¡¡Mi amor, ya tu sabes que la noche me confunde!!
Averno_bug.jpg (132.22 KiB) Visto 201 veces

Cuando el fantasma está en este nivel y pulsas return, el programa casca dando el error que aparece en el screenshot. Sólo pasa cuando el fantasma está en cualquier posición a ese nivel.
El 6809 es el Rolls-Royce de los 8bits, el 6502 es el Mercedes, y el Z80 el SEAT 850. Sorry, but... I think different. :-P -0r1c -m3s3x -t4nd1 -cbmja YouTube

dancresp
Mensajes: 5320
Registrado: 13 Nov 2010 02:08
Agradecido : 128 veces
Agradecimiento recibido: 250 veces

Re: Averno para ORIC

Mensajepor dancresp » 05 Abr 2019 13:52

Silicebit escribió:He cazado un par de bugs que no son de la ROM, aquí van...

Ostras !!! Esto hay que mirarlo y corregirlo, que el programa ha de ser perfecto. -thumbup

Te tendré que nombrar beta-tester de mi próximo juego, para sacarlo pulido desde el principio. Es bastante más complejo que el Averno, y con más pantallas.
Si no pasa nada la próxima semana lo publico, con las técnicas de no borrar el fondo muy mejoradas (ya no hay matriz), y el uso de DOKE en lugar de PLOT para mostrar cosas en pantalla que hacen que tenga un rendimiento muy decente. Y ya no es monocromo !!! (gracias a vuestros consejos)

SolomonsKey-Presentacion.png
SolomonsKey-Presentacion.png (3.08 KiB) Visto 191 veces

Avatar de Usuario
Chema
Mensajes: 2124
Registrado: 21 Jun 2012 20:13
Ubicación: Gijón
Agradecido : 1520 veces
Agradecimiento recibido: 484 veces
Contactar:

Re: Averno para ORIC

Mensajepor Chema » 05 Abr 2019 15:03

Macho, eres la bomba... Flipado me dejas... Y yo sin tiempo material para nada :(

Avatar de Usuario
Silicebit
Mensajes: 1462
Registrado: 16 May 2011 21:13
Ubicación: La buhardilla del silicio.
Agradecido : 80 veces
Agradecimiento recibido: 178 veces
Contactar:

Re: Averno para ORIC

Mensajepor Silicebit » 06 Abr 2019 13:15

dancresp escribió:... Te tendré que nombrar beta-tester de mi próximo juego, para sacarlo pulido desde el principio. Es bastante más complejo que el Averno, y con más pantallas.

¡¡Pintaza que tiene!! -shock Ya sabes que estoy por aquí... -grin
El 6809 es el Rolls-Royce de los 8bits, el 6502 es el Mercedes, y el Z80 el SEAT 850. Sorry, but... I think different. :-P -0r1c -m3s3x -t4nd1 -cbmja YouTube

Avatar de Usuario
Silicebit
Mensajes: 1462
Registrado: 16 May 2011 21:13
Ubicación: La buhardilla del silicio.
Agradecido : 80 veces
Agradecimiento recibido: 178 veces
Contactar:

Re: Averno para ORIC

Mensajepor Silicebit » 06 Abr 2019 13:18

Si usas variables de enteros el basic puede ir un poquito más rápido que si las usas de coma flotante, sobre todo si usas matrices. Pruébalo, a ver si se nota algo.

https://www.atarimagazines.com/compute/ ... s_page.php
El 6809 es el Rolls-Royce de los 8bits, el 6502 es el Mercedes, y el Z80 el SEAT 850. Sorry, but... I think different. :-P -0r1c -m3s3x -t4nd1 -cbmja YouTube

dancresp
Mensajes: 5320
Registrado: 13 Nov 2010 02:08
Agradecido : 128 veces
Agradecimiento recibido: 250 veces

Re: Averno para ORIC

Mensajepor dancresp » 06 Abr 2019 15:16

Silicebit escribió:Si usas variables de enteros el basic puede ir un poquito más rápido que si las usas de coma flotante, sobre todo si usas matrices. Pruébalo, a ver si se nota algo.

En MSX sí funciona. Hice pruebas y iban un 20% más rápido. Pero lo probé en el ORIC y no iba más rápido, con lo que no funciona.

Lo que sí que hago es declarar primero las variables más usadas, y esto si funciona.

Del juego me queda depurar el movimiento de los enemigos y ya está, porque el resto está terminado.


Volver a “Lenguajes de Programación y herramientas Dev”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado