El Pi1541 Punga parte 1
29 enero, 2021
En este artículo voy a contarles cómo armé el emulador de disquetera 1541 para Commodore (64/VIC/16/plus 4) usando un raspberry zero en base al desarrollo de Steve White.
El pi1541 es un proyecto que Steve White lanzó a la comunidad en el año 2017 y se trata de un emulador “exacto” de la disquetera 1541. La diferencia de este proyecto con otros que pueden construirse de forma casera, como el SD2IEC, es que permite correr programas, juegos y “demos” de la demoscene para Commodore 64 que utilizan ciertos hacks de código (fastloaders) para acelerar la carga que sólo funcionan con la disquetera real.
Existen dispositivos a la venta con esta funcionalidad como el Chameleon, el UK1541 y el Ultimate 1541 (que vale por encima de los 100 euros, frecuentemente se encuentra en falta, con larga lista de espera y ni hablar el costo de envío e impuestos hasta estas latitudes!).
Este proyecto originalmente requería raspberry pi 3, pero por fortuna para lxs sudacas pobretones como nosotrxs y gracias a la comunidad, allá por 2019 apareció una versión del código ejecutable que corre en un raspberry pi 0, sin perder casi nada de funcionalidad.
Si bien este proyecto no reemplaza un Ultimate, que tiene emulador de SID, puerto USB, ethernet, REU y quién sabe cuántos chiches más, es un digno sustituto por poca plata.
Qué necesitamos para armarlo?
- Primero que nada tenemos que conseguir un raspberry pi zero, no es necesaria la versión W, ya que no vamos a utilizar el wifi. En Argentina se consiguen bastante caros la verdad, pero en EEUU los venden en Adafruit a 5 dólares, uno por cliente. El dato sirve si tenés cómo traerlo al país, de eso ya no me hago cargo. ;D
- Un conversor de nivel de 6 canales, que va a servir para convertir las señales de 3v del raspberry a señales de 5v para la commodore. Eso se consigue fácil en cualquier negocio de venta de microcontroladores arduino, etc.
- Un conector DIN 6 macho. Con esto conectaremos el raspberry al puerto serie de la Commodore 64.
- Un cable de 5 hilos. Podemos reutilizar un cable que tengamos, yo reutilicé un cable de una vieja impresora para puerto paralelo.
- Cablecitos.
- Tarjeta micro SD (cualquiera que sea legible por el raspberry pi).
Hasta aquí los componentes esenciales. Después hay una serie de componentes opcionales que no hacen a la funcionalidad básica pero que considero bastante necesarios:
- 5x pulsadores de altura media.
- 1x led 3.3v (el color que te guste).
- 1x resistencia 100-150 ohms.
- 1x pantalla oled 128×32 o 128×64 protocolo i2c (de colores o blanco o azul, etc.)
- 1x conector jack DC (esto es muy optativo pero a mi me resulta práctico).
- 1x pedazo de placa plástica o pedazo de placa experimental.
- 1x conector de borde de 6 pines para el puerto datasette (esto también es muy optativo y sólo necesario si querés alimentar el raspberry con el puerto datasette de la commodore).
- 1x cajita (esto también es a gusto de cada unx pero es recomendable).
- 1x disipador adhesivo para el procesador del raspberry (optativo pero muy recomendable).
La versión que voy a armar es la A siguiendo el diagrama de https://cbm-pi1541.firebaseapp.com (cbm-pi1541.firebaseapp.com)
Cuál es la diferencia entre la opción A y la opción B? Básicamente el puerto serie de la commodore puede tener varios dispositivos conectados en cadena, con la opción A solamente podremos conectar 1 dispositivo al puerto. Lástima no vas a poder usar la impresora mientras corres el pi1541!!
Alimentación
Hay varias maneras de alimentar el dispositivo:
- Mediante USB por el puerto micro USB del raspberry.
- Mediante un cable que salga de los pines 5v del puerto datasette de la commodore.
- Mediante un transformador externo de 5v.
- Mediante un panel solar, un dínamo a hámster, o lo que se te ocurra.
Como verán yo le puse un jack que permite conectar un transformador externo, pero el truco es que tengo un cable que conecta el jack con el conector de borde que va al puerto datasette de la commodore. Esto no es realmente necesario, se puede armar un cable directo que conecte a donde ustedes quieran. Pero yo lo hice así porque quería tener opciones.
Para sacar energía del datasette podemos conectar así:
El pi zero no requiere demasiada corriente para funcionar, con 500 mAh estamos más que bien. Las opciones son muchas, mientras logremos darle el voltaje necesario en los pines correspondientes, todo va a andar bien.
Cómo empezar?
Yo empecé por armar un pequeño diagramita de la posición de los 5 pulsadores y la luz led. Lo armé con eagle, pero se puede hacer a mano o directamente soldar todo en un pedazo de placa experimental que ya tiene las perforaciones. Es importante que haya alguna forma de distinguir los botones, posicionándolos de dos en dos y uno separado me pareció un buen método. La función de los botones puede parecer un poco confusa y la voy a explicar en la parte de funcionamiento.
Lo que hice con la plantilla que armé con eagle fue agujerear una placa plástica y en ella incrustar los componentes.
Dejo acá la plantilla en pdf por si la querés usar.
Usando ese diagrama lo pegué en la placa plástica y le hice agujeros:
Una vez armada esa plaquetita lo que sigue es conectar todo al rpi utilizando el diagrama que tan generosamente nos otorga en su sitio Steve White:
En la parte 2 vamos a ver cómo se conecta la pantalla, cómo configurarlo y hacerlo funcionar…
Categoria: pvm blog | retro computing | tutoriales
Muy bueno el invento ! Bien punk como nos gusta a todos ! Qué opinará Angelo Merka ? Yo creo que ve corriendo esa Christmas Mega Demo y se la re sube !
Angelo está siempre en estado de excitación cuando ve una Commodore
Impecable . GENIO
gracias querido!!
Excelente tutorial; lastima que el proyecto original usa esa pantalla tan chiquita, creo que cuando lo arme voy a buscar alguna lupa de aumento rectangular para colocarle encima porque no veo un joraca en esa miniatura.
Gracias! Investigando un poco hay manera de poner pantallas más grandes, hasta de 2,4 pulgadas, como muestran acá:
https://learn.adafruit.com/1-5-and-2-4-monochrome-128×64-oled-display-module?view=all
sólo hay que rebuscársela un poco
Muchas gracias desde Colombia, por compartir este proyecto, tan bien explicado e ilustrado. Por fin voy a poder tener una Pi1541 asequible. Quedo atento a la parte dos.
Gracias, me alegra que te sirva. Ya pronto va estar publicada la parte 2, le estoy puliendo algunos detalles.
[…] En esta segunda parte voy a contarles cómo conecté la pantalla, cómo configuré el pi1541 y el funcionamiento del dispositivo.Encontrarás la parte 1 aquí. […]
muy bueno el tutorial, no se le instala ningún software?
si se le instala un software en la micro SD. tenes que leer las dos partes del tutorial
lo vi anoche, esta genial voy a ver si lo puedo replicar, el tema son las fichas din que no se consigue mas que la de 5 pines