Ramones
Visitante
|
|
« Respuesta #90 : 13 de Febrero de 2009, 09:01:20 pm » |
|
Ya os digo - que sí, que lo sabéis, pero por si acaso-, que el MSX no es un MSX. Nuestro MSX no es real, que nos han engañado, no es lo que muchos tenemos entre las manos.
Pues es muy sencillo. No creo que hablemos lenguas diferentes. Sencillamente un MSX es un home computer que cumple unas especificaciones que están detalladas en el TH del MSX1 para MSX1, en el TH del MSX2 para 2 y así hasta el Turbo R. Si no las cumple, no es un MSX. Y si tiene "agregados" extra , son eso. Añadidos. Por eso, hay ordenadores Yamaha que llevan interface midi propio, o salidas de video propias, y las mil y una cosa que llevan extra algunos MSX. Pero para cumplir con el LOGO MSX pues eso, que tiene que cumplir lo que pone en el TH. Pero si es que hasta damos por supuesto que los 2+ llevan FM cuando la norma dice que tienen que llevar kanjirom, un 9958, 64k de Ram y PUNTO. Lo del modo mixto: lo que dije: que depende de "la lengua", del que hable. Armando piensa que el modo mixto no es MSX, yo sí; que la regla del quinto SPRITE reflejada en el VDP no es MSX, yo sí. Pues eso, que es una caca. Porque si el quinto sprite se reflejara habría muchas cosas: split screen, spritesin, ... (vale, ya empiezo a hablar de mi próxima entrada para la msxdev`09... que lengua tan larga tengo ) Que no hombre que no. Es que tu haces programas para explotar un determinado tipo de chips que SUELEN ir en los MSX. Y los explotas al máximo. Y me parece correcto que quieras aprovecharlos, siempre es bonito de ver y sobre todo si te gusta el tema, pues te lo pasas pipa programandolo. Pero si yo quiero sacar un juego con el logo MSX intentaré cumplir esas especificaciones. Y lo siento, pero lo del 5S en MSX1 no es una obligación. Ni el splitscreen ni el modo mixto. Por eso insisto que si todos pensásemos en que vamos a crear juegos/aplicaciones para que sean vendidas a todo el mundo deberíamos de cumplir esas normasl, no? Que el splitscreen es una realidad en manos de dvik & joyrex, pero... cuánto se puede hacer? Joder! Hay tanto... Pero, claro, yo ya pienso en mis experimentos y hay gente que piensa en un juego... he ahí el problema. O no! (que no: "oh! no!").
Y tienes razón. Cuando una máquina es "cerrada" es precioso explotarla al máximo. Esto pasa con casi todas las consolas del mercado, y con muchísimos ordenadores personales. Eran cerrados porque eran de un solo propietario. Pero para nuestra suerte (si suerte) el MSX es un standard al que cualquier empresa estaba en derecho de unirse. Con las normas, claro.
|
|
|
En línea
|
|
|
|
Dioniso
Visitante
|
|
« Respuesta #91 : 13 de Febrero de 2009, 09:16:07 pm » |
|
Que sí, Ramones. Con lo de diferente "lengua" me refiero a un punto de vista diferente. El TH es la Biblia para muchos, porque es de ASCII. Pero el tema de la norma es muy relativo. Que el MSX no es 100% compatible como siempre se ha dicho y yo siempre he creído. Ignorante yo!
Para qué entonces ese bit del VDP? Debe mostrar o no un quinto SPRITE en línea -horizontal, por supuesto. Pero no sólo es eso. Un MSX son todos los MSX, o, al menos, deberían serlo. Pero no lo son. Y he aquí la relatividad de la norma. Sé por donde vas, y tú por donde voy yo: dos "lenguas" diferentes, como dije. Que tienen (tenemos) un punto de vista diferente al respecto; ambos respetables - diría yo.
|
|
|
En línea
|
|
|
|
Ramones
Visitante
|
|
« Respuesta #92 : 13 de Febrero de 2009, 09:27:13 pm » |
|
Que sí, Ramones. Con lo de diferente "lengua" me refiero a un punto de vista diferente. El TH es la Biblia para muchos, porque es de ASCII. Pero el tema de la norma es muy relativo. Que el MSX no es 100% compatible como siempre se ha dicho y yo siempre he creído. Ignorante yo!
Aqui, y es aquí precisamente es donde creo que te equivocas. Es que resulta que SI es 100% compatible si tu programas las cosas tal cual te dicen que tienes que hacerlas. Yo reafirmo esa frase: el MSX es TOTALMENTE compatible. Lo incompatible son los programas que no estan bien hechos. Y ojo! Que hasta los "más grandes" la cagaban. Fíjate por ejemplo que el Nemesis 3 se cuelga en un SVI XPress porque los muy animales llaman a una función de la Bios de MSX2 que no tiene nada en casi todos los MSX1, pero en el XPress tiene una rutina y se cuelga. Pero por lo general, y me jode mucho poner a Konami como ejemplo, un juego de MSX1 de Konami, uno que use 8k, como puede ser un Nemesis 2 o un Maze of Galious va en TODOS LOS JODIDOS MSX DEL MUNDO. Entonces... ¿es o no es compatible el MSX? Para qué entonces ese bit del VDP? Debe mostrar o no un quinto SPRITE en línea -horizontal, por supuesto. Pero no sólo es eso. Un MSX son todos los MSX, o, al menos, deberían serlo. Pero no lo son. Y he aquí la relatividad de la norma. Sé por donde vas, y tú por donde voy yo: dos "lenguas" diferentes, como dije. Que tienen (tenemos) un punto de vista diferente al respecto; ambos respetables - diría yo.
El problema real de ese bit es que realmente si se activa. Lo malo es que los 4 bits bajos del registro de estado que te dicen el plano que está en conflicto te devuelven lo que le sale de la minga, incluso planos que ni están en pantalla (y por ente no pueden tener conflicto XD). Respetables? Joer! XD Claro que si hombre, que no creo que nadie crea que estamos discutiendo. Y de hecho es que al final yo voy a hacer lo que me de la gana y tu también. Y espero que lo hagas además!
|
|
|
En línea
|
|
|
|
Dioniso
Visitante
|
|
« Respuesta #93 : 13 de Febrero de 2009, 09:42:37 pm » |
|
Aqui, y es aquí precisamente es donde creo que te equivocas. Es que resulta que SI es 100% compatible si tu programas las cosas tal cual te dicen que tienes que hacerlas. Yo reafirmo esa frase: el MSX es TOTALMENTE compatible. Seguro? Qué me dices de la lectura del teclado?... Si me contestas a ésta lo seguimos por privado, que a mí me parece un tema caca en según qué modelo de MSX. El problema real de ese bit es que realmente si se activa. Lo malo es que los 4 bits bajos del registro de estado que te dicen el plano que está en conflicto te devuelven lo que le sale de la minga, incluso planos que ni están en pantalla (y por ente no pueden tener conflicto XD). Es eso la norma? No es irónico. Me refiero a que quizá nunca se haya contemplado como algo estándar. Respetables? Joer! XD Claro que si hombre, que no creo que nadie crea que estamos discutiendo. Por supuesto que no. Efectiviwonder. Y de hecho es que al final yo voy a hacer lo que me de la gana y tu también. Y espero que lo hagas además! Lo seguiré haciendo
|
|
|
En línea
|
|
|
|
Ramones
Visitante
|
|
« Respuesta #94 : 15 de Febrero de 2009, 01:33:57 pm » |
|
Seguro? Qué me dices de la lectura del teclado?... Si me contestas a ésta lo seguimos por privado, que a mí me parece un tema caca en según qué modelo de MSX.
Es que no se a que te refieres exactamente con este tema. ¿A las ghost keys? ¿A los diferentes modelos de teclado? No te puedo contestar sin saber cuál es el problema. Así por encima te puedo contar, que este tema lo tengo bastante estudiado y hay buenas soluciones para todo. Normalmente todos los teclados de MSX son "físicamente" iguales. Es decir, que donde en un teclado QWERTY está la N en un teclado AZERTY estará "otra letra". Pero la fila y columna para leerlos a bajo nivel es la misma. No se si me explico. Y si quieres leer "letras" pues lo mejor es usar la BIOS que te soluciona todo ese problema. Por ejemplo, si quieres leer passwords para tu juego, lo mejor es usar las rutinas de la BIOS. Y para terminar hay un grupo de teclas que son las mismas en todos los teclados, las teclas de funcion CTRL, TAB, RETURN, CURSORES, GRAPH, SPACE, lo cual hace que si quieres leer el teclado bajo nivel y usas solo esas teclas tu juego sea compatible con todos los MSX. Es un tema complejo, es cierto, hasta la mismísima Konami la cagó cuando ponía la N o la M como botón 2. Pero la cagó a la hora de hacer el manual puesto que la posición física de la N y la M en un teclado QWERTY es la misma que las dos que sean en el AZERTY, vamos que juegan igual. Es eso la norma? No es irónico. Me refiero a que quizá nunca se haya contemplado como algo estándar.
Claro que no. Es a donde iba. Que el tema del 5S no está contemplado en la norma para MSX1 (si para MSX2 y superior). Por eso algunos VDPs "baratos" no les funciona. Lo seguiré haciendo A ver a ver....
|
|
|
En línea
|
|
|
|
Dioniso
Visitante
|
|
« Respuesta #95 : 15 de Febrero de 2009, 02:24:53 pm » |
|
Normalmente todos los teclados de MSX son "físicamente" iguales. Es decir, que donde en un teclado QWERTY está la N en un teclado AZERTY estará "otra letra". Pero la fila y columna para leerlos a bajo nivel es la misma. No se si me explico. Sí, es que hago en el Beepertron. Y por aquí van los tiros... Ya lo hablaremos. Claro que no. Es a donde iba. Que el tema del 5S no está contemplado en la norma para MSX1 (si para MSX2 y superior). Por eso algunos VDPs "baratos" no les funciona. Ah!... Pues entonces no he dicho nada Pensaba que sí era/debería ser algo estándar.
|
|
|
En línea
|
|
|
|
e_sedes
|
|
« Respuesta #96 : 15 de Febrero de 2009, 09:04:21 pm » |
|
Yo la cosa la veo así. El TH, si no me equivoco, dice que el VDP ha de ser TMS-9918a compatible, no? Y ahí es donde está el quid de la cuestión. El modo mixto es oficial del susodicho chip, por lo tanto el modo mixto pasa a ser MSX oficial. Los VDPs que no cumplen con la compatibilidad que deberían tener, pues son eso, parcialmente incompatibles, y esto se trasmite al equipo que lo incorpore. Que Konami no usase estas guarreridas más bien sería por cuestiones comerciales que por "oficialidad". Si un juego no va en algunos equipos sería mala imagen para la compañía del juego, no para el ordenador, y la mala imagen puede repercutir en los beneficios. A día de hoy no creo que nadie busque el rendimiento económio al desarrollar juegos, así que sería una pena deshechar por sistema un modo al que se le puede sacar mucho jugo. Sí se ha de tener en cuenta que no todos los equipos lo podran usar, y cada cual que haga lo que considere (por supuesto). Pero de cara a la dev, por ejemplo, yo no penalizaría el juego que lo usase, porque no se saldría de la regla "MSX compatible".
un saludo.
|
|
|
En línea
|
sempre fun un valente corredor
|
|
|
Ramones
Visitante
|
|
« Respuesta #97 : 15 de Febrero de 2009, 10:23:58 pm » |
|
Yo la cosa la veo así. El TH, si no me equivoco, dice que el VDP ha de ser TMS-9918a compatible, no? Y ahí es donde está el quid de la cuestión.
Claro. Compatible con el TMS y con los requerimientos del standard. Fin. Mira los requerimientos, mira el TMS, y haz tu chip. Si lo cumple es MSX compatible. No hay más.
|
|
|
En línea
|
|
|
|
S0Y
Karoshi Lover
Mensajes: 148
Lo difícil, lo hago; lo imposible, lo intento.
|
|
« Respuesta #98 : 15 de Febrero de 2009, 11:42:33 pm » |
|
Ejem... Pondré mi hulmide comentario aquí como ex-user de un Toshiba HX-20 Yo sí soy partidario de que se use tal modo mixto, eso sí, ADVIERTIENDO de alguna manera en sus instrucciones o caja o donde sea que se está usando un modo compatible tan sólo con determinados VDP's, o que no es totalmente compatible con determinados modelos MSX. No sé, yo lo veo algo así como que necesitas una "revisión superior" del VDP del MSX. ¿Quieres correr un juego que necesita 32 Kb de memoria y tu MSX tan sólo tiene 16 Kb? Pues cómprate una ampliación de memoria. ¿Quieres correr un juego que necesita un VDP "superior" para correr tal juego por su modo mixto y tu MSX no lo tiene? Pues cómprate un modelo "superior" o "cámbiale" su VDP de alguna forma En Amiga estaba el Fat Agnus. Algunos juegos/demos podían requerir 1 MB d ChipMEM, pero si tu Fat Agnus no podía manejar esa memoria, o te jodías, o te comprabas una revisión "superior" de ese chip, o te comprabas una máquina "superior" Y no por eso el juego era menos compatible. Saludos!!
|
|
|
En línea
|
Lo difícil, lo hago; lo imposible, lo intento.
|
|
|
Mortimer
|
|
« Respuesta #99 : 16 de Febrero de 2009, 09:48:38 am » |
|
Lo triste del caso, SOY, es que no es que el chip de Texas Instruments sea 'superior', sino que el de Toshiba, pese a ser posterior en el tiempo, es 'inferior' (O distinto). Yo creo que es fácil de entender para todos que haya juegos que necesiten hardware posterior para funcionar, pero introducir este problema de retrocompatibilidad fue una chapuza, me gustaría saber si la desición fue por ignorancia, desidia o abaratamiento Recordermos que TI ya había hablado de ese comportamiento en al menos uno de sus manuales. Lo de indicar en la caja algo para avisar que no es compatible lo veo un poco complicado, porque no todo el mundo tiene porqué saber que chip tiene realmente dentro, si se pudiera hacer una lista exahustiva de modelos sin TMS, pues quizás. Otra pregunta que me hago. ¿Podría el propio juego detectar que chip tenemos y comportarse en consecuencia? Puede que explotando del otro bug del 5S no sea complicado, aunque depende de cuánto aprovechemos la ventaja del modo puede que haya que hacer bastantes cambios pero que quede algo 'jugable' en el 'clónico', aunque quizás más lento o con algún gráfico menos. Si no, al menos, se podría indicar las razones de porqué ese juego no funcionará en esa máquina. Pero bueno, yo creo que deberíamos mover el debate a algo más práctico. Porque quizás nunca nos pongamos de acuerdo en si es o no 100% compatible porque es una cuestión casi filosófica, pero lo que tendremos que ver es, si 25 años después, aceptamos como 'norma' el menor denominador (que además es lo que dice el TH), o los beneficios de explotarlo sea mayor al hecho de que estaremos 'marginando' a ciertas máquinas, aunque la culpa realmente sea del que fabricó el chip o el que decidió montarlo. Saludos
|
|
« Última modificación: 16 de Febrero de 2009, 09:52:37 am por Mortimer »
|
En línea
|
|
|
|
pentacour
|
|
« Respuesta #100 : 16 de Febrero de 2009, 10:04:22 am » |
|
Pero ya por curiosidad: si según e_sedes el estándard dice que el VDP ha de ser TMS-9918a compatible, y éste soporta el modo mixto, los chips que no sean compatibles con él, no cumplen el estándard. Porque es una premisa de las especificaciones. Si fuese una "evaluación lógica de una expresión", si ésta falla ya ni sigo mirando qué más ha de cumplir. Pero no he leído las especificaciones, por eso pregunto.
De todas maneras, aunque ahora revisando el estándard descubriésemos que el MSX tiene un screen 20 con superpoderes y perfectamente estándard, yo personalmente no lo usaría. Para mi la gracia es programar el MSX con las especificaciones y restricciones de la época. Aunque eso no quita que me hiciese gracia ver algún juego con ese screen 20.
|
|
|
En línea
|
|
|
|
k0ga
|
|
« Respuesta #101 : 16 de Febrero de 2009, 06:02:31 pm » |
|
Pasarían muchos. Si es que realmente no falta "tanto" para conseguirlo leches. Ya en serio, creoq ue hoy en dia nadie cumple el standar al 100%, o que me digan cuantos de aqui leen el valor del VDP de la BIOS, que es obligatorio en MSX1 y MSX2, y como eso mil cosas que todos nos pasamos por ...
Quieto quieto... es obligatorio en MSX1, en 2 ya no. En MSX2 ya te dicen que son esos y los puedes usar. En msx2 tambien es obligatorio, fue a partir del 2+ cuando lo quitaron del estandar No es tan difícil usar bien el VDP leyendo de los puertos, y la pérdida de velocidad es ninguna si te parcheas las rutinas.
Totalmente de acuerdo contigo, el problema es que en las roms como que no el tema del parcheo (a menos que sean ROM ejecutadas en RAM). Lo que no hago es lo del teclado, que ahora si lo hago bien, pero en juegos viejos como BJ o DK lo leía yo, por puertos. También leo el Joystick por puertos, y el PSG...
Yo tambien leo el teclado por BIOS, basicamente desde que vi que la rutina BIOS era identica a la mia. Con el PSG lo estuve mirando, pero cuando vie que la BIOS cambia hasta los slots, pues ... Por eso, 100% es que nadie lo hace. Ni hace falta hacerlo. Yo solo quería dar una aproximación a 4 compatibilidades básicas, que son, que funcione en slots/subslots, que inicialice la pila y que si usa Ram lo haga bien. Como véis no es TANTO.
El tema de no usar la BIOS creo yo que viene de la epoca en que todo se hacia bajo DOS y por tanto llamar a la BIOS suponia hacer switching de bancos y todo lo demas (ademas de que los 16k empleados por la BIOS en ese entorno se necesitaban para otras cosas). ¿Que inicialize la pila?, no se supone que eso lo hace la BIOS al arrancar y obligatoriamente la BIOS se ejecuta antes que cualquier codigo desarrollado por nosotros. Corrigeme si me equivoco.
|
|
« Última modificación: 16 de Febrero de 2009, 06:10:18 pm por k0ga »
|
En línea
|
|
|
|
Ramones
Visitante
|
|
« Respuesta #102 : 16 de Febrero de 2009, 09:30:42 pm » |
|
En msx2 tambien es obligatorio, fue a partir del 2+ cuando lo quitaron del estandar
Mejor me lo pones. Vale. Totalmente de acuerdo contigo, el problema es que en las roms como que no el tema del parcheo (a menos que sean ROM ejecutadas en RAM).
Al final le voy a hacer caso a tu hermana... XDD Tan listo que es para algunas cosas y tan despistado para otras. A ver Roberto, hijo mío... ¿no te puedes hacer un writevram y readvram en la RAM y parchearlas? Aunque sea Rom. Te ocupará un poco de Ram pero será infimo. El tema de no usar la BIOS creo yo que viene de la epoca en que todo se hacia bajo DOS y por tanto llamar a la BIOS suponia hacer switching de bancos y todo lo demas (ademas de que los 16k empleados por la BIOS en ese entorno se necesitaban para otras cosas).
Puede ser, pero me parece que lo decían más por si el sistema "crecía". Si tu usas la Bios no hay problema, sea el puerto que sea para escribir PSG (por ejemplo) si en un modelo superior lo cambian, la BIOS lo solventaría y lo haría compatible. Vamos, que para eso se hacen las BIOS, no? Pero claro, hoy en día... pues que para muchas cosas no tiene sentido. ¿Que inicialize la pila?, no se supone que eso lo hace la BIOS al arrancar y obligatoriamente la BIOS se ejecuta antes que cualquier codigo desarrollado por nosotros. Corrigeme si me equivoco.
Te equivocas. A medias. Lo hace la Bios, pero... ¿donde está? Nadie lo sabe. Pero... ¿y si mi diskrom se ejecuta antes que tu ROM y pongo variables de disco y hago que la pila se ponga más abajo (o arriba)? ¿Qué pasará con tus variables si se cruzan en mi camino? Si NO usais disco, inicializad la pila. Joder que lo pone en los dos THs que tengo, el de MSX1 y MSX2 cuando explican como hacer una ROM. Y tiene mucho sentido. Bueno que paso ya de explicar nada, que pierdo mucho tiempo, y al final cada uno hará las cosas como quiera, no?
|
|
|
En línea
|
|
|
|
k0ga
|
|
« Respuesta #103 : 17 de Febrero de 2009, 09:44:50 am » |
|
Al final le voy a hacer caso a tu hermana... XDD Tan listo que es para algunas cosas y tan despistado para otras. A ver Roberto, hijo mío... ¿no te puedes hacer un writevram y readvram en la RAM y parchearlas? Aunque sea Rom. Te ocupará un poco de Ram pero será infimo.
Claro que se que se puede hacer eso, es obvio, pero no me referia a eso .
|
|
|
En línea
|
|
|
|
Mortimer
|
|
« Respuesta #104 : 17 de Febrero de 2009, 09:53:09 am » |
|
Hola, estoy intentado conseguir en versión electrónica del "MSX Technical Databook" de los "MSX1", pero sólo encuentro el de MSX2 en mil sitios. ¿Alguien sabe dónde conseguirlo? Saludos y gracias
|
|
|
En línea
|
|
|
|
|