diff --git a/doc/English ZXDOS+ and gomaDOS+ Manual.adoc b/doc/English ZXDOS+ and gomaDOS+ Manual.adoc index 5aa23e6..e577af5 100644 --- a/doc/English ZXDOS+ and gomaDOS+ Manual.adoc +++ b/doc/English ZXDOS+ and gomaDOS+ Manual.adoc @@ -1,6 +1,6 @@ = ZXDOS+ and gomaDOS+ Manual :author: kounch -:revnumber: 1.3.0 +:revnumber: 1.3.1 :doctype: book :front-cover-image: image:img/portada.jpg[] :email: kounch@users.noreply.github.com @@ -96,7 +96,7 @@ In order to take advantage of its full potential, you may also have: ==== microSD card formatting -In order to use a microSD card, it has to be formmatted with, at least, one FAT16 or FAT32 format (depending on the case, one or the other format is recommended for compatibility with different third-party cores). It must be the first partition if there are more than one, except for the Spectrum core wich can use the first partition in +3DOS format, and then the second one in FAT16 or FAT32 format. +In order to use a microSD card, it has to be formmatted with, at least, one FAT16 or FAT32 format (depending on the case, one or the other format is recommended for compatibility with different third-party cores). It must be the first partition if there are more than one, except for the Spectrum core wich can have <<#_microsd_advanced_format_3e,the first partition in +3DOS format, and then the second one in FAT16 or FAT32 format>> to use with a +3e ROM. [NOTE] ==== @@ -525,6 +525,270 @@ These are some of its main characteristics: - User selectable vertical refresh rate to improve compatibility with VGA monitors. - Multicore boot support: from the Spectrum you can select an address of the SPI Flash and the FPGA will load a core from there. +<<<< + +=== microSD advanced format (+3e) + +ZX Spectrum +3e is one ROM that can be used with ZX Spectrum core. This is an improved Sinclair ZX Spectrum +3, wich can use hard disks or memory cards. + ++3e uses its own partition format (called IDEDOS), to split de hard disk into several partitions to store data. ROM version 1.28 and later can share IDEDOS partitions with MBR partitions. In other case, you must reserve the whole card for IDEDOS partitions. + +[WARNING] +==== +The following partition scheme can only be used with ZX Spectrum core. +==== + +[TIP] +==== +Each partition in IDEDOS can be between 1 and 16 Megabytes (1 million bytes) in size, and each disk can have between 1 and 65535 partitions. This means that the maximum space used in a card is about 1GB. +==== + +This is one method to split a card into two or three parts, with the first partition IDEDOS (1GB), the second one FAT16 (4GB) and the third one FAT32 (using the remaining space in the card). + +exsdos and other programs can be installed into the second partition <<#_esxdos,as explained earlier>>. + +==== Windows + +You can use Windows Disk Management utility. The steps are: + +. Remove all partitions from the card + +. Create a new extended partition, using the desired space for IDEDOS + +. Create a primary partition, 4GB in size, and format as FAT16 + +. Optionally, create another primary partition using the remaining space and format as FAT32 + +==== MacOS + +You will have to use the command line. The first task is to find out which device is the disk to format: + +[source,shell] +---- +diskutil list +---- + +For this example, it will be disk 6: + +[source] +---- +(...) +/dev/disk6 (external, physical): + #: TYPE NAME SIZE IDENTIFIER + 0: FDisk_partition_scheme *15.9 GB disk6 + 1: DOS_FAT_32 UNKNOWN 15.9 GB disk6s1 +---- + +<<<< + +Instruction steps: + +. Unmount the disk and edit the partition sceme (the second step requires admin privileges): + +[source,shell] +---- +diskutil unmountDisk /dev/disk6 +sudo fdisk -e /dev/rdisk6 +---- + +[source] +---- +fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory +Enter 'help' for information +fdisk: 1> erase +fdisk:*1> edit 1 +Partition id ('0' to disable) [0 - FF]: [0] (? for help) 7F +Do you wish to edit in CHS mode? [n] +Partition offset [0 - 31116288]: [63] 128 +Partition size [1 - 31116287]: [31116287] 2017152 + +fdisk:*1> edit 2 +Partition id ('0' to disable) [0 - FF]: [0] (? for help) 0E +Do you wish to edit in CHS mode? [n] +Partition offset [0 - 31116288]: [2017280] +Partition size [1 - 29099135]: [29099135] 7812504 + +fdisk:*1> flag 2 + +fdisk:*1> edit 3 +Partition id ('0' to disable) [0 - FF]: [0] (? for help) 0B +Do you wish to edit in CHS mode? [n] +Partition offset [0 - 31116288]: [9829784] +Partition size [1 - 21286504]: [21286504] + +fdisk:*1> print + Starting Ending + #: id cyl hd sec - cyl hd sec [ start - size] +------------------------------------------------------------------------ + 1: 7F 1023 254 63 - 1023 254 63 [ 128 - 2017152] + 2: 0E 1023 254 63 - 1023 254 63 [ 2017280 - 7812504] DOS FAT-16 + 3: 0B 1023 254 63 - 1023 254 63 [ 9829784 - 21286504] Win95 FAT-32 + 4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused + +fdisk:*1> write +fdisk: 1> quit +---- + +[start=2] +. Format the FAT partitions (admin privileges required) + +[source,shell] +---- +diskutil unmountDisk /dev/disk6 +sudo newfs_msdos -F 16 -v ZXDOSPLUS -b 4096 -c 128 /dev/rdisk6s2 +sudo newfs_msdos -F 32 -v EXTRA -b 4096 -c 128 /dev/rdisk6s3 +---- + +[start=3] +. Confirm that the new partition scheme has been applied: + +[source,shell] +---- +diskutil list +---- + +[source] +---- +(...) +/dev/disk6 (external, physical): + #: TYPE NAME SIZE IDENTIFIER + 0: FDisk_partition_scheme *15.9 GB disk6 + 1: 0x7F 1.0 GB disk6s1 + 2: Windows_FAT_16 ZXDOSPLUS 4.0 GB disk6s2 + 3: DOS_FAT_32 EXTRA 10.9 GB disk6s3 +---- + +==== Linux + +You can use the command line. First, find out the device to erase: + +[source,shell] +---- +lsblk +---- + +For this example, it will be `sdc`: + +[source] +---- +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT +(..) +sdc 179:0 0 15,8G 0 disk +└─sdc1 179:1 0 15,8G 0 part +---- + +<<<< + +Instructions: + +. Verify that the disk isn't mounted and edit the partition scheme (this step requires root privileges): + +[source,shell] +---- +sudo fdisk -e /dev/sdc +---- + +[source] +---- +Enter 'help' for information +fdisk: 1> erase +fdisk:*1> edit 1 +Partition id ('0' to disable) [0 - FF]: [0] (? for help) 7F +Do you wish to edit in CHS mode? [n] +Partition offset [0 - 31116288]: [63] 128 +Partition size [1 - 31116287]: [31116287] 2017152 + +fdisk:*1> edit 2 +Partition id ('0' to disable) [0 - FF]: [0] (? for help) 0E +Do you wish to edit in CHS mode? [n] +Partition offset [0 - 31116288]: [2017280] +Partition size [1 - 29099135]: [29099135] 7812504 + +fdisk:*1> flag 2 + +fdisk:*1> edit 3 +Partition id ('0' to disable) [0 - FF]: [0] (? for help) 0B +Do you wish to edit in CHS mode? [n] +Partition offset [0 - 31116288]: [9829784] +Partition size [1 - 21286504]: [21286504] + +fdisk:*1> print + Starting Ending + #: id cyl hd sec - cyl hd sec [ start - size] +------------------------------------------------------------------------ + 1: 7F 1023 254 63 - 1023 254 63 [ 128 - 2017152] + 2: 0E 1023 254 63 - 1023 254 63 [ 2017280 - 7812504] DOS FAT-16 + 3: 0B 1023 254 63 - 1023 254 63 [ 9829784 - 21286504] Win95 FAT-32 + 4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused + +fdisk:*1> write +fdisk: 1> quit +---- + +[start=2] +. Format both FAT partitions (requires root privileges) + +[source,shell] +---- +sudo mkfs.fat -F 16 /dev/sdc2 +sudo mkfs.fat -F 32 /dev/sdc3 +---- + +<<<< + +[start=3] +. Confirm that the partition scheme has been changed: + +[source,shell] +---- +lsblk +---- + +[source] +---- +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT +(...) +sda 179:0 0 15,8G 0 disk +├─sda1 179:1 0 1G 0 part +├─sda2 179:2 0 4G 0 part +├─sda3 179:3 0 10,8G 0 part +---- + +==== +3e + +Once the microSD card is ready to use, you can start Spectrum core with a +3e ROM and format the IDEDOS part. + +The first step is determine the disk geometry. With the cart inserted into the ZXDOS+, type the command: + +[source,basic] +---- +CAT TAB +---- + +This will give a result showing the number of https://en.wikipedia.org/wiki/Cylinder-head-sector[cylinders, heads and sectors]. + +Whith this info, we estimate the size of our partition, using cylinders. For example, if the number of cylinders is 32768, and we want to use 1GB of a 16GB card, the number of cylinders needes would be 32768/16=2048. This way, the IDEDOS partition can be formatted using that number: + +[source,basic] +---- +FORMAT TO 0,100,2048 +---- + +The first value (`0`) is the drive to use (the first one), the second value is the maximum number of IDEDOS partitions, and the third one yis the number of cylinders to use. + +Once formatted, you can create new partitions. For example, to create a 16MB partition with the name "Software", another 4GB partition named "Swap" (to use as swap) and another one name "Utils", 8MB in size: + +[source,basic] +---- +NEW DATA "Software",16 +NEW EXP "Swap1",4 +NEW DATA "Utils",8 +---- + +For more information about the different +3e disk commands , you can check https://worldofspectrum.org/zxplus3e/index.html[this page at World of Spectrum]. + +<<< + === Keyboard The keyboard map (physical keys of the keyboard assignment to the keystrokes that are presented to the different cores) is changed using the `Advanced` menu of the BIOS. There are three different maps to choose from: Spanish (default), English, and Spectrum (advanced). @@ -2305,6 +2569,10 @@ https://docs.google.com/document/d/1NI0zgCDRk7c-5CVi-lfZEK6q8Lnpnco7PhpsEEdxD60/ http://www.zxuno.com/wiki/index.php/ZX_Spectrum[Core ZX Spectrum] +https://worldofspectrum.org/zxplus3e/index.html[The ZX Spectrum +3e Homepage] + +https://worldofspectrum.org/zxplus3e/sharingdisks.html[Sharing a +3e disk with PC (FAT) partitions] + http://www.zxuno.com/forum/viewtopic.php?f=37&t=208[Layouts de teclado] https://github.com/spark2k06/zxunops2/blob/master/Alternative/Nuevo%20firmware%20de%20teclado%20ZX-GO%2B.pdf[Firmware de teclado para ZX Go+] diff --git a/doc/English ZXDOS+ and gomaDOS+ Manual.pdf b/doc/English ZXDOS+ and gomaDOS+ Manual.pdf index fbab4f3..3cd9161 100644 Binary files a/doc/English ZXDOS+ and gomaDOS+ Manual.pdf and b/doc/English ZXDOS+ and gomaDOS+ Manual.pdf differ diff --git a/doc/Manual de ZXDOS+ y gomaDOS+.adoc b/doc/Manual de ZXDOS+ y gomaDOS+.adoc index cc262e4..feb899e 100644 --- a/doc/Manual de ZXDOS+ y gomaDOS+.adoc +++ b/doc/Manual de ZXDOS+ y gomaDOS+.adoc @@ -1,6 +1,6 @@ = Manual de ZXDOS+ y gomaDOS+ :author: kounch -:revnumber: 1.3.0 +:revnumber: 1.3.1 :doctype: book :front-cover-image: image:img/portada.jpg[] :email: kounch@users.noreply.github.com @@ -96,7 +96,7 @@ Para poder aprovechar todo su potencial, es útil tener también: ==== Formato de la tarjeta microSD -Para poder utilizar una tarjeta microSD, esta debe tener, al menos, una partición (la primera en el caso de haber varias) en formato FAT16 o FAT32 (según el caso, se recomienda uno u otro formato para compatibilidad con distintos cores de terceros). Para el core de Spectrum, tambén es posible tener una primera partición en formato +3DOS y luego otra en formato FAT16 o FAT32. +Para poder utilizar una tarjeta microSD, esta debe tener, al menos, una partición (la primera en el caso de haber varias) en formato FAT16 o FAT32 (según el caso, se recomienda uno u otro formato para compatibilidad con distintos cores de terceros). Para el core de Spectrum, tambén es posible tener <<#_formato_avanzado_de_la_tarjeta_microsd_3e,una primera partición en formato +3DOS y luego otra(s) en formato FAT16 o FAT32>>, para su uso con una ROM de +3e. [NOTE] ==== @@ -523,6 +523,273 @@ Estas son algunas de sus principales características: - Frecuencia de refresco vertical seleccionable por el usuario para mejorar la compatibilidad con monitores VGA. - Soporte de arranque multicore: desde el Spectrum se puede seleccionar una dirección de la SPI Flash y la FPGA cargará un core desde ahí. +<<<< + +=== Formato avanzado de la tarjeta microSD (+3e) + +Una de las ROM que se pueden cargar con el core de ZX Spectrum es la de ZX Spectrum +3e, que es una versión mejorada del Sinclair ZX Spectrum +3, y que soporta el uso de discos duros o tarjetas de memoria. + +El +3e usa su propio esquema de particionado (llamado IDEDOS) para dividir el disco duro en diferentes particiones donde se pueden almacenar datos. Se necesita una version 1.28 o superior de la ROM para poder compartir particiones IDEDOS con particiones MBR. En otro caso, se ha dedicar la tarjeta completa al particionado IDEDOS. + +[WARNING] +==== +El esquema de particionado que se presentará a continuación sólo se podrá utilizar con el core de Spectrum. +==== + +[TIP] +==== +En IDEDOS, cada partición puede tener un tamaño entre 1 y 16 Megabytes (un millón de bytes), y cada disco puede tener entre 1 y 65535 particiones. Por tanto, lo máximo que se puede ocupar de una tarjeta será alrededor de 1GB de espacio. +==== + +A continuación se explica una forma de dividir una tarjeta en dos o tres partes, con la primera partición IDEDOS (1GB de tamaño), la segunda FAT16 (4GB) y la tercera FAT32 (resto del espacio de la tarjeta). + +En la segunda particion se puede instalar, tal y como se explicó anteriormente <<#_esxdos,exsdos>> y otros programas. + +==== Windows + +Se puede utilizar el administrador de discos de Windows. Los pasos a seguir serían: + +. Eliminar todas las particiones de la tarjeta + +. Crear una partición extendida, del tamaño que se quiera utilizar para IDEDOS + +. Crear una partición primaria de 4GB y formatear como FAT16 + +. Opcionalmente, crear otra partición primaria ocupando el resto del espacio y formatear como FAT32 + +<<<< + +==== MacOS + +Será necesario utilizar la línea de comandos. Lo primero es determinar el disco a formatear: + +[source,shell] +---- +diskutil list +---- + +En este ejemplo sería el disco 6: + +[source] +---- +(...) +/dev/disk6 (external, physical): + #: TYPE NAME SIZE IDENTIFIER + 0: FDisk_partition_scheme *15.9 GB disk6 + 1: DOS_FAT_32 UNKNOWN 15.9 GB disk6s1 +---- + +Pasos a seguir: + +. Expulsar el disco y editar el esquema de particiones (el segundo paso requiere permisos de administrador): + +[source,shell] +---- +diskutil unmountDisk /dev/disk6 +sudo fdisk -e /dev/rdisk6 +---- + +[source] +---- +fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory +Enter 'help' for information +fdisk: 1> erase +fdisk:*1> edit 1 +Partition id ('0' to disable) [0 - FF]: [0] (? for help) 7F +Do you wish to edit in CHS mode? [n] +Partition offset [0 - 31116288]: [63] 128 +Partition size [1 - 31116287]: [31116287] 2017152 + +fdisk:*1> edit 2 +Partition id ('0' to disable) [0 - FF]: [0] (? for help) 0E +Do you wish to edit in CHS mode? [n] +Partition offset [0 - 31116288]: [2017280] +Partition size [1 - 29099135]: [29099135] 7812504 + +fdisk:*1> flag 2 +---- + +[source] +---- +fdisk:*1> edit 3 +Partition id ('0' to disable) [0 - FF]: [0] (? for help) 0B +Do you wish to edit in CHS mode? [n] +Partition offset [0 - 31116288]: [9829784] +Partition size [1 - 21286504]: [21286504] + +fdisk:*1> print + Starting Ending + #: id cyl hd sec - cyl hd sec [ start - size] +------------------------------------------------------------------------ + 1: 7F 1023 254 63 - 1023 254 63 [ 128 - 2017152] + 2: 0E 1023 254 63 - 1023 254 63 [ 2017280 - 7812504] DOS FAT-16 + 3: 0B 1023 254 63 - 1023 254 63 [ 9829784 - 21286504] Win95 FAT-32 + 4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused + +fdisk:*1> write +fdisk: 1> quit +---- + +[start=2] +. Formatear las particiones FAT (requiere permisos de administrador) + +[source,shell] +---- +diskutil unmountDisk /dev/disk6 +sudo newfs_msdos -F 16 -v ZXDOSPLUS -b 4096 -c 128 /dev/rdisk6s2 +sudo newfs_msdos -F 32 -v EXTRA -b 4096 -c 128 /dev/rdisk6s3 +---- + +[start=3] +. Comprobar cómo el esquema de particiones ha cambiado y ya es el que se deseaba: + +[source,shell] +---- +diskutil list +---- + +[source] +---- +(...) +/dev/disk6 (external, physical): + #: TYPE NAME SIZE IDENTIFIER + 0: FDisk_partition_scheme *15.9 GB disk6 + 1: 0x7F 1.0 GB disk6s1 + 2: Windows_FAT_16 ZXDOSPLUS 4.0 GB disk6s2 + 3: DOS_FAT_32 EXTRA 10.9 GB disk6s3 +---- + +==== Linux + +Será necesario utilizar la línea de comandos. Lo primero es determinar el disco a formatear: + +[source,shell] +---- +lsblk +---- + +<<<< + +En este ejemplo sería `sdc`: + +[source] +---- +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT +(..) +sdc 179:0 0 15,8G 0 disk +└─sdc1 179:1 0 15,8G 0 part +---- + +Pasos a seguir: + +. Comprobar que no está montado y editar el esquema de particiones (este paso requiere permisos de root): + +[source,shell] +---- +sudo fdisk -e /dev/sdc +---- + +[source] +---- +Enter 'help' for information +fdisk: 1> erase +fdisk:*1> edit 1 +Partition id ('0' to disable) [0 - FF]: [0] (? for help) 7F +Do you wish to edit in CHS mode? [n] +Partition offset [0 - 31116288]: [63] 128 +Partition size [1 - 31116287]: [31116287] 2017152 + +fdisk:*1> edit 2 +Partition id ('0' to disable) [0 - FF]: [0] (? for help) 0E +Do you wish to edit in CHS mode? [n] +Partition offset [0 - 31116288]: [2017280] +Partition size [1 - 29099135]: [29099135] 7812504 + +fdisk:*1> flag 2 + +fdisk:*1> edit 3 +Partition id ('0' to disable) [0 - FF]: [0] (? for help) 0B +Do you wish to edit in CHS mode? [n] +Partition offset [0 - 31116288]: [9829784] +Partition size [1 - 21286504]: [21286504] + +fdisk:*1> print + Starting Ending + #: id cyl hd sec - cyl hd sec [ start - size] +------------------------------------------------------------------------ + 1: 7F 1023 254 63 - 1023 254 63 [ 128 - 2017152] + 2: 0E 1023 254 63 - 1023 254 63 [ 2017280 - 7812504] DOS FAT-16 + 3: 0B 1023 254 63 - 1023 254 63 [ 9829784 - 21286504] Win95 FAT-32 + 4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused + +fdisk:*1> write +fdisk: 1> quit +---- + +[start=2] +. Formatear las particiones FAT (requiere permisos de root) + +[source,shell] +---- +sudo mkfs.fat -F 16 /dev/sdc2 +sudo mkfs.fat -F 32 /dev/sdc3 +---- + +[start=3] +. Verificar que el esquema de particiones ha cambiado y ya es el que se quería: + +[source,shell] +---- +lsblk +---- + +[source] +---- +NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT +(...) +sda 179:0 0 15,8G 0 disk +├─sda1 179:1 0 1G 0 part +├─sda2 179:2 0 4G 0 part +├─sda3 179:3 0 10,8G 0 part +---- + +==== +3e + +Una vez preparada la tarjeta para su uso, se puede arrancar el core de Spectrum con una ROM de +3e, y formatear la parte de IDEDOS según se desee. + +El primer paso consiste en determinar la geometría de la microSD. Con la tarjeta insertada en el ZXDOS+, desde el core de Spectrum con la ROM de +3e, ejecutar el comando: + +[source,basic] +---- +CAT TAB +---- + +Esto devoverá un resultado indicando el número de https://es.wikipedia.org/wiki/Cilindro-Cabezal-Sector[cilindros, cabezales y sectores]. + +Teniendo esto en cuenta, calculamos el espacio que ocupa nuestra partición, en cilindros. Por ejemplo, si el número de cilindros obtenido es de 32768, y queremos utilizar 1GB de una tarjeta de 16GB, el número de cilindros que se necesitarían son 32768/16=2048. Por tanto, podemos formatear la partición IDEDOS usando ese número: + +[source,basic] +---- +FORMAT TO 0,100,2048 +---- + +El primer valor (`0`) indica el disco a utilizar (el primero), el segundo valor es el número máximo de particiones IDEDOS que se podrán usar, y el tercer valor es el número de cilindros a utilizar. + +<<<< + +Una vez hecho el formato, ya será posible crear nuevas particiones. Por ejemplo, para crear una partición llamada "Software" de 16MB, una llamada "Swap1", de 4MB (para usar como espacio swap) y otra llamada "Utils" de 8MB: + +[source,basic] +---- +NEW DATA "Software",16 +NEW EXP "Swap1",4 +NEW DATA "Utils",8 +---- + +Para más información sobre el uso de los distintos comandos de +3e para acceso al disco, se puede visitar https://worldofspectrum.org/zxplus3e/espanol/index.html[esta página en World of Spectrum]. + +<<< + === Teclado El mapa de teclado (asignación de las teclas físicas del teclado con las pulsaciones que se presentan a los distinto cores) se cambia desde el menú `Advanced` de la BIOS. Existen tres mapas distintos a elegir: Español (por defecto), inglés, y Spectrum (avanzado). @@ -2307,6 +2574,10 @@ https://docs.google.com/document/d/1NI0zgCDRk7c-5CVi-lfZEK6q8Lnpnco7PhpsEEdxD60/ http://www.zxuno.com/wiki/index.php/ZX_Spectrum[Core ZX Spectrum] +https://worldofspectrum.org/zxplus3e/index.html[The ZX Spectrum +3e Homepage] + +https://worldofspectrum.org/zxplus3e/sharingdisks.html[Sharing a +3e disk with PC (FAT) partitions] + http://www.zxuno.com/forum/viewtopic.php?f=37&t=208[Layouts de teclado] https://github.com/spark2k06/zxunops2/blob/master/Alternative/Nuevo%20firmware%20de%20teclado%20ZX-GO%2B.pdf[Firmware de teclado para ZX Go+] diff --git a/doc/Manual de ZXDOS+ y gomaDOS+.pdf b/doc/Manual de ZXDOS+ y gomaDOS+.pdf index 080e25b..410e22f 100644 Binary files a/doc/Manual de ZXDOS+ y gomaDOS+.pdf and b/doc/Manual de ZXDOS+ y gomaDOS+.pdf differ diff --git a/doc/index.html b/doc/index.html new file mode 100644 index 0000000..0a467b2 --- /dev/null +++ b/doc/index.html @@ -0,0 +1,5443 @@ + + + + + + + + + + +ZXDOS+ and gomaDOS+ Manual + + + + + + +
+
+
+
+
+
+
+

Introduction

+
+
+

ZXDOS+ and gomaDOS+ are the continuation of ZX-Uno a hardware and software project based on an FPGA board programmed to work like a ZX Spectrum computer, and created by the ZX-Uno team: Superfo, AVillena, McLeod, Quest and Hark0.

+
+
+

Over time, the project has been growing, and now it is possible to install different software configurations (cores) in the flash memory of the FPGA, which work like different systems than the ZX Spectrum, and you can choose to start the ZXDOS+ with the desired configuration among all those installed.

+
+
+

ZXDOS+ and gomaDOS+ official web page is http://zxdos.forofpga.es.

+
+
+

Most of the functions and features of ZXDOS+ and gomaDOS+ are the same, so this document will generally talk about ZXDOS+, indicating the differences with gomaDOS+ where necessary.

+
+
+
+

Ports and Connectors

+
+

ZXDOS+

+
+

ZXDOSfront

+
+
+

ZXDOSback

+
+
+
+
+

gomaDOS+

+
+

gomaDosBack

+
+
+
+

Description

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

1

Power Switch

2

microSD Card Slot

3

JTAG and Joystick

4

Audio Out

5

Audio In

6

RGB/VGA Out

7

Power Socket

8

Expansion Port

9

Left Joystick Port

10

Right Joystick Port

11

PS/2 Keyboard Port

12

PS/2 Mouse Port

0

USB (PS/2) Port

+
+
+
+
+

Initial Setup

+
+

In order to be able to set up and use a ZXDOS+ or gomaDOS+ you need, at least, the following:

+
+
+
    +
  • +

    A USB charger or a TV or other device that offers USB power

    +
  • +
  • +

    VGA cable and monitor

    +
  • +
  • +

    PS/2 keyboard (in the case of ZXDOS +)

    +
  • +
+
+
+

In order to take advantage of its full potential, you may also have:

+
+
+
    +
  • +

    A microSD card, not necessarily very large

    +
  • +
  • +

    PC speakers to connect to the audio output, or a stereo jack cable to two red/white RCA connectors to connect to the TV (this is optional on gomaDOS+, as it has a beeper inside)

    +
  • +
  • +

    A standard Atari joystick, such as a Megadrive DB9 gamepad (gomadOS+ needs a joystick adapter)

    +
  • +
  • +

    A PS/2 mouse (USB to PS/2 adapter is needed when using a gomaDOS+)

    +
  • +
  • +

    An audio cable with a stereo 3.5 mm jack on one side, and both audio channels split into two mono outputs on the other side, if you want to use an audio player and/or recorder, like, for example, a Miniduino (see more info later) or a cassette tape recorder/player. The right sound channel is used as input (EAR) and the left channel can be used as output (MIC).

    +
  • +
+
+
+

microSD card formatting

+
+

In order to use a microSD card, it has to be formmatted with, at least, one FAT16 or FAT32 format (depending on the case, one or the other format is recommended for compatibility with different third-party cores). It must be the first partition if there are more than one, except for the Spectrum core wich can have the first partition in +3DOS format, and then the second one in FAT16 or FAT32 format to use with a +3e ROM.

+
+
+ + + + + +
+ + +
+

FAT16 partitions have a maximum size of 4GB

+
+
+
+
+
Windows
+
+

For simple configurations, and cards of the correct size (less than 2GB for FAT16 or less than 32GB for FAT32), you can use the official formatting tool of the SD Association .

+
+
+

For other, more complex, configurations, and depending on operating system version, you may use the command line tool diskpart or Windows Disk Managemente GUI.

+
+
+
+
MacOS
+
+

For simple configurations, and cards of the correct size (less than 2GB for FAT16 or less than 32GB for FAT32), you can use the official formatting tool of the SD Association or Disk Utility, which is included with the operating system.

+
+
+

In other case, you should use the command line.

+
+
+

For example, to format a card, shown as disk6, with only one FAT16 partition (if the card size is less than 2GB):

+
+
+
+
diskutil unmountDisk /dev/disk6
+diskutil partitionDisk /dev/disk6 MBR "MS-DOS FAT16" ZXDOSPLUS R
+
+
+
+

To split it into two FAT16 partitions of the same size (if the card size is 4GB or less):

+
+
+
+
diskutil unmountDisk /dev/disk6
+diskutil partitionDisk /dev/disk6 MBR "MS-DOS FAT16" ZXDOSPLUS 50% "MS-DOS FAT16" EXTRA 50%
+
+
+
+

To create two FAT 16 partitions (e.g. to use MSX core) and have the rest of space as another FAT32 partition (for cards more than 8GB in size):

+
+
+
+
diskutil unmountDisk /dev/disk6
+diskutil partitionDisk /dev/disk6 MBR %DOS_FAT_16% ZXDOSPLUS 4G %DOS_FAT_16% EXTRA 4G "MS-DOS FAT32" DATA R
+sudo newfs_msdos -F 16 -v ZXDOSPLUS -b 4096 -c 128 /dev/rdisk6s1
+sudo newfs_msdos -F 16 -v EXTRA -b 4096 -c 128 /dev/rdisk6s2
+
+
+
+ + + + + +
+ + +
+

diskutil cannot create FAT16 partitions which are bigger than 2G and also format them. That’s why, in this example, after only creating the partitions, we have to format them.

+
+
+
+
+

To create one FAT32 4GB partition (e.g. to use with Amstrad CPC core), and then have the rest of space available as a second FAT32 partition (for cards of more than 4GB):

+
+
+
+
diskutil unmountDisk /dev/disk6
+diskutil partitionDisk /dev/disk6 MBR "MS-DOS FAT32" ZXDOSPLUS 4G "MS-DOS FAT32" EXTRA R
+
+
+
+
+
Linux
+
+

There are a lot of tools for Linux that can format and/or partition an SD card (fdisk, parted, cfdisk, sfdisk or GParted to name a few). It should only be taken into account that the partition scheme must always be MBR, and the first partition (the one that will be used for esxdos) must be primary partition.

+
+
+
+
+
+

esxdos

+
+

esxdos is a firmware for the DivIDE/DivMMC hardware interfaces (which ZXDOS+ implements). This allows access to storage devices such as a microSD card. It includes commands similar to those of UNIX, although to use them you must precede them with a period, for example .ls,` .cd`, .mv, etc.

+
+
+

For it to work, it is necessary to include the corresponding files in the first partition of the microSD card.

+
+
+

At the time of writing this document, the version included with ZXDOS+ is 0.8.6, and it can be downloaded from the official website at this link.

+
+
+

Once downloaded and extracted, you have to copy the directories BIN, SYS and TMP, and all of their content, to the root of first partition of the microSD card.

+
+
+

If everything has been done correctly, when you turn on the ZXDOS+ Spectrum core, you will see how esxdos detects the card and loads the necessary components to work.

+
+
+

esxdos

+
+
+
+

It is also recommended to add the specific esxdos commands for ZXDOS+. These can be obtained from the project source page (here, here and here), and are as follows:

+
+
+
+
back16m
+backzx2
+backzxd
+corebios
+dmaplayw
+esprst
+iwconfig
+joyconf
+keymap
+loadpzx
+playmid
+playrmov
+romsback
+romsupgr
+upgr16m
+upgrzx2
+upgrzxd
+zxuc
+zxunocfg
+
+
+
+

<<#_zxdos+_commands,It is explained later> what each of them does.

+
+
+
+
+
+

GomaDOS+ keyboard modes

+
+

gomaDOS+ keyboard, being similar to the original ZX Spectrum keyboard, lacks some of the existing keys on a modern PC keyboard. The keyboard membrane is connected to an Arduino board, which manages the transformation key presses to PS/2 keyboard protocol. The board is programmed so it can behave in different modes according to your needs.

+
+
+

The default is ZX Spectrum mode. To change to a different mode, you must press Caps Shift+Symbol Shift+U and then the key for the desired mode. After doing that, some text is automatically typed, to show the selected mode (for example .zx if you press Caps Shift+Symbol Shift+U and theno 0).

+
+
+

This table shows the available modes and activation keys:

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ModeKey

ZX Spectrum

0

Amstrad CPC

1

MSX

2

Commodore 64

3

Atari 800XL

4

BBC Micro

5

Acorn Electron

6

Apple (I and II)

7

Commodore VIC 20

8

PC XT

9

Oric Atmos

A

SAM Coupé

B

Jupiter ACE

C

+
+
+

ZX Spectrum mode key assignment, with the corresponding keypress when used simultaneouly with Caps Shift+Symbol Shift:

+
+ ++++++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

1

2

3

4

5

6

7

8

9

0

F1

F2

F3

F4

F5

F6

F7

F8

F9

F1

Q

W

E

R

T

Y

U

I

O

P

F11

F12

Mode

A

S

D

F

G

H

J

K

L

Enter

ScrLk

CShift

Z

X

C

V

B

N

M

SShift

Space

Save

Vers

hRes

sRes

+
+

Where:

+
+
+
    +
  • +

    ScrLk: Scroll Lock changes betweein composite and VGA video mode (on Next Core, you must use Caps Shift+Symbol Shift+2 or`F2` instead)

    +
  • +
  • +

    Save: Sets the current mode as the default one

    +
  • +
  • +

    Vers: Shows (types) current firmware version

    +
  • +
  • +

    hRes: Hard Reset

    +
  • +
  • +

    sRes: Soft Reset

    +
  • +
+
+
+
+

The full list of key combinations (and compatible modes) is as follows:

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Caps S.+Symbol S.ModeAction

1

All

F1

2

All

F2

3

All

F3

4

All

F4

5

All

F5

6

All

F6

7

All

F7

8

All

F8

9

All

F9

0

All

F10

Q

All

F11

W

All

F12

S

C64

Ctrl+F12

E

Acorn/CPC

PgUp

R

Acorn

PgDown

U

All

Mode

G

ZX/MSX/C64

ScrLk

X

All

Save

C

PC

OPQA

V

All

Version

B

ZX

Ctrl+Alt+Bcksp

N

ZX

Ctrl+Alt+Supr

+
+
+
+

BIOS

+
+

Pressing the F2 key (Caps Shift+1 on gomaDOS+) during boot will access the BIOS setup. The BIOS firmware is the first program that runs when the ZXDOS+ is turned on. The main purpose of BIOS is to start and test the hardware and load one of the installed cores.

+
+
+

Using left and right cursor keys (Caps Shift+5 and Caps Shift+8 on gomaDOS+), you can navigate through the BIOS setup screens. With up and down keys (Caps Shift+7 and Caps Shift+6 on gomaDOS+) you can choose the different elements of each screen and, with the Enter key, it is possible to activate and choose the options for each of these. Esc key (Caps Shift+Espacio ongomaDOS+) is used to close open option windows without applying any action.

+
+
+

Main

+
+

bios

+
+
+

In the first configuration screen, in addition to being able to run several tests, you can define the default behavior for the following:

+
+
+
    +
  • +

    Boot Timer: Sets how long the boot screen is available (or hiding it completely)

    +
  • +
  • +

    Check CRC: Check ROM integrity when loading (more secure) or bypassing it (faster)

    +
  • +
  • +

    Keyboard

    +
  • +
  • +

    Timing: ULA Behaviour (48K, 128K, Pentagon Modes)

    +
  • +
  • +

    Contended

    +
  • +
  • +

    DivMMC

    +
  • +
  • +

    DivMMC NMI Support

    +
  • +
  • +

    New Graphic Modes Support (ULAPlus, Timex, Radastan)

    +
  • +
+
+
+

More technical information can be found on de ZX-Uno Wiki.

+
+
+
+

ROMs

+
+

bios2

+
+
+

The second screen shows the installed ZX Spectrum ROMs. You can reorder (Move Up, Move Down), rename or delete each of them, as well as choose the one that will be loaded by default at startup (Set Active ).

+
+
+
+

Upgrade

+
+

bios3

+
+
+

Upgrade screen is used to perform the different updates of the Flash memory content: esxdos, BIOS, Cores, etc. (see the section corresponding to updates for more information).

+
+
+
+
+

Boot

+
+

bios4

+
+
+

In the Boot screen you can choose which one of the installed cores is loaded by default at startup.

+
+
+
+
+

Advanced

+
+

bios5

+
+
+

The Advanced configuration screen is used to edit the following settings:

+
+
+
    +
  • +

    Keyboard layout (Keyb Layout): See the corresponding section for more information)

    +
  • +
  • +

    Joystick behavior when emulated with the numeric keypad (Joy Keypad): Kempston, Sinclair Joystick 1, Sinclair Joystick 2, Protek or Fuller

    +
  • +
  • +

    Behavior of a joystick connected to the port (Joy DB9): Kempston, Sinclair Joystick 1, Sinclair Joystick 2, Protek, Fuller or simulate the keys Q,` A`, O,` P`, Space and M

    +
  • +
  • +

    Video output: PAL, NTSC or VGA

    +
  • +
  • +

    Scanline simulation: Enabled Disabled

    +
  • +
  • +

    VGA horizontal frequency: 50, 51, etc.

    +
  • +
  • +

    CPU speed: Normal (1x) or accelerated (2X, 3X, etc.)

    +
  • +
  • +

    Csync: Spectrum or PAL

    +
  • +
+
+
+
+
+

Exit

+
+

bios6

+
+
+

Finally, from the last screen you can:

+
+
+
    +
  • +

    Exit BIOS configuration saving changes

    +
  • +
  • +

    Discard changes and exit

    +
  • +
  • +

    Save changes without exiting

    +
  • +
  • +

    Discard Changes

    +
  • +
+
+
+
+
+
+
+

ZX Spectrum

+
+
+

The main core is the one implementing a ZX Spectrum computer. This core is special, and it cannot be substituted for another that is not a ZX Spectrum, since the ZXDOS+ uses it for its operation.

+
+
+

These are some of its main characteristics:

+
+
+
    +
  • +

    ZX Spectrum 48K, 128K, Pentagon and Chloe 280SE implementation

    +
  • +
  • +

    ULA with ULAplus, Timex and Radastan modes (including hardware scroll and selectable palette group)

    +
  • +
  • +

    Ability to disable memory contention (for Pentagon 128 compatibility)

    +
  • +
  • +

    Ability to choose the keyboard behavior (issue 2 or issue 3)

    +
  • +
  • +

    Possibility to choose the timing of the ULA (48K, 128K or Pentagon)

    +
  • +
  • +

    Control of screen framing, configurable for type of timing, and possibility to choose between original Spectrum synchronisms or progressive PAL standard.

    +
  • +
  • +

    Timex horizontal MMU support with HOME, DOC and EXT banks in RAM.

    +
  • +
  • +

    Programmable raster interruption in line number, for any TV line.

    +
  • +
  • +

    Possibility of activating/deactivating memory bank management registers, for better compatibility with each implemented model

    +
  • +
  • +

    Ability to activate / deactivate the devices incorporated into the core to improve compatibility with certain programs

    +
  • +
  • +

    ZXMMC support for + 3e and DIVMMC support for esxdos and compatible firmwares

    +
  • +
  • +

    Turbo Sound support

    +
  • +
  • +

    SpecDrum support

    +
  • +
  • +

    Each channel A, B, C of the two AY-3-8912, beeper and SpecDrum chips can be directed to the left, right, both or neither outputs, allowing the implementation of configurations such as ACB, ABC, etc.

    +
  • +
  • +

    Real joystick and keyboard joystick support with Kempston, Sinclair 1 and 2, Cursor, Fuller and QAOPSpcM protocol.

    +
  • +
  • +

    Turbo mode support at 7MHz, 14MHz, 28MHz

    +
  • +
  • +

    Keyboard support (PS/2 protocol) and user-configurable mapping from within Spectrum itself.

    +
  • +
  • +

    PS/2 mouse support emulating the Kempston Mouse protocol.

    +
  • +
  • +

    Possibility of video output in composite video mode, RGB 15kHz, or VGA.

    +
  • +
  • +

    User selectable vertical refresh rate to improve compatibility with VGA monitors.

    +
  • +
  • +

    Multicore boot support: from the Spectrum you can select an address of the SPI Flash and the FPGA will load a core from there.

    +
  • +
+
+
+
+

microSD advanced format (+3e)

+
+

ZX Spectrum +3e is one ROM that can be used with ZX Spectrum core. This is an improved Sinclair ZX Spectrum +3, wich can use hard disks or memory cards.

+
+
+

+3e uses its own partition format (called IDEDOS), to split de hard disk into several partitions to store data. ROM version 1.28 and later can share IDEDOS partitions with MBR partitions. In other case, you must reserve the whole card for IDEDOS partitions.

+
+
+ + + + + +
+ + +
+

The following partition scheme can only be used with ZX Spectrum core.

+
+
+
+
+ + + + + +
+ + +
+

Each partition in IDEDOS can be between 1 and 16 Megabytes (1 million bytes) in size, and each disk can have between 1 and 65535 partitions. This means that the maximum space used in a card is about 1GB.

+
+
+
+
+

This is one method to split a card into two or three parts, with the first partition IDEDOS (1GB), the second one FAT16 (4GB) and the third one FAT32 (using the remaining space in the card).

+
+
+

exsdos and other programs can be installed into the second partition as explained earlier.

+
+
+

Windows

+
+

You can use Windows Disk Management utility. The steps are:

+
+
+
    +
  1. +

    Remove all partitions from the card

    +
  2. +
  3. +

    Create a new extended partition, using the desired space for IDEDOS

    +
  4. +
  5. +

    Create a primary partition, 4GB in size, and format as FAT16

    +
  6. +
  7. +

    Optionally, create another primary partition using the remaining space and format as FAT32

    +
  8. +
+
+
+
+

MacOS

+
+

You will have to use the command line. The first task is to find out which device is the disk to format:

+
+
+
+
diskutil list
+
+
+
+

For this example, it will be disk 6:

+
+
+
+
(...)
+/dev/disk6 (external, physical):
+   #:                       TYPE NAME                    SIZE       IDENTIFIER
+   0:     FDisk_partition_scheme                        *15.9 GB    disk6
+   1:                 DOS_FAT_32 UNKNOWN                 15.9 GB    disk6s1
+
+
+
+
+

Instruction steps:

+
+
+
    +
  1. +

    Unmount the disk and edit the partition sceme (the second step requires admin privileges):

    +
  2. +
+
+
+
+
diskutil unmountDisk /dev/disk6
+sudo fdisk -e /dev/rdisk6
+
+
+
+
+
fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory
+Enter 'help' for information
+fdisk: 1> erase
+fdisk:*1> edit 1
+Partition id ('0' to disable)  [0 - FF]: [0] (? for help) 7F
+Do you wish to edit in CHS mode? [n]
+Partition offset [0 - 31116288]: [63] 128
+Partition size [1 - 31116287]: [31116287] 2017152
+
+fdisk:*1> edit 2
+Partition id ('0' to disable)  [0 - FF]: [0] (? for help) 0E
+Do you wish to edit in CHS mode? [n]
+Partition offset [0 - 31116288]: [2017280]
+Partition size [1 - 29099135]: [29099135] 7812504
+
+fdisk:*1> flag 2
+
+fdisk:*1> edit 3
+Partition id ('0' to disable)  [0 - FF]: [0] (? for help) 0B
+Do you wish to edit in CHS mode? [n]
+Partition offset [0 - 31116288]: [9829784]
+Partition size [1 - 21286504]: [21286504]
+
+fdisk:*1> print
+         Starting       Ending
+ #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
+------------------------------------------------------------------------
+ 1: 7F 1023 254  63 - 1023 254  63 [       128 -    2017152] <Unknown ID>
+ 2: 0E 1023 254  63 - 1023 254  63 [   2017280 -    7812504] DOS FAT-16
+ 3: 0B 1023 254  63 - 1023 254  63 [   9829784 -   21286504] Win95 FAT-32
+ 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused
+
+fdisk:*1> write
+fdisk: 1> quit
+
+
+
+
    +
  1. +

    Format the FAT partitions (admin privileges required)

    +
  2. +
+
+
+
+
diskutil unmountDisk /dev/disk6
+sudo newfs_msdos -F 16 -v ZXDOSPLUS -b 4096 -c 128 /dev/rdisk6s2
+sudo newfs_msdos -F 32 -v EXTRA -b 4096 -c 128 /dev/rdisk6s3
+
+
+
+
    +
  1. +

    Confirm that the new partition scheme has been applied:

    +
  2. +
+
+
+
+
diskutil list
+
+
+
+
+
(...)
+/dev/disk6 (external, physical):
+   #:                       TYPE NAME                    SIZE       IDENTIFIER
+   0:     FDisk_partition_scheme                        *15.9 GB    disk6
+   1:                       0x7F                         1.0 GB     disk6s1
+   2:             Windows_FAT_16 ZXDOSPLUS               4.0 GB     disk6s2
+   3:                 DOS_FAT_32 EXTRA                   10.9 GB    disk6s3
+
+
+
+
+

Linux

+
+

You can use the command line. First, find out the device to erase:

+
+
+
+
lsblk
+
+
+
+

For this example, it will be sdc:

+
+
+
+
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
+(..)
+sdc          179:0    0 15,8G  0 disk
+└─sdc1       179:1    0 15,8G  0 part
+
+
+
+
+

Instructions:

+
+
+
    +
  1. +

    Verify that the disk isn’t mounted and edit the partition scheme (this step requires root privileges):

    +
  2. +
+
+
+
+
sudo fdisk -e /dev/sdc
+
+
+
+
+
Enter 'help' for information
+fdisk: 1> erase
+fdisk:*1> edit 1
+Partition id ('0' to disable)  [0 - FF]: [0] (? for help) 7F
+Do you wish to edit in CHS mode? [n]
+Partition offset [0 - 31116288]: [63] 128
+Partition size [1 - 31116287]: [31116287] 2017152
+
+fdisk:*1> edit 2
+Partition id ('0' to disable)  [0 - FF]: [0] (? for help) 0E
+Do you wish to edit in CHS mode? [n]
+Partition offset [0 - 31116288]: [2017280]
+Partition size [1 - 29099135]: [29099135] 7812504
+
+fdisk:*1> flag 2
+
+fdisk:*1> edit 3
+Partition id ('0' to disable)  [0 - FF]: [0] (? for help) 0B
+Do you wish to edit in CHS mode? [n]
+Partition offset [0 - 31116288]: [9829784]
+Partition size [1 - 21286504]: [21286504]
+
+fdisk:*1> print
+         Starting       Ending
+ #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
+------------------------------------------------------------------------
+ 1: 7F 1023 254  63 - 1023 254  63 [       128 -    2017152] <Unknown ID>
+ 2: 0E 1023 254  63 - 1023 254  63 [   2017280 -    7812504] DOS FAT-16
+ 3: 0B 1023 254  63 - 1023 254  63 [   9829784 -   21286504] Win95 FAT-32
+ 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused
+
+fdisk:*1> write
+fdisk: 1> quit
+
+
+
+
    +
  1. +

    Format both FAT partitions (requires root privileges)

    +
  2. +
+
+
+
+
sudo mkfs.fat -F 16 /dev/sdc2
+sudo mkfs.fat -F 32 /dev/sdc3
+
+
+
+
+
    +
  1. +

    Confirm that the partition scheme has been changed:

    +
  2. +
+
+
+
+
lsblk
+
+
+
+
+
NAME      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
+(...)
+sda      179:0    0 15,8G  0 disk
+├─sda1   179:1    0    1G  0 part
+├─sda2   179:2    0    4G  0 part
+├─sda3   179:3    0 10,8G  0 part
+
+
+
+
+

+3e

+
+

Once the microSD card is ready to use, you can start Spectrum core with a +3e ROM and format the IDEDOS part.

+
+
+

The first step is determine the disk geometry. With the cart inserted into the ZXDOS+, type the command:

+
+
+
+
CAT TAB
+
+
+
+

This will give a result showing the number of cylinders, heads and sectors.

+
+
+

Whith this info, we estimate the size of our partition, using cylinders. For example, if the number of cylinders is 32768, and we want to use 1GB of a 16GB card, the number of cylinders needes would be 32768/16=2048. This way, the IDEDOS partition can be formatted using that number:

+
+
+
+
FORMAT TO 0,100,2048
+
+
+
+

The first value (0) is the drive to use (the first one), the second value is the maximum number of IDEDOS partitions, and the third one yis the number of cylinders to use.

+
+
+

Once formatted, you can create new partitions. For example, to create a 16MB partition with the name "Software", another 4GB partition named "Swap" (to use as swap) and another one name "Utils", 8MB in size:

+
+
+
+
NEW DATA "Software",16
+NEW EXP "Swap1",4
+NEW DATA "Utils",8
+
+
+
+

For more information about the different +3e disk commands , you can check this page at World of Spectrum.

+
+
+
+
+
+

Keyboard

+
+

The keyboard map (physical keys of the keyboard assignment to the keystrokes that are presented to the different cores) is changed using the Advanced menu of the BIOS. There are three different maps to choose from: Spanish (default), English, and Spectrum (advanced).

+
+
+

You can also change it using the keymap utility. Inside /bin you have to create a directory named keymaps and copy inside the keyboard map files that you want to use. For example, to switch to the US map you have to write .keymap us from esxdos.

+
+
+

For the map to be preserved after a master reset, it has to be selected as Default in the BIOS.

+
+
+

For more information, see this message in the ZX-Uno forum.

+
+
+

Spanish

+
+

keyboardEsp

+
+
+
+

English

+
+

keyboardEng

+
+
+
+

Spectrum

+
+

keyboardAV

+
+
+
+
+
+

Special keys and buttons

+
+

The following gomaDOS+ key combinations are in ZX keyboard mode. Please check the corresponding section for more information. You can also use PC XT keyboard mode combinations (like Caps Shift+Symbol Shift+2 instead of Caps Shift+1).

+
+
+

Special keys which can be used during startup:

+
+
+
    +
  • +

    F2 (Caps Shift+1 on gomaDOS+) Enter BIOS setup

    +
  • +
  • +

    Caps Lock or Cursor down (`Caps Shift+2 on gomaDOS+): Core selection menu

    +
  • +
  • +

    Esc (Caps Shift+Space on gomaDOS+): ZX Spectrum core ROM selection menu

    +
  • +
  • +

    R: Loads the Spectrum core ROM in "real" mode, disabling esxdos, new graphics modes, etc.

    +
  • +
  • +

    / (numeric keyboard): Load the default ZX Spectrum core ROM in "root" mode

    +
  • +
  • +

    Number from 1 to 9: Load the core in the flash location corresponding to that number

    +
  • +
+
+
+

Special keys that can be used while running the main core (ZX Spectrum):

+
+
+
    +
  • +

    Esc (Caps Shift+Space on gomaDOS+): BREAK

    +
  • +
  • +

    F2 (Caps Shift+1 on gomaDOS+): Edit

    +
  • +
  • +

    F5 (Caps Shift+Symbol Shift+5 on gomaDOS+): NMI

    +
  • +
  • +

    F7 (Caps Shift+Symbol Shift+7 on gomaDOS+): Play or pause when playing .PZX files

    +
  • +
  • +

    F8 (Caps Shift+Symbol Shift+8 on gomaDOS+): Rewind .PZX file to the previous mark

    +
  • +
  • +

    F10 (Caps Shift+9 on gomaDOS+): Graph

    +
  • +
  • +

    F12 (Caps Shift+Symbol Shift+W on gomaDOS+): Turbo Boost. Speeds up CPU to 28MHz while pressed (beginnig with core EXP27).

    +
  • +
  • +

    Ctrl+Alt+Backspace (Caps Shift+Symbol Shift+B on gomaDOS+): Hard reset. Backspace is the delete key, located in the top-right portion of the keyboard, above Enter.

    +
  • +
  • +

    Ctrl+Alt+Supr (Caps Shift+Symbol Shift+N on gomaDOS+): Soft reset.

    +
  • +
  • +

    Scroll Lock (Caps Shift+Symbol Shift+G on gomaDOS+): Switches between compositve and VGA video modes.

    +
  • +
+
+
+
+
+

ROMs

+
+

The ZX Spectrum core has can be initialized using different ROM versions (48K, 128K, Plus 2, etc.). These are stored in the flash memory of the ZXDOS+, and you can choose which one to load by pressing the Esc key during boot. You can also define the ROM that you want to load by default using the BIOS setup.

+
+
+

See the updates section for more information on how to expand or modify the ROMs stored in flash memory.

+
+
+
+
+

esxdos

+
+

Basic Guide

+
+

There are two different kind of esxdos commands, the so-called "DOT" commands, which, as the name suggests, begin with a period, and the commands that are extensions to the existing ones in BASIC.

+
+
+

The main "DOT" commands are the following:

+
+
+
    +
  • +

    128: Para enter 128K mode from within 48K mode

    +
  • +
  • +

    cd: Change current working directory

    +
  • +
  • +

    chmod: Change file attributes

    +
  • +
  • +

    cp: Copy a file

    +
  • +
  • +

    divideo: Play a DivIDEo (.DVO) video file

    +
  • +
  • +

    drives: Show currently available drives

    +
  • +
  • +

    dskprobe: Utility which shows low level content of an storage device

    +
  • +
  • +

    dumpmem: Can dump RAM memory content to a file

    +
  • +
  • +

    file: Tries to recognize the type of data contained in a file (like the UNIX command)

    +
  • +
  • +

    gramon: Monitor to search graphics, sprites, fonts, etc. in RAM memory

    +
  • +
  • +

    hexdump: Shows the contents of a file using hexadecimal notation

    +
  • +
  • +

    hexview: Allow to see and navigate through the contents os a file using hexadecimal notation

    +
  • +
  • +

    launcher: Creates a shortcut (launcher) to open directly a TAP file

    +
  • +
  • +

    ls: Show the content of a directory

    +
  • +
  • +

    lstap: Show the content of a .TAP file

    +
  • +
  • +

    mkdir: Create a directory

    +
  • +
  • +

    mktrd: Create a .TRD disk file

    +
  • +
  • +

    more: Show the content of a text file

    +
  • +
  • +

    mv: Move a file

    +
  • +
  • +

    partinfo: Show partition information of an storage device

    +
  • +
  • +

    playpt3: Play .PT3 music file

    +
  • +
  • +

    playsqt: Play .SQT music file

    +
  • +
  • +

    playstc: Play .STC music file

    +
  • +
  • +

    playtfm: Play .TFC music file

    +
  • +
  • +

    playwav: Play .WAV audio file

    +
  • +
  • +

    rm: Remove a file or a directory

    +
  • +
  • +

    snapload: Load snapshot file

    +
  • +
  • +

    speakcz: Reads text aloud using czech pronunciation

    +
  • +
  • +

    tapein: Mounts a .TAP file so that it can be used then from BASIC using LOAD sentence

    +
  • +
  • +

    tapeout: Mount a .TAP file so that it can be used then from BASIC using SAVE sentence

    +
  • +
  • +

    vdisk: Mount a .TRD disk file to use with the TR-DOS environment (once all the drives have been mounted, you can enter TR-DOS emulation by typing: RANDOMIZE USR 15616)

    +
  • +
+
+
+

Some BASIC extended commands are:

+
+
+
    +
  • +

    GO TO to change the current drive and/or directory (e.g.: GO TO hd1 or GO TO hd0"games")

    +
  • +
  • +

    CAT to show the content of a drive

    +
  • +
  • +

    LOAD to lad a file from a drive (BASIC Program, SCREEN, CODE, etc. for example LOAD *"Screen.scr" SCREEN$)

    +
  • +
  • +

    SAVE to save data in a file (e.g: SAVE *"Program.bas")

    +
  • +
  • +

    ERASE to delete a file

    +
  • +
+
+
+

In addition, esxdos also has an NMI manager, an application that loads when NMI (F5) is pressed, and lets you browse the microSD card and load easily files (TAP, Z80, TRD, etc.). Pressing the "H" key invokes a help screen, which shows all the available keys.

+
+
+ + + + + +
+ + +
+

The esxdos manager shows file and directory entries in the order stored in the internal FAT table, and not alphabetically. If you want to see them ordered, yo have to reorder the microSD card structure with a utility like Fat Sorter for Windows, FATsort for Linux and MacOS, YAFS, SDSorter or other.

+
+
+
+
+
+
+

ZXDOS+ Commands

+
+

As explained in the installation part, there are a series of commands that are exclusive to ZXDOS+:

+
+
+
    +
  • +

    back16m: Dumps to a FLASH.ZX1 file, in the root directory of the SD card, the contents of a 16 Meg SPI Flash memory. It must be run while using a "root" mode ROM. After finishing, it is necessary to execute the command .ls so that the cache is written to the card

    +
  • +
  • +

    backzx2 or backzxd: Creates a FLASH.ZX2 o FLASH.ZXD file, in the root directory of the SD card, with the contents of a 32 Meg SPI Flash memory. It must be run while using a "root" mode ROM.After finishing its execution, you must execute the command .ls to finish recording the cache on the microSD card. If not, the length of the file will be wrongly set to 0

    +
  • +
  • +

    corebios: To upddate simultaneously ZX Spectrum core and BIOS

    +
  • +
  • +

    dmaplayw: Plays .WAV file, which has to be 8 bits, unsigned y mand sampled at 15625 Hz

    +
  • +
  • +

    esprst: Resets the WiFi ESP8266(ESP-12) module

    +
  • +
  • +

    iwconfig: To configure the WiFi module

    +
  • +
  • +

    joyconf: Configuration and tests for keyboard and DB joysticks

    +
  • +
  • +

    keymap: Used to load a different keyboard map definition

    +
  • +
  • +

    loadpzx: To load a .PZX tape file

    +
  • +
  • +

    playmid: Plays .MID music files using the MIDI addon

    +
  • +
  • +

    playrmov: Plays radastanian format video files .RDM). This command does not work on 48K mode.

    +
  • +
  • +

    romsback: Dumps to a RomPack File named ROMS.ZX1, in the root directory of the microSD card, all ZX Spectrum core ROMS which are stored in SPI flash memory. It must be run while using a "root" mode ROM. Only works correctly on ZX-Uno and ZXDOS (do not use on ZXDOS+ or gomaDOS+).

    +
  • +
  • +

    romsupgr: Load from a RomPack filel named ROMS.ZX1, in the root directory of the microSD card, all ZX Spectrum core ROMS into SPI flash memory. It must be run while using a "root" mode ROM

    +
  • +
  • +

    upgr16m: Load the content of a FLASH.ZX1 file, in the root directory of the microSD card, to a 16 Meg SPI Flash memory. It must be run while using a "root" mode ROM

    +
  • +
  • +

    upgrzx2 or upgrzxd: Write the content of a FLASH.ZX2 o FLASH.ZXD file, in the root directory of the microSD card, to a 32 Meg SPI Flash memory. It must be run while using a "root" mode ROM.

    +
  • +
  • +

    zxuc: Utility to configure al options of BIOS, which also can be stored in the microSD in configuration files that can be loaded later

    +
  • +
  • +

    zxunocfg: Configuration utillity for certain features of ZX-Uno such as timings, contention, keyboard type, CPU speed, video type or vertical frequency

    +
  • +
+
+
+
+
+
+

Wi-Fi

+
+

Each gomaDOS+, and some models of ZXDOS+, include inside an ESP-12 module with an ESP8266 Wi-Fi chip, that can be easily used with a ZX Spectrum core (e.g., EXP27 160820 core) which has synthesized an UART device, that allows communication with the module.

+
+
+

There are two "DOT" commands for configuring software access to the module. Then can be downloaded from GitHub official repository:

+
+
+
    +
  • +

    esprst, which restarts the module

    +
  • +
  • +

    iwconfig, to register the Wi-Fi network name (SSID) and password, keeping them in the file /sys/config/iw.cfg.

    +
  • +
+
+
+

For example:

+
+
+
+
.iwconfig mywifi mypassword
+
+
+
+

Network tools for ZX-Uno pack

+
+

These are programs, developed by Nihirash and that are available to download from his web.

+
+
+
    +
  • +

    netman: Utility to configure the ESP Wi-Fi chip for other programs from Nihirash. Does not work in 48K mode

    +
  • +
  • +

    uGophy: Gopher client. Does not work in 48K mode

    +
  • +
  • +

    irc: Internet Relay Chat client. Works better at 14 Mhz

    +
  • +
  • +

    wget: Utility to download files with HTTP (does not work with HTTPS)

    +
  • +
  • +

    platoUNO: PLATO client. Also works better at 14 Mhz. For more information about PLATO, check IRATA.ONLINE web

    +
  • +
+
+
+
+

FTP-Uno

+
+

FTP cliente developed by Yombo, available at GitHub.

+
+
+

Configuration steps:

+
+
+
    +
  1. +

    Edit FTP.CFG file with all the required information (SSID and password, FTP server, etc.)

    +
  2. +
  3. +

    Copy FTP.CFG inside /SYS/CONFIG/ in microSD card

    +
  4. +
  5. +

    Also copy ftpUno.tap to any place in the card

    +
  6. +
  7. +

    Start up ZXDOS+ y load the tape file ftpUno.tap

    +
  8. +
+
+
+
+
+

UART Terminal

+
+

Program example included with ZXYLib C library, developed by yombo, that let’s you send directly typed characters using the UART, and also see the result. Available to download at this link.

+
+
+

Once the file UARTTERM.tap is in the card and loaded, you can type several specific commands for ESP8266 chip. For example:

+
+
+
    +
  • +

    AT. To check if ther is communication. OK would be the result if everything is fine

    +
  • +
  • +

    AT+RST. To restart the chip. Exactly what esprst command does

    +
  • +
  • +

    AT+GMR. To see some information, like firmware version, etc.

    +
  • +
  • +

    AT+CWMODE_CUR=1. Put temporarily the chip into Wi-Fi client mode, until next restart

    +
  • +
  • +

    AT+CWMODE_DEF=1. Put temporarily the chip into Wi-Fi client mode, and save it as default

    +
  • +
  • +

    AT+CWJAP_CUR="<WiFiNetwork>","<WiFiPassword>", where <WiFiNetwork> Wi-Fi ID of the network to connect to, and <WiFiPassword> the access password, connects temporarily to that network

    +
  • +
  • +

    AT+CWJAP_DEF="<WiFiNetwork>","<WiFiPassword>", connects to the network, and saves the settings as default in the chip flash memory

    +
  • +
  • +

    AT+CWAUTOCONN=1 sets the chip to connect automatically on boot to the default network (AT+CWAUTOCONN=0 disables it)

    +
  • +
+
+
+

You can see all the available commands reading the official documentation.

+
+
+
+
+
+

Making RDM (RaDastan Movie) files

+
+

The PLAYRMOV "DOT" command plays radastanian format video files. To convert your own videos, you need makevideoradas, a utility that is available at SVN repository.

+
+
+

If using Windows, there is already an executable file (makevideoras.exe). For Linux or MacOS, you must have installed command line developer utilities in order to compile an executable

+
+
+
+
gcc makevideoradas.c -o makevideoradas
+
+
+
+

Apart from makevdideoradas, you need another two tools: ffmpeg and imagemagick. These can be installed with a package manager (apt, yum, pacmam, brew, etc.) or downloading the source code and compiling.

+
+
+

Now, the first step to convert our video (for example myvideo.mp4), is exporting the frames as 128x96 pixel BMP image files. We create a temporary file (img for this example), to store them.

+
+
+
+
mkdir img
+(...)/ffmpeg -i myvideo.mp4 -vf "scale=128:96,fps=25" -start_number 0 img/output%05d.bmp
+
+
+
+

Now we transform the BMP files to 16 colours (v3) BMP files.

+
+
+
+
(...)/magick mogrify -colors 16 -format bmp -define bmp:format=bmp3 img/*.bmp
+
+
+
+

Finally, we assemble the .RDM file (in this example myvideo.rdm) and cleanup the temporary files and directory.

+
+
+
+
(...)/makevideoradas img/output
+mv img/output.rdm ../myvideo.rdm
+rm -rf img
+
+
+
+

There is more information about all this process at this thread in Zona de Pruebas forums.

+
+
+
+
+
+
+

Upgrade

+
+
+

BIOS

+
+

To update the BIOS, a file named FIRMWARE.ZX2 (for a ZXDOS+ with an FPGA LX16 board) or FIRMWARE.ZXD (for a ZXDOS+ with an FPGA LX25 board) must be obtained. The latest version of the firmware files can be downloaded from the official repository

+
+
+ + + + + +
+ + +
+

Updating the firmware (BIOS) is delicate. It should not be done if it is not necessary. If doing so, ensure that the ZXDOS+ has uninterrupted power (such as a UPS or a laptop USB with battery).

+
+
+
+
+

Copy the file to the root of the MicroSD card, turn on and press F2 to enter BIOS, select Upgrade, choose "Upgrade BIOS for ZX", and then "SDfile". The system will read the file FIRMWARE…​ and notify when finished.

+
+
+
+

ROMs

+
+

The flash memory of a ZXDOS+ has reserved 64 slots, 16K each, to store ZX Spectrum ROM images. Thus, an original ZX Spectrum ROM (16K) will take one slot, a ZX Spectrum 128K ROM (32K) will be two slots, and a ZX Spectrum +2A ROM (64K) will need 4 slots.

+
+
+

You can add a new ROM pressing the key N at the BIOS ROMs screen, connecting an audio cable to the board, and playing a ROM audio tape. ROM audio tapes can be made from a .tap file built with the GenRom utility, available at ZX-Uno Code Repository.

+
+
+

To update at once all the ROMs installed for ZX Spectrum, a RomPack file named ROMS.ZX1 must be obtained, which must be copied to the MicroSD card. Boot the ZXDOS+ using a "rooted" ROM, and then just enter the command .romsupgr. This will burn all the ROMs, which will be available for use.

+
+
+ + + + + +
+ + +
+

At this moment, romsupgr, only works correctly with RomPack files using a maximum of 35 slots.

+
+
+
+
+ + + + + +
+ + +
+

Remember that if the ZXDOS+ is started by pressing the / key (on the numeric keyboard) (Symbol Shift+V in gomaDOS+), then the default ROM of the ZX Spectrum core will be loaded in" root "mode.

+
+
+
+
+

To do the opposite process (save the ROMs in a RomPack file named ROMS.ZX1), you can use the` .romsback` command.

+
+
+ + + + + +
+ + +
+

At this moment, romsback, only stores correctly the first 35 used slots.

+
+
+
+
+

RomPack files can be easily edited with the http: // guest: zxuno@svn.zxuno.comsvn/zxuno/software/ZX1RomPack/[ZX1RomPack] utility. Although it is a Windows program, it works perfectly, for example using Wine or similar programs, either on MacOS or Linux.

+
+
+
+

Cores

+
+

There are a number of available spaces where you can store cores (the number depends on the size of the SPI Flash of the ZXDOS+ model), the first space being reserved for the main ZX Spectrum (this does not prevent having more ZX Spectrum cores in other space as well of the first).

+
+
+

Official cores are available to download from GitHub repository.

+
+
+

To update or install a new core there are several possibilities.

+
+
+

The easiest way is to obtain the latest version of the file that defines the core, which will be a file that must be named COREnn.ZX2 (for a ZXDOS + with an FPGA LX16 board) or COREnn.ZXD (for a ZXDOS + with an LX25 board), where nn is the slot number where to install (for example CORE2.ZX2 or CORE2.ZXD for slot 2).

+
+
+ + + + + +
+ + +
+

Starting with BIOS version 0.80, files are named using the COREXXy.ZXn convention where XX always is a two-digit number. Thus, an old CORE4.ZXD file has to be renamed as CORE04.ZXD. The y part of the name is ignored, so longer and more descriptive names can be used (such as CORE04_example.ZXD).

+
+
+
+
+

Copy the file to the root of the microSD card, turn on and press F2 to enter BIOS. Choose Upgrade, select the row corresponding to the chosen core number (for example, 2 - just after Spectrum), press enter and then " SD file ". The system will read the file COREnn .. and warn when it is updated, although first it will ask for the name (to be shown in the list to choose from at startup and in the BIOS list).

+
+
+ + + + + +
+ + +
+

The ZX Spectrum core update is exactly the same as other cores, but instead of the name CORE1.ZX2 or CORE1.ZXD, it has to be a file named SPECTRUM.ZX2 or SPECTRUM.ZXD.

+
+
+
+
+
+

esxdos

+
+

To update esxdos to a new version, the distribution must be obtained from the official website.

+
+
+

Once downloaded and extracted, the contents of BIN and SYS directories have to be copied to the root of the card, merging the existing ones (to preserve the exclusive ZXDOS+ commands).

+
+
+

Copy ESXMMC.BIN (or ESXMMC.ROM, depending on version) to the root of the microSD card.

+
+
+

Start ZXDOS + with the card inserted and press F2 to access BIOS setup. Select the Upgrade menu and choose "Upgrade esxdos for ZX". In the dialog that appears choose "SD file" and, when it asks "Load from SD" answer "Yes" to the question "Are you sure?". The content of the file ESXDOS…​ will be read, written to the flash storage and you will be notified when it is updated.

+
+
+

Do a Hard-reset, or turn it off and on.

+
+
+

If everything has been done correctly, when you turn on the ZXDOS+ you will see how esxdos detects the card and loads the necessary components to work, showing the new version at the top.

+
+
+
+

Flash Memory

+
+

You also can update all the FPGA flash memory. At this moment, from the BIOS you can only use 16MiB image files. To use a 32MiB image, you must use esxdos UPGRZX2 or UPGRZXD command and a file named FLASH.ZX2 or FLASH.ZXD.

+
+
+

Copy the image file (16MiB) FLASH.ZXD to the root of the microSD card.

+
+
+

Turn on the ZXDOS+ and press the F2 key (Caps Shift+1 on gomaDOS+) during boot to access the BIOS setup. Select the menu Upgrade and then choos the option "Upgrade flash from SD". Press Enter, choose Yes, and press Enter again to start the Flash writing process.

+
+
+

Do a Hard-Reset or turn of and on again.

+
+
+ + + + + +
+ + +
+

This process can’t be undone, and it will replace all the previously installed cores, the BIOS, the ZX Spectrum ROMs and their configuration with the data in the image file.

+
+
+
+
+
+
+
+
+

Other cores

+
+
+

ZX Spectrum 48K (Kyp)

+
+

Alternative core, whose objective is to be the most accurate implementation in timings, memory contention, etc.

+
+
+

Main features:

+
+
+
    +
  • +

    Only working on RGB (no VGA)

    +
  • +
  • +

    Specdrum

    +
  • +
  • +

    Turbosound (two AY chips) with mix selection ACB/ABC

    +
  • +
  • +

    DivMMC with esxdos 0.8.8

    +
  • +
  • +

    Kempston joystick in port 1

    +
  • +
+
+
+

microSD card format

+
+

You need a microSD card with the first partition formatted as FAT16 or FAT32, and inside, the standard esxDOS 0.8.8 (see esxdos corresponding section for more info).

+
+
+
+

Keyboard

+ +
+
+

Special keys and buttons

+
+

While the core is running:

+
+
+
    +
  • +

    Esc (Caps Shift+Space on gomaDOS+): BREAK

    +
  • +
  • +

    F5 (Caps Shift+Symbol Shift+5 on gomaDOS+): NMI

    +
  • +
  • +

    F8 (Caps Shift+Symbol Shift+8 on gomaDOS+): Change Turbosound mixer configuration between ACB and ABC.

    +
  • +
  • +

    Ctrl+Alt+Backspace (Caps Shift+Symbol Shift+B on gomaDOS+) or F11 (Caps Shift+Symbol Shift+Q on gomaDOS+): Hard reset. Backspace is the delete key, located in the top-right portion of the keyboard, above Enter.

    +
  • +
  • +

    Ctrl+Alt+Supr (Caps Shift+Symbol Shift+N on gomaDOS+) or F12 (Caps Shift+Symbol Shift+W on gomaDOS+): Soft reset.

    +
  • +
+
+
+
+
+
+

ZX Spectrum Next

+
+

ZX Spectrum Next is an FPGA based project, which wants to be the evolution of the Sinclair ZX Spectrum line of computers. It brings new features while keeping hardware and software compatibility with previous ZX Spectrum computers.

+
+
+

Specially thanks to avlixa, there exists a ZX Spectrum Next core synthesized for ZXDOS+.

+
+
+

The core, for the moment does not have any of these features:

+
+
+
    +
  • +

    Raspberry Pi

    +
  • +
  • +

    Internal beeper

    +
  • +
  • +

    EDGE expansion Connector

    +
  • +
  • +

    RTC module

    +
  • +
  • +

    Membrane keyboard

    +
  • +
  • +

    Flashing additional cores or upgrading the Next core from within the Next core

    +
  • +
  • +

    MIC out

    +
  • +
  • +

    HDMI Video

    +
  • +
  • +

    UART communication using the joystick port

    +
  • +
+
+
+

The user manual is available to download at the official web page.

+
+
+
+

microSD card format

+
+

You have to use a microSD card with the first partition formatted as FAT16 or FAT32, and inside, the standard esxDOS distribution, matching ZXDOS+ BIOS version (see esxdos corresponding section for more info).

+
+
+

Download NextZXOS distribution from the official page.

+
+
+

Extract NextZXOS in the root of the microSD card, and then edit config.ini under c:/machines/next to include the line ps2=0 if it doesn’t exist or edit the existing line from 1 to 0. This effectively switches the dual PS/2 port to keyboard first as the Next Firmware (TBBLUE.FW) switches the primary input to mouse. Also edit the line intbeep=0 to disable the internal beeper (this last step is not necesary on gomaDOS+).

+
+
+

If it wasn’t already, install ZX Spectrum Next core into ZXDOS+.

+
+
+
+

Keyboard

+ +
+
+

Special keys and buttons

+
+

The following gomaDOS+ key combinations are in ZX keyboard mode. Please check the corresponding section for more information. You can also use PC XT keyboard mode combinations .

+
+
+

Take into account that Ctrl+Alt+backspace does not work with the ZX Spectrum Next core. You have to power cycle if you want to use another core. Also, there is no Reset or Drive button.

+
+
+

While the core is running:

+
+
+
    +
  • +

    F1 (Caps Shift+Symbol Shift+1 on gomaDOS+): Hard Reset

    +
  • +
  • +

    F2 (Caps Shift+Symbol Shift+2 on gomaDOS+): Scandoubler. Doubles the resolution. Should be of for SCART

    +
  • +
  • +

    F3 (Caps Shift+Symbol Shift+3 on gomaDOS+): Change vertical frequency between 50Hz and 60Hz

    +
  • +
  • +

    F4 (Caps Shift+Symbol Shift+4 on gomaDOS+): Soft Reset

    +
  • +
  • +

    F7 (Caps Shift+Symbol Shift+7 on gomaDOS+): Scanlines

    +
  • +
  • +

    F9 (Caps Shift+Symbol Shift+9 on gomaDOS+): NMI

    +
  • +
  • +

    F10 (Caps Shift+Symbol Shift+0 on gomaDOS+): divMMC NMI. Simulates Drive button. If used with Caps Shift it forces a rescan of drives and a reload of the boot screen under esxDOS

    +
  • +
+
+
+
+
+

Basic Guide

+
+

On first boot, some help screens will show up. After pressing Space key, NextZXOS Startup Menu appears.

+
+
+

next

+
+
+

You can navigate the menu with the cursor keys, 5, 6, 7 and 8 keys, or a joystick (if configured as Kempston, MD or cursor). Enter or the joystick button chooses one element.

+
+
+

More…​ shows a second menu with more options.

+
+
+

next2

+
+
+
+

If you choose Browser, NextZXOS Browser will start, and then you can see the contents of the microSD card and load a file (TAP, NEX, DSK, SNA, SNX, Z80, Z8, etc.).

+
+
+ + + + + +
+ + +
+

The browser shows file and directory entries in the order stored in the internal FAT table, and not alphabetically. If you want to see them ordered, yo have to reorder the microSD card structure with a utility like Fat Sorter for Windows, FATsort for Linux and MacOS, YAFS, SDSorter or other.

+
+
+
+
+

next3

+
+
+ + + + + +
+ + +
+

At the time of writing, the ZX Spectrum Next core for ZXDOS+ does not support the use of a Raspberry Pi-based accelerator, so it is not possible to load TZX files.

+
+
+
+
+ + + + + +
+ + +
+

It is not possible to load TRD files directly from the Browser (NextZXOS must be configured to load a "personality" with esxdos).

+
+
+
+
+

For more information, see the official user manual.

+
+
+
+
+
+

MSX

+
+

MSX1FPGA is a project to clone MSX1 in FPGA. The original development is by Fabio Belavenuto and is available at GitHub.

+
+
+

Some of its features are:

+
+
+
    +
  • +

    MSX1 at 50Hz or 60Hz

    +
  • +
  • +

    128K Nextor (MSX-DOS2 evolution) ROM with SD driver

    +
  • +
  • +

    Reconfigurable keyboard map

    +
  • +
  • +

    Scanlines

    +
  • +
  • +

    Joystick support

    +
  • +
+
+
+

microSD format

+
+

You have to use a microSD card with the first partition in FAT16 format. You can also use a second FAT16 partition for MSX software, and leaving the firt one only for the system startup.

+
+
+

You need to get:

+
+
+ +
+
+

Copy the contents of the SD directory in the root of the first partition of the microSD.

+
+
+

Copy NEXTOR.SYS to the same place.

+
+
+

Copy NEXTOR.ROM inside the MSX1FPGA directory.

+
+
+

Copy one MSX1 ROM (MSX_INT.rom, MSX_JP.rom or MSX_USA.rom) inside the MSX1FPGA directory, but renaming it to MSX1BIOS.ROM.

+
+
+

The file /MSX1FPGA/config.txt keeps the core configuration, using this format:

+
+
+
+
11SP01
+||||||
+|||||+-Scanlines: 1=Enabled, 0=Disabled
+||||+--Turbo: 1=Initialize with turbo enabled
+|||+---Colour System: N=NTSC, P=PAL
+||+----Keymap: E=English, B=Brazilian, F=Francese, S=Spanish, J=Japanese
+|+-----Scandoubler(VGA): 1=Enabled, 0=Disabled
++------Nextor: 1=Enabled, 0=Disabled
+
+
+
+

If it wasn’t already, install MSX core into ZXDOS+.

+
+
+
+
+

Keyboard

+ +
+
+

Special keys and buttons

+
+

The following gomaDOS+ key combinations are in MSX keyboard mode. Please check the corresponding section for more information. You can also use PC XT keyboard mode combinations .

+
+
+

While running the core:

+
+
+
    +
  • +

    Print Scr: Changes between VGA and RGB mode

    +
  • +
  • +

    Scroll Lock (Caps Shift+Symbol Shift+G on gomaDOS+): Enables or disables scanlines

    +
  • +
  • +

    Pause: Changes between 50Hz and 60Hz

    +
  • +
  • +

    F11 (Caps Shift+Symbol Shift+Q on gomaDOS+): Enables and disables turbo mode

    +
  • +
  • +

    Ctrl+Alt+Supr: Soft Reset

    +
  • +
  • +

    Ctrl+Alt+F12: Hard Reset

    +
  • +
  • +

    Ctrl+Alt+Backspace (Caps Shift+Symbol Shift+B on gomaDOS+, ZX Spectrum keyboard mode): Restarts the FPGA

    +
  • +
  • +

    Left ALT: MSX GRAPH

    +
  • +
  • +

    Right ALT: MSX CODE

    +
  • +
  • +

    Page Up: MSX SELECT

    +
  • +
  • +

    Start: MSX HOME (Shift+HOME: CLS)

    +
  • +
  • +

    End: MSX STOP

    +
  • +
  • +

    Ñ or Windows: MSX DEAD

    +
  • +
+
+
+ + + + + +
+ + +
+

In BASIC use CTRL+STOP (Ctrl+End) keys to stop the execution of a program.

+
+
+
+
+ + + + + +
+ + +
+

To change the video mode between 50Hz and 60Hz (and thus play at correct speed PAL games), you can use also use DISPLAY.COM, which can be downloaded here.

+
+
+
+
+
+
+

Basic Guide

+
+

To go to BASIC from MSX-DOS you must execute BASIC command.

+
+
+

From within BASIC, you can load from a external tape (or other external audio device) with the commansds RUN"CAS:", BLOAD"CAS:",R or CLOAD.

+
+
+

Para acceder a MSX-DOS desde BASIC, ejecutar CALL SYSTEM.

+
+
+

To go to MSX-DOS from BASIC, execute CALL SYSTEM.

+
+
+
+
MSXCTRL
+
+

An exclusive utility of MSX1FPGA core, which lets you control all the core options that were previously available only by editing the configuration file or with some key combination.

+
+
+

When running MSXCTRL all the use parameters are shown:

+
+
+
+
MSXCTRL.COM - Utility to manipulate MSX1FPGA core.
+HW ID = 06 - ZX-Uno Board
+Version 1.3
+Mem config = 82
+Has HWDS = FALSE
+
+Use:
+
+MSXCTRL -h -i -r -b -[5|6] -m<0-2>
+        -c<0-1> -d<0-1> -t<0-1>
+        [-w<filename> | -l<filename>]
+        -k<0-255> -e<0-255> -p<0-255>
+        -s<0-255> -o<0-255> -a<0-255>
+
+
+
+

MSXCTRL -h show help for a parameter. For example, MSXCTRL -i show the current configuration, -t 1 sets turbo mode on, etc.

+
+
+
+
Other
+
+

There are different ways to load games depending on the kind of file: .CAS, .DSK o ROM (see this ZX-Uno forums thread for more info).

+
+
+

The spanish keymap officially available can be replaced with a better one. See here for more information.

+
+
+
+
+
+
+

Amstrad CPC

+
+

ZXDOS+ Amstrad CPC core is based on the FPGAmstrad project by Renaud Hélias.

+
+
+

Some of its features are:

+
+
+
    +
  • +

    VGA: 640x480 VGA centered at 60Hz

    +
  • +
  • +

    Disk selection: The first disk image detected is inserted on startup, and pressing a key makes a reset and loads the next one

    +
  • +
+
+
+

microSD card format

+
+

You have to use a microSD card with the first partition in FAT32 format, 4GB in size, and with 4096 bytes per cluster.

+
+
+

You also need the following ROM files (they are available at the original project Wiki) or from the GitHub repository: +- OS6128.ROM +- BASIC1-1.ROM +- AMSDOS.ROM +- MAXAM.ROM

+
+
+

It is also recommended to copy one or more disk image files (DSK) with the software that you want to run.

+
+
+

Copy all ROM and DSK files to the root directory of the FAT32 partition.

+
+
+
+

Keyboard

+ +
+
+

Special keys and buttons

+
+

The following gomaDOS+ key combinations are in Amstrad CPC keyboard mode. Please check the corresponding section for more information. You can also use PC XT keyboard mode combinations.

+
+
+

During core execution:

+
+
+
    +
  • +

    Page Up (Caps Shift+Symbol Shift+E on gomaDOS+): Reset the Amstrad computer and load the next DSK file alphabetically

    +
  • +
  • +

    On a PS/2 keyboard, only the left shift key works properly

    +
  • +
+
+
+
+
+

Basic Guide

+
+

Use the CAT command to see the contents of the currently loaded DSK file.

+
+
+

cpc

+
+
+

Type the command RUN"<name> to load a program from disk

+
+
+

cpc2

+
+
+

Press Page Up key to reset and load the next DSK file.

+
+
+
+
+
+

Acorn Atom

+
+

Acorn Atom was a home computer made by Acorn Computers Ltd. The ZXDOS+ core (based on the ZX-Uno core made by Quest) is an adaptation of the AtomFPGA project. You can get more information at ZX-Uno Forums.

+
+
+

microSD card format

+
+

You have to use a microSD card with the first partition in FAT16 format.

+
+
+

Download the latest version of Atom Software Archive from GitHub.

+
+
+

You can set up the files in the microSD in two different ways:

+
+
+
    +
  1. +

    Extract all the contents of the archive to the root of the SD card. SYS directory contents are compatible with esxdos SYS directory, so you can merge both into one.

    +
  2. +
  3. +

    Have less files an directorios in the root directory. Create a directory named ATOM in the SD root, and copy inside all the uncompressed archive content, except for the directory MANPAGES which must also be in root. Then, extract and the files from trick_ATOM_folder archive (available at ZX-Uno Forum), replacing any file with the same name. You will get a file and directory structure like this:

    +
  4. +
+
+
+
+
        /
+        +-ATOM/
+        |  +-AA/
+        |  (...)
+        |  +-AGD/
+        |  | +-SHOW2
+        |  | +-SHOW3
+        |  (...)
+        |  +-MENU
+        |  (...)
+        |  +-TUBE/
+        |  | +-BOOT6502
+        |  (..)
+        |
+        +-MANPAGES/
+        |  +-CPM.MAN
+        |  +-FLEX.MAN
+        |  (...)
+        |
+        +-MENU
+
+
+
+
+
+

Keyboard

+ +
+
+

Special keys and buttons

+
+

The following gomaDOS+ key combinations are in Acorn Electron keyboard mode. Please check the corresponding section for more information. You can also use PC XT keyboard mode combinations.

+
+
+

While the core is running:

+
+
+
    +
  • +

    Shift+F10: Shows Atom Software Archive Menu

    +
  • +
  • +

    F10 (Caps Shift+Symbol Shift+0 on gomaDOS+): Soft Reset

    +
  • +
  • +

    F1 (Caps Shift+Symbol Shift+1 on gomaDOS+): Turbo mode 1Mhz

    +
  • +
  • +

    F2 (Caps Shift+Symbol Shift+2 on gomaDOS+): Turbo mode 2Mhz

    +
  • +
  • +

    F3 (Caps Shift+Symbol Shift+3 on gomaDOS+): Turbo mode 4Mhz

    +
  • +
  • +

    F4 (Caps Shift+Symbol Shift+4 on gomaDOS+): Turbo mode 8Mhz

    +
  • +
+
+
+

The keyboard uses the following mapping:

+
+
+

keyboardAtom

+
+
+
+
+

Basic Guide

+
+

Sometimes, after starting up the core, a screen full of @ appears. Ejecting and inserting, or only inserting, the microSD card will fully start the system.

+
+
+

acorn

+
+
+

Once it’s running, press Shift+F10 to show a menu where you can choose and load Atom Software Archive programs from the card.

+
+
+
+
+
+

Commodore 64

+
+

The Commodore 64 (C64, CBM 64/CBM64, C=64,C-64, VIC-641​), was an 8-bit home computer manufactured by Commodore International.

+
+
+

The ZXDOS+ core is developed by Neuro.

+
+
+

microSD card format

+
+

You can use a microSD card with the first partition formatted as FAT16 or FAT32. Disk image (D64) and tape (TAP) files can be loaded from the SD card.

+
+
+

See the corresponding section for instructions of how to install the Commodore 64 core in ZXDOS+.

+
+
+
+

Keyboard

+ +
+
+

Special keys and buttons

+
+

The following gomaDOS+ key combinations are in Commodore 64 keyboard mode. Please check the corresponding section for more information. You can also use PC XT keyboard mode combinations.

+
+
+

While the core is running:

+
+
+
    +
  • +

    F9 Caps Shift+Symbol Shift+9 on gomaDOS+): Play/Pause a TAP file

    +
  • +
  • +

    F12 (Caps Shift+Symbol Shift+W on gomaDOS+): Shows options menu

    +
  • +
  • +

    Scroll Lock (Caps Shift+Symbol Shift+G on gomaDOS+): switches between VGA and RGB modes

    +
  • +
  • +

    Esc (Caps Shift+Space on gomaDOS+): RUN/STOP (Shift+RUN/STOP: Load from tape)

    +
  • +
+
+
+
+
+

Basic Guide

+
+

After pressing F12 (Caps Shift+Symbol Shift+W on gomaDOS+), the option menu is shown.

+
+
+

c64

+
+
+

The menu offers the following options

+
+
+
    +
  • +

    Core reset

    +
  • +
  • +

    Enable o disable scanlines

    +
  • +
  • +

    Change colour palette (Colores Payaso MICOLOR)

    +
  • +
  • +

    Enable or disable PAL mode

    +
  • +
  • +

    Enable or disable tape loading sound (Sonido Carga Cinta)

    +
  • +
  • +

    Enable or disable audio filter (Filtro de Audio)

    +
  • +
  • +

    Load D64 file from SD (Carga D64)

    +
  • +
  • +

    Load TAP file (Carga Tap)

    +
  • +
+
+
+

After a disk is inserted, normally, you can use LOAD "*",8,1 and press Enter to load the software inside. Once READY is shown on screen, type RUN and press Enter to execute it.

+
+
+

If there was more than one program in the disk, type LOAD "$" and press Enter. Then, type LIST, and press Enter, to see a list with the files in the disk. Now, to load one of them, type LOAD "<name>",8 (where <name> is the name of the file to load) and press Enter. Once READY is shown on screen, type RUN and press Enter to execute it. If this didn’t work try again with the command LOAD "<name>",8,1.

+
+
+

To load from tape, Select "Carga Tap" option from the menu. Then, browse the microSD and select the TAP file to load, press ENTER and close the options menu. After that, type LOAD and press Enter, or press Shift+Esc (Shift+RUN/STOP). Finally, when pressing F9 (Caps Shift+Symbol Shift+9 on gomaDOS+) the tape file will start playing (you can enable the tape loading sound selecting "Sonido Carga Cinta" in the options menu). Once the loading finishes, type RUN and press ENTER if needed.

+
+
+
+
+
+

Phoenix

+
+

Space-Themed shooter video game released in arcades by Amstar Electronics.

+
+
+

Some of the features of the ZXDOS+ core are:

+
+
+
    +
  • +

    Two different video modes: RGB/PAL60Hz and VGA 60Hz

    +
  • +
  • +

    Scanlines on VGA mode

    +
  • +
  • +

    Controls can be optionally rotated 90º

    +
  • +
+
+
+

microSD format

+
+

This core does not use the microSD card.

+
+
+
+

Keyboard

+ +
+
+

Special keys and buttons

+
+

While the core is running:

+
+
+
    +
  • +

    Q and A or Left Cursor and Right Cursor (or a joystick): Movement control

    +
  • +
  • +

    Z or X Left Windows Key and Space (or joystick buttons 1 and 2): Fire 1 and 2, also to insert coin and Start

    +
  • +
  • +

    F2 (Caps Shift+Symbol Shift+B on gomaDOS+): Switches between VGA and RGB modes

    +
  • +
  • +

    - (numeric keyboard): Enable or disable scanlines

    +
  • +
  • +

    Tab (Caps Shift+Enter on gomaDOS+, PC XT keyboard mode): Enables or disables 90º rotation of the direction of controls

    +
  • +
+
+
+
+

Basic Guide

+
+

By default, the core starts with normal controls, configured for vertical displays. If you have an horizontal display, the image will be rotated. To ease the control, and make it more natural and according to what you see, when typing Tab, up-down directions are switched with left-right. This is both for joystick and keyboard controls.

+
+
+
+
+
+

Pong

+
+

Pong was one of the earliest arcade video games manufactured by Atari.

+
+
+

Some features of this core are:

+
+
+
    +
  • +

    Two different video modes: RGB/PAL60Hz and VGA 60Hz

    +
  • +
  • +

    7 game variants

    +
  • +
  • +

    Support for 2 or 4 players

    +
  • +
  • +

    Support for Joysticks, keyboard, mouse and rotary encoder controls (see here for more information)

    +
  • +
  • +

    Several colour modes

    +
  • +
+
+
+

microSD format

+
+

This core does not use the microSD card.

+
+
+
+

Keyboard

+ +
+
+

Special keys and buttons

+
+

While the core is running:

+
+
+
    +
  • +

    Esc or joystick button 2 (or Caps Shift+Space on gomaDOS+, PC XT keyboard mode): Show or hide configuration menu

    +
  • +
  • +

    Ctrl+Alt+Backspace (Caps Shift+Symbol Shift+B on gomaDOS+, ZX Spectrum keyboard mode): Hard reset

    +
  • +
  • +

    Scroll Lock (Caps Shift+Symbol Shift+G on gomaDOS+, ZX Spectrum keyboard mode): switch between VGA and RGB mode

    +
  • +
  • +

    F3 o F12 (Caps Shift+Symbol Shift+3 or Caps Shift+Symbol Shift+W on gomaDOS+): Restart game

    +
  • +
  • +

    Number between 1 and 7: Change the game variant

    +
  • +
  • +

    Joystick 2 (right): Control right pad (Player 1).

    +
  • +
  • +

    Joystick 1 (left): Control left pad (Player 2)

    +
  • +
  • +

    Cursor up and Cursor down or O and K: Control right pad (Player 1 in 2 player mode and player 3 in 4 player mode)

    +
  • +
  • +

    Q and A: Control left pad (Player 2 in 2 player mode and player 4 in 4 player mode)

    +
  • +
  • +

    Z, M or joystick button 1: Manual serve

    +
  • +
  • +

    Cursor keys (Caps Shift+5, Caps Shift+6, Caps Shift+7 and Caps Shift+8 on gomaDOS+, PC XT keyboard mode) and Enter to use the menu

    +
  • +
+
+
+
+
+

Basic Guide

+
+

Pressing Esc or joystick button 2 (Caps Shift+Space on gomaDOS+, PC XT keyboard mode) shows or hides the configuration menu. Cursor keys (Caps Shift+5, Caps Shift+6, Caps Shift+7 and Caps Shift+8 on gomaDOS+, PC XT keyboard mode) and Enter to select and choose menu options.

+
+
+

pong

+
+
+

The following options are available:

+
+
+
    +
  • +

    Serve mode

    +
  • +
  • +

    Ball Angle

    +
  • +
  • +

    Ball Speed

    +
  • +
  • +

    Paddle Size

    +
  • +
  • +

    Sound

    +
  • +
  • +

    Number of players

    +
  • +
  • +

    Speed mode

    +
  • +
  • +

    Angle mode

    +
  • +
  • +

    Joystick, mouse, etc. controls

    +
  • +
  • +

    Paddle accuracy

    +
  • +
  • +

    Colour mode

    +
  • +
  • +

    Exit

    +
  • +
+
+
+
+
+
+

NES

+
+

Nintendo Entertainment System (also known as Nintendo NES or just NES) is the second home video game console produced by Nintendo.

+
+
+

The ZXDOS+ core has been made by Nihirash, based on the previous version for ZX-Uno by DistWave y Quest.

+
+
+

Some features of this core are:

+
+
+
    +
  • +

    HQ2X filters that "removes pixels" from the image

    +
  • +
  • +

    Scanlines simulation

    +
  • +
  • +

    Made with NES NTSC clock timings, so only USA ROMs run fine. PAL ROMs run faster than they sould

    +
  • +
  • +

    You can load ROMs from the SD

    +
  • +
  • +

    You need, at least, one gamepad or joystick connected, and it must have several buttons

    +
  • +
  • +

    Only VGA video mode is supported, with non-accurate timings, so it may not work with some displays

    +
  • +
+
+
+

microSD card format

+
+

You need a microSD card with the first partition in FAT16 format to store ROM image files of the games to load. ROM files can be inside subdirectories.

+
+
+

See the corresponding section for instructions of how to install the NES core in ZXDOS+.

+
+
+
+

Keyboard

+ +
+
+

Special keys and buttons

+
+

While the core is running:

+
+
+
    +
  • +

    Esc or joystick button 2 (or Caps Shift+Space on gomaDOS+, PC XT keyboard mode): Show or hide configuration menu

    +
  • +
  • +

    Cursor keys (Caps Shift+5, Caps Shift+6, Caps Shift+7 and Caps Shift+8 on gomaDOS+, PC XT keyboard mode), and Enter to use the menu

    +
  • +
  • +

    Ctrl+Alt+Backspace (Caps Shift+Symbol Shift+B on gomaDOS+, ZX Spectrum keyboard mode): Hard reset

    +
  • +
+
+
+
+
+

Basic Guide

+
+

Pressing Esc or joystick button 2 (Caps Shift+Space on gomaDOS+) shows or hides the configuration menu. To navigate the menu and activate or choose any option, use the cursor keys (Caps Shift+5, Caps Shift+6, Caps Shift+7 and Caps Shift+8 in gomaDOS+, PC XT keyboard mode) and Enter.

+
+
+

nes

+
+
+

The following options are available:

+
+
+
    +
  • +

    Reset NES

    +
  • +
  • +

    Scanlines

    +
  • +
  • +

    HQ2X Filter

    +
  • +
  • +

    P1 Select

    +
  • +
  • +

    P1 Start

    +
  • +
  • +

    Load ROM

    +
  • +
  • +

    Exit

    +
  • +
+
+
+
+
+
+

ColecoVision

+
+

ColecoVision is Coleco Industries' home video-game console that was released in August 1982.

+
+
+

ZXDOS+ core is based on ZX-Uno version by Fabio Belavenuto.

+
+
+

Some features of this core are:

+
+
+
    +
  • +

    BIOS ROM is loaded from microSD card

    +
  • +
  • +

    Supports multicart ROM, also loaded from microSD

    +
  • +
  • +

    Only works with VGA

    +
  • +
+
+
+

microSD card format

+
+

You need a microSD card with the first partition in FAT16 format to store ROM image files of the games to load and other needed files. These can be downloaded from the original project in GitHub.

+
+
+

See the corresponding section for instructions of how to install the ColecoVision core in ZXDOS+.

+
+
+
+

Keyboard

+ +
+
+

Special keys and buttons

+
+

While the core is running:

+
+
+
    +
  • +

    Cursor or Q, A, E, R or joystick 1: Directional controls for player 1

    +
  • +
  • +

    Z or joystick 1 main fire button: Fire Button 1 for player 1

    +
  • +
  • +

    U, J, O, P or joystick 2: Directional controls for player 2

    +
  • +
  • +

    M or joystick 2 main fire button: Fire button 1 for player 2

    +
  • +
  • +

    X or joystick 1 secondary fire button: Fire button 1 for player 1 and player 2

    +
  • +
  • +

    0 to 9: Button 0 to 9 for player 1 and player 2

    +
  • +
  • +

    T: Button '*'

    +
  • +
  • +

    Y: Button '#'

    +
  • +
  • +

    'Esc' (or Caps Shift+Space on gomaDOS+, PC XT keyboard mode): Soft Reset

    +
  • +
+
+
+
+
+

Basic Guide

+
+

On startup, BIOS ROM is loaded from the card, and then the multicart ROM.

+
+
+

coleco

+
+
+

At multicart menu, use the directional controls to choose one ROM, and then fire button 1 to load. Pressing 'Esc' (Caps Shift+Space on gomaDOS+, PC XT keyboard mode) restarts the core and loads the ROM selection menu again.

+
+
+
+
+
+

Atari 2600

+
+

Atari 2600 is a home video game console originally branded as the Atari Video Computer System (Atari VCS).

+
+
+

ZXDOS+ core version is developed by avlixa.

+
+
+

Some of the features of the core are:

+
+
+
    +
  • +

    RGB and VGA support

    +
  • +
  • +

    Support for joysticks, keyboard, mouse and rotary encoder controls (see here for more information)

    +
  • +
+
+
+

microSD card format

+
+

You need a microSD card with the first partition in FAT16 format to store ROM image files of the games to load.

+
+
+

See the corresponding section for instructions of how to install the Atari 2600 core in ZXDOS+.

+
+
+
+

Keyboard

+
+

For gomaDOS+, it is recommended to change the keyboard mode to Atari 800 (Caps Shift + Symbol Shift + U and then 4) o PC XT (Caps Shift + Symbol Shift + U and then 9).

+
+
+
+

Special keys and buttons

+
+

During the core execution:

+
+
+
    +
  • +

    W, A, S, D or joystick 1: Directional controls for player 1

    +
  • +
  • +

    F or joystick 1 fire button: Player 1 fire button

    +
  • +
  • +

    I, J, K, L or joystick 2: Directional controls for player 2

    +
  • +
  • +

    H or joystick 2 fire button: Player 2 fire button

    +
  • +
  • +

    Scroll Lock (Caps Shift+Symbol Shift+G on gomaDOS+): change between RGB and VGA video mode

    +
  • +
  • +

    Ctrl+Alt+Backspace (Caps Shift+Symbol Shift+B on gomaDOS+): Hard reset.

    +
  • +
+
+
+
+
+

Basic Guide

+
+

Pressing Esc or joystick button 2 (Caps Shift+Space on gomaDOS+, Atari800 keyboard mode) shows or hides the configuration menu. Cursor keys (Caps Shift+5, Caps Shift+6, Caps Shift+7 and Caps Shift+8 on gomaDOS+, Atari800 keyboard mode) and Enter to select and choose menu options.

+
+
+

a2600

+
+
+

The following options are available:

+
+
+
    +
  • +

    Reset core

    +
  • +
  • +

    Scanlines

    +
  • +
  • +

    RGB Mode (PAL/NTSC)

    +
  • +
  • +

    Paddle Size

    +
  • +
  • +

    Sound

    +
  • +
  • +

    Color

    +
  • +
  • +

    Difficulty A

    +
  • +
  • +

    Difficulty B

    +
  • +
  • +

    Select

    +
  • +
  • +

    Start

    +
  • +
  • +

    Load ROM

    +
  • +
  • +

    Joystick

    +
  • +
  • +

    Paddle Accuracy

    +
  • +
  • +

    Exit

    +
  • +
+
+
+
+
+
+

Videopac

+
+

Philips Videopac, also known as Magnavox Odyssey², Philips Videopac G7000 o Philips Odyssey², is a second generation home video game console that was released in 1978.

+
+
+

The ZXDOS+ core is make by avlixa, and is based on ZXDOS core by yomboprime.

+
+
+

Some features of the core are:

+
+
+
    +
  • +

    RGB and VGA support

    +
  • +
  • +

    Needs at least one joystick to be used

    +
  • +
+
+
+

microSD card format

+
+

You need a microSD card with the first partition in FAT16 format to store ROM image files to load.

+
+
+

See the corresponding section for instructions of how to install the Videopac core in ZXDOS+.

+
+
+
+

Keyboard

+
+

For gomaDOS+, it is recommended to change the keyboard mode to PC XT (Caps Shift + Symbol Shift + U and then 9).

+
+
+
+

Special keys and buttons

+
+

During the core execution:

+
+
+
    +
  • +

    Scroll Lock (Caps Shift+Symbol Shift+G on gomaDOS+): change between RGB and VGA video mode

    +
  • +
  • +

    Ctrl+Alt+Backspace (Caps Shift+Symbol Shift+B on gomaDOS+): Hard reset.

    +
  • +
+
+
+
+
+

Basic Guide

+
+

Pressing Esc or joystick button 2 (Caps Shift+Space on gomaDOS+, PC XT keyboard mode) shows or hides the configuration menu. Cursor keys (Caps Shift+5, Caps Shift+6, Caps Shift+7 and Caps Shift+8 on gomaDOS+, PC XT keyboard mode) and Enter to select and choose menu options.

+
+
+

videopac

+
+
+

The following options are available:

+
+
+
    +
  • +

    Reset core

    +
  • +
  • +

    Scanlines

    +
  • +
  • +

    Swap joysticks

    +
  • +
  • +

    Load ROM

    +
  • +
  • +

    Video mode: PAL/Videopac or NTSC/Odyssey2

    +
  • +
  • +

    Color Mode

    +
  • +
  • +

    Exit

    +
  • +
+
+
+
+
+
+
+
+

Other Hardware

+
+
+

Rotary Encoders

+
+

Pong and Atari 2600 cores support the use of quadrature rotary encoders as control devices. They can be connected to the joystick ports. Although the testing has been done with 600 ppr encoders, lower ppr encoders, like 400 or 300, should also work.

+
+
+

You can also use an Atari 2600 paddle driving controller. In this case the playing experience is bad, since they have few ppr and you must do several full rotations. When using them, it’s recommended to set the accuracy setting to 8, to have enough speed.

+
+
+

Connection

+
+

Both ZXDOS+ and gomaDOS+ have joystick pin 5 connected to positive VCC, used as main power, and pin 8 as GND. The rotary encoders to use must support voltage from 3,4v to 5v.

+
+
+

A rotary encoder has 5 wires: Earth Ground (not connected), Vcc (+), GND (0V`or `-), A and B.

+
+
+

A y B are connected to pins 1 and 2 for the first encoder, 3 and 4 for the seconde one. This way you can have up to 4 encoders connected using both joystick ports.

+
+
+

db9joy

+
+
+

This way, the connections should be:

+
+
+
    +
  1. +

    Line A encoder 1

    +
  2. +
  3. +

    Line B encoder 1

    +
  4. +
  5. +

    Line A encoder 2

    +
  6. +
  7. +

    Line B encoder 2

    +
  8. +
  9. +

    Vcc(+)

    +
  10. +
  11. +

    Fire 1

    +
  12. +
  13. +

    NC

    +
  14. +
  15. +

    GND

    +
  16. +
  17. +

    Fire 2

    +
  18. +
+
+
+
+
+

Pong Core Configuration

+
+

Follow these directions to choose the configuration:

+
+
+
    +
  • +

    For 1 or 2 endoders on joystick port 2 de joystick, select 1/2 Paddle in J2 option

    +
  • +
  • +

    For 2 encoders, one for each joystick port, select 2/4 Paddle in J1&J2 option. This is also valid to connect two Atari 2600 driving paddles

    +
  • +
  • +

    For 4 encoders, two for each joystick port, select 2/4 Paddle in J1&J2 option

    +
  • +
  • +

    For 1 or 2 encoders on joystick port 2 along with a mouse (in this case the encoders are for players 2 and 4), select Mouse PS/2 option

    +
  • +
+
+
+

It is recommended to wait, and make the connection after selecting the chosen option, since the encoders interfere with the up/down directions of the joystick, blocking access to the menu. Another option is to add a on/off switch for the encoder that will disable the power.

+
+
+
+
+
+

Miniduino

+
+

Miniduino is a tape file audio player, based on a STM32F103C8T6 microcontroller with 64KB flash memory, and Maxduino firmware preinstalled.

+
+
+

Maxduino plays, in a very similar way to how cassette tape players worked, digital tape files in format as like TAP and TZX (ZX Spectrum), O (ZX80), P (ZX81), CDT (Amstrad CPC), CAS(MSX) TSX (MSX, Acorn, etc). It is also possible to play AY music files as if they wer tapes, in order to load the from SpecAY in a ZX Spectrum.

+
+
+

Ports and buttons

+
+

MiniduinoBack

+
+
+

MiniduinoFront

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +

1

Power

2

Audio output

3

Control button

4

Motor control

5

microSD card slot

6

Screen

+
+
+
+

Configuration

+
+

A microSD is needed in order to store the tape files to play. Fast cards (Class 10 or greater) aren’t recommended because there can be problems while reading the data. High capacity (SDXC or greater) cards aren’t recommended too.

+
+
+

The card must have the first partition formatted as FAT16 or FAT32.

+
+
+

Besides the card, you have to plug an appropriate audio cable to ZXDOS+ audio input. It must have a 3.5 mm stero jack on one side, and two mono output on the other side (one for each audio channel). The left audio mono is connected to the Miniduino.

+
+
+

If you hava a device that can use motor control, you can also use a cable with a 2.6 mm jack.

+
+
+

Copy the tape files (TAP, TZX, O, P, CAS, TSX, etc) to the first partition of the microSD card. They can be organized using folders or directories.

+
+
+ + + + + +
+ + +
+

The player shows file and directory entries in the order stored in the internal FAT table, and not alphabetically. If you want to see them ordered, yo have to reorder the microSD card structure with a utility like Fat Sorter for Windows, FATsort for Linux and MacOS, YAFS, SDSorter or other.

+
+
+
+
+
+
+

Use

+
+

Once the microSD card with the data files is inserted, it’s turned on plugging in the included USB power cable.

+
+
+

MiniduinoLogo

+
+
+

Pressing down the control button shows the options menu which can set the following:

+
+
+
    +
  • +

    Baud Rate: Configures turbo speed baud rates when playing 4B blocks in MSX files (CAS and TSX)

    +
  • +
  • +

    Motor Ctrl: Enable this option when a control cable is connected to a proper device (Amstrad, CPC, MSX, etc.)

    +
  • +
  • +

    Converter (TSXCzxpUEFWS): Enables turbo loading .CAS and .TSX files, changes signal for Spectrum and Amstrad CPC files and/or change parity when playing Acorn Electron and BBC Micro .UEF files

    +
  • +
  • +

    (Skip BLK)): To disable (Skip ON) or enable automatic pause when 2A blocks are found

    +
  • +
+
+
+

When not inside the options menu, the control button is used as a four directional control joystick, which has two different behaviours depending whether the player is stopped or paused.

+
+
+

MiniduinoVersion

+
+
+

When the player is stopped (file and directories browser):

+
+
+
    +
  • +

    Up and Down move through the current files and directories list

    +
  • +
  • +

    Left (Stop) goes one level up in the directory tree

    +
  • +
  • +

    Right (Play/Pause) enters into a directory or, if the selection is a file, tries to play it

    +
  • +
+
+
+
+

Once a file is being played, stop playing it with the left button (Stop) or pause using the right button (Play/Pause).

+
+
+

MiniduinoPlay

+
+
+

When in pause (tape block browser:

+
+
+
    +
  • +

    Up and Down mov through the tape block files alreadey played (useful for multiload titles, to load a previous level block, for example)

    +
  • +
  • +

    Left (Stop) cancels the player and goes back to file and directory browser mode

    +
  • +
  • +

    Right (Play/Pause) continues playing from the selected block

    +
  • +
  • +

    Press down the control butto to enable or disable turbo mode for MSX

    +
  • +
+
+
+
+
+

Maxduino firmware upgrade

+
+

Maxduino firmwar is periodically updated and improved. You can track the changes and improvements either at the forums or at the GitHub project page. To take advantage of this improvements, the Miniduino flash image must be flased with the updated firmware version.

+
+
+
Environment setup
+
+

Firmware flashing is done from a computer (Windows, Mac, Linux) with Arduino IDE installed.

+
+
+

You have to install SDFat (1.1.4) software library selecting the menu option Program → include library → manage libraries

+
+
+

Minidiuno microcontroller support must also be added. This is done in two steps:

+
+
+

First, adding ARXM Cortex M3 support from menu Tools → borad → board manager, and installing "Arduino SAM boards (Cortex-M3)"

+
+
+

Then, you have to add STM32 microcontroller support, downloading the file available at this link.

+
+
+

Extract the contents to the current user directory in

+
+
+
+
...Arduino/hardware/Arduino_STM32
+
+
+
+

If on Windows, install the USB device controller, running (with elevated privileges:

+
+
+
+
 ...\drivers\win\install_drivers.bat
+
+
+
+

On Linux, install with root privileeges the necessary udev rules:

+
+
+
+
...tools/linux/install.sh
+
+
+
+

On MacOS, if Miniduino does not appear as USB device in Arduino ID when plugged, it may be necessary to install libusb.

+
+
+
+

Finaly, when on Mac or Linux, the file maple_upload inside Arduino_STM32 has to be changed with a text editor. Those lines do not work:

+
+
+
+
if [ $# -eq 5 ]; then
+    dfuse_addr="--dfuse-address $5"
+else
+    dfuse_addr=""
+fi
+
+
+
+

And have to be changed into this:

+
+
+
+
dfuse_addr=""
+
+
+
+
+
+
Upgrade
+
+

Once you have the environemnt ready, download the software from the official repository in GitHub

+
+
+ + + + + +
+ + +
+

Minduino player with STM32 microcontroller is only supported from 1.65 and up

+
+
+
+
+

Load the project file with Arduino IDE (for example MaxDuino_v1.66.ino).

+
+
+

Check in the file userSTM32Config.h that all logo entries are commented except for Miniduino and, if not, change them.

+
+
+
+
...
+//#define tanque4
+//#define tanque1
+//#define dostanques
+//#define cablemax
+//#define sony
+#define miniduino
+...
+
+
+
+

Connect the Miniduino device to the computer using the USB cable, and find the assigned port, normally with a name like "Maple Mini" (for example: COM5 Maple Mini)

+
+
+

Set the following options in menu "":

+
+
+
+
Board: Generic STM32F104C Series
+Variant: STM32F104C8 (20k RAM, 64k Flash)
+Upload Method: STM32duino bootloader
+CPU Speed: 72Mhz (Normal)
+Optimize: Smallest (default)
+Port: <Previously identified port>
+
+
+
+

Finall, clic on the firmware load button and wait for a few seconds while the project is compiled and loaded into the device.

+
+
+

If everything has been done correctly the Miniduino will restart and show on the screen the new firmware version.

+
+
+
+
+
+
+
+
+

Troubleshooting

+
+
+

Firmware images management

+
+

There are several tools with you can use to make and/or edit the contents of ZX1, ZX2, ZXD files.

+
+
+

zx123_tool

+
+

This is a tool to analyze, extract and inject data in SPI flash image files for ZX-Uno, ZXDOS and similar devices.

+
+
+

You need to have Python 3 to use it. Depending on the operating system you may have to install it.

+
+
+

Having Python 3, you only need to download the latest version of the tool from the official repository, following this link.

+
+
+

Once extracted, you have to run from a shell the main script using Python 3. This may change depending on the operating system.

+
+
+

For example, on Windows, it’s usually:

+
+
+
+
py -3 zx123_tool.py
+
+
+
+

With other operating systems it normally is like:

+
+
+
+
python3 ./zx123_tool.py
+
+
+
+

You also need a SPI flash image file. This can be obtained from within the Spectrum core in "root" mode, with one of the commands back16m, backzx2 or backzxd. Once you have obtained the exteacted file from the microSD, you can "clean" it leaving only the Spectrum core and the first Spectrum ROM with a command like this:

+
+
+
+
... zx123_tool.py -i FLASH.ZXD -w -o FLASHempty.ZXD
+
+
+
+

Where FLASH.ZXD is the path to the original file and FLASHempty.ZXD is the path to the new "clean" file.

+
+
+
+

List the contents of an image

+
+
+

To see the contents of an image file named FLASH.ZXD (installed cores and some configuration info), you can use the command

+
+
+
+
... zx123_tool.py -i FLASH.ZXD -l
+
+
+
+

To show the contents of the same file, including ZX Spectrun ROMs info:

+
+
+
+
... zx123_tool.py -i FLASH.ZXD -l -r
+
+
+
+

Change the BIOS of an image

+
+
+

To change the BIOS inside a file named FLASH.ZXD, using the BIOS file named FIRMWARE.ZXD

+
+
+
+
...zx123_tool.py -i FLASH.ZXD -a BIOS,FIRMWARE.ZXD
+
+
+
+

You can, at the same time, modify some of the default parameters. For example, with the options; -m for video mode: 0 (PAL), 1 (NTSC) or 2 (VGA), -k for the keyboard layout: 0 (Auto), 1 (ES), 2 (EN) or 3 (Spectrum).

+
+
+

This way to change the BIOS of a file named FLASH.ZXD, using the BIOS file FIRMWARE.ZXD, and also set the video mode to VGA and the keyboard layout to Spectrum (for gomaDOS`+):

+
+
+
+
...zx123_tool.py -i FLASH.ZXD -a BIOS,FIRMWARE.ZXD -m 2 -k 3
+
+
+
+

There are also options to set the BIOS boot delay time, the default core or the default Spectrum ROM. See the documentation for more info.

+
+
+

Add a Spectrum ROM to an image

+
+
+

To add a Spectrum ROM file named 48.rom, with the name Spec48 and using the slot number 5, you can use a command like:

+
+
+
+
...zx123_tool.py -i FLASH.ZXD -a ROM,5,xdnlh17,Spec48,48.rom
+
+
+
+

See the documentation for all the possible options when adding a Spectrum ROM.

+
+
+
+

Install a Core to an image

+
+
+

For example, to install a core in space 3, from a file named NEXT.ZXD, with the name Spectrum Next, use a command like this:

+
+
+
+
...zx123_tool.py -i FLASH.ZXD -a 'CORE,3,Spectrum Next,NEXT.ZXD'
+
+
+
+

If you want also to set the core as the default, use a command like:

+
+
+
+
...zx123_tool.py -i FLASH.ZXD -a 'CORE,3,Spectrum Next,NEXT.ZXD' -c 3
+
+
+
+

Change esxdos ROM of an image

+
+
+

Just like the BIOS firmware, you can install a ROM esxdos file, with a command like this:

+
+
+
+
...zx123_tool.py -i FLASH.ZXD -a esxdos,ESXMMC.BIN
+
+
+
+

Mix several actions in one line

+
+
+

Please do note that you can add several actions in one command line. For example, to "clean" an image file named FLASH.ZXD, creating a new one named FLASHnew.ZXD, installing the BIOS from the file FIRMWARE.ZXD, set up video mode to VGA, the keyboard in Spectrum mode, add a Spectrum ROM file 48.rom, with the name Spec48 while ussing slot number 5, install a core at space 3, from a file named NEXT.ZXD, with the name Spectrum Next, as default core:

+
+
+
+
... zx123_tool.py -i FLASH.ZXD -w -o FLASHnew.ZXD -a BIOS,FIRMWARE.ZXD -m 2 -k 3 -a ROM,5,xdnlh17,Spec48,48.rom -a CORE,3,SpecNext,NEXT.ZXD -c 3
+
+
+
+
+
+
+

Firmware recovery

+
+

Sometimes (e.g. when installing an experimental core or when upgrading the ZX Spectrum Next or the BIOS) it may happen that the ZXDOS+ stops booting. The board LEDs are on, but there is no display, and it doesn’t do anything when trying the different key combinations to access BIOS setup, etc.

+
+
+

When this happens, there are several recovery methods that let you install again the firmware.

+
+
+

Recovery using a Raspberry Pi

+
+

Hardware required:

+
+
+
    +
  • +

    Raspberry Pi (with SD card, keyboard, display, power supply, etc.) and with internet connection

    +
  • +
  • +

    5 jump wires (if possible, female on both sides) or, instead a USB-Blaster cable

    +
  • +
  • +

    One hex key with the right socket size for ZXDOS+ cover screws, or appropriate screwdriver to open a gomaDOS+ (this isn’t necessary if using a USB-Blaster)

    +
  • +
  • +

    microSD for ZXDOS+/gomaDOS+ with the first partition formatted as FAT16 or FAT32

    +
  • +
  • +

    Keyboard (not needed for gomaDOS+) and display for ZXDOS+

    +
  • +
+
+
+

Software required:

+
+
+ +
+
+
+

Instruction Steps:

+
+
+
    +
  1. +

    Install Raspberry Pi OS (formely known as Raspbian) to the Raspberry Pi SD card (using the official download, NOOBS, PINN, etc.)

    +
  2. +
  3. +

    Install Open OCD:

    +
  4. +
+
+
+
+
sudo apt-get update
+sudo apt-get install git autoconf libtool make pkg-config
+sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev telnet
+sudo apt-get install libusb-dev libftdi-dev
+git clone git://git.code.sf.net/p/openocd/code openocd-code
+cd openocd-code/
+./bootstrap
+./configure --enable-usb_blaster --enable-sysfsgpio --enable-bcm2835gpio
+make
+sudo make install
+cd ..
+rm -rf ./openocd-code
+
+
+
+
    +
  1. +

    Connect USB-Blaster or jump wires if using GPIO. In this case, open the ZXDOS+ or gomaDOS+ case and connect the FPGA JTAG lines (TMS, TDI, TDO, TCK y GND), using the wires, to the Raspberry Pi GPIO pins.

    +
  2. +
+
+
+

jtag jtaggomados

+
+
+ + + + + +
+ + +
+

DO NOT connect the 3V line

+
+
+
+
+ + + + + +
+ + +
+

When using USB-Blaster, a gomaDOS+ is ready to connect directly the 2x5 connector. For a ZXDOS+, it will be necessary to prepare the cables, comparing those last two images.

+
+
+
+
+
+

Is using a GPIO connection, take note of the chosen pins, making sure that GND is connected with GND.

+
+
+

gpio

+
+
+

In this example, the 31, 33, 35, 37 and 39 pins will be used (corresponding to GPIO #6, GPIO #13, GPIO #19, GPIO #26 and GND), like this:

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ZXDOS+ JTAGGPIORaspberry Pi Pin

TMS

GPIO#6

31

TDI

GPIO#13

33

TDO

GPIO#19

35

TCK

GPIO#26

37

GND

GND

39

+
+
    +
  1. +

    Copy to the Raspberry Pi the file named recovery.zxd.bit previously downloaded from the official repository. For our example, it will be at /home/pi/zxdosplus/unbrick/

    +
  2. +
  3. +

    If using GPIO, make a copy of Open OCD configuration file, to the same directory where recovery.zxd.bit is.

    +
  4. +
+
+
+
+
cp /usr/local/share/openocd/scripts/interface/raspberrypi2-native.cfg /home/pi/zxdosplus/unbrick/
+
+
+
+
+
    +
  1. +

    For GPIO connection, edit raspberrypi2-native.cfg copy, updating bcm2835gpio_jtag_nums (uncommenting, if necessary), with your JTAG and GPIO connection numbers, at the line bcm2835gpio_jtag_nums. For our example:

    +
  2. +
+
+
+
+
# Header pin numbers: 37 31 33 35
+bcm2835gpio_jtag_nums 26 6 13 19
+
+
+
+
    +
  1. +

    Comment, if it wasnt’t already, the line bcm2835gpio_swd_nums (not necessary for USB-Blaster connection):

    +
  2. +
+
+
+
+
#bcm2835gpio_swd_nums 11 25
+
+
+
+
    +
  1. +

    Add, to the end of the file, the line adapter speed 250 (again, not necessary for USB-Blaster):

    +
  2. +
+
+
+
+
adapter speed 250
+
+
+
+
    +
  1. +

    Turn on the ZXDOS+ or gomaDOS+.

    +
  2. +
  3. +

    Make sure that, on the Raspberry Pi, we are in the directory where recovery.zxd.bit is, and execute the command that loads the BIOS on recovery mode, using the path to the previously edited raspberrypi2-native.cfg.

    +
  4. +
+
+
+

For GPIO connection:

+
+
+
+
cd /home/pi/zxdosplus/unbrick
+sudo openocd -f /home/pi/zxdosplus/unbrick/raspberrypi2-native.cfg -f /usr/local/share/openocd/scripts/cpld/xilinx-xc6s.cfg -c "init; xc6s_program xc6s.tap; pld load 0 recovery.zxd.bit ; exit"
+
+
+
+

For USB-Blaster connection:

+
+
+
+
sudo openocd -f /usr/local/share/openocd/scripts/interface/altera-usb-blaster.cfg  -f /usr/local/share/openocd/scripts/cpld/xilinx-xc6s.cfg -c "init; xc6s_program xc6s.tap; pld load 0 recovery.zxd.bit ; exit"
+
+
+
+
+
    +
  1. +

    If all goes well, we will see that the FPGA LED change their state and the BIOS is shown on the display.

    +
  2. +
+
+
+

If there is no image on the display, press Scroll Lock (Caps Shift+Symbol Shift+G on gomaDOS+): to switch between RGB and VGA modes, just in case the recovery BIOS did start in the wrong mode for our setup.

+
+
+

recovery

+
+
+
    +
  1. +

    Insert in the ZXDOS+ the microSD card formatted as FAT16 o FAT32, and with the FLASH.ZXD file downloaded previously.

    +
  2. +
  3. +

    If using a USB-Blaster connection, unplug the connector.

    +
  4. +
+
+
+
+
    +
  1. +

    Select the option Upgrade Flash from SD. Press Enter, choose Yes, and press Enter again to start the Flash writing process.

    +
  2. +
+
+
+

recovery2

+
+
+ + + + + +
+ + +
+

This process can’t be undone, and it will replace all the previously installed cores, the BIOS, the ZX Spectrum ROMs and their configuration with the data in the image file.

+
+
+
+
+ + + + + +
+ + +
+

Ususally, the recovery image is set to use a PS/2 keyboard so, for a gomaDOS+, some key combinations, like Caps Shift + 5, etc may not work. In this case, you have to change the keyboard mode to PC XT(Caps Shift + Symbol Shift + U and then 9), to make them work temporarily.

+
+
+
+
+
+
    +
  1. +

    After some minutes, the process will end, and, after turning the ZXDOS+ off and on, it should start fine.

    +
  2. +
+
+
+ + + + + +
+ + +
+

If no image is shown, press again Scroll Lock (Caps Shift+Symbol Shift+G on gomaDOS+): to switch between RGB and VGA modes. In this case, you should have to enter the BIOS and change the right advanced setting that matches your display.

+
+
+
+
+ + + + + +
+ + +
+

For a gomaDOS+, since the recovery image uses a PS/2 configuration as default, follow this steps to set up the BIOS correctly:

+
+
+
    +
  1. +

    If you see no image, switch between composite and VGA mode (Caps Shift+Symbol Shift+G)

    +
  2. +
  3. +

    Change to PC XT keyboard mode (Caps Shift + Symbol Shift + U and then 9)

    +
  4. +
  5. +

    Reboot gomaDOS+ without losing the temporary keyboard mode (Caps Shift + Symbol Shift + B)

    +
  6. +
  7. +

    Quickly, press Caps Shift + 1

    +
  8. +
  9. +

    Again, if there’s no image, switch between composite and VGA mode (Caps Shift+Symbol Shift+G)

    +
  10. +
  11. +

    Navigate through BIOS and turno on these options:

    +
    +
      +
    • +

      AdvancedKeyboard Layout: Spectrum

      +
    • +
    • +

      AdvancedVideo: VGA (only if there was no image)

      +
    • +
    +
    +
  12. +
  13. +

    Save changes:

    +
    +
      +
    • +

      ExitSave changes and exit

      +
    • +
    +
    +
  14. +
  15. +

    Completely turn off gomaDOS` and turn it on again

    +
  16. +
+
+
+
+
+
+
+

Recovery using MacOS and USB-Blaster cable

+
+

Hardware required:

+
+
+
    +
  • +

    USB-Blaster cable. Using the right pins for ZXDOS+

    +
  • +
  • +

    Flash Image file and y recovery file fo ZXDOS+ (LX25). The same ones as for Raspberry Pi, from the official repository

    +
  • +
  • +

    Mac OS

    +
  • +
  • +

    Extra data folder for UrJTAG, obtained from here

    +
  • +
+
+
+

Software required:

+
+
+ +
+
+

Instruction Steps:

+
+
+
    +
  1. +

    Prepare UrJTAG instal:

    +
  2. +
+
+
+
+
brew install libftdi libusb pkg-config
+git clone https://github.com/C-Elegans/urjtag.git
+cd urjtag
+
+
+
+
    +
  1. +

    Copy the extra data folder for UrJTAG, into urjtag data folder.

    +
  2. +
  3. +

    Start compiling:

    +
  4. +
+
+
+
+
./configure --with-libftdi --with-libusb --with-ftd2xx --with-inpout32 --enable-python=no
+make -j4
+sudo make install
+
+
+
+
    +
  1. +

    Copy FLASH.ZXD file to the root of the ZXDOS+ microSD card.

    +
  2. +
  3. +

    Connect USB-Blaster cable to ZXDOS+ and the Mac

    +
  4. +
  5. +

    Turn on the ZXDOS+ or gomaDOS+.

    +
  6. +
  7. +

    Make sure that, we are in the directory where recovery.zxd.bit is, and execute jtag command.

    +
  8. +
+
+
+
+
    +
  1. +

    A new shell appears. Now type the commands:

    +
  2. +
+
+
+
+
cable usbblaster
+detect
+pld load recovery.zxd.bit
+
+
+
+ + + + + +
+ + +
+

Make sure, when using detect, that the device is shown as detected. You may need to execute detect several times until it appears.

+
+
+
+
+

recovery mac 1

+
+
+
+
    +
  1. +

    If all goes well, we will see that the FPGA LED change their state and the BIOS is shown on the display.

    +
  2. +
+
+
+

If there is no image on the display, press Scroll Lock (Caps Shift+Symbol Shift+G on gomaDOS+): to switch between RGB and VGA modes, just in case the recovery BIOS did start in the wrong mode for our setup.

+
+
+

recovery

+
+
+
    +
  1. +

    Insert in the ZXDOS+ the microSD card formatted as FAT16 o FAT32, and with the FLASH.ZXD file downloaded previously.

    +
  2. +
  3. +

    Unplug the USB-Blaster.

    +
  4. +
  5. +

    Select the option Upgrade Flash from SD. Press Enter, choose Yes, and press Enter again to start the Flash writing process.

    +
  6. +
+
+
+

recovery2

+
+
+ + + + + +
+ + +
+

This process can’t be undone, and it will replace all the previously installed cores, the BIOS, the ZX Spectrum ROMs and their configuration with the data in the image file.

+
+
+
+
+ + + + + +
+ + +
+

Ususally, the recovery image is set to use a PS/2 keyboard so, for a gomaDOS+, some key combinations, like Caps Shift + 5, etc may not work. In this case, you have to change the keyboard mode to PC XT(Caps Shift + Symbol Shift + U and then 9), to make them work temporarily.

+
+
+
+
+
    +
  1. +

    After some minutes, the process will end, and, after turning the ZXDOS+ off and on, it should start fine.

    +
  2. +
+
+
+ + + + + +
+ + +
+

If no image is shown, press again Scroll Lock (Caps Shift+Symbol Shift+G on gomaDOS+): to switch between RGB and VGA modes. In this case, you should have to enter the BIOS and change the right advanced setting that matches your display.

+
+
+
+
+ + + + + +
+ + +
+

For a gomaDOS+, since the recovery image uses a PS/2 configuration as default, follow this steps to set up the BIOS correctly:

+
+
+
    +
  1. +

    If you see no image, switch between composite and VGA mode (Caps Shift+Symbol Shift+G)

    +
  2. +
  3. +

    Change to PC XT keyboard mode (Caps Shift + Symbol Shift + U and then 9)

    +
  4. +
  5. +

    Reboot gomaDOS+ without losing the temporary keyboard mode (Caps Shift + Symbol Shift + B)

    +
  6. +
  7. +

    Quickly, press Caps Shift + 1

    +
  8. +
  9. +

    Again, if there’s no image, switch between composite and VGA mode (Caps Shift+Symbol Shift+G)

    +
  10. +
  11. +

    Navigate through BIOS and turno on these options:

    +
    +
      +
    • +

      AdvancedKeyboard Layout: Spectrum

      +
    • +
    • +

      AdvancedVideo: VGA (only if there was no image)

      +
    • +
    +
    +
  12. +
  13. +

    Save changes:

    +
    +
      +
    • +

      ExitSave changes and exit

      +
    • +
    +
    +
  14. +
  15. +

    Completely turn off gomaDOS` and turn it on again

    +
  16. +
+
+
+
+
+ + + + + +
+ + +
+

When using Linux with urjtag, the process should be quite similar, although the dependencies (libftdi libusb pkg-config) would have to be installed with the appropiate package manager (apt, yum, pacman, etc.)

+
+
+
+
+
+
+
+
+ +
+ + + + \ No newline at end of file diff --git a/doc/indice.html b/doc/indice.html new file mode 100644 index 0000000..5316c2e --- /dev/null +++ b/doc/indice.html @@ -0,0 +1,5452 @@ + + + + + + + + + + +Manual de ZXDOS+ y gomaDOS+ + + + + + + +
+
+
+
+
+
+
+

Introducción

+
+
+

ZXDOS+ y gomaDOS+ son la continuación de ZX-Uno un proyecto de hardware y software basado en una placa FPGA programada para trabajar como un ordenador ZX Spectrum, y creado por el equipo de ZX-Uno: Superfo, AVillena, McLeod, Quest y Hark0.

+
+
+

Con el paso del tiempo, el proyecto ha ido creciendo, de forma que es posible instalar distintas configuraciones de software (cores) en la memoria flash de la FPGA, y que trabajan como otros sistemas distintos del ZX Spectrum, pudiendo elegir arrancar el ZXDOS+ con la configuración que se desee de entre todas las instaladas.

+
+
+

La página oficial de ZXDOS+ y gomaDOS+ es http://zxdos.forofpga.es.

+
+
+

La mayoría de las funciones y características de ZXDOS+ y gomaDOS+ son las mismas, así que, en este documento, se hablará, en general, de ZXDOS+, indicando las diferencias con gomaDOS+ donde sea necesario.

+
+
+
+

Puertos y Conectores

+
+

ZXDOS+

+
+

ZXDOSfront

+
+
+

ZXDOSback

+
+
+
+
+

gomaDOS+

+
+

gomaDosBack

+
+
+
+

Descripción

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

1

Interruptor

2

Ranura microSD

3

JTAG y Joystick

4

Salida de Sonido

5

Entrada de Sonido

6

Salida RGB/VGA

7

Enchufe de Alimentación

8

Puerto de expansión

9

Puerto de Joystick Izquierdo

10

Puerto de Joystick Derecho

11

Puerto de Teclado PS/2

12

Puerto de Ratón PS/2

0

Puerto USB (PS/2)

+
+
+
+
+

Configuración Inicial

+
+

Para poder poner en marcha un ZXDOS+ o gomaDOS+ hace falta, al menos, lo siguiente:

+
+
+
    +
  • +

    Un cargador USB, una TV u otro dispositivo que ofrezca alimentación USB

    +
  • +
  • +

    Un cable y un monitor VGA

    +
  • +
  • +

    Un teclado PS/2 (en el caso de ZXDOS+)

    +
  • +
+
+
+

Para poder aprovechar todo su potencial, es útil tener también:

+
+
+
    +
  • +

    Una tarjeta microSD, no necesariamente muy grande

    +
  • +
  • +

    Unos altavoces de PC para conectar a la salida de audio, o un cable jack-stereo a dos conectores RCA rojo/blanco para conectar a la TV (opcional en gomaDOS+, ya que tiene beeper incorporado)

    +
  • +
  • +

    Un joystick norma Atari, como por ejemplo, un gamepad DB9 de Megadrive (se necesita el adaptador de joystick en el caso de gomaDOS+)

    +
  • +
  • +

    Un ratón PS/2 (se necesista adaptador PS/2 a USB en el caso de gomaDOS+)

    +
  • +
  • +

    Un cable con un jack estéreo de 3,5 mm en un extremo y los dos canales de sonido divididos en dos salidas mono en el otro, si se quiere usar algún dispositivo de reproducción y/o grabación de audio, como por ejemplo un Miniduino (ver la sección correspondiente más adelante) o un reproductor/grabador de cassette. El canal derecho se utiliza como entrada (EAR) y el canal izquierdo se puede usar como salida de grabación (MIC).

    +
  • +
+
+
+

Formato de la tarjeta microSD

+
+

Para poder utilizar una tarjeta microSD, esta debe tener, al menos, una partición (la primera en el caso de haber varias) en formato FAT16 o FAT32 (según el caso, se recomienda uno u otro formato para compatibilidad con distintos cores de terceros). Para el core de Spectrum, tambén es posible tener una primera partición en formato +3DOS y luego otra(s) en formato FAT16 o FAT32, para su uso con una ROM de +3e.

+
+
+ + + + + +
+ + +
+

El tamaño máximo de una partición FAT16 son 4GB

+
+
+
+
+
Windows
+
+

Para configuraciones sencillas, y tarjetas del tamaño adecuado (menos de 2GB para FAT16 o menos de 32GB para FAT32), se puede utilizar la herramienta de formato oficial de la SD Association.

+
+
+

Para otras configuraciones, y según la versión de sistema operativo de que se disponga, se podrá utilizar la herramienta de línea de comandos diskpart o bien la interfaz gráfica de administración de discos del sistema.

+
+
+
+
MacOS
+
+

Para configuraciones sencillas, y tarjetas del tamaño adecuado (menos de 2GB para FAT16 o menos de 32GB para FAT32), se puede utilizar la herramienta de formato oficial de la SD Association o la Utilidad de Discos incluida con el sistema operativo.

+
+
+

Para configuraciones más complejas, será necesario utilizar la línea de comandos.

+
+
+

Por ejemplo, en MacOS, para formatear una tarjeta con una única partición FAT16 (si la tarjeta es de 2GB o menos de tamaño), que figura como disk6 en la lista de dispositivos:

+
+
+
+
diskutil unmountDisk /dev/disk6
+diskutil partitionDisk /dev/disk6 MBR "MS-DOS FAT16" ZXDOSPLUS R
+
+
+
+

Para dividirla en dos particiones iguales (si la tarjeta es de 4GB o menos de tamaño):

+
+
+
+
diskutil unmountDisk /dev/disk6
+diskutil partitionDisk /dev/disk6 MBR "MS-DOS FAT16" ZXDOSPLUS 50% "MS-DOS FAT16" EXTRA 50%
+
+
+
+

Para crear dos primeras particiones FAT16 de 4GB (por ejemplo, para usar con el core de MSX) y usar el resto del espacio con otra más en formato FAT32 (para tarjetas de más de 8GB):

+
+
+
+
diskutil unmountDisk /dev/disk6
+diskutil partitionDisk /dev/disk6 MBR %DOS_FAT_16% ZXDOSPLUS 4G %DOS_FAT_16% EXTRA 4G "MS-DOS FAT32" DATA R
+sudo newfs_msdos -F 16 -v ZXDOSPLUS -b 4096 -c 128 /dev/rdisk6s1
+sudo newfs_msdos -F 16 -v EXTRA -b 4096 -c 128 /dev/rdisk6s2
+
+
+
+ + + + + +
+ + +
+

El comando diskutil no permite crear particiones FAT16 de más de 2G de tamaño y formatearlas a la vez. Por eso, en el último caso, se crean primero las particiones y luego se formatean en FAT16.

+
+
+
+
+

Para crear una partición FAT32 de 4GB (por ejemplo, para usar con el core de Amstrad CPC) y usar el resto del espacio con otra más en formato FAT32 (para tarjetas de más de 4GB de tamaño):

+
+
+
+
diskutil unmountDisk /dev/disk6
+diskutil partitionDisk /dev/disk6 MBR "MS-DOS FAT32" ZXDOSPLUS 4G "MS-DOS FAT32" EXTRA R
+
+
+
+
+
Linux
+
+

Existen multitud de herramientas en Linux que permiten formatear y particionar el contenido de una tarjeta SD (como fdisk, parted, cfdisk, sfdisk o GParted). Sólo se ha de tener en cuenta que el esquema de particiones a utilizar siempre ha de ser MBR, y la primera partición (la que se utilizará para esxdos) ha de ser primaria.

+
+
+
+
+
+

esxdos

+
+

esxdos es un firmware para la interfaz the DivIDE/DivMMC, que el ZXDOS+ implementa, y que permite el acceso a dispositivos de almacenamiento como la tarjeta microSD. Incluye comandos similares a los de UNIX, aunque para usarlos hay que precederlos con un punto, por ejemplo .ls, .cd, .mv, etc.

+
+
+

Para poder utilizarlo es necesario incluir los ficheros correspondientes en la primera partición de la tarjeta microSD.

+
+
+

En el momento de escribir este documento, la versión incluida con ZXDOS+ es la 0.8.6, y se puede descargar desde la página oficial en este enlace.

+
+
+

Una vez descargado y descomprimido, se han de copiar, a la raíz de la tarjeta, los directorios BIN, SYS y TMP con todo su contenido.

+
+
+

Si todo se ha hecho correctamente, al encender el core Spectrum de ZXDOS+ se verá cómo esxdos detecta la tarjeta y carga los componentes necesarios para funcionar.

+
+
+

esxdos

+
+
+
+

Es recomendable, además, añadir los comandos esxdos específicos para ZXDOS+. Estos se pueden obtener en la página con el código fuente del proyecto (aquí, aquí y aquí), y son los siguientes:

+
+
+
+
back16m
+backzx2
+backzxd
+corebios
+dmaplayw
+esprst
+iwconfig
+joyconf
+keymap
+loadpzx
+playmid
+playrmov
+romsback
+romsupgr
+upgr16m
+upgrzx2
+upgrzxd
+zxuc
+zxunocfg
+
+
+
+

Más adelante se explica lo que hace cada uno de ellos.

+
+
+
+
+
+

Modos de teclado en gomaDOS+

+
+

El teclado de gomaDOS+ al ser similar al teclado del ZX Spectrum original, carece de algunas de teclas existentes en un teclado moderno de PC. Internamente, el teclado de membrana está conectado a una placa Arduino, que se encarga de transformar las pulsaciones al protocolo PS/2 de teclado. Esta placa está programada de manera que pueda comportarse de distintas maneras según nos interese.

+
+
+

Por defecto, está configurado en modo ZX Spectrum. Para cambiar a otro modo, se debe pulsar Caps Shift+Symbol Shift+U y luego la tecla correspondiente. Al hacerlo, se tecleará automáticamente un texto indicando el modo seleccionado (por ejemplo: .zx si se pulsa Caps Shift+Symbol Shift+U y luego 0).

+
+
+

La siguiente tabla indica los distintos modos y la tecla de activación asociada:

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ModoTecla

ZX Spectrum

0

Amstrad CPC

1

MSX

2

Commodore 64

3

Atari 800XL

4

BBC Micro

5

Acorn Electron

6

Apple (I y II)

7

Commodore VIC 20

8

PC XT

9

Oric Atmos

A

SAM Coupé

B

Jupiter ACE

C

+
+
+

La distribución del teclado en modo ZX Spectrum, con la pulsación asociada al combinar junto con Caps Shift+Symbol Shift, se puede resumir según el siguiente esquema:

+
+ ++++++++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

1

2

3

4

5

6

7

8

9

0

F1

F2

F3

F4

F5

F6

F7

F8

F9

F1

Q

W

E

R

T

Y

U

I

O

P

F11

F12

Modo

A

S

D

F

G

H

J

K

L

Enter

BlqDs

CShift

Z

X

C

V

B

N

M

SShift

Space

Guarda

Vers

hRes

sRes

+
+

Donde:

+
+
+
    +
  • +

    BlqDs: Bloq. Despl. cambia de modo video compuesto a VGA y viceversa (en el core de Next, se debe usar Caps Shift+Symbol Shift+2 o F2)

    +
  • +
  • +

    Guarda: Define el modo actual como el modo por defecto

    +
  • +
  • +

    Vers: Muestra (teclea) la versión actual del firmware

    +
  • +
  • +

    hRes: Hard Reset

    +
  • +
  • +

    sRes: Soft Reset

    +
  • +
+
+
+
+

La lista completa de combinaciones de teclado (y el modo en que se pueden utilizar) es la siguiente:

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Caps S.+Symbol S.ModoAcción

1

Todos

F1

2

Todos

F2

3

Todos

F3

4

Todos

F4

5

Todos

F5

6

Todos

F6

7

Todos

F7

8

Todos

F8

9

Todos

F9

0

Todos

F10

Q

Todos

F11

W

Todos

F12

S

C64

Ctrl+F12

E

Acorn/CPC

Re Pág

R

Acorn

PgAbajo

U

Todos

Modo

G

ZX/MSX/C64

BlqDs

X

Todos

Guarda

C

PC

OPQA

V

Todos

Versión

B

ZX

Ctrl+Alt+Bcksp

N

ZX

Ctrl+Alt+Supr

+
+
+
+

BIOS

+
+

Si se pulsa la tecla F2 (Caps Shift+1 en gomaDOS+) durante el arranque, se tendrá acceso a la configuración de BIOS. El firmware de BIOS es el primer programa que se ejecuta cuando se enciende el ZXDOS+. El propósito fundamental del software de BIOS es iniciar y probar el hardware y cargar uno de los cores instalados.

+
+
+

Usando las teclas de cursor izquierda y derecha (Caps Shift+5 y Caps Shift+8 en gomaDOS+), se puede navegar por las pantallas de configuración de la BIOS. Con las teclas arriba y abajo (Caps Shift+7 y Caps Shift+6 en gomaDOS+) se pueden elegir los distintos elementos de cada pantalla y, con la tecla Enter, es posible activar y elegir las opciones de cada una de estas. La tecla Esc (Caps Shift+Espacio en gomaDOS+) sirve para cerrar las ventanas de opciones abiertas sin aplicar ninguna acción.

+
+
+

Main

+
+

bios

+
+
+

En la primera pantalla de configuración, además de poder ejecutar distintas pruebas, se puede definir el comportamiento por defecto para lo siguiente:

+
+
+
    +
  • +

    Espera en el arranque (Boot Timer): Indica el tiempo que está la pantalla de arranque disponible (o la oculta por completo)

    +
  • +
  • +

    Comprobar CRC de las ROMs (Check CRC): Para comprobar la integridad de las ROMs al cargarlas (más seguro) u omitirla (más rápido)

    +
  • +
  • +

    Tipo de teclado (Keyboard)

    +
  • +
  • +

    Timing: Para definir el comportamiento de la ULA (Modo 48K, Modo 128K, Modo Pentagon)

    +
  • +
  • +

    Contención de memoria (Contended)

    +
  • +
  • +

    DivMMC

    +
  • +
  • +

    Soporte NMI para DivMMC

    +
  • +
  • +

    Soporte para nuevos modos gráficos (ULAPlus, Timex, Radastan)

    +
  • +
+
+
+

Se puede consultar información más tecnica en la Wiki de ZX-Uno.

+
+
+
+

ROMs

+
+

bios2

+
+
+

La segunda pantalla muestra las ROMs de ZX Spectrum instaladas y permite reordenar (Move Up, Move Down), renombrar (Rename) o borrar (Delete) cada una de ellas, así como elegir la que se cargará por defecto en el arranque (Set Active).

+
+
+
+

Upgrade

+
+

bios3

+
+
+

La pantalla Upgrade se utiliza para realizar las distintas actualizaciones del contenido de la memoria Flash: esxdos, BIOS, Cores, etc. (véase el apartado correspondiente a actualizaciones para más información).

+
+
+
+

Boot

+
+

bios4

+
+
+

En la pantalla Boot se puede elegir qué core de los instalados se desea que cargue por defecto en el arranque.

+
+
+
+
+

Advanced

+
+

bios5

+
+
+

La pantalla de configuración avanzada sirve para modificar los siguientes ajustes:

+
+
+
    +
  • +

    Distribución del teclado (Keyb Layout): Ver el apartado correspondiente para más información)

    +
  • +
  • +

    Comportamiento del joystick emulado con el teclado numérico (Joy Keypad): Kempston, Sinclair Joystick 1, Sinclair Joystick 2, Protek o Fuller

    +
  • +
  • +

    Comportamiento de un joystick conectado al puerto (Joy DB9): Kempston, Sinclair Joystick 1, Sinclair Joystick 2, Protek, Fuller o simular las teclas Q, A, O, P, Espacio y M

    +
  • +
  • +

    Salida de vídeo (Video): PAL, NTSC o VGA

    +
  • +
  • +

    Simulación de línea de exploración (Scanlines): Activas (Enabled) o inactivas (Disabled)

    +
  • +
  • +

    Frecuencia horizontal de VGA (Frequency): 50, 51, etc.

    +
  • +
  • +

    Velocidad de la CPU: Normal (1x) o acelerada (2X, 3X, etc.)

    +
  • +
  • +

    Csync: Spectrum o PAL

    +
  • +
+
+
+
+
+

Exit

+
+

bios6

+
+
+

Finalmente, desde la última pantalla se puede:

+
+
+
    +
  • +

    Salir de la configuración de BIOS guardando los cambios (Save Changes & Exit)

    +
  • +
  • +

    Descartar los cambios y salir (Discard Changes & Exit)

    +
  • +
  • +

    Guardar los cambios sin salir (Save Changes)

    +
  • +
  • +

    Descartar los cambios (Discard Changes)

    +
  • +
+
+
+
+
+
+
+

ZX Spectrum

+
+
+

El core principal es el que implementa un ordenador ZX Spectrum. Este core es especial, y no se puede sustibuir por otro que no sea de ZX Spectrum, ya que el ZXDOS+ lo utiliza para su funcionamiento.

+
+
+

Estas son algunas de sus principales características:

+
+
+
    +
  • +

    Implementación ZX Spectrum 48K, 128K, Pentagon y Chloe 280SE

    +
  • +
  • +

    ULA con modos ULAplus, Timex y modo Radastan (incluyendo scroll por hardware y grupo de paleta seleccionable)

    +
  • +
  • +

    Posibilidad de desactivar la contención de memoria (para compatibilidad con Pentagon 128)

    +
  • +
  • +

    Posibilidad de elegir el comportamiento del teclado (issue 2 o issue 3)

    +
  • +
  • +

    Posibilidad de elegir el timing de la ULA (48K, 128K o Pentagon)

    +
  • +
  • +

    Control del encuadre de pantalla configurable para tipo de timing, y posibilidad de elegir entre sincronismos originales de Spectrum o sincronismos estándar PAL progresivo.

    +
  • +
  • +

    Soporte de la MMU horizontal del Timex con bancos HOME, DOC y EXT en RAM.

    +
  • +
  • +

    Interrupción ráster programable en número de línea, para cualquier linea de TV.

    +
  • +
  • +

    Posibilidad de activar/desactivar los registros de manejo de bancos de memoria, para mejor compatibilidad con cada modelo implementado

    +
  • +
  • +

    Posibilidad de activar/desactivar los dispositivos incorporados al core para mejorar la compatibilidad con ciertos programas

    +
  • +
  • +

    Soporte ZXMMC para +3e y soporte DIVMMC para esxdos y firmwares compatibles

    +
  • +
  • +

    Soporte Turbo Sound

    +
  • +
  • +

    Soporte de SpecDrum

    +
  • +
  • +

    Cada canal A,B,C de los dos chips AY-3-8912, beeper y SpecDrum pueden dirigirse a las salidas izquierda, derecha, ambas o ninguna, permitiendo la implementación de configuraciones tales como ACB, ABC, etc.

    +
  • +
  • +

    Soporte de joystick real y joystick en teclado con protocolo Kempston, Sinclair 1 y 2, Cursor, Fuller y QAOPSpcM.

    +
  • +
  • +

    Soporte de modo turbo a 7MHz, 14MHz, 28MHz

    +
  • +
  • +

    Soporte de teclado con protocolo PS/2 y mapeado configurable por el usuario desde el propio Spectrum.

    +
  • +
  • +

    Soporte de ratón PS/2 emulando el protocolo Kempston Mouse.

    +
  • +
  • +

    Posibilidad de salida de video en modo de video compuesto, RGB 15kHz, o VGA.

    +
  • +
  • +

    Frecuencia de refresco vertical seleccionable por el usuario para mejorar la compatibilidad con monitores VGA.

    +
  • +
  • +

    Soporte de arranque multicore: desde el Spectrum se puede seleccionar una dirección de la SPI Flash y la FPGA cargará un core desde ahí.

    +
  • +
+
+
+
+

Formato avanzado de la tarjeta microSD (+3e)

+
+

Una de las ROM que se pueden cargar con el core de ZX Spectrum es la de ZX Spectrum +3e, que es una versión mejorada del Sinclair ZX Spectrum +3, y que soporta el uso de discos duros o tarjetas de memoria.

+
+
+

El +3e usa su propio esquema de particionado (llamado IDEDOS) para dividir el disco duro en diferentes particiones donde se pueden almacenar datos. Se necesita una version 1.28 o superior de la ROM para poder compartir particiones IDEDOS con particiones MBR. En otro caso, se ha dedicar la tarjeta completa al particionado IDEDOS.

+
+
+ + + + + +
+ + +
+

El esquema de particionado que se presentará a continuación sólo se podrá utilizar con el core de Spectrum.

+
+
+
+
+ + + + + +
+ + +
+

En IDEDOS, cada partición puede tener un tamaño entre 1 y 16 Megabytes (un millón de bytes), y cada disco puede tener entre 1 y 65535 particiones. Por tanto, lo máximo que se puede ocupar de una tarjeta será alrededor de 1GB de espacio.

+
+
+
+
+

A continuación se explica una forma de dividir una tarjeta en dos o tres partes, con la primera partición IDEDOS (1GB de tamaño), la segunda FAT16 (4GB) y la tercera FAT32 (resto del espacio de la tarjeta).

+
+
+

En la segunda particion se puede instalar, tal y como se explicó anteriormente exsdos y otros programas.

+
+
+

Windows

+
+

Se puede utilizar el administrador de discos de Windows. Los pasos a seguir serían:

+
+
+
    +
  1. +

    Eliminar todas las particiones de la tarjeta

    +
  2. +
  3. +

    Crear una partición extendida, del tamaño que se quiera utilizar para IDEDOS

    +
  4. +
  5. +

    Crear una partición primaria de 4GB y formatear como FAT16

    +
  6. +
  7. +

    Opcionalmente, crear otra partición primaria ocupando el resto del espacio y formatear como FAT32

    +
  8. +
+
+
+
+
+

MacOS

+
+

Será necesario utilizar la línea de comandos. Lo primero es determinar el disco a formatear:

+
+
+
+
diskutil list
+
+
+
+

En este ejemplo sería el disco 6:

+
+
+
+
(...)
+/dev/disk6 (external, physical):
+   #:                       TYPE NAME                    SIZE       IDENTIFIER
+   0:     FDisk_partition_scheme                        *15.9 GB    disk6
+   1:                 DOS_FAT_32 UNKNOWN                 15.9 GB    disk6s1
+
+
+
+

Pasos a seguir:

+
+
+
    +
  1. +

    Expulsar el disco y editar el esquema de particiones (el segundo paso requiere permisos de administrador):

    +
  2. +
+
+
+
+
diskutil unmountDisk /dev/disk6
+sudo fdisk -e /dev/rdisk6
+
+
+
+
+
fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory
+Enter 'help' for information
+fdisk: 1> erase
+fdisk:*1> edit 1
+Partition id ('0' to disable)  [0 - FF]: [0] (? for help) 7F
+Do you wish to edit in CHS mode? [n]
+Partition offset [0 - 31116288]: [63] 128
+Partition size [1 - 31116287]: [31116287] 2017152
+
+fdisk:*1> edit 2
+Partition id ('0' to disable)  [0 - FF]: [0] (? for help) 0E
+Do you wish to edit in CHS mode? [n]
+Partition offset [0 - 31116288]: [2017280]
+Partition size [1 - 29099135]: [29099135] 7812504
+
+fdisk:*1> flag 2
+
+
+
+
+
fdisk:*1> edit 3
+Partition id ('0' to disable)  [0 - FF]: [0] (? for help) 0B
+Do you wish to edit in CHS mode? [n]
+Partition offset [0 - 31116288]: [9829784]
+Partition size [1 - 21286504]: [21286504]
+
+fdisk:*1> print
+         Starting       Ending
+ #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
+------------------------------------------------------------------------
+ 1: 7F 1023 254  63 - 1023 254  63 [       128 -    2017152] <Unknown ID>
+ 2: 0E 1023 254  63 - 1023 254  63 [   2017280 -    7812504] DOS FAT-16
+ 3: 0B 1023 254  63 - 1023 254  63 [   9829784 -   21286504] Win95 FAT-32
+ 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused
+
+fdisk:*1> write
+fdisk: 1> quit
+
+
+
+
    +
  1. +

    Formatear las particiones FAT (requiere permisos de administrador)

    +
  2. +
+
+
+
+
diskutil unmountDisk /dev/disk6
+sudo newfs_msdos -F 16 -v ZXDOSPLUS -b 4096 -c 128 /dev/rdisk6s2
+sudo newfs_msdos -F 32 -v EXTRA -b 4096 -c 128 /dev/rdisk6s3
+
+
+
+
    +
  1. +

    Comprobar cómo el esquema de particiones ha cambiado y ya es el que se deseaba:

    +
  2. +
+
+
+
+
diskutil list
+
+
+
+
+
(...)
+/dev/disk6 (external, physical):
+   #:                       TYPE NAME                    SIZE       IDENTIFIER
+   0:     FDisk_partition_scheme                        *15.9 GB    disk6
+   1:                       0x7F                         1.0 GB     disk6s1
+   2:             Windows_FAT_16 ZXDOSPLUS               4.0 GB     disk6s2
+   3:                 DOS_FAT_32 EXTRA                   10.9 GB    disk6s3
+
+
+
+
+

Linux

+
+

Será necesario utilizar la línea de comandos. Lo primero es determinar el disco a formatear:

+
+
+
+
lsblk
+
+
+
+
+

En este ejemplo sería sdc:

+
+
+
+
NAME         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
+(..)
+sdc          179:0    0 15,8G  0 disk
+└─sdc1       179:1    0 15,8G  0 part
+
+
+
+

Pasos a seguir:

+
+
+
    +
  1. +

    Comprobar que no está montado y editar el esquema de particiones (este paso requiere permisos de root):

    +
  2. +
+
+
+
+
sudo fdisk -e /dev/sdc
+
+
+
+
+
Enter 'help' for information
+fdisk: 1> erase
+fdisk:*1> edit 1
+Partition id ('0' to disable)  [0 - FF]: [0] (? for help) 7F
+Do you wish to edit in CHS mode? [n]
+Partition offset [0 - 31116288]: [63] 128
+Partition size [1 - 31116287]: [31116287] 2017152
+
+fdisk:*1> edit 2
+Partition id ('0' to disable)  [0 - FF]: [0] (? for help) 0E
+Do you wish to edit in CHS mode? [n]
+Partition offset [0 - 31116288]: [2017280]
+Partition size [1 - 29099135]: [29099135] 7812504
+
+fdisk:*1> flag 2
+
+fdisk:*1> edit 3
+Partition id ('0' to disable)  [0 - FF]: [0] (? for help) 0B
+Do you wish to edit in CHS mode? [n]
+Partition offset [0 - 31116288]: [9829784]
+Partition size [1 - 21286504]: [21286504]
+
+fdisk:*1> print
+         Starting       Ending
+ #: id  cyl  hd sec -  cyl  hd sec [     start -       size]
+------------------------------------------------------------------------
+ 1: 7F 1023 254  63 - 1023 254  63 [       128 -    2017152] <Unknown ID>
+ 2: 0E 1023 254  63 - 1023 254  63 [   2017280 -    7812504] DOS FAT-16
+ 3: 0B 1023 254  63 - 1023 254  63 [   9829784 -   21286504] Win95 FAT-32
+ 4: 00    0   0   0 -    0   0   0 [         0 -          0] unused
+
+fdisk:*1> write
+fdisk: 1> quit
+
+
+
+
    +
  1. +

    Formatear las particiones FAT (requiere permisos de root)

    +
  2. +
+
+
+
+
sudo mkfs.fat -F 16 /dev/sdc2
+sudo mkfs.fat -F 32 /dev/sdc3
+
+
+
+
    +
  1. +

    Verificar que el esquema de particiones ha cambiado y ya es el que se quería:

    +
  2. +
+
+
+
+
lsblk
+
+
+
+
+
NAME      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
+(...)
+sda      179:0    0 15,8G  0 disk
+├─sda1   179:1    0    1G  0 part
+├─sda2   179:2    0    4G  0 part
+├─sda3   179:3    0 10,8G  0 part
+
+
+
+
+

+3e

+
+

Una vez preparada la tarjeta para su uso, se puede arrancar el core de Spectrum con una ROM de +3e, y formatear la parte de IDEDOS según se desee.

+
+
+

El primer paso consiste en determinar la geometría de la microSD. Con la tarjeta insertada en el ZXDOS+, desde el core de Spectrum con la ROM de +3e, ejecutar el comando:

+
+
+
+
CAT TAB
+
+
+
+

Esto devoverá un resultado indicando el número de cilindros, cabezales y sectores.

+
+
+

Teniendo esto en cuenta, calculamos el espacio que ocupa nuestra partición, en cilindros. Por ejemplo, si el número de cilindros obtenido es de 32768, y queremos utilizar 1GB de una tarjeta de 16GB, el número de cilindros que se necesitarían son 32768/16=2048. Por tanto, podemos formatear la partición IDEDOS usando ese número:

+
+
+
+
FORMAT TO 0,100,2048
+
+
+
+

El primer valor (0) indica el disco a utilizar (el primero), el segundo valor es el número máximo de particiones IDEDOS que se podrán usar, y el tercer valor es el número de cilindros a utilizar.

+
+
+
+

Una vez hecho el formato, ya será posible crear nuevas particiones. Por ejemplo, para crear una partición llamada "Software" de 16MB, una llamada "Swap1", de 4MB (para usar como espacio swap) y otra llamada "Utils" de 8MB:

+
+
+
+
NEW DATA "Software",16
+NEW EXP "Swap1",4
+NEW DATA "Utils",8
+
+
+
+

Para más información sobre el uso de los distintos comandos de +3e para acceso al disco, se puede visitar esta página en World of Spectrum.

+
+
+
+
+
+

Teclado

+
+

El mapa de teclado (asignación de las teclas físicas del teclado con las pulsaciones que se presentan a los distinto cores) se cambia desde el menú Advanced de la BIOS. Existen tres mapas distintos a elegir: Español (por defecto), inglés, y Spectrum (avanzado).

+
+
+

También se puede cambiar con la utilidad keymap. Dentro de /bin hay que crear un directorio llamado keymaps y ahí copiar los mapas de teclado se desee usar. Por ejemplo, para cambiar al mapa US hay que escribir .keymap us desde esxdos.

+
+
+

Para que el mapa se conserve después de un master reset, hay que tener seleccionado Default en la configuración de BIOS.

+
+
+

Para más información, consultar este mensaje en el foro de ZX-Uno.

+
+
+

Español

+
+

keyboardEsp

+
+
+
+

Inglés

+
+

keyboardEng

+
+
+
+

Spectrum

+
+

keyboardAV

+
+
+
+
+
+

Teclas especiales y botones

+
+

Las combinaciones específicas de gomaDOS+ que se indican a continuación se corresponden con el modo de teclado ZX. Véase el apartado dedicado a los modos de teclado de gomaDOS+ para más información. También se pueden utilizar las equivalentes en el modo de teclado PC XT (Por ejemplo, Caps Shift+Symbol Shift+2 en vez de Caps Shift+1).

+
+
+

Teclas especiales durante el arranque:

+
+
+
    +
  • +

    F2 (Caps Shift+1 en gomaDOS+) Entrar en la BIOS

    +
  • +
  • +

    Bloq. Mayús o Cursor abajo (Caps Shift+2 en gomaDOS+): Menú de selección de cores

    +
  • +
  • +

    Esc (Caps Shift+Espacio en gomaDOS+): Menú de selección de ROMS del core de ZX Spectrum

    +
  • +
  • +

    R: Carga la rom del core de ZX Spectrum en modo "real" deshabilitando esxdos, nuevos modos gráficos, etc.

    +
  • +
  • +

    / (del teclado numérico): Carga la ROM por defecto del core de ZX Spectrum en modo "root"

    +
  • +
  • +

    Número del 1 al 9: Cargar el core en la ubicación de la Flash correspondiente a dicho número

    +
  • +
+
+
+

Teclas especiales que se pueden utilizar durante la ejecución del core principal (ZX Spectrum):

+
+
+
    +
  • +

    Esc (Caps Shift+Espacio en gomaDOS+): BREAK

    +
  • +
  • +

    F2 (Caps Shift+1 en gomaDOS+): Edit

    +
  • +
  • +

    F5 (Caps Shift+Symbol Shift+5 en gomaDOS+): NMI

    +
  • +
  • +

    F7 (Caps Shift+Symbol Shift+7 en gomaDOS+): Reproducir o Pausa en la reproducción de archivos .PZX

    +
  • +
  • +

    F8 (Caps Shift+Symbol Shift+8 en gomaDOS+): Rebobinar el archivo .PZX hasta la marca anterior

    +
  • +
  • +

    F10 (Caps Shift+9 en gomaDOS+): Graph

    +
  • +
  • +

    F12 (Caps Shift+Symbol Shift+W en gomaDOS+): Turbo Boost. Pone a la CPU a 28MHz mientras se mantenga pulsada (a partir del core EXP27).

    +
  • +
  • +

    Ctrl+Alt+Backspace (Caps Shift+Symbol Shift+B en gomaDOS+): Hard reset. Backspace es la tecla de borrar hacia atrás, encima de Enter.

    +
  • +
  • +

    Ctrl+Alt+Supr (Caps Shift+Symbol Shift+N en gomaDOS+): Soft reset.

    +
  • +
  • +

    Bloq. Despl. (Caps Shift+Symbol Shift+G en gomaDOS+): cambia de modo video compuesto a VGA y viceversa.

    +
  • +
+
+
+
+
+

ROMs

+
+

El core de ZX Spectrum tiene la capacidad de inicializar utilizando diferentes versiones de ROM (48K, 128K, Plus 2, etc.). Estas se almacenan en la memoria flash del ZXDOS+, y se puede elegir cuál cargar, pulsando la tecla Esc durante el arranque. También es posible definir desde la configuración de BIOS, cuál es la ROM que se desea que se cargue por defecto.

+
+
+

Véase el apartado de actualizaciones para más información sobre cómo ampliar o modificar las ROMs almacenadas en la memoria flash.

+
+
+
+
+

esxdos

+
+

Guía básica

+
+

Existen dos tipos diferentes de comandos de esxdos, los llamados comandos "DOT", que, como su nombre indica, comienzan por un punto, y las extensiones de la funcionalidad de comandos existentes en BASIC.

+
+
+

Los principales comandos "DOT" commands son los siguientes:

+
+
+
    +
  • +

    128: Para pasar al modo 128K desde el modo 48K.

    +
  • +
  • +

    cd: Cambiar el directorio actual de trabajo.

    +
  • +
  • +

    chmod: cambiar los atributos de los ficheros de la tarjeta SD.

    +
  • +
  • +

    cp: Copiar un archivo.

    +
  • +
  • +

    divideo: Reproduce un archivo de video DivIDEo (.DVO).

    +
  • +
  • +

    drives: Mostrar las unidades disponibles.

    +
  • +
  • +

    dskprobe: Utilidad para ver el contenido a bajo nivel de un dispositivo de almacenamiento.

    +
  • +
  • +

    dumpmem: Permite volcar contenido de la memoria RAM a un fichero.

    +
  • +
  • +

    file: Intenta determinar el tipo de un fichero por su contenido (como el comando de UNIX).

    +
  • +
  • +

    gramon: Monitor para buscar gráficos, sprites, fuentes de texto, etc. en la memoria RAM.

    +
  • +
  • +

    hexdump: Muestra el contenido de un fichero usando notación hexadecimal.

    +
  • +
  • +

    hexview: Permite ver y navegar por el contenido de un fichero usando notación hexadecimal.

    +
  • +
  • +

    launcher: Crea un atajo (launcher) para abrir directamente un fichero TAP.

    +
  • +
  • +

    ls: Ver el contenido de un directorio.

    +
  • +
  • +

    lstap: Ver el contenido de un fichero .TAP

    +
  • +
  • +

    mkdir: Crear un directorio.

    +
  • +
  • +

    mktrd: Crear un fichero imagen de disquete .TRD

    +
  • +
  • +

    more: Ver el contenido de un archivo de texto.

    +
  • +
  • +

    mv: Mover un archivo.

    +
  • +
  • +

    partinfo: Muestra información sobre las particiones de un dispositivo de almacenamiento.

    +
  • +
  • +

    playpt3: Reproducir un archivo musical .PT3.

    +
  • +
  • +

    playsqt: Reproducir un archivo musical .SQT.

    +
  • +
  • +

    playstc: Reproducir un archivo musical .STC.

    +
  • +
  • +

    playtfm: Reproducir un archivo musical .TFC.

    +
  • +
  • +

    playwav: Reproducir un archivo de audio .WAV.

    +
  • +
  • +

    rm: Borrar un archivo o directorio.

    +
  • +
  • +

    snapload: Carga ficheros snapshot.

    +
  • +
  • +

    speakcz: Reproduces texto usando pronunciación checa.

    +
  • +
  • +

    tapein: Montar un archivo .TAP para poder ser utilizado luego desde BASIC con la sentencia LOAD

    +
  • +
  • +

    tapeout: Montar un archivo .TAP para poder ser utilizado luego desde BASIC con la sentencia SAVE

    +
  • +
  • +

    vdisk: Monta una unidad de disquete .TRD para usar en el entorno TR-DOS (Una vez montadas todas las unidades deseadas, se puede entrar en el emulador de TR-DOS escribiendo: RANDOMIZE USR 15616)

    +
  • +
+
+
+

Algunos comandos extendidos de BASIC son:

+
+
+
    +
  • +

    GO TO para cambiar de unidad y/o directorio (ej: GO TO hd1 o GO TO hd0"juegos")

    +
  • +
  • +

    CAT para mostrar el contenido de una unidad

    +
  • +
  • +

    LOAD para cargar un fichero desde una unidad (programa en BASIC, pantalla, código, etc. por ejemplo LOAD *"Pantalla.scr" SCREEN$)

    +
  • +
  • +

    SAVE para guardar datos en un fichero (Ej: SAVE *"Programa.bas")

    +
  • +
  • +

    ERASE para borrar un fichero

    +
  • +
+
+
+

Además, esxdos incluye un gestor NMI, es decir, una aplicación que se carga cuando se pulsa NMI (F5) y que facilita la navegación por la tarjeta microSD y la carga de algunos tipos de archivo (TAP, Z80, TRD, etc.). Pulsando la tecla "H" se accede a una pantalla de ayuda, en la que se indican todas las teclas disponibles.

+
+
+ + + + + +
+ + +
+

El gestor de esxdos muestra las entradas de archivos y directorios en el orden de la tabla FAT interna, y no de manera alfabética. Si se desea ver esta información ordenada, se debe reorganizar la estructura de la tarjeta con una utilidad como FAT Sorter para Windows, FATsort para Linux y MacOS, YAFS, SDSorter u otros.

+
+
+
+
+
+
+

Comandos para ZXDOS+

+
+

Tal y como se ha explicado en la parte de instalación, existe una serie de comandos que son exclusivos para ZXDOS+, y que se describen a continuación:

+
+
+
    +
  • +

    back16m: Copia a un fichero FLASH.ZX1 en el directorio raíz de la tarjeta SD el contenido de una memoria SPI Flash de 16 megas. Se debe ejecutar desde una ROM en modo "root". Tras terminar su ejecución hay que ejecutar el comando .ls para que se termine de grabar la cache en la tarjeta.

    +
  • +
  • +

    backzx2 o backzxd: Genera un fichero FLASH.ZX2 o FLASH.ZXD en el directorio raíz de la tarjeta SD el contenido de una memoria SPI Flash de 32 megas. Se debe ejecutar desde una ROM en modo "root". Cuando termine hay que ejecutar el comando .ls para que se termine de grabar la cache en la tarjeta microSD. Si no se hace, la longitud del archivo se quedará en 0 de forma errónea.

    +
  • +
  • +

    corebios: Para hacer una actualización conjunta del core de ZX Spectrum y de la BIOS.

    +
  • +
  • +

    dmaplayw: Reproduce un archivo de audio .WAV, que debe ser de 8 bits, sin signo y muestreado a 15625 Hz.

    +
  • +
  • +

    esprst: Resetea el módulo WiFi ESP8266(ESP-12).

    +
  • +
  • +

    iwconfig: Configura el módulo WiFi.

    +
  • +
  • +

    joyconf: Configura y prueba los joysticks de teclado y DB9.

    +
  • +
  • +

    keymap: Sirve para cargar una definición de teclado diferente.

    +
  • +
  • +

    loadpzx: Para cargar un archivo de imagen de cinta .PZX.

    +
  • +
  • +

    playmid: Reproduce archivos musicales .MID en el addon MIDI.

    +
  • +
  • +

    playrmov: Reproduce videos en formato radastaniano (ficheros .RDM). Este comando no funciona en modo 48K.

    +
  • +
  • +

    romsback: Copia a un fichero RomPack, llamado ROMS.ZX1, en el directorio raíz de la tarjeta microSD todas las ROMS del core ZX Spectrum almacenadas en la memoria SPI Flash. Sólo funciona correctamente en ZX-Uno y ZXDOS (no utilizar en ZXDOS+ o gomaDOS+). Se debe ejecutar desde una ROM en modo "root".

    +
  • +
  • +

    romsupgr: Copia el contenido de un fichero RomPack, llamado ROMS.ZX1, en el directorio raíz de la tarjeta microSD con todas las ROMS para el core ZX Spectrum a la memoria SPI Flash. Se debe ejecutar desde una ROM en modo "root".

    +
  • +
  • +

    upgr16m: Copia el contenido de un fichero FLASH.ZX1 en el directorio raíz de la tarjeta SD a una memoria SPI Flash de 16 megas. Se debe ejecutar desde una ROM en modo "root".

    +
  • +
  • +

    upgrzx2 o upgrzxd: Copia el contenido de un fichero FLASH.ZX2 o FLASH.ZXD a una memoria SPI Flash de 32 megas.Versión del comando upgrade exclusivo para memorias SPI Flash de 32 Megas. Se debe ejecutar desde una ROM en modo "root".

    +
  • +
  • +

    zxuc: Configura todas las opciones de la BIOS, permitiendo grabar en la microSD las opciones seleccionadas en archivos de configuración que pueden posteriormente ser cargados.

    +
  • +
  • +

    zxunocfg: Configura determinados aspectos del funcionamiento del ZX-Uno como los timings, la contención, el tipo de teclado, la velocidad de la CPU, el tipo y frecuencia vertical del vídeo.

    +
  • +
+
+
+
+
+
+

Wi-Fi

+
+

Todos los gomaDOS+, y algunos modelos de ZXDOS+, tienen incorporado un módulo ESP-12 con un chip Wi-Fi ESP8266, que se puede utilizar fácilmente con un core de ZX Spectrum (por ejemplo, el core EXP27 160820) que tenga sintetizado un dispositivo UART, que permite la comunicacion con el módulo.

+
+
+

Para configurar de forma básica el acceso al módulo, existen dos comandos "DOT" que se pueden obtener desde el repositorio oficial en GitHub:

+
+
+
    +
  • +

    esprst, que sirve para reiniciar el módulo

    +
  • +
  • +

    iwconfig, que se utiliza para indicar el identificador (SSID) y la contraseña de la red Wi-Fi a la que conectarse, que quedarán almacenados en el fichero /sys/config/iw.cfg para que puedan usarlos otros programas.

    +
  • +
+
+
+

Por ejemplo:

+
+
+
+
.iwconfig miwifi miclavedeacceso
+
+
+
+

Network tools for ZX-Uno pack

+
+

Se trata de un conjunto de programas, desarrollados por Nihirash y que se pueden descargar de su web.

+
+
+
    +
  • +

    netman: Utilidad sencilla para configurar la conexión Wi-Fi para el resto de programas. No funciona en modo 48K.

    +
  • +
  • +

    uGophy: Cliente de Gopher. No funciona en modo 48K.

    +
  • +
  • +

    irc: Cliente de Internet Relay Chat. Funciona mejor a 14 Mhz.

    +
  • +
  • +

    wget: Utilidad para descargar ficheros vía HTTP (no funciona con HTTPS).

    +
  • +
  • +

    platoUNO: Cliente de PLATO. También funciona mejor a 14 Mhz. Para más información sobre el uso moderno de PLATO, es interesante la web de IRATA.ONLINE.

    +
  • +
+
+
+
+

FTP-Uno

+
+

Cliente de FTP desarrollado por Yombo, disponible en GitHub.

+
+
+

Para utilizarlo, se deben seguir los siguientes pasos:

+
+
+
    +
  1. +

    Editar el archivo FTP.CFG con los datos necesarios (Wi-Fi, servidor FTP al que conectar, etc.)

    +
  2. +
  3. +

    Copiar FTP.CFG en /SYS/CONFIG/ en la tarjeta microSD

    +
  4. +
  5. +

    Copiar también ftpUno.tap al lugar que desee de la tarjeta

    +
  6. +
  7. +

    Iniciar el ZXDOS+ y cargar el archivo de cinta ftpUno.tap

    +
  8. +
+
+
+
+
+

UART Terminal

+
+

Se trata de un programa de ejemplo incluido con la biblioteca de funciones C ZXYLib desarrollada por yombo, y que permite enviar directamente pulsaciones de teclado a través del UART, y ver el resultado. Se puede descargar en este enlace.

+
+
+

Una vez copiado el fichero de cinta UARTTERM.tap y cargado, se pueden teclear distintos comandos específicos para el chip ESP8266. Por ejemplo:

+
+
+
    +
  • +

    AT. Para verificar si hay comunicación con el chipo. El resultado normal, si todo está bien, sería OK

    +
  • +
  • +

    AT+RST. Para reiniciar el chip. Es exactamente lo mismo que hace el comando esprst

    +
  • +
  • +

    AT+GMR. Para ver información relativa al chip, versión de firmware instalado, etc

    +
  • +
  • +

    AT+CWMODE_CUR=1. Para configurar el chip en modo cliente Wi-Fi de forma temporal, hasta el próximo reinicio

    +
  • +
  • +

    AT+CWMODE_DEF=1. Para configurar el chip en modo cliente Wi-Fi y guardar el ajuste como opción por defecto

    +
  • +
  • +

    AT+CWJAP_CUR="<RedWiFi>","<ContraseñaWiFi>", donde <RedWiFi> es el ID de a red Wi-Fi donde conectar, y <ContraseñaWiFi> la contraseña de acceso, conecta temporalente a la red indicada

    +
  • +
  • +

    AT+CWJAP_DEF="<RedWiFi>","<ContraseñaWiFi>", conecta a la red indicada, y la guarda como red por defecto en la memoria del chip

    +
  • +
  • +

    AT+CWAUTOCONN=1 configura el chip para conectarse a la red Wi-Fi por defecto al encenderse (AT+CWAUTOCONN=0 desactiva esta opción)

    +
  • +
+
+
+

Se pueden consultar todos los comandos disponibles en la documentación oficial del fabricante.

+
+
+
+
+
+

Creación de vídeos RDM (RaDastan Movie)

+
+

El comando PLAYRMOV reproduce videos en formato radastaniano. Para poder convertir nuestros propios vídeos, se debe obtener la utilidad makevideoradas desde el Repositorio SVN.

+
+
+

En el caso de Windows, en el propio repositorio hay un ejecutable (makevideoras.exe) ya preparado. Para Linux o MacOS, será necesario tener las herramientas de desarrollo correspondientes y compilarlo.

+
+
+
+
gcc makevideoradas.c -o makevideoradas
+
+
+
+

Una vez dispongamos de makevideoradas, necesitaremos otras dos herramientas: ffmpeg e imagemagick. Estas se pueden instalar con el gestor de paquetes corespondiente (apt, yum, pacmam, brew, etc.) o descargando el código fuente y compilándolo también.

+
+
+

Ahora, el primer paso para convertir nuestro vídeo (por ejemplo, mivideo.mp4), es exportar los fotogramas como imágenes BMP de 128x96 píxeles de tamaño. Crearemos un directorio temporal (img en este ejemplo), donde guardar dichas imágenes.

+
+
+
+
mkdir img
+(...)/ffmpeg -i mivideo.mp4 -vf "scale=128:96,fps=25" -sws_flags lanczos -sws_dither ed -pix_fmt rgb4 -start_number 0 img/output%05d.bmp
+
+
+
+

Ahora transformaremos los ficheros BMP a BMP (v3) de 16 colores.

+
+
+
+
(...)/magick mogrify -colors 16 -format bmp -define bmp:format=bmp3 img/*.bmp
+
+
+
+

Finalmente, creamos el fichero .RDM (en este ejemplo mivideo.rdm) y borramos las imágenes y el directorio temporal.

+
+
+
+
(...)/makevideoradas img/output
+mv img/output.rdm ../mivideo.rdm
+rm -rf img
+
+
+
+

En este hilo del foro Zona de Pruebas hay más información sobre todo este proceso.

+
+
+
+
+
+
+

Actualizaciones

+
+
+

BIOS

+
+

Para actualizar BIOS se ha de obtener un fichero llamado FIRMWARE.ZX2 (para un ZXDOS+ con placa FPGA LX16) o FIRMWARE.ZXD (para un ZXDOS+ con placa FPGA LX25). La última versión de los ficheros de firmware se puede descargar desde el repositorio oficial

+
+
+ + + + + +
+ + +
+

Actualizar el firmware (BIOS) es delicado, no se debe hacer si no es necesario. En el caso de hacerlo, procurar que el ZXDOS+ tenga alimentación ininterumpida (como un SAI o un USB de portatil con batería).

+
+
+
+
+

Copiar el fichero en la raíz de la tarjeta MicroSD, encender y pulsar F2 para entrar en la BIOS, seleccionar Upgrade, elegir "Upgrade BIOS for ZX", y luego "SDfile". El sistema leerá el fichero FIRMWARE…​ y avisará cuando esté actualizado.

+
+
+
+

ROMs

+
+

La memoria flash del ZXDOS+ dispone de 64 "slots", de 16K cada uno, para almacenar imágenes ROM de ZX Spectrum y compatibles. Así, la ROM del ZX Spectrum original (16K) ocuparía un slot del almacenamiento, la del ZX Spectrum 128K (32K) ocuparía dos slots, y la del ZX Spectrum +2A (64K) ocuparía 4 slots.

+
+
+

Se puede añadir una nueva ROM desde la pantalla ROMs de la BIOS, pulsando la tecla N, conectando un cable de audio a la entrada de sonido de la placa, y reproduciendo una cinta de carga de ROM. Las cintas de carga de ROM se pueden crear desde un archivo .tap generado con la utilidad GenRom, disponible en el repositorio de código de ZX-Uno.

+
+
+

Para actualizar las ROM instaladas para ZX Spectrum de forma masiva, se ha de obtener un fichero RomPack con el nombre ROMS.ZX1, y se tiene que copiar en la tarjeta MicroSD. Arrancar el ZXDOS+ usando una ROM en modo "root", y entonces bastará con introducir el comando .romsupgr. Esto grabará todas las ROM, que quedarán disponibles para su uso.

+
+
+ + + + + +
+ + +
+

Recordar que, si se inicia el ZXDOS+ pulsando la tecla / (del teclado numérico) (Symbol Shift+V en gomaDOS+), entonces se cargará la ROM por defecto del core de ZX Spectrum en modo "root".

+
+
+
+
+

Para hacer el proceso contrario (guardar las ROMs en un fichero RomPack llamado ROMS.ZX1), se puede usar el comando .romsback.

+
+
+ + + + + +
+ + +
+

La versión actual de romsback, en ZXDOS+, sólo almacena correctamente en RomPack los primeros 35 slots de ROM ocupados.

+
+
+
+
+

Los ficheros RomPack se pueden editar fácilmente con la utilidad ZX1RomPack. Aunque es un programa de Windows, funciona perfectamente, por ejemplo, usando Wine o programas similares, tanto en MacOS como en Linux.

+
+
+
+

Cores

+
+

Hay un número de espacios disponibles para almacenar cores (el número depende del tamaño de la SPI Flash del modelo de ZXDOS), estando reservado el primer espacio para el de ZX Spectrum principal (esto no impide tener más cores de ZX Spectrum en otros espacios además del primero).

+
+
+

Los cores oficiales están disponibles para descargar en el repositorio en GitHub.

+
+
+

Para actualizar o instalar un nuevo core hay varias alternativas.

+
+
+

La forma más sencilla consiste en obtener la última versión del fichero que lo define, que será un fichero que hay que llamar COREnn.ZX2 (para un ZXDOS+ con placa FPGA LX16) o COREnn.ZXD (para un ZXDOS+ con placa FPGA LX25), donde nn es el número de espacio donde realizar la instalación (por ejemplo CORE2.ZX2 o CORE2.ZXD para el espacio 2).

+
+
+ + + + + +
+ + +
+

A partir de la version 0.80 de BIOS, los ficheros se nombran usando la convención COREXXy.ZXn donde XX siempre es un número de dos digitos. Así, un antiguo fichero CORE4.ZXD ha de renombrarse como CORE04.ZXD. La parte y del nombre se ignora, así que se pueden usar nombres más largos y descriptivos (como, por ejemplo, CORE04_ejemplo.ZXD).

+
+
+
+
+

Copiar el fichero en la raíz de la tarjeta microSD, encender y pulsar F2 para entrar en la BIOS. Elegir Upgrade, seleccionar la fila correspondiente al número de core elegido (por ejemplo, la 2 – justo después de la de Spectrum), pulsar enter y luego "SD file". El sistema leerá el fichero COREnn…​ y avisará cuando esté actualizado, aunque antes preguntará el nombre (con el que se verá en la lista para elegir en el arranque y en el listado de la BIOS). Una vez instalado, se podrá utilizar al arrancar.

+
+
+ + + + + +
+ + +
+

La actualización del core de ZX Spectrum es exactamente igual que los otros cores, pero en lugar del fichero CORE1.ZX2 o CORE1.ZXD, ha de ser un fichero llamado SPECTRUM.ZX2 o SPECTRUM.ZXD.

+
+
+
+
+
+

esxdos

+
+

Para actualizar esxdos a una nueva versión, se ha de obtener la distribución desde la página oficial.

+
+
+

Una vez descargado y descomprimido, se ha de copiar, a la raíz de la tarjeta, el contenido de los directorios BIN y SYS sobreescribiendo los existentes (para preservar los comandos exclusivos de ZXDOS+).

+
+
+

Copiar ESXMMC.BIN (o ESXMMC.ROM, según la versión) en la raíz de la tarjeta microSD.

+
+
+

Iniciar el ZXDOS+ con la tarjeta insertada y pulsar F2 para acceder a la configuración de BIOS. Seleccionar el menú Upgrade y elegir "Upgrade esxdos for ZX". En el diálogo que aparece elegir "SD file" y, cuando pregunte "Load from SD" contestar "Yes" a la pregunta "Are you sure?". Se leerá el contenido del fichero ESXDOS…​, se grabará en la flash y avisará cuando esté actualizado.

+
+
+

Realizar un Hard-reset, o apagar y encender.

+
+
+

Si todo se ha hecho correctamente, al encender el ZXDOS+ se verá cómo esxdos detecta la tarjeta y carga los componentes necesarios para funcionar, mostrando la nueva versión en la parte superior.

+
+
+
+

Memoria Flash

+
+

También es posible actualizar la memoria flash de la FPGA. Por el momento desde el menú de la BIOS sólo es posible utilizar imágenes de 16MiB. Para poder usar una imagen de 32MiB, se ha de usar el comando UPGRZX2 o UPGRZXD de esxdos y un fichero con el nombre FLASH.ZX2 o FLASH.ZXD.

+
+
+

Copiar el archivo de imagen (de 16MiB) FLASH.ZXD en la raíz de la tarjeta microSD.

+
+
+

Iniciar el ZXDOS+ con la tarjeta insertada y pulsar F2 (Caps Shift+1 en gomaDOS+) para acceder a la configuración de BIOS. Seleccionar el menú Upgrade y elegir "Upgrade flash from SD". En el diálogo que pregunta "Load from SD" contestar "Yes" a la pregunta "Are you sure?". Se leerá el contenido del fichero FLASH…​, .

+
+
+

Realizar un Hard-reset, o apagar y encender.

+
+
+ + + + + +
+ + +
+

Este proceso sustituye todos los cores instalados, la BIOS, así como las ROMs de ZX Spectrum y la configuración por lo que haya en la imagen, y no se puede deshacer.

+
+
+
+
+
+
+
+
+

Otros cores

+
+
+

ZX Spectrum 48K (Kyp)

+
+

Core alternativo, cuyo objetivo es ser una implementación de un Spectrum 48K que sea lo más exacta posible en cuanto a la configuración de los tiempos (timing), contención de memoria, etc.

+
+
+

Sus características principales son:

+
+
+
    +
  • +

    Sólo funciona con RGB

    +
  • +
  • +

    Specdrum

    +
  • +
  • +

    Turbosound (dos chips AY) con posibilidad de elegir mix ACB/ABC

    +
  • +
  • +

    DivMMC con esxdos 0.8.8

    +
  • +
  • +

    Joystick Kempston en el puerto 1

    +
  • +
+
+
+

Formato de Tarjeta microSD

+
+

Se debe de utilizar una tarjeta microSD con la primera partición en formato FAT16 o FAT32, y que tenga instalada la distribución de esxdos 0.8.8 (ver el apartado correspondiente de esxdos para más información).

+
+
+
+

Teclado

+ +
+
+

Teclas especiales y botones

+
+

Durante la ejecución del core:

+
+
+
    +
  • +

    Esc (Caps Shift+Espacio en gomaDOS+): BREAK

    +
  • +
  • +

    F5 (Caps Shift+Symbol Shift+5 en gomaDOS+): NMI

    +
  • +
  • +

    F8 (Caps Shift+Symbol Shift+8 en gomaDOS+): Alternar la configuración de mezcla de Turbosound entre ACB y ABC.

    +
  • +
  • +

    Ctrl+Alt+Backspace (Caps Shift+Symbol Shift+B en gomaDOS+) o F11 (Caps Shift+Symbol Shift+Q en gomaDOS+): Hard reset. Backspace es la tecla de borrar hacia atrás, encima de Enter.

    +
  • +
  • +

    Ctrl+Alt+Supr (Caps Shift+Symbol Shift+N en gomaDOS+) o F12 (Caps Shift+Symbol Shift+W en gomaDOS+): Soft reset.

    +
  • +
+
+
+
+
+
+

ZX Spectrum Next

+
+

ZX Spectrum Next es un proyecto, basado en FPGA, que aspira a ser la evolución de los ordenadores Sinclair ZX Spectrum, manteniendo la compatibilidad hardware y software con los modelos anteriores, pero añadiendo nuevas características.

+
+
+

Principalmente gracias a avlixa, existe una versión del core de ZX Spectrum Next sintetizada para usarse con ZXDOS+.

+
+
+

El core para ZXDOS+ no tiene, por el momento, implementada ninguna de las siguientes caracteristicas:

+
+
+
    +
  • +

    Raspberry Pi

    +
  • +
  • +

    Beeper interno

    +
  • +
  • +

    Conector de expansión EDGE

    +
  • +
  • +

    Módulo RTC

    +
  • +
  • +

    Teclado de membrana

    +
  • +
  • +

    Flasheo de cores adicionales o actualización del propio core Next desde el core Next

    +
  • +
  • +

    Salida MIC

    +
  • +
  • +

    Video HDMI

    +
  • +
  • +

    Utilización de puerto de conexión joystick para comunicación UART

    +
  • +
+
+
+

El manual de uso se puede descargar desde la página oficial.

+
+
+
+

Formato de Tarjeta microSD

+
+

Se debe de utilizar una tarjeta microSD con la primera partición en formato FAT16 o FAT32, y que tenga instalada la distribución de esxdos correspondiente a la configuración actual de BIOS (ver el apartado correspondiente de esxdos para más información).

+
+
+

Obtener la distribución de NextZXOS en la página oficial.

+
+
+

Descomprimir el contenido de NextZXOS en la tarjeta microSD, pero modificando el archivo config.ini en /machines/next para que contenga (si no existiera ya) la línea ps2=0 (para asegurar que se utiliza correctamente el puerto del teclado) y la línea intbeep=0 para apagar el zumbador interno (este último paso no es necesario en el caso de un gomaDOS+).

+
+
+

Si no estuviera ya, instalar el core de ZX Spectrum Next en el ZXDOS+.

+
+
+
+

Teclado

+ +
+
+

Teclas especiales y botones

+
+

Las combinaciones específicas de gomaDOS+ que se indican a continuación se corresponden con el modo de teclado ZX. Véase el apartado dedicado a los modos de teclado de gomaDOS+ para más información. También se pueden utilizar las equivalentes en el modo de teclado PC XT.

+
+
+

Notar que Ctrl+Alt+backspace no funciona con el core de Spectrum Next. Hay que apagar manualmente y volver a encender si se desea cambiar a otro core. Tampoco hay botón físico de Reset o Drive.

+
+
+

Durante la ejecución del core:

+
+
+
    +
  • +

    F1 (Caps Shift+Symbol Shift+1 en gomaDOS+): Hard Reset

    +
  • +
  • +

    F2 (Caps Shift+Symbol Shift+2 en gomaDOS+): Scandoubler. Dobla la resolución. Debería estar apagado para conexiones vía SCART

    +
  • +
  • +

    F3 (Caps Shift+Symbol Shift+3 en gomaDOS+): Alternar la frecuencia vertical entre 50Hz y 60Hz

    +
  • +
  • +

    F4 (Caps Shift+Symbol Shift+4 en gomaDOS+): Soft Reset

    +
  • +
  • +

    F7 (Caps Shift+Symbol Shift+7 en gomaDOS+): Scanlines

    +
  • +
  • +

    F9 (Caps Shift+Symbol Shift+9 en gomaDOS+): NMI

    +
  • +
  • +

    F10 (Caps Shift+Symbol Shift+0 en gomaDOS+): divMMC NMI. Simula la pulsación del botón Drive. Si se usa con mayúsculas, fuerza volver a buscar unidades de almacenamiento y cargar la pantalla de arranque en esxdos

    +
  • +
+
+
+
+
+

Guía básica

+
+

Al iniciarse la primera vez, aparecerán una serie de pantallas de ayuda. Tras pulsar la tecla Espacio, se mostrará el menú de inicio de NextZXOS.

+
+
+

next

+
+
+

Se puede navegar utilizando las teclas de cursor, las teclas 5, 6, 7 y 8, o un joystick (si se ha configurado en modo Kempston, MD o cursor). Enter o el botón del joystick selecciona un elemento.

+
+
+

La opción More…​ muestra un segundo menú con más opciones.

+
+
+

next2

+
+
+
+

Si se elige Browser, se cargará el navegador de NextZXOS, desde el que es posible desplazarse viendo el contenido de la tarjeta microSD y cargar directamente diferentes tipos de archivo (TAP, NEX, DSK, SNA, SNX, Z80, Z8, etc.).

+
+
+ + + + + +
+ + +
+

El navegador muestra las entradas de archivos y directorios en el orden de la tabla FAT interna, y no de manera alfabética. Si se desea ver esta información ordenada, se debe reorganizar la estructura de la tarjeta con una utilidad como FAT Sorter para Windows, FATsort para Linux y MacOS, YAFS, SDSorter u otros.

+
+
+
+
+

next3

+
+
+ + + + + +
+ + +
+

En el momento de escribir estas líneas, el core de ZX Spectrum Next para ZXDOS+ no soporta el uso del acelerador basado en Raspberry Pi, así que no es posible cargar ficheros TZX.

+
+
+
+
+ + + + + +
+ + +
+

Por defecto, no es posible cargar ficheros TRD dede el navegador (se debe configurar NextZXOS para cargar una "personalidad" con esxdos).

+
+
+
+
+

Para más información, consultar el manual de uso oficial.

+
+
+
+
+
+

MSX

+
+

MSX1FPGA es un proyecto para clonar MSX1. El desarrollo original es de Fabio Belavenuto y se encuentra disponible en GitHub.

+
+
+

Algunas de sus características son:

+
+
+
    +
  • +

    MSX1 a 50Hz o 60Hz;

    +
  • +
  • +

    Utiliza Nextor ROM con un controladr para SD

    +
  • +
  • +

    Mapa de teclado configurable

    +
  • +
  • +

    Simulación de línea de exploración (Scanlines)

    +
  • +
  • +

    Soporte para joystick

    +
  • +
+
+
+

Formato de Tarjeta microSD

+
+

Se debe de utilizar una tarjeta microSD con la primera partición en formato FAT16. Es posible utilizar una segunda partición FAT16 para albergar todo el software, dejando la primera sólo para arrancar el sistema.

+
+
+

Obtener lo siguiente:

+
+
+ +
+
+

Copiar el contenido del directorio SD en la raíz de la primera partición de la tarjeta microSD.

+
+
+

Copiar NEXTOR.SYS en el mismo lugar.

+
+
+

Copiar NEXTOR.ROM en el directorio MSX1FPGA.

+
+
+

Copiar la ROM deseada de MSX1 (MSX_INT.rom, MSX_JP.rom o MSX_USA.rom) en el directorio MSX1FPGA, pero usando el nombre MSX1BIOS.ROM.

+
+
+

En el fichero /MSX1FPGA/config.txt se guarda la configuración del core, según este formato:

+
+
+
+
11SP01
+||||||
+|||||+-Modo de línea de exploración: 1=Activo, 0=Inactivo
+||||+--Turbo: 1=Arrancar con el modo turbo activo
+|||+---Sistema de color: N=NTSC, P=PAL
+||+----Mapa de Teclado: E=Inglés, B=Brasileño, F=Francés, S=Castellano
+|+-----Scandoubler(VGA): 1=Activo, 0=Inactivo
++------Nextor: 1=Activo, 0=Inactivo
+
+
+
+

Si no estuviera ya, instalar el core de MSX en el ZXDOS+.

+
+
+
+
+

Teclado

+ +
+
+

Teclas especiales y botones

+
+

Las combinaciones específicas de gomaDOS+ que se indican a continuación se corresponden con el modo de teclado MSX. Véase el apartado dedicado a los modos de teclado de gomaDOS+ para más información. También se pueden utilizar las equivalentes en el modo de teclado PC XT.

+
+
+

Durante la ejecución del core:

+
+
+
    +
  • +

    Impr Pant: Cambia el modo entre VGA y RGB

    +
  • +
  • +

    Bloq Desp (Caps Shift+Symbol Shift+G en gomaDOS+): Cambia el modo de línea de exploración (Scanlines)

    +
  • +
  • +

    Pausa: Cambia entre 50Hz y 60Hz

    +
  • +
  • +

    F11 (Caps Shift+Symbol Shift+Q en gomaDOS+): : Activa o desactiva el modo turbo

    +
  • +
  • +

    Ctrl+Alt+Supr: Soft Reset

    +
  • +
  • +

    Ctrl+Alt+F12: Hard Reset

    +
  • +
  • +

    Ctrl+Alt+Backspace (Caps Shift+Symbol Shift+B en gomaDOS+, en modo de teclado ZX Spectrum): Reinicia la FPGA

    +
  • +
  • +

    ALT Izquierdo: MSX GRAPH

    +
  • +
  • +

    ALT Derecho: MSX CODE

    +
  • +
  • +

    Re Pág: MSX SELECT

    +
  • +
  • +

    Inicio: MSX HOME (Mayús+HOME: CLS)

    +
  • +
  • +

    Fin: MSX STOP

    +
  • +
  • +

    Ñ o Windows: MSX DEAD

    +
  • +
+
+
+ + + + + +
+ + +
+

En BASIC, se puede usar CTRL + STOP (Ctrl+Fin) para detener la ejecución de un programa.

+
+
+
+
+ + + + + +
+ + +
+

Para cambiar el modo de vídeo entre 50Hz y 60Hz (para ejecución correcta de programas PAL a través de VGA), se puede usar también DISPLAY.COM, que se puede obtener en este hilo del foro de MSX.

+
+
+
+
+
+
+

Guía básica

+
+

Para acceder a BASIC desde MSX-DOS, ejecutar el comando BASIC.

+
+
+

Desde BASIC, se puede cargar desde una cinta (u otro dispositivo externo de audio) con los comandos RUN"CAS:", BLOAD"CAS:",R o CLOAD.

+
+
+

Notar

+
+
+

Para acceder a MSX-DOS desde BASIC, ejecutar CALL SYSTEM.

+
+
+
+
MSXCTRL
+
+

Se trata de una utilidad exclusiva del core MSX1FPGA, que permite controlar todas las opciones del core que antes solo eran accesibles a través del fichero de configuración o pulsando determinadas teclas.

+
+
+

Al ejecutar MSXCTRL se muestran los parámetros de uso:

+
+
+
+
MSXCTRL.COM - Utility to manipulate MSX1FPGA core.
+HW ID = 06 - ZX-Uno Board
+Version 1.3
+Mem config = 82
+Has HWDS = FALSE
+
+Use:
+
+MSXCTRL -h -i -r -b -[5|6] -m<0-2>
+        -c<0-1> -d<0-1> -t<0-1>
+        [-w<filename> | -l<filename>]
+        -k<0-255> -e<0-255> -p<0-255>
+        -s<0-255> -o<0-255> -a<0-255>
+
+
+
+

MSXCTRL -h muestra ayuda para cada parámetro. Así, MSXCTRL -i presenta la configuración actual, los parámetros -t 1 encienden el modo turbo, etc.

+
+
+
+
Otros
+
+

Existen múltiples sistemas para cargar los juegos dependiendo del tipo de archivo: .CAS, .DSK o ROM (ver este hilo del foro de ZX-Uno para más información).

+
+
+

El mapeo de para teclado español disponible con la distribución oficial se puede cambiar por otro más completo. Ver aquí para más información.

+
+
+
+
+
+
+

Amstrad CPC

+
+

El core para ZXDOS+ de Amstrad CPC está basado en el proyecto FPGAmstrad de Renaud Hélias.

+
+
+

Algunas de sus características son:

+
+
+
    +
  • +

    VGA: 640x480 VGA centrado a 60Hz

    +
  • +
  • +

    Selección de discos: El primer disco detectado se inserta en el arranque y la pulsación de una tecla hace reset y carga el siguiente

    +
  • +
+
+
+

Formato de Tarjeta microSD

+
+

Se debe de utilizar una tarjeta microSD con la primera partición en formato FAT32, de 4GB de tamaño y 4096 bytes por cluster.

+
+
+

Además son necesarios los ficheros ROM siguientes (se pueden obtener en la wiki oficial del proyecto original) o en el repositorio de GitHub: +- OS6128.ROM +- BASIC1-1.ROM +- AMSDOS.ROM +- MAXAM.ROM

+
+
+

También es recomendable incluir uno o más ficheros con imágenes de disco (DSK) con el software que se quiera ejecutar.

+
+
+

Copiar tanto los ficheros ROM como los DSK a la raíz de la partición FAT32.

+
+
+
+

Teclado

+ +
+
+

Teclas especiales y botones

+
+

Las combinaciones específicas de gomaDOS+ que se indican a continuación se corresponden con el modo de teclado Amstrad CPC. Véase el apartado dedicado a los modos de teclado de gomaDOS+ para más información. También se pueden utilizar las equivalentes en el modo de teclado PC XT.

+
+
+

Durante la ejecución del core:

+
+
+
    +
  • +

    Re Pág (Caps Shift+Symbol Shift+E en gomaDOS+): Hace un Reset del Amstrad y carga el siguiente archivo DSK en orden alfabético.

    +
  • +
  • +

    En un teclado PS/2, sólo funciona la tecla mayúsculas del lado izquierdo del teclado.

    +
  • +
+
+
+
+
+

Guía básica

+
+

Escribir el comando CAT para ver el contenido del fichero DSK cargado actualmente.

+
+
+

cpc

+
+
+

Escribir el comando RUN"<nombre> para cargar un programa del disco

+
+
+

cpc2

+
+
+

Usar la tecla Re Pág para hacer reset y cargar el siguiente archivo DSK en orden alfabético.

+
+
+
+
+
+

Acorn Atom

+
+

El Acorn Atom era un computador casero hecho por Acorn Computers. El core para ZXDOS+ (basado en el de ZX-Uno realizado por Quest) es una adaptación del proyecto AtomFPGA. Se puede ver más información en el foro de ZX-Uno.

+
+
+

Formato de Tarjeta microSD

+
+

Se debe de utilizar una tarjeta microSD con la primera partición en formato FAT16.

+
+
+

Descargar la última versión de Atom Software Archive desde GitHub.

+
+
+

Ahora, se puede organizar la información en la tarjeta microSD de dos maneras distintas:

+
+
+
    +
  1. +

    Descomprimir todo el contenido del archivo en la raíz de la tarjeta. El contenido del directorio SYS es compatible con el directorio SYS de esxdos, siendo posible combinar los dos en uno solo.

    +
  2. +
  3. +

    Organizar la información de una manera más reducida en la raíz, utilizando sólo dos directorios. Crear un directorio ATOM en la raíz de la tarjeta, y copiar en su interior todo el contenido del archivo, excepto el directorio MANPAGES que se tendrá que poner también en la raíz de la microSD. Luego, copiar los ficheros del archivo trick_ATOM_folder (disponible en el foro de ZX-Uno), reemplazando todos los que se encuentren con el mismo nombre. Así, quedará una estructura como la siguiente:

    +
  4. +
+
+
+
+
        /
+        +-ATOM/
+        |  +-AA/
+        |  (...)
+        |  +-AGD/
+        |  | +-SHOW2
+        |  | +-SHOW3
+        |  (...)
+        |  +-MENU
+        |  (...)
+        |  +-TUBE/
+        |  | +-BOOT6502
+        |  (..)
+        |
+        +-MANPAGES/
+        |  +-CPM.MAN
+        |  +-FLEX.MAN
+        |  (...)
+        |
+        +-MENU
+
+
+
+
+
+

Teclado

+ +
+
+

Teclas especiales y botones

+
+

Las combinaciones específicas de gomaDOS+ que se indican a continuación se corresponden con el modo de teclado Acorn Electron. Véase el apartado dedicado a los modos de teclado de gomaDOS+ para más información. También se pueden utilizar las equivalentes en el modo de teclado PC XT.

+
+
+

Durante la ejecución del core:

+
+
+
    +
  • +

    Mayús+F10: Muestra el menú de Atom Software Archive

    +
  • +
  • +

    F10 (Caps Shift+Symbol Shift+0 en gomaDOS+): Soft Reset

    +
  • +
  • +

    F1 (Caps Shift+Symbol Shift+1 en gomaDOS+): Modo turbo 1Mhz

    +
  • +
  • +

    F2 (Caps Shift+Symbol Shift+2 en gomaDOS+): Modo turbo 2Mhz

    +
  • +
  • +

    F3 (Caps Shift+Symbol Shift+3 en gomaDOS+): Modo turbo 4Mhz

    +
  • +
  • +

    F4 (Caps Shift+Symbol Shift+4 en gomaDOS+): Modo turbo 8Mhz

    +
  • +
+
+
+

El teclado está mapeado en inglés, según el siguiente esquema:

+
+
+

keyboardAtom

+
+
+
+
+

Guía básica

+
+

Tras iniciar el core, en algunos casos, puede suceder que se muestre una pantalla llena de @. Basta con retirar e insertar, o simplemente insertar, la tarjeta microSD, para que empiece a funcionar.

+
+
+

acorn

+
+
+

Una vez iniciado, pulsar Mayús+F10 para mostrar el menú desde el que se pueden cargar los programas de Atom Software Archive de la tarjeta.

+
+
+
+
+
+

Commodore 64

+
+

Commodore 64 (C64, CBM 64/CBM64, C=64,C-64, VIC-641​) es una computadora doméstica de 8 bits desarrollada por Commodore International.

+
+
+

El core para ZXDOS+ está siendo desarrollado por Neuro.

+
+
+

Formato de Tarjeta microSD

+
+

Se puede utilizar una tarjeta microSD con la primera partición en formato FAT16 o FAT32. Es posible cargar desde la misma tanto archivos de imagen de disco (D64) como ficheros de cinta (TAP).

+
+
+

Si no estuviera ya, instalar el core de Commodore 64 en el ZXDOS+.

+
+
+
+

Teclado

+ +
+
+

Teclas especiales y botones

+
+

Las combinaciones específicas de gomaDOS+ que se indican a continuación se corresponden con el modo de teclado Commodore 64. Véase el apartado dedicado a los modos de teclado de gomaDOS+ para más información. También se pueden utilizar las equivalentes en el modo de tecldo PC XT.

+
+
+

Durante la ejecución del core:

+
+
+
    +
  • +

    F9 Caps Shift+Symbol Shift+9 en gomaDOS+): Reproducir un archivo TAP de cinta

    +
  • +
  • +

    F12 (Caps Shift+Symbol Shift+W en gomaDOS+): Muestra menú de opciones

    +
  • +
  • +

    Bloq. Despl. (Caps Shift+Symbol Shift+G en gomaDOS+): cambia de modo video compuesto a VGA y viceversa.

    +
  • +
  • +

    Esc (Caps Shift+Espacio en gomaDOS+): RUN/STOP (Mayús+RUN/STOP: Carga desde cinta)

    +
  • +
+
+
+
+
+

Guía básica

+
+

Tras pulsar F12 (Caps Shift+Symbol Shift+W en gomaDOS+), aparece el menú de opciones.

+
+
+

c64

+
+
+

Desde dicho menú se puede

+
+
+
    +
  • +

    Hacer reset del core

    +
  • +
  • +

    Activar o desactivar la simulación de línea de exploración (Scanlines)

    +
  • +
  • +

    Cambiar la paleta de color

    +
  • +
  • +

    Cambiar entre modo video compuesto y modo VGA

    +
  • +
  • +

    Activar o desactivar el sonido de carga de cinta

    +
  • +
  • +

    Encender o apagar un filtro de audio

    +
  • +
  • +

    Cargar imagen de disco D64

    +
  • +
  • +

    Cargar fichero de cinta TAP

    +
  • +
+
+
+
+

Para cargar desde un disco, habitualmente, se ha de escribir LOAD "*",8,1 y pulsar Enter. Una vez aparezca READY en la pantalla, escribir RUN y pulsar Enter para ejecutar el programa.

+
+
+

Si el disco tuviera varios programas para ejecutar, escribir LOAD "$" y pulsar Enter. A continuación, escribir LIST, y pulsar Enter, para ver una lista con los archivos dentro del disco. Ahora, para cargar el archivo deseado, escribir LOAD "<nombre>",8 (donde <nombre> es el nombre del archivo a cargar) y pulsar Enter. Una vez aparezca READY en la pantalla, escribir RUN y pulsar Enter para ejecutar el programa. Si esto no funcionase, probar con el comando LOAD "<nombre>",8,1.

+
+
+

Para cargar desde una cinta, seleccionar la opción "Cargar fichero de cinta TAP" del menú de opciones. A continuación navegar por la tarjeta microSD y elegir el archivo de cinta a cargar, pulsar ENTER y cerrar el menú de opciones. Entonces escribir LOAD y pulsar Enter, o bien pulsar Mayús+Esc (Mayús+RUN/STOP). Finalmente, tras pulsar F9 (Caps Shift+Symbol Shift+9 en gomaDOS+) comenzará la reproducción del archivo de cinta (se puede usar la opción de activar el sonido de carga de la cinta del menú si se desea). Una vez finalizadada la carga, escribir RUN y pulsar ENTER si fuese necesario.

+
+
+
+
+
+

Phoenix

+
+

Core del videojuego arcade de estilo matamarcianos diseñado por la empresa Amstar Electronics.

+
+
+

Algunas de sus características son:

+
+
+
    +
  • +

    Dos modos de vídeo seleccionables: RGB/PAL60Hz y VGA 60Hz

    +
  • +
  • +

    Simulación de línea de exploración (Scanlines) en VGA

    +
  • +
  • +

    Conmutación opcional para el giro de 90º en las direcciones de los controles

    +
  • +
+
+
+

Formato de Tarjeta microSD

+
+

Este core no utiliza la tarjeta microSD.

+
+
+
+

Teclado

+ +
+
+

Teclas especiales y botones

+
+

Durante la ejecución del core:

+
+
+
    +
  • +

    Q y A o Cursor Izquierdo y Cursor Derecho (o un joystick): Control de movimiento

    +
  • +
  • +

    Z o X Tecla Windows Izquierda y Espacio (o botones 1 y 2 del joystick): Disparos 1 y 2, así como inserción de moneda y botón Start

    +
  • +
  • +

    F2 (Caps Shift+Symbol Shift+2 en gomaDOS+): Cambia el modo de vídeo entre RGB y VGA

    +
  • +
  • +

    - (del teclado numérico): Activa o desactiva la simulación de línea de exploración (Scanlines)

    +
  • +
  • +

    Tab (Caps Shift+Enter en gomaDOS+, en modo de teclado PC XT): Activa o desactiva giro de 90º en las direcciones de los controles

    +
  • +
+
+
+
+

Guía básica

+
+

Por defecto se inicia con los controles normales, para el uso de pantallas verticales. Si se tiene la pantalla en horizontal (lo más habitual), la imagen se ve de lado, pero para ayudar en el control, y que sea más natural y acorde con lo que se ve, pulsando Tab se consigue que las direcciones arriba-abajo estén intercambiadas con izquierda-derecha. Afecta por igual al joystick y al teclado.

+
+
+
+
+
+

Pong

+
+

Pong fue un videojuego de la primera generación de videoconsolas publicado por Atari.

+
+
+

Algunas las características del core son:

+
+
+
    +
  • +

    Dos modos de vídeo seleccionables: RGB/PAL60Hz y VGA 60Hz

    +
  • +
  • +

    7 tipos de juego

    +
  • +
  • +

    Soporte 2 o 4 jugadores

    +
  • +
  • +

    Compatible con joystick(s), teclado, ratón y codificadores (encoders) rotatorios (ver aquí para más información)

    +
  • +
  • +

    Varios modos de color

    +
  • +
+
+
+

Formato de Tarjeta microSD

+
+

Este core no utiliza la tarjeta microSD.

+
+
+
+

Teclado

+ +
+
+

Teclas especiales y botones

+
+

Durante la ejecución del core:

+
+
+
    +
  • +

    Esc o botón 2 del joystick (Caps Shift+Espacio en gomaDOS+, en modo de teclado PC XT): Mostrar u ocultar el menú de configuración

    +
  • +
  • +

    Ctrl+Alt+Backspace (Caps Shift+Symbol Shift+B en gomaDOS+, en modo de teclado ZX Spectrum): Hard reset. Backspace es la tecla de borrar hacia atrás, encima del enter

    +
  • +
  • +

    Bloq. Despl. (Caps Shift+Symbol Shift+G en gomaDOS+, en modo de teclado ZX Spectrum): cambia de modo video compuesto a VGA y viceversa

    +
  • +
  • +

    F3 o F12 (Caps Shift+Symbol Shift+3 o Caps Shift+Symbol Shift+W en gomaDOS+): Reinicio del juego

    +
  • +
  • +

    Número del 1 al 7: Cambiar el tipo de juego

    +
  • +
  • +

    Joystick 2 (derecha): Control de paleta de la derecha (Jugador 1).

    +
  • +
  • +

    Joystick 1 (izquierda): Control de paleta de la izquierda (Jugador 2)

    +
  • +
  • +

    Cursor arriba y Cursor abajo o O y K: Control de paleta de la derecha (Jugador 1 en modo 2 jugadores y jugador 3 en modo de 4 jugadores)

    +
  • +
  • +

    Q y A: Control de paleta de la izquierda (Jugador 2 en modo 2 jugadores y jugador 4 en modo de 4 jugadores)

    +
  • +
  • +

    Z, M o botón de joystick 1: Saque manual

    +
  • +
  • +

    Teclas de cursor (Caps Shift+5, Caps Shift+6, Caps Shift+7 y Caps Shift+8 en gomaDOS+, en modo de teclado PC XT) y Enter para navegar por el menú

    +
  • +
+
+
+
+
+

Guía básica

+
+

Pulsando Esc o el botón 2 del joystick (o Caps Shift+Espacio en gomaDOS+, en modo de teclado PC XT) se muestra el menú de configuración. Se usan las teclas de cursor (Caps Shift+5, Caps Shift+6, Caps Shift+7 y Caps Shift+8 en gomaDOS+, en modo de teclado PC XT) y Enter para elegir y seleccionar opciones del menú.

+
+
+

pong

+
+
+

En él se pueden activar o desactivar las siguientes opciones:

+
+
+
    +
  • +

    Servicio automático o manual (Serve)

    +
  • +
  • +

    Ángulo de la bola (Ball Angle)

    +
  • +
  • +

    Velocidad de la bola (Ball Speed)

    +
  • +
  • +

    Tamaño de las palas (Paddle Size)

    +
  • +
  • +

    Sonido (Sound)

    +
  • +
  • +

    Cuatro jugadores (Four players)

    +
  • +
  • +

    Velocidad Aleatoria (Random Speed)

    +
  • +
  • +

    Ángulo Aleatorio (Random Angle)

    +
  • +
  • +

    Control por Joystick, teclado o ratón (Joystick)

    +
  • +
  • +

    Precisión del movimiento (Paddle Accuracy)

    +
  • +
  • +

    Modo de color (Mode)

    +
  • +
  • +

    Salir del menú (Exit menu)

    +
  • +
+
+
+
+
+
+

NES

+
+

Nintendo Entertainment System (también conocida como Nintendo NES o simplemente NES) es la segunda consola de sobremesa de Nintendo.

+
+
+

La versión para ZXDOS+ ha sido creada por Nihirash, basándose en la anterior para ZX-Uno de DistWave y Quest.

+
+
+

Algunas de las características del core son:

+
+
+
    +
  • +

    Filtro HQ2X que "despixeliza" la imagen

    +
  • +
  • +

    Simulación de línea de exploración (Scanlines)

    +
  • +
  • +

    Utiliza el reloj de la NES NTSC, por tanto funcionan correctamente las ROMs USA. Las ROMs PAL van más rápido de lo que deberían

    +
  • +
  • +

    Permite cargar ROMS desde la SD

    +
  • +
  • +

    Necesita, al menos, un mando o joystick conectado y que tenga varios botones de disparo

    +
  • +
  • +

    Sólo soporta salida VGA y utiliza timings poco rigurosos, por lo que es posible que de problemas en algunos monitores

    +
  • +
+
+
+

Formato de Tarjeta microSD

+
+

Se debe de utilizar una tarjeta microSD, con la primera partición en formato FAT16, para almacenar los ficheros con las imágenes ROM (extensión .NES) de los juegos que se desee cargar. Los ficheros pueden estar en subdirectorios.

+
+
+

Si no estuviera ya, instalar el core de NES en el ZXDOS+.

+
+
+
+

Teclado

+ +
+
+

Teclas especiales y botones

+
+

Durante la ejecución del core:

+
+
+
    +
  • +

    Esc o botón 2 del joystick (o Caps Shift+Espacio en gomaDOS+, en modo de teclado PC XT): Mostrar u ocultar el menú de configuración

    +
  • +
  • +

    Teclas de cursor (Caps Shift+5, Caps Shift+6, Caps Shift+7 y Caps Shift+8 en gomaDOS+, en modo de teclado PC XT), y Enter para usar el menú

    +
  • +
  • +

    Ctrl+Alt+Backspace (Caps Shift+Symbol Shift+B en gomaDOS+, en modo de teclado ZX Spectrum): Hard reset. Backspace es la tecla de borrar hacia atrás, encima del enter

    +
  • +
+
+
+
+
+

Guía básica

+
+

Pulsando Esc se muestra el menú de configuración. Para desplazarse por el menú y activar o elegir alguna opción, se utilizan las teclas de cursor (Caps Shift+5, Caps Shift+6, Caps Shift+7 y Caps Shift+8 en gomaDOS+, en modo de teclado PC XT), y Enter.

+
+
+

nes

+
+
+

En él se pueden activar o desactivar las siguientes opciones:

+
+
+
    +
  • +

    Reiniciar la NES (Reset NES)

    +
  • +
  • +

    Activar o desactivar línea de exploración (Scanlines)

    +
  • +
  • +

    Encender o apagar el filtro que suaviza la imagen (HQ2X Filter)

    +
  • +
  • +

    Simular la pulsación del botón Select del mando 1 (P1 Select)

    +
  • +
  • +

    Simular la pulsación del botón Start del mando 1 (P1 Start)

    +
  • +
  • +

    Elegir un ROM para cargar desde la SD (Load ROM)

    +
  • +
  • +

    Salir del menú (Exit)

    +
  • +
+
+
+
+
+
+

ColecoVision

+
+

ColecoVision es una consola de videojuegos lanzada al mercado por la empresa Coleco.

+
+
+

La versión para ZXDOS+ está basada en la versión para ZX-Uno de Fabio Belavenuto.

+
+
+

Algunas de las características del core son:

+
+
+
    +
  • +

    La ROM de la BIOS se carga desde la tarjeta microSD

    +
  • +
  • +

    Soporta ROM multicartucho, que también se carga desde la microSD

    +
  • +
  • +

    Sólo funciona en VGA ¿?

    +
  • +
+
+
+

Formato de Tarjeta microSD

+
+

Se debe de utilizar una tarjeta microSD, con la primera partición en formato FAT16, para almacenar los ficheros con las imágenes ROM y otros archivos necesarios. Los archivos se pueden descargar desde la web del proyecto original en GitHub.

+
+
+

Si no estuviera ya, instalar el core de ColecoVision en el ZXDOS+.

+
+
+
+

Teclado

+ +
+
+

Teclas especiales y botones

+
+

Durante la ejecución del core:

+
+
+
    +
  • +

    Cursor o Q, A, E, R o el joystick 1: Controles de dirección del jugador 1

    +
  • +
  • +

    Z o el botón de joystick 1: Botón de disparo 1 del jugador 1

    +
  • +
  • +

    U, J, O, P o el joystick 2: Controles de dirección del jugador 2

    +
  • +
  • +

    M o el botón de joystick 2: Botón de disparo 1 del jugador 2

    +
  • +
  • +

    X o el botón secundario de joystick 1: Botón de disparo 2 del jugador 1 y del jugador 2

    +
  • +
  • +

    0 a 9: Botones del 0 al 9 del jugador 1 y el jugador 2

    +
  • +
  • +

    T: Botón '*'

    +
  • +
  • +

    Y: Botón '#'

    +
  • +
  • +

    'Esc' (o Caps Shift+Espacio en gomaDOS+, en modo de teclado PC XT): Soft Reset

    +
  • +
+
+
+
+
+

Guía básica

+
+

Al iniciar, la ROM de la BIOS se carga desde la tarjeta SD, así como la ROM multicartucho.

+
+
+

coleco

+
+
+

En el menú multicartucho, usar los controles de dirección para elegir la ROM a cargar, y luego el botón de disparo 1 para cargar la ROM elegida. Pulsando Esc (Caps Shift+Espacio en gomaDOS+, en modo de teclado PC XT) se reinicia el core y se vuelve a cargar el menú de selección de ROM.

+
+
+
+
+
+

Atari 2600

+
+

La Atari 2600 es una videoconsola lanzada al mercado bajo el nombre de Atari VCS (Video Computer System).

+
+
+

La versión para ZXDOS+ está desarrollada por avlixa.

+
+
+

Algunas de las características del core son:

+
+
+
    +
  • +

    Dos modos de vídeo seleccionables: RGB y VGA

    +
  • +
  • +

    Compatible con joystick(s), teclado, ratón y codificadores (encoders) rotatorios (ver aquí para más información)

    +
  • +
+
+
+

Formato de Tarjeta microSD

+
+

Se debe de utilizar una tarjeta microSD, con la primera partición en formato FAT16, para almacenar los ficheros con las imágenes ROM que se deseen cargar.

+
+
+

Si no estuviera ya, instalar el core de Atari 2600 en el ZXDOS+.

+
+
+
+

Teclado

+
+

En gomaDOS+, se recomienda cambiar el modo de teclado a Atari 800 (Caps Shift + Symbol Shift + U y luego 4) o PC XT (Caps Shift + Symbol Shift + U y luego 9).

+
+
+
+

Teclas especiales y botones

+
+

Durante la ejecución del core:

+
+
+
    +
  • +

    W, A, S, D o el joystick 1: Controles de dirección del jugador 1

    +
  • +
  • +

    F o el botón de disparo del joystick 1: Disparo del jugador 1

    +
  • +
  • +

    I, J, K, L o el joystick 2: Controles de dirección del jugador 2

    +
  • +
  • +

    H o el botón de disparo del joystick 2: Disparo del jugador 2

    +
  • +
  • +

    Bloq. Despl. (Caps Shift+Symbol Shift+G en gomaDOS+): para cambiar entre modo de video compuesto y VGA

    +
  • +
  • +

    Ctrl+Alt+Backspace (Caps Shift+Symbol Shift+B en gomaDOS+): Hard reset.

    +
  • +
+
+
+
+
+

Guía básica

+
+

Pulsando Esc o el botón 2 del joystick (o Caps Shift+Espacio en gomaDOS+, en modo de teclado Atari800) se muestra el menú de configuración. Se usan las teclas de cursor (Caps Shift+5, Caps Shift+6, Caps Shift+7 y Caps Shift+8 en gomaDOS+, en modo de teclado Atari800) y Enter para elegir y seleccionar en el menú.

+
+
+

a2600

+
+
+

En él se pueden activar, desactivar o configurar las siguientes opciones:

+
+
+
    +
  • +

    Reiniciar el core (Reset)

    +
  • +
  • +

    Línea de exploración (Scanlines)

    +
  • +
  • +

    Modo RGB (PAL/NTSC)

    +
  • +
  • +

    Tamaño de las palas (Paddle Size)

    +
  • +
  • +

    Sonido (Sound)

    +
  • +
  • +

    Color (Color)

    +
  • +
  • +

    Dificultad A (Difficulty A)

    +
  • +
  • +

    Dificultad B (Difficulty B)

    +
  • +
  • +

    Select

    +
  • +
  • +

    Start

    +
  • +
  • +

    Cargar ROM (Load ROM)

    +
  • +
  • +

    Joystick

    +
  • +
  • +

    Precisión de paddle (Paddle Accuracy)

    +
  • +
  • +

    Salir del menú (Exit)

    +
  • +
+
+
+
+
+
+

Videopac

+
+

La Philips Videopac, también conocida como Magnavox Odyssey², Philips Videopac G7000 o Philips Odyssey² es una videoconsola lanzada en 1978.

+
+
+

La versión para ZXDOS+ está desarrollada por avlixa, basada en el core de ZXDOS de yomboprime.

+
+
+

Algunas de las características del core son:

+
+
+
    +
  • +

    Dos modos de vídeo seleccionables: RGB y VGA

    +
  • +
  • +

    Necesita Joystick(s) para funcionar

    +
  • +
  • +

    Modos de color incluyendo monocromo o fósforo verde/naranja

    +
  • +
+
+
+

Formato de Tarjeta microSD

+
+

Se debe de utilizar una tarjeta microSD, con la primera partición en formato FAT16, para almacenar los ficheros con las imágenes ROM que se deseen cargar.

+
+
+

Si no estuviera ya, instalar el core de Videopac en el ZXDOS+.

+
+
+
+

Teclado

+
+

En gomaDOS+, se recomienda cambiar el modo de teclado a PC XT (Caps Shift + Symbol Shift + U y luego 9).

+
+
+
+

Teclas especiales y botones

+
+

Durante la ejecución del core:

+
+
+
    +
  • +

    Bloq. Despl. (Caps Shift+Symbol Shift+G en gomaDOS+): para cambiar entre modo de video compuesto y VGA

    +
  • +
  • +

    Ctrl+Alt+Backspace (Caps Shift+Symbol Shift+B en gomaDOS+): Hard reset.

    +
  • +
+
+
+
+
+

Guía básica

+
+

Pulsando Esc o el botón 2 del joystick (o Caps Shift+Espacio en gomaDOS+, en modo de teclado PC XT) se muestra el menú de configuración. Se usan las teclas de cursor (Caps Shift+5, Caps Shift+6, Caps Shift+7 y Caps Shift+8 en gomaDOS+, en modo de teclado PC XT) y Enter para elegir y seleccionar en el menú.

+
+
+

videopac

+
+
+

En él se pueden activar, desactivar o configurar las siguientes opciones:

+
+
+
    +
  • +

    Reiniciar el core (Reset)

    +
  • +
  • +

    Línea de exploración (Scanlines)

    +
  • +
  • +

    Intercambiar el orden de los joysticks (Swap joysticks)

    +
  • +
  • +

    Cargar ROM (Load ROM)

    +
  • +
  • +

    Modo de vídeo (PAL Videopac/NTSC Odyssey2)

    +
  • +
  • +

    Modo de color (Color Mode)

    +
  • +
  • +

    Salir del menú (Exit)

    +
  • +
+
+
+
+
+
+
+
+

Otro Hardware

+
+
+

Codificadores rotatorios

+
+

Los cores de Pong y Atari 2600 están también preparados para usar codificadores rotatorios (encoders), de tipo cuadratura, conectados al puerto de joystick. Está probado con codificadores de 600 ppr (pulsos por revolución), pero teóricamente deberían servir también de menor ppr, como de 400 o 300.

+
+
+

También se puede utilizar con paddle del tipo volante de Atari 2600, pero no con los paddle del tipo raqueta. Eso sí, la experiencia en este caso es pobre, ya que son de muy pocos ppr y se deben hacer varios giros completos. Si se utilizan, se recomienda ajustar la precisión(accuracy) al valor 8 para conseguir una velocidad aceptable.

+
+
+

Conexión

+
+

Tanto el ZXDOS+ como el gomaDOS+ tienen conectado el pin 5 del joystick a voltaje positivo, que se utiliza para alimentación, y el pin 8 como GND. Los codificadores utilizados deben admitir voltajes de 3,4v a 5v.

+
+
+

Los codificadores tienen 5 cables: Tierra (no conectada), Vcc (+), GND (0V`ó `-), A y B.

+
+
+

Las conexiones A y B se conectan en los pines 1 y 2 para el primer codificador, y 3 y 4 para el segundo. Así se pueden tener hasta 4 codificadores conectados entre los 2 puertos de joystick.

+
+
+

db9joy

+
+
+

De esta manera, las conexiones serían:

+
+
+
    +
  1. +

    Línea A codificador 1

    +
  2. +
  3. +

    Línea B codificador 1

    +
  4. +
  5. +

    Línea A codificador 2

    +
  6. +
  7. +

    Línea B codificador 2

    +
  8. +
  9. +

    Vcc(+)

    +
  10. +
  11. +

    Disparo 1

    +
  12. +
  13. +

    NC

    +
  14. +
  15. +

    GND

    +
  16. +
  17. +

    Disparo 2

    +
  18. +
+
+
+
+
+

Configuración del Core de Pong

+
+

La forma de elegir la configuración es la siguiente:

+
+
+
    +
  • +

    Para 1 o 2 codificadores en el puerto 2 de joystick, seleccionar la opción 1/2 Paddle in J2.

    +
  • +
  • +

    Para 2 codificadores, uno en cada puerto de joystick, seleccionar la opción 2/4 Paddle in J1&J2. Esta opción también sirve para conectar 2 paddle tipo driving de Atari 2600.

    +
  • +
  • +

    Para 4 codificadores, dos en cada puerto de joystick, seleccionar la opción 2/4 Paddle in J1&J2.

    +
  • +
  • +

    Para 1 o 2 codificadores en el puerto 2 de joystick junto con el ratón (en este caso los codificadores se asocian para los jugadores 2 y 4), seleccionar la opción Mouse PS/2.

    +
  • +
+
+
+

Se recomienda no realizar la conexión hasta haber seleccionado la opción deseada, ya que los codificadores actúan sobre el botón arriba/abajo del joystick y por tanto no permiten manejar el menú. Otra opción sería añadir un interruptor on/off en el codificador que deshabilite la alimentación y así no emita señal mientras se realiza la selección de menú.

+
+
+
+
+
+

Miniduino

+
+

Miniduino es un sistema reproductor de archivos de cinta, basado en un microcontrolador STM32F103C8T6 con 64KB de flash, y que trae instalado de serie el firmware Maxduino.

+
+
+

Maxduino permite la reproducción, de una forma similar a como se manejaban las cintas de cassette originales, de archivos digitales de cinta en múltiples formatos como TAP y TZX (ZX Spectrum), O (ZX80), P (ZX81), CDT (Amstrad CPC), CAS(MSX) TSX (MSX, Acorn, etc). También es posible reproducir como cinta archivos de sonido AY, para cargarlos en SpecAY desde ZX Spectrum.

+
+
+

Puertos y Botones

+
+

MiniduinoBack

+
+
+

MiniduinoFront

+
+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + +

1

Alimentación

2

Salida de sonido

3

Botón de control

4

Control de motor

5

Ranura de tarjeta microSD

6

Pantalla

+
+
+
+

Preparación

+
+

Se necesita una tarjeta microSD para almacenar los archivos de cinta que se quiere reproducir. Se recomienda que no sea de alta velocidad (Clase 10 o superior) porque puede haber problemas durante la lectura, ni de alta capacidad (SDXC o superior).

+
+
+

La tarjeta debe estar formateada con con la primera partición en formato FAT16 o FAT32.

+
+
+

Además de la tarjeta, se debe utilizar un cable adecuado para la entrada de sonido del ZXDOS+, concretamente, ha de ser un cable con un jack estéreo de 3,5 mm en un extremo dos salidas mono en el otro (una para cada canal de audio), conectando el extremo del canal mono derecho al Miniduino.

+
+
+

Para los equipos que soporten control por motor, también se puede utilizar un cable con un jack de 2,6 mm.

+
+
+

En la primera partición de la tarjeta se han de copiar los archivos de cinta (TAP, TZX, O, P, CAS, TSX, etc), que se pueden organizar en carpetas o directorios.

+
+
+ + + + + +
+ + +
+

El reproductor muestra las entradas de archivos y directorios en el orden de la tabla FAT interna, y no de manera alfabética. Si se desea ver esta información ordenada, se debe reorganizar la estructura de la tarjeta con una utilidad como FAT Sorter para Windows, FATsort para Linux y MacOS, YAFS, SDSorter u otros.

+
+
+
+
+
+
+

Uso

+
+

Una vez insertada la tarjeta microSD con ficheros de datos, el Miniduino se enciende conectando el cable de alimentación USB incluido.

+
+
+

MiniduinoLogo

+
+
+

Si se pulsa directamente el botón de control, se accede al menú de opciones que permite modificar lo siguiente:

+
+
+
    +
  • +

    Velocidad (Baud Rate): Para ajustar la velocidad turbo en bloques 4B en archivos de MSX (CAS y TSX)

    +
  • +
  • +

    Control de motor (Motor Ctrl): Para indicar que se ha conectado un cable de control remoto a un equipo que lo soporte (Amstrad, CPC, MSX, etc.)

    +
  • +
  • +

    Conversión (TSXCzxpUEFWS): Activa la carga turbo para los archivos .CAS y .TSX, cambiar la polaridad de la señal de audio de los archivos para Spectrum y Amstrad CPC y/o cambiar la paridad en los archivos .UEF de Acorn Electron y BBC Micro

    +
  • +
  • +

    Saltar bloques (Skip BLK)): Para deshabilitar (Skip ON) o habilitar la pausa automática al encontrar bloques del tipo 2A

    +
  • +
+
+
+

Estando fuera del menú de opciones, el botón de control se utiliza como una palanca de control de cuatro direcciones, que se comporta de dos maneras distintas, según esté la reproducción detenida (Stop) o en pausa (Pause).

+
+
+

MiniduinoVersion

+
+
+

Con la reproducción detenida (navegación por archivos y directorios):

+
+
+
    +
  • +

    Arriba y abajo permiten desplazarse por la lista actual de ficheros y directorios

    +
  • +
  • +

    Izquierda (Stop) retrocede un nivel en el árbol de direcotorios

    +
  • +
  • +

    Derecha (Play/Pause) accede al contenido de un directorio o, si lo que hay seleccionado es un archivo, intenta reproducirlo

    +
  • +
+
+
+
+

Una vez un archivo está en reproducción, el botón izquierda (Stop), la detiene, y el botón derecho (Play/Pause) la pone en pausa.

+
+
+

MiniduinoPlay

+
+
+

Con la reproducción en pausa (navegación por bloques de cinta):

+
+
+
    +
  • +

    Arriba y abajo permiten desplazarse por los bloques del archivo de cinta que ya hayan sido reproducidos (útil para juegos multicarga, para volver a cargar un bloque de un nivel, por ejemplo)

    +
  • +
  • +

    Izquierda (Stop) cancela la reprodución y entra de nuevo en el modo de navegación de archivos y directorios

    +
  • +
  • +

    Derecha (Play/Pause) reanuda la reproducción en el bloque seleccionado

    +
  • +
  • +

    Presionar directamente el botón de control permite activar o desactivar el modo turbo para MSX

    +
  • +
+
+
+ + + + + +
+ + +
+

Para obtener información mucho más detallada, se puede consultar el manual oficial del firmware Maxduino, disponible en el repositorio oficial.

+
+
+
+
+
+
+

Actualización de firmware Maxduino

+
+

El firmware Maxduino es actualizado y mejorado periódicamente. Se puede hacer un seguimiento de los cambios y mejoras en el foro o bien en la página del proyecto en GitHub. Para poder aprovechar estas mejoras se ha de actualizar la memoria flash del Miniduino con la versión de firmware correspondiente.

+
+
+
Preparación del entorno
+
+

Para poder instalar el firmware, se ha de hacer desde un ordenador (Windows, Mac, Linux) con el entorno Arduino IDE.

+
+
+

Una vez instalado, se ha de añadir la biblioteca de software SDFat (1.1.4) eligiendo la opción de menú Programa→incluir librería→administrar bibliotecas

+
+
+

También se ha de añadir el soporte para el microcontrolador del Miniduino. Esto se hace en dos pasos:

+
+
+

Primero añadiendo soporte para procesadores ARXM Cortex M3 en el menú Herramientas → placa → gestor de tarjetas +Instalar "Arduino SAM boards (Cortex-M3)"

+
+
+

A continuación se ha de añadir el soporte para microcontroladores STM32, descargando el fichero disponible en este enlace.

+
+
+

Descomprimir el contenido en la carpeta del usuario actual en

+
+
+
+
...Arduino/hardware/Arduino_STM32
+
+
+
+

En Windows instalar el controlador USB ejecutando con privilegios elevados:

+
+
+
+
 ...\drivers\win\install_drivers.bat
+
+
+
+

En Linux instalar con privilegios de root las reglas de udev necesarias:

+
+
+
+
...tools/linux/install.sh
+
+
+
+

En MacOS, si no apareciese el Miniduino como dispositivo USB en Arduino IDE al conectarlo, puede que sea necesario instalar libusb.

+
+
+
+

Finalmente, en el caso de Mac o Linux, el fichero maple_upload dentro de Arduino_STM32 tiene que modificarse con un editor de texto. Estas líneas no funcionan bien:

+
+
+
+
if [ $# -eq 5 ]; then
+    dfuse_addr="--dfuse-address $5"
+else
+    dfuse_addr=""
+fi
+
+
+
+

Y se tienen que cambiar por

+
+
+
+
dfuse_addr=""
+
+
+
+
+
+
Actualización
+
+

Una vez preparado el entorno, descargar la versión deseada del proyecto desde el repositorio oficial en GitHub

+
+
+ + + + + +
+ + +
+

El reproductor Miniduino con microcontrolador STM32 sólo está soportado a partir de la versión 1.65

+
+
+
+
+

Cargar el fichero del proyecto en Arduino IDE (por ejemplo MaxDuino_v1.66.ino).

+
+
+

Verificar en el fichero userSTM32Config.h que están comentadas todas las entradas de logo excepto la de Miniduino, y si no, cambiarlas.

+
+
+
+
...
+//#define tanque4
+//#define tanque1
+//#define dostanques
+//#define cablemax
+//#define sony
+#define miniduino
+...
+
+
+
+

Conectar el Miniduino al equipo usando el cable USB e identificar el puerto asignado, normalmente con un nombre del tipo "Maple Mini" (por ejemplo: COM5 Maple Mini)

+
+
+

Configurar en el menú "" las opciones

+
+
+
+
Placa: Generic STM32F104C Series
+Variant: STM32F104C8 (20k RAM, 64k Flash)
+Upload Method: STM32duino bootloader
+CPU Speed: 72Mhz (Normal)
+Optimize: Smallest (default)
+Puerto: <Puerto identificado antes>
+
+
+
+

Finalmente, pulsar el botón de carga del firmware y esperar unos segundos mientras se compila el proyecto y se carga en el dispositivo.

+
+
+

Si todo se ha hecho correctamente se verá cómo el Miniduino se reinicia y en la pantalla aparece la versión correspondiente de firmware.

+
+
+
+
+
+
+
+
+

Solución de problemas

+
+
+

Gestión de imágenes de firmware

+
+

Existen distintas herramientas que permiten generar y/o editar el contenido de los ficheros ZX1, ZX2, ZXD.

+
+
+

zx123_tool

+
+

Esta es una herramienta que analiza, extrae o añade datos en ficheros de imagen de SPI flash de ZX-Uno, ZXDOS y otros dispostivos similares.

+
+
+

Para poder utilizarla se necesita Python 3. Según el sistema operativo que se utilice puede que sea necesario instalarlo.

+
+
+

Teniendo Python 3, basta con descargar la última versión de la herramienta desde su repositorio oficial, en este enlace.

+
+
+

Una vez descomprimido, se debe invocar desde una consola el script principal usando Python 3. Esto puede variar según el sistema operativo.

+
+
+

Por ejemplo, en Windows, suele ser:

+
+
+
+
py -3 zx123_tool.py
+
+
+
+

Mientras que en otros sistemas operativos debería bastar con algo parecido a:

+
+
+
+
python3 ./zx123_tool.py
+
+
+
+

También hará falta un archivo de imagen flash. Este se puede obtener desde el core de Spectrum, en modo "root", con alguno de los comandos back16m, backzx2 o backzxd. Tras obtener el fichero generado en la microSD, se puede "limpiar" dejando sólo el core de Spectrum y la primera ROM de Spectrum con un comando similar a este:

+
+
+
+
... zx123_tool.py -i FLASH.ZXD -w -o FLASHempty.ZXD
+
+
+
+

Donde FLASH.ZXD es la ruta al fichero obtenido desde el core de Spectrum, y FLASHempty.ZXD es la ruta al nuevo fichero "limpio".

+
+
+
+

Mostrar contenido de una imagen

+
+
+

Para ver el contenido de una imagen llamada FLASH.ZXD (cores instalados y algunos datos de configuración), se puede usar el comando

+
+
+
+
... zx123_tool.py -i FLASH.ZXD -l
+
+
+
+

Para mostrar contenido de esa misma imagen, incluyendo datos de ROMs de ZX Spectrum:

+
+
+
+
... zx123_tool.py -i FLASH.ZXD -l -r
+
+
+
+

Modificar la BIOS de una imagen

+
+
+

Para modificar la BIOS de un fichero llamado FLASH.ZXD, usando la BIOS en otro fichero llamado FIRMWARE.ZXD

+
+
+
+
...zx123_tool.py -i FLASH.ZXD -a BIOS,FIRMWARE.ZXD
+
+
+
+

Además de instalar la BIOS, se pueden modificar algunos de los valores por defecto. Por ejemplo, con las opciones; -m para el modo de vídeo: 0 (PAL), 1 (NTSC) ó 2 (VGA), -k para la distribución del teclado: 0 (Auto), 1 (ES), 2 (EN) ó 3 (Spectrum).

+
+
+

Así, para modificar la BIOS de un fichero llamado FLASH.ZXD, usando la BIOS en otro fichero llamado FIRMWARE.ZXD, y además configurar el modo de vídeo en VGA, y el teclado en modo Spectrum (para gomaDOS`+):

+
+
+
+
...zx123_tool.py -i FLASH.ZXD -a BIOS,FIRMWARE.ZXD -m 2 -k 3
+
+
+
+

Existen también opciones para ajustar el tiempo de espera inicial de la BIOS, el core a ejecutar por defecto, o la ROM de Spectrum a utilizar por defecto. Véase la documentación de la herramienta para más información.

+
+
+

Añadir una ROM de Spectrum a una imagen

+
+
+

Para añadir una ROM de Spectrum llamada 48.rom, poniendo el nombre Spec48 y ocupando el slot 5, se puede usar un comando como:

+
+
+
+
...zx123_tool.py -i FLASH.ZXD -a ROM,5,xdnlh17,Spec48,48.rom
+
+
+
+

Véase la documentación de la herramienta para ver todas las posibles opciones a la hora de añadir una ROM de Spectrum.

+
+
+
+

Instalar un Core en una imagen

+
+
+

Para instalar un core en la posición 3, desde un fichero llamado NEXT.ZXD, llamándolo Spectrum Next, usar un comando como este:

+
+
+
+
...zx123_tool.py -i FLASH.ZXD -a 'CORE,3,Spectrum Next,NEXT.ZXD'
+
+
+
+

Si además se quiere configurar como el core por defecto, se puede indicar también con un comando como:

+
+
+
+
...zx123_tool.py -i FLASH.ZXD -a 'CORE,3,Spectrum Next,NEXT.ZXD' -c 3
+
+
+
+

Modificar la ROM de esxdos de una imagen

+
+
+

De forma similar a como se instala el firmware de la BIOS, se puede instalar directamente un fichero con la ROM de esxdos, con un comando como:

+
+
+
+
...zx123_tool.py -i FLASH.ZXD -a esxdos,ESXMMC.BIN
+
+
+
+

Combinar varias órdenes en una única línea

+
+
+

Notar que se pueden acumular varias órdenes en una única línea de comandos. Por ejemplo, para "limpiar" un archivo de imagen llamado FLASH.ZXD, creando uno nuevo llamado FLASHnew.ZXD, instalar la BIOS desde el fichero FIRMWARE.ZXD, configurar el modo de vídeo en VGA, el teclado en modo Spectrum (para gomaDOS`+), añadir una ROM de Spectrum llamada 48.rom, poniendo el nombre Spec48 y ocupando el slot 5, instalar un core en la posición 3, desde un fichero llamado NEXT.ZXD, llamándolo Spectrum Next, configurado como el core por defecto, usar un comando como este:

+
+
+
+
... zx123_tool.py -i FLASH.ZXD -w -o FLASHnew.ZXD -a BIOS,FIRMWARE.ZXD -m 2 -k 3 -a ROM,5,xdnlh17,Spec48,48.rom -a 'CORE,3,Spectrum Next,NEXT.ZXD' -c 3
+
+
+
+
+
+
+

Recuperación del firmware

+
+

En algunos casos (por ejemplo al instalar un core experimental o hacer una actualización del core de ZX Spectrum o la BIOS) puede suceder que el ZXDOS+ deje de arrancar. Se encienden los LEDs pero no hay imagen ni responde a las distintas combinaciones de teclado para acceder a la BIOS, etc.

+
+
+

En esta situación, existen diferentes métodos de recuperación que permiten volver a instalar el firmware.

+
+
+

Recuperación usando una Raspberry Pi

+
+

Material necesario:

+
+
+
    +
  • +

    Raspberry Pi (con tarjeta SD, teclado, monitor, fuente de alimentación, etc.) y con conexión a internet

    +
  • +
  • +

    5 cables puente para prototipos (idealmente, hembra en los dos extremos), o bien, en vez de los cables puente, un adaptador USB-Blaster

    +
  • +
  • +

    Una llave Allen del tamaño adecuado para poder retirar la tapa del ZXDOS+ o bien un destornillador de estrella adecuado si se va abrir un gomadDOS+ (esto no es necesario si se utiliza USB-Blaster)

    +
  • +
  • +

    Tarjeta microSD para el ZXDOS+/gomaDOS+ con la primera partición en formato FAT16 o FAT32

    +
  • +
  • +

    Teclado (no necesario en gomaDOS+) y monitor para conectar el ZXDOS+

    +
  • +
+
+
+

Software necesario:

+
+
+ +
+
+
+

Pasos a seguir:

+
+
+
    +
  1. +

    Si no estuviera ya, instalar Raspberry Pi OS (antes llamado Raspbian) en la Raspberry Pi (usando la descarga oficial, NOOBS, PINN, etc.)

    +
  2. +
  3. +

    Instalar Open OCD en la Raspberry Pi:

    +
  4. +
+
+
+
+
sudo apt-get update
+sudo apt-get install git autoconf libtool make pkg-config
+sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev telnet
+sudo apt-get install libusb-dev libftdi-dev
+git clone, git://git.code.sf.net/p/openocd/code openocd-code
+cd openocd-code/
+./bootstrap
+./configure --enable-usb_blaster --enable-sysfsgpio --enable-bcm2835gpio
+make
+sudo make install
+cd ..
+rm -rf ./openocd-code
+
+
+
+
    +
  1. +

    Conectar el USB-Blaster o los cables puente para GPIO. Si se va a hacer la conexión usando GPIO, abrir la carcasa del ZXDOS+ o el gomaDOS+ y conectar las líneas de JTAG de la FPGA (TMS, TDI, TDO, TCK y GND) con los cables a los pines GPIO de la Raspberry Pi.

    +
  2. +
+
+
+

jtag jtaggomados

+
+
+ + + + + +
+ + +
+

NO se ha de conectar la línea de 3V

+
+
+
+
+ + + + + +
+ + +
+

En el caso de utilizar USB-Blaster, el gomaDOS+ tiene la distribución adecuada para conectar directamente el conector 2x5 incluido. Para ZXDOS+, será necesario preparar el cableado adecuado, comparando las dos imágenes anteriores.

+
+
+
+
+
+

Si se hace conexión vía GPIO, tomar nota de los pines elegidos, teniendo cuidado de conectar GND con GND.

+
+
+

gpio

+
+
+

En este ejemplo, se utilizarán los pines 31, 33, 35, 37 y 39 (correspondientes a GPIO #6, GPIO #13, GPIO #19, GPIO #26 y GND), de la siguiente manera:

+
+ +++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
JTAG ZXDOS+GPIOPin Raspberry Pi

TMS

GPIO#6

31

TDI

GPIO#13

33

TDO

GPIO#19

35

TCK

GPIO#26

37

GND

GND

39

+
+
    +
  1. +

    Copiar en la Raspberry Pi el fichero recovery.zxd.bit obtenido anteriormente del repositorio oficial. En nuestro ejemplo, se dejará en /home/pi/zxdosplus/unbrick/

    +
  2. +
  3. +

    Para la conexión usando GPIO, realizar una copia del archivo de configuración de Open OCD, en el mismo lugar donde está recovery.zxd.bit. Este paso no es necesario si se usa USB-Blaster.

    +
  4. +
+
+
+
+
cp /usr/local/share/openocd/scripts/interface/raspberrypi2-native.cfg /home/pi/zxdosplus/unbrick/
+
+
+
+
+
    +
  1. +

    Para la conexión vía GPIO, editar la copia de raspberrypi2-native.cfg actualizando bcm2835gpio_jtag_nums (y descomentando, si fuera necesario), según como se haya hecho la conexión entre JTAG y GPIO en la línea bcm2835gpio_jtag_nums. En nuestro ejemplo:

    +
  2. +
+
+
+
+
# Header pin numbers: 37 31 33 35
+bcm2835gpio_jtag_nums 26 6 13 19
+
+
+
+
    +
  1. +

    Comentar, si no lo está, la línea bcm2835gpio_swd_nums (de nuevo, no necesario si la conexión es con USB-Blaster):

    +
  2. +
+
+
+
+
#bcm2835gpio_swd_nums 11 25
+
+
+
+
    +
  1. +

    Añadir, al final, la línea adapter speed 250 (no necesario para uso con USB-Blaster):

    +
  2. +
+
+
+
+
adapter speed 250
+
+
+
+
    +
  1. +

    Encender el ZXDOS+ o el gomaDOS+

    +
  2. +
  3. +

    Asegurarnos de que estamos en el directorio donde se encuentra el archivo recovery.zxd.bit, y lanzar el comando que carga la BIOS en modo recuperación, indicando la ruta al archivo raspberrypi2-native.cfg que habíamos editado anteriormente.

    +
  4. +
+
+
+

Para conexión vía GPIO:

+
+
+
+
cd /home/pi/zxdosplus/unbrick
+sudo openocd -f /home/pi/zxdosplus/unbrick/raspberrypi2-native.cfg -f /usr/local/share/openocd/scripts/cpld/xilinx-xc6s.cfg -c "init; xc6s_program xc6s.tap; pld load 0 recovery.zxd.bit ; exit"
+
+
+
+

Con USB-Blaster:

+
+
+
+
sudo openocd -f /usr/local/share/openocd/scripts/interface/altera-usb-blaster.cfg  -f /usr/local/share/openocd/scripts/cpld/xilinx-xc6s.cfg -c "init; xc6s_program xc6s.tap; pld load 0 recovery.zxd.bit ; exit"
+
+
+
+
+
    +
  1. +

    Si todo va bien, veremos cómo cambia el estado de los LED de la FPGA y veremos la imagen de la BIOS en el monitor.

    +
  2. +
+
+
+

En el caso de que no se vea imagen, pulsar Bloq. Despl. (Caps Shift+Symbol Shift+G en gomaDOS+): para cambiar entre modo de video compuesto y VGA, por si acaso la BIOS ha arrancado en un modo que no corresponde a la conexión del monitor.

+
+
+

recovery

+
+
+
    +
  1. +

    Insertar en el ZXDOS+ la tarjeta microSD con la primera partición en formato FAT16 o FAT32, y en la que habremos copiado el fichero FLASH.ZXD descargado anteriormente.

    +
  2. +
  3. +

    Si se está utilizando USB-Blaster, desconectar el cable.

    +
  4. +
+
+
+
+
    +
  1. +

    Elegir la opción Upgrade Flash from SD. Pulsar Enter, elegir Yes, y pulsar Enter de nuevo para comenzar el proceso que graba de nuevo la Flash.

    +
  2. +
+
+
+

recovery2

+
+
+ + + + + +
+ + +
+

Este proceso sustituirá todos los cores instalados, la BIOS, así como las ROMs de ZX Spectrum y la configuración por lo que haya en la imagen, y no se puede deshacer.

+
+
+
+
+ + + + + +
+ + +
+

Habitualmente, la imagen de recuperación está configurada para usar un teclado PS/2 y no el teclado de membrana de Spectrum, así que, en el caso de gomaDOS+, puede que no funcionen las combinaciones como Caps Shift + 5, etc. En este caso, se ha de cambiar el modo de teclado a PC XT (Caps Shift + Symbol Shift + U y luego 9), para que funcionen de nuevo temporalmente.

+
+
+
+
+
+
    +
  1. +

    Tras unos minutos, el proceso finalizará, y podremos comprobar como, al apagar y encender, el ZXDOS+ (o el gomaDOS+) vuelve a arrancar correctamente.

    +
  2. +
+
+
+ + + + + +
+ + +
+

Si no se obtiene imagen, pulsar de nuevo Bloq. Despl. (Caps Shift+Symbol Shift+G en gomaDOS+): para cambiar entre modo de video compuesto y VGA. En este caso, sería necesario acceder a la BIOS y cambiar el ajuste avanzado correspondiente para indicar la configuración de nuestro monitor.

+
+
+
+
+ + + + + +
+ + +
+

En el caso de gomaDOS+, como la configuración de la imagen de recuperación por defecto espera un teclado PS/2, se pueden seguir los siguientes pasos para configurar la BIOS correctamente:

+
+
+
    +
  1. +

    Si no hay imagen, cambiar entre modo video compuesto y modo VGA (Caps Shift+Symbol Shift+G)

    +
  2. +
  3. +

    Cambiar al modo PC XT de teclado (Caps Shift + Symbol Shift + U y luego 9)

    +
  4. +
  5. +

    Reiniciar el gomaDOS+ sin que se pierda la configuración del teclado (Caps Shift + Symbol Shift + B)

    +
  6. +
  7. +

    Rápidamente, pulsar Caps Shift + 1

    +
  8. +
  9. +

    De nuevo, si no hay imagen, cambiar entre modo VGA y modo video compuesto (Caps Shift+Symbol Shift+G)

    +
  10. +
  11. +

    Navegar por la BIOS y configurar las siguientes opciones:

    +
    +
      +
    • +

      AdvancedKeyboard Layout: Spectrum

      +
    • +
    • +

      AdvancedVideo: VGA (sólo si no teníamos imagen)

      +
    • +
    +
    +
  12. +
  13. +

    Guardar los cambios de la BIOS:

    +
    +
      +
    • +

      ExitSave changes and exit +.Apagar completamente el gomaDOS+ y volver a encenderlo

      +
    • +
    +
    +
  14. +
+
+
+
+
+
+
+

Recuperación usando MacOS y Cable USB-Blaster

+
+

Material necesario:

+
+
+
    +
  • +

    Cable USB-Blaster. Preparado con las conexiones adecuadas para ZXDOS+

    +
  • +
  • +

    Imagen Flash y recovery para ZXDOS+ (LX25). Los mismos que se indican para Raspberry pi, del repositorio oficial, en este enlace

    +
  • +
  • +

    Sistema MacOS

    +
  • +
  • +

    Carpeta data adicional para UrJTAG, obtenido desde aqui

    +
  • +
+
+
+

Software necesario:

+
+
+ +
+
+

Pasos a seguir:

+
+
+
    +
  1. +

    Preparar la instalación de UrJTAG

    +
  2. +
+
+
+
+
brew install libftdi libusb pkg-config
+git clone https://github.com/C-Elegans/urjtag.git
+cd urjtag
+
+
+
+
    +
  1. +

    Copiar la carpeta data adicional para UrJTAG, dentro de la carpeta data de urjtag.

    +
  2. +
  3. +

    Lanzar el proceso de compilacion:

    +
  4. +
+
+
+
+
./configure --with-libftdi --with-libusb --with-ftd2xx --with-inpout32 --enable-python=no
+make -j4
+sudo make install
+
+
+
+
    +
  1. +

    Copiar el archivo FLASH.ZXD en la raiz de la tarjeta microSD para el ZXDOS+.

    +
  2. +
  3. +

    Conectar el cable USB-Blaster al ZXDOS+ y al Mac

    +
  4. +
  5. +

    Encender el ZXDOS+ o el gomaDOS+

    +
  6. +
  7. +

    Asegurarnos de que estamos en el directorio donde se encuentra el archivo recovery.zxd.bit, y lanzar el comando jtag.

    +
  8. +
+
+
+
+
    +
  1. +

    Aparecerá una consola donde se han de escribir los comandos:

    +
  2. +
+
+
+
+
cable usbblaster
+detect
+pld load recovery.zxd.bit
+
+
+
+ + + + + +
+ + +
+

En el comando detect es importante que aparezca el dispositivo detectado. Puede que sea necesario lanzar el comando detect de manera repetida hasta que aparezca.

+
+
+
+
+

recovery mac 1

+
+
+
+
    +
  1. +

    Si todo va bien, veremos cómo cambia el estado de los LED de la FPGA y veremos la imagen de la BIOS en el monitor.

    +
  2. +
+
+
+

En el caso de que no se vea imagen, pulsar Bloq. Despl. (Caps Shift+Symbol Shift+G en gomaDOS+): para cambiar entre modo de video compuesto y VGA, por si acaso la BIOS ha arrancado en un modo que no corresponde a la conexión del monitor.

+
+
+

recovery

+
+
+
    +
  1. +

    Insertar en el ZXDOS+ la tarjeta microSD con la primera partición en formato FAT16 o FAT32, y en la que habremos copiado el fichero FLASH.ZXD descargado anteriormente.

    +
  2. +
  3. +

    Desconectar el cable USB-Blaster.

    +
  4. +
  5. +

    Elegir la opción Upgrade Flash from SD. Pulsar Enter, elegir Yes, y pulsar Enter de nuevo para comenzar el proceso que graba de nuevo la Flash.

    +
  6. +
+
+
+

recovery2

+
+
+ + + + + +
+ + +
+

Este proceso sustituirá todos los cores instalados, la BIOS, así como las ROMs de ZX Spectrum y la configuración por lo que haya en la imagen, y no se puede deshacer.

+
+
+
+
+ + + + + +
+ + +
+

Habitualmente, la imagen de recuperación está configurada para usar un teclado PS/2 y no el teclado de membrana de Spectrum, así que, en el caso de gomaDOS+, puede que no funcionen las combinaciones como Caps Shift + 5, etc. En este caso, se ha de cambiar el modo de teclado a PC XT (Caps Shift + Symbol Shift + U y luego 9), para que funcionen de nuevo temporalmente.

+
+
+
+
+
    +
  1. +

    Tras unos minutos, el proceso finalizará, y podremos comprobar como, al apagar y encender, el ZXDOS+ (o el gomaDOS+) vuelve a arrancar correctamente.

    +
  2. +
+
+
+ + + + + +
+ + +
+

Si no se obtiene imagen, pulsar de nuevo Bloq. Despl. (Caps Shift+Symbol Shift+G en gomaDOS+): para cambiar entre modo de video compuesto y VGA. En este caso, sería necesario acceder a la BIOS y cambiar el ajuste avanzado correspondiente para indicar la configuración de nuestro monitor.

+
+
+
+
+ + + + + +
+ + +
+

En el caso de gomaDOS+, como la configuración de la imagen de recuperación por defecto espera un teclado PS/2, se pueden seguir los siguientes pasos para configurar la BIOS correctamente:

+
+
+
    +
  1. +

    Si no hay imagen, cambiar entre modo video compuesto y modo VGA (Caps Shift+Symbol Shift+G)

    +
  2. +
  3. +

    Cambiar al modo PC XT de teclado (Caps Shift + Symbol Shift + U y luego 9)

    +
  4. +
  5. +

    Reiniciar el gomaDOS+ sin que se pierda la configuración del teclado (Caps Shift + Symbol Shift + B)

    +
  6. +
  7. +

    Rápidamente, pulsar Caps Shift + 1

    +
  8. +
  9. +

    De nuevo, si no hay imagen, cambiar entre modo VGA y modo video compuesto (Caps Shift+Symbol Shift+G)

    +
  10. +
  11. +

    Navegar por la BIOS y configurar las siguientes opciones:

    +
    +
      +
    • +

      AdvancedKeyboard Layout: Spectrum

      +
    • +
    • +

      AdvancedVideo: VGA (sólo si no teníamos imagen)

      +
    • +
    +
    +
  12. +
  13. +

    Guardar los cambios de la BIOS:

    +
    +
      +
    • +

      ExitSave changes and exit +.Apagar completamente el gomaDOS+ y volver a encenderlo

      +
    • +
    +
    +
  14. +
+
+
+
+
+ + + + + +
+ + +
+

En Linux, usando el mismo software UrJTAG, el proceso deberia ser similar, aunque en vez de instalar las dependencias (libftdi libusb pkg-config) mediante brew, se deberia hacer mediante apt, yum o similar

+
+
+
+
+
+
+
+
+ +
+ + + + \ No newline at end of file