X128W, Speccy-Dos, Rockygush y otros sistemas de disco. A modo de introduccion X128 es un emulador de Spectrum 48/128/+2/+2A/+3/Pentagon/Scorpion. Su última versión para DOS fue la V0.94 del 03/09/02. Ya aceptaba FDI, FDD, SCL y Hobeta ($?) para el Beta128. Los TRD podian ser de 40S, 40D, 80S o de 80D. El D40/D80 estaba a medio terminar. ZX-IF1 a medio acabar (de hecho ni corria). Incluýe Disciple y +3. Pasarían años hasta que James McKay, su autor, lo retomase e hiciera pública su nueva versión: la 0.95b todavía en estado alfa pero para Windows y DOS. Su sigte. versión publicada sería: la X128W 0.95c2 open alpha. En esta versión añade a los ya mencionados, el Speccy Dos, Rockygush, Wafadrive, Beta48disk y Opus Discovery, así como una emulación inacabada del SwiftDisk. Además logró emular al Kempston Dos pero no lo incluyó en la ultima versión que hizo pública. Este texto será dedicado exclusivamente a los sistemas de disco que esta versión de x128 incluye. Parte I El menú de discos del x128w Para entrar a este menú hay que pulsar F3 y luego TAB. Una vez aquí tenemos el sigte. menú en fondo azul con letras blancas: ADDITIONAL HARDWARE Betadisk : Off Multiface : MF128 DISC/+D : Off D80 : Off \ IF1 : Off | Beta48 : Off | Wafadrive : Off |-- no acabados, pero funcionan Opus Disc : Off | SpeccyDos : Off | Rockygush : Off / Mouse : Off F2: Multiface ALT+F2: Normal NMI CPU Mhz : 3.54 (*1) AY in 48k : Off Load pther ROMs PRESS ESCAPE TO RETURN Basta con moverse con el cursor arriba-abajo para elegir al sistema de disco a usar y pulsar los cursores derecha izquierda o ENTER para cambiar de OFF a ON una interfaz. Una vez elegido el sistema se pulsa ESC hasta volver al Spectrum seleccionado. Para insertar un disco hay que pulsar F12 y luego elegir la unidad con la que se va a trabajar, X128W opera generalmente con dos unidades Excepto con los Microdrives que son 8. Opus discovery, Beta128, Beta48, Wafadrive, D80, y Microdrive son todos activables con solo hacer ON y dependiendo del interfaz elegido pueden ser activados hasta dos sistemas a la vez. En el caso del Disciple y el +D, la emulación es más truquera, ya que obliga al usuario a modificar el x128.ini ya que es ahi donde se activa realmente la unidad elegida. Y no se pueden activar ambas a la vez. Si no figuran activos en el .ini la pantalla se pone en negro y no queda más que elegir otro sistema a usar. Por mi parte he aplicado dos métodos, uno que elije el .ini mediante llamadas BATCH. Así tengo uno que dice x128w-disc.bat, otro que dice x128w+d.bat y el último que se llama x128w-normal.bat. Esto me ha funcionado desde el XP hsta el windows 7. Pero en el Windows 8 x64 ya no me acepta los archivos BAT, lo que me obligó a crear dos copias del x128: una para disciple y otro solo +d, además del que uso para los otros sistemas. Y de aquí paso a... Parte II Speccy DOS Este es acttualmente un sistema excusivo del x128w, ya que no hay ningun otro emulador que lo incluya. Para seleccionarlo hay que estar en modo 48k. Puede correr en un 128k pero solamente en modo 48k. Aparte, podemos dejar Multiface en M1, M128 o simplemente desactivarlo. En el caso del +3 o +2a, hay que ir al modo 48k para accesar a los comandos del Speccy. El Basic +3 no los acepta. Lo mismo pasa con Pentqagon, Scorpion y similares. Una vez seleccionado, basta con NEW o un RESET para que aparezca en medio de la pantalla el título: SPECCY-DOS V 4.1. Si ahora se intenta tipear un comando de disco como LIST* para ver el directorio, saldrá un mensaje de error ya que no hay disco alguno insertado. Necesitamos pues un disco. Los discos de Speccy-DOS No hay en toda la internet un solo disco para este sistema. Tal parece que no se ha preservado nada, ni siquiera en TAP. Asi que la pregunta es... ¿como lo probamos?, ¿cómo saber qué tan buena es la emulación si no hay discos para trabajar con ellos? En estas fechas recientes, sin nada más que hacer, me puse a exprimentar. Como ya se mencionó en la parte I, si pulsamos F12, vamos a la opción de insertar discos. En el caso del Speccy-DOS figuran como TRD. Es decir que pide insertar un disco de extensión TRD propio del Betadisco. Y bueno, como nada cuesta probar... pensé, a ver pues, qué pasa. Obviamente, una vez insertado un disco TRD, al querer leerlo, da el mensaje de disco erroneo. La primera vez lo dejé ahí. Esta vez en cambio, me dije: ¿y si pruebo a formatearlo? Tipeo FORMAT *"prueba" y me da el mensaje "El disco no esta vacío. ¿Desea aun formatearlo? Pulso Y para continuar. A continuación sale el mensaje "Formateando". Y al terminar me muestra un catalogo del disco con OK. El experimento había funcionado, finalmente tenía un disco para probar los demas comandos SAVE*, LOAD*, etc. Ahora, el TRD normalmente es de 640k, pero el disco había sido formateado a 152k que es el formato por defecto. Lo cual es un real desperdicio tomando en cuenta la capacidad máxima del disco. Speccy-DOS, a diferencia de otros sistemas contemporaneos, tiene una sentencia FORMAT que permite elegir otros formatos aparte del usado por defecto. Así que me puse a experimentar y terminé creando discos de distintas capacidades y formatos. De 275k, 360k, 400k, 409k, 640k, 681k y 720k. ¿El cómo? Simple, si me dejó formatear un TRD, entonces pensé que tal vez me dejaría usar otros discos de otros sistemas como Opus, Timex FDD, Didaktik entre otros. No acepta discos por debajo de 275k. Es decir, los discos de +3 a 191k o de Timex a 171k son rechazados. A continuacion las distintas capacidades de FORMATeado: s = simple d = doble fomato - cara - densidad - pistas - k libres - k reales ------------------------------------------------------- 1 s s 35 82 90 2 s d 35 132 143.4 3 s s 40 95 102.4 4 s d 40 152 163.8 5 s s 45 75 80.7 6 s d 45 140 149.8 7 d s 40 192 204.8 8 d d 40 308 327.7 9 d s 80 385 409.6 10 d d 80 620 655.4 y los discos que use y para qué capacidades: 720k.opd.spd.trd - 720k disco de Opus de doble densidad dd40.D80.spd.trd - 400k disco de Didaktik D80 dd40sd80.spd.trd - 360k D80 (creada con REALS) dd40.TD0.spd.trd - 409k disco TD0 dd80.fdd.spd.trd - 681k disco de Timex FDD doble densidad ds40ss80.spd.trd - 360k D80 ds80.fdd.spd.trd - 681k FDD (creada con FUSE) ds80.trd.spd.trd - 640k disco de Beta128 TRD dd80.dsk.spd.trd - 681k disco de Ice Felix HC2000 doble densidad sd35.fdd.spd.trd - 275k FDD (creada por mero accidente) sd40.d80.spd.trd - 360k D80 sd45.d80.spd.trd - 360k D80 ss35.fdd.spd.trd - 275k FDD Visto todo lo anterior el ss35 se obtiene con FORMAT *"ss35fdd"ss35 y así con todos los demás discos y formatos. Para probar los discos que había creado probé la sigte. rutina: 10 CIRCLE 100,100,50 20 FOR h=1 TO 50 30 SAVE *"a"+STR$ n SCREEN$ 40 NEXT n y los resultados fueron: Para el primer formato se pueden salvar hasta 11 imágenes Para 2, con 18 imágenes tengo el disco lleno 3 se llena con unas 13 imágenes 4 da disco lleno con 22 imgs 5 se llena con 10 imgs 6 da realmente sólo 139k libres y se llena con 20 imgs 7 equivale a ss80 y solo admite 28 imgs 8 equivale a sd80 y se llena con 45 imgs 9 da 57 imgs OK con fdd 681k y 56 imgs OK con trd 640k (la 57 sale dañada) 10 da directorio lleno con 60 imgs y aun quedan 215k libres Teniendo discos totalmente operativos, sigo experimentando con el Speccy. Antes de probarlo, creía que usaba nombres de 10 caracteres pero en realidad no acepta nombres de más de 8 caracteres. Permite usar todos los signos ASCII y tokens en algunos nombres pero estos últimos deben ir como la octava letra. El DOS los muestra como un signo ASCII que sería su equivalente del mismo modo que lo hace el +3dos. El problema es que a menos que uno recuerde cuál token se usó al final, no se podría cargar dicho programa así salvado. Si un programa correctamente salvado los usa entonces es más facil identificarlos. Cuando el nombre no llega a los 8 caracteres, el DOS llena el nombre con espacios, si se usa un token solo o antes de completar los 8 caracteres, ya no aparece en pantalla el nombre correctamente tabulado y en cambio ocupa su longitud real haciendo menos claro el directorio al ser LISTado. De acuerdo con el manual original, es posible usar el DOS con Microdrives, pero haciendole modificaciones al ZX IF1. Y después de eso, activando y desactivando con POKE el DOS. En X128W en cambio, se puede tener conectado al mismo tiempo que el microdrive, o el Beta128, o el wafadrive y sin hacer modificación o POKE alguno. Otro detalle que supongo no pasa con la interfaz original es que cuando se intenta hacer una copia de programas, como por ejemplo> COPY *"x" TO 1, es decir, copiar archivo "x" en la unidad por defecto al disco 1, lo hace, pero se cuelga. Hay que pulsar el botón de RESET o cambiar de modelo, luego si hacemos LIST *1, vemos que sí se ha copiado el programa, no siempre con el mismo éxito. Así que he decidido evitar el uso de COPY *. El botón mágico X128W incluye su emulación, pero no sirve de nada ya que a diferencia de otras interfaces como +D o Beta128, aquí no funciona si no se tiene el disco de utilidades provisto con el Speccy, en el cual está incluido el programa Magic2.x. Si se tiene un microdrive añadido entonces Magic2.x nos permite salvar y cargar a cinta disco y microdrive. Bueno, esta es una opción que no podemos probar. La versión de la ROM es la 2.41 y es la única con que opera el X128W. Si se intenta reemplazar la ROM por la del Speccy V 2.42 simplemente se cuelga. Y ya que hablamos de ROMs, es posible reemplazar la del Spectrum por algunos de sus clónicos como el LEC80, Didaktik o Tk95, pero se colgará con algunos otros. En cuanto a los nombres que escogí para los discos, como por ejemplo "dd80.fdd.spd.trd", primero va el nombre del disco, luego le sigue de qué sistema tomé el disco, le sigue ".spd" porque imagino que esa sería la extensión justa para una imagen de disco de Speccy-Dos y al final ".trd" porque sin esa extensión no me acepta ningún disco el emulador. Puntos a favor - el poder elegir el formato que queramos para nuestro disco. En contra - no admite ficheros OPEN/CLOSE y no todo el software para Spectrum se ejecuta bien en Speccy. Solo da 60 ficheros por directorio. El manual no da tampoco información sobre cómo explotar sus rutinas desde código máquina o sus variables propias de sistema que sean útiles al usuario. No teniendo ya nada más que probar con el Speccy, paso a... Parte III Rocky Gush No hay ninguna información en toda la internet sobre el Rocky Gush. Todo cuanto hay es la ROM en las páginas de ROMs de Speccy4ever, así como lo que el mismo autor del emulador puede decirnos, lo que hace que uno se pregunte: ¿y cómo se enteró él de este oscuro sistema? Cómo sea aquí reuno todo cuanto he podido hallar o probar con el X128W. Primero dónde hallar la ROM: Hay que ir a Speccy4ever, buscar su sección dedicada a Rocky Gush. Ahí encontramos la ROM Rocky Gush V4. Su enlace es http://zxspectrum.it.omegahg.com/rom/RockyG4.rom Rocky Gush fue fabricado en 1984. Ahora pasamos a ver lo que James McKay nos dice del Rocky Gush: "¿Sabían ustedes que existió una interfaz de discos en Sudáfrica, llamado Rocky Gush? Debe su nom bre a su creador. He implementado una emulación rudimentaria, pero he tenido problemas de "timing" con ello. También implementa un número de extensiones al BASIC, incluyendo un modo de 64 columnas, definitivamente una curiosa interfaz." Muy bien vamos a seleccionarlo y a ver que podemos hacer... Una vez activado nos da la sigte pantalla: FLOPPYONE DOS V4 (c) R.P.Gush 1984/5 Drives = Aqui el mensaje que le sigue puede ser '= 0&4' o '= NILL' Al fondo de la pantalla aparece el mensaje de "NO DRIVE" o "No hay disco en la unidad." Enseguida pruebo a ver qué comandos y qué sintaxis usa, al principio sin éxito alguno. El nombre que tenemos en en pantalla significa "Sistema Operativo de Discos del Floppy 1". Eso me da una idea, ¿y si eso alude a la ZX IF1? Nada pierdo con probar con esa sintaxis. Probé con CAT primero y resultó, su sintaxis es CAT [#cc,]nn donde nn= 1 al 9. Los sistemas de disco de aquellos días usaban como máximo 4 discos, como por ejemplo el Beta128 o el Timex FDD3. Solamente hasta 2 unidades el +D o +3 y normalmente un solo disco. El microdrive llega al límite de 8 y aquí su máximo valor es ¡9! ¿En verdad usa 9 discos? ¿O sólo usa máximo 2 o 4? ¿Entonces del 5 al 9 qué son? Al probar con COPY, me di con algo más raro aun. su sintaxis es COPY nn donde nn= 0 al 9. ¿Qué hace esta instrucción realmente? ¿Es otro CAT? Sigo probando con save, load, merge y verify SAVE *" ..." {LINE x/ CODE x,y / SCREEN$ / DATA x{$}()} LOAD / VERIFY * ..." {SCREEN$ / CODE {x{,y}} / DATA ...} MERGE * "..." Confirmado, la sintaxis es: comando *"m";drv;"nombre" como los Microdrives. Por lo tanto los otros comandos serían: FORMAT *"m";drv;"nombre" - solamente canal "m", no hay "n", "t" ni "b". ERASE *"m";drv;"nombre" Rocky Gush NMI Se encuentra en el menú del hardware adicional, si la seleccionamos ya sea para F2 o ALT+F2, al pulsar cualqueira de estas teclas, nos da el mensaje de "No hay disco". Parece que quiere acceder o salvar algo al disco. O sea FloppyOne tiene un Botón Mágico para salvar snapshots de programas al disco. En cuanto a los mensajes de error y demás tipos, el único modo de conocerlos es viendo el contenido de la ROM, lo que nos muestra: Lost DATA - DATAs perdidos Record not found - registro no encontrado CRC error Error during SAVE - error al salvar Error during LOAD - error al cargar Press any key ! - pulse una tecla No disc in drive ! - no hay disco en la unidad Write-protected ! - protegido contra escritura Directory full ! - directorio lleno Disc full - disco lleno File not found - archivo no encontrado No drive - no hay unidad disponible Parameter error - parámetro erroneo File open - fichero abierto Reading a write file - se intentó leer un fichero abierto para escribir Writing to read file - se intentó escribir en un fichero abierto para leer Invalid PASSWORD - clave de acceso no válida Source ... - fuente origen Destination ... disc, press ENTER - disco destino, pulse ENTER Directory writes = - escribe en directorio tracks - pistas Ready - listo Timeout on - tiempo de espera Erase flag = flag borrado = ... PASSWORD ? - clave? Prog. - Data - Data$ - Bytes - File - son los tipos de archivo del F1-DOS. Sí, lo voy a llamar F1-DOS. Ahora, los mensajes de error nos dicen que el F1-DOS puede manejar ficheros de tipo OPEN/CLOSE. Al probar la sintaxis de OPEN, resulta ser: OPEN # cc,*"m";nn;"nombre" Eso significa que le siguen PRINT #, INPUT # y CLOSE #. Posiblemente tenga INKEY$ # también, ya que sigue la sintaxis del ZX-IF1. Supongo que el F1-DOS trabajará solamente con ficheros de tipo secuencial, como el Microdrive. Cuando no se usa por mucho tiempo se genera una pantala en negro a manera de screen saver supongo. Y bueno, tras todo esto, ¿qué otros comandos tiene el F1-DOS? Tal vez MOVE. Al intentarlo, solo obtuve MOVE *"m";1;"xxx". No me ha permitido usar otros parámetros. Así que no sé si MOVE sirve de algo aquí o hay otra sentencia en cambio para copiar archivos. Resulta que también puedo tipear NEW *"m";1;"xxx", pero hace un NEW del tipo usual ignorando lo que se tipeo después. Lo mismo pasa con todos las demás sentencias del BASIC. Puedo por ejemplo tipear LET *"m";1;"xx" y lo acepta. Incluso acepta cosas como !*"m";1;"x" hasta @*"m";1;"xx" CODE 1,1. ¿Pero qué hacen esas instrucciones con dicha sintaxis? Ni idea. En cuanto al modo de 64 columnas mencionadas por McKay, ni sé cómo acceder a ello. Paso finalmente a ver si carga algo de cinta. Hago LOAD ¨¨ y me dice que no hay disco. Pruebo con SAVE "aaa" y lo mismo. VERIFY "" y MERGE "" igual. Como se ve, no hay comandos de casete a menos que haya un modo de switchear. Todos los comandos del Basic parecen haber sido redirigidos al disco, ni uno a manejo de cintas. A diferencia del Speccy-DOS, que me fue posible crear nuevos discos para usar, gracias a que aceptaba otros discos y dejaba formatearlos, en el caso del F1-DOS siempre me da "no hay disco en la unidad", lo cual me dice que o consigo una imagen de disco previamente formateado para usar con el F1-DOS, o no va a haber modo. Al igual que con el Speccy-Dos, x128 los considera de extensión TRD, pero a diferencia de antes no admite ninguno tras insertarlos. De llegar a crearse discos para este sistema, ¿cómo se le llamaría a su extensión? ¿F1D? ¿ROC? ¿RGD acaso por Rocky Gush DOS? Esto es lo más que he podido obtener y lo más cercano a un manual sobre el modo de usar al FloppyOne. Ojala en lo futuro salgan más cosas acerca de esta singular interfaz. Y para cerrar El Beta48. Otro de los sistemas que practicamente no ha tenido emulador hasta ahora. Usa USR 15360 en vez del 15616 del Beta128. Lo más curioso es que el viejo x128 usaba el nombre Betadisk para referirse en realidad al Beta128 y eso se ha mantenido hasta su versión x128w. Debido a eso al Betadisk 48, lo ha tenido que renombrar Beta48. Es posible cambiar la versión tanto del Beta48 como el Beta128. Para ello hay que hacer F3, TAB e ir a "Load Other ROMs" (cargar otras ROMs). Aquí vamos a las opciones que nos interesan: Load TRDOS 48k ROM. Aparece ".rom" en pantalla, con el cursor bajamos a "/ROMS". Ahora ya se puede usar tanto las viejas versiones de TR-Dos como beta48_orig(cas).rom, betadisk v3-0.rom, betadisk v4-11.rom, y el clón brasileño CBI95. Hay tres ROMS de esta versiómn, pero solamente la CBI95_v2.4.rom funciona bien con el X128w. El único material recuperado actualmente son discos de sus clones de origen brasileño. SpecEmu es otro emulador que acepta los clones brasileños ya que fue pensado para ese fin, en vez del original de Technologic Research. SwiftDisk Solamente figura entre las opciones del F2 como SwiftDisk DOS, pero el seleccionarlo no hace nada aun. Imagino que a sus discos se les podría dar la extensión ".sdd" Kempston DOS El autor solamente menciona en su WEB X128 Work-In-Progress cuyo enlace es: https://x128.speccy.cz/x128wip/x128wip.htm que pudo conseguir discos y correr el Kempston en su emulador del cual él exhibe unas cuantas imágenes como prueba de su éxito. Y aunque no lo incluyó en la versión que ofrece al público, la ROM KD21.rom figura en su carpeta de ROMs necesarias para el funcionamiento del x128, pero sin modo de accesarla. Si fuese el Watfor SP-Dos, su extensión podría ser quizas ".wsp" o ".wsd", pero en el caso del kempston... ¿kds o kem? ¿Quizas solo .DSK? Ojala se continúe en el futuro con la emulación de estos sistemas de disco. Parecen ser interesantes añadidos a la colección de sistemas de disco para Spectrum. Y con esto cierro este tema. (c)2020 zx_if1@hotmail.com