Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - mirazulado

Páginas: [1] 2
1
Desarrollo / Re:TRSE, Turbo Rascal Sintax Error
« en: Marzo 17, 2024, 22:10:11 »
Amigo @Dozznar: con seguidad te confirmo que cualquier multiplicación que hagas por 8, 16, 32, 64, etc, el compilador genera desplazamientos a la izquierda. Lo mismo con la división. El riesgo en estos casos es que confíes en que el compilador va a solucionar todo lo que tu imagines a tu gusto. Quizá llegues a confiar tanto en el compilador que no busques alternativas mejores, ya que al no escribir tu el código assembler no veas la verdadero problema del asunto. Ejemplo, puedes poner a:=13*17 y el compilador utilizara una excelente rutina de multiplicación preferida en CodeBase64. Al no ver el tamaño y el costo en ciclos de la rutina (que tu le has pedido al compilador al poner una multiplicación pura) quizá no te des cuenta que no la necesitas y te puedes arreglar con dos desplazamientos a la izquierda y una suma. Quizá trabajes con un rango de datos y puedas usar una tabla en vez de una multiplicación. Otra vez lo mismo, no es tan importante si trabajas en assembler o en C si conoces el ordenador y las limitaciones que contiene.
Amigo @Laddh:
Cuando hablo de compiladores modernos doy por sentado que la compilación es optima en todos los sentidos. Por ahí me equivoco y hay compiladores que no son  tan eficientes.
No he programado en CC65 pero te confirmo que el TRSE tiene, por ejemplo:
Para mover datos tiene 6 o 7 comandos donde arrancamos moviendo memoria con una lenta rutina que anida dos bucles y, por supuesto, acepta 16bit para la cantidad de datos (los dos bucles anidados). Con esto logramos mínimo consumo de memoria, máximo uso CPU. Para cuando tenemos poca ram y nos sobra tiempo de CPU.
Tenemos MemCpyFast, donde acepta solo 8 bit para cantidad de datos a mover (un solo bucle). Usa una rutina de un solo bucle. Medio uso de memoria y medio de CPU.
Tenemos MemCpyUnroll, donde no se usa anidado. Utilizar grandes cantidades de ram ya que utiliza la técnica del unroll, pero el uso del CPU es excelente. Para usos donde el tiempo es critico.
En el medio hay varias formas más de mover datos según tus necesidades. Por ahí el cc65 tiene varias formas de hacer las cosas, no lo sé.
Por supuesto que tienes razón en cuanto que, para que perder tiempo en conocer un compilador si puedes conocer el assembler y ya olvidarte del tema? En ese caso, personalmente, le encontré la ventaja de que el compilador utiliza las ultimas y más modernas técnica de programación en assembler. Yo soy programador de assembler!, sin embargo me encontré que cuando analicé el código generado, este, utilizaba técnicas que yo desconocía y era más eficiente de lo que yo hacía.
Bueno, esto es solo mi opinión y, por supuesto, cada cual programa como le guste.
Aprovecho para mandarles un abrazo cordial y estoy a su disposición por si tienen algún problema donde yo pueda ayudar.
MAriano.

2
Desarrollo / Re:TRSE, Turbo Rascal Sintax Error
« en: Marzo 14, 2024, 19:58:49 »
buen dia amigos!. efectivamente hace unos años que utilizo TRSE.
Que contarles.. primeramente que es un IDE completo de programación. Contienen un buen editor gráfico y de sprite, no es el mejor que he visto, pero sirve perfectamente para llevar a cabo la mayoría de los proyectos sin problemas. Soporta compresión y descompresión de archivos, incluye rutinas de carga rápida y tiene soporte para manejar archivos en disco. Seguramente olvido más de la mitad de las funciones que hacen grande al TRSE.
Aquí debo aclarar algo. Si bien posee rutinas gráficas y comandos de alto nivel (Printstring, printdecimal, moveto, plot y demás), la experiencia me dice que a la hora de la programación de un juego o demo, no es tan importante el lenguaje utilizado tanto como el conocimiento interno de cómo funciona la máquina, siempre y en cuanto estemos hablando de compiladores modernos. Bastará un par de programas hechos para darte cuenta que es más fácil, y eficiente, escribir en la memoria gráfica que utilizar la instrucción Print.
La eficiencia del compilador depende de cuan automáticamente hace las cosas y TRSE se encuentra en un punto muy cercano al assembler. Con esto me refiero a que se pueden hacer muchas cosas con TRSE, pero hay que saber que se está haciendo y conocer la máquina en profundidad para sacar el mayor provecho.
Personalmente utilizo TRSE como ayuda en rutinas basicas, al fin y al cabo:
A:=A+1 se compila como INC(A) si solo estamos utilizando variables de 8bit. Un CASE(A) se compila con varios CMP y BNE. Entonces lo importante es saber cuando usar 8bit y cuando variables de 16bit y ubicar el CASE sabiendo que se utiliza BNE en la compilación y este genera error de brach si el salto es mayor de 128 instrucciones. Tampoco voy a multiplicar dos variables de 16bit sin saber que esto conlleva un costo en tiempo y memoria grandes. En definitiva, ya sea assembler o TRSE, es necesario conocer la C64 en profundidad. Una vez compilado el programa nos damos cuenta que las rutinas utilizadas en el código final son las recomendadas en codebase64, eso es genial y por eso lo utilizo. Comparé un programa mío hecho en assembler y en TRSE y eran muy parecidos. Es suficiente para mí. OJO, siempre compruebo el archivo assembler generado luego de la compilación sobre las rutinas críticas. Si funcionan bien, las dejo; si necesito optimizar voy buscando opciones con otras instrucciones del TRSE o simplemente utilizo la función ASM que me permite escribir assembler directamente en el programa.
Es multiplataforma y compila en muchas máquinas retro. Genial, pero otra vez, hay que conocer la máquina destino, sino no haríamos nada más complicado que lo que hacemos en basic.
He trabajado como coordinador de tester en empresas de programación importante así que en estos últimos cuatro años ayudé en el desarrollo del proyecto desde ese lado  y puedo decirles que hace muchos meses que no reporto ningún bug en la compilación y lo considero confiable!. Es un gran compilador!
Bueno les dejo mi lugar  https://mirazulado.itch.io/
Aquí encontrarán un juego y dos demos hechas en TRSE (Submarine Warfare y los dos demos).
No se me ocurre nada más que decir. Les ayudaré en lo que pueda.
Un abrazo desde Argentina!!

3
Genial! Ya envié mí voto!
Abrazo a la comunidad

4
Premios Commodore manía / Re:PREMIOS 2022 COMMODORE MANIA
« en: Marzo 06, 2023, 23:47:47 »
Disculpen, cuando será la votación o ya se hizo y no me enteré?
Muchas gracias y saludos a todos!

5
Premios Commodore manía / Re:PREMIOS 2021 COMMODORE MANIA
« en: Abril 02, 2022, 19:12:58 »
Placas! Placas!!.

6
Muchas gracias a todos, muy orgulloso de haber participado!
Saludos a todos Mirazulado.
El Fierro (intro)
Space Invaders (juego)

7
Premios Commodore manía / Re:PREMIOS 2021 COMMODORE MANIA
« en: Marzo 30, 2022, 00:29:54 »
Gracias a los organizadores y gracias a todos por votar!

8
Lástima que estoy en Mar del Plata y en cuarentena sino con gusto te prepararía una 27c32 con un adaptador para que reemplaces tu char ROM. Incluso en el laboratorio tengo varias mother andando y con zócalos para probar por si no es solo la ROM. Si este verano venís a la playa y no hay cuarentena, chiflame.. jeje

9
Problemas Hardware y Software / Re:Reviviendo una C64
« en: Abril 09, 2019, 16:35:29 »
Muchas gracias mjj. Para desoldar circuitos integrados, desde mi humilde opinión, no existe nada mejor que una estación de soldado/desoldado con bomba de vacío. En mi caso utilizo la siguiente:


Luego todo depende de la experiencia de cada uno. Mi experiencia me permiten retirar un CI grande en 30 minutos. La paciencia es una virtud fundamental en este tipo de trabajo. El procedimiento que yo utilizo para retirar un CI es el siguiente:
1-Si el pin a desoldar esta pobre de estaño y de color opaco, aporto más estaño nuevo a fin de facilitar la transferencia de calor. Esto no siempre es necesario ya que un exceso de estaño solo complica las cosas.
2-Coloco el desoldador sobre el pin procurando aplicar calor uniformemente y espero que el estaño se derrita completamente. Me resulta útil que la placa esté lo mas horizontal posible con los CI hacia arriba y el desoldador abajo ya que el estaño derretido intentará correr por las patas del CI. Si la placa esta horizontal con los CI hacia abajo, lo cual es lo más natural para trabajar sobre la soldadura, he visto casos donde el estaño se muda, por efecto de la gravedad, hacia el CI haciendo mucho más difícil retirarlo. Yo coloco la placa de forma vertical con una leve inclinación, esto facilita su manipulación y evitamos el efecto anteriormente citado.
3-Acciono la bomba y luego de un par de segundos, y sin soltar el gatillo, muevo el desoldador al sentido contrario de donde el pin este haciendo contacto con la placa a fin de despegarlo y retirar los últimos residuos de estaño de la placa y el pin. Se puede hacer un movimiento circular haciendo que el pin quede completamente suelto, el problema aquí es que se puede dañar la placa con la temperatura y presión ejercida. La idea es que el desoldador mueva el pin y permita que el vacío extraiga el estaño rebelde.
4-Con un destornillador muy pequeño voy moviendo el CI a fin de identificar que pines todavía están soldados y así poder repetir el procedimiento sobre los mismos.
5-La idea es que el pin quede completamente libre de moverse sin quedar "pegado" a ninguna de las paredes, de ahí el movimiento circular del desoldador haciendo "bailar" al pin hasta que no queden restos de estaño.

Es todo cuestión de practica. Lo aconsejable es agarrar una placa vieja en desuso, puede ser una radio o un mother, e ir practicando hasta dominar el "arte". Las placas de Commodore son de buena calidad y soportan bastante mal trato y calor así que se puede experimentar sin relativo temor, otro es el tema si estamos trabajando con algún clon de Spectrum donde las placas de dañan con solo mirarlas.

Bueno, ese es el procedimiento que yo utilizo, por supuesto que debe haber otros y es por eso que me gustaría que alguno de los que llevan más años en el tema me corrijan en alguna falla que pueda tener. Espero que quede claro ya que es difícil para mí explicar movimientos y técnicas puramente practicas.

 

10
Problemas Hardware y Software / Re:Reviviendo una C64
« en: Abril 05, 2019, 18:15:09 »
Esta perfecto, ya me sonaba mal la palabra zocalizar, de todo se aprende, para eso existen los foros, no?
El tema es que estoy trabajando ahora en un "Consolized Neo Geo MVS", consolizado tampoco existe, no?.. jeje

11
Problemas Hardware y Software / Re:Reviviendo una C64
« en: Abril 03, 2019, 18:56:26 »
Muchas gracias! si,si.. había pistas cortadas.. incluso alguien quiso sacar la única ROM zocalizada que tenia la maquina y al hacer palanca con un destornillador cortó una de las pistas que se encuentra bajo el zocalo, el corte era minúsculo y no visible a simple vista. Por supuesto que dicha pista cortada fue uno de los tantos dolores de cabeza que tuve que pasar.

12
Problemas Hardware y Software / Reviviendo una C64
« en: Abril 01, 2019, 15:30:57 »
Buenas tardes a todos.. Me atrevo a postear un nuevo trabajo realizado el mes pasado con el fin de aportar un grano de arena al mundo de la reparación de nuestras maquinas.
Primeramente le cuento que llega a mis manos una C64 de la marca Dream de Argentina Assy 326298 REV A que, según el dueño, se intento reparar en otra ocasión sin éxito. Antes de encender la máquina procedo a abrirla y me encuentro con esta visión:

 
Faltan la mitad de los chip de memoria; falta de chapa protectora; faltan los reguladores 7805, 7812, el fusible y varios componentes estan rotos.

El estado de la placa es lamentable:





Comienzo a completar las componentes faltantes previo control de que no existan corto circuitos que explique el porque de la falta de componentes en la fuente de alimentación y continuo retirando los 4 4164 restantes para testearlos y zocalizarlos. Se limpia la placa:



Sueldo los zocalos e instalo la memoria faltante. Como es de esperar la C64 no arranca, pero luego de varios intentos y pruebas logra generar una pantalla llena de caracteres corruptos. Aprovechando que esta seria una maquina de "batalla" e ideal para hacer diversas pruebas es que decido zocalizar todos los CI importantes y gracias a una C64 en perfecto funcionamiento (también zocalizada) compruebo que la ROM de caracteres es la responsable del mal funcionamiento de la máquina.



Y boalaaa!! otra C64 salvada de las garras de la muerte.. jeje



Trabajos pendientes: Instalar disipadores de calor al SID, CPU y PLA, devolver la ROM de caracteres prestada a su maquina original y reemplazar por una 27c32.

Bueno eso es todo, espero que sirva la experiencia para aquellos que tengan problemas similares.

Saludos desde Mar del Plata, Mariano!



13
Problemas Hardware y Software / Re:Intentando revivir una C64
« en: Febrero 15, 2019, 15:39:06 »
La C64C VIVE!!!.. tenía una de las memorias que utilice de reemplazo en malas condiciones.. Muchas gracias Angel_64 por la ayuda prestada.

Saludos Mariano..

14
Problemas Hardware y Software / Re:Intentando revivir una C64
« en: Junio 26, 2018, 15:37:20 »
vos sabes Angel que fui a la casa de electrónica de la zona y me dijeron que no traen más linea TTL 74 ! indignante! tengo que ir a la zona céntrica de la ciudad pero no he tenido tiempo, en cuanto tenga novedad les cuento..

15
Problemas Hardware y Software / Re:Intentando revivir una C64
« en: Junio 04, 2018, 19:06:32 »
Bueno, resulta que en el taller tengo tirada una vieja MicroProfessor III (Apple II compatible) que todavía funciona. Al mirar sus entrañas veo que utilizar 8 chip 4164 y para mi alegría total están zocalizados!. Así que luego de colocar zócalos nuevos en la Commodore 64 e instalar los 4164 "donados" y darle "power" genero video en pantalla!. El problema ahora es que muestra la pantalla llena de caracteres normales y gráficos que van moviéndose y cambiando por la pantalla por aprox. 30 seg. para luego quedar la pantalla fija en basura.
Los pasos a seguir serán colocar zocalos a todos los chip adyacentes de las memorias y probar uno por uno los chip 74LSxx. Probé las memorias que retire y están TODAS quemadas, es lógico pensar que con semajante quemazón de integrados puede que algún otro adyacente también este quemado.
Saludos!

 

Páginas: [1] 2