Emulador del mítico MAC de los 80


Efectivamente, el MicroMac es un proyecto apasionante que ha resucitado el clásico Macintosh 128K de 1984 utilizando una placa Raspberry Pi Pico. Esta iniciativa, creada por el entusiasta Matt Evans, demuestra la versatilidad de estas placas de bajo costo, capaces de emular no solo ordenadores antiguos, sino también de convertirse en consolas retro o incluso en smartphones, hasta tal punto que podemos llegar a construirnos nuestro propio Mac casero.

¿Qué hace especial al MicroMac?

  • Bajo costo: Lo que más sorprende del MicroMac es su precio. Con un costo de apenas 5 euros por la placa base, se convierte en una opción muy accesible para aquellos que buscan revivir la experiencia del Macintosh original o simplemente adentrarse en el mundo de la emulación.
  • Facilidad de ensamblaje: El proceso de ensamblaje del MicroMac es relativamente sencillo, incluso para aquellos sin experiencia previa en electrónica. Las instrucciones detalladas y los diagramas proporcionados por el creador facilitan la construcción de este dispositivo.
  • Funcionalidad: A pesar de su bajo costo, el MicroMac es capaz de ejecutar de manera fluida aplicaciones clásicas del Macintosh 128K, como el procesador de textos MacWrite o el programa de gráficos vectoriales MacDraw. Esto lo convierte en una herramienta útil para aquellos que desean recordar la nostalgia de la era de las computadoras Macintosh o para aquellos que simplemente quieren experimentar con software retro.

Reviviendo el Macintosh 128K con una Raspberry Pi!

En efecto Matt Evans, un apasionado de la tecnología, ha logrado una hazaña impresionante: construir un clon funcional del Macintosh 128K original utilizando una placa Raspberry Pi Pico. Este proyecto, MicroMac, destaca por su bajo costo (menos de 5 euros) y su capacidad para emular con precisión la experiencia del Macintosh original.

¿Cómo funciona el MicroMac?

El MicroMac se basa en un microcontrolador RP2040, que cuenta con un procesador Arm Cortex-M0+ de doble núcleo y 264 kB de RAM. Para replicar la experiencia del Macintosh 128K, Evans ha conectado varios componentes adicionales, incluyendo:

  • Un monitor VGA.
  • Un teclado USB.
  • Un mouse USB.
  • Un adaptador USB OTG de Micro-B a Micro-A (para conectar el ratón y el teclado).
  • Una fuente de alimentación de 5V.
  • Un par de resistencias para adaptar niveles para la VGA.
  • Un Cable VGA.

Un microcontrolador Raspberry Pi RP2040 (en una placa Pico), manejando vídeo VGA monocromo y tomando entrada de teclado/ratón USB, emulando un ordenador Macintosh 128K y almacenamiento en disco. El RP2040 tiene fácilmente suficiente RAM para albergar la memoria del Mac, más la del emulador; es lo suficientemente rápido (con algunos trucos) para alcanzar el rendimiento de la máquina real, tiene capacidad de host USB, y los pines del GPIO hacen posible que el soporte de vídeo VGA sea bastante sencilla (con algunos trucos). Los 2 MB de memoria flash de la placa Pico básica son suficientes para una imagen de disco con el SO y el software.

Para su creación, Evans tuvo que combinar varios componentes actuales que le permitieran simular una experiencia similar a la de la máquina de Apple, con el mayor realismo posible.

En la imagen vemos todo el hw empleado. Junto al microcontrolador, consiguió un monitor VGA, un teclado, un mouse USB, un adaptador USB OTG de Micro-B a Micro-A, una fuente de alimentación de 5V y un par de resistencias, que montó sobre la placa de prototipos.

Tres pines GPIO de 3.3V son manejados por PIO para dar señales VSYNC, HSYNC, y salida de video. Los sincronismos son en muchos proyectos similares manejados directamente desde GPIO, pero aquí recomienda una resistencia en serie de 66Ω en cada uno para mantener los voltajes en el extremo VGA (¿presumiblemente en terminación de 75Ω?) en el rango correcto. Para la salida de video, un GPIO maneja los canales R,G,B para salida mono/blanco. Una resistencia de 100Ω da aproximadamente 0,7V (intensidad máxima) en 3*75Ω señales.

Esta es la configuración de pines usada:

GPIO/pinPico pinUsage
GP01UART0 TX
GP12UART0 RX
GP1824Video output
GP1925VSYNC
GP2127HSYNC
Gnd23, 28Video ground
VBUS (5V)40+5V supply
Gnd38Supply ground

Resumen de conexiones:

  • Cablea 5V a VBUS/Gnd
  • Salida de video –> 100Ω –> VGA
  • RGB (pines 1,2,3) todos conectados juntos
  • HSYNC –> 66Ω –> VGA pin 13
  • VSYNC –> 66Ω –> VGA pin 14
  • Tierra de video –> tierra VGA (pines 5-8, 10)

Si no tiene exactamente una resistencia de 100Ω, puede usar otra un poco de mas valor pero la pantalla será más tenue. Si no tiene resistencia de 66Ω para los sincronismos, conectarlos directamente es «probablemente OK», pero YMMV. Pruebe sus conexiones: la parte clave es no conseguir más de 0.7V en las señales de su conector VGA. Conecta el ratón USB, y el teclado si quiere, y encienda.

Software

Después de solucionar el tema del hw, Evans inició el proceso para adaptar el RP2040 para que pudiera manejar los periféricos y emitir una señal de video. En el lado del software, tuvo que conseguir una imagen de System 3.2, la última versión compatible con Macintosh 128, que incluía algunos de los programas utilizados por el sistema operativo.

El emulador umac y la salida de vídeo se ejecutan en el núcleo 1, mientras que el núcleo 0 se encarga de la entrada USB HID. El DMA de vídeo se inicializa apuntando al framebuffer en la RAM del Mac. Aparte de eso, es sólo un bucle principal en main.c barajando cosas en umac. Se ha hecho bastante optimización en umac y Musashi para aumentar el rendimiento en Cortex-M0+ y el RP2040, como la ubicación cuidadosa de ciertas rutinas en la RAM, asegurando que los inlining/constantes puedan ser foldeados, etc. Es 5 veces más rápido de lo que era al principio. El proyecto de nivel superior podría ser un marco útil para otros emuladores, u otros proyectos que necesitan entrada USB HID y un framebuffer (por ejemplo, un emulador VT220). El código USB HID es en gran parte robado del ejemplo TinyUSB, pero muestra cómo en la práctica se podría capturar las pulsaciones de teclas / tratar con eventos del ratón.

Todo el sw esta disponible en su respositoriio de Github:https://github.com/evansm7/pico-mac?tab=readme-ov-file#hardware-contruction

En cuanto a la imagen del System 3.2, esta es la última versión compatible con el Macintosh 128K. Esto le permite ejecutar programas clásicos como el procesador de textos MacWrite y el programa de gráficos vectoriales MacDraw.

El trabajo principal de Evans se enfocó en hacer un equipo que fuera capaz de correr con un hardware que cataloga como «muy simple«, por lo que la estética no estaba realmente contemplada, tal como se muestra en sus distintas fotografías.

Más allá del MicroMac:

El proyecto MicroMac es un claro ejemplo del potencial de las placas Raspberry Pi. Estas pequeñas placas han abierto un mundo de posibilidades para la creación de dispositivos electrónicos personalizados, desde ordenadores retro hasta consolas de videojuegos y objetos inteligentes para el hogar.

Se puede decir que esta computadora que emula a la Macintosh es toda una ganga para el usuario. Según su creador, se trata de un equipo que cuesta menos de 5 euros, es decir,  aunque este precio es únicamente por su placa base y no por el resto de componentes y accesorios.

Enlaces de interés:

DESCIFRANDO EL INTERIOR DE UN FICHERO DOCX


¿Sabía que un archivo Word actual esconde más de lo que parece? Detrás de esa apariencia simple de un documento .docx se esconde un tesoro de posibilidades. En este blog post, Le revelaremos los secretos para desentrañar los misterios de Word y aprovechar al máximo sus funciones.

Sobre el formato Docx

El formato DOCX es el estándar actual para los documentos de texto de Microsoft Office, introducido por primera vez en 2007 con la suite Office 2007. A diferencia de su predecesor, el formato DOC, DOCX se basa en XML (eXtensible Markup Language), lo que aporta varias ventajas significativas, incluyendo una mejor legibilidad, mayor facilidad de manipulación programática y mayor compatibilidad.

Algunas de las características principales del formato DOCX:

  • Basado en XML: La estructura XML de DOCX facilita la lectura e interpretación del contenido del documento por parte de máquinas y aplicaciones. Esto permite una mejor interoperabilidad y abre la puerta a la automatización y manipulación programática de documentos.
  • Estructura en forma de paquete: Un archivo DOCX es, en esencia, un archivo ZIP que contiene diversos archivos y carpetas. Esto incluye el contenido XML del documento, así como imágenes, estilos y otros recursos asociados. Esta estructura modular facilita el acceso y la gestión de los componentes del documento.
  • Amplia compatibilidad: DOCX es el formato nativo de Microsoft Office, pero su compatibilidad se extiende mucho más allá. La mayoría de las suites ofimáticas modernas, como LibreOffice y OpenOffice, pueden abrir, editar y guardar documentos DOCX sin problemas. Además, existen numerosas herramientas y bibliotecas para trabajar con archivos DOCX en diversas plataformas.
  • Funciones de formato avanzadas: DOCX ofrece una amplia gama de opciones de formato de texto, incluyendo estilos, tablas, imágenes, hipervínculos, notas al pie, encabezados y pies de página. También permite la incorporación de contenido multimedia, como audio y vídeo.
  • Personalización y extensibilidad: La naturaleza basada en XML de DOCX lo convierte en un formato altamente personalizable. Los usuarios y desarrolladores pueden crear plantillas personalizadas, automatizar la generación de documentos y realizar complejas manipulaciones del contenido del documento gracias a su estructura XML.
  • Interoperabilidad: DOCX no solo es compatible con Microsoft Office, sino también con una amplia gama de aplicaciones y plataformas. Esto facilita el intercambio de documentos entre diferentes usuarios, independientemente del software que utilicen.

Y son muchos los beneficios del uso del formato DOCX:

  • Mayor legibilidad y accesibilidad: La estructura XML de DOCX hace que los documentos sean más legibles para las máquinas y más fáciles de procesar por aplicaciones de terceros.
  • Mejor manipulación programática: La estructura basada en XML facilita la manipulación programática del contenido del documento, lo que permite la automatización de tareas y el desarrollo de herramientas personalizadas.
  • Compatibilidad ampliada: La amplia adopción de DOCX garantiza que los documentos sean accesibles en una amplia gama de plataformas y aplicaciones.
  • Funciones de formato enriquecidas: DOCX ofrece una amplia gama de opciones de formato para crear documentos con un aspecto profesional y atractivo.
  • Personalización flexible: La naturaleza personalizable de DOCX permite adaptar los documentos a las necesidades específicas de usuarios y desarrolladores.
  • Intercambio sencillo: La compatibilidad multiplataforma de DOCX facilita el intercambio de documentos entre diferentes usuarios, independientemente de su entorno de software.

Descifrando el gran truco

Más allá del documento, un archivo .docx no es un simple bloque de texto. En realidad, se trata de un conjunto de componentes empaquetados, como piezas de un rompecabezas. Y al igual que este, podemos descifrar su estructura y acceder a sus elementos ocultos.

El poder de la transformación es sorprendente porque en efecto la clave reside en un truco sencillo que consiste simplemente en cambiar la extensión del archivo de .docx a .zip. Con esta simple acción, convertimos nuestro documento en un archivo comprimido, revelando así su interior: texto, estilos de formato e imágenes, listos para ser explorados. !Ojo porque este truco no funcionara con los ficheros antiguos de word con extensión .doc (sin la «x»)!

Las imágenes en efecto estan a su alcance: ¿Necesita extraer todas las imágenes de un documento Word en un instante? Este método es su solución mágica. Olvídese de la tediosa tarea de guardarlas una por una. Con unos pocos clics, las tendrá todas a su disposición.

Veamos paso a paso como hacerlo:

Desde Windows 10 o Windows11, nos vamos al explorador de archivos y pulsamos en el menú Ver–>Mostrar–>Elementos ocultos.

Si no esta activada la opción Elementos ocultos, lo activaremos.

Haremos una copia del fichero del fichero con extensión docx que nos interesa por si «metemos las pata» pulsando en el fichero que nos interesa, después pulsando Control+C (copiar) y después pulsando Control+V.

Bien, ahora nos vamos al fichero con extensión docx, pulsamos F2, y reemplazamos el final del nombre del fichero con la extensión «.docx» por «.zip» y pulsamos Intro.

Bueno, ahora podemos ver que Windows lo reconoce como una carpeta comprimida, y pulsando sobre el esta veremos un ficheros xml y tres subcarpetas _rels, docProps (con ficheros xml) , word( que contendrá entre otros las imágenes y mas ficheros xml).

Bueno, ahora pulsaremos sobre la carpeta word y veremos varios ficheros xml y tres subcarpetas _rels, theme (con ficheros xml) , media( que contendrá las imágenes ).

Bueno, ahora si pulsamos en la carpeta «media» ya podemos ver las imágenes que contenia el documentos.

Las ventajas son imbatibles: Rápido, eficiente y sencillo. Este método no solo le ahorra tiempo y esfuerzo, sino que también evita complicaciones y protege tu privacidad. Sin necesidad de software adicional ni herramientas en línea, tienes el control total.

La conversión de Word a ZIP no solo le da acceso a imágenes pues abre las puertas a un mundo de posibilidades:

  • Edite y recupere contenido: Modifique texto de forma masiva, reemplace términos o ajuste el formato en todo el documento. Incluso puede rescatar información de archivos corruptos.
  • Domine estilos y plantillas: Cree o modifique plantillas personalizadas para agilizar su trabajo y mantener un estilo uniforme en sus documentos.
  • Analice metadatos: Descubra quién creó el documento, cuándo se modificó y otros datos valiosos para verificar su autenticidad e historial.
  • Podemos cambiar por ejemplo cambiar las imágenes respetando los nombres y volverlo a renombrar en docx y habremos cambiado de una forma muy rapida las imágenes que nos interesen.

Con este conocimiento, su interacción con los documentos Word nunca volverá a ser la misma. Ya no solo son simples contenedores de texto, sino un universo de posibilidades esperando ser exploradas.

Recuerde: Este método solo funciona con archivos .docx. Para formatos más antiguos (.doc) se requieren métodos alternativos.

Embárguese en esta aventura y descubra el verdadero potencial de tus documentos Word.

Mas información en https://www.microsoft.com/es-es/download/details.aspx?id=5794