UNO2IEC paso a paso en castellano
30 mayo, 2016
Conectar una commodore 64 a una PC Windows emulando un drive 1541 a través de arduino
Paso a paso en castellano por uctumi/PVM
ATENCIÓN: Este proyecto ya quedó superado por el PI1541, basado en raspberry Pi y mucho más compatible con todo el software de C64, ya que tiene una mejor emulación de la disquetera real. Recomendamos encara ese proyecto en vez de éste, podrán encontrar la información sobre el armado en: https://cbm-pi1541.firebaseapp.com/
Antes que nada cabe aclarar que este proyecto tiene sus limitaciones, aunque si se le dedica el tiempo de desarrollo necesario potencialmente sería lo mismo funcionalmente que un SD2IEC o al menos un MMC2IEC del más básico.
PARA QUÉ SIRVE AL DIA DE HOY:Levanta PRG sueltos e imágenes de disco (D64) de muchos juegos y programas, los que no requieran fastloaders. La funcionalidad es similar a 64hdd pero mediante puerto USB en vez de puerto paralelo.
VENTAJAS:Es más económico que un SD2IEC armado, es muy fácil de armar a nivel hardware y no requiere ir consiguiendo componentes difíciles, el Arduino Nano y Uno se consiguen en nuestro país con relativa facilidad.
PARA QUÉ NO SIRVE (POR AHORA):No soporta fastloaders, o sea algunos juegos y la mayoría de las demos de la demoscene no corren. Tiene algunos problemas para guardar y cargar archivos desde aplicaciones, por ejemplo en el SidWizard, o con SIDPLAY64. Puede tener bugs no documentados. No me hago responsable de cualquier problema que puedas tener en tus equipos (PC, C64, etc.) debido a seguir esta guía.Es un proyecto desarrollado por Lars Wadefalk, el sitio del desarollo eshttps://github.com/Larswad/uno2iec
Los pasos son en base a las instrucciones del autor y tomé algunas cosas dehttp://www.retrowork.com.br/uno2iec/
Este paso a paso es para Windows solamente, pero según el autor este proyecto funciona en Linux, MacOSX y Raspberry Pi. La información y hasta los binarios para esas otras plataformas están disponibles en los enlaces ya citados.
Las instrucciones son para quién no tiene nada instalado en su máquina, ni arduino, ni entornos de programación como QT creator o MSVC, etc.
El hardware
Es lo más sencillo, necesitamos un cable de 4 o 5 hilos, un conector DIN 6, un arduino Uno o Nano (en mi caso un Nano que compré a 120 pesos en mayo de 2016), y un cable USB acorde al arduino que estemos usando.
Se conecta la ficha DIN 6 según el diagrama, el pin RESET es opcional, y obviamente los colores varían según el cable que tengas. Los pines en el arduino pueden ser cualquiera de los pines digitales, después se configura qué pin es cuál en la PC que hace de host de los archivos.
En este caso seguí una línea consecutiva de pines D6, D5, D4, D3 y el GND (tierra) puede ir a cualquier GND del arduino.
Mi soldadura en la ficha DIN da asco, así que si con esta soldadura funciona, cualquiera lo puede hacer
Así se supone que tiene que quedar más o menos el cable terminado, después cada uno lo cubre y decora a su gusto 🙂
Software
FLASHEAR EL ARDUINO
Descargamos del sitio del desarrolladorhttps://github.com/Larswad/uno2iec/releasesel release 0.5.0.0 (Source code.zip)que es en el que está basado este paso a paso. Lo descomprimimos en algún lugar de nuestra PC. (Por las dudas si por algún motivo desaparece, lo encuentran aquí)
Descargamos de la página de arduinohttps://www.arduino.cc/en/Main/SoftwareInstalador para Windows, lo ejecutamos, le damos a todo que si, que instale los drivers, todo YES, OK, DALE PA ADELANTE.
Conectamos el arduino por USB a la PC, todavía no enchufemos nada a la C64. Le damos tiempo porque empieza a buscar el driver y dejamos que lo instale tranquila. Una vez que terminó de instalar. Entonces vamos a la carpeta donde descomprimimos el archivo del desarrollador y va a haber una sub-carpeta uno2iec, allí hay un archivo llamado uno2iec.ino con el ícono de arduino. Le damos click y nos abre el proyecto.
Nos cercioramos de que esté seleccionado en Tools el modelo de Arduino que tengamos (Uno o Nano), en este caso Nano.
Y nos fijamos que esté bien seleccionado el puerto (COM1 o COM el que fuere) para que la PC se comunique con el Arduino.
Si no vamos a usar la pantallita LCD opcional seleccionamos la solapa global_defines.h y ahí comentamos la parte que dice #define USE_LED_DISPLAY para que quede deshabilitada.
Entonces ya está, le damos a la flechita para que compile y lo suba al arduino, ahora tienen que parpadear las lucecitas y en un ratito está subido, y queda encendido un led verde y otro led que se enciende a intervalos regulares. Si no encendió es porque está mal tu cable. Si encendió pero no carga el programa es porque hay algún problema de conexión lógica, fijate de cambiar el puerto COM y probá de nuevo.
APLICACIÓN HOST
Acá hay dos opciones, o la compilan ustedes mismos o usan el que ya está compilado. En el segundo caso el paso a paso ya terminó, solo tienen que descargar el binario ejecutable que hice para windows en un archivo .zip desde acá, lo descomprimen en cualquier lado, abren la carpeta uno2iec_host y ejecutan el archivo uno2iec.exe.
Para las versiones en binario linux y MAC OSX dirigirse al blog de Sander Souza (en portugués).
La opción 1 implica bajarse el QT CREATOR (pesa 1GB) y compilarlo, para eso están las instrucciones más abajo(anexo compilar…).
El ejecutable al correr tendría que verse de esta manera (la ventanita que parece C64 tiene look configurable, en mi caso elegí el tema PLUS 4, es solamente para mostrar el listado de los archivos de la imagen de disco). (Gracias Lars, es muy bonita y funcional.)
Tenemos que configurar en el menú Main > Settings, ahí nos aseguramos de tener bien seleccionado el puerto, la velocidad “Serial speed” tiene que coincidir con la que figura en el archivo global_defines.h del proyecto de arduino, por defecto viene en 57600. Y seleccionamos los pines que conectamos a nuestro arduino. También elegimos la carpeta raíz de la que la aplicación toma las imágenes de disco D64. Si queremos que lea todo tipo de archivos agregamos ,* a la lista de extensiones, así nos aseguramos que lea incluso archivos sin extensión.
Naturalmente en este punto la Commodore 64 ya debe estar conectada (mejor que esté apagada cuando conectas todo).
Puede ser necesario reiniciar la aplicación hasta que reconozca y se comunique con el arduino.
Y LISTO!! Este es el resultado conectado a una tablet x86 que corre windows 8.1
ANEXO: COMPILAR APLICACION HOST CON QT CREATOR
Lo que tenemos que hacer es descargar el entorno QT CREATOR. Vamos a https://www.qt.io/download-open-source/ y bajamos el instalador online, DOWNLOAD NOW
Una vez que lo bajamos puede que te pida unos DLL que faltan para correrlo, a mi me los pidió. Los buscamos en google, los bajamos y los ponemos en la misma carpeta del archivo que descargamos, y funciona. Por ejemplo del sitio que aparece en la imagen. Si no te los pide, genial.
Corremos el instalador de QT CREATOR. Carga unas cosas y nos pide registrarnos de forma gratuita con mail y clave. LE damos a todo que sí y en la parte de “Select components” vamos dentro de TOOLS y tildamos MINGW 4.9.2. Ahí le damos NEXT y dejamos que descargue y se instale todo. Acá armate de paciencia porque es una descarga larga, como de 1GB.
Una vez instalado todo, vamos de nuevo a la carpeta que descargamos de github, en el directorio raíz de la carpeta está el archivo rpi2iec con el ícono “PRO”. Le damos dobleclick y nos va a abrir el QT creator con el proyecto abierto.
En la parte de Build and Run destildamos Shadow Build.
En el iconito de computadora seleccionamos RELEASE
Es importante que en la parte de Tools > build&run nos aparezca el compilador MINGW que es un compilador gratuito para windows que por eso lo seleccionamos en la instalación. La otra opción es si ya tenemos instalado Microsoft Virtual C, en ese caso podemos usar eso. Pero estas instrucciones son para quien no tiene nada instalado.
Entonces en el QT CREATOR lo que hacemos de darle al botón verde de PLAY que significa build and run (compilar y ejecutar).
Si nos da un error, a mi me dio error de parámetro /MP que el compilador MinGW no entiende. Eso hay que arreglarlo, meterse en la carpeta donde está el proyecto, buscar “makefile.Release” y editarlo con bloc de notas, borrar /MP donde sea que esté. Entonces le damos de nuevo al botón build.
Si todo sale bien tendría que aparecer una pantalla similar a esta, en realidad la parte de C64 sería en azul, yo elegí otro motivo que se puede elegir que es el de PLUS 4. Eso da lo mismo, ahí es donde nos muestra el listado del directorio de la imagen de disco.
Tenemos que configurar yendo a Main > Settings, ahí nos aseguramos de tener bien seleccionado el puerto, la velocidad de acuerdo al proyecto que le cargamos al arduino, por defecto 57600. Y seleccionamos los pines que conectamos a nuestro arduino. También elegimos la carpeta raíz de la que la aplicación toma las imágenes de disco D64. Naturalmente en este punto la Commodore 64 ya debe estar conectada (mejor que esté apagada cuando conectas todo). Puede ser necesario reiniciar la aplicación hasta que reconozca y se comunique con el arduino.
Categoria: pvm blog | retro computing | tutoriales
Cerrado a comentarios
Thanks for this article, it’s very interesting. I already have a UNO2IEC I built myself and now I am using it with Windows, because I have the binaries. I’d like to use it on Mac OSX and Linux but can’t find the binaries. Compiling is beyond my abilities and unfortunately the Brasilian site where they were available is disappeared. Any advice?
Hi Cercamon, this article is a bit old, I’d suggest you build a pi1541 instead. It’s much more compatible with all C64 software titles and even C64 demos. And on top of that it doesn’t require a host computer (the raspberry pi is the host). The link of the project is here: https://cbm-pi1541.firebaseapp.com/
Este proyecto ya quedó superado por el PI1541, basado en raspberry Pi y mucho más compatible con todo el software de C64, ya que tiene una mejor emulación de la disquetera real. Recomendamos encara ese proyecto en vez de éste, podrán encontrar la información sobre el armado en: https://cbm-pi1541.firebaseapp.com/