DEV Community

PicoCalc: retro-programando

Algo tarde (en 2026), me he comprado un Clockwork PicoCalc. Tuvo su gran auge a principios de 2025, y muy básicamente se trata de un Cyberdeck que es programable. Y, de hecho, es programable en varios lenguajes de programación.

Colckwork PicoCalc

La que me ha llegado tiene el firmware "antiguo", de manera que las aplicaciones se guardan en la tarjeta como archivos .bin. La PicoCalc viene con los lenguajes de programación Lua, MicroPython, y MMBasic.

Es muy interesante lo que ofrece la PicoCalc desde MMBasic, que es no solo un intérprete de BASIC, sino casi un sistema operativo entero. De hecho, si encendemos la PicoCalc sin la tarjeta SD, lo que arranca es MMBasic, aunque no estoy seguro de si se trata de que es la última aplicación ejecutada.

> files
A:/
<DIR> .
<DIR> ..
rnd.bas

> files "b:"
B:/
0 directories, 0 files
Enter fullscreen mode Exit fullscreen mode

Se nos ofrecen dos unidades, A:, que se almacena en la memoria FLASH de la PicoCalc, y B:, que nos da acceso a la tarjeta SD. Al igual que podíamos hacer en GW-BASIC para PC, tenemos disponibes varios comandos interactivos.

Comando Explicación
drive "a:" Cambia de unidad, "a:" o "b:"
files Lista los archivos en la unidad actual.
chdir d$ Cambia el directorio actual al contenido de d$.
kill n$ Elimina el archivo de nombre contenido en n$.
mkdir d$ Crea un directorio nuevo de nombre contenido en d$.
rmdir d$ Elimina el directorio de nombre contenido en d$.
rename n1$ as n2$ Renombra un archivo de nombre en n1$ a n2$.
list n$ Lista el contenido del archivo de nombre n$.

Tenemos también aquellos comandos gráficos tan sencillos.

Comando Explicación
line a,b,c,d Línea de (a, b) a (c, d).
circle a,b,r Círculo en (a, b) y radio r.

La posición (0,0) está en la esquina superior izquierda, mientras que (320, 320) es la esquina inferior derecha.

Un posible programa que se puede crear fácilmente es el del árbol fractal. Se trata de dibujar un árbol a base de piezas con forma de "Y". Empezamos dibujando una Y grande, nos movemos a la punta de la rama izquierda, y llamamos recursivamente a dibujar el árbol; y lo mismo moviéndonos a la rama derecha. Cada vez que nos movemos, dividimos la longitud l por algún valor (en este caso, por 2). Cuando la longitud baja por debajo de 1, ya no tiene sentido seguir dibujando nada, por lo que el algoritmo termina.

Fractal tree

El código fuente es bastante sencillo, en realidad. Tecleamos "edit" (o pulsamos F4), y entramos en un editor a pantalla completa para poder escribir cómodamente nuestro programa.

Rem (c) fractal 2026 MIT License

Sub drawBranch(x, y, l)
    Line x, y, x, y - l
    Line x, y - l, x - l, y - (l * 2)
    Line x, y - l, x + l, y - (l * 2)
End Sub

Sub drawTree(x, y, l)
    drawBranch(x, y, l)
    drawBranch(x - l, y - (l * 2), l / 2)
    drawBranch(x + l, y - (l * 2), l / 2)
End Sub

Sub main()
    drawTree(160, 320, 75)
End Sub

main()
Enter fullscreen mode Exit fullscreen mode

Código fuente

Solo queda guardarlo en la tarjeta SD:

drive "b:"
save "fractal.bas"
Enter fullscreen mode Exit fullscreen mode

¿Y tú, también retro-programas?

Top comments (0)