Utilidad ZX Spectrum: Cargador Universal de Código Máquina para PC
Hace varios años que Horace, dueño de la web ESpectrum publicara esta utilidad, basada en el famoso programa de similar nombre publicado por un colaborador de Microhobby, José Manuel Fraile, y con la que nos posibilita la entrada de datos exclusivamente escritos en código máquina por medio de listados hexadecimales que empezaron a aparecer a partir del nº 31 de la revista.
Este mismo programa se encarga de convertir los listados de código máquina a un formato de archivo de cinta .TAP usable en cualquier emulador de Spectrum, contando con varias opciones que serán del agrado de muchos y con los que no será tan farragoso copiarlos desde el mismo C.U.C.M. de la revista en un ordenador real o desde un emulador. Las posibilidades de esta utilidad están más orientadas a la hora de preservar listados de Microhobby con rutinas en código máquina de cualquier longitud escritos en este formato. La manera más fácil de poder transcribirlos es escaneando las revistas practicando OCR para el reconocimiento de caracteres. No obstante, toda la colección de Microhobby se halla precisamente escaneada con este sistema y almacenados en PDF gracias a Ken D en su blog RetroPDF, por lo que no es necesario realizar ese trabajo extra. Solo hace falta copipastear el o los listados a un archivo de texto (.TXT), cuadrar todos los datos y grabar el archivo con los cambios realizados, aunque es preferible que los listados hexadecimales vayan cada uno de ellos en archivos distintos (si un programa contiene varios listados, mejor que vayan por separado), si vamos a usar esta aplicación.
Funciona de la siguiente manera: al tratarse de una aplicación que funciona bajo .DOS, hay que abrir el símbolo del sistema: Inicio > Todos los programas > Accesorios > Símbolo del sistema. Para más comodidad, emplazaría la carpeta con el programa al directorio raiz del disco duro C: de forma que se pueda acceder al programa sin hacer demasiadas derivaciones de ruta. Una vez dentro del directorio del programa, copiamos en el mismo un archivo de texto conteniendo un listado hexadecimal que hayamos previamente copiado o transferido desde un programa de la revista, en el formato LINEA – DATOS – CONTROL. Pongamos por caso el archivo «Listado2.txt». El comando a introducir será el siguiente: cucmpc Listado2.txt.
Automáticamente, el programa arrancará y con el listado hexadecimal ya en memoria nos servimos de las opciones siguientes:
– TAB = Alterna entre el campo de los datos y el del control, situándose en el primer carácter del campo al que cambiamos.
– Cursor Izquierda = Mover un carácter a la izquierda el cursor. Si estamos en el primero del campo, pasa al último.
– Cursor Derecha = Mover un carácter a la derecha el cursor. Si estamos en el último del campo, pasa al primero.
– Cursor Arriba = Ir a la línea previa del listado. Si estamos en la primera línea, muestra la última.
– Cursor Abajo = Ir a la línea siguiente del listado. Si estamos en la última línea, muestra la primera.
– INICIO = Mueve el cursor al comienzo del campo en edición.
– FIN = Mueve el cursor al final del campo en edición.
– Re/Pag. = Retrocede 7 líneas del listado. Si excede la primera línea, se coloca en la última.
– Av/Pag. = Avanza 7 líneas del listado. Si excede la última línea, se coloca en la primera.
– DELETE = Borra el carácter inmediatamente anterior al cursor.
– SUPR = Borra el carácter que está sobre la posición del cursor.
– 0-9, A-F = Introduce el carácter pulsado en la posición del cursor. Si estamos en el campo del control, los carácteres A-F no tienen efecto.
– G = Salta al número de línea que se le especifique.
– X = Sale del programa sin guardar los cambios hechos en el listado.
– S = Guarda los cambios realizados en el listado.
– ENTER = Crea el fichero TAP (ver apartado más abajo).
– H = Alterna entre las 2 pantallas de teclas de ayuda.
– Q = Sale del programa, guardando los cambios realizados en el listado.
En modo edición, tenemos por un lado los datos por su orden: la linea del listado seguido de sus correspondientes 20 datos de código máquina en formato hexadecimal y en el margen derecho dos columnas con dos tipos de checksum: Entre paréntesis, el checksum proporcionado por el programa según los datos presentes y en la segunda columna más a la derecha, el del listado correspondiente a dicha linea. Si no concuerdan ambos o aparece la notación «(C)» en la primera columna, en esa misma linea hay datos incorrectos que hay que «C»orregir.
Si al pulsar ENTER no se producen errores desde la primera línea hasta la última, nos preguntará por el nombre del archivo resultante, la dirección para el DUMP y la longitud en bytes.
En cualquier caso, el archivo de descarga contiene las instrucciones completas de uso y una guía de cómo pasar los listados del papel a un archivo de texto usando un escáner. Aun cuando por el momento se desconoce si habrá una versión actualizada de este mismo programa y configurado para funcionar bajo otro entorno que no sea .DOS (Windows, principalmente), nos conformaremos con la versión existente.
ACTUALIZACIÓN 17/Marzo/2022: Tras muchos años, los varios enlaces al archivo conteniendo esta utilidad dejaron de funcionar, pero gracias a Horace desde el foro Speccy.org se puede descargar nuevamente desde un nuevo link: CUCM-PC v0.5a
Y sorprende que siga funcionando a día de hoy en equipos casi nuevos o con pocos años de antigüedad como el mío. 😀
El CUCM, todo uin clásico.
¿Dónde te metes, Ignacio?… hace ya un buen número de días que no actualizas el blog… ¿nos estás preparando algo «especial» o es que aprovechando donde vives no sales de la playa? 🙂
Un saludo.
Estoy enfrascado con la transcripción de programas desde la revista Microhobby para el proyecto BASIC ZX. En cuanto tenga algo más de tiempo, procuraré ponerme al dia, entre sol y playa. 🙂
Era broma hombre (o envidia, quizás). Esto es sólo un hobby, así que cuando puedas aquí estaremos para leerte.
Muchas gracias por tu tiempo.
Un saludo.
«Cargador Universal de Código Máquina para PC»
Donde puedo descargar este programa?
Por desgracia, esta utilidad no se encuentra actualmente. 😦
Pregunta en algún foro, como speccy.org, por si hubiera suerte.
voy a perguntar, muchas gracias.
Yo lo hice y he recibido respuesta. 😀
https://foro.speccy.org/viewtopic.php?p=55520#p55520