La computadora Homebrew tiene 16 bits de impresionante
Hemos visto nuestra parte de computadoras caseras a lo largo de los años. Por lo general, estos sistemas básicos utilizan un pequeño microprocesador de principios de la era de 80 años, como el Z80 o el 6502. Estas pequeñas máquinas de 8 bits son impresionantes, pero algo limitadas en su capacidad. [BigDumbDinosaur] enviado a una computadora en la que había estado trabajando durante varios años, ahora con la infame CPU 65816, la misma CPU que se encuentra en Apple IIgs, Super Nintendo y [Jeri Ellsworth]Computadora C-ONE.
El 65816 es un descendiente directo de la venerable CPU 6502 que se encuentra en el Commodore 64, Apple II y casi todos los 80 microcomputadores notables. [BigDumbDinosaur] eligió el 65816 por su compatibilidad con el divertido programa 6502 y la capacidad de utilizar altas velocidades de reloj y toneladas de espacio de direcciones para un diseño muy atractivo.
Después de mucho diseño y consideración cuidadosos, [BigDumbDinosaur]La computadora incluía un reloj en tiempo real, un reloj temporizador, un puerto serie, 256 KB de ROM y 128 KB de RAM.
Sin embargo, es un edificio realmente asombroso [BigDumbDinosaur] aún no ha terminado con este proyecto. Él está trabajando en la versión 2 de una computadora 65816 que usará lógica programable "pegajosa", mucha más RAM, tendrá una interfaz SCSI (para un disco duro) y tendrá multitarea preventiva.
Es un trabajo terrible y es asombroso ver cómo el asombroso 65816 entra en otra computadora en casa. Ahora bien, si tan solo pudiéramos encontrar una computadora doméstica basada en 68000 ...
dattaway2 dice:
¿El 65816 utiliza direccionamiento de página cero y fomenta otros 8 bits inteligentes como el 6502?
Brian Benchoff dice:
IIRC, hasta que mueva un registro en el 65816, es derecho así como 6502. Con la diferencia obvia en el pin, por supuesto.
dattaway2 dice:
Mojosa. Mi mente reside en el mundo de 8 bits del pasado. Este proyecto puede ser exactamente lo que estoy buscando.
bigdumbdinosaur dice:
Brian, cuando el 65C816 está en modo de emulación (como seguiría a la operación o restauración) se comporta casi como un 65C02. Digo "casi" porque todos los códigos de operación funcionan en modo emulado o nativo.no hay códigos de operación "indocumentados". Sin embargo, hasta que cambie al modo nativo, el '816 solo tiene registros de 8 bits, conecta la pila a $ 0100 y limita algunas funciones (por ejemplo, las instrucciones MVN y MVP son esencialmente inútiles).
Garth Wilson dice:
dattaway2, lo llama una "página directa" porque se puede mover a cualquier lugar en los primeros 64K, por lo que, por ejemplo, cada tarea puede tener su propia "página cero". Es 6502 alargado de manera que lo hace mucho más fácil en varios lugares. El byte bancario parece asustar a la gente; pero recuerde que puede ignorarlo por completo si su mapa de memoria es de 64K o menos, y aún obtendrá muchos beneficios de las instrucciones adicionales y los modos de dirección. Y si trabaja constantemente con valores de 16 bits, el '816 es mucho más fácil de programar. Supera los 68000 en el tamiz de Isóstenes, a pesar de que es mucho más sencillo. Mira esto. Te gustará.
BigDumbDinosaurio dice:
dattaway2: El 65C816 es 65C02 con esteroides y es mucho más capaz. Una de las características particularmente útiles del '816, como señaló Garth Wilson, es su página cero transferible (ahora llamada página recta). Esta práctica función permite al desarrollador asignar subrutinas a sus propias páginas nulas. Cuando se usa con el puntero de pila reubicable, resulta bastante fácil escribir código completamente recursivo y usar la pila para pasar parámetros complejos.
un pensamiento dice:
"Ahora, si tan solo pudiéramos encontrar una computadora doméstica basada en 68000 ..."
Applix 1616. Bueno, era un conjunto de herramientas, pero tengo entendido que la mayoría de los constructores también eran jugadores, y muchos también contribuían con programas.Bogo dice:
Recientemente desarrollé una computadora basada en MC68008. Completo con audio, video, sonido, joysticks, teclado y Ethernet. Próximamente el sitio web. Hasta ahora solo existen algunos videos:
Sterling Stewart dice:
n64 más c64
CG dice:
Vamos, chicos, necesitan saber que el C64 tenía un chip 6510. El disquete (1541) tenía 6502.
Mascar dice:
Y debe saber que el 6510 era solo un 6502 con un puerto de E / S de 6 bits atornillado en los lugares $ 00 y $ 01. Entonces, sí, el C64 todavía tenía un núcleo 6502.
CG dice:
El hecho de que el 6510 sea un sucesor directo del 6502 no lo convierte en el mismo chip. La E / S digital agregada y el bus de dirección triste son los factores que permitieron el acceso para cambiar entre la RAM completa y la ROM básica. A ese ritmo, podría decirse que es un 6501, pero con un oscilador de reloj interno adicional, a pesar de que MOS sacó el 6501 y se desarrollaron uno al lado del otro.
Garth Wilson dice:
... que de hecho fueron parte del éxito del C64. Sin embargo, el uP dentro del 6510 fue el NMOS 6502, con todos los errores y peculiaridades (que luego se solucionaron en la versión CMOS), y las mismas instrucciones y códigos operativos. El producto actual 6502s permite hacer que las líneas de dirección sean de alta impedancia (el pin 36 del DIP es una entrada habilitada para bus) y tiene muchas mejoras adicionales de hardware y software, pero todavía las llamamos 6502s.
MorbiousStone dice:
"Ahora, si tan solo pudiéramos encontrar una computadora doméstica basada en 68000 ..." parece estar en youtube, y un tipo en los comentarios dijo que estaba modificando la suya con más RAM y flash https://www.youtube.com/ ver? v = GJmPS3jMwD4
DanJ dice:
¡Divertida! Esto ciertamente trae recuerdos para hardware más antiguo como yo. El lento proceso de depuración tuvo lugar en los días previos a la simulación extensa y las grandes placas llenas de TTL, PAL y FPGA primitivas. Pero la emoción cuando funcionaba una tabla.
bigdumbdinosaur dice:
Después de mucho diseño y consideración cuidadosos, [BigDumbDinosaur]La computadora incluía un reloj en tiempo real, un reloj temporizador, un puerto serie, 256 KB de ROM y
128kB de RAM.Algunas pequeñas adiciones y correcciones a la descripción de POC V1:
* En realidad, hay dos puertos serie, cada uno capaz de funcionar de forma independiente a 115,2 Kbps. El puerto A opera la consola (terminal WYSE 60) y el puerto B está conectado a uno de los puertos seriales de mi caja UNIX, lo que me permite transmitir código de máquina a POC V1 a través de registros Motorola S.
* Utilizo una EPROM de 256 Kb x 8, de las cuales solo se utilizan 8 KBTenía un juego de EPROM 27C256 que estaban polvorientas. 🙂 27C128 también funcionará sin modificación de circuito.
* Toda la lógica del objetivo está en puertas 74AC discretas, que según mi análisis de tiempo admitirían una operación de 20 MHz si pudiera hacer que el hardware de E / S se ejecutara tan rápido.
* POC V1 no usa los bits de dirección A16-A23 que están en MUX en el bus de datos mientras el Ø2 es bajo. Es por eso que los 128 KB de RAM no se utilizan por completo. 52 KB está disponible para programas, datos, espacio de pila y espacio de página directo (también conocido como página cero).
* La RAM comienza en $ 000000, el hardware de E / S está en $ 00D000- $ 00D7FF y la ROM está en $ 00E000- $ 00FFFF. Todas las E / S se interrumpen.
* La ROM contiene un BIOS, conmutadores, funciones de reinicio y un monitor de lenguaje de máquina. Las funciones del BIOS son accesibles a través de una tabla de salto. Después del reinicio, el 65C816 se cambia al modo nativo y permanece allí.
* Esta unidad fue probada y se encontró estable con un reloj de 15 MHz Ø2, usando NXP 26C92A DUART para controlar los puertos seriales. Cuando construí por primera vez un POC V1, usé un NXP 2692A, que tiene una respuesta más lenta a la entrada / CEN (habilitación de chip). La velocidad más alta a la que la unidad podía operar en ese DUART era de 12,5 Mhz ... y eso lo empujó.
* Tengo un SCSI en funcionamiento, implementando el bus de 8 bits y el protocolo SCSI-2. Para hacer esto, construí un adaptador de host que se conecta al reloj en tiempo real (RTC), con el RTC montado en el adaptador de host. Las primitivas SCSI están interrumpidas, utilizan el canal DMA del controlador 53C94 y pueden alcanzar una velocidad de transferencia continua desde el bus al núcleo de aproximadamente 500 KB / segundo por reloj de Ø2 de 10 MHz. Actualmente conectado al puerto SCSI hay un disco duro LVD de 18,2 GB de Seagate (con un adaptador para trabajar con el bus de 8 bits), una unidad de CD-ROM Plextor y una unidad de cinta HP DDS2 (escaneo helicoidal de 4 mm). Todos los periféricos funcionan y la computadora puede cargar y ejecutar un disco de arranque principal del disco.
La imagen en la parte superior de este artículo es de la unidad POC después de aplicar varios parches de dispositivo. Con la adición del adaptador de alojamiento SCSI, tuve que aplicar más parches para conectar las señales necesarias entre el zócalo del "puerto de expansión" (el antiguo zócalo RTC) y el decodificador de E / S 74AC138. El cableado comenzó a ponerse difícil, así que actualizó el diseño de PCB, creó nuevas placas y construyó POC V1.1. POC V1.1 se ve idéntico a la imagen de arriba, menos el cable azul. Por favor visita Mi sitio web para obtener información adicional, incluidos los esquemas. No está actualizado, pero llega.
nes dice:
Este es un gran trabajo. Me pregunto si alguien construyó algo alrededor del chip SA1 basado en 816 que se encuentra en algunos carros de SNES. ISTR tiene un hardware de host de bus múltiple incorporado pero algún tipo de MMU programado externamente, lo que significa que no puede crecer por sí mismo, por lo que tiene que ejecutarse en un sistema multiprocesador.
Jonathan Wilson dice:
Todavía recuerdo mis 65816 días cuando hice piratería ASM en Super Mario World en SNES.
Me pregunto si alguien todavía usa (o adapta) esos trucos de ASM que escribí ...Sólo yo dice:
Conozco un lugar donde se pueden conseguir 68000 CPU con un paquete DIP de 64 pines ... y cuestan 1 €. Tengo uno en mi cajón.
alemán dice:
Si busca en Google "Sinclair QL", encontrará la honorable computadora basada en 68008 de Sir Clive Sinclair. Muchas personas a lo largo de los años han diseñado sus propias versiones nuevas con procesadores como el 68040, etc.
brsxhyrds dice:
Me recuerda a la placa por la que aprendí sobre un sistema integrado y ensamblaje. (¡use el mismo RTC!)
Sin embargo, la CPU era 80188 @ 16MHz. Ah, y el bus de CPU se hicieron con envoltura de alambre.No, esto no fue hace 25 años, fue ... hace 5 años. No hace falta decir que, después de algunas clases con estos, ¡una pieza de PIC uc fue un regalo de los dioses!
lwatcdr dice:
@BigDumbDinosaur ¿Quizás agregar un blazer Propeller para manejar videos, audios y tal vez una interfaz de teclado PS2?
bigdumbdinosaur dice:
lwatcdr: ¿Es posible agregar un chip Propeller para manejar videos, audio y posiblemente una interfaz de teclado PS2?
POC V2 puede tener una consola integrada, aunque es más probable que conecte un teclado WYSE ASCII a la unidad que una unidad PS / 2. Como la mayoría de los desarrolladores de computadoras de la vieja escuela, prefiero el diseño ASCII en lugar del diseño IBM Selectric que me vería obligado a usar con un teclado PS / 2. Esta cosa no es una computadora, sabes. 🙂