Hace ya un par de años hice un driver para poder usar el disco duro/Compact FLASH con el Locomotive Spectrum +3 CP/M. El driver fallaba muchas veces y lo eliminé . Por entonces había arrancar el CP/M desde el disquete. Ahora he creado un cargador para el CP/M desde disco duro y el driver en si para poderlo usar. Se puede usar en un +3E, en un +2E y en un +3.
¿Cómo funciona?. El proceso consta de partes:
El cargador. LOADER y LOADER.BIN
- LOADER - Programa en BASIC que carga y ejecuta el LOADER.BIN
LOADER.BIN - Carga los archivos S10CPM3.EMS y 8BIT.BIN, parchea el primero, coloca cada archivo en sun página RAM adecuada, configura la memoria a ALL RAM 4, 5, 6, 3 e inicia el CP/M.
- Permite el acceso a una partición del disco duro llamada "CP/M" (en mayúsculas)
En el zip que adjunto están los archivos necesarios, una imagen en dsk para cargarlos en el +3 y las instrucciones para preparar el disco duro.
Espero que os guste y si encontráis algún error me lo hagáis saber. Solo lo he podido probarlo con dos Compact FLASH como disco duro. Por ahora, el driver es muy básico y aún no trata errores de lectura/escritura en discos dañados. Lo iré implemetando si todo lo hecho hasta ahora funciona bien, al igual que el mapeo de una segunda partición; de modo que quede una pequeña para el sistema y otra para software CP/M.
Por último, renombrando el archivo 8bit.bin a 8bit.fid, este puede usarse en un disquete de arranque del CP/M si no tenemos las ROM del +3E.
Espero vuestro comenrarios. Gracias. Otivax.
Edición 24/01/2017 Añado nueva versión 0.4 con soporte para dos particiones y más
Edición 27/01/2017 Elimino versión 0.4 y añado la versión 0.5
La versión 0.5 contiene un driver para el interface de 8 bits y uno para el DivIDE. El nuevo cargador versión 1.2 determina que interface esta presente y carga el driver adecuado. IMPORTANTE: Configurar el DivIDE como "Solo inteface de 16 bits". Por último, el cargador sirve para cargar también desde una unidad de 3.5" mapeada como B: sea cual sea el formato del disco: 720K, 800K, 180K, ...
Edición 11/03/2017 Nueva versión 0.7. Incluye soporte para el interface de 8bits, para el DivIDE, para el DiVMMC y para el ZXMMC.
El cargador lo he modificado para que el CP/M sea compatible con el +2E y el ZX Uno que no tienen controladora de disco (FDC765).
Edición 18/01/2019
Reparados links driver versión 0.7 y gif. Subo versión 0.8 que corrige problemas en interfaces xxxMMC.
Edición 11/10/2019 No consigo añadir los archivos zip con los drivers. Al adjuntarlos da un error informando que no es un archivo de imagen válido Cuando consiga ponerme al día en eso del almacenamiento en la nube, adjuntaré los enlaces.