Si tenéis el fichero 2020-10-15_ZX-Uno_Spectrum+3e.img dentro de una carpeta, deberéis descargar el siguiente fichero y descomprimir su contenido en esa misma carpeta.
El siguiente paso para trabajar con la imagen es renombrar el fichero 2020-10-15_ZX-Uno_Spectrum+3e.img a spectrum.vhd
STROWSAW y 3E.EXE
Estas son las herramientas fundamentales para trabajar con la imagen de la distribución. Aunque ya las he incluido en el archivo que habéis descargado, las podéis encontrar también en esta página.
El 3E.EXE es un programa Win32 de consola realizado por mcleod_ideafix, y que permite manipular el contenido de una imagen que contenga un sistema de ficheros +3DOS. El programa Strowsaw es un simple GUI para win32 que permite usar de forma gráfica todas las opciones del programa anterior. Tanto uno como otro pueden ejecutarse en linux con wine.
Además, si ejecutáis el programa Strowsaw en Windows con permisos de administrador, podéis también trabajar directamente con el contenido de la tarjeta SD física sin necesidad de usar un fichero raw.
En el programa Strowsaw para poder trabajar con la imagen de la distribución deberéis abrirla con FILE >> Open hard disc image, y en tipo de archivo seleccionar All files (*.*), para así poder visualizar el archivo spectrum.vhd .
Las operaciones que se pueden hacer con este programa son:
- Puede mostrar archivos sin extraerlos, como código BASIC (si es del tipo "Programa"), o como volcado hexadecimal (para archivos binarios). La fuente Zx Spectrum se puede utilizar para la visualización.
- Extrae automáticamente todos los archivos cargados en una partición (cargados en un HDF o un dispositivo físico).
- Extrae automáticamente todos los archivos en un disco (HDF o dispositivo físico), reproduciendo la estructura de partición original como un árbol de carpetas de Windows.
- Extrae uno o más archivos y los guarda directamente en un archivo TAP (nuevo o existente).
- Extrae uno o más archivos sin el encabezado + 3DOS, si está presente en su partición.
- Coloca más archivos a la vez en una partición.
Scripts en bash y las cpmtools
Para poder manipular el contenido de la imagen he creado una serie de scripts para ser ejecutados en linux, y que son:
- makefolders_doc.sh: Crea una subcarpeta llamada DOC, y dentro todas las carpetas de la imagen para poder meter en ellas la documentación necesaria.
- makefolders.sh: Crea una subcarpeta llamada SD, y dentro todas las carpetas de la imagen para poder meter en ellas los archivos que se extraigan de la imagen de la distribución
- get_partitions.sh: Extrae a la carpeta SD todos los archivos de de la imagen, excepto los de las particiones CP/M y SOFTWARE (software de CP/M)
- get_cpm.sh: Extrae a la carpeta SD todos los archivos de de la imagen de las particiones CP/M y SOFTWARE (software de CP/M), y los organiza en subcarpetas según su número de usuario.
- put_partitions.sh: Copia de la carpeta SD a la imagen los archivos de las carpetas que no son de CP/M.
- put_cpm.sh: Copia de la carpeta SD a la imagen los archivos de las carpetas que contienen software de CP/M.
En las cpmtools viene un archivo diskdefs con las definiciones de los tipos de discos más empleados en sistemas CP/M. Este archivo dependiendo de si usáis las cpmtools desde windows o linux (instaladas desde vuestra distribución de linux o compiladas desde los fuentes), puede encontrarse en sitios diferentes. Debéis localizarlo y sustituirlo por el que yo os proporciono, y al que le he incluido las definiciones de disco para poder trabajar con esta distribución, y también con la imagen Multicomp FPGA - CP/M Demo Disk, que se usa con el core de máquina CP/M Multicomp, que también está disponible para el ZX-Uno.
Código: Seleccionar todo
#######################################################
## Definiciones de tipos de discos para trabajar con ##
## las cpmtools ##
#######################################################
## este archivo suele estar normalmente en alguna de estas
## carpetas;
## /usr/local/share
## /usr/share/cpmtools
### definiciones para trabajar con la imagen de disco de 1GB
### de distribución ZX-Uno Workbench +3e
diskdef 3e-c
seclen 512
tracks 256
sectrk 128
blocksize 8192
maxdir 512
skew 1
boottrk 1
os 3
end
diskdef 3e-d
seclen 512
tracks 256
sectrk 128
blocksize 8192
maxdir 512
skew 1
boottrk 1
os 3
offset 16M
end
#### FIN ############## +3e ########### FIN #########
### definiciones para trabajar con la imagen de disco cpm
### de Multicomp FPGA - CP/M Demo Disk
diskdef hd0
seclen 512
tracks 512
sectrk 32
blocksize 4096
maxdir 512
skew 1
boottrk 1
os 2.2
end
diskdef hd1
seclen 512
tracks 1024
sectrk 32
blocksize 4096
maxdir 512
skew 1
boottrk 1
os 2.2
end
diskdef hd2
seclen 512
tracks 1536
sectrk 32
blocksize 4096
maxdir 512
skew 1
boottrk 1
os 2.2
end
diskdef hd3
seclen 512
tracks 2048
sectrk 32
blocksize 4096
maxdir 512
skew 1
boottrk 1
os 2.2
end
diskdef hd4
seclen 512
tracks 2560
sectrk 32
blocksize 4096
maxdir 512
skew 1
boottrk 1
os 2.2
end
###### FIN ###### Multicomp ####### FIN ###########
SETUPIMG.BAS
En la partición sistema de la distribución, que corresponde a la unidad C: trás arrancar en el ZX-Uno, se encuentra el programa BASIC SETUPIMG.BAS que lo que hace, si lo cargáis y ejecutáis, es formatear toda la imagen para poder usar hasta 101 particiones (la primera para control del sistema de archivos + 100 libres para el usuario), perdiéndose todo el contenido que hubiese grabado en ella, y creando las 70 particiones de usuario que usa la distribución, dejando 30 libres para un posterior uso.
Este programa es una modificación al que ya existe en el Workbench +3e 2.1, pero modificando el tamaño de las particiones para que entren en una imagen que se pueda grabar en una tarjeta SD de solo 1 GB.
Adaptar programas para su uso con el sistema de ficheros +3DOS
A los juegos que ya venían en el Workbench +3e v.2.1 he añadido estos otros más recientes:
Código: Seleccionar todo
NOMBRE DEL JUEGO FICHERO PARTICION
-----------------------------------------------------------------------------------
Alien Girl 48K ALIENGIR.BAS M_A
Alien Neo Plasma ANP M_A
Automated Cave Explorer ACE M_A
Batboy BATBOY.BAS M_B
Black and White BLACKW.BAS M_B
BlockZ BLOCKZ.BAS M_B
Bonnie and Clyde BONNIE M_B
Cocoa and the time machine COCOA.BAS M_C
Coloco COLOCO.BAS M_C
Coloristic COLORISTIC M_C
Danterrifik DANTE M_D
DRIFT! DRIFT.BAS M_D
Dungeons of Gomilandia GOMILAN M_D
Gluf GLUF M_G
Las aventuras de Rudolphine Rur RUR1.BAS M_L
Las aventuras de Rudolphine Rur RUR2.BAS M_L
Last train to Tranz-Central (demo) LTRAIN.BAS M_L
Los tesoros perdidos de Tulum TULUMES.BAS M_L
Magenta Jim MAGENTA.BAS M_M
Manic Pietro MPIETRO M_M
Moritz on the Autobahn AUTOBAHN.BAS M_M
Nosy NOSY.BAS M_N
Puta Mili PUTAMILI.BAS M_P
Red Shift REDSHIFT.BAS M_R
Reverse Pong REVERSE.BAS M_R
Sofia II SOFIA2.BAS M_S
Space Monsters meet the hardy HARDY.BAS M_S
Spider Mami SPIDER M_S
Springbot Mars Attack! SPRINGB M_S
Super mario Bros Covid19 SMARIO19.BAS M_S
The Curse of Trasmoz TRASMOZ.BAS M_T
Tiki Taca TIKITACA M_T
Trace It! TRACEIT.BAS M_T
Valley of Rains VALRAINS M_V
Vampire Vengeance VAMPIREV.BAS M_V
Wudang WUDANG.BAS M_W
Yazzie YAZZIE.BAS M_Y
ZX Larry ZXLARRY.BAS M_Z
Devil's Quest DEVILSQ.BAS OCTOCOM
Jetpac RX JETPACRX MODDING
Con la primera se puede convertir el contenido de un TAP a DSK, y tiene una efectividad del 60%. Esta es la herramienta más adecuada.
Con la segunda hay que partir de un snapshot .Z80 para convertirlo a un archivo .DSK. Aunque funciona muy bien, y la efectividad es superior al 90%, luego los juegos así convertidos tardan muchísimo en cargar, a veces hasta 30 segundos, por lo que no es muy aconsejable. Por este motivo he preferido, antes que usar este sistema de carga, el crear un cargador BASIC que presente la pantalla de carga, y que luego ejecute la sentencia SPECTRUM para cargar un snapshot .SNA. De esta forma se puede cargar un juego 128K en apenas 5 o 6 segundos.
Para pasar los ficheros contenidos en los archivos .DSK a la imagen de la distribución, generalmente he usado el core de Spectrum en la Mistica FPGA16 que me permite cargar los .DSK en la unidad A:, y luego los he copiado a la partición que les correspondía usando las correspondientes sentencias BASIC. También es posible usar utilidades que permiten extraer los ficheros de una imagen .DSK al disco duro, como la HCDisk 2.0, y luego usar la Strowsaw para copiarlos.
Epílogo
Con todas estas indicaciones ya no tenéis escusa para no personalizar la distribución +3DOS para el ZX-Uno a vuestro gusto.