No siempre se puede tener un lugar ordenado todo el tiempo y más donde se trabaja; basta con ver las fotos de los cuartos de personajes de la historia para darse cuenta; como por ejemplo el de Beethoven. El cuarto de máquinas, en mi casa, se veía así esta mañana:
Por favor, no pidan ver más alla de esa esquina, aunque el suelo, ya lo conocen.
Juego:
Ahora que si quieres ayudar a limpiarlo, encuentra los posts en donde aparecen los objetos que se ven en la foto :P.
Ahora que podemos emular a la Color Computer en Windows o en Linux, podemos divertirnos por horas y horas; ya sea jugando con los videojuegos de antaño, trabajando con sus aplicaciones o programando como en los buenos tiempos. Pero primero es necesario hacer nuestra lista de sitios de donde podemos obtener recursos.
Algunos sitios importantes de la comunidad
La comunidad en Internet de la Color Computer es más grande de lo que se pudiera imaginar. Es fácil encontrar nuestros programas favoritos de antaño e incluso encontrar nuevos incluso con técnicas de programación actuales. Esta es la lista de los sitios que considero de visita obligada:
Es el sitio donde se reunen la mayoría de las personalidades del mundo de la Color Computer para ayudar y compartir sus proyectos. Su visita es altamente recomendada.
Aquí se puede encontrar una recopilación de los juegos más famosos de la Color Computer. Muchos de ellos se pueden bajar con el permiso expreso de los programadores.
NitrOS-9 es una versión moderna del sistema operativo OS-9 de Microware que vendía la Radio Shack para darle un carácter profesional a su computadora casera. Esta escrito por varios de los programadores originales y es compatible a nivel binario con su antecesor e incluso tiene resuelto muchos bugs y problemas propios de las computadoras de generación pasada como el apocalíptico Y2K.
Se puede bajar las imágenes de diskette en su sitio oficial o desde sourceforge. Para usarlas con MESS es necesario cambiarles la extensión a .os9 a todos los archivos .dsk. Con eso ya están listas para "bootear" con el comando DOS del DECB.
Discos de sistema
Quizás el primer paso con Nitros-9 es crear un disco de arranque para hacer pruebas en él. Obviamente la velocidad de los diskettes en el emulador es mayor que en una Coco real porque estamos usando en realidad el disco duro de la computadora. No es raro que al crear y manejar archivos sea preferible usar el emulador a menos que tengamos una interfase SuperIDE de Cloud09.
Para crear un disco de arranque se siguen los siguientes pasos:
Paso 1: Crear el archivo que va a ser nuestra imagen con la opción Devices->Floppy #1->Create, dándole un nombre con extensión .os9 y eligiendo el tipo CoCo OS-9 disk image.
Los primeros diskettes de la color computer estaban organizados en 35 pistas con 18 sectores de 338 bytes de los cuales 256 eran para datos. Obviamente al haces 35*18*256, nos da la capacidad de 161,280 bytes.
En NitrOS-9 es común usar una geometría de 40 pistas de 18 sectores de 256 bytes de datos y dos lados que da como capacidad 40*18*256*2 ó 368640 (360 KB). Es recomendable usar esa geometría en NitrOS-9.
Paso 2: En el directiorio /d0/nitros9/6809l2/scripts existe un script llamado mb, el cual tiene automatizado el proceso de crear un disco de arranque. Sólo es necesario cambiarse a el y ejecutarlo.
Manejando ventanas simultaneas con procesos diferentes
Tanto NitrOS-9 LII como el venerable OS-9 LII permiten manejar hasta 7 ventanas que se pueden acceder como dispositivos con una denominación que va del /w1 al /w7. En cada una de ellas podemos correr procesos diferentes o abrir terminales sin el riesgo de que se llene de basura como ocurriá con las versiones del LI.
Para crear una ventana se utiliza el comando wcreate:
wcreate /dispositivo tipo posx posy tamx tamy color_fondo color_fuente color_borde
Donde el tipo de ventana puede ser cualquiera de estos:
255 Ventana que se despliega actualmente 00 Ventana del proceso actual 0140 x 248 colores texto. 0280 x 248 colores texto. 05640 x 1922 colores gráficas. 06320 x 1924 colores gráficas. 07640 x 1924 colores gráficas. 08320 x 19216 colores gráficas.
Y los números de los colores son los siguientes:
00 y 08 Blanco 01 y 09 Azul 02 y 10 Negro 03 y 11 Verde 04 y 12 Rojo 05 y 13 Amarillo 06 y 14 Magenta 07 y 15 Cian
Un ejemplo para crear 3 ventanas con una terminal en cada una en una misma pantalla se puede hacer de esta forma:
wcreate /w7 -s=20128012000100
shell i=/w7&
--> Ahora nos cambiamos de ventana con la tecla inicio
wcreate /w6 -s=0004012040500
shell i=/w6&
wcreate /w5 -s=04004012020300
shell i=/w5&
Lo cual fue algo que me dejó con la boca abierta hace 20 años y no me cansaba de aburrir a las visitas enseñandóles como corría 3 programas en BASIC compilado al mismo tiempo. Como se puede adivinar, al igual que en Linux, el & es el separador de comandos es el que permite la ejecución concurrente.
Aquí dejo el vídeo en Youtube para estar a tono de nuevo:
Unos años después tuve mi primera PC y su MS-DOS no podía hacer eso; a lo mucho podía hacer "task switching". ¡Ah! claro, se me olvidaba en la explicación; para eliminar una ventana se usa el comando ex.
Archivo de autoarranque
En NitrOS-9, el archivo que sirve como equivalente al autoexec.bat de MS-DOS se llama startup. Con un editor de texto como EDIT o TS/EDIT podemos hacer todas las modificaciones que queramos. Aunque, como siempre, la recomendación es sacarle un respaldo antes.
Ahora que si es más intrépido, puede modificar el archivo con lenguaje ensamblador o C el módulo sysgo.
Ahora es común tener algún dispositivo embebido con alguna unidad USB o tarjeta de memoria como medio de almacenamiento debido a su sencillez y que los precios de estas memorias han bajado notablemente. Aunque la mayoría utilizan el formato VFAT32, existen otros que maneja el suyo propio por razones debido al sistema operativo que utilizan o por razones de patentes.
Esta memoria la utilizo en mi
Color Computer 2 como disco duro
Si deseamos tener una imagen de alguna memoria como respaldo o para edición desde nuestra PC, podemos utilizar el comando de unix dd (tanto en windows como en Linux) sin importar el formato que tenga.
En Linux
Primero debemos saber donde se encuentra nuestra tarjeta de memoria. Si tiene un formato desconocido para Linux, está no aparecerá en el directorio media ni tampoco la reportará el comando mount. Para ello debemos de apoyarnos de una utilería externa: lsscsi.
En Fedora, se instala de la forma usual:
yum install lsscsi
Obtenemos el directorio del dispositivo con:
[renato@jorge renato]$ lsscsi --long [0:0:0:0] disk ATA ST3320820AS 3.AH /dev/sda
state=running queue_depth=31 scsi_level=6 type=0 device_blocked=0 timeout=60 [4:0:0:0] cd/dvd ATAPI DVD A DH16AYH YH13 /dev/sr0
state=running queue_depth=1 scsi_level=6 type=5 device_blocked=0 timeout=0 [6:0:0:0] disk Generic USB SD Reader 1.00 /dev/sdb
state=running queue_depth=1 scsi_level=0 type=0 device_blocked=0 timeout=60 [6:0:0:1] disk Generic USB CF Reader 1.01 /dev/sdc
state=running queue_depth=1 scsi_level=0 type=0 device_blocked=0 timeout=60 [6:0:0:2] disk Generic USB SM Reader 1.02 /dev/sdd
state=running queue_depth=1 scsi_level=0 type=0 device_blocked=0 timeout=60 [6:0:0:3] disk Generic USB MS Reader 1.03 /dev/sde
state=running queue_depth=1 scsi_level=0 type=0 device_blocked=0 timeout=60
Y ahora podemos sacar la imagen de la memoria con dd:
dd if=/dev/sdc of=memory.img bs=1M
Si se quiere pasar de una imagen a la memoria, simplemente se invierten los parámetros.
Al igual que en Linux, debemos primero saber algunos datos como la ubicación y volúmenes de la memoria. Para ello, utilizamos desde una terminal MS-DOS:
C:\Users\Jorge Machin>dd --list
rawwrite dd for windows version 0.5.
Written by John Newbigin <jn@it.swin.edu.au>
This program is covered by the GPL. See copying.txt for details
Win32 Available Volume Information
\\.\Volume{3d581a9d-fc8d-11dc-a562-806e6f6e6963}\
link to \\?\Device\HarddiskVolume1
fixed media
Mounted on \\.\c:
\\.\Volume{3d581a9e-fc8d-11dc-a562-806e6f6e6963}\
link to \\?\DeviceHarddiskVolume2
fixed media
Mounted on \\.\d:
\\.\Volume{3d581aa1-fc8d-11dc-a562-806e6f6e6963}\
link to \\?\Device\CdRom0
CD-ROM
Mounted on \\.\e:
\\.\Volume{3d581aec-fc8d-11dc-a562-00137227c053}\
link to \\?\Device\HarddiskVolume3
removeable media
Mounted on \\.\f:
\\.\Volume{3d581af4-fc8d-11dc-a562-00137227c053}\
link to \\?\Device\HarddiskVolume4
removeable media
Mounted on \\.\g:
\\.\Volume{3d581b06-fc8d-11dc-a562-00137227c053}\
link to \\?\Device\HarddiskVolume5
removeable media
Mounted on \\.\h:
\\.\Volume{3d581b11-fc8d-11dc-a562-00137227c053}\
link to \\?\Device\HarddiskVolume6
removeable media
Mounted on \\.\i:
NT Block Device Objects
\\?\Device\CdRom0
Removable media other than floppy. Block size = 2048
size is 3063644160 bytes
En este post iré poniendo mi acordeón de las rutas de los archivos de las partidas de algunos de los video juegos que me han costado algo de tiempo terminar. Parece increible pero a veces las guardo más que los listados de mis programas.
Hay personas además de nuestros familiares, maestros y amigos que influyen en nuestro caracter y profesión gracias a que los conocimos en algún libros, por sus obrar, porque nos ayudaron en Internet o incluso alguna vez conocimos su forma de actuar en la vida. Quizás nunca los lleguemos a conocerlos en persona (algunos incluso pueden estar muertos) pero nos ayudaron a ser mejores o a trabajar mejor. Igual y sólo conocemos de ellos un lado de la moneda, pero involuntariamente (algunos) contribuyeron a ser lo que somos actualmente.
En este post quisiera nombrar a aquellas personas para agraderceles que su trabajo me ayudó en alguna en mi profesión:
Remedios Varo
Una de las mejores pintoras mexicanas (que haya nacido en España es sólo un evento geográfico en su vida).
Ludwig van Beethoven
El mejor compositor de todos los tiempos.
Anthelme Brillant-Savarin
Su amor por la cocina no tiene comparación alguna. Me enseñó que el descubrimiento de un nuevo platillo contribuye más a la felicidad del género humano que el descubrimiento de una nueva estrella.
Clint Eastwood
Un excelente director de cine que ha retratado la vida de una forma muy especial.
Albert Einstein
Sus teorías y su forma de vida, sin duda cambió mi forma de ver el mundo y el universo.
Tim Hartnell
Periodista y escritor incansable de libros de juegos de computadora.
Douglas Hofstadter
Autor del libro Gödel, Escher, Bach: una eterna trenza dorada. Libro que me abrió las ojos a entender que el universo no era lo que yo suponía.
Isaac Newton
Matemático y físco clásico.
Alan Parson
Músico e Ingeniero de Sonido.
Bjarne Stroustrup
El Inventor del C++.
Linus Torvalds
Creador del Sistema Operativo Linux.
Obviamente, ellos no tienen la culpa de mi lado oscuro