Análisis: Computadoras de placas individuales 65C02 y 65C816
El 6502 es una pieza clásica de la historia de la informática. Se encontraron versiones de esta CPU en todo, desde Apple][, to the Nintendo Entertainment System, and the Commodore 64. The history of the 6502 doesn’t end with video games; for the last forty years, this CPU has found its way into industrial equipment, medical devices, and everything else that doesn’t need to be redesigned every two years. Combine the longevity of the 6502 with the fact an entire generation of developers first cut their teeth on 6502 assembly, and you have the makings of a classic microprocessor that will, I’m sure, still be relevant in another forty years.
The cathedral of The 6502 is Western Design Center. For more than 35 years, WDC has been the home of 6502-related designs. Recently, WDC has been interested in the educational aspects of the 6502, with one of the VPs, [David Cramer], dedicando su tiempo a un club extracurricular que enseña códigos de operación.
La gente de WDC simplemente se puso en contacto conmigo para ver si le daría a su hardware un aspecto detallado, y después de proporcionar algunas placas, este hardware resultó ser excelente. Son buenos para los educadores lo suficientemente aventureros como para desviarse del espíritu de Arduino, Processing y Fritzing, y para cualquiera que quiera sumergirse en el mundo del desarrollo 65xx.
Las computadoras de placa única
WDC me envió el W65C02SXB y el W65c816SXB, dos computadoras individuales basadas en el 65C02 y el 65C816, respectivamente.
Hay cientos de proyectos muy bien documentados que flotan en Internet para computadoras basadas en 65xx, pero la mayoría de estos proyectos tienen mucho en común. Si está buscando construir su propia computadora basada en 6502, necesitará una CPU, algo de RAM y un chip EEPROM o Flash. Para los periféricos, verá el 6520 PIA, un chip que proporciona dos puertos de E / S de ocho bits, el chip de E / S de gama alta 6522 VIA con temporizadores y registro de desplazamiento, y posiblemente comunicaciones 6551 ACIA. / chip de serie si eres un limpiador. Este es el complemento estándar de los chips de computadora basados en 6502, y si lo desea [Chuck Peddle], el 6502 no habría sido tan útil sin estos chips de soporte.
Las tabletas individuales basadas en WDC '02 y '816 tienen ACIA, PIA y dos VIA; la segunda VIA está conectada a una interfaz microUSB diseñada para Terbium IDE (TIDE) de WDC. Más sobre TIDE en un momento. Cada placa también tiene 32kB de SRAM y un chip Flash de 128kB mapeado en los 32k superiores de memoria. Este es un diseño bastante estándar para casi todas las computadoras 6502 en el hogar, pero hay algunas características que hacen que esta placa sea especial. Cada pin que necesitará (datos, dirección, control y algunas opciones de chip) está disponible en un encabezado a lo largo de toda la placa. Esto es genial si desea conectar SXB con algún hardware más antiguo, pero la opción de crear nuevo el hardware es interesante. Cuando hablé [David Cramer] y [David Gray] en WDC, especulamos sobre qué hardware interesante se podría hacer que admita este encabezado gigante. La placa puede ser demasiado grande e inconveniente para un quadcopter, pero un controlador de impresora 3D es bastante razonable y probablemente funcionaría muy bien.
El 65C816
El Western Design Center no solo se ocupa del 6502 y sus chips de soporte. Sigue siendo el único lugar donde puede obtener el 65C816, una CPU enormemente ampliada construida sobre el 6502 ISA.
El '816 es Tres un chip interesante, más famoso por su uso en Apple IIgs y Super Nintendo. Con un bus de direcciones de 24 bits, admite 16 megabytes de RAM, tiene registros de 16 bits y algunas instrucciones nuevas en el 6502. Lo más impresionante es que cuando enciende el 65C816 por primera vez, se inicia en el modo de emulación 6502, que es 100% compatible. con el 6502 hasta que se convierta un poco en un registro "oculto".
Con las nuevas instrucciones de pila y la compatibilidad con el 65C02, debe preguntarse qué habría pasado si el 65C816 se hubiera presentado unos años antes. El chip se completó en 1984 justo a tiempo para que Apple lo usara en las IIgs, y para [Bil Herd] para tener en cuenta, 'la razón para usarlo es porque la competencia que lo usa no será un lanzamiento exitoso'. Hace unos años, y este chip al menos se consideraría en los proyectos iniciales de Apple Lisa, Macintosh, la línea Atari ST, y tal vez incluso la computadora IBM. Es el "qué pasaría si" más grande de la historia de la informática.
Durante los últimos 30 años, WDC ha sido el custodio de la llama 65C816 y, por supuesto, sus ofertas educativas incluyen una sola tableta basada en este chip. Es más o menos idéntico al W65C02SXB con fugas PIA, fugas VIA y fugas ACIA. El conjunto más grande de conectores contiene todos los datos, direcciones y líneas de control del conector XBus02 del W65C02SXB, excepto los pines adicionales para las líneas de dirección adicionales.
Lo mejor de todo es que con la tabla de desarrollo 65C816, no es necesario procesar los datos de varios equipos ni las líneas de dirección. Escribir 'código 816' es tan simple como insertar la placa en su computadora y limpiar el teclado; el Western Design Center tiene el único compilador moderno '816 C, después de todo.
Terbio IDE
El proyecto de muestra para los SXB parpadea una pantalla de siete segmentos en un patrón agradable
Todas las placas WDC funcionan con Terbium IDE, el IDE empaquetado con la serie WDCTool. Aquí está la interfaz para el compilador, el enlace, el editor seleccionado y el simulador. Realmente, no es exactamente un moderno IDE: es solo Windows, y mi estación de batalla (Win 8.1) ha obtenido los mejores resultados en el modo compatible con WinXP Sp2.
Aunque TIDE es un poco tosco, no es realmente justo comparar esto con Visual Studio o Eclipse; Estos IDE de alta calidad siempre tendrán más funciones y más pulidos que un IDE creado para una plataforma. También es IDE, y ser tosco en los bordes es el por defecto, sin excepción.
Además de compilar y vincular, TIDE también tiene otra característica interesante directamente aplicable a las placas SXB: simulador y depurador.
El simulador / depurador TIDE que ejecuta el proyecto de muestra con una pantalla de siete segmentos
La adición de un simulador y depurador en TIDE es algo que no obtendrá si construye su propia computadora 6502. Con el simulador y el depurador, puede ingresar código, establecer puntos de interrupción y, en general, hacer todo lo que esperaría poder hacer con un IDE integrado.
El proyecto de ejemplo para el W65C02SXB fue un tutorial sobre “iluminar siete segmentos con VIA”, y esto muestra el potencial del depurador; incluso simula la pantalla de siete segmentos con la ayuda de un pequeño código.
Hay algunas características adicionales en TIDE que se vinculan con problemas relacionados con FPGA para los núcleos suaves de WDC para el '02 y el '816, pero como eso es mucho más que las placas que tengo, esos botones se han dejado en paz.
Las placas de desarrollo de microcontroladores
El W65C265SXB - Microcontrolador basado en el 65C816
WDC no se ha dormido en los laureles durante 40 años. Sus herramientas de enseñanza también incluyen microcontroladores basados en 65c02 y 65c816. Estos son el 65C134SXB (basado en el '02 y originalmente diseñado para mantenimiento) y el W65C265SXB (basado en el 65c816).
Cada una de estas placas tiene el microcontrolador W65C134S o W65C256S con 32kB de SRAM, un zócalo para 32PLLC Flash ROM, un conector grande más o menos similar a sus equivalentes de "microprocesador completo" y tres conectores de 10 pines utilizados para E / S básicas, el bus de interfaz serie y las señales UART.
Aunque estas placas de desarrollo de microcontroladores parecen muy mínimas (solo hay cuatro chips, un puñado de responsabilidades y un conjunto de cabezas de alfiler, sin embargo), los aspectos son engañosos. Los microcontroladores están realmente increíblemente diseñados, lo que realmente no es comparable a nada en el mercado.
La pantalla de la ROM W65C265SXB que se ejecuta en el emulador de terminal
Ambos microcontroladores son una pantalla ROM que funciona como cualquier programa de pantalla que encontraría en una computadora vieja. Con este monitor, puede leer y escribir en direcciones de memoria, saltar a direcciones y ejecutar código. Todo lo que necesita es un cable USB, un emulador de terminal (CoolTerm, Putty, un pequeño script de Python o algo más que pueda conectarse a cualquier cosa a través de un puerto serie, 9600, 8N1) [Rod Biresch] tiene un excelente tutorial para insertar códigos de operación en el '265SXB para LED parpadeante. Sí, es lo más básico que puede hacer con un microcontrolador, pero funciona y puede servir como el primer paso para aplicaciones más complejas de un microcontrolador integrado 65xx ISA.
Al igual que sus hermanos mayores, también cuentan con el apoyo del propio entorno de desarrollo de WDC, TIDE. Con esto, puedes lanzar un set o C a estas tablas y se asfixiarán de inmediato.
Conclusión
Hay una desventaja bastante grande en las tabletas individuales de WDC: el precio. Los modelos W65C02SXB y W65C816SXB cuestan poco menos de $ 200 USD. Las variantes de microcontroladores: el W65C134 y el W65C265 descuentan $ 100 del precio de sus hermanos mayores. Cuando puede obtener un clon de Arduino Nano por $ 2 con envío gratis, esto parece una locura a primera vista. Reflexionando, no estoy convencido del precio en realidad es loca.
Si bien puede extraer 6502 de cualquier computadora antigua, no lo encontrará nuevo chips de cualquier otra persona que no sea WDC. Estar en el juego 6502 es un volumen relativamente bajo, y por cada microprocesador clásico hay miles de chips ARM.
Dicho esto, si tuviera que construir una sola computadora 6502 o 65816, también necesitaría esos VIA y PIA; de nuevo, no se pueden recoger sobras por un dólar la pieza. tengo construido 6502, y en términos de costo, mi edificio no estaba muy lejos. Si consideras el esfuerzo de construir tu propio SBC ... bueno, ¿en qué valoras tu tiempo?
Las variantes de microcontroladores de las placas WDC son, con mucho, sus ofertas más interesantes. Hay un tropo común en las versiones modernas de 6502 que descargan casi todo a un microcontrolador, pero mantienen el 6502 en su formato DIP clásico de 40 pines. Lo viste terminado con el Helix, con ATMega, y con el Helix de nuevo. Los modelos 65C134 y ~ 265 realizan esta tarea excepcionalmente bien y tienen un monitor integrado para que pueda escribir el código de la máquina rápidamente. Ese es el objetivo de todas las computadoras domésticas, de verdad.
Para una oferta educativa, las tabletas individuales de WDC hacen exactamente lo que se propusieron: lograr que las personas aprendan ensamblajes, códigos de operación y códigos de máquina. Todavía hay valor en esto, especialmente si continúas pirateando Arduinos y ARM. Las placas de microcontroladores son una excelente introducción a un hardware realmente interesante, y no puedo esperar a ver cómo la escena de la cerveza retro / casera se adentra en una jugabilidad seria con estas máquinas.
Mate dice:
En los comentarios sobre la descarga de casi todo en un microcontrolador, también se perdió cuando se hizo en las PRU de BeagleBone: https://la-tecnologia.com/2012/11/20/discrete-6502-processor-sucked-into-linux-by -a-hueso de beagle /
jajaja dice:
El z80, 68hc11, 6502 y 8052 fueron hitos importantes ...
Sin embargo, estos todavía están en uso, ya que la propiedad intelectual ha expirado hace mucho tiempo en la arquitectura central, y cualquiera que quiera argumentar el hecho corre el riesgo de que su cartera se cancele por el estado de la técnica.Dadas las opciones, el bus de datos / dirección paralelo de estilo antiguo ha sido reemplazado en gran medida por SoC modernos de un solo chip y ARM ASIC / FPGA híbrido. Tenga en cuenta que Avago compró Broadcom por $ 37 mil millones por una muy buena razón.
Garth dice:
LOL, el 6502 (en realidad 65c02, es decir, la versión CMOS, que tiene muchas ventajas de hardware y software) ingresa a productos modernos con más de cien millones de unidades al año en la actualidad, siendo el procesador en el corazón de los circuitos integrados personalizados para aplicaciones automotrices, industriales, de electrodomésticos, juguete, e incluso equipo de soporte vital. Western Design Center otorga licencias de propiedad intelectual a los fabricantes que las fabrican.
ohporter dice:
El enfoque de descargar todo al microcontrolador también se hizo con las PRU de BeagleBone: https://la-tecnologia.com/2012/11/20/discrete-6502-processor-sucked-into-linux-by-a-beaglebone/
iluminado dice:
¿Alguna vez ha deseado un software más grande solo en tamaño físico? ¿Qué pasa con las velocidades de procesamiento lentas? gastar más dinero? Si respondió afirmativamente a cualquiera de las siguientes preguntas, ¡tenemos una oferta para usted!
Si quiero hacer un trabajo de verdad, literalmente usaría otra cosa, jajaja. Si quisiera ir con 65xx, me gustaría diseñar y construir mi propio terreno. Si fueran $ 50, valdría la pena considerarlo.
Ah, y construyo un z80 SBC desde cero, así que no me gusta eso, odio la edad ni nada.
TheRegnirps dice:
Edificio Z80 SBC. Bueno, ese es tu problema!
Paul Stoffregen dice:
s / relacionado / nostalgia /
Eduardo dice:
Prefiero el Motorola 6809 al extraño 6502.
Garth dice:
El 6809 fue una actualización maravillosa del 6800. El 65c02 fue una actualización suave pero significativa del 6502, con más instrucciones y modos de dirección, todos los errores corregidos, velocidades mucho más altas (ahora superando los 200+ MHz) y mucho hardware. ventajas. En mi opinión, el 65816 (también mencionado en el artículo) fue una actualización mucho mejor al 6502 que el 6809 al 6800.
Jacques1956 dice:
Estoy de acuerdo. El 6502 fue tan popular porque era barato, no porque fuera el mejor. Z80 y 6809 fueron mejores.
Toda la industria de CP / M se construyó sobre la Z80.Garth dice:
El segundo conjunto de registros Z80 para interrupciones es bueno hasta que necesite anidar las interrupciones. Entonces pierde su valor.
El 6502 no solo era más rápido que el Z80 en un campo de nivel de MHz a MHz; era más rápido incluso cuando el Z80 tenía una frecuencia de reloj cuatro veces mayor, así como registros cada vez más amplios.
Hubo algunos párrafos en un artículo de Jack Crenshaw en el número 9/98 de Embedded Systems Programming, donde habla sobre diferentes BASICS que usó en computadoras en las décadas de 1970 y 1980, y dijo que el 6800 y el 6502 siempre parecían alimentarlos más rápido. . que cualquier otro procesador. Él dice que el 6502 fue "casi un golpe de gracia" para el 6800, y dice que le gustó mucho más la arquitectura del 6800 que la de los 80, aunque su trabajo lo conocía mucho mejor. Citando dos párrafos:
“En mi opinión, el 8080 y el Z80 siempre parecieron ser chips superiores
al 6800 y 6502. El 8080 tenía siete registros al
6800's dos (más dos registros de índice). El Z80 agregado
otros siete, más dos registros de índice adicionales. Sin embargo,
No puedo negar eso, referencia tras referencia, BÁSICO
los intérpretes basados en los años 68 superaron sistemáticamente
los de los 80.“El mayor problema con los 68 fue que no tenían
Aritmética de 16 bits. Aunque el 8080 y el Z80 eran básicamente
Procesadores de 8 bits, al menos tenían registros de 16 bits (tres
para el 8080, ocho para el Z80), y en realidad podría
realizar aritmética en ellos, cambiarlos, probarlos, etc.
plu. Tampoco podrías hacer ninguna de estas cosas con el 6800
6502, que es una de las razones que todavía no entiendo, a este
un día ya que la década del 68 podría superar a la de los 80 en referencias. "Después de haber aprendido el conjunto de instrucciones 6502 y el uso del bus, recuerdo que me impresionó la relativa ineficacia de la familia de los 80, incluida la cantidad de ciclos de reloj necesarios para completar una instrucción y la cantidad de instrucciones adicionales que se necesitaban porque no tenía problemas. como la aritmética decimal automática del 6502 con el indicador D, y la comparación automática a 0 implícita en todas las instrucciones lógicas, de bits, aritméticas y de carga.
No sé por qué dice: "Podrías hacer cualquiera de estas cosas en el 6800 o 6502". Seguro que puedes.
Los 80 incluso en ese momento, sin embargo, generalmente corrían a 4 MHz o un IIRC ligeramente más alto, y aún perdieron contra los 6502 y 6800 de 1 MHz. El 6502 corrió figForth un 25% más rápido que el 6800 con una velocidad de reloj definida, y mi 65816 Forth es 2-3 veces más rápido que mi 65c02 Forth con una velocidad de reloj definida.
Greenaum dice:
El 6502 se benefició enormemente de las instrucciones especiales en la "página 0". La primera "página" de 256 bytes (porque incluso el direccionamiento de 16 bits parece ceñirse a sus 8 bits) tenía instrucciones especiales que la usaban implícitamente, por lo que no era necesario hacer tanto direccionamiento. La gente suele decir que la página 0 es similar a otros 256 registros.
Entonces la RAM era más rápida que las CPU.
Artenz dice:
Comparar los tiempos de ciclo no es una métrica muy útil cuando es fácil usar un reloj más alto.
Garth dice:
de ahí el resto de mi segundo párrafo que incluso con cuatro veces la velocidad de reloj, el Z80 no podía permanecer al lado del 6502. Incluso con la velocidad lenta original de 1 MHz, no era indiscutible que 6502 sirviera 40,000 interrupciones segundo y realmente progresa en el programa en segundo plano si un servicio no necesita nada más que aumentar el byte variable de RAM, por ejemplo. El 6502 más rápido de hoy funciona a más de 200MHz, es decir, unos 50 MIPS. Eso no puede competir con un ARM de 800MHz, pero, no obstante, es un rendimiento bastante bueno para la miríada de situaciones que no requieren video de alta resolución en tiempo real.
Artenz dice:
Si la frecuencia de reloj de 4 veces no es suficiente, use 6 veces. Los cristales más rápidos son más baratos. Una métrica más útil es comparar el rendimiento con el tiempo de ciclo de la memoria.
Colina dice:
Entonces no fue fácil usar un reloj más alto. Y no podía alimentar el Z80 con un reloj más alto, porque incluso el más rápido (Z80B) funcionaba solo a 6 MHz. Así que no hay nada de malo en la métrica. La situación es aún peor (desde el punto de vista del Z80) hoy, ya que el DIP Z80 más rápido que puedo comprar está a 20MHz, mientras que el 65C02 tiene 14MHz (aunque es muy conservador según WDC - funciona confiablemente a 20MHz o más).
Artenz dice:
La métrica del tiempo de ciclo por sí sola todavía no es una buena métrica. Observar las diferencias prácticas de velocidad utilizando hardware de la misma época es un método mucho mejor. Quizás el 6502 todavía era un poco más rápido, pero la diferencia no era grande y dependía de la tarea.
Puede obtener un eZ80 moderno que funciona a 50 MHz con una ejecución de monociclo.
Greenaum dice:
Por ciclo no significa nada. El 6502 utilizó menos ciclos. Pero no pudo funcionar a los 4MHz del Z80. Es por eso que tal cosa se mide en MIPS. O mejor aún, con los estándares adecuados, porque las instrucciones en Z80 son mucho más que 6502. La capacidad para realizar un trabajo informático real (lo sé ...) es la única comparación sensata. Debido a que las CPU son matemáticas, la solución de ecuaciones es la norma.
Eddie Sheffield dice:
Mismo. El 6809 era hermoso y elegante. El conjunto de Motorola en general en las series 6809 y 68K parecía casi avanzado en comparación con otros conjuntos. Intel en particular: mis primeros intentos en un ensamblaje 8086 fueron terribles. También disfruté de cómo podía tomar básicamente el mismo código BÁSICO y encenderlo con mi TRS-80 Coco y el Apple // c de mi papá e incluso con una velocidad de reloj más baja, el Coco a menudo era mucho más rápido.
Antti Lukats (@AnttiBrain) dice:
¡6809 fue el mejor ISA para 8 amargos!
Chuckt dice:
Hay 6502 entusiastas en 6502.org que pueden ayudar a las personas a comenzar.
SavannahLeón dice:
¿Es con fines educativos? ¿En serio?
En la universidad, me dediqué a la ASM utilizando una pizarra personalizada para cursos con el 68HC11. Conseguimos tablas en parejas y se nos permitió llevarnos esas tablas a casa. El costo de reemplazo del IIRC fue de alrededor de $ 100 o $ 150 o algo en un momento en que tableros similares excedieron los $ 300.
Después del curso tuvimos que devolver las tablas. Solo ese hecho es la razón por la que dejé de hacer nada en ASM, ya que toda una cartera construida alrededor del 68HC11 era inútil sin la placa y los emuladores hicieron poco para reflejar el hardware. Traté de copiar la placa (corté los archivos necesarios) pero la fabricación de la PCB fue un obstáculo durante mucho tiempo.
Luego apareció OOPic y arruinó casi todo desde el punto de vista de un aficionado sobre el costo. Cuando matas de hambre a un estudiante, cada dólar importa.
Esos años apestaron.
Pero me desvío. Muchas escuelas tienen dinero, así que no veo a mucha gente comprando tableros de $ 35-100 cuando pueden comprar 1200 de los nocauts chinos de $ 3 y pedirles a los niños que los compren y se los lleven a casa.
Me encanta el 6502, pero es difícil de vender como herramienta educativa.
Artenz dice:
No solo es una herramienta educativa costosa, sino que también enseña conocimientos obsoletos.
Antti Lukats (@AnttiBrain) dice:
Así que esta es exactamente la vieja historia. 6502 todavía se usa en los ASIC baratos de ASIA, pero esas personas no necesitan educación adicional,
Jac Goudsmit (@JacGoudsmit) dice:
Supongo que a las escuelas que tienen mucho dinero y no tienen tiempo para buscar opciones más baratas les encantan esas tarjetas WDC.
Me encanta que WDC todavía exista y mantenga el 65C02 y sus amigos vivos y produciendo. Mojosa! Pero sus tablas de clasificación son demasiado caras. En http://wdc65xx.com/store/SXB-Boards/ veo precios entre $ 89 y $ 199. Eso es mucho dinero para probar algo y aprender el lenguaje de máquina 65C02 / 65C816 y no mucho más.
Si visita un sitio como 6502.org, verá muchas referencias a algunos grandes proyectos de código abierto con 65C02 y 65C816 que hacen cosas más útiles y cuestan menos. Puse 65C02 en un proto-tablero Propeller (https://la-tecnologia.io/project/3620) y estoy seguro de que al menos en cierto sentido mi proyecto es más útil que esos tableros WDC. Y es fácil de criar como aficionado, probablemente por menos de $ 50, incluido el envío.
Entonces ... Sí, me encanta WDC. Pero Meh en sus programas, lo siento.
=== Jac
BigDumbDinosaurio dice:
Calculo que si construyo mi unidad POC V1.1 en cantidad, podría hacerlo por alrededor de $ 75 por copia ... y eso incluye el host SCSI. Así que estoy de acuerdo con su comentario sobre el costo de los tableros SXB y qué tan bien podrían ser recibidos en el ámbito educativo.
Jac Goudsmit (@JacGoudsmit) dice:
Oye, hasta ahora no me he dado cuenta de que hay enlaces a dos de mis proyectos en el artículo. ¡Gracias por esos! 🙂
SavannahLeón dice:
Oh, ay ... No tenía ni idea de que esos protocolos helicoidales existieran.
Neil dice:
También me encanta WDC y me tienta una placa 65C134SXB aunque ya he creado la mía propia. [minimal 6502 SBC](https://github.com/neilstockbridge/6502-computer/tree/master/R1) gracias a la gran ayuda de la gente en (http://forum.6502.org/).
La educación es un mercado difícil de romper, aunque especialmente ahora BBC Micro Bit (http://www.bbc.com/news/technology-33409311) se ofrece de forma gratuita a un millón de escolares.
Jac Goudsmit (@JacGoudsmit) dice:
Recuerdo haber leído algunos documentos para el microcontrolador 65C134. Si mal no recuerdo, el programa que tiene a bordo no es muy útil, no se puede reemplazar (es una ROM) y no ofrece muchas opciones para expandir. No recuerdo mucho al respecto, pero se me quedó atascado en el cerebro en el cajón "inútil".
TheRegnirps dice:
Yo diría que la catedral es Mostek y el ARM se inspiró y diseñó para reemplazar al 6502 en la computadora de la BBC. El registro legal es en realidad el mismo: anticipando la necesidad de copiar fácilmente un código 6502 heredado.
Greenaum dice:
Curiosamente, me pregunto qué tendría que hacer para que el código 6502 funcione con ARM. ¿Aparecerá incluso una búsqueda / reemplazo rápido de códigos de operación con algo que funcionó? Por supuesto que hay emuladores de recompiladores, pero sería interesante ver cuánto tienen en común sin eso.
El ARM tiene su archivo de registro grande, 6502 tiene la página 0. Este último tiene 256 direcciones, las primeras 32 creo. Dependiendo de si un programa usó más de, digamos, 25 direcciones de página 0, es posible que pueda usarlas. Los otros 7 los usaría para 6502 registros y varios seguimientos. O simplemente podría tratar la página 0 como cualquier otra página, porque ahora la RAM es más lenta que las CPU.
Incluso a mano sería interesante. ¿Qué tan difícil es importar cosas de BBC Micro a ARM, quizás con el mismo hardware? Obtenga un ARM con RAM incorporada (creo que puede obtenerlos con MMU para ayudar), soldarlo y usar sus GPIO para acceder a los chips periféricos de la BBC.
La E / S recordada del 6502 necesitaría una pequeña copia para parchear. No como el directorio de E / S separado masculino del Z80 (¡solo un pin extra y un poco de lógica!). Siempre me pareció mucho mejor / más simple. El ZX Spectrum ni siquiera se molestó en decodificar la dirección. Si tiene menos de 8 periféricos para verificar, solo use una línea de dirección para seleccionar cada uno. Luego, asegúrese de llamar solo a direcciones de E / S con solo un bit (activo bajo) establecido en cero. Significa que puede tener memoria completa de 64K sin cortar algunos bytes para E / S, o tener que insertar E / S. De cualquier manera es una idea terrible, y es estándar 6502. Un directorio de RAM separado también permitió al Z80 realizar su propia actualización.
TheRegnirps dice:
Escribieron competiciones rápidas partiendo del Arimimedo. Copiar 6502 es un clic. Los registros de estado son los mismos, por lo que las decisiones y la estructura de las sucursales son las mismas. 6502 / C02 es una máquina de 1 dirección y también un ARM (llamado arquitectura de tienda de carga por la gente más joven que nunca ha leído los clásicos del diseño - cómo decir "granularidad" cuando su objetivo es describir lo bueno que es algo. Granularidad aumentada ”¿significa?). Puede interpretar 65C02 en 3 a 7 instrucciones ARM por instrucción 6502. Casi 1 a 1 si se compila. Para elegir algo justo excepto las velocidades BBB o Pi, tome el STM32F4 a 168 MHz. 40 MHz o 40 veces más rápido que Apple II y al menos 4 veces más rápido que los mejores aceleradores jamás creados para Apple Un intérprete más inteligente que encuentra las combinaciones de instrucciones comunes que se usan para buscar y almacenar números de 16 bits puede reemplazarlos con una sola instrucción y las ramas desaparecen porque todas las instrucciones en ARM pueden ser condicionales. Dependiendo de la aplicación, esto puede suponer una gran mejora adicional. FriendlyARM Mini210S es de 1 GHz, por lo que si el código está en la RAM, podría hacer pl Equivalente a 200 MHz 65C02. ¿Ayuda Multi-Core ARMS? No sé cuándo es una tarea lineal como esa. Quizás uno podría buscar grupos de códigos más adelante y reemplazar el código más rápido mientras otro hace el intérprete.
TheRegnirps dice:
Oh, ARM también se recuerda con E / S mapeadas.
BigDumbDinosaurio dice:
Del artículo:
“Dicho esto, si tuviera que construir una sola computadora 6502 o 65816, también necesitaría esas VIA y PIA; de nuevo, no se pueden recoger sobras por un dólar la pieza. "
No, no necesita esos VIA y PIA. Conectar chips de E / S que no son 65xx al bus 65xx es bastante trivial en la mayoría de los casos. Mi unidad POC eléctrica 65C816 no tiene ningún hardware de E / S 65xx, sin embargo, admite canales duales TIA-232 (a 115,2 Kbps) y SCSI. La versión V2 que se construirá próximamente tendrá TIA-232 de cuatro canales, cortesía de UART NXP 28C94 de cuatro bandas.
RunnerPack dice:
Si aprendo el montaje de 65c816, será en SNES. Podría hacer la mayor parte de su desarrollo con un emulador, luego construir un carro EPROM / Flash barato (opcionalmente con líneas de E / S expuestas o hardware incorporado), y probablemente aún sería más barato que este software. tablero (incluido el costo del SNES).
TheRegnirps dice:
¡No lo hagas! 65C02 sí, 816 ¡neoooooo! Aprenda ARM en su lugar. Ese es el verdadero super-6502. (Los chicos de BC Micro rechazaron 65816 y decidieron que podían hacer algo mejor ellos mismos, y lo hicieron).
zerg dice:
El atractivo 6502/65816 es para los programadores de la vieja escuela, probablemente si un programador atrae esos microíndices, es por nostalgia y facilidad de aprendizaje en comparación con ARM.
Garth dice:
He visto muchas respuestas cerebrales a lo largo de los años cuando se menciona el "816". Recuerda algunas cosas. Uno, no tiene que vincular, descifrar o usar el byte bancario para obtener muchos beneficios. Dos, puede comenzar a programar tanto el '816 como el 6502, y luego ir ayudando lentamente a obtener más y más instrucciones a medida que se sienta cómodo con ellas. Encuentro que cuando siempre se trabaja con cantidades de 16 bits, en realidad es más fácil de programar que el '02. Es una exageración decir que todavía tiene el sabor 6502; pero es mucho más adecuado para múltiples tareas, subprocesos múltiples, código transferible, etc. que '02.
Una cosa que elimina a la gente parece ser la moda; pero incluso allí, puede ser bastante simple. Sale de un reinicio en modo de emulación 6502, pero lo pongo en modo nativo y lo dejo. No hay razón para volver a hacer trampa en eso a menos que tenga los programas '02 y '816 cargados al mismo tiempo y esté yendo y viniendo entre ellos. La otra cosa son las piezas de tamaño récord. Para mi '816 Forth, mantengo la batería en modo de 16 bits y los registros de índice en 8 bits, y rara vez lo cambio. Las instrucciones para REP y SEP son muy crípticas, pero la solución fácil para esto es usar macros con nombres intuitivos, por lo que, por ejemplo, REP # 00010000B se reemplaza con INDEX_16, que corrige el mismo código de máquina pero es mucho más fácil de entender en la fuente. código. .
Comencé a ver seminarios de ARM para aprender ARM (y aún me gustaría hacerlo), pero en ningún lugar es tan amigable como la familia de 65 años.
Artenz dice:
Un ARM estándar de 32 bits (por ejemplo, ARM7) es muy simple. Para alguien que aún no conoce 6502, probablemente sea más fácil aprender ARM que 6502.
Modern Cortex es más complicado, pero no es necesario aprender el lenguaje ensamblador para un chip Cortex. Todo, incluido el inicio y las interrupciones, se puede hacer con C / C ++.
Greenaum dice:
Ni siquiera necesitarías construir un carrito de rayos, los venden. Para un marcado racional. Sin embargo, creo que algunos relámpagos y CPLD lo harían. Y el chip de derechos de autor extraído de un cartucho original, o la alternativa, se inserta para insertar un cartucho real, solo para usar su chip de derechos de autor. Muchos dispositivos pirateados hicieron esto, así como convertidores regionales que le permitieron ejecutar carros de acceso (JAP / USA / EUR) en su máquina. Conectaron el chip de derechos de autor de un juego de área local porque eran diferentes. Aquí está la SNES de la que estoy hablando. Los carros Megadrive eran universales con solo la carcasa de plástico para la "protección" regional.
O son las viejas máquinas de “respaldo”, un disquete y suficiente RAM para almacenar un carrito. Leen en carros para almacenar en disquetes, luego leen los disquetes en la RAM incorporada para copiar un carro. ¡En aquellos días, 4 MB de RAM eran muy, muy caros! Hizo que los dispositivos fueran costosos, aunque también su rareza y conveniencia, así como el dinero que te ahorrarían en juegos, asumiendo que conoces la ubicación de un patio de recreo. A menudo, puede agregar RAM adicional después de la compra, como módulos. A menudo también tenían una conexión de computadora, un cable de puerto paralelo personalizado con software en el lado de la computadora, por lo que la mayoría de las imágenes ROM se conectaban.
Se volvieron modernos más tarde. A menudo se usa una conexión USB para cargar cosas en Flash en el carrito. O llevar tarjetas SD o memorias USB para almacenar.
El famoso Doctor V64 del N64 reflejó su tecnología de mediados de la década de 1990, utilizando un manillar de CD-ROM para el almacenamiento. Poco antes de que los discos CD-RW se volvieran baratos y comunes. Una versión más barata solo tenía una conexión de computadora, no un CD-ROM, por lo que debería usar la computadora para insertar cosas en ella. Otro usó un disco Zip, ¿recuerdas esos? Curiosamente, el programa de control integrado del Doctor usó 6502.
La tecnología pirata en las consolas es tan interesante como las propias máquinas. Es uno para Nintendo DS, que tiene un ARM de 233 MHz con 32 MB de RAM a bordo. ¡Todo presionado en un pequeño cartucho DS! Significativamente más pequeño que una caja de fósforos. ¡Y esa CPU y RAM son mucho más que las de la propia máquina! La CPU tiene como objetivo ayudar a combatir las rutinas antipiratería en los juegos. Pero los fabricantes tienen la amabilidad de publicar las especificaciones y los métodos de programación, por lo que la gente ha escrito emuladores y otras cosas que pueden usar el poder adicional. Incluyendo emuladores informáticos de clase 386 bastante potentes. Sería genial ejecutar Civ con mi DS. El emulador se ejecutará en un DS básico con un carrito de respaldo mudo ordinario, aunque obviamente no tan rápido o con tanta RAM.
No me sorprendería que publicaran Quake durante un tiempo. ¡Un terremoto de computadora emulado, no uno nativo! De hecho, todavía estoy jugando el Civ original en la computadora. No es necesario el manual, la protección pirata te pregunta sobre el árbol de investigación científica del juego y eso se quemó en mi memoria. Desde que compré el juego en un CD recopilatorio, hace unos 20 años. Civ, Lemmings y Frontier: Elite II. ¡Negociar!
dana dice:
El enlace al "pequeño y ordenado script de Python" va a la página de inicio de sesión de GitHub.
Quizás eso no moleste a algunas personas, aunque https://github.com/WesternDesignCenter/TerminalPython lo lleva directamente a la página del proyecto.
Solo digo.
Blippo dice:
Esas placas WDC se ven muy bien, pero si desea ahorrar dinero, obtenga su computadora personal C64 en eBay y comience a aprender o escribir programas 6502 de inmediato. Las ventajas son un chip de audio SID, una salida gráfica, un teclado adjunto, una interfaz impecable y todas las señales en un conector de borde. 🙂
Kyle dice:
¡Todo excepto C = 64! Eche un vistazo a los foros de AtariAge y vea lo que la gente está haciendo con las computadoras Atari con 6502, 65c802 y 65c816. ¡SpartaDOS-X es mortal! Echa un vistazo al nuevo sistema operativo GUI de Jon para el 6502. http://www.atari8.co.uk
cbmeeks dice:
¿Qué pasa con todo el odio 6502? Me encanta cómo la gente descarta algo porque no lo usa ... o lo encuentra valioso.
¿Sabes cuántas sesiones de capacitación “educativa” me senté, libros de programación, etc. que fueron cientos o miles de dólares por mierda inútil que pude descargar en línea? Menos mal que no era mi moneda de diez centavos.Me gustaría "aprender" con uno de estos desarrolladores.
Pero 6502 ya no es genial. En su lugar, todos prefieren un widget más que termine con "uine". "WhatchamacallitUINO!" ¡Sí! ¡Eso es genial!
Peter M. Lamont dice:
Sabes, noté un tema aquí ... No uso 6502 cosas, así que no veo cómo funciona. O no me gustan los sistemas distribuidos, así que no creo que sea útil. O me gusta arduino y.
Creo que la combinación de este procesador (cualquiera de los dos) mezclado con algo como swiftFORTH / homebrew FORTH sería una combinación increíble incluso para tareas complejas. No tiene que comprar el software (señor estudiante universitario hambriento) ... la CPU en sí cuesta menos de $ 9. Las versiones empaquetadas de PDIP son incluso más baratas (un poco menos de $ 6) en mouser. Lo que realmente está comprando es el software de desarrollo muy poderoso ... que por cierto se usa para crear experimentos de redes neuronales ... Así que vale unos $ 200 para crear una versión proto real de Star Trek Data usando cientos de 65c02 vinculados juntos . Con menos de 5,000 transistores cada uno, puede empaquetar mucho en FPGA y, como alguien señaló, encenderlos con un bit de 200 mhz.
También debo señalar bastante que una de las partes más difíciles para mí de este kit es que no se ocupa de los circuitos bastante extraños necesarios para llegar a la dirección completa de 16 MB. En el 65C816, las líneas de datos también sirven como bus de direcciones para ciertos ciclos de reloj (están sus 24 bits) y, por lo tanto, puede generar 16 MB de memoria con un DIL de 40 pines. Esto le permite utilizar los pines d0-d7 como líneas bidireccionales bidireccionales (a16-a23). Sin embargo, esto es bastante difícil de conectar y requiere un tiempo preciso para salir. El equipo no muestra este objetivo tan alto. Tal vez, debería mencionar un esquema de la manzana IIGS (herejía) o tal vez el SNES (bueno, seguro) y averiguar cómo se hace prácticamente.
Quiero uno de estos ... Principalmente transferir FORTH compilado en ANSI C, y luego aumentarlo con las capacidades completas del sistema operativo (sistema de archivos, administración de archivos, comando de DOS, etc.). Además, me gustaría un juego de ataque de tarjetas SD que sobresalen en el costado de la unidad, y algunas lindas luces intermitentes y alternadores para diversas aplicaciones, no el tradicional ADDR DAT, etc., luces intermitentes para el estilo de gran altitud, sino como teclas de función. en su lugar, que estará presente y funcionando, permitiendo diferentes procedimientos de inicio y secuencias de carga / estado de la red, etc. Reemplazando la idea de las camisetas y la configuración del programa.
De hecho, tengo un proyecto separado en mente para esta computadora ... y considerando la combinación de estos dos componentes, creo que podrá hacerlo mejor y con más seguridad que una máquina moderna, y con muy poca energía. Otra idea interesante que vi es mapear la memoria flash directamente al bus de direcciones ... no estoy seguro de eso, pero hay otra idea para usar con esta placa / su propia placa.
kakemomoj dice:
Bueno, hay varios miles de sabores del 6502. Por ejemplo, el núcleo de los microcontroladores Mitsubishi (tenían más de 600 variantes), que luego pasó a llamarse Renesas Electronics.
Un total de 6502 en grandes volúmenes por chip le costará ganar alrededor de $ 0.5. Debido a que es tan pequeño, la mayoría de las variantes han agregado E / S, RAM, ROM y otras cosas, ya que existe un límite inferior en lo pequeño que puede ser el chip de todos modos. Puede encontrar una lista (incompleta) aquí: http://forum.6502.org/viewtopic.php?f=1&t=4918
Su Alteza Real el Príncipe Sven Olaf de CyberBunker dice:
la parte sobre "no poder recoger nuevos bits de nadie más que wdc" simplemente no es cierta. tanto megawin como renaissance venden microcontroladores compatibles con 6502, con o sin elementos integrados como controladores USB o controladores de pantalla. (aunque los megawins tienen bastante RAM y no se pueden cambiar al modo de bus de cpu normal como los wdcs, sin embargo tienen i2c) y casi todos los chips fabulosos producirán núcleos compatibles con 6502 con o sin participación de wdc. sobre "crear su propia tableta" ... bueno. debido a la simplicidad que se puede lograr en aproximadamente un día. de hecho, la mayor parte del tiempo se dedica a averiguar dónde colocar las pistas, ya que los chips no están dispuestos de tal manera que siempre se puedan lamer al autobús con pistas directas;) menos tiempo de entrega de piezas, computadoras y demás. a estas velocidades y voltajes, las cosas no son tan críticas. Siempre que el cable correcto vaya al lugar correcto, generalmente funcionará bien: P no necesita preocuparse por cosas como "impedancia de pista" o "terminación de bus", estos no son exactamente intel-xeons. : P estas cosas seguirán funcionando mientras las dejas caer en un charco de barro en el polo sur. El desarrollo de tales sistemas tomó solo unos meses en las décadas de 1970 y 1980, debido a que no tenían programas CAD adecuados que detectaran levemente los rastros en la computadora, para usted, entonces, tener que hacerlo manualmente tomaría unos meses y varios prototipos de las computadoras: P ahora. si realmente quisiera proyectar una computadora completa alrededor de estos, notaría que hay una seria falta de chips de video en el pin de 5 voltios a través de la moneda del mercado. Además, los chips ethernet con esas especificaciones son bastante pocos, como en ninguno. (Realmente no amamos el usb, pero Ethernet es una parte requerida y estándar de las computadoras desde finales de la década de 1980 aquí;) el cs8900a (a pesar de que fue diseñado originalmente como una computadora de 8/16 bits), solo el mercado restante en De hecho, hay sistemas de 8 bits. Diría que se les ocurriría una versión descartada pero completamente arreglada solo para esa en forma, pero no;) no tengo un irq que funcione en 8 bits más, y no me tienen un paquete de sonido mecánico (no me encanta para smd;) pero bueno, siempre tomamos los desagradables chips smd y solo inyectamos un paquete de remojo moldeado, alrededor de ellos, junto con la conversión de voltaje si es necesario;)
corriente continua dice:
Puede que no se dé cuenta, pero recientemente ha identificado las licencias WDC como aquellas que proporcionan microcontroladores compatibles con 6502.
Robar dice:
Bueno, acabo de crear una nueva tarjeta PCB 8bit ISA 5V con Chipset DP839x, EL chipset original para ethernet relacionado con micro ... Uno de mis raros proyectos THT, ya que existe un mercado para este tipo de cosas hoy en día. Los chips DP839x todavía están disponibles a un precio razonable en -NO! ni TI ni NS, sino distribución / corredores. Lo mismo ocurre con RTL8019 (AS), que también está disponible incluso en eBay y también hay muchas ISA-NIC antiguas que le permitirían "reutilizar" este chip. De acuerdo, es smd, pero es solo un chip, por lo que la configuración y el enrutamiento son fáciles y se usa menos espacio. Las famosas computadoras portátiles Toshiba T1000 / 1100/1200 de XT-Era también estaban casi en su totalidad en SMD, algunos dicen que SMD es incluso más antiguo que DIP, personalmente encontré un chip 7400 de 1969 en una carcasa de paquete plano SMD y tengo algunos libros de datos. eso dice que smd será en su mayoría muchos proyectos nuevos después de "algunos años". La industria europea y norteamericana DISMINUYE el uso de SMT a tiempo. Yo mismo tiendo a usar smd siempre que sea posible porque es mucho más suave y agradable a mis ojos, pero también es MÁS FÁCIL de arreglar Y de colocar y soldar. No puedes luchar sin tener una buena herramienta de lucha libre, eso vale para THT y SMT, pero en SMT luchas todo a la vez, ¡sin esta resina apestosa y sin tocarla en absoluto! ¡Simplemente colóquelo en el horno como una pizza y observe cómo se hornea! También creé una tarjeta multi-add-on para las mejores laptops Toshiba, agregando ethernet, tarjeta CF (como HDD) y puerto serie HiSpeed e incluso 4 MB de memoria EMS 4.0 en PCB más pequeña que las tarjetas PC-8Bit-ISA normales ( no solo el enorme, sino incluso el mínimo (conector de borde) en una variante de soporte de 2/3) y se ve casi igual que la placa principal de Toshibas, que ahora tiene 34 años ... La mayoría de mis PCB PROFESIONALES recientes para los automóviles europeos y las industrias pesadas estaban menos integradas ... Volviendo al 65xxx: C64 introdujo un nuevo concepto: una memoria RAM "detrás" de la ROM y, por lo tanto, una MMU primitiva en un sistema que no tenía ningún cambio bancario real por los medios habituales. Pero al ahorrar algo de dinero en el chip de video VIC-II, el tiempo y todo el diseño del sistema "no fue lo mejor". Así que me quedaría en el VIC20 o en el CBM de la serie 4000 si construyera un SBC 65xxx hoy. Especialmente al usar un 65C816, también me quedaría en un bus AT-Bus o en un bus estilo PC104 para poder usar casi todas las tarjetas complementarias de computadora e incluso aviones traseros pasivos con muy poco dinero. (y carcasa, fuentes de alimentación ...) A principios de los 90 descubrí que las tarjetas EGA / VGA "antiguas" (siendo bastante jóvenes, tal vez 3 o 4 años en ese momento ...) serían un complemento perfecto para mi VIC o C64, porque estos tenían RAM "pseudoestática" de puerto dual a bordo, que podría usar para extensiones de RAM muy económicas (en el rango de 256k a 1M, mucha memoria en ese momento) mientras proporciona 80 pantallas de columna gratis al mismo tiempo .
Pero luego pasé a otra idea: el C64 completo se puede encontrar en la página de memoria UMB de PC-AT, por lo que C64 y la computadora estarían unidos por un bus de extensión en lugar de un bus XT con solo unos pocos pestillos de estilo 245 y lógica de decodificación.
Esto me permitió usar la computadora como depurador y cargador rápido para el C64 o simplemente reproducir melodías SID usando Borland-C como lenguaje de programación y un disco duro de computadora en lugar de 1541 y un lenguaje de conjunto básico o -terrible-. De acuerdo, un lenguaje ensamblador 65xx es más fácil de entender que uno de 80 × 86 y también el concepto de Intel "IRQ de programa" es doloroso al principio, pero la segmentación de vista a menudo negativa es adecuada para la computadora, que es Page Zero para 6502 : fácil acceso sin mucho manejo desde arriba y "reubicación" (que es mucho mejor a 80 × 86 porque el segmento y el desplazamiento se superponen en contraposición al rango de dirección sin obstrucciones de 16 bits = 8 más 8 bits del 65xx).
Entonces: en 2020, los electrodomésticos de 5V todavía existen en números enormes, fáciles de comprar incluso para uso privado. ¡Solo atrévete a usar SMT, te encantará y nunca volverás a los tableros DIP y stripe!