Miniatura Macintosh Plus

imagen

En los primeros días de las computadoras domésticas, había una compañía llamada Apple. Acababa de dar grandes pasos con la línea de computadoras Apple II, pero necesitaba innovación para mantenerse en la cima del mercado de las computadoras. La compañía ya ha trabajado en la línea Lisa, que se inspiró en mini computadoras y estaba destinada a usuarios comerciales, lo que significa que tenía un precio adecuado, pero para el consumidor promedio parecía demasiado caro. Como proyecto adicional, se desarrolló el Macintosh, que se suponía que era la realización de la idea de una nueva generación de computadoras para "personas de la calle" y costaba alrededor de $ 500. El proyecto fue asumido por Steve Jobs, y bajo su liderazgo, el hardware se hizo más avanzado, el software recibió una GUI en lugar de una interfaz de texto, y el precio se disparó a casi $ 2,500. Aunque el equipo obtenido a este precio fue un poco decepcionante, por ejemplo, carecía de los aceleradores gráficos y las capacidades de sonido de otras máquinas, pero el software justificó el precio. El primer Macintosh fue el Mac 128K, y su éxito impulsó la creación de modelos más avanzados de este Mac compacto, en particular, el Macintosh 512K, Macintosh Plus y la serie Macintosh SE.

Aunque el desarrollo del Macintosh tuvo lugar alrededor de 1984, mucho antes de que comenzara a entender las computadoras, tenía algunas debilidades para el Macintosh compacto: la primera computadora que compraron mis padres fue la Macintosh Plus. Más tarde se complementó con un disco duro SCSI de 20 MB, y en esta máquina escribí mis primeros programas básicos. Cuando aún vivía en los Países Bajos, compré una máquina SE / 30 rota y la convertí en un servidor Linux, que sin embargo era capaz de ejecutar el software Mac. Sin embargo, dejé este auto en los Países Bajos, y aquí, en Shanghai, ya no tengo el hardware clásico de Apple.

Aunque es obvio que ya no necesito Mac Plus en la vida cotidiana, me gustó la idea de tenerlo a mano en caso de ataques de nostalgia. Quizás pueda obtener una pequeña parte de la experiencia de Macintosh si yo mismo creo una copia pequeña de tal máquina. Si ya tengo algo de experiencia creando versiones más pequeñas de hardware antiguo , ¿por qué no intentar aplicar este proceso para construir el venerable Mac Plus?

Display


¿Qué debo usar para construir una máquina así? Al principio se me ocurrió la idea de tomar una Raspberry Pi o algo similar, agregar una pantalla LCD de 2.5 pulgadas, un emulador como PCE o MiniVMac, imprimir una carcasa en una impresora 3D y considerar el trabajo realizado. Pero no creo que esta idea valga la pena: la máquina para mi gusto no solo será demasiado grande, sino que el proyecto en sí es demasiado simple. En el Mac 128K original, incluso cuando el resultado final resultó ser demasiado bajo, los desarrolladores lograron hacer un par de trucos para ahorrar dinero. El montaje simple de una réplica de "hierro" estándar es contrario al espíritu del diseño original. ¡Así que fui a Taobao por ingredientes más exóticos!


Decidí comenzar con la pantalla. Para su época, la Mac tenía una pantalla de alta resolución, por lo que era muy importante elegir la pantalla correcta. Por lo general, cuando se trata de elegir pantallas en el mercado electrónico chino, el surtido es amplio. Desafortunadamente, el "gran surtido" consiste en pantallas de alta resolución, pero también en tamaños grandes o pantallas pequeñas de pequeña resolución. Idealmente, necesitaba una resolución de 512x342 píxeles; Esta es la resolución nativa de Mac y en una pantalla similar puedo mostrar todo sin hacer zoom. Desafortunadamente, no hay pantallas preparadas de tal resolución en el mercado; el análogo más cercano será algo así como 640x480. Por alguna razón, las pantallas de esta resolución son bastante grandes: la más pequeña tiene una diagonal de 3.5 pulgadas. Por lo tanto, por desgracia, si quiero que la Mac sea lo más pequeña posible, entonces debo reducir la resolución.

Habiendo decidido que es bastante posible reducir ligeramente la resolución, obtuve una variedad de pantallas bastante grandes. Una de las primeras pantallas vistas fue x163qln01, una pantalla OLED de 1.63 pulgadas hecha por AUO. Es un poco caro (alrededor de $ 25 por pantalla), pero a menudo se puede encontrar en Taobao, y la hoja de datos al menos documenta los contactos, tamaños y requisitos de energía. Parece que esta pantalla fue diseñada para algún tipo de marca de reloj inteligente en Android, y un poco de google, incluso encontré algunas secuencias de iniciación que se pueden usar.

El único problema (excepto el conector, cuyos contactos se encuentran a una distancia de 0,5 mm entre sí) fue que la pantalla no utiliza una interfaz paralela y no SPI, sino la interfaz MIPI. Tendré que lidiar con esto más tarde.

Una vez seleccionada la pantalla, puede ir al procesador. Elegí el módulo ESP32-Wrover. Este módulo contiene un ESP32 (un chip WiFi con dos CPU de 32 bits que funcionan a una frecuencia de 240 MHz y con aproximadamente medio megabyte de RAM), 4 memorias flash MiB y 4 PSRAM MiB. Sugerí que los dos núcleos de CPU serían lo suficientemente rápidos como para emular una Mac y que podría usar 4 MiB de PSRAM como una RAM de Mac. Aunque 4 MiB de memoria flash no son mucho, deberían ser suficientes para el emulador más un pequeño disco duro con software y programas del sistema. También me beneficio el hecho de que trabajo en Espressif, por lo que este equipo me es bastante familiar; Además, puedo tomar algunos módulos del trabajo, en lugar de comprarlos y esperar la entrega.

Por lo tanto, todo está casi listo para funcionar: la pantalla OLED todavía necesitaba componentes para la fuente de alimentación, por lo que la cantidad de componentes aumentó con un estabilizador de caída de baja tensión (LDO) y otros chips de fuente de alimentación. La Mac también necesitaba sonido, así que tomé un chip acelerador y un altavoz baratos, y obtuve el módulo FT232 estándar para alimentación y depuración. Todos estos componentes son bastante pequeños y me permiten reducir el cuerpo del dispositivo; El resultado debería ser un modelo un poco más de 1/6 de una Mac real.

Control de pantalla


Aunque no me puedo quejar de la resolución, el tamaño y el brillo de la pantalla, resultó ser más difícil mostrar píxeles en ella. MIPI no era compatible con el silicio ESP32, por lo que necesitaba encontrar otra forma de comunicarme con él. MIPI DSI es un estándar desarrollado por MIPI Alliance y no está abierto; Como esto es un pasatiempo para mí, tuve que recopilar fragmentos de información de documentos filtrados y probar dispositivos existentes. Afortunadamente, hace uno o dos años, Mike Harrison realizó una ingeniería inversa de la interfaz MIPI DSI utilizada para controlar las pantallas del iPod ( 1 , 2 , 3 , 4 , 5 , sitio web ), y también encontró varias copias de las especificaciones. Me hizo la vida mucho más fácil: al menos me ayuda a descubrir qué enviar a la pantalla.

Aunque hay mucho más en la interfaz (y para averiguar sobre esto, debe ver todos los videos a los que les di enlaces arriba), la capa física de MIPI es bastante fácil de explicar. MIPI utiliza cuatro cables: dos buses de datos y dos buses de reloj. También tiene dos modos de transmisión de señal: modo de baja potencia (LP) y modo de alta velocidad (HS).


En el modo de baja potencia, los cables se utilizan por separado para transmitir estructuras de datos de control, así como para indicar que ciertos comandos tienen un efecto directo en el receptor físico, por otro lado. La caída de voltaje en este modo es bastante grande en comparación con el modo de alta velocidad: para una señal alta, el voltaje es de aproximadamente 1.2 V, y para una señal baja es de aproximadamente 0 V. Dado que el modo de baja potencia tiene más estados de señal, realiza funciones como enviar el destinatario de la orden para cambiar al modo de alta velocidad o salir de él. En el gráfico anterior, las líneas azules indican la transmisión de datos en modo de bajo consumo.

En el modo de alta velocidad, dos buses de reloj (CLKP / CLKN), así como dos buses de datos (DP / DN) funcionan como buses diferenciales: un bus siempre es opuesto al otro. El receptor detecta las diferencias entre los dos buses y, en función de ellos, establece el valor transmitido: 1 si está por encima de DP y 0 si está por encima de DN. Como su nombre lo indica, el modo de alta velocidad proporciona una transferencia de datos muy rápida con una frecuencia de reloj de hasta 1.5 GHz. Para lograr esto sin demasiada interferencia electromagnética y consumo de energía, el estándar utiliza el siguiente truco: utiliza voltajes muy bajos: el voltaje en los pares es en promedio 200 mV, con desviaciones de ± 100 mV por bus para indicar ceros y unos. En el gráfico anterior, los bits rojos se transmiten en modo de alta velocidad.

Desde el punto de vista de transferir los datos en modo de alta velocidad, la interfaz puede considerarse esencialmente como una interfaz SPI bastante extraña y diferencial: hay una señal de reloj y un canal de transmisión de datos, y en cada ciclo de reloj el valor de los datos se transmite a la interfaz. La diferencia con SPI (excepto que las señales son diferenciales) es que el bit de datos se transmite solo cuando cambia el estado de los buses CLK, y no solo, por ejemplo, en el borde de ataque. Otra diferencia es que el inicio de una transmisión no se reconoce cuando la señal en el bus / CS se vuelve baja, sino más bien una señal en banda: cada transmisión de datos comienza con una única "palabra mágica", y el receptor determina este valor para comprender cuándo comienza la transmisión.

Para asegurar que esta interfaz interactúa con ESP32, tendré que realizar un cambio de nivel. Quería alimentar el ESP32 desde una fuente de 3.0 V para que todos los GPIO también tuvieran 3.0 o 0 V. Para adaptar esto a los niveles de señal de la interfaz MIPI, elegí la solución más económica: simplemente utilicé redes de divisor de resistencia.

Para calcular los valores de resistencia, creé ecuaciones para los tres estados de voltaje de salida que me interesan (1.1 V para la señal de alta potencia baja, 0.07 V para la señal de alta velocidad baja, 0.33 V para la señal de alta velocidad alta; los voltajes se eligieron como para que en la mayoría de los casos permanezcan dentro de la especificación) y los tres estados de entrada que deberían generarlos. Tengo las ecuaciones. Teóricamente, fue posible resolverlos manualmente, pero al final los abandoné en WolframAlpha y obtuve los valores de resistencia requeridos.

            3v
 G -R1 - + R3
 G -R2 - + - + ---->
            R4
            GND

 R4 * (1.9 / R1 + 1.9 / R3) = 1.1, 
 (1 / (1 / R4 + 1 / R1 + 1 / R2)) * (2.93 / R3) = 0.07, 
 (1 / (1 / R4 + 1 / R1)) * 2.67 * (1 / R3 + 1 / R2) = 0.33, 
 R2 = 1000

 R1 = 280, R2 = 1K, R3 = 3K6, R4 = 150 


En este punto, me di cuenta de que también puedes hacer un poco de trampa: dado que en el modo de alta velocidad los buses son diferenciales, la pantalla solo verá la diferencia entre los dos buses para determinar los datos transmitidos. Esto significa que puedo ahorrar GPIO manteniendo un voltaje fijo en uno de los buses y aplicando una señal alta o baja al otro. Para hacer esto, necesitaba un segundo tipo de red de resistencia:

            3v
            R3
 G -R1 - + - + ---->
            R4
            GND

 R4 * (1.9 / R1 + 1.9 / R3) = 1.1,
 (1 / (1 / R4 + 1 / R1)) * (2.8 / R3) = 0.2,
 R4 = 150

 R1 = 320, R3 = 1500, R4 = 150 


Otra tarea era crear un circuito de reloj. El SPI normal transmite un poco en el borde de ataque del bus del reloj. (O en el borde posterior, dependiendo de la configuración). MIPI transmite un poco en los bordes inicial y final de la señal del reloj. Aunque el módulo SPI del equipo ESP32 no puede generar tales señales por sí mismo, podemos convertir uno a otro usando un simple disparador D, cuya salida invertida está conectada a la entrada. Cada pulso de reloj en la entrada cambiará el nivel de salida, según sea necesario.

Diagrama de circuito


Habiendo tratado con el equipo de visualización, terminamos la parte más difícil. Ahora todo lo que tenemos que hacer es agregar el resto. Comencemos con la fuente de energía. Es bastante simple: alimento todo el circuito de 5V desde un convertidor de USB a serie, que también se puede usar como interfaz de depuración / programación. Se toma este voltaje para generar +4.6 V, -3.4 V y 1.8 V requeridos por la pantalla OLED, así como 3.0 V para alimentar el ESP32. El chip TPS65631 genera voltajes de +4,6 V y -3,4 V, y el circuito de referencia para esto se muestra en la hoja de datos de la pantalla OLED. Otros voltajes son generados por un par de LDO simples.


El Macintosh también tenía sonido. Según los estándares modernos, su calidad no es muy alta (22 kHz, 8 bits), pero los sonidos de sus programas ahora son legendarios, por lo que en mi proyecto no pude rechazarlos. El ESP32 tiene un DAC incorporado de 8 bits, que se utiliza para crear ondas de sonido analógicas generadas por el emulador. Luego se alimentan al NS8002, que es un amplificador de sonido de clase AB de 2 vatios montado en el pequeño formato SOIC8. Es barato, requiere muy pocos componentes de soporte y crea un sonido más que suficiente para llamar la atención sobre la pequeña Mac.


Uno de los aspectos que hizo que Macintosh fuera tan revolucionario fue que fue una de las primeras computadoras comerciales con mouse. El equipo de Macintosh pensó en el mouse con tanto cuidado que casi todo el sistema operativo se basa en elementos de IU controlados por el mouse y, a diferencia de, por ejemplo, la PC de IBM, todo el Macintosh podría controlarse con un mouse. Obviamente, mi pequeña Mac también necesitaba este importante dispositivo periférico. Todavía recuerdo los ratones de bolas vendidos con el primer Macintosh, pero no estaba muy satisfecho con la necesidad de limpiar los rodillos con demasiada frecuencia de la suciedad; Es por esta razón que estos dispositivos mecánicos fueron completamente reemplazados por ratones ópticos. La ventaja de esto es que los detalles de estos nuevos ratones ópticos son bastante fáciles de encontrar: por ejemplo, no me llevó mucho tiempo encontrar el vendedor de los sensores de mouse para juegos ADNS9500 y la óptica correspondiente.

Otro aspecto conveniente es que el sensor óptico del mouse es un dispositivo bastante integrado: requiere solo unos pocos componentes externos para funcionar, y esto se refleja en el diagrama. Se agregaron varios condensadores para estabilizar el voltaje, un transistor MOS (copiado directamente de la hoja de datos) para encender el diodo láser y otros detalles estándar. El sensor del mouse transmite datos a través de una señal SPI de cuatro cables, y utilicé uno de estos cables para enviar la señal del botón del mouse: cuando hago clic en el botón, el contacto MISO se baja bastante. El valor de esta resistencia pull-up no es suficiente para que el mouse deje de transmitir datos, pero sí lo suficiente como para superar la resistencia pull-up, que normalmente tira del bus hacia arriba, de modo que cuando el sensor crea tres estados en el bus MISO, el ESP32 puede reconocer la presión de un botón.


Finalmente, debe conectar la pantalla OLED. Ya hemos completado todo el trabajo difícil de calcular los valores de todas las resistencias, por lo que el circuito debería hablar más o menos por sí mismo. El chip agregado es un D-flip-flop, y se usa para reducir a la mitad la frecuencia del reloj: como se mencionó anteriormente, el estándar MIPI requiere un nuevo bit cada vez que se invierte la polaridad del reloj, mientras que el ESP32 transmite un nuevo bit solo en la parte frontal o posterior frente


Después de dibujar un diagrama esquemático, pasé a crear un diseño de placa de circuito. La pantalla que seleccioné debía montarse en la placa que lo controla, y el conector debe estar en la parte posterior de esta placa de circuito. Aunque esto no habría dejado mucho espacio para otros componentes, todavía quería colocar todos los demás componentes en el otro lado.


Es genial tener una buena visión y una pistola de aire caliente: esto me permitió usar los componentes 0603 y colocar todo en el espacio limitado de la placa. Sería especialmente difícil conectar el conector de pantalla y el chip de alimentación OLED QFN con un soldador convencional.


Me di cuenta de que el sensor del mouse y sus componentes ocuparían demasiado espacio en la placa, así que decidí soldar todos los componentes al sensor en sí. Gracias a esto, todo se puede colocar en el mouse.



Software



Obviamente, el software es un elemento bastante importante de este ensamblaje: debe emular todo el Macintosh. Sin embargo, Macintosh no es una máquina tan complicada. De hecho, consta de un microcontrolador 68000, un controlador de transferencia en serie Zilog Z8530 que controla el puerto en serie, 6522 VIA para E / S interna y para proporcionar una interfaz con un teclado, así como varios arreglos lógicos programables (PAL) que contienen lógica para la pantalla y el sonido. También tiene un chip integrado de máquina Woz que proporciona una interfaz con una unidad de disquete. Este es un chip bastante complicado; sin embargo, no planeo emular un disquete, por lo que será suficiente para emular IWM, lo que indica que no hay ningún disco en la unidad. En cambio, planeo emular completamente el chip SCSI NCR 5380, conectado a un disco duro SCSI emulado, que leerá desde la memoria flash ESP32-Wrover incorporada.

Además, habrá muy pocos programas con acceso directo a los equipos en el sistema: a los programadores de Mac se les dijo desde el principio que usaran capas de abstracción de hardware a nivel del sistema operativo para mantener la compatibilidad con futuras versiones de equipos Mac. En general, esto significa que si logro emular el hardware de tal manera que el sistema operativo se inicie y esté contento con todo, entonces la mayoría de los programas funcionarán sin ningún problema.

Entonces decidí que podrías intentar escribir un emulador desde cero. Más precisamente, no del todo desde cero; 68000 es una bestia bastante complicada y no quería reinventar la rueda. En cambio, busqué en Internet y descubrí que MAME tiene un emulador 68K conveniente y rápido basado en CK llamado Musashi que se adapta perfectamente a mis necesidades.Será necesario conjurar un poco para transferir los códigos de operación en lugar de RAM a la memoria flash, pero por lo demás, no se necesita casi nada para transferir a ESP32.

Sin embargo, no planeé desarrollar todo el proyecto en ESP32: dado que el chip es compatible con OpenOCD, que proporciona capacidades de depuración bastante amplias, el ciclo "descargado-probado-fijo-cargado" será demasiado monótono. Por lo tanto, decidí desarrollar primero todo en mi máquina Linux, sin olvidar las limitaciones de ESP32. Así que comencé a usar la hoja de datos para diferentes chips, la información de Linux-68K para la máquina, así como la información de la serie Inside Macintosh que se puede encontrar en Internet. Cuando no podía averiguar qué hacer a continuación, podía mirar bajo el capó de otros emuladores de código abierto.

Armado con todo esto, eligiendo gcc como compilador y libsdl como biblioteca para trabajar con gráficos, me puse a trabajar. En resumen, luego de un tiempo obtendré un emulador MacPlus simple, pero que generalmente funciona: mouse, video, disco duro SCSI y trabajo de sonido:


Como mi hardware aún no estaba listo, decidí portar mi emulador al devboard ESP-Wrover-Kit. Todavía tenía varias de esas tarjetas a la mano, y además del módulo Wrover, que usaré de todos modos, tienen una conveniente pantalla de 320x240 que se puede usar para probar el video.


Después de la configuración, el emulador de Mac ganó bastante dinero en este tablero; de hecho, suele estar bastante cerca de los 7,8 MHz con los que se ejecuta Mac Plus. (7.8 MHz será un poco más rápido que Mac Plus; dado que en esta máquina, parte de los ciclos de memoria de la memoria intermedia del cuadro y el sistema de sonido se comen, la frecuencia puede reducirse en un 35%.)

Obviamente, el emulador en Devboard es un buen paso adelante, pero Al final, todo debería funcionar en la pantalla que compré, y no en la pantalla del panel de control. Y una cosa más: la pantalla devkit tiene una pantalla de 320x240 y corta la parte sólida de la pantalla de Mac. La pantalla que usaré tiene un tamaño de 320x320 y, por lo tanto, es más grande solo verticalmente: ¿cómo puedo mostrar una pantalla Mac de 512x342 en ella?

Solo hay una forma de poner 512x342 píxeles en una pantalla de 320x320, y eso es escalar. De hecho, tomamos una imagen, la comprimimos, la hacemos más pequeña y luego la mostramos. Sin embargo, el escalado se puede hacer de muchas maneras diferentes, y teniendo en cuenta que la imagen en blanco y negro generada por el sistema operativo supone que cada píxel crea un punto de luz claramente definido en la pantalla, es decir, hay muchas formas de arruinarlo todo. Necesito perder la menor cantidad de píxeles posible. Es decir, debe aumentar la resolución de la pantalla OLED.

¿Pero cómo hacerlo?Es poco probable que pueda abrir la pantalla OLED y colocar algunos píxeles más en su interior. Sin embargo, esto no es necesario; La resolución de la pantalla OLED ya es tres veces mayor que la indicada. La razón es que esta pantalla es de color: cada "píxel" virtual tiene subpíxeles rojo, verde y azul. Además, en esta pantalla en particular, los subpíxeles están alineados con un triángulo. Aquí hay una captura de pantalla de primer plano con tres píxeles activados:


Como puede ver, los píxeles son conjuntos triangulares de tres subpíxeles; Dependiendo de la columna, los triángulos apuntan hacia abajo o hacia arriba. En esencia, esto significa que la resolución subpíxel de la pantalla es de 480 x 640 píxeles. Aunque esto todavía no es suficiente para mostrar 512x342 píxeles, la diferencia es tan pequeña que con la elección correcta de escalas pequeñas, la pantalla será lo más legible posible para una pantalla de 1.63 pulgadas que muestra una GUI diseñada para una pantalla de 9 pulgadas:



Vivienda


Así que ahora tengo una pantalla y un software que emula bastante bien el Macintosh Plus, además de un microcontrolador en el que se puede ejecutar. Lo que falta Obviamente, recintos para todo esto!

Decidí imprimirlo en una impresora 3D Formlabs 1+ SLA de mi trabajo. Para hacer esto, primero necesito un modelo. Quería crearlo desde cero. Obviamente, es mejor tener un verdadero Macintosh Plus a mano. De hecho, lo tengo, pero estamos separados por medio continente ... Afortunadamente, logré encontrar una solución casi igual de buena: una persona amable indicó las dimensiones del Mac 128K original (cuyo cuerpo es casi el mismo que el de Plus) en el wiki de iFixit .

Todavía creo todos mis modelos 3D en OpenScad, y después de atormentar y maldecir, logré hacer que todas las curvas se vean como deberían. Tengo un hermoso modelo de Mac en una escala de 1: 6.


También creé el mouse a partir de imágenes con iFixit, pero dado que un sensor suficientemente grande del mouse óptico debería caber en él, no se puede escalar a 1/6 de un mouse real. La escala está más cerca de 2/5, por lo que el mouse se ve grande en comparación con la pequeña Mac, pero es mucho más conveniente para los dedos humanos sin escala.


Entonces, todo lo que queda es imprimir los modelos. Exporté la construcción a varios archivos STL y los imprimí en Formlabs 1+. El resultado final fue lo suficientemente bueno; Solo lamento no haber agregado pestillos a ambas partes del diseño. Este problema se resolvió con una gota de superpegamento.

imagen


Resultado


Entonces, tenía todos los componentes y solo podía ensamblarlos. Los conectores de PCB en la parte frontal del chasis están asegurados con varios clips. El convertidor de USB a serie, utilizado como mecanismo de arranque y fuente de alimentación, está conectado a la parte posterior y también se mantiene en varios terminales. Olvidé hacer algo para montar dentro del altavoz, pero logré arreglarlo en el estuche con superpegamento. El mouse está conectado por un conjunto de cables delgados. (Sí, son algo inconsistentes con el esquema de color ... tan pronto como encuentre un cable multinúcleo más hermoso, lo arreglaré).


Cuando desarrolla todo en una computadora, se da cuenta de la escala real del producto solo cuando el proyecto se materializa por completo, por ejemplo, cuando recibe placas de circuito impreso de fábrica o después de imprimir en la impresora 3D del diseño de la caja en el que ha estado trabajando durante semanas. Por supuesto, sabía que todo sería seis veces más pequeño que el Mac original, pero al armar todo y ver el automóvil en vivo, me di cuenta de lo que eso significa. ¡La Mac realmente resultó ser pequeña!



E incluso a pesar del pequeño tamaño y la falta de un teclado, es capaz de ejecutar la mayoría de los programas por los que Mac es famoso. Aquí hay una demostración. Los primeros 20 segundos, se realiza una verificación de memoria, y sé por experiencia que una verificación tan larga no es un error: el Mac Plus original tardó el mismo tiempo en cargarse, incluso después de la actualización.


Entonces, ¿qué tiene de bueno esta Mac Plus? Aunque disfruté creándolo, debo admitir que sin un teclado no se puede utilizar en todo su potencial. Además, no tiene los medios de comunicación: planeé implementar AppleTalk a través de WiFi, pero no tuve éxito debido a las rarezas que no podía emular en el chip controlador de bus serie del Mac original. Sin embargo, teniendo el proyecto completado en este estado, finalmente puedo cumplir mi viejo sueño y ponerlo en la mesa de Mac con las tostadoras del protector de pantalla After Dark volando en la pantalla:


Como de costumbre, este proyecto es de código abierto, el diseño de la placa de circuito y la carcasa, así como el firmware, se publican en Github . Todo tiene una licencia de Beer-Ware, por lo que puede hacer casi todo lo que quiera con él. Si alguna vez usa algo en sus proyectos, puede escribirme al respecto.

Source: https://habr.com/ru/post/444574/


All Articles