Racing The Beam On ATinjo

Durante los últimos treinta años, la comunidad de demoscene ha estado ampliando lo que es posible en los sistemas informáticos con un conjunto cuidadosamente elaborado y extraños trucos gráficos. Lo que es más impresionante es un código de ensamblaje hecho a mano que amplía los límites de lo que es posible con un microcontrolador. Especialmente pequeño microcontroladores. En la que probablemente sea la demostración más impresionante que hemos visto usando este chip específico, [AtomicZombie] rebota buenas bolas en ATtiny85. Es una edición impresionante y el video es una de las cosas más impresionantes que jamás hayamos visto con este pequeño microcontrolador.

Primero, el hardware. Este es el circuito más simple que puede construir con ATtiny85. Hay un encabezado ISP, un puerto VGA con algunas resistencias, un conector de audio de 1/8 ″ alimentado por un transistor y, lo más importante, un cristal de 40MHz. Sí, este ATtiny funciona lejos más rápido de lo que permite la especificación oficial, pero funciona.

El firmware para esta construcción es bastante agregado, pero sorprendentemente no está tan configurado. Menos aún si excluye las cien líneas de definición de las bolas de Boing.

El código resultante emite VGA a una resolución de 204 × 240 y sesenta fotogramas por segundo. Estos son sprites de ocho colores, con Alpha, y son un sonido de cuatro canales. Este es, en nuestra conciencia, el límite de lo que puede hacer ATtiny, y un gran ejemplo de lo que puedes hacer si estiras y escribes un montaje muy estricto.

  • Charles Lohr dice:

    Ahora no me siento mal jugando con NTSC de nuevo … Es ridículo la cantidad de poder que tienen tantos chips cuando se necesitan años para comprender realmente todo su potencial.

    • Turing Máquina completa Máquina Máquina Máquina … dice:

      La industria del hardware y software está bailando para “agregar más memoria, un procesador más potente, lo que sea” para que la nueva versión de (inserte su sistema operativo o programa aquí) funcionará mejor / solo con esos recursos mínimos, esto de acuerdo con la ley de Moore. La mayoría de los desarrolladores son perezosos y no se preocupan por la optimización, lo que ralentiza el uso de recursos (especialmente la RAM) y lo peor de todo: la prueba del código no se realiza correctamente.

      • Lucas dice:

        La optimización no es portátil, y usar trucos específicos complicados para hacer que su código funcione con los únicos recursos mínimos significa gastar 10 veces más recursos en desarrollo para obtener ganancias 0x en ventas.

        Trucos de demostración como este eclipsan las capacidades de las máquinas informáticas. Todos sabemos que tiny85 no puede hacer nada más que recuperar esas bolas, e incluso lo hace con atajos inteligentes que no se traducen en otras tareas similares.

        • johnH dice:

          Apuesto a que te diviertes en las fiestas.

          • Lucas dice:

            Siempre puedes echar un vistazo a las personas que anteriormente eran dueñas de Amiga, dependiendo de lo molestas que estén cuando alguien señala que las demostraciones elegantes no se extrapolan a la utilidad del mundo real.

            “Racing the Beam” fue un buen truco en el Atari 2600 para aprovechar al máximo menos hardware, pero también fue la máquina más difícil del mercado para programar, lo que obligó a los desarrolladores a confiar en errores reales y problemas de hardware para obtener lo que querían. , por lo que el software disponible estaba muy, muy limitado por lo que la máquina realmente podía hacer y el software se capturó en el hardware porque los mismos trucos no funcionarían en ninguna otra máquina.

          • Lucas dice:

            Por ejemplo:

            http://www.digitpress.com/library/interviews/interview_rob_fulop.html
            ”Rob Fulop: Le hubieran encantado algunos de nuestros últimos trucos para guardar bytes de recursos cuando intentamos borrar el código para ingresar 4k. Al final, estábamos desesperados. Uno de mis favoritos era cambiar una tabla de sonido (o gráficos) para comenzar con un código hexadecimal de $ 60, lo que permitiría que ese byte cumpliera una doble función … como un RTS al final de una subrutina, y como el primer byte en la tabla de datos de sonido. “

            Sabes que estás en aguas peligrosas, cuando tus datos son tu código, son tus datos.

        • Ostraco dice:

          A veces, la portabilidad no es el problema. p.ej. nave espacial, satélites, etc. Malgastar recursos costosos no es una opción. Tampoco es el “código de Java, ejecutar en todas partes” un objetivo deseado. p.ej. consola.

        • Zaphod Beeblebrox dice:

          Re: tu comentario,
          “Sabes que estás en aguas peligrosas cuando tus datos son tu código”.
          ¿Qué te parece LISP? ja ja

        • playaspec dice:

          Luke dijo: “Usar trucos específicos para hacer que su código funcione con los únicos recursos mínimos significa gastar 10 veces más recursos en desarrollo para obtener ganancias 0x en ventas”.

          Una estafa. Claramente, nunca diseñó nada para producir. Los “trucos específicos del chip” pueden marcar o deshacer la diferencia entre $ .85 / CPU BoM y $ 8.50 / CPU BoM. Sin excepción, hacer en los programas lo que antes eran otros $ .10, $ 1.00, $ 10.00 es * SIEMPRE * dinero / tiempo bien gastado.

          “Todos sabemos que el eta85 no puede hacer nada más que rebotar esas bolas”,

          el hecho de que no esté impresionado en absoluto demuestra lo poco que sabe acerca de lo que está sucediendo aquí.

          “Incluso lo hace con atajos inteligentes que no se traducen en otras tareas similares”.

          ¿Lo es? Probablemente hay un millón de formas inteligentes de reducir la lista de materiales con software. Lo que da una paliza si estos trucos no cubren a todos. Hay un atajo DIFERENTE para estos problemas.

          • Scott Porter dice:

            Así es. Como alguien que también desarrolla hardware con microcontroladores, es un GRAN ahorro factible si puede cambiar a una parte más barata / más pequeña simplemente optimizando el código. Cuando también puede (como en este caso) optimizar el uso de elementos externos, eso significa la diferencia entre ganancias o pérdidas.

            Sin embargo, “Luke” probablemente no tenga experiencia con eso, y probablemente nunca la tendrá.

        • Scott Porter dice:

          Primero, el código consiste en un núcleo de imágenes con un motor ingenioso, y aunque funciona aquí con ATTiny85, ES fácilmente portátil a otros microcontroladores AVR. El hecho de que no sepa muestra que probablemente no sepa de lo que está hablando. En segundo lugar, puede hacer MUCHO más que simplemente “hacer rebotar esas bolas”. Junto con el sonido de 4 canales, tiene un motor de ingenio muy capaz, y el tipo está trabajando para agregar un receptor de infrarrojos para que un control remoto se pueda usar como joystick. Como todas las demás felicidades mortales que se arrastran desde debajo de sus rocas a hilos como este, supongo que nunca has logrado nada valioso. Por supuesto, puedes demostrar que estoy equivocado, muéstrame algo más impresionante que lo que hiciste … Esperaré …

      • Pensador dice:

        “La mayoría de los desarrolladores son vagos y no se preocupan por la optimización, lo que ralentiza el uso de recursos (especialmente RAM)”

        Recuerdo un editorial en Byte hace décadas, lamentando exactamente este mismo problema.

        El desperdicio de recursos informáticos es ofensivo para las personas que valoran la utilidad óptima, la implementación rápida de nuevas funciones y las cosas llamativas generalmente ganan, ya que tienen que vender un producto real en ciclos de producción cortos y armar un código robusto y optimizado para todas las plataformas que necesitan una gran cantidad de recursos. para muy pocos clientes retorno visible. Es más barato armar el código y decirle al usuario que su plataforma es más baja, y a la industria del hardware ya no le importa el impulso de comprar cosas nuevas.

        • Ostraco dice:

          Todo el asunto de “Wintel”, sin mencionar la filosofía de “bastante buena”. Algunos pueden decir que todo llega al Makerspace.

        • Lucas dice:

          La difícil realidad es que algún hardware es demasiado lento para que la aplicación sea útil. Por ejemplo, intentar hacer que un programa de edición de video funcione rápidamente en un libro electrónico es inútil, porque los mismos trucos no le darán la misma velocidad en una computadora de escritorio, ya es lo suficientemente rápido.

          Y aunque el libro electrónico es demasiado inconveniente para el procesamiento de video, ¿por qué optimizarlo para algo que nunca se usará?

          Una de las reglas de la sistemática es que los sistemas “estrictos” altamente efectivos son realmente peligrosos. Por ejemplo, cuando el rastro de memoria de su programa se reduce a un mínimo absoluto, la probabilidad de que se produzca un desbordamiento del búfer o una fuga de memoria provoque una caída importante o un aumento de la brecha de seguridad.

          • playaspec dice:

            @Luke dijo: “Por ejemplo, intentar que un programa de edición de películas funcione rápidamente en un libro electrónico es inútil”.

            Y, sin embargo, por una hija de la escuela secundaria que edita un video en el navegador basado en el sistema operativo de su escuela, proporcionado por un netbook de menos de $ 300.

            > los mismos trucos no le darán una ventaja igualmente rápida en una computadora de escritorio

            Palabra clave: “mismo”

            Nadie dijo que este es un tamaño apropiado genial, haz un rival de ATTiny85 7th gen i7. Su comparación de plataformas informáticas más pequeñas con una computadora de escritorio es un falso mentiroso.

            DIFERENTES hacks PUEDEN brindar una experiencia adecuada, incluso en procesadores de anemia.

            “Y aunque el libro electrónico es demasiado inconveniente para el procesamiento de video, ¿por qué optimizarlo para algo que nunca tendrá un uso efectivo?”

            Dios mío, el Dunning-Kruger es fuerte contigo. Apuesto a que en realidad no pasó una cantidad de tiempo razonable con un libro electrónico moderno, ¿verdad? NIÑOS hacen lo que dicen que no es posible.

            “Una de las reglas de la sistemática es que los sistemas ‘estrictos’ muy efectivos son realmente peligrosos”.

            “Normas”. ¿Están escritos en piedra? Este olor a pícaros absolutistas lo veo pedaleado por educadores que no han apoyado la tecnología y tienen poca experiencia en el mundo real.

            “Cuando la huella de memoria de su programa se reduce al mínimo absoluto, aumentará la probabilidad de que se produzca un desbordamiento del búfer o un problema de fuga de memoria que provoque un bloqueo importante o un agujero de seguridad”.

            Qué montón de mierda de caballo humeante. La * CANTIDAD * de memoria no aumenta la probabilidad de desbordamiento de búfer o pérdida de memoria. La probabilidad sigue siendo la misma EKTA para el mismo código. La diferencia es que es más probable que manifieste un defecto ya existente. La falla está ahí independientemente de si tiene 512 bytes de RAM o 512 gigabytes.

            Por el contrario, aumentar la memoria y los recursos de la CPU para contrarrestar la programación sin experiencia o perezosa es un bandido que solo oculta el problema del código mal depurado. El problema está ahí sin importar el propósito. La elección del procesador no es el problema. La falta de control de calidad es.

    • tipo astuto dice:

      Charles, quieres trabajar en un proyecto combinado. Creo que los dos usados ​​juntos podrían llegar a algo bastante sorprendente con una salida compuesta.

      • cnlohr dice:

        ¿En qué plataforma pensaste? SOLO comencé a jugar tratando de hacer NTSC con nosdk8266 corriendo a 173 MHz.

        • cnlohr dice:

          Específicamente porque teóricamente puedes emitir un sonido además de la información de color y luz si subes el reloj.

          Diablos … Teóricamente a 173 MHz, incluso podrías transmitir el 8VSB y algunas cosas realmente locas de ATSC :-p Pero eso llega al cielo, y de alguna manera más allá de mi capacidad para resolver problemas con mi hermoso RTL-SDR

          • nicolho dice:

            Ansioso por ver estas cosas nuevas. nosdk8266 y sus diversos códigos I2S fueron muy inspiradores y útiles para muchos proyectos personales, ¡gracias! Con él, una placa NodeMCU con algunos circuitos integrados lógicos fue suficiente para obtener una buena salida de video RGB, que de hecho es mucho menos difícil que componer o transmitir como tú, pero fue muy divertido para un novato (bastante viejo) como yo que No hice casi ninguna programación antes :): https://youtu.be/rbVDYLhc94Y

          • cnlohr dice:

            Nicolho, necesitas hacer un video adecuado sobre eso. Pal es asombroso.

        • tipo astuto dice:

          Oh, estoy muy basado en AVR, pero un poco de regreso a la electrónica discreta. Envíame un primer ministro y te mostraré algunas de mis cosas más interesantes de AVR.

        • makapuf dice:

          Genial, ¿tiene un lugar donde podamos discutir la generación NTSC? Tengo algunas preguntas sobre esto, habiendo hecho una consola de juegos VGA y quiero lidiar solo con eso (ntsc o con esp8266 o 100MHz-stm32 barato …) Tengo muchas preguntas (simples) hoy en día, como ¿cómo estás tienen píxeles de diferente luz más estrechos que el portador de color, …

          • cnlohr dice:

            Presta atención a mi desacuerdo, ve a proyectos cnlohr. https://discordapp.com/invite/7QbCAGS

          • ESTOLA dice:

            La respuesta corta es que no puedes.

            La respuesta larga es que sus resultados variarán según el tipo de entrada y el circuito.

            Si usa una señal modulada por RF, la etapa de demodulación filtrará las frecuencias más altas y los resultados serán muy malos.

            Si utiliza una entrada compuesta, los resultados variarán según la calidad / ancho de banda de la etapa de decodificación compuesta y esto variará según el hardware diferente cuando trabaje en un área fuera de la especificación.

            Hasta cierto punto, puede mejorar la calidad jugando con la fase y la amplitud, que es un orden más alto que la mayoría de las tecnologías de generación de video.

            El antiguo estándar IBM CGA era tal. Las primeras tarjetas CGA tenían salidas tanto compuestas como RGB y los colores diferían en cada una debido a problemas de fase.

      • Brad Graham dice:

        Siempre me ha gustado hacer NTSC también, a menudo usando gate spread para crear el cambio de fase de explosión de color.

        Este es uno de mis proyectos NTSC más antiguos que no usa nada más que XMega, todo NTSC creado completamente en software …

        Overclockeado a 57.272 MHz para obtener 16 colores.
        XMega puede registrar fácilmente hasta 68MHz, ¡así que no presiona demasiado!

        Puntilla

        • ESTOLA dice:

          Esto trae buenos recuerdos de la escena de las demostraciones de los años 80 y 90.

        • makapuf dice:

          ¡Gran demo! ¿Tiene notas del proyecto? además, ¿cuál es tu resolución? VGA / RGB (gracias EU Scotch) / componente es mucho más simple de producir (y de mejor calidad) pero parece que estos salen mientras la composición es (por desgracia) la única interfaz que todavía está disponible, muy aparte de hdmi

    • johnH dice:

      No he visto el código para esto, pero hay algo de habilidad aquí. Ver píxeles / sonido no importa cuando juegas a 40 MHz, estoy más interesado en cómo se destaca donde las bolas se superponen entre sí.

      Puede haber algún tipo de preprocesamiento en el período en blanco vertical, pero con solo 512 bytes de RAM para reproducir, no puede almacenar mucha información por línea de video. Tal vez esté en el vacío horizontal, pero lo dudo, porque sonará, no queda suficiente CPU.

      Tendré que pensar en esto.

      • johnH dice:

        No puedo decirlo con certeza solo por ese video, pero tengo la sensación de que el movimiento vertical de las bolas está hábilmente sincronizado, por lo que nunca hay más de 2 bolas en una línea de video. Eso ayudaría mucho.

        • johnH dice:

          Además, el “sonido” no es la música de fondo que escuchas, sino los ruidos que escuchas después de que él toca el botón de volumen.

      • jpa dice:

        Parece que el código solo dibuja cada dos líneas, y la siguiente línea se calcula al dibujar una línea negra. Una línea de gráficos se dibuja en un búfer de RAM a la vez, y el elfo dibujado más tarde solo reemplaza a los anteriores. Los elfos esféricos son 8 imágenes preimpresas de la secuencia de rotación, y el mismo elfo se muestra en diferentes colores.

  • Niklas dice:

    ¡Guau!

  • Redhatter (VK4MSL) dice:

    Me pregunto qué tan portátil sería esto para el ATTiny861 … el 861 es similar al 85, pero tiene más pines, por lo que, en teoría, tendría espacio para leer las entradas de los sensores.

  • Alain dice:

    Después de horas de depuración, justo cuando se toca hacia atrás para implementar una interfaz esclava SPI en ARM Cortex, verá esto. El respeto. Guau.

    • TGT dice:

      Exactamente donde estoy ahora. Tengo una pequeña pantalla OLED, como el tamaño de una miniatura, conectada a un nano a través de I2c y algunos gráficos. Dibujando bimbas de píxeles y pequeñas naves espaciales. Actuando como si tuviera calor o algo así. Pero, para vergüenza, esto es absolutamente ridículo. Me encanta lo que sacó de ese pequeño adorno.

      • johnH dice:

        Aquí esta uno de los míos:

  • Galane dice:

    Ahora, ¿qué tal usar siete de estos chips para hacer una pantalla de 640 × 480, con algo de potencia de pantalla restante para ???

    1 chip 240 × 204 = 48960 píxeles
    4 chips 480 × 408 = 195840 píxeles. 111360 carece de VGA 640 × 480 = 307200
    7 chips 342720, 35520 píxeles adicionales.

    • [TheDarkTiger] dice:

      ¿Hablas en serio?
      No puede simplemente agregar píxeles agregando un chip, ¿sabe?

      • Lucas dice:

        Dígaselo a 3Dfx y su sistema Scan Line Interleaving.

        A medida que agrega señales analógicas, un chip puede permanecer en silencio mientras que el otro escupe el resto de la línea de escaneo.

        • Cunamjujuan dice:

          incluso sin usar dos tarjetas, eso es básicamente lo que hacen incluso en las tarjetas. recuerda correctamente.

        • Scott Porter dice:

          Dios mío, por dónde empezar … Trataré de decirlo simplemente: no puedes multiplicar los píxeles agregando más ATTiny85s. El factor limitante es la velocidad del reloj. Más ATTiny85 aún estarán limitados por la velocidad del reloj. El que se usa ya está empujando tantos píxeles como puede a 40 mhz. podría intentar compensar 2 dispositivos con 1/2 reloj, operar 80 mhz-os y cambiar la salida entre 2 chips, pero la comunicación entre chips se convertiría en más que una linterna cada vez que agregue más; necesitaría al menos un 3er chip para controlar las 2 latas, y agregar más se volvería ridículamente costoso y demasiado complicado si obviamente solo usara otro MCU en su lugar. Probablemente uno con DMA, en realidad. El propósito de este proyecto era mostrar lo que se podía hacer con un ATTiny85.

  • daid303 dice:

    Para ser justos, maneja el ATTiny a 40Mhz, el doble del máximo especificado del chip.

    • Jon H dice:

      Sin ningún tipo de enfriamiento. Me pregunto si podría haber sido empujado más lejos.

      • MattAtHazmat dice:

        ¿Quizás? la clave es la temperatura muerta, ya que funciona a temperatura ambiente, hay mucho margen disponible. La matriz ciertamente funciona muy caliente, por lo que utiliza un reloj y no un cristal, el oscilador de cristal tendría problemas para funcionar a 40MHz. Una vez que la física se haga cargo y la ventaja disponible en el circuito interno no exista, cosas como la fuerza impulsora y la capacitancia no durarán.

      • Brad Graham dice:

        Hay un overclocking de aumento de temperatura cero de cualquier ATTiny o XMega.
        He realizado pruebas exhaustivas durante muchos años.

    • tipo astuto dice:

      También necesita 40Mhz porque VGA es muy rápido. Produce un píxel por cada 5 relojes. Aquí están las métricas para mirar. Píxeles por reloj. No puede hacerlo mucho mejor que 5 clk / píxeles sin la ayuda de hardware en AVR. Los consejos que puedes hacer son 3 y eso es solo LD / OUT

    • johnH dice:

      Si. Escribí algunas demostraciones (incluidas algunas en Tiny85), así que tengo una buena idea de cuántos ciclos de reloj se necesitan para las señales de video.

      Vi esto y pensé “no es posible” hasta que vi el “40MHz” al final. La verdadera sorpresa aquí es que Tiny85 puede funcionar a 40MHz (el doble de su velocidad nominal máxima).

    • Sr. Nada dice:

      me pregunto qué voltaje funciona.

      • Brad Graham dice:

        5 voltios.

  • François Otis dice:

    Estoy de rodillas … Y feliz de ver que todavía hay personas interesadas en el código estricto.

    • johnH dice:

      Algunos de nosotros todavía lo hacemos. 🙂

    • Sr. Nada dice:

      hoy en día me siento feliz cuando la gente no usa una máquina virtual.

  • Lobo dice:

    Hay otra demostración genial para el chip lft AVR, primer ganador en Breakpoint 2008: https://youtu.be/sNCqrylNY-0

    • Brad Graham dice:

      ¡Linus es uno de esos tipos que me empuja a esforzarme más!
      Siguen sus rutinas musicales y su talento.

      Puntilla

      • rnjacobs dice:

        ¿Has visto Bit Banger de lft?

        • radical dice:

          Sí, siempre apoyo sus proyectos.
          Espero hacer algo como su “Chip-o-Phone” para hacer música para mis demostraciones de Quark-85 algún día.
          ¡Solo necesitas un tiempo libre sin fin!

  • octava dice:

    Condensador de desconexión del orificio del canal en el tablero con 40Mhz, increíble¡

    • Brad Graham dice:

      ¿Qué pasa con 100 condensadores de desconexión en una placa que funciona a 40 MHz? …

      ¡No subestimes lo que se puede hacer en una tabla!

      Puntilla

      • octava dice:

        Pero a estas frecuencias, el condensador se parece más a un inductor, y además a la inducción de los cables. Me resulta extraño que funcione, pero rara vez utilizo paneles.

  • Thomas dice:

    Esto es muy genial. Una vez hice una superposición NTSC usando PIC. Necesitábamos que nuestra identificación de radioaficionado estuviera en la cámara en un globo a gran altitud. Podría ponerle casi cualquier métrica que quería de algunos sensores y usé la fuente Apple II. Pero esto es mucho más genial. Esto podría configurarse para actuar como una “tarjeta gráfica” para otro AVR o PIC. Usando serial / I2C / SPI para enviar primitivas de dibujo.

    • [TheDarkTiger] dice:

      No creo que sea posible usarlo como una “tarjeta gráfica” para otros chips.
      El rendimiento está relacionado con la generación de una señal de video y la sincronización es fundamental aquí.
      ¿Quizás apagar la pantalla mientras se actualiza?
      E incluso entonces su RAM es tan pequeña que sería casi imposible mantener una cosa original / utilizable allí.

      Es una buena demostración, pero no creo que pueda usarse para otra cosa.

      • MvK dice:

        Podría crear líneas retro como en mi computadora TTL y configurar el programa durante esas.

  • Brad Graham dice:

    Gracias por publicar mi Proyecto Quark-85.
    Esta versión del código es solo el comienzo.

    Desde entonces, he agregado formas de onda seleccionables al sonido de 4 voces, texto, líneas e incluso un decodificador gráfico RLE.
    También estoy tratando de descifrar el control remoto de un televisor de inmediato para agregar funciones de joystick.
    Tener solo 4 pines IO lo hace difícil, pero por eso elegí este chip.

    Espero que esta locura ayude a avanzar en lo que se puede hacer con un poco de programación bare metal.
    A menudo utilizo lo que aprendo sobre estos divertidos proyectos en el mundo real … ¡menos el overclocking!

    ¡Hola!
    Brad radical

  • dinamodan dice:

    ¡Esperar! ¡No puedes hacer eso! Las placas de prueba están limitadas a 1 MHz.

    • Brad Graham dice:

      Para romper la barrera de 1 MHz, sellé toda mi casa y la evacué a 1 Torr. Luego sumergí las migas de pan en 50 galones de nitrógeno líquido.

      Esta es la única forma en que un panel puede superar los 1 MHz.

      Puntilla

      • mcuhacker01 dice:

        Espero que tu cama esté seca 😉

      • mcuhacker01 dice:

        Si incluso puede trabajar con 1 MHz en una placa, está haciendo algo mal.

    • ESTOLA dice:

      Puede obtener más de 10 MHz con un buen diseño, buen aflojamiento y cables cortos.

      • radical dice:

        Obtengo 40MHz en esa enorme placa de 48 paneles, adaptándome al problema en lugar de tratar de solucionarlo. Algunos de mis cables de alta frecuencia se extienden más de 20 pulgadas y tienen un tiempo crítico de nanosegundos. La grabación de datos, el uso de retrasos en la puerta, la coincidencia de cables y la colocación programada del chip son todos útiles.

        La placa de la foto ahora tiene casi 150 circuitos integrados y funciona a 40, 25 y 10 MHz hasta el final. Muestra una película perfecta de 640 × 480 con 4096 colores e incluye un bit de conciencia alfa de 20 MHz de ancho de banda.

        El escudo se hace encadenando 48 tablas juntas.
        Todas las partes de la placa son lógica de la serie 7400 y SRAM de 10 ns.

        ¡Me río cuando lidero ese reclamo de “pocos MHz”!
        No recuerdo la última vez que hice una placa de menos de 20 MHz.
        Incluso algunas placas de RF en el rango de 100-200MHz.

        Puntilla

        • ESTOLA dice:

          He visto muchos de sus proyectos y son muy impresionantes. Incluso tengo una DigiRule.

          La telegrafía de su panel es muy ordenada y está muy bien organizada en términos de distribución de reloj, retardos de fase y difusión, y está superando los límites de lo que se puede hacer en un panel.

          Para casi cualquier otra persona, las pruebas a más de 10 MHz probablemente serán decepcionantes a menos que tengan un conocimiento sólido de los principios analógicos.

          Aunque tener un reloj más alto moviendo algo como un mcu o un registrador de turno o un contador puede funcionar bien con cables más cortos.

          En cables más largos y en frecuencias más altas, lo que puede comenzar como una onda cuadrada en un extremo puede estar más cerca de una onda sinusoidal en el otro extremo. Esto aún puede impulsar un chip TTL, especialmente una entrada activada por Schmitt, pero introducirá mucho retardo de fase, lo que puede tener resultados impredecibles y ser difícil de depurar.

          ¡Sigan con el buen trabajo!

          • Brad Graham dice:

            Gracias por tus comentarios.
            Sí, creo que la planificación cuidadosa y el orden cuentan para algo a bordo.

            La única contradicción fue este proyecto en curso …

            http://sleepingelephant.com/ipw-web/bulletin/bb/viewtopic.php?f=11&t=8734&sid=7d07ab8727945367542106df2db6d463&start=150#p99426

            Por primera vez rompí la barrera de 640 × 480 y lo hice con este lío de cableado. Siempre me equivoco al intentarlo inicialmente, mi pensamiento es que si funciona de esa manera, funcionará mucho mejor con cables más cortos colocados cuidadosamente.

            Esa placa tiene solo 25 MHz, pero bombea 36 líneas de direcciones y 24 líneas de datos a esa velocidad, y es crítica en sub-nanosegundos.

            Supongo que lo mío es … ¡no tengas miedo de probar cualquier cosa en una tabla!
            Puntilla

  • Ren dice:

    Hoy descubrí lo que significa “Racing the Beam”.

  • Jac Goudsmit dice:

    Por supuesto, en Helix probablemente puedas hacer esto con 4 o tal vez incluso 9 pantallas, todas con 640 × 480, y dejar que las bolas vayan de una pantalla a otra. Pero sí, el Helix tiene 40 pines y este microcontrolador tiene solo 8, ¡así que coloréame impresionado!

    === Jac

    • Brad Graham dice:

      El mayor obstáculo que encontré fueron los 512 bytes de RAM … ¡menos que la cantidad de bytes en el gráfico del puntero del mouse!
      El ATTiny85 también tiene solo 4 pines IO utilizables, no 8. Es un quinto pin, pero solo se puede usar como entrada.

      Aparte de eso, ¡es una mini supercomputadora!
      Puntilla

      • Elliot Williams dice:

        Consiga un programador de alto voltaje (¿serial para el ATtiny85?) ¡Y suelte ese último pin!

        Ni siquiera puedo imaginar qué locura harías con un pin más disponible. (No puedo ayudar con la RAM).

        • Brad Graham dice:

          ¡Me lees la mente! …

          https://www.avrfreaks.net/comment/2421051#comment-2421051

          Puntilla

      • Jac Goudsmit dice:

        Cada engranaje tiene 512 palabras largas (no bytes) y el concentrador tiene 32 KB adicionales.

        Pero sí, está bien.

Miguel Vidal
Miguel Vidal

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *