Título: asMSX: nueva versión Publicado por: pitpan en 17 de Noviembre de 2006, 01:19:36 am Hola a todos!
Ahora que se acerca la fecha de entrega de MSXdev'06 me han entrado las prisas, y para poder acelerar el desarrollo de alguna cosilla que tengo entre manos, necesitaba incorporar una nueva funcionalidad al ensamblador: ensamblado condicional. Además, he aprovechado para corregir algún detallito. http://www.robsy.net Con esta versión, podréis hacer cosas como la siguiente: IF (version=FINAL) call PRESENTACION call LOGO ELSE call DEBUG_MODE ENDIF Espero que os ayude. A mi me está sirviendo bastante :D Título: Re: asMSX: nueva versión Publicado por: kabish en 17 de Noviembre de 2006, 06:41:53 am Muchas gracias !!!.
Yo de momento no lo uso, pero me la bajare para hacer alguna prueba a ver q tal tira. ;) Título: Re: asMSX: nueva versión Publicado por: pitpan en 17 de Noviembre de 2006, 09:28:33 am Y mientras desayunaba he pensado en cómo conseguir que los IFs se puedan anidar, así que probablemente por la tarde haya un mini-update, v.0.12f1 :D
Pero qué vicioso soy... Título: Re: asMSX: nueva versión Publicado por: pitpan en 17 de Noviembre de 2006, 12:55:36 pm Pues no he podido resistirme a la tentación y ya está la versión 0.12f1 lista. Ésta versión ha mejorado mucho todo el tema de ensamblado condicional, de forma que ahora sí se pueden anidar estructuras IF - ELSE indefinidamente. Además, no sólo se filtran las instrucciones y datos, sino que las condiciones afectan también a las macros y pseudoinstrucciones.
Por lo tanto, ahora podéis hacer cosas como IF (modo==CARTUCHO) .page 1 .ROM .start INIT ELSE IF (modo==BINARIO) .org 8800h .BASIC .start INIT ELSE .MSXDOS disk_support=1 ENDIF ENDIF Podéis descargarlo aquí: asMSX v.0.12f1 (http://www.robsy.net/asmsx012f1.zip). Que lo disfrutéis ;) Título: Re: asMSX: nueva versión Publicado por: jltursan en 17 de Noviembre de 2006, 01:06:15 pm Aaaaah, eso está mu bien, lo suelo usar bastante :D
Título: Re: asMSX: nueva versión Publicado por: SapphiRe en 17 de Noviembre de 2006, 01:29:27 pm Pero qué vicioso soy... Y que lo digas... Yo, de momento, seguiré con la 0.11 a menos que llegue a un punto en el que necesite toda la artillería que has añadido en las siguientes versiones. Por cierto, anoche mientras volvía a casa emborroné unas cuantas páginas más de cierta libreta que bla bla bla bla... Otro viciosillo por aquí ;D Título: Re: asMSX: nueva versión Publicado por: pitpan en 17 de Noviembre de 2006, 02:14:54 pm Más que nada, creo que lo del ensamblado condicional te podría facilitar bastante el tema de ciertos cambios "on-the-fly" que hacer sobre cierto código para mostrar ciertas versiones de cierta cosa que mejor no-sigo-comentando :D
Técnica jedi: <robsy_jedi> No has visto nada <robsy_dummy> ...No he visto nada... <robsy_jedi> Nada de nada <robsy_dummy> ...niente di pus... ;D Título: Re: asMSX: nueva versión Publicado por: SapphiRe en 17 de Noviembre de 2006, 02:52:28 pm Más que nada, creo que lo del ensamblado condicional te podría facilitar bastante el tema de ciertos cambios "on-the-fly" que hacer sobre cierto código para mostrar ciertas versiones de cierta cosa que mejor no-sigo-comentando :D No... si realmente es una feature que llevaba esperando un tiempo. De todas formas es que soy un perro y no me pongo a hacer un menú para probar las diferentes versiones y claro... hay que reescribir el código y compilar on-the-fly. Espérate a ver qué tengo dentro de unas semanas... :D Voy a comprobar los nombres de ciertas películas para cierto blablabla que te comenté ;D esteee... joder, no se parecen en nada a lo que yo sospechaba :o :o Título: Re: asMSX: nueva versión Publicado por: pitpan en 17 de Noviembre de 2006, 04:39:58 pm Not in English, my friend! ;)
Título: Re: asMSX: nueva versión Publicado por: SapphiRe en 17 de Noviembre de 2006, 04:47:42 pm Not in English, my friend! ;) Pues igual hago una traducción directa al inglés desde el español... ya veremos. Este fin de semana tengo que reestructurar el bucle principal de juego para poder meter todo lo que se me ocurrió anoche volviendo para casa, jejejeje vicioooo ;D ;DTítulo: Re: asMSX: nueva versión Publicado por: pitpan en 19 de Noviembre de 2006, 11:30:12 pm Soy el único que está utilizando la versión 0.12f1, ¿verdad? :'(
Que triste es conectarse para mendigar unas migajas de feedback :-[ Título: Re: asMSX: nueva versión Publicado por: ARTRAG en 20 de Noviembre de 2006, 09:11:13 pm Well, there are too many assemblers for Z80 and many of them can be used for the MSX...
Try to release a C compiler next time ;) Título: Re: asMSX: nueva versión Publicado por: Jon_Cortazar en 20 de Noviembre de 2006, 09:14:29 pm Lo que pasa, robs, es que estamos todos con los proyectos candentes, y nos da no se que cambiar de compilador. Yo mañana te prometo que me lo bajo, ok? ;)
(uy, no tan fuerte) viejo_archivero < :spank: > robsy (¿sufres, vida?) Título: Re: asMSX: nueva versión Publicado por: pitpan en 21 de Noviembre de 2006, 08:58:44 am Ya lo sé, socio :)
Todo el mundo está lanzado con sus propios proyectos MSXeros y nadie se atreve a sufrir un revés a estas alturas del partido. Por mi parte, claro, puedo estar tranquilo, porque utilizo mis propios proyectos como banco de pruebas para las nuevas versiones de asMSX, y aunque vaya de altruista por el mundo, en realidad cada uno de los últimos añadidos era una respuesta a necesidades que me han ido surgiendo durante el desarrollo de mis cosillas ;) Cuando las aguas vuelvan a su cauce, hablaremos largo y tendido del futuro y evolución del asMSX. Título: Re: asMSX: nueva versión Publicado por: WYZ en 21 de Noviembre de 2006, 03:48:44 pm No lo he podido probar aun!! Es el ensamblador de TODOS mis programas en ASM, no puedo hacer otra cosas mas que: :god:
Título: Re: asMSX: nueva versión Publicado por: pitpan en 21 de Noviembre de 2006, 05:12:45 pm Y te doy por eso mismo las gracias en el mismo manual del asMSX! WYZ ha estado desde la versión 0.01 ahí, luchando con mis criaturas malignas ;D
Por cierto, de los lectores habituales de estos foros, ¿quién usa asMSX actualmente? Que yo sepa: - Viejo_archivero - WYZ - Sapphire - Robsy - JLTursan - no estoy seguro ¿Me dejo a alguien? Lo digo para haceros llegar la factura un día de estos ;) Título: Re: asMSX: nueva versión Publicado por: jltursan en 21 de Noviembre de 2006, 05:51:01 pm Para cosas pequeñas el asMSX, para el CoT al final tuve que usar el sjASM ya que a partir de un punto el extraño problema del cuelgue se hizo bastante persistente :(. Al nuevo todavía no lo he puesto a prueba con un gran listado; pero ya caerá, ya... ;)
Título: Re: asMSX: nueva versión Publicado por: burguera en 21 de Noviembre de 2006, 06:37:33 pm Yo soy usuario y adorador de asMSX.
Título: Re: asMSX: nueva versión Publicado por: SapphiRe en 21 de Noviembre de 2006, 06:43:17 pm Yo soy usuario y adorador de asMSX. Vamos a tener que fundar una secta alternativa a la ya existente, jejeje >:D Título: Re: asMSX: nueva versión Publicado por: MsxKun en 21 de Noviembre de 2006, 08:10:32 pm Yo es que uso el TniASM, pq le tengo cogio en gusto. No se, no me gusta poner [] y si llevar la contraria.. ;) Que se yo :P
Título: Re: asMSX: nueva versión Publicado por: pitpan en 21 de Noviembre de 2006, 08:55:06 pm Si ése es todo tu problema, te puedo hacer una versión "custom" con la sintaxis original. O mejor todavía, un switch tipo .strict para que se empleen ( y ) para las indirecciones, y se reserven los corchetes [ ] o las llaves { } para las operaciones matemáticas. Que estoy en raaaaaaachaaaaaaaaaaaaaaaaaaaaa! :P
Título: Re: asMSX: nueva versión Publicado por: pentacour en 21 de Noviembre de 2006, 08:55:52 pm Yo suelo utilizar el asMSX. Flirteé con otros que se podían usar bajo linux pero al final me quedé con este.
A ver si comienzo a compilar algo y pruebo esa nueva versión. Saludos. Título: Re: asMSX: nueva versión Publicado por: e_sedes en 21 de Noviembre de 2006, 09:14:05 pm Yo lo uso, aunque no se note :P. A ver si puedo ponerme de una vez con algo de verdad.
(bueno, si que "publiqué" un algo, que fue mi primera cosa completa en asm, pero no cuenta... :P ;D) un saludo. Título: Re: asMSX: nueva versión Publicado por: pitpan en 21 de Noviembre de 2006, 09:21:34 pm ...imperdonable por mi parte el olvido de Mr. Spock. A Mr. Toni le apliqué una política de marketing muy agresiva para atraerle hacia el asMSX ;D
Lo que hace un total de 5,5 usuarios (JL, te apunto 0,5 por si las moscas). Pero espero que sean 5,5 usuarios satisfechos :D En cualquier caso, prefiero hacer un listado de los juegos que han visto la luz (han sido publicados oficialmente) y se han desarrollado en asMSX (por orden cronológico aproximado): 1.- TEKI PAKI [16 KB] - es una beta, pero cómo echo en falta una versión final... Suplicadle a WYZ, a ver si se apiada... 2.- GURU LOGIC [32 KB] 3.- SNAIL MAZE [8 KB] 4.- STRATOS [8 KB] 5.- SOUKOBAN POCKET [8 KB] 6.- DUCK HUNT [8 KB] 7.- PICTURE PUZZLE [8 KB] 8.- FACTORY INFECTION [8 KB] 9.- CLASSIC PONG [8 KB] - opensource 10.- CLASSIC MINE SWEEPER [8 KB] - opensource 11.- SAIMAZOOM [32 KB] 12.- NAMAKE'S BRIDGEDROME [16 KB] 13.- GRIEL'S QUEST FOR THE SANGRAAL [32 KB] Lo cual hace un total de 24 páginas de 8 KB de producto final, es decir, 13 juegos publicados hasta hoy, ocupando en total 3 Mbits. No sé si me estoy dejando a alguien en el camino, porque no sé qué herramientas usan, por ejemplo, en Crappysoft (Juanma, vuelve, plis), ni cómo se desarrollaron el Zambeze (que espero que vea la luz tarde o temprano) o el Jack Exploring II (que también sería un buen regalo de Navidad). Alguien sabe algo de estos proyectos? ??? Me consta que hay unos cuantos proyectos en marcha basados en asMSX, entre ellos los de Karoshi, cómo no, más otros que he tenido la oportunidad de "ir viendo" en sesiones privadas por ahí ;) Además, no se mencionan aquí otras muchas producciones de menor envergadura, demos técnicas, pruebas de concepto, juegos en estado embrionario, etc. De hecho, recuerdo que el Sr. WYZ me mostró cierto machacaladrillos que podría pulir y publicar en un concurso-que-yo-me-sé... Por otra parte, os invito a que publiquéis más código fuente para asMSX. Y presionadme a mi también para que prepare una documentación en inglés, para ver si asMSX cruza los Pirineos o el Atlántico, según se mire. :-\ Título: Re: asMSX: nueva versión Publicado por: pitpan en 21 de Noviembre de 2006, 09:25:18 pm Por supuesto, completad la lista de arriba si me he dejado a alguien, please! :-[
Que lo he hecho de memoria y no es algo de lo que vaya muy sobrado últimamente :( Título: Re: asMSX: nueva versión Publicado por: e_sedes en 21 de Noviembre de 2006, 09:26:43 pm Y presionadme a mi también para que prepare una documentación en inglés, para ver si asMSX cruza los Pirineos o el Atlántico, según se mire. :-\ Prepara una documentación en inglés!!! :whip: ¿así? ;D Título: Re: asMSX: nueva versión Publicado por: pitpan en 21 de Noviembre de 2006, 09:28:17 pm Así, así ;)
Más, más... Título: Re: asMSX: nueva versión Publicado por: pentacour en 21 de Noviembre de 2006, 09:33:41 pm Bueno Robsy, veo que has ignorado vilmente el mensaje que he dejado anterior al tuyo ???
El Zambeze se hizo con el asMSX. Y la versión que saqué ya dije que es la refinitiva, a no ser que alguien me dijese que no pasa de tal pantalla debido a algún bug :P Salut. Título: Re: asMSX: nueva versión Publicado por: pitpan en 21 de Noviembre de 2006, 09:50:27 pm Perdón, perdón, perdón.
¿Te puedes creer que se me había ido completamente de la cabeza? Qué lamentable. Lo he descargado, jugado de nuevo y refrescado mis neuronas. Por las fechas en las que lo publicaste, yo estaba un pelín out. Ahora he recuperado el juego y espero ser capaz de pasar de la segunda pantalla algún día :P Pues uno más para la lista, saltándonos el tema del orden cronológico: 14. ZAMBEZE [32 KB] Y revisando el resto de neuronas, me he dado cuenta de que tampoco he añadido el PONG de Sapphire. Título: Re: asMSX: nueva versión Publicado por: Jon_Cortazar en 21 de Noviembre de 2006, 09:53:21 pm Y se te olvida un Karoshi más: PHANTOMAS SAGA: INFINITY (CEZ GS-Karoshi Corp.) [32KB] :D :D :D
Y que hay de tu juego SNAKE de 256 bytes que publicaste por estos lares?. Y del KAROSHI'S CARUSO?, no está acaso esa aplicación compilada con asMSX? ;)... y que me dices del PAW para MSX??, no se portó y compiló desde asMSX??? :o :o Título: Re: asMSX: nueva versión Publicado por: SapphiRe en 21 de Noviembre de 2006, 10:00:50 pm Cuando uno no tiene la cuenta del número de proyectos que han utilizado el asMSX es que el asMSX empieza a ser utilizado por más gente de la que parece...
Deberías sentirte orgulloso de tu hijo, Robsy :D Título: Re: asMSX: nueva versión Publicado por: burguera en 21 de Noviembre de 2006, 10:01:04 pm Fiu, robsy, sí que estás en racha. Sólo tengo dos pequeñas sugerencias respecto al asMSX:
1.- Para cuando una versión Linux? 2.- Para cuando la documentación en inglés ;) Por cierto, que me has recordado lo del PAW, tndré que echarle un vistazo. Título: Re: asMSX: nueva versión Publicado por: SapphiRe en 21 de Noviembre de 2006, 10:02:18 pm ¿Para cuándo nos ponemos a rehacerlo desde cero para que sea más estable?
Título: Re: asMSX: nueva versión Publicado por: Jon_Cortazar en 21 de Noviembre de 2006, 10:05:04 pm Deberías sentirte orgulloso de tu hijo, Robsy :D Si robsy, deberías ( /me 100% agree with SapphiRe ). La verdad es que has conseguido atraer al lado oscuro del assembler a muchos desarrolladores en la sombra con un programa útil y con unos comandos sencillísimos: sin el asMSX no habría un viejo_archivero por ahí programando cositas como SAIMAZOOM, INFINITY, etc... ;) Título: Re: asMSX: nueva versión Publicado por: pitpan en 21 de Noviembre de 2006, 10:14:41 pm Aaargh! En buena hora me puse a hacer listados... :-X
En fin: que el que haya hecho algo con el asMSX que lo diga ;D ;D PS: Imperdonable olvidarme una producción de Karoshi :o Título: Re: asMSX: nueva versión Publicado por: burguera en 21 de Noviembre de 2006, 10:17:22 pm Código: Si robsy, deberías ( /me 100% agree with SapphiRe ). La verdad es que has conseguido atraer al lado oscuro del assembler a muchos desarrolladores en la sombra con un programa útil y con unos comandos sencillísimos: sin el asMSX no habría un viejo_archivero por ahí programando cositas como SAIMAZOOM, INFINITY, etc... Wink Esto parece una reunión de "ensambladores anónimos" ;) "Hola, soy robsy y he programado el asMSX" ;);) Pero es totalmente cierto. Vamos, que el asMSX es sencillo, funcional, tiene macros útiles para el MSX, tiene soporte, y lo más importante: una documentación clara, bien redactada, ordenada y actualizada. Título: Re: asMSX: nueva versión Publicado por: pitpan en 21 de Noviembre de 2006, 10:29:09 pm Pues a ver si después de cerrar MSXdev'06 puedo meterme en la mina de la que saco las versiones del asMSX y sacar la versión 0.13, con soporte para macros definidas por el usuario y alguna sorpresita más.
Una vez que esa versión esté completamente probada y depurada, empezaremos la tarea inhóspita de mantener toda la funcionalidad actual en un nuevo programa SIN BUGS ABSURDOS. Y en cuanto a la documentación, la verdad es que está todo cogido con alfileres. Es un parche de la que hice para la versión 0.10, ampliada y tachada. Hace falta un documento un poco más extenso, pero todo choca con la misma barrera: falta de tiempo disponible. Se me olvidaba el PAW, cierto. De todos modos -si no recuerdo mal- he de confesar una gran herejía: el PAW v.0.01 que publicamos lo ensamblé con el GEN80 de Hi-Soft. :-[ Pero la futura (futurísima :P ) versión sí irá en formato asMSX y será, si todo va bien, opensource. Graeme me dio permiso completo, así que a rularlo ;) Título: Re: asMSX: nueva versión Publicado por: MsxKun en 21 de Noviembre de 2006, 10:50:35 pm Si ése es todo tu problema, te puedo hacer una versión "custom" con la sintaxis original. Mas que nada es que empece con el y le tengo confianza porque se ha tragado casi todas las marranadas de mi codigo (menos las ñ's) que no son pocas. Pero todo es probar nuevas sensaciones ;) Citar para que se empleen ( y ) ( y ) <-- tia buenaaaaaaaaaaaaaaaaaaaaaa!! >:D Título: Re: asMSX: nueva versión Publicado por: Jon_Cortazar en 21 de Noviembre de 2006, 11:28:09 pm ( y ) <-- tia buenaaaaaaaaaaaaaaaaaaaaaa!! >:D (Joe, por qué siempre a mi?) Kun > :spank: < viejo_archivero (porque te lo mereces, leñe!) :D :D Título: Re: asMSX: nueva versión Publicado por: jltursan en 22 de Noviembre de 2006, 12:17:29 am Citar Y revisando el resto de neuronas, me he dado cuenta de que tampoco he añadido el PONG de Sapphire. Bueno, si nos ponemos así incluye el XPong, que ese si que es 100% asMSX y cuyo código fuente está disponible (con publicidad incluida del asMSX :D) desde mi página. Citar Se me olvidaba el PAW, cierto. De todos modos -si no recuerdo mal- he de confesar una gran herejía: el PAW v.0.01 que publicamos lo ensamblé con el GEN80 de Hi-Soft. Embarrassed Pero la futura (futurísima Tongue ) versión sí irá en formato asMSX y será, si todo va bien, opensource. Otro al que le tengo ganas despues de leerme el tutorial, le venía dando vueltas al tema de las fuentes libres por si sería posible el incorporarle un modulillo que añadiese gráficos a las localizaciones. Ya nos comeríamos la cabeza para pensar en cual sería el mejor método para que ocuparan poco y zarandajas de esas... Citar 1.- Para cuando una versión Linux? Si Robsy ha empleado un C estandar debería ser cuestión de coser y cantar (eso espero :)) Título: Re: asMSX: nueva versión Publicado por: pitpan en 22 de Noviembre de 2006, 12:38:25 am Contesto rápidamente:
Título: Re: asMSX: nueva versión Publicado por: burguera en 22 de Noviembre de 2006, 01:20:45 am Respecto al PAW, saliendo un poco del tema del asMSX y comentando algo que en algún momento comenté en algún lugar (a estas horas de la noche mi memoria me falla)... ¿a alguien se le ha ocurrido generar un intérprete de máquina Z?
Tengo una extraña sensación de "déja vu"... esto lo había comentado antes? Título: Re: asMSX: nueva versión Publicado por: pitpan en 22 de Noviembre de 2006, 01:27:53 am Pues no sé yo si es déja vu, pero lo cierto es que ya hay un intérprete para la máquina Z convertido a MSX por algún usuario brasileño. Habría que ver dónde quedó el link, pero se comentó en el foro de MRC.
Bingo. Te dejo el link a la página de Slotman, MSXfiles: http://www.icongames.com.br/msxfiles/games/infocom.zip A disfrutar. Pero no te enganches, eh! Hay que seguir "pogramando" :) Título: Re: asMSX: nueva versión Publicado por: burguera en 22 de Noviembre de 2006, 01:30:01 am Mola! Tendré que echarle un vistazo, como pueda ejecutar código generado con Inform ya sería la pera
Título: Re: asMSX: nueva versión Publicado por: pitpan en 22 de Noviembre de 2006, 07:27:00 am Pues me da a mi que sí, pero lo cierto es que no he hecho pruebas con Infocom. Bastante tiempo le dediqué al tema del PAW de GILsoft como para meterme en más embrollos :-\
Título: Re: asMSX: nueva versión Publicado por: paco en 22 de Noviembre de 2006, 04:12:08 pm Contesto rápidamente:
Yo estoy extremadamente interesado en su versión para Linux. Si te apetece podría echarlo un vistazo Un saludote. Título: Re: asMSX: nueva versión Publicado por: pitpan en 22 de Noviembre de 2006, 11:11:10 pm El problema es que ahora mismo no tengo ningún PC cerca con Linux instalado. Puedo tratar de hacer alguna prueba en una máquina virtual, pero no garantizo que el resultado sea el adecuado :(
Y lo que es peor, tampoco tengo tiempo ahora para hacer pruebas de este tipo. La fecha límite de entrega de MSXdev'06 se acerca peligrosamente... :P Título: Re: asMSX: nueva versión Publicado por: pitpan en 23 de Noviembre de 2006, 08:49:09 am Pues me estoy planteando hacer una versión del asMSX para Palm OS para poder MSXear en cualquier lugar :D
Eso sí, ponerte a tirar código con el graffitti puede ser una auténtica tortura. :P Título: Re: asMSX: nueva versión Publicado por: pentacour en 23 de Noviembre de 2006, 09:42:06 am Pues me estoy planteando hacer una versión del asMSX para Palm OS para poder MSXear en cualquier lugar :D Eso que has dicho es muy muy friki.Me gusta! ;D Título: Re: asMSX: nueva versión Publicado por: jltursan en 23 de Noviembre de 2006, 10:41:00 am ¿La liberación del código fuente es una posibilidad? ::)
Título: Re: asMSX: nueva versión Publicado por: pitpan en 22 de Enero de 2007, 11:23:45 am Ya he detectado porqué me casca el asMSX cuando lo compilo para Linux. La instrucción que me da problemas es STRTOK. En Windows funciona bien (creo), pero en Linux me produce por sistema un segmentation fault. Viendo la documentación de la instrucción, indica lo siguiente:
BUGS: Never use this instruction. Cojonudo. Alguna idea de cómo solucionarlo? Puedo reprogramarlo a pelo, pero no me apetece mucho, la verdad. Sabéis si hay algún switch del GCC que me permita que esta instrucción funcione? O alguna alternativa? La uso para "limpiar" strings de los caracteres que no me interesan. Título: Re: asMSX: nueva versión Publicado por: burguera en 22 de Enero de 2007, 11:44:17 am Citar BUGS: Never use this instruction. Joer, pues menudo "BUG" Ni idea de si hay algún switch o similar. De hecho, yo he usado en más de una ocasión el strtok con gcc y no me ha dado ningún problema (creo). Seguramente buscando por internet encuentres algún listado alternativo al strtok. Título: Re: asMSX: nueva versión Publicado por: pitpan en 22 de Enero de 2007, 11:54:42 am Toni: los programas en los que has utilizado STRTOK eran para Windows o para Linux? En Windows funciona perfectamente (más o menos) mientras que en Linux la cosa no tira. En cualquier caso, voy a probar si me aguanta bien con la opción -fwriteable-strings.
Título: Re: asMSX: nueva versión Publicado por: burguera en 22 de Enero de 2007, 12:08:44 pm Para ambos, Windows y Linux. Aunque, claro, una cosa es el uso sencillote que pude hacer yo para parsear unos ficheros de configuración y otra cosa será el uso que debe hacer el asMSX. La verdad es que se me hace extraño que no funcione bajo Linux, y que no haya ninguna alternativa... al fin y al cabo, es una función muy necesaria y tampoco hace nada tan enrevesado. Lamento no poder ayudarte más, pero seguro que en internet hay más de una solución a esto, seguro que a más gente le ha pasado lo mismo.
Título: Re: asMSX: nueva versión Publicado por: burguera en 22 de Enero de 2007, 12:10:26 pm Supongo que ya lo sabías, pero ¿has tenido en cuenta esto?
Citar The strtok() function uses a static buffer while parsing, so it's not thread safe. Use strtok_r() if this matters to you. Título: Re: asMSX: nueva versión Publicado por: pitpan en 22 de Enero de 2007, 12:42:46 pm He usado ambas y cascan las dos.
Con cosas tan sencillas como: char *puntero,*texto="Hola, chiquitin"; main() { puntero=strtok(texto," "); } Pues esto me genera un segmentation como una catedral en Linux. :'( Título: Re: asMSX: nueva versión Publicado por: jltursan en 22 de Enero de 2007, 12:47:52 pm Puedo confirmar que "strtok_r" funciona en Linux, este podría ser un ejemplo de parseo básico:
Código: char *token, *cadenatmp, *loquequeda, *pStr; if ( (cadenatmp = strdup(cadena)) == NULL) return ERROR; pStr = cadenatmp; for (;;) { token = strtok_r(pStr," ",&loquequeda); if (!token) break; pStr = loquequeda; printf("Token obtenido : [%s]", token); } // for free(cadenatmp); Si en cadena le pasas la cadena que quieres tokenizar, en el bucle se irán extrayendo las palabras (separadas por espacios) que aparecen en dicha cadena. Se saca un duplicado de la cadena original por si es necesario que permanezca intacta; esto evidentemente no tiene porque ser así, dependerá del uso que requiramos. Título: Re: asMSX: nueva versión Publicado por: burguera en 22 de Enero de 2007, 01:08:32 pm Robsy, así de pronto se me ocurre que la inicialización que haces del string no finaliza con un cero... no recuerdo si el compilador lo añade en estos casos, pero creo que no. Prueba a poner un \0 al final. Aunque tampoco creo que sea eso...
Título: Re: asMSX: nueva versión Publicado por: pentacour en 22 de Enero de 2007, 01:55:57 pm He usado ambas y cascan las dos. Con cosas tan sencillas como: char *puntero,*texto="Hola, chiquitin"; main() { puntero=strtok(texto," "); } Pues esto me genera un segmentation como una catedral en Linux. :'( Peta porque el "Hola, chiquitin" es un Si no, pídelo y se te hace un Strtok a medida y ya está 8) Título: Re: asMSX: nueva versión Publicado por: burguera en 26 de Enero de 2007, 12:04:15 pm Robsy, por si te sirve de ayuda, encontré dos bugs en el asMSX (uso la versión con soporte megarom, aunque no hago nada con megaroms).
El primer bug es una tontería... tenía que meter datos a pelo con "db", y eso que tenía una línea donde el primer dato era, casualmente, dbh. Me daba un syntax error. Poniendo otro valor no da error. El segundo bug es más molesto, aunque sólo me ha pasado una vez. Tengo dos rutinas para la detección de flancos en las teclas "M" y "F1". Las dos rutinas están una detrás de otra y ambas tienen un salto, en un momento de su ejecución, a una etiqueta local llamada @@NO. Ambas rutinas tienen su @@NO, con lo que cada una debería saltar a su propio @@NO. Sin embargo, la rutina del testeo de la M saltaba al @@NO del testeo de F1, lo cual, evidentemente producía errores durante la ejecución. Lo curioso es que llevo meses con estas rutinas hechas y siempre habían ido bien, pero ayer, modificando otras partes del código, me sucedió esto y tuve que cambiar el nombre de la etiqueta local. Estuve mirando el fichero SYM y vi que uno de los @@NO aparecía, simplemente, como "O". Por último... ¿es posible que haya palabras que no puedan usarse como identificadores, aún no siendo comandos del ensamblador ni instrucciones del Z80? Título: Re: asMSX: nueva versión Publicado por: pitpan en 29 de Enero de 2007, 02:02:16 pm Toda la razón, Mr. Spock. Son problemas endémicos del asMSX que espero que desaparezcan con el futuro rediseño de la aplicación. La situación actual es bastante chapucera, aunque la herramienta sea más o menos funcional.
Publicaré una última versión 0.12xxxx con algunas mejoras previstas (y necesarias para mis proyectos inminentes), pero emprenderé el rediseño completo de la aplicación. Y para evitar problemas de compatibilidad, el desarrollo se hará 100% en Linux. La práctica ha demostrado que Linux -> Windows, Linux -> Mac es factible. Sin embargo, Windows -> otros no es una opción viable. Windows se lo come todo, pero en otros sistemas más puristas, hay cosecha de segmentations :( En breve, última versión beta. Después, iremos a por una versión definitiva y mejor estructurada, portable, etc. Mejor me dejo de airear entresijos y me vuelvo al currelo, que no tengo poco. Gracias por los bug-reports. Título: Re: asMSX: nueva versión Publicado por: kabish en 11 de Marzo de 2007, 05:36:55 pm Un comentario sobre el asmsx..
Con la ultima version q publicaste, tengo un pequeño problema a la hora de definir datos con "db". Si por ejemplo pongo una cadena de este tipo .. "db 128,128,032,032,032" Pues me ensambla bien, pero a la hora de ejecutar el codigo pues no funciona como deberia. Pero si pongo esa misma linea de esta forma "db 128,128,32,32" pues funciona de perlas, o incluso si pongo "db 128,128, 32, 32" pues tambien va bien. Espero haberte ayudado en algo. Nota: Se q hay una directiva para postear codigo, pero no la recuerdo y la ayuda me da un 404. Lo siento. Título: Re: asMSX: nueva versión Publicado por: pitpan en 11 de Marzo de 2007, 11:17:23 pm Lo creas o no, se trata de una funcionalidad definida:
los números que empiezan por 0 son octales, es decir, números en base 8. asMSX soporta el formato numérico del C, que interpreta los números que empiezan por 0 como octales. Y también puedes usar hexadecimales como 0x. Por lo tanto, el 032 que tú indicas, tiene un valor decimal equivalente a 3x8+2x1=26. Como suele decirse en otros páramos, RTFM. ;) Título: Re: asMSX: nueva versión Publicado por: WYZ en 13 de Marzo de 2007, 09:12:18 pm Robsy, yo aun tengo problemas con .PHASE. La mayoría de las veces los saltos relativos a etiquetas que estan incluidas entre fase-desfase dan el error "direccion no alcanzable" y las tengo que cambiarpor JP's. A ver que estoy haciendo mal... por lo demás es un gustazo usarlo cuando cuando el codigo es auto-modificado y debes usar RAM.
Título: Re: asMSX: nueva versión Publicado por: pitpan en 13 de Marzo de 2007, 11:43:58 pm Pues gracias por decírmelo, WYZ, porque no era consciente de este problema. Al no utilizar yo para nada la instrucción PHASE, es muy posible que haya algún bug. Reviso el código y os digo algo aquí mismo ;)
Título: Re: asMSX: nueva versión Publicado por: jjfranco en 14 de Marzo de 2007, 11:42:31 am Me podeis explicar para que sirve la instrucción PHASE/DESPHASE ??? Y como se usa.
Gracias. Título: Re: asMSX: nueva versión Publicado por: pitpan en 14 de Marzo de 2007, 12:48:15 pm Pues básicamente te sirve para ensamblar en una dirección código que después quieras ejecutar en otra. Por ejemplo, suponte que hacer una ROM pero tienes código automodificable que necesitas situar en RAM para que la modificación sea posible.
Te pongo un ejemplo muy tonto, de código dentro de la ROM que se copia a RAM y se ejecuta allí (no es automodificable, es un ejemplo trivial) Código: .bios .page 1 .rom .start INIT DESTINO_RUTINA equ 8800h INIT: ; Copia el código de la rutina de ROM a RAM ld hl,CODIGO_RUTINA ld de,DESTINO_RUTINA ld bc,100h ldir ; Llama a la rutina copiada en RAM call DESTINO_RUTINA ; Final del programa FINAL: jr FINAL ; Rutina a ser copiada en RAM ; (se ensamblará en la ROM, pero con todas las direcciones ya preparadas para funcionar en RAM, a partir de 8800h) CODIGO_RUTINA: .phase DESTINO_RUTINA ... (aquí va el código de la rutina) .dephase Espero que sea suficientemente claro. Sigo sin detectar el problema del comando PHASE/DEPHASE y los saltos relativos, WYZ. Sin embargo, he comprobado que si utilizas etiquetas globales (sin @@) te ensamblará correctamente. Tengo que ponerme con un poco más de atención y menos sueño a revisar el código. ¿Para qué utilizo yo PHASE/DEPHASE? Pues exclusivamente para copiar la rutina de interrupción a la dirección adecuada. O para copiar código de la ROM a la RAM para su ejecución desde allí. Título: Re: asMSX: nueva versión Publicado por: pitpan en 14 de Marzo de 2007, 05:30:07 pm Ok. Ya he detectado el error y he podido corregirlo. Para variar, se trataba de una tontería muy grande. Menos mal que pude detectar que funcionaba bien con variables globales y fallaba con las locales, y con este diagnóstico ha sido fácil dar con el origen de los problemas. :P
Subiré la versión bug-fixed en breve. ;) Gracias por el chivatazo, WYZ. Si tenéis algún otro problema, no dejéis de comunicármelo, please. Título: Re: asMSX: nueva versión Publicado por: jjfranco en 14 de Marzo de 2007, 09:34:50 pm Robsy, Gracias por la aclaración.
Solo dos pregunta más y aparco el tema, ¿ que utilidad tiene esto ? ¿para crear megarom con mucho codigo ejecutable, por ejemplo ? Título: Re: asMSX: nueva versión Publicado por: pitpan en 14 de Marzo de 2007, 09:41:51 pm Pues las utilidades son diversas, pero por ponerte una muy relacionada con los video-juegos, piensa en el código del replayer de PT3 que adaptó para MSX Dioniso. Utiliza código automodificable, por lo que debe necesariamente ejecutarse desde la RAM. Sin embargo, si has creado una ROM, es memoria no modificable. Solución: usar PHASE/DEPHASE para incluirlo en la ROM pero ensamblándose como si estuviera en una posición en RAM. Entonces, desde la ROM copias el código a RAM y ejecutas allí. Todo perfecto, todo sencillo.
La utilidad que apuntas, de código ejecutable en RAM para un megaROM, también es un buen ejemplo. En cualquier caso, yo simplemente me limité a incluir una función que tienen otros muchos ensambladores y que algún usuario de asMSX me había pedido. Al final, como somos 4 o 5 los que usamos el asMSX, es relativamente fácil incluir lo que me vayan pidiendo :D Título: Re: asMSX: nueva versión Publicado por: kabish en 15 de Marzo de 2007, 06:52:03 am Lo creas o no, se trata de una funcionalidad definida: los números que empiezan por 0 son octales, es decir, números en base 8. asMSX soporta el formato numérico del C, que interpreta los números que empiezan por 0 como octales. Y también puedes usar hexadecimales como 0x. Por lo tanto, el 032 que tú indicas, tiene un valor decimal equivalente a 3x8+2x1=26. Como suele decirse en otros páramos, RTFM. ;) Pues gracias por la respuesta, ahora lo veo mas claro. Título: Re: asMSX: nueva versión Publicado por: WYZ en 18 de Marzo de 2007, 11:15:18 pm Ok. Ya he detectado el error y he podido corregirlo. Para variar, se trataba de una tontería muy grande. Menos mal que pude detectar que funcionaba bien con variables globales y fallaba con las locales, y con este diagnóstico ha sido fácil dar con el origen de los problemas. :P Subiré la versión bug-fixed en breve. ;) Gracias por el chivatazo, WYZ. Si tenéis algún otro problema, no dejéis de comunicármelo, please. Gracias a ti por depurarlo ;D. Seguro que no soy el unico que está a la caza y captura de Bugs de AsMSX, aunque ultimamente deben estar muy escondidos, no se ven muy a menudo. ...Y seguro que somos mas de lo que te inmaginas los usuarios asiduos. Título: Re: asMSX: nueva versión Publicado por: pitpan en 19 de Marzo de 2007, 12:38:28 am Bueno, os dejo la nueva versión aquí: asMSX 0.12g (http://www.robsy.net/asmsx012g.zip)
Esta versión soluciona el problema detectado por WYZ [gracias por el aviso]. Ahora las etiquetas locales funcionan bien dentro del código PHASEado. Y, además, creo que los fallos de etiquetas no accesibles mejorarán sensiblemente. Como bonus, he añadido algunos detallitos más: - IFDEF símbolo: mejora el ensamblado condicional con esta instrucción, que ensambla el código subsiguiente si y solo si el símbolo/etiqueta indicado existen en el código. - CAS ["nombre"]: asMSX generará directamente un fichero CAS listo para ser cargado directamente en vuestro emulador favorito. En cualquier caso, sólo soporta ficheros tipo BASIC (BLOADables), ROM en página 2 (8000h) y código Z80 sin cabecera. - WAV ["nombre"]: idéntica a la instrucción anterior, pero genera un fichero WAV que puede ser cargado en cualquier MSX con puerto de cassette. De nuevo, si encontráis cualquier pega, bug o tenéis alguna sugerencia de mejora, ya sabéis dónde encontrarme. Y sigo con ganas de saber qué juegos han sido programados con asMSX, más que nada para incluir una referencia en la documentación de la próxima versión... Título: Re: asMSX: nueva versión Publicado por: pitpan en 19 de Marzo de 2007, 01:20:14 am Bueno, creo que éste es el listado actualizado de juegos que se han programado con el asMSX, pero no estoy seguro de que la lista sea completa, ni muy fiable. No se han incluido los juegos de menos de 8 KB, aunque todos sabemos que tienen su mérito! Creo que no me he dejado a nadie. Y creo que no he metido a presión a nadie (Juanma, Crappysoft sí usa asMSX, ¿verdad?). El orden es bastante aleatorio, así que si alguien quiere enriquecer la lista, que lo haga. Ya sabéis: juegos publicados, tamaño mínimo de 8 KB, programados en asMSX. ;)
(Grupo MSXdev'03) 1.- TEKI PAKI [16 KB] 2.- GURU LOGIC [32 KB] (Grupo MSXdev'04) 3.- SNAIL MAZE [8 KB] 4.- STRATOS [8 KB] 5.- SOUKOBAN POCKET [8 KB] 6.- DUCK HUNT [8 KB] 7.- PICTURE PUZZLE [8 KB] 8.- FACTORY INFECTION [8 KB] (Grupo MSXdev'05) 9.- SAIMAZOOM [32 KB] 10.- NAMAKE'S BRIDGEDROME [16 KB] 11.- GRIEL'S QUEST FOR THE SANGRAAL [32 KB] [+EXTENDED EDITION] 12. ZAMBEZE [32 KB] 13. CRAZY BUGGY [16 KB] (Grupo MSXdev'06) 14. MALAIKA – PREHISTORIC QUEST [32 KB] 15. DAEDALIAN OPUS [32 KB] 16. WORD INVADERS [8 KB] 17. LOS JARDINES DE ZEE WANG ZU [16 KB] (Grupo libre) 18.- CLASSIC PONG [8 KB] - opensource 19.- CLASSIC MINE SWEEPER [8 KB] - opensource 20. PHANTOMAS SAGA: INFINITY [32 KB] Por supuesto, si alguien está interesado en publicar el código fuente de su juego, será bienvenido a la distribución de asMSX, que ahora mismo está un poco anticuada. Tengo que reescribir la documentación, mejorar las herramientas que acompañan al ensamblador, incluir más ejemplos, etc. :P Título: Re: asMSX: nueva versión Publicado por: SapphiRe en 19 de Marzo de 2007, 12:45:51 pm Por supuesto, si alguien está interesado en publicar el código fuente de su juego, será bienvenido a la distribución de asMSX, que ahora mismo está un poco anticuada. Tengo que reescribir la documentación, mejorar las herramientas que acompañan al ensamblador, incluir más ejemplos, etc. :P Pues mira, sí. De hecho tengo que volver al código del PONG512 porque el otro día detecté un pequeño bug que es fácil de solucionar y ya que hago una nueva versión pues te lo paso y lo añades a la distribución. Un saludo -- Sph. Título: Re: asMSX: nueva versión Publicado por: pitpan en 19 de Marzo de 2007, 01:56:19 pm Encantado, Sap! Será un placer incluir más código fuente en la distribución. Si alguien más se anima, que lo diga... Espero que algún otro juego completo pueda pasar a ser opensource... :)
Título: Re: asMSX: nueva versión Publicado por: pitpan en 20 de Marzo de 2007, 10:28:29 am Bueno. Pues después de publicar la versión 0.12g, creo que ya tengo la clave para solucionar todos los problemas de "etiquetas desaparecidas" y de "nombres incompatibles". Eso sí, necesitaré un poco de tiempo porque será un cambio de diseño importante y si no se hace bien me puedo cargar toda la compatibilidad :(
Si alguien prueba la versión 0.12g, que lo diga, please. Y si encontráis bugs, decídmelo, que habrá que solucionarlos. Un saludo, Título: Re: asMSX: nueva versión Publicado por: jltursan en 20 de Marzo de 2007, 10:33:26 am La verdad es que te lo estás currando, ¡gracias Robsy! :)
Título: Re: asMSX: nueva versión Publicado por: jjfranco en 20 de Marzo de 2007, 11:17:47 am A la lista de juegos desarrollados en asMSX, podrás añadir otro que tengo empezado por ahí el "SocoC", esta a falta de añadir algunas pantallas más y alguna musiquilla. No es gran cosa pero esta hecho en ensamblador y con el asMSX.
Respecto a las mejoras y sugerencias en relación al asMSX tengo las mias propias, claro que sería mejoras para facilitarme a mí el trabajo, y a lo mejor no encuadraría perfectamente en lo que es un ensamblador, pero bueno algún día las comentaré. Y en relacion a lo de liberar el codigo fuente de los juegos, no tendría inconveniente, si no fuera porque mi código es vergonzoso. Por otro lado tengo interes en que termines el Carusso, y a ser posible le añadas un mini manual de como usar las funciones del player (el que incluyes en el ejemplo) y como implementarlo adecuadamente en los programas. Para mí este sería un gran avance en el mundo del CM. Esta es mi aportación y mis sugerencias a tus creaciones, espero que sean bien acogidas. De momento seguiré usando el asMSX cuando quiera programar en ensamblador, entre otras cosas porque ya me he hecho a él, y además me parece un buen trabajo por tu parte. Título: Re: asMSX: nueva versión Publicado por: pitpan en 20 de Marzo de 2007, 12:24:33 pm Gracias por los comentarios.
Jos'b, en cuanto publiques el SocoC lo añadiremos a la lista, claro que sí. En cuanto al asMSX, me gustaría oír tus propias sugerencias. asMSX ha ido evolucionando en base a las sugerencias de distintos usuarios y, porqué no decirlo, según mis propias necesidades. Si necesitaba una función en concreto para algún proyecto, la incluía en asMSX y listo. Por lo tanto, no te cortes en pedir. Ya sabes: contra el vicio de pedir, la virtud de no dar. Cuéntame tus ideas para que pueda evaluarlas. Puedes hacerlo en el foro para compartir opinión o en privado, como prefieras. Respecto al Caruso (con solo una S, me temo), estoy trabajando en el nuevo tracker, que será bastante más cómodo y funcional. Y tengo el nuevo replayer listo, bastante compacto, muy rápido y con mejoras sustanciales en cuanto a tamaño de las canciones y con algún efecto adicional interesante: posibilidad de reproducir melodías a 3 canales + FX (virtualmente, utilizar 4 canales) y comandos para fade-in y fade-out de melodías. De todos modos, aunque el replayer está listo, al tracker le queda mucho camino, ya que desarrollar aplicaciones en ensamblador resulta bastante indigesto. Por supuesto, esta edición irá mejor documentada y con más ejemplos, porque se pretende que sea una versión FINAL de la aplicación. Gracias de nuevo por los comentarios. Espero vuestras sugerencias y vuestro código fuente ;D Título: Re: asMSX: nueva versión Publicado por: Darth_Fistro en 23 de Marzo de 2007, 03:51:04 pm Pregunta, que ando un poco perdido: ¿estas últimas versiones corrigen el problema de fallos ilógicos durante el compilado que luego se arreglan añadiendo nops o quitando comentarios? Es que a medida que el tamaño de un listado crece, el problema parece acentuarse.
Es que estoy anclado en la 0.11 que es la única versión más moderna que rula en el Win98. A partir de esa todas me dan un "este programa realizó una operación no válida y te van a dar por el redondo y bla bla...". Me han dado un portátil bastante antiguo pero estoy pensando en formatearlo, meterle el XP y las herramientas de desarrollo y usarlo exclusivamente para el MSX. Si no, me temo que además de los fastidios, me voy a tener que quedar sin poder hacer megaroms :) Título: Re: asMSX: nueva versión Publicado por: Darth_Fistro en 23 de Marzo de 2007, 03:52:38 pm Ah, y que si quieres incluir el Crazy Buggy, que es el único en asm que tengo terminado, por mí encantado. Eso sí, aprender ensamblador no vais a aprender mucho, pero reiros, jojojo... ;D
Título: Re: asMSX: nueva versión Publicado por: kabish en 29 de Marzo de 2007, 08:39:55 pm No te creas, cuando estas aprendiendo, cualquier cosilla te parece un mundo.
Título: Re: asMSX: nueva versión Publicado por: WYZ en 09 de Julio de 2007, 09:28:26 pm Unas preguntillas técnicas, Robsy:
¿Es posible hacer REPT/ENDR con etiquetas? vamos, me refiero a que para expandir un bucle con etiquetas esta macro da error por redefinición. Otra cosa mas: ¿Se pueden hacer saltos relativos sin referencia a una etiqueta solamente añadiendo/restando un incremento del offset? de momento la única solución a estos problemas que se me ha ocurrido es la de este ejemplo: Código: rept 100 RLA DB $30,$02 ;JP NC,$0002 LD [HL],1 INC HL ;<-AQUI VA EL SALTO SIN ETIQUETA endr Título: Re: asMSX: nueva versión Publicado por: Dioniso en 09 de Julio de 2007, 09:58:01 pm ¿Se pueden hacer saltos relativos sin referencia a una etiqueta solamente añadiendo/restando un incremento del offset? de momento la única solución a estos problemas que se me ha ocurrido es la de este ejemplo: Código: rept 100 RLA DB $30,$02 ;JP NC,$0002 LD [HL],1 INC HL ;<-AQUI VA EL SALTO SIN ETIQUETA endr Creo que querías escribir ... ::) Código: DB $30,$02 ;JR NC,+$02 Título: Re: asMSX: nueva versión Publicado por: WYZ en 10 de Julio de 2007, 01:20:50 am Eso es Dioniso, esta claro, es un salto relativo ???. El comentario esta incorrecto.
Título: Re: asMSX: nueva versión Publicado por: pitpan en 12 de Julio de 2007, 12:59:46 pm Pues el tema de incluir etiquetas dentro del REPT no está contemplado :(
En cuanto a los saltos relativos, puedes hacerlos usando el símbolo $, que equivale al PC. Sin embargo, no tengo muy claro si en la referencia $ toma el valor de la instrucción en curso o de la siguiente. Pero es perfectamente lícito hacer JP $+0002h , por ejemplo. O debería serlo ;) De todos modos, como me voy a cambiar de sistema operativo en breve, abandonando Windows y sus servidumbres, tendremos nuevas versiones más estables del asMSX, si todo va bien. Título: Re: asMSX: nueva versión Publicado por: nerlaska en 12 de Julio de 2007, 03:45:03 pm A cual te pasas y porque? .. por curiosidad.
Título: Re: asMSX: nueva versión Publicado por: pitpan en 13 de Septiembre de 2007, 05:54:44 am Pues algo más sí he avanzado: estoy trabajando en la versión de asMSX para Linux (i386) y muy probablemente pueda ser recompilada también en Mac y Windows por el mismo precio. En cuanto tenga una versión plenamente funcional (la actual no es estable en el tratamiento de las etiquetas) necesitaré algún tester, es decir, alguien que tenga (a) código fuente en ensamblador; (b) sistemas operativos Linux y (c) algo de tiempo libre y ganas.
La ventaja de esto es que espero que la próxima versión pública de asMSX sea opensource, con lo cual sería viable incluirla en un repositorio de código en Internet y preparar directamente binarios para todos los sistemas operativos (todos los que dispongan del compilador GCC). Y que cada uno modifique lo que le parezca ;) Título: Re: asMSX: nueva versión Publicado por: kabish en 13 de Septiembre de 2007, 04:43:27 pm yo tengo (a), (b) y (c) a medias .. asi q te puedo echar un cable si te viene bien.
la proxima semana tengo unas inmerecidas vacaciones asi q dime. Título: Re: asMSX: nueva versión Publicado por: jltursan en 18 de Septiembre de 2007, 05:42:18 pm Pues como a mí también me parece interesante y tengo algún que otro tocho compilable por asMSX, ¡cuenta conmigo! (cuando vuelva de vacaciones en un par de días, claro ;))
Título: Re: asMSX: nueva versión Publicado por: pitpan en 27 de Mayo de 2008, 07:09:51 pm Ok. Parece que ya tengo algo: tengo una versi'on del asMSX para Linux que resulta, como m'inimo, tan estable como la de Windows. Ser'a la versi'on 0.14, aunque en realidad no aporta funcionalidad adicional. La he compilado sin problemas en un eeePC con Xandros y en el omnipresente Ubuntu, con librer'ias diferentes y diferentes versiones de GCC, Flex y Bison. Un gustazo.
Adem'as, con sutiles cambios en el make, compila directamente para Windows y, pese a que no he podido probarlo de forma intensiva, se han resuelto algunos de los fallos "incomprensibles". Sigue reventando en las colisiones de etiquetas, claro. Sigue pendiente la versi'on para Mac, por el sencillo hecho de que Apple incorpora en su DVD de desarrollo una versi'on prehist'orica de Bison, la 0.875. Supongo que bajando una versi'on actualizada no habr'ia problemas, aunque es cierto que no he podido hacerlo a'un. La duda que me surge ahora es c'omo distribuir todo este galimat'ias, aunque sea en una versi'on previa, sin herramientas y poco documentado, para que la gente pueda usarlo de forma nativa en Linux. Supongo que la mejor soluci'on ser'ia crear un paquete, y he de decir que me decantar'ia por un .DEB. Alguna alternativa m'as interesante? Por otra parte, tengo la duda de que no tengo ni idea de las dependencias que tiene en este momento asMSX para Linux. Hay alguna forma de saber qu'e librer'ias se est'an vinculando en su compilaci'on? Supongo que es una pregunta idiota, pero recordad que he sido Windowsero hasta hace nada y todav'ia no me siento confortable con el paradigma Linux. Por supuesto, si os corre prisa, lo que puedo hacer es un ZIP con el c'odigo fuente y los binarios tanto para Windows como para Linux, para ver qu'e pasa. Y lo que necesitar'ia tambi'en es que me recomend'eis el tipo de licencia a incluir, dado que esta vez se distribuir'a c'odigo fuente y me gustar'ia tener alg'un control sobre los derivados que se vaya "fabricando" la gente, para no tener que ir desfaciendo entuertos de versiones no oficiales. Alguien puede sugerirme algo al respecto? Gracias por todo, que sois unos cracks. Título: Re: asMSX: nueva versión Publicado por: jltursan en 27 de Mayo de 2008, 07:40:42 pm Citar La duda que me surge ahora es c'omo distribuir todo este galimat'ias, aunque sea en una versi'on previa, sin herramientas y poco documentado, para que la gente pueda usarlo de forma nativa en Linux. Supongo que la mejor soluci'on ser'ia crear un paquete, y he de decir que me decantar'ia por un .DEB. Alguna alternativa m'as interesante? La mejor sin duda es la distribución en forma de tar.gz, el que lo quiera que haga el "./configure, make, make install" de rigor. Vale, a mucha gente eso le parece que es "sucio" ya que pierden el control sobre su base de paquetes instalados; pero de cara al desarrollador facilita mucho las cosas; o eso o te curras RPM y DEB para tener contento a todo el mundo :P Citar Por otra parte, tengo la duda de que no tengo ni idea de las dependencias que tiene en este momento asMSX para Linux. Hay alguna forma de saber qu'e librer'ias se est'an vinculando en su compilaci'on? Supongo que es una pregunta idiota, pero recordad que he sido Windowsero hasta hace nada y todav'ia no me siento confortable con el paradigma Linux. Si ejecutas "ldd asMSX" te saldrá una lista de las dependencias de librerias que tiene el ejecutable Citar Y lo que necesitar'ia tambi'en es que me recomend'eis el tipo de licencia a incluir, dado que esta vez se distribuir'a c'odigo fuente y me gustar'ia tener alg'un control sobre los derivados que se vaya "fabricando" la gente, para no tener que ir desfaciendo entuertos de versiones no oficiales. Alguien puede sugerirme algo al respecto? Cógete la que habitualmente incluyen las distribuciones en .tar.gz, no me acuerdo cual era, creo que la GPL. Título: Re: asMSX: nueva versión Publicado por: pitpan en 27 de Mayo de 2008, 08:12:30 pm Hola, JL y gracias por contestar.
Creo que s'i que tendr'e que currarme el package, para ver si hay suerte y consigo que los incluyan en las distribuciones que rulan por ah'i. De este modo, ser'ia bastante m'as f'acil para todo el mundo instal'arselo. Respecto del LDD, obtengo lo siguiente: /home/user/asmsx> ldd asmsx linux-gate.so.1 => (0xb7fd8000) libm.so.6 => /lib/tls/libm.so.6 (0xb7fa3000) libc.so.6 => /lib/tls/libc.so.6 (0xb7e71000) /lib/ld-linux.so.2 (0xb7fd9000) Pero me refer'ia m'as bien a las dependencias de cara a poderlo compilar, es decir, asegurarme de que identifico todas las herramientas de compilaci'on necesarias (GCC, Bison, Flex y, opcionalmente, UPX). La licencia GPL es demasiado amplia. Estaba pensando en algo en plan Creative Commons, pero no estoy seguro de que se ajusten bien a mis intereses. Título: Re: asMSX: nueva versión Publicado por: kabish en 27 de Mayo de 2008, 08:12:51 pm Enhorabuena, ya era hora :D
Creo que si haces lo que dice jltursan dejaras a todo el mundo contento. Yo tb he migrado hace poco a linux pero para programar todavia uso mi viejo portatil con xp. :-[ Título: Re: asMSX: nueva versión Publicado por: jltursan en 27 de Mayo de 2008, 08:45:30 pm Citar Creo que s'i que tendr'e que currarme el package, para ver si hay suerte y consigo que los incluyan en las distribuciones que rulan por ah'i. De este modo, ser'ia bastante m'as f'acil para todo el mundo instal'arselo. Mira a ver si el alien soporta la conversión a paquete DEB de una distribución .tar.gz (http://bulma.net/body.phtml?nIdNoticia=1870), sería la solución (automática) a todos tus problemas :). Luego el DEB lo conviertes con la misma herramienta a RPM y listos. Citar Respecto del LDD, obtengo lo siguiente: /home/user/asmsx> ldd asmsx linux-gate.so.1 => (0xb7fd8000) libm.so.6 => /lib/tls/libm.so.6 (0xb7fa3000) libc.so.6 => /lib/tls/libc.so.6 (0xb7e71000) /lib/ld-linux.so.2 (0xb7fd9000) Esas son las dependencias run-time, claro. Los paquetes que puedas necesitar durante la compilación tendría que venir determinado por el "configure", es el que canta cuando el usuario que lo compila no tiene alguna de las herramientas/librerias que necesita. Tampoco estoy muy familiarizado con Bison, Flex y demás; no se si suelen ser instalados de serie. El GCC es muy común; pero es cierto que dependiendo de la distribución de Linux o el tipo de instalación realizada te lo pueden dejar fuera :P A ver que tal ese asMSx para Linux... :) Título: Re: asMSX: nueva versión Publicado por: k0ga en 28 de Mayo de 2008, 08:03:48 am La duda que me surge ahora es c'omo distribuir todo este galimat'ias, aunque sea en una versi'on previa, sin herramientas y poco documentado, para que la gente pueda usarlo de forma nativa en Linux. Supongo que la mejor soluci'on ser'ia crear un paquete, y he de decir que me decantar'ia por un .DEB. Alguna alternativa m'as interesante? Tambien puedes compilarlo estaticamente y distribuir el ejecutable directamente, y asi te aeguras que funciona en cualquier sistema independientemente de las librerias instaladas. Título: Re: asMSX: nueva versión Publicado por: pitpan en 28 de Mayo de 2008, 11:15:03 am Pues hala. En lo que termino de pensármelo y de corregir algunas cosillas, os pongo una beta chunga del asMSX para vuestro deleite, prueba y bug-hunting. El ejecutable indica que es la versión 0.15, pero no hagáis mucho caso a eso, dado que dejamos la cuenta en la versión 0.12g. El ZIP adjunto viene desangelado y sólo contiene los binarios para Linux/i486 y Windows/32bits. Para los más frikis, indicaros que la versión de Windows ocupa exactamente 32768 bytes, es decir, 32 KB. Puro vicio.
Por favor, los que tengáis algo de código fuente disponible, probad a ver si "cuela" con esta nueva versión, porque me ha producido algunos inexplicables "segmentation fault". Descargar asMSX v.0.15 beta - binarios Linux/i486 y Win32 (http://www.robsy.net/asmsx015.zip) Advertencia para navegantes: Linux es "case sensitive", por lo que aseguraos de que los nombres de los ficheros que aparezcan en los INCLUDE y INCBIN sean exactos. En Windows no hay problema, los encuentra siempre, pero para Linux tienen que aparecer las mayúsculas y minúsculas como correspondan. Título: Re: asMSX: nueva versión Publicado por: pitpan en 28 de Mayo de 2008, 01:48:43 pm Vale. Ya he pillado el error que hace que casque con algún SEGMENTATION FAULT. Tiene que ver con una inicialización de un puntero para el cual no reservo suficiente espacio. Quedará resuelto y subiré una nueva versión esta tarde, si el karma me lo permite.
Título: Re: asMSX: nueva versión Publicado por: Ramones en 28 de Mayo de 2008, 03:04:18 pm Vale. Ya he pillado el error que hace que casque con algún SEGMENTATION FAULT. Tiene que ver con una inicialización de un puntero para el cual no reservo suficiente espacio. Quedará resuelto y subiré una nueva versión esta tarde, si el karma me lo permite. A ver si puedo probártelo en Mac OSX con los indios grandes y tal. ;) Y a ver también si lo terminas de una vez y puedo pasar el sistema de desarrollo a asMSX en lugar el sjASM (que va muy bien, pero en Mac OSX también tengo un problema con un puntero nulo que no veo y tengo que hacer algunas guarradas para usarlo cuando los códigos son grandes). Título: Re: asMSX: nueva versión Publicado por: pitpan en 28 de Mayo de 2008, 04:10:13 pm Okis. El bug de los petardazos ya ha sido solucionado, así que podéis descargaros el fichero con la versión 0.15 actualizada (http://www.robsy.net/asmsx015.zip) con los binarios para Win32 y Linux/i486.
Título: Re: asMSX: nueva versión Publicado por: pitpan en 30 de Mayo de 2008, 07:31:39 am Realizando mis propios test, parece que todo se ha vuelto con esta versión un poco más estable y ya no se darán esos errores imprevisibles de etiquetas desaparecidas. Lo único que sigue dando problemas, y se trata de un problema estructural, es cuando hay colisiones parciales entre una etiqueta y una pseudoinstrucción del asMSX. Por ejemplo, ahora que la directiva WAV se ha definido, lo que no se admite es una etiqueta que se llame WAV_DATA, ya que daría un error de sintaxis. Sin embargo, DATA_WAV sería en principio correcto.
Si alguien se anima a probar esta versión para Linux/Windows, quedaría muy agradecido. Por otra parte, estoy pendiente de añadirle alguna funcionalidad adicional, pero quizás esté forzando demasiado la máquina. Además, me gusta la idea de un ensamblador que ocupe 32 KB. Título: Re: asMSX: nueva versión Publicado por: Jon_Cortazar en 04 de Junio de 2008, 09:50:38 am Cojonudo!!!!... robs, ¿que hay de abrir un nuevo thread con la noticia? :D :D :D (creo que es lo suficientemente relevante) ;) ;) ;)
Felicidades por el release! Título: Re: asMSX: nueva versión Publicado por: pitpan en 04 de Junio de 2008, 11:41:22 am Hola, socio.
En principio, mejor que esperemos a que haya una distribución como tal, que esto era sólo un paquete con dos ejecutables, para Windows y Linux, pero sin documentación, ni ejemplos ni nada de nada. La idea era que las almas caritativas del foro que han usado versiones anteriores del asMSX probaran simplemente a ensamblar su código con esta nueva versión, para ver si peta o no... pero de momento, silencio en las líneas :( Además, ahora estoy tratando de darle un empujón a algún minitruñijuego para el 2KBOS, pero lo veo difícil. Título: Re: asMSX: nueva versión Publicado por: jltursan en 04 de Junio de 2008, 03:07:31 pm Citar Además, ahora estoy tratando de darle un empujón a algún minitruñijuego para el 2KBOS, pero lo veo difícil. Yo estoy igual, además de que se me está haciendo complicado de narices, me voy a pasar tres pueblos del tamaño. El código lo tengo para sjASM; pero como he mantenido hábitos del asMSX no creo que en un momento dado me cueste mucho compilarlo con él. Respecto al Linux ha desaparecido momentáneamente de mi vida, tanto en casa como en el trabajo; así que podría testear únicamente la versión windows :(. A parte de los muchos shippets que pululan por mi disco duro, ahora mismo lo más extenso que tengo para el asMSX es el XPong (http://www.telefonica.net/web2/msxpage/xpong.zip); el cual, por supuesto, está a tu disposición. Título: Re: asMSX: nueva versión Publicado por: OKI09 en 04 de Junio de 2008, 05:40:15 pm Bueno Robsy.
He ensamblado mi juego con esta version del asmsx y te comento: line 1117 : undefinid identifier Dicha linea contiene lo siguiente: .print (FINAL-C000h) Son las instrucciones que se encargan de crear el fichero txt con el tamaño del codigo. (En la version que yo estaba utilizando hasta ahora funcionaba bien) Al quitar dicha linea va perfecto, una rapidez increible, ensamblado en 0.06 sg. Despues he probado el .bin resultante y creo que va bien. Espero que mi pequeña ayuda te sirva de algo. Bye. Título: Re: asMSX: nueva versión Publicado por: pitpan en 05 de Junio de 2008, 12:06:32 am Detectado y explicado: he cambiado la regla de detección de hexadecimales porque daba algún problema de estabilidad. Los hexadecimales se pueden expresar de las siguientes formas:
$C000 0xC000 0C000h Pero no se admite ya C000h, y se adopta el criterio de otros ensambladores, que requieren que si la identificación de formato es un terminador (h), deban empezar necesariamente con un número. Por eso habría que añadir el 0 inicial. Con esto, no deberías tener problemas. De todos modos, ¿has usado Windows o Linux? Gracias por las pruebas, OKI!!! Título: Re: asMSX: nueva versión Publicado por: OKI09 en 05 de Junio de 2008, 04:38:31 pm Citar ¿has usado Windows o Linux? He usado Windows. Probadas las 3 opciones que me citas anteriormente y funcionan a la perfeccion, incluso se ha mejorado el tiempo de compilacion a 0,05sg. (Una pasada) Gracias por mejorar el asmsx, Robsy. Seguiremos de cerca todas las mejoras que quieres incluir. :o Título: Re: asMSX: nueva versión Publicado por: pitpan en 19 de Septiembre de 2008, 10:22:16 am EUREKA.
Tras un encontronazo fortuito con la documentación oficial de flex (me refiero al "Fast LEXical scanner generator" de GNU), he conseguido - aparentemente - solucionar el problema de colisión de etiquetas que infestaba asMSX desde la primera versión. Evidentemente, supone un coste en cuanto a tiempo de proceso y tamaño del programa, pero merece la pena y tampoco debería preocuparnos mucho. Con esto, asMSX da un paso más hacia una versión estable y completa. Por lo tanto, falta comprobar que con los nuevos cambios no se haya roto nada en ningún otro sitio, y aprovechar también para depurar algún otro bug menor. En cualquier caso, evitando la colisión de etiquetas y, con lo que ya se corregía en la versión 0.15 previa, que era la desaparición arbitraria de etiquetas, la herramienta ha ganado mucho en estabilidad. Y la versión para Linux ya es una realidad, así que estoy satisfecho por estos pequeños logros. El otro objetivo a la vista es conseguir que se compile en Mac, ampliar la colección de ejemplos y herramientas de apoyo, y actualizar la documentación además de hacer una versión en inglés. No me queda nada :P En cualquier caso, creo que para octubre podría haber una versión oficial del asMSX 0.15. Dependerá de los ratos libres que consiga atesorar. Título: Re: asMSX: nueva versión Publicado por: pitpan en 19 de Septiembre de 2008, 11:48:36 am Por cierto, que respecto a lo que comentaba Jos'b en el código fuente de ZONE, contesto directamente:
; Posibles fallos detectados en el ensamblador AsMSX 0.12g durante el desarrollo de este juego ; ; - No reconoce la etiqueta DSPFNK (00CFh) de llamada a la BIOS para activar teclas función -CORREGIDO-Se trataba de una colisión entre etiquetas y pseudoinstrucciones. ; - ADD IX, HL - No se envía mensaje de error -CORREGIDO-Un error monumental, lo ensamblaba como ADD IX,IX. También aceptaba ADD IY,HL y la ensamblaba como ADD IY,IY. ; - Colocando la directiva "db" entre directivas "ds" la toma como otra "ds"¿? -NO ES UN ERROR-Si se reserva espacio (DS) y después se escriben datos (DB), el puntero de programa ha de avanzar necesariamente. DS reserva un número de bytes sin definir y a continuación se ensamblan los datos siguientes. DS ocupará espacio siempre que no sea la última instrucción en cuanto a direcciones de memoria. ; - Error al colocar como dato Hex. "DBh" ¿lo interpreta como directiva la "db"? -CORREGIDO-De todos modos, el formato debería ser 0DBh o $DB o 0xDB con la sintaxis normalizada para evitar colisiones. Gracias por detectar y diagnosticar los errores, Jos'b. Siento haber tardado tanto en responder, pero ahora el asMSX es un poco mejor. Si alguien más ha hecho bug-hunting con las últimas versiones (0.12 en adelante), que hable ahora o calle hasta la próxima versión ;) Título: Re: asMSX: nueva versión Publicado por: pitpan en 19 de Septiembre de 2008, 02:10:01 pm Parece que agunta bastante bien, así que os dejo una versión de pruebas, sólo para Windows esta vez: asMSX v.0.15a (19/09/2008) - Windows (http://www.robsy.net/asmsx015a.zip).
Si alguien tiene código por ahí y se anima a probarla, que me cuente el resultado. Gracias ;) Título: Re: asMSX: nueva versión Publicado por: Jon_Cortazar en 21 de Septiembre de 2008, 08:08:14 am Descagando, socio! Felicidades por el release ;)
Título: Re: asMSX: nueva versión Publicado por: jltursan en 21 de Septiembre de 2008, 11:52:27 am Me lo descargo y de hecho lo voy a probar ahora mismo... :)
Título: Re: asMSX: nueva versión Publicado por: jltursan en 21 de Septiembre de 2008, 01:35:34 pm ¡Enhorabuena, ahora si que me da buen rollo!, compila mucho mejor que antes :)
Un pequeño reporte de fallos que le he encontrado de momento: Errores asociados a REPT REPT <n>: n no permite expresiones de ningun tipo (supongo que es una limitación; pero...) ...en general no aparece el nombre del archivo en la cadena del error. Casos especiales: - Si la expresion contiene una expresion con equivalencias (SPRITE_WIDTH/2) elmensaje de error es "number expected in REPT" y la linea es correcta. - Si la expresion contiene una expresion sin equivalencias (24/2) el mensaje de error es "syntax error" y la linea reportada incorrectamente es la anterior Error asociado al archivo de salida En algunos casos y dependiendo de la extensión del archivo fuente, el archivo de salida ROM generado no tiene exactamente la extensión .rom. Ejemplo: sprites.asm -> sprites.rom sprites.msx -> sprites.rom sprites.asmx -> sprites.asrom sprites.pepe -> sprites.prom Ala, que esto va por buen camino Título: Re: asMSX: nueva versión Publicado por: pitpan en 21 de Septiembre de 2008, 07:38:09 pm Hola!
Gracias por el report, JL! Te contesto lo que puedo/sé: - El REPT, como tú bien dices, sólo funciona con números en formato decimal, no admite expresiones. Esto es así porque está implementado a nivel de preprocesador, y no quise añadir más complejidad a éste. El evaluador de expresiones está en el módulo ensamblador propiamente dicho. El tema de que no indique el archivo erróneo lo detecté, pero no lo he podido investigar. Lo que sucede es que tendría que dar siempre un mismo error al usar REPT 20+1 o REPT num. En fin, seguiré con ello. - Las extensiones de los ficheros tienen que petar necesariamente. El código que uso para generar los nombres está heredado de la primera versión para MS-DOS (formato 8.3). Por lo tanto, con extensiones de más de 3 letras es posible que haga algunas cosillas raras. Eso te pasa por no usar .ASM siempre, como cualquier programador responsable ;D En fin. Revisaré el código y lo puliré un poco, porque manipulaba los punteros "a mano", sin ninguna rutina de strings. Pero bueno, me alegra mucho que te dé buen feeling esta nueva versión. Creo que ahora sí estoy en el buen camino. Además, no puedo añadirle más funcionalidades hasta que no haya solucionado los problemas de base, que son principalmente la estabilidad. Gracias por las pruebas. Si alguien más tiene algo que decir, que dispare ;) Título: Re: asMSX: nueva versión Publicado por: kabish en 21 de Septiembre de 2008, 09:41:02 pm Bueno, lo primero agradecerte el curro que estas haciendo con el 'asmsx'. Yo no he probado esta version todavia pero esta semana tengo vacaciones y sacare tiempo para probarlo. Espero que no tardes mucho en sacar la version de linux, pero poco a poco, ya me entiendes ;)
Un saludo. Título: Re: asMSX: nueva versión Publicado por: Jos'b en 22 de Septiembre de 2008, 07:14:26 am Me alegro por la nueva versión, ya sabes que soy un fiel usuario del asMSX. Y por supuesto sigo manteniendo las propuestas de mejora que hice antes del último crash del foro.
Título: Re: asMSX: nueva versión Publicado por: WYZ en 22 de Septiembre de 2008, 12:34:18 pm Me alegro por la nueva versión, ya sabes que soy un fiel usuario del asMSX. Y por supuesto sigo manteniendo las propuestas de mejora que hice antes del último crash del foro. Idem! y enhorabuena Robsy. El caso es que ya me habia acostumbrado tanto que lo voy a echar de menos ;D Yo lo uso para cualquier plataforma con un algo parecido a un z80, incluyendo el Sam Coupé. Título: Re: asMSX: nueva versión Publicado por: pitpan en 22 de Septiembre de 2008, 01:36:45 pm Ese WYZ! El usuario más fiel (y también probablemente el más antiguo) del asMSX.
Me encantaría darle soporte para otras plataformas, pero no estoy seguro de que pudiera alcanzar un nivel de funcionalidad equivalente al que le he dado para MSX hasta el momento. Meditaré un poco al respecto. De hecho, me da hasta miedo incluirle un modo R800, por el tema de que el asMSX soporta todas las instrucciones no documentadas del Z80 y el R800 no. Discriminar unas de otras puede hacerme la vida muy difícil :( Vale. Pensaré en la viabilidad de una pseudoinstrucción llamada STRICT o algo así, que te de avisos/errores en el caso de usar instrucciones no documentadas. Así se podría hacer algo parecido. Y ahora que lo pienso, ¿qué haces tú tirando código para un SamCoupé? ??? ¿Producciones de CEZ? Se intuye quizás una versión del Phantomas Infinity... Título: Re: asMSX: nueva versión Publicado por: jltursan en 22 de Septiembre de 2008, 10:09:38 pm Citar Vale. Pensaré en la viabilidad de una pseudoinstrucción llamada STRICT o algo así, que te de avisos/errores en el caso de usar instrucciones no documentadas. Así se podría hacer algo parecido. O alguna del estilo .R800 para habilitar (y deshabilitar) las instrucciones que corresponda. Lo del STRICT me recuerda mucho al Perl :D Citar - El REPT, como tú bien dices, sólo funciona con números en formato decimal, no admite expresiones. Esto es así porque está implementado a nivel de preprocesador, y no quise añadir más complejidad a éste. El evaluador de expresiones está en el módulo ensamblador propiamente dicho. El tema de que no indique el archivo erróneo lo detecté, pero no lo he podido investigar. Lo que sucede es que tendría que dar siempre un mismo error al usar REPT 20+1 o REPT num. En fin, seguiré con ello. Me lo imaginaba, no problem. Es de esas comodidades de las que puedes prescindir. Citar Las extensiones de los ficheros tienen que petar necesariamente. El código que uso para generar los nombres está heredado de la primera versión para MS-DOS (formato 8.3). Por lo tanto, con extensiones de más de 3 letras es posible que haga algunas cosillas raras. Eso te pasa por no usar .ASM siempre, como cualquier programador responsable Grin En fin. Revisaré el código y lo puliré un poco, porque manipulaba los punteros "a mano", sin ninguna rutina de strings. Tsk, tsk, esos punteros... ;D Aunque supongo que sera todo C, si por alguna casualidad es C++ no dejes de echarle un vistazo a las STL (Standard Template Libraries). Yo ya hace años que no uso otra cosa y creo que hasta me costaría manipular cadenas en C puro ;) En cualquier caso, échale un vistazo anda, que como no tenga extensiones de más de tres letras voy listo ::) Título: Re: asMSX: nueva versión Publicado por: pitpan en 23 de Septiembre de 2008, 09:22:07 am Citar Vale. Pensaré en la viabilidad de una pseudoinstrucción llamada STRICT o algo así, que te de avisos/errores en el caso de usar instrucciones no documentadas. Así se podría hacer algo parecido. O alguna del estilo .R800 para habilitar (y deshabilitar) las instrucciones que corresponda. Lo del STRICT me recuerda mucho al Perl :DEl problema aquí, JL, es que no he encontrado ninguna documentación que indique exactamente las instrucciones del Z80 no oficiales que no soporta el R800 y las que sí. Más que nada, porque cuando entramos en el jardín de las instrucciones SET b,(IX+d),r se me ponen los pelos como escarpias. El juego de instrucciones no oficiales del Z80 es casi más largo que el de las instrucciones oficiales. Y no he visto ninguna documentación completa en este sentido. Como no tengo tiempo de probar instrucción por instrucción, me resulta más fácil exigir un Z80 "oficial" que un R800. Si alguien tiene una documentación que me permita hacerlo, no tendría problemas en dar soporte al R800 en asMSX. Lo que no quisiera es tener que hacer la tarea arqueológica de probar instrucción por instrucción no oficial del Z80 en el R800, porque no tengo el tiempo suficiente. Título: Re: asMSX: nueva versión Publicado por: kabish en 23 de Septiembre de 2008, 02:27:50 pm Testeado y salvo el cambio de nomenclatura en los numeros, ya comentado, va como la seda.
Una vez mas gracias por todo, ya solo nos queda aprender ensamblador en condiciones ;D ¿Sigues buscando algun source para añadir a la distribucion?. Título: Re: asMSX: nueva versión Publicado por: WYZ en 23 de Septiembre de 2008, 06:08:42 pm Robsy, sobre le SIM , es mas por propia iniciativa, un poco animado por Utopian que se ha comprado un ejemplar. Es un buen cacharro, pero donde se ponga un MSX2 ... anyway, el AsMSX es muy muy versatil.
Como sugerencia yo le pondría algún comando tipo "FILEOUT ext" para poder elegir nombre y extensión del archivo compilado de salida, z80,bin,exe... (si no hay nada parecido ya y que se me haya pasado). La verdad es que un z80 es un z80 hasta en el espejo retrovisor del Corsa de SapphiRe. PS: Jor, que frase me ha salido. No se si ponérmela de pie de mensaje y todo :P Título: Re: asMSX: nueva versión Publicado por: SapphiRe_MSX en 23 de Septiembre de 2008, 06:23:18 pm La verdad es que un z80 es un z80 hasta en el espejo retrovisor del Corsa de SapphiRe. PS: Jor, que frase me ha salido. No se si ponérmela de pie de mensaje y todo :P JUAJUAJUAJUAJUAJUAJUAJUAJUA ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D A ver si le saco una foto y os la pongo en el blog para que lo veáis. Es cierto, tengo un Z80 colgando del espejo retrovisor del coche ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D Título: Re: asMSX: nueva versión Publicado por: pitpan en 23 de Septiembre de 2008, 06:23:50 pm Gracias por las pruebas, kabish. En principio a'un no tengo claro c'omo voy a estructurar la pr'oxima distribuci'on del asMSX, pero s'i que es probable que "invite" a que terceros cedan c'odigo fuente a la causa. En cuanto lo tenga claro, aqu'i quedar'a dicho.
Me quedo tranquilo al saber que FUNCIONA con c'odigo que no haya creado yo, porque siempre hay un sesgo perceptivo en este sentido. Hay muchas funcionalidades del asMSX que he incorporado pero que sin embargo NO USO, por lo que es bueno que pase por distintas pruebas. WYZ: lo del Coupe mola. Pero es un brindis al sol: salio tarde y le faltaba potencia para competir con los Amiga que ya dominaban UK. Aunque a los aut'enticos obsoletos eso del 'exito comercial nos importa poco, verdad? ;) Título: Re: asMSX: nueva versión Publicado por: pitpan en 23 de Septiembre de 2008, 06:25:41 pm La verdad es que un z80 es un z80 hasta en el espejo retrovisor del Corsa de SapphiRe. PS: Jor, que frase me ha salido. No se si ponérmela de pie de mensaje y todo :P JUAJUAJUAJUAJUAJUAJUAJUAJUA ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D A ver si le saco una foto y os la pongo en el blog para que lo veáis. Es cierto, tengo un Z80 colgando del espejo retrovisor del coche ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D Pues algo as'i voy a tener que hacer con los 100 o 200 Z80s que tengo por aqu'i, nuevos y en los tubos de Zilog, reci'en salidos de f'abrica. Adem'as, se trata de los fantabulosos Z80B, que funcionan a 6 MHz. Pero no he conseguido que funcionen en mis MSX aunque el encapsulado sea el mismo a nivel de PINs. Seguramente el voltage no lo es. Alguien quiere montar un negocio de llaveros o algo as'i? ;) Título: Re: asMSX: nueva versión Publicado por: WYZ en 23 de Septiembre de 2008, 06:31:02 pm A ver si le saco una foto y os la pongo en el blog para que lo veáis. Es cierto, tengo un Z80 colgando del espejo retrovisor del coche ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D ;D Juas!! pero si te la has puesto!!! me parto. Adjunta foto, Sapphi. Título: Re: asMSX: nueva versión Publicado por: Jon_Cortazar en 29 de Septiembre de 2008, 06:54:38 am Jur, a ver si luego puedo probarlo, robs: no se, compilando malaika o infinity, a ver que pasa. Es que ando super liao, sorry... :-\ :-\
Título: Re: asMSX: nueva versión Publicado por: MsxKun en 29 de Septiembre de 2008, 08:29:42 am Pues algo as'i voy a tener que hacer con los 100 o 200 Z80s que tengo por aqu'i, nuevos y en los tubos de Zilog, reci'en salidos de f'abrica. Adem'as, se trata de los fantabulosos Z80B, que funcionan a 6 MHz. Pero no he conseguido que funcionen en mis MSX aunque el encapsulado sea el mismo a nivel de PINs. Seguramente el voltage no lo es. Alguien quiere montar un negocio de llaveros o algo as'i? ;) Juar! Pues trae algunos pa la RU (pq vienes verdad???), seguro que a alguien le hara falta alguno, aunque sea para hacer como Sapp. :P Título: Re: asMSX: nueva versión Publicado por: k0ga en 30 de Septiembre de 2008, 09:53:35 pm Si alguien tiene una documentación que me permita hacerlo, no tendría problemas en dar soporte al R800 en asMSX. Lo que no quisiera es tener que hacer la tarea arqueológica de probar instrucción por instrucción no oficial del Z80 en el R800, porque no tengo el tiempo suficiente. Enviada. No se si sra suficiente o no. Si te hace falta mas dimelo y te la consigo ;) Título: Re: asMSX: nueva versión Publicado por: pitpan en 01 de Octubre de 2008, 08:05:09 am Oído cocina!
Gracias por la doc, k0ga. Vendrá muy bien. Título: Re: asMSX: nueva versión Publicado por: OKI09 en 01 de Octubre de 2008, 11:30:35 am Oye k0ga, esa documentacion de marras, me la podrias enviar a mi tambien, plisss. ;D
|