Karoshi MSX Community
06 de Julio de 2021, 05:46:25 am *
Bienvenido(a), Visitante. Por favor, ingresa o regístrate.

Ingresar con nombre de usuario, contraseña y duración de la sesión
Noticias:
 
   Inicio   Ayuda Buscar Ingresar Registrarse  
Páginas: 1 2 3 [4] 5 6
  Imprimir  
Autor Tema: MSXdev'06 - RESUMEN FINAL  (Leído 31574 veces)
0 Usuarios y 1 Visitante están viendo este tema.
Ramones
Visitante
« Respuesta #45 : 10 de Enero de 2007, 12:19:59 pm »

Saludos Armando. Lo que no entiendas solo tienes que plantearlo y se te explica de otra manera.

Hola Germán, pues nada, vamos a ver si nos aclaramos. Smiley Que fundamentalmente creo que te interesa más a ti, para ver si podemos solucionar el problemilla de tu programa.

Pero es en tu ordenador, y no dices que tipo es, ni a que frecuencia de pantalla va, ni nada. ¿En que momento se produce la corrupción del gráfico?, ¿en todo momento?

No. Se produce en el juego en si mismo. El pintado la parte de juego para ser más exactos, es la parte más afectada. Cuando entras en el juego muchos tiles aparecen en negro. Y cuando juegas el scroll no se pinta bien.

El title, con su scroll de letras, el logo ... todo eso funciona correctamente.

¿Qué modelo? Pues hombre, es un MSX1, y eso te lo he dicho ya varias veces, creo que debería de sobrar, puesto que, si me ciño a lo que quieres que me ciña (las bases del concurso) el aplicativo debe de funcionar en un MSX1 con 16k de Ram, y no funciona.

Pero vamos, ya que te veo amante de datos, que son indiferentes pues estoy seguro que fallará en todos los MSX1 (menos en el SVI738 que lleva el 9938 y ahí si funcionará), es un Sony HB20P. 64k de Ram, 16k Vram.

¿Y tu solo has llegado a esa conclusión? Tongue. Bromas aparte, esto ya se sabía antes de que tu comentaras nada.

Lo cual nos lleva a que sigues haciendo algo MAL. Si con BIOS que ahora los dos hemos llegado a la conclusión de que no falla, falla, es que el problema es del programa. Smiley

Pués no, ya que en su momento en cada render se guardaban y recuperaban los valores de los registros, por si era eso que dices, se desactivaban las interrupciones, etc, pero no.

No, aquí es donde tu no me has entendido, aunque seguramente, viendo nuestros post, parece ser que no nos entendemos muy bien.

Me refiero a escribir en los puertos del VDP con las interrupciones activas. También es cierto que pudiese ser algún registro que no salves y te destroce todo, pero si el problema fuese ese, también pasaría en MSX2 y superior, y no pasa.

Al igual que también debería de pasar el problema en MSX2 o superior si fuese eso, pero es algo que nunca puedo saber a ciencia cierta.

Debes de mirar el código antes de emitir opiniones que al final son equivocadas, como lo de las pausas. Se implementó pausas después y antes del render y no solucionaba nada. Por eso se realizó ese render específico que resuelve el problema. ¿Cual era ese otro error?

Hombre, claro que lo podría hacer. Pero a veces me sobra con ver una cosa para saber por donde vienen los problemas. Además si te miro el código y te doy la solución, la cosa pierde su gracia, que ya no podría meterme con tu programa. Smiley Me interesa que falle, hombre.

(seguimos con las bromas claro está Cheesy )

Te explico, si llegue a esa primera conclusión es porque YO mismo la he cagado pero MUCHO con eso. Estaba demasiado acostumbrado a que en MSX2 funcionan unas cosas que en MSX1 *no* funcionan. Y como me pasó y el problema era exactamente igual, pues emití mi juicio.

Pero bueno, ahora que lo dices ... así hablando he caído en una cosa.

¿Qué entiendes tu por "pausas" entre escrituras en el VDP? Es que igual está aquí el problema.

Un OTIR es un problemón. Según el TH del VDP esto te puede ir bien, si haces ese otir cuando la pantalla esta desactivada. Pero con la pantalla activa y fuera de VBL es un fallo seguro de corrupción.

Un OUTI, 3 cuartos de lo mismo. Tiene el mismo problema. Hace un tiempo hice un cálculo estimado simple para ver una rutina que me funcionase correctamente en todos los casos, sin preoucparme de si estaba o no en la VBL o tenía activa la pantalla.

Más o menos, así a ojímetro, calcule unos 12 o 16 ciclos entre escritura y escritura.

Resumiendo, si quiero transferir con outi (pues otir ya está descartado totalmente), lo hago así, que funciona correctamente (hablando de transferencias MASIVAS).

di
[inicialiacion]
bucle:
outi
jr nz,bucle

Un jr nz, sobra para que todo funcione. Si hablamos de pausa entre OUT y OUT, la cosa se va a unos 3 nops entre uno y otro.

Y asi te aseguro, comprobadísimo que no pierdes datos.

Bien, Robsy habla de efectividad y eficiencia en la programación, pero él mismo se contradice haciendo un agravio comparativo con otra aplicación, ya que esa aplicación esta desarrollada en un lenguaje compilado, e insisto esto no debe presentar ningún inconveniente, pero según el criterio de Robsy ¿es eficiente?. Ademas, ¿quien dice que toda la rom debe ser código?

La verdad no se cual es el agravio comparativo. Pero puestos a mirar efectividad de código, con lenguaje compilado podría hacer simil de tus 128k con los 128k del MH de Nerlaska. El usa C y esto es una cruz por el espacio en CODIGO que usa. Y sin embargo te ha metido un RPG en 128k así. Y tu has metido un simple motor de juego, de menos de 8k en ASM, en 128k, por lo tanto a ojos de un programador se ve clara la diferencia, y Robsy lo mira con esos ojos.

Independientemente de eso, todo da un poco igual. Es un dato tiene en cuenta un programador cuando hace un análisis de otro programa, es deformación profesional. A ojos de un jugador, todo eso da igual. Lo que importa es el juego, no el tamaño que ocupa.

Y sobre todo HOY en día, y con las bases del concurso en la mano, claro. Ahora bien, si tu trabajases en una empresa de videojuegos para MSX de hace unas décadas y quisieras sacar Skate tal como lo has hecho, te aseguro que te hubiesen denegado el proyecto. Gastar el hard de un megarom con lo CARO que era en la época cuando encima no está justificado, pues no era algo muy normal.

¿O es que me puedes comparar la cantidad de "juego" y variedad de un Usas, un Salamander o un Galious, Golvellius (sigo?) que son 128k, con tus 128k?

Y si, antes de que me digas lo mismo otra vez, tu juego es totalmente legal para con las bases del concurso. Todo esto es un detalle, un comentario y no afecta para nada.

Pués yo te lo explico, lo primero que se publica son las bases, y sorpersa! ahí puedes leer que se pueden implementar rom de 128k, y en ese momento es cuando deberías de hacer tus comentarios de como debe ser, y no cuando ya está publicada la aplicación.

Ains ... este punto me pierde. Creo que no nos entendemos. Yo te digo, como Edu, que los 128k no están justificados, tu me dices que lo podía haber dicho antes, y yo te digo que no soy vidente y no podía saber como iba a ser tu juego. Y ahora me vienes con que está en las reglas y lo tenía que haber dicho antes.

Creo que no nos entendemos German. Smiley Yo hablaba como Edu, de tamaño 128k no justificado PARA TU JUEGO, no para el concurso.

Después dices que no entiendes las cosas. Eso era y es un ejemplo de posibles errores ya que tu solo depuras a nivel de sistema. Y estoy tranquilo, no sé si tu lo estas, ya que esos testers y que tu ya comentas no te lo van a detectar todo, y el error colateral es un ejemplo de lo que no te van a detectar.

No, no las entiendo, y pongo la mano en el juego que no soy el único que no se termina de aclarar con tus mensajes. Smiley Ya comentamos que a veces la comunicación telemática da lugar a maltentendidos y es lo que intento solventar.

A ver, no se como explicarte que yo depuro a nivel DE TODO. Y cuando el programa funciona correctamente y no tiene errores colaterales, gracias a mis testers, es cuando le hago el test de máquina para ASEGURARME que va en todas las plataformas compatibles MSX para los cuales el programa ha sido desarrollado.

¿Que parte no entiendes de eso? Cheesy

Además, en este punto, no es tu caso, puesto que me he atrevido a mirar un poco tu código y veo qu ehaces alguna que otra burrada para seleccionar los slots del juego, ya que ignoras completamente el subslot. Hablo un poco sin poder probarlo, pero me huele que tu programa insertado en un cartucho y en un expansor de slots NO funcionará. Smiley

¿Ves? No es un error colateral, es un error de programa y ha de ser testeado en muchas máquinas para ver que pasa eso. La diferencia entre mi código y el tuyo es que yo YA tengo eso en cuenta y no tengo que hacer ese test AUNQUE LO HAGO. Smiley

Pués lo que te estoy diciendo desde hace algún post!!!!. Ya te lo he comentado antes, tu depuras a nivel de sistema, o llámalo arquitectura, hardware o como quieras. Y no es correcto partir de la base de que tu programa está bien, ya que se debe hacer la aplicación en función a la arquitectura, por ejemplo.

A ver, aquí son habas contadas, y no hay programa en funcion de NADA. Tu debes de hacer un programa que vaya en MSX con 16k de Ram y 16k de Vram. Y PUNTO.  Smiley Y ese programa te irá si lo haces correctamente en TODOS los MSX. No hay más vuelta de hoja German.

Se agradece. Me parece que el programa es funcional como está, si tu dices que en tu ordenador no va, se podría observar donde está el problema.


Perdona tu programa NO es funcional, y te lo puedo demostrar cuando quieras.  Creo que te estás confundiendo mucho conmigo German, y con Edu y con los demás. Mi única intención es que puedas arreglar ese problema y no lo arrastres para tus futuras "aplicaciones". Aquí nadie te ha dicho las cosas para mal. Pero si tu sigues en tus 13 que todo va bien, pues adelante. No podré jugar a tus aplicaciones en mi MSX. Creo que no es eso lo que buscas, no?

El error en MSX1 no me lo invento, no saco nada con inventármelo hombre. Smiley Y además, precisamente estaba en mi casa Imanok anteayer cuando lo probamos y lo vio con sus propios ojos.

Repito: Sigo AQUI para que me mandes las pruebas que hagan falta, para ayudarte con las rutinas o lo que sea.

En línea
Ramones
Visitante
« Respuesta #46 : 10 de Enero de 2007, 12:30:34 pm »

Y va a ser que yo tenía razón. Es que me has picado con que mire el código y tal. Tongue

Que he mirado tu código, y haces SENDOS *otir* para el render. Mal.

Sustituye eso por lo que te he explicado de outi y jrnz. Seguro que lo tenemos solucionado con eso.

Cheesy


En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #47 : 10 de Enero de 2007, 12:47:02 pm »

Mi consideración sobre el tamaño ha quedado perfectamente explicada por Ramones: me gusta que exista una proporción entre la complejidad del juego como tal y su tamaño. Y soy partidario de que en sistemas pequeños y limitados, como es el MSX, se debe optimizar al máximo el consumo de recursos (ROM, RAM, CPU). De todos modos, si quieres otros argumento de eficiencia, prueba a ver la comparación entre el tamaño de la ROM comprimida en ZIP y sin comprimir.

Respecto al "agravio comparativo" que aludes, me temo que no es tal: el GRID WARS, programado en C, me parece un juego más divertido, más MSXero y más original. Además, lo puedo cargar y probar en mis MSX1 de 64 KB sin usar hardware adicional.

Ahora abandono todos estos argumentos estériles porque cada uno es libre de programar como le venga en gana, en el lenguaje que quiera y utilizando las técnicas que prefiera, optimizando o no, comprimiendo o no, etc. A mi, lo que de verdad me revienta es que los juegos de más de 48 KB no pueden ser jugados en un MSX1 de 64 KB sin añadirle hardware adicional. Y esto no tiene nada que ver con las reglas de MSXdev, que son las que son y no he instaurado yo.

En serio, Germán, que no te tomes nada de todo esto a mal. Sencillamente no compartimos un mismo punto de vista respecto a lo que debería ser el desarrollo de videojuegos para MSX. Tú seguirás por tu camino y yo por el mío, pero en tanto sigamos produciendo juegos para MSX, todo está bien.

Respecto al tema de compatibilidad, te recomiendo que aceptes la ayuda que te ofrece Ramones para solucionar el tema de la corrupción de los gráficos del juego. En temas de compatibilidad y estandarización, Ramones es un halcón y sabe de lo que habla.
En línea
Saeba
Karoshi Lover
***
Mensajes: 219


« Respuesta #48 : 10 de Enero de 2007, 03:05:05 pm »

Buenas,


Ya que estamos, Ramones, podemos probarlo en mi VG8020. Si te pasas hoy por casa te lo llevas...  Roll Eyes Roll Eyes Grin Grin Grin

Yo fui testigo de los gráficos corruptos en el MSX1 Sony. En mi turboR y en el 8245 (con v9958) va perfecto, claro.

Y lo de utilizar gráficos de otros... pues en algunas ocasiones es mejor, para qué engañarnos. Tampoco es fácil encontrar buenos grafistas en el MSX. De todas formas, si encontramos uno, aprovechémoslo.  Wink
En línea
jltursan
Karoshi Forum's Guru
*******
Mensajes: 1516


¿Que es lo que has aprendido hoy?


WWW Email
« Respuesta #49 : 10 de Enero de 2007, 03:18:51 pm »

Citar
Que he mirado tu código, y haces SENDOS *otir* para el render. Mal.

¿Y no será que esos OTIR están metidos con calzador en el VBL (si no son muy grandes, claro)?  Roll Eyes.

En el foro hemos tenido auténticas charlas kilométricas acerca del tema, al final creo que se sacaron muchas cosas en claro Cheesy

<filosófico>
Citar
ya que se debe hacer la aplicación en función a la arquitectura,

Me resulta llamativa la afirmación; es curioso comprobar que con el paso de los años y con el consiguiente aumento en la complejidad del hardware y del software se ha pasado a un modelo de desarrollo en el que la aplicación debe de ser independiente de la arquitectura. Filosofía que, en cierta manera, el desarrollo para MSX compartía especialmente.
</filosófico>
« Última modificación: 10 de Enero de 2007, 03:22:34 pm por jltursan » En línea

Doom dee doom dee doom
YMN
Karoshi Newbie
*
Mensajes: 20


« Respuesta #50 : 10 de Enero de 2007, 04:45:10 pm »

 Saludos Robsy.

Cita de: robsy
Mi consideración sobre el tamaño ha quedado perfectamente explicada por Ramones: me gusta que exista una proporción entre la complejidad del juego como tal y su tamaño. Y soy partidario de que en sistemas pequeños y limitados, como es el MSX, se debe optimizar al máximo el consumo de recursos (ROM, RAM, CPU). De todos modos, si quieres otros argumento de eficiencia, prueba a ver la comparación entre el tamaño de la ROM comprimida en ZIP y sin comprimir.

 Que si Robsy, que si. Pero es tu opinión y que se respeta, pero creo que se debe hablar de sistemas y cuanto más simples más eficientes son. Y la comparación del zip es improcedente en el sentido de que puede que lo que está en zip ya esté comprimido.

Cita de: robsy
Respecto al "agravio comparativo" que aludes, me temo que no es tal: el GRID WARS, programado en C, me parece un juego más divertido, más MSXero y más original. Además, lo puedo cargar y probar en mis MSX1 de 64 KB sin usar hardware adicional.

 Igual, es tu opinión.

Cita de: robsy
Ahora abandono todos estos argumentos estériles porque cada uno es libre de programar como le venga en gana, en el lenguaje que quiera y utilizando las técnicas que prefiera, optimizando o no, comprimiendo o no, etc. A mi, lo que de verdad me revienta es que los juegos de más de 48 KB no pueden ser jugados en un MSX1 de 64 KB sin añadirle hardware adicional. Y esto no tiene nada que ver con las reglas de MSXdev, que son las que son y no he instaurado yo.

 Pués eso es lo que decía!!!, ¿hay que preguntar a la gente de los foros como quieren la aplicación?

Cita de: robsy
En serio, Germán, que no te tomes nada de todo esto a mal. Sencillamente no compartimos un mismo punto de vista respecto a lo que debería ser el desarrollo de videojuegos para MSX. Tú seguirás por tu camino y yo por el mío, pero en tanto sigamos produciendo juegos para MSX, todo está bien.

Respecto al tema de compatibilidad, te recomiendo que aceptes la ayuda que te ofrece Ramones para solucionar el tema de la corrupción de los gráficos del juego. En temas de compatibilidad y estandarización, Ramones es un halcón y sabe de lo que habla.

 Para nada Robsy, no sé por que interpretas eso. Y estamos en más cosas de acuerdo de las que tu te crees. Sobre lo de Armando, no es nuevo lo que dices, además de cierto.

 Recibe un saludo.
En línea
YMN
Karoshi Newbie
*
Mensajes: 20


« Respuesta #51 : 10 de Enero de 2007, 04:59:27 pm »

Cita de: Ramones
Hola Germán, pues nada, vamos a ver si nos aclaramos.  Que fundamentalmente creo que te interesa más a ti, para ver si podemos solucionar el problemilla de tu programa.

 Saludos Armando. Pués yo diría que te interesa a ti, por hacerlo funcionar en tu ordenador.

Cita de: Ramones
No. Se produce en el juego en si mismo. El pintado la parte de juego para ser más exactos, es la parte más afectada. Cuando entras en el juego muchos tiles aparecen en negro. Y cuando juegas el scroll no se pinta bien.

El title, con su scroll de letras, el logo ... todo eso funciona correctamente.


 Hombre!!, esto ya es otra cosa. Ya por lo menos haces una descripción y no te limitas a decir "esto no funciona", bien.


Cita de: Ramones
¿Qué modelo? Pues hombre, es un MSX1, y eso te lo he dicho ya varias veces, creo que debería de sobrar, puesto que, si me ciño a lo que quieres que me ciña (las bases del concurso) el aplicativo debe de funcionar en un MSX1 con 16k de Ram, y no funciona.

Pero vamos, ya que te veo amante de datos, que son indiferentes pues estoy seguro que fallará en todos los MSX1 (menos en el SVI738 que lleva el 9938 y ahí si funcionará), es un Sony HB20P. 64k de Ram, 16k Vram.

 Amante de datos no. Debes de decir las características del ordenador, que ya te he explicado que existe incompatibilidad a nivel de microcódigo.

 En ese ordenador debería de funcionar, no explica como haces la carga de la rom, ya que puede ser un problema del cargador, no sé.

Cita de: Ramones
Lo cual nos lleva a que sigues haciendo algo MAL. Si con BIOS que ahora los dos hemos llegado a la conclusión de que no falla, falla, es que el problema es del programa.

 Demasiado categórico en tus afirmaciones. Y que es del programa es relativo, ¿quien te dice que no es por una interrupción o cualquier cosa a nivel de arquitectura de tu ordenador?, por ejemplo.


Cita de: Ramones
No, aquí es donde tu no me has entendido, aunque seguramente, viendo nuestros post, parece ser que no nos entendemos muy bien.

Me refiero a escribir en los puertos del VDP con las interrupciones activas. También es cierto que pudiese ser algún registro que no salves y te destroce todo, pero si el problema fuese ese, también pasaría en MSX2 y superior, y no pasa.

Al igual que también debería de pasar el problema en MSX2 o superior si fuese eso, pero es algo que nunca puedo saber a ciencia cierta.

 Que no te preocupes Armando, tu aclara y ya está.

 Podrás observar en el procedimiento de render que comienza con un DI, ¿que más quieres?!!!. Y lo que te comenté de guardar los registros, se guardan todos.


Cita de: Ramones
Hombre, claro que lo podría hacer. Pero a veces me sobra con ver una cosa para saber por donde vienen los problemas. Además si te miro el código y te doy la solución, la cosa pierde su gracia, que ya no podría meterme con tu programa.  Me interesa que falle, hombre.

(seguimos con las bromas claro está  )

 Mira que gracioso!!!  Cheesy

Cita de: Ramones
Te explico, si llegue a esa primera conclusión es porque YO mismo la he cagado pero MUCHO con eso. Estaba demasiado acostumbrado a que en MSX2 funcionan unas cosas que en MSX1 *no* funcionan. Y como me pasó y el problema era exactamente igual, pues emití mi juicio.

 Claro, y lo exteriorisas metiendote con los programas de los demás. Tongue. Bromas aparte, es correcto y estoy de acuerdo con lo que haces siempre que sea constructivo, que te voy a decir.


Cita de: Ramones
¿Qué entiendes tu por "pausas" entre escrituras en el VDP? Es que igual está aquí el problema.

 Pués lo mismo que tu, que al VDP le dé tiempo a realizar la escritura.


Cita de: Ramones
La verdad no se cual es el agravio comparativo. Pero puestos a mirar efectividad de código, con lenguaje compilado podría hacer simil de tus 128k con los 128k del MH de Nerlaska. El usa C y esto es una cruz por el espacio en CODIGO que usa. Y sin embargo te ha metido un RPG en 128k así. Y tu has metido un simple motor de juego, de menos de 8k en ASM, en 128k, por lo tanto a ojos de un programador se ve clara la diferencia, y Robsy lo mira con esos ojos.

Independientemente de eso, todo da un poco igual. Es un dato tiene en cuenta un programador cuando hace un análisis de otro programa, es deformación profesional. A ojos de un jugador, todo eso da igual. Lo que importa es el juego, no el tamaño que ocupa.

 Que sé lo que quiere decir Robsy, pero si hablas de conceptos como efectividad y pones de ejemplo un programa compilado, pués ya me dirás tu. Y que conste que el programa de Alberto es igual de correcto que cualquier otro independientemente del lenguaje usado, y te vuelvo a remitir lo que comenté sobre la gente que usa basic, por ejemplo.

 De todas formas se debe hablar de sistemas, y se sabe que cuanto más simple es un sistema más efectivo es.

 Ejemplo: en msx2 se puede realizar un scroll pixel a pixel solo usando la instrucción copy y muy poco código. En otros sistemas esto no es así, y es más complejo el desarrollo.

 Desde un punto de vista del código la aplicación de msx2 es más eficiente, usa muy poco código. Pero el sistema no es simple, es un msx2 con un procesador de video que actua de procesador satélite y libera al z80.

Cita de: Ramones
Y sobre todo HOY en día, y con las bases del concurso en la mano, claro. Ahora bien, si tu trabajases en una empresa de videojuegos para MSX de hace unas décadas y quisieras sacar Skate tal como lo has hecho, te aseguro que te hubiesen denegado el proyecto. Gastar el hard de un megarom con lo CARO que era en la época cuando encima no está justificado, pues no era algo muy normal.

 Pués es lo mismo que el contest, se implementaría la aplicación en función, en este caso, de la situación de mercado. Pero tu no puedes hacer una comparación asimétrica, ya te explique que aquí no hay ánimo de lucro y cualquier forma de hacer un programa es correcta, y el ejemplo que tu planteas es otra cosa.

Cita de: Ramones
¿O es que me puedes comparar la cantidad de "juego" y variedad de un Usas, un Salamander o un Galious, Golvellius (sigo?) que son 128k, con tus 128k?

 Otro agravio comparativo. Pones de ejemplo a Konami, Compile, etc., con los programas de este contest!!!.


Cita de: Ramones
Creo que no nos entendemos German.  Yo hablaba como Edu, de tamaño 128k no justificado PARA TU JUEGO, no para el concurso.

 Y yo te aclaro: creo que si, ya que con el mismo criterio se podría no justificar muchas otras aplicaciones, y no sería correcto.


Cita de: Ramones
Además, en este punto, no es tu caso, puesto que me he atrevido a mirar un poco tu código y veo qu ehaces alguna que otra burrada para seleccionar los slots del juego, ya que ignoras completamente el subslot. Hablo un poco sin poder probarlo, pero me huele que tu programa insertado en un cartucho y en un expansor de slots NO funcionará.

¿Ves? No es un error colateral, es un error de programa y ha de ser testeado en muchas máquinas para ver que pasa eso. La diferencia entre mi código y el tuyo es que yo YA tengo eso en cuenta y no tengo que hacer ese test AUNQUE LO HAGO.

 De eso nada, es correcta la implementación de la selección de slot. Y la diferencia con otros, es que insertan el código de selección de slot de konami, y después hablais de copias.

Cita de: Ramones
A ver, aquí son habas contadas, y no hay programa en funcion de NADA. Tu debes de hacer un programa que vaya en MSX con 16k de Ram y 16k de Vram. Y PUNTO.   Y ese programa te irá si lo haces correctamente en TODOS los MSX. No hay más vuelta de hoja German.

 Bien, lo que te planteaba era un ejemplo. Y eso que dices es muy parcial. Cierto que debe funcionar ahí, pero también en otros sistemas y modelos, y no porque funcione en esa configuración, ya te va a funcionar en las demás. Te puse el ejemplo de incompatibilidad a nivel de microcódigo, pero se puede hablar a nivel de puertos, etc.

Cita de: Ramones
Perdona tu programa NO es funcional, y te lo puedo demostrar cuando quieras.  Creo que te estás confundiendo mucho conmigo German, y con Edu y con los demás. Mi única intención es que puedas arreglar ese problema y no lo arrastres para tus futuras "aplicaciones". Aquí nadie te ha dicho las cosas para mal. Pero si tu sigues en tus 13 que todo va bien, pues adelante. No podré jugar a tus aplicaciones en mi MSX. Creo que no es eso lo que buscas, no?

 Creo que no me estoy confundiendo con nadie, ¿y eso de los demas?. Sé cual es tu intención y no sé de donde obtienes eso de "para mal", puede que de "los demas", no sé.

 No te voy a comentar que "todo va bien", pero creo que es correcto. Otra cosa es que tu creas que hay algo que no funciona y quieras que se revise, pués adelante!.

Cita de: Ramones
El error en MSX1 no me lo invento, no saco nada con inventármelo hombre.  Y además, precisamente estaba en mi casa Imanok anteayer cuando lo probamos y lo vio con sus propios ojos.

 ¿Quien ha dicho que te lo inventas?, y no es necesario que tengas a nadie, lo que tu digas me parece correcto. Por cierto, saludos a David!!!.


Cita de: Ramones
Repito: Sigo AQUI para que me mandes las pruebas que hagan falta, para ayudarte con las rutinas o lo que sea.

 Insisto, se agradece tu colaboración.


Cita de: Ramones
Y va a ser que yo tenía razón. Es que me has picado con que mire el código y tal. 

 Es que algo había que hacer para que hicieras algo más que comentar.  Tongue


Cita de: Ramones
Que he mirado tu código, y haces SENDOS *otir* para el render. Mal.

Sustituye eso por lo que te he explicado de outi y jrnz. Seguro que lo tenemos solucionado con eso.

 ¿Y a que has visto las pausas?, ¿y como las interrupciones estan desactivadas?, etc. Para que veas.

 De todas formas, esto ya es más interesante por que empiezas a aportar cosas. Lo otro son solo opiniones que se respetan aunque en algunas no se esté de acuerdo. Smiley

 Una sugerencia: sino te importa y si quieres seguir con el tema, esto se debería de seguir por email, ya que no creo que este sea el objetivo de este topic. Pero me da igual, es una sugerencia.

 Te envio por email la rom actualizada con lo que dices, tu diras.

 Para finalizar, agradecer tus opiniones y comentarios, que no se interpretan como algo negativo, independientemente de lo que te digan.

 Recibe un saludo.


En línea
pitpan
Karoshi Forum's Guru
*******
Mensajes: 1812


« Respuesta #52 : 10 de Enero de 2007, 05:15:46 pm »

Ahora sí que me he quedado pillado, Germán: si utilizas la instrucción OTIR (Ramones es quien la ha visto en el código, no yo), no entiendo cómo puedes forzar pausas.

Por otra parte, tu referencia a "incompatibilidades a nivel de microcódigo", aunque sea acertada, no soluciona el problema: los juegos deben funcionar perfectamente en todos los modelos de MSX con 16 KB de RAM. No vale echarle la culpa a la máquina, aunque en realidad sea así: de hecho, ésta es la razón de ser del "estándar" como tal.

Si algo NO FUNCIONA aunque sea en un único modelo de MSX, entonces no es "estándar MSX". Debe funcionar en TODOS, sin excepción.
En línea
YMN
Karoshi Newbie
*
Mensajes: 20


« Respuesta #53 : 10 de Enero de 2007, 05:39:24 pm »

Cita de: robsy
Ahora sí que me he quedado pillado, Germán: si utilizas la instrucción OTIR (Ramones es quien la ha visto en el código, no yo), no entiendo cómo puedes forzar pausas.

 Tranquilo Robsy y desbloqueate  Cheesy. Se entiende que las pausas estan entre los otir, además de otras que hay por ahí.
 Pero de todas formas, ya le he enviado la aplicación a Armando con sus modificaciones, haber que dice.

Cita de: robsy
Por otra parte, tu referencia a "incompatibilidades a nivel de microcódigo", aunque sea acertada, no soluciona el problema: los juegos deben funcionar perfectamente en todos los modelos de MSX con 16 KB de RAM. No vale echarle la culpa a la máquina, aunque en realidad sea así: de hecho, ésta es la razón de ser del "estándar" como tal.

 Pués eso lo que he dicho. Que además de funcionar con esa especificación que tu das, deben de funcionar en los otros. Pero como existe la incompatibilidad comentada, además de otras, pués el programa se debe hacer en función a la arquitectura, o sea, que tiene que funcionar en todas las arquitecturas.

Cita de: robsy
Si algo NO FUNCIONA aunque sea en un único modelo de MSX, entonces no es "estándar MSX". Debe funcionar en TODOS, sin excepción.

 Eso es. En el msxdev'05 recordaras que me enviaste un email comentando que una aplicacion no funcionaba en msx2 y si en los otros, y era por eso. Se modificó para que funcionará en msx2 y ya está.

En línea
SapphiRe
Visitante
« Respuesta #54 : 10 de Enero de 2007, 05:43:43 pm »

Se entiende que las pausas estan entre los otir, además de otras que hay por ahí.

Pues ahí, precisamente, está el error. No basta con introducir una pausa entre OTIR y OTIR, ya que lo que hay que hacer es introducir una pausa entre OUT y OUT (o entre OUTI y OUTI en su defecto). Sin esas pausas es lógico que los gráficos se corrompan al volcarlos.
En línea
YMN
Karoshi Newbie
*
Mensajes: 20


« Respuesta #55 : 10 de Enero de 2007, 05:47:25 pm »

 Saludos Fernando,

Cita de: SapphiRe
Pues ahí, precisamente, está el error. No basta con introducir una pausa entre OTIR y OTIR, ya que lo que hay que hacer es introducir una pausa entre OUT y OUT (o entre OUTI y OUTI en su defecto). Sin esas pausas es lógico que los gráficos se corrompan al volcarlos.

 Vamos a dejar que Armando testee las modificaciones.
En línea
Ramones
Visitante
« Respuesta #56 : 10 de Enero de 2007, 05:57:23 pm »

Saludos Armando. Pués yo diría que te interesa a ti, por hacerlo funcionar en tu ordenador.

Que va que va! Smiley Te equivocas. Si a mi Skate no me interesa nada, no me gusta nada de nada. Smiley

Solo busco que lo que hagas en el futuro y vista tu evolución como programador puede que si me interese, lo hagas correctamente. No busco otra cosa. Ayudar, nada más.


Hombre!!, esto ya es otra cosa. Ya por lo menos haces una descripción y no te limitas a decir "esto no funciona", bien.

Si claro. Pero todo se basa en que tu luego te intereses o no en arreglarlo, como es el caso actual. Yo te digo que no va porque no va, y si tienes interesa ya me preguntarás que no va. Smiley Aunque es cierto que podría haberlo puesto desde el principio, no te quito la razón (lo que no se es si no lo dije ya, es que esto lo he hablado con varias personas y es posible que lo hiciese de viva voz).



Amante de datos no. Debes de decir las características del ordenador, que ya te he explicado que existe incompatibilidad a nivel de microcódigo.
 En ese ordenador debería de funcionar, no explica como haces la carga de la rom, ya que puede ser un problema del cargador, no sé.

German, deberías de fiarte un poco de mi en ese aspecto. El programa está cargado en una flashrom ascii8k. Y ejecutado desde la misma, por lo que es tan fiel como podría ser un cartucho original.

Y no hay microcódigo que valga. Si va en mi MSX, debe de ir en todos, o resumiendo, que si tienes en cuenta lo que los TH del standard dicen, salvo por error de programa, todo ha de funcionar.


Demasiado categórico en tus afirmaciones. Y que es del programa es relativo, ¿quien te dice que no es por una interrupción o cualquier cosa a nivel de arquitectura de tu ordenador?, por ejemplo.

Si si, mi HB20P tiene unos brutales problemas de arquitectura. Dejémonos de "palabrejos" de programación  moderna puesto que se le quedan grandes al MSX.

Mira, si tu programa no funciona, te aseguro que es culpa tuya. Y así ha sido. Puede quedar un poco agresivo, categórico, o como lo quieras definir, no te voy a contradecir en este aspecto. Ahora bien, si en ese ordenador funcionan todos los demás juegos, está claro que algo falla en el tuyo.

Dudo mucho que tu hagas "algo" (por llamarlo de alguna manera) de una manera tan especial que produzca, o reproduzca un error interno de esa máquina. Cheesy

Podrás observar en el procedimiento de render que comienza con un DI, ¿que más quieres?!!!. Y lo que te comenté de guardar los registros, se guardan todos.

Podré observar ... ains ... nene, que me lo pones complejo del copón. Me toca desensamblar tu código, que para alguien acostumbrado al ASM "normal" es un poco churro ya que los desmierdes producidos por el compilador de C vuelven loco al que desensambla.

Entiendeme, he hablado MUCHAS veces sin mirar el código en muchas cosas de las que te he comentado que revises, pues son fallos genericos que todos hemos tenido alguna vez. Solo hasta que no he visto los otir, no he podido afirmar a ciencia cierta que SI era ese el fallo.

Pués lo mismo que tu, que al VDP le dé tiempo a realizar la escritura.

Si, pero es que el otir no se puede partir a trozos. Cheesy Es decir, que (para seguir el rollo divertido), igual si te acercas mucho al otir puedes verlo a nivel de microcódigo y partirlo.

(bueno, igual el chiste ha quedado un poco retorcido)

De todas formas se debe hablar de sistemas, y se sabe que cuanto más simple es un sistema más efectivo es.
 Ejemplo: en msx2 se puede realizar un scroll pixel a pixel solo usando la instrucción copy y muy poco código. En otros sistemas esto no es así, y es más complejo el desarrollo.
 Desde un punto de vista del código la aplicación de msx2 es más eficiente, usa muy poco código. Pero el sistema no es simple, es un msx2 con un procesador de video que actua de procesador satélite y libera al z80.


¿Qué puñetas os enseñan hoy en día en la universidad? Cheesy De verdad, menudo cacao mental os hacen. Lo flipo.

Realizar un scroll pixel a pixel con copy, no es efectivo. Cheesy Yo lo miro a nivel global. Pues si lo haces, a pantalla completa, si, es simple, pero luego no podrás meterle un juego lento, pues será patético.

O sea que a nivel de código, la aplicación de MSX2 es más eficiente, pero a nivel de juego es un desastre. Cheesy

Es que me aburren esas teorías modernas de códigos eficientes y leches. Lo eficiente lo que en pantalla demuestra que es eficiente. El código interno importa una puñetera mierda (hablando mal, es que hacía días que no soltaba un "mierda" en el foro, y creo que estaba perdiendo idendidad)

Cheesy


 Pués es lo mismo que el contest, se implementaría la aplicación en función, en este caso, de la situación de mercado. Pero tu no puedes hacer una comparación asimétrica, ya te explique que aquí no hay ánimo de lucro y cualquier forma de hacer un programa es correcta, y el ejemplo que tu planteas es otra cosa.

Si, cualquier forma es correcta. Ahora bien, yo a tu juego no juego y a Grid Wars si juego. Mirandolo asimétricamente, tu juego no me importa, y grid wars si.... ¿o sería mirándolo a nivel de microcódigo?

Dios, creo que me voy a acostar, me he liado con tanta palabra. Cheesy

(conste que intento mantener un tono de bromeo, a ver si ahora nos vamos a enfadar) Tongue

Otro agravio comparativo. Pones de ejemplo a Konami, Compile, etc., con los programas de este contest!!!.

Claro. Es que yo quiero que TODOS los programas presentados al concurso tengan la misma jugabilidad y calidad que los de Konami o Compile.

¿Existe alguien en el foro que NO QUIERA ESO? Cheesy Por dios! Sería lo máximo, y creo que es lo que buscan TODOS los que desarrollan para el Dev. Aprender y aprender para llegar a esas cotas de calidad.



De eso nada, es correcta la implementación de la selección de slot. Y la diferencia con otros, es que insertan el código de selección de slot de konami, y después hablais de copias.

Esto ... iba a usar la palabra mierda por segunda vez, pero creo que podría acarrear mal rollo y no lo busco. NO, tu rutina es totalmente incorrecta. Smiley

A ver ... que aquí te has hecho una paja mental con copia y original. La rutina de seleccion de slot, encima, viene en los TH, te dicen como tienes que hacerlo, así que Konami, pobrecita mia, no hizo nada, solo la copio de los TH.

Tu haces los siguiente:

ROM1:7898 DB A8        in   a,(A8)  ;ppi port a (pslot)
ROM1:789A F5           push af
ROM1:789B E6 0C        and  0C
ROM1:789D 07           rlca
ROM1:789E 07           rlca
ROM1:789F 47           ld   b,a
ROM1:78A0 F1           pop  af
ROM1:78A1 E6 CF        and  CF
ROM1:78A3 B0           or   b
ROM1:78A4 D3 A8        out  (A8),a  ;ppi port a (pslot)

Y que quieres que te diga? Smiley Que no tienes en cuenta si el slot esta o no esta EXPANDIDO, pues no te veo que toques para nada la direccion 0FFFFh.

Así que sin probarlo, de nuevo, oh valiente de mi, puedo arriesgarme a decirte que no funcionara en un slot expandido.

Tranquilo, no eres el único, programas COMERCIALES de MSX la cagan de igual manera.

La manera CORRECTA, creo que ronda por el foro en 10000 sitios, pero aún asi te la voy a pegar. Smiley

; -----------------------
; SEARCH_SLOTSET
; Posiciona en pagina 2
; Nuestro ROM.
; -----------------------

search_slotset:
            call   search_slot
            jp      024h


; -----------------------
; SEARCH_SLOT
; Busca slot de nuestro rom
; -----------------------

search_slot:
            
            call   0138h
            rrca
            rrca
            and      3
            ld      c,a
            ld      b,0
            ld      hl,0FCC1h
            add      hl,bc
            ld      a,(hl)
            and      080h
            or      c
            ld      c,a
            inc      hl
            inc      hl
            inc      hl
            inc      hl
            ld      a,(hl)
            and      0Ch
            or      c
            ld      h,080h
            ld      (slotvar),a
            ret


¿Y a que has visto las pausas?, ¿y como las interrupciones estan desactivadas?, etc. Para que veas.

 De todas formas, esto ya es más interesante por que empiezas a aportar cosas. Lo otro son solo opiniones que se respetan aunque en algunas no se esté de acuerdo. Smiley

Hombre, tampoco hay mucho que aportar. Es decir, que yo te lo aporto de todo corazón por lo que te he dicho. Pero si te digo: "Oye tio, tal, esto no va", hasta ahí llega mi "trabajo" de ayuda si quisiera. El que tienes que solucionarte las cosas eres tu mismo. Smiley

Y no, perdona, repito lo del chiste, no he visto las pausas. Que la pausa tuya esta entre OTIR y OTIR, no entre cada iteración del OTIR que es donde hace falta. Cheesy

(captas ahora?) Wink

Una sugerencia: sino te importa y si quieres seguir con el tema, esto se debería de seguir por email, ya que no creo que este sea el objetivo de este topic. Pero me da igual, es una sugerencia.

 Te envio por email la rom actualizada con lo que dices, tu diras.

Me parece correcto puesto que hemos mezclado ya demasiadas cosas. Mi dirección está en mi usuario. Puedes escribir ahí. Smiley


Para finalizar, agradecer tus opiniones y comentarios, que no se interpretan como algo negativo, independientemente de lo que te digan.

A mandar. Smiley


En línea
SapphiRe
Visitante
« Respuesta #57 : 10 de Enero de 2007, 06:10:00 pm »

Vamos a dejar que Armando testee las modificaciones.

Y no, perdona, repito lo del chiste, no he visto las pausas. Que la pausa tuya esta entre OTIR y OTIR, no entre cada iteración del OTIR que es donde hace falta. Cheesy

Vamos, que te ha dicho lo mismo que yo... que para eso no hace falta testear nada Tongue
En línea
burguera
Visitante
« Respuesta #58 : 10 de Enero de 2007, 06:15:47 pm »

Una preguntilla chorra, que me he quedado acongojado con el tema del microcódigo. ¿A qué llamáis microcódigo? ¿Dónde tienen microcódigo los MSX?
En línea
YMN
Karoshi Newbie
*
Mensajes: 20


« Respuesta #59 : 10 de Enero de 2007, 06:17:41 pm »

Vamos a dejar que Armando testee las modificaciones.

Y no, perdona, repito lo del chiste, no he visto las pausas. Que la pausa tuya esta entre OTIR y OTIR, no entre cada iteración del OTIR que es donde hace falta. Cheesy

Vamos, que te ha dicho lo mismo que yo... que para eso no hace falta testear nada Tongue


 Ya, ya, lo que tu digas, vaya vocabulario!!!
En línea
Páginas: 1 2 3 [4] 5 6
  Imprimir  
 
Ir a:  

Impulsado por MySQL Impulsado por PHP Powered by SMF 1.1.21 | SMF © 2013, Simple Machines XHTML 1.0 válido! CSS válido!