Manual 1.3.0

Añadido Miniduino
Añadido zx123_tool
Añadida recuperación desde MacOS
Actualizado a BIOS 0.83 y utilidades asociadas
Múltiples correcciones y mejoras
This commit is contained in:
kounch 2021-01-14 20:52:02 +01:00
parent 0af99d8dee
commit 5ff321bcd0
10 changed files with 998 additions and 114 deletions

View File

@ -1,10 +1,10 @@
= ZXDOS+ and gomaDOS+ Manual
:author: kounch
:revnumber: 1.2.2
:revnumber: 1.3.0
:doctype: book
:front-cover-image: image:img/portada.jpg[]
:email: kounch@users.noreply.github.com
:Revision: 1.2
:Revision: 1.3
:description: English Manual of ZXDOS+ and gomaDOS+
:keywords: Manual, English, ZXDOS+, gomaDOS+
:icons: font
@ -86,16 +86,17 @@ In order to be able to set up and use a ZXDOS+ or gomaDOS+ you need, at least, t
- VGA cable and monitor
- PS/2 keyboard (in the case of ZXDOS +)
In order to take advantage of its full potential, you should also have:
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 (<<#_miniduino,see more info later>>) or a https://en.wikipedia.org/wiki/Cassette_tape[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.
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.
[NOTE]
====
@ -176,10 +177,11 @@ image:./img/esxdos.png[pdfwidth=70%]
<<<
It is also recommended to add the specific esxdos commands for ZXDOS+. These can be obtained from the project source page (https://github.com/zxdos/zxuno/tree/master/SD[here] and https://github.com/zxdos/zxuno/tree/master/[here]), and are as follows:
It is also recommended to add the specific esxdos commands for ZXDOS+. These can be obtained from the project source page (https://github.com/zxdos/zxuno/tree/master/SD[here], https://github.com/zxdos/zxuno/tree/master/[here] and https://guest:zxuno@svn.zxuno.com/svn/zxuno/software/upgrade[here]), and are as follows:
back16m
back32m
backzx2
backzxd
corebios
dmaplayw
esprst
@ -192,7 +194,8 @@ It is also recommended to add the specific esxdos commands for ZXDOS+. These can
romsback
romsupgr
upgr16m
upgr32m
upgrzx2
upgrzxd
zxuc
zxunocfg
@ -451,7 +454,7 @@ The second screen shows the installed ZX Spectrum ROMs. You can reorder (Move Up
[.text-center]
image:img/bios3.png[pdfwidth=70%]
_Upgrade_ screen is used to perform the different updates of the Flash memory content: esxdos, BIOS, Cores, etc. (see <<_updates,the section corresponding to updates>> for more information).
_Upgrade_ screen is used to perform the different updates of the Flash memory content: esxdos, BIOS, Cores, etc. (see <<#_updates,the section corresponding to updates>> for more information).
<<<
@ -471,7 +474,7 @@ image:img/bios5.png[pdfwidth=70%]
The Advanced configuration screen is used to edit the following settings:
- Keyboard layout (Keyb Layout): See <<_keyboard,the corresponding section>> for more information)
- Keyboard layout (Keyb Layout): See <<#_keyboard,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
@ -526,7 +529,7 @@ These are some of its main characteristics:
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 called `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.
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.
@ -551,7 +554,7 @@ image:./img/keyboardAV.png[pdfwidth=70%]
=== Special keys and buttons
The following gomaDOS+ key combinations are in `ZX` keyboard mode. Please check <<_gomados_keyboard_modes,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`).
The following gomaDOS+ key combinations are in `ZX` keyboard mode. Please check <<#_gomados_keyboard_modes,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:
@ -559,7 +562,7 @@ Special keys which can be used during startup:
- `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 ZX Spectrum core ROM in "root" mode
- `/` (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):
@ -581,7 +584,7 @@ Special keys that can be used while running the main core (ZX Spectrum):
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 <<_roms_3,updates section>> for more information on how to expand or modify the ROMs stored in flash memory.
See the <<#_roms_3,updates section>> for more information on how to expand or modify the ROMs stored in flash memory.
<<<
@ -635,6 +638,11 @@ Some BASIC extended commands are:
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.
[NOTE]
====
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, https://fatsort.sourceforge.io/[FATsort] for Linux and MacOS, https://www.luisrios.eti.br/public/en_us/projects/yafs/[YAFS], http://www.trustfm.net/software/utilities/SDSorter.phpp[SDSorter] or other.
====
<<<
==== ZXDOS+ Commands
@ -642,7 +650,7 @@ In addition, esxdos also has an NMI manager, an application that loads when NMI
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
- `back32m`: Creates a `FLASH.ZX2` 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
- `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
@ -652,10 +660,10 @@ As explained in the installation part, there are a series of commands that are e
- `loadpzx`: To load a .PZX tape file
- `playmid`: Plays .MID music files using the MIDI addon
- `playrmov`: Plays <<#_making_rdm_radastan_movie_files,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
- `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
- `upgr32m`: Write the content of a `FLASH.ZX2` 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.
- `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
@ -776,7 +784,7 @@ Copy the file to the root of the MicroSD card, turn on and press `F2` to enter B
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,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 https://github.com/zxdos/zxuno/tree/master/modflash[ZX-Uno Code Repository].
You can add a new ROM pressing the key `N` at the BIOS <<#_roms,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 https://github.com/zxdos/zxuno/tree/master/modflash[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.
@ -801,7 +809,7 @@ RomPack files can be easily edited with the http: // guest: zxuno@svn.zxuno.coms
=== Cores
There are a number of available slots whre you can store cores (the number depends on the size of the SPI Flash of the ZXDOS+ model), the first slot being reserved for the main ZX Spectrum (this does not prevent having more ZX Spectrum cores in other slots as well of the first).
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 https://github.com/zxdos/zxdos-plus/tree/master/cores[available to download] from GitHub repository.
@ -818,7 +826,7 @@ Copy the file to the root of the microSD card, turn on and press `F2` to enter B
[WARNING]
====
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 called `SPECTRUM.ZX2` or `SPECTRUM.ZXD`.
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
@ -837,7 +845,7 @@ If everything has been done correctly, when you turn on the ZXDOS+ you will see
=== 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,esxdos>> `UPGR32M` command and a file named `FLASH.ZX2`.
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,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.
@ -868,7 +876,7 @@ Main features:
==== 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,esxdos corresponding section>> for more info).
You need a microSD card with the first partition formatted as FAT16 or FAT32, and inside, the standard esxDOS 0.8.8 (see <<#_esxdos,esxdos corresponding section>> for more info).
==== Keyboard
@ -908,19 +916,19 @@ The user manual is available to download at https://www.specnext.com/zx-spectrum
==== 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,esxdos corresponding section>> for more info).
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,esxdos corresponding section>> for more info).
Download NextZXOS distribution https://www.specnext.com/latestdistro/[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, <<_cores,install ZX Spectrum Next core>> into ZXDOS+.
If it wasn't already, <<#_cores,install ZX Spectrum Next core>> into ZXDOS+.
==== Keyboard
==== Special keys and buttons
The following gomaDOS+ key combinations are in `ZX` keyboard mode. Please check <<_gomados_keyboard_modes,the corresponding section>> for more information. You can also use `PC XT` keyboard mode combinations .
The following gomaDOS+ key combinations are in `ZX` keyboard mode. Please check <<#_gomados_keyboard_modes,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.
@ -954,6 +962,11 @@ image:img/next2.png[pdfwidth=70%]
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.).
[NOTE]
====
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, https://fatsort.sourceforge.io/[FATsort] for Linux and MacOS, https://www.luisrios.eti.br/public/en_us/projects/yafs/[YAFS], http://www.trustfm.net/software/utilities/SDSorter.phpp[SDSorter] or other.
====
[.text-center]
image:img/next3.png[pdfwidth=70%]
@ -1014,7 +1027,7 @@ The file `/MSX1FPGA/config.txt` keeps the core configuration, using this format:
+------Nextor: 1=Enabled, 0=Disabled
----
If it wasn't already, <<_cores,install MSX core>> into ZXDOS+.
If it wasn't already, <<#_cores,install MSX core>> into ZXDOS+.
<<<
@ -1022,7 +1035,7 @@ If it wasn't already, <<_cores,install MSX core>> into ZXDOS+.
==== Special keys and buttons
The following gomaDOS+ key combinations are in `MSX` keyboard mode. Please check <<_gomados_keyboard_modes,the corresponding section>> for more information. You can also use `PC XT` keyboard mode combinations .
The following gomaDOS+ key combinations are in `MSX` keyboard mode. Please check <<#_gomados_keyboard_modes,the corresponding section>> for more information. You can also use `PC XT` keyboard mode combinations .
While running the core:
@ -1056,6 +1069,10 @@ To change the video mode between 50Hz and 60Hz (and thus play at correct speed P
To go to BASIC from MSX-DOS you must execute `BASIC` command.
From within BASIC, you can load from a external tape (or <<#_miniduino,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`.
<<<
@ -1119,7 +1136,7 @@ Copy all `ROM` and `DSK` files to the root directory of the FAT32 partition.
==== Special keys and buttons
The following gomaDOS+ key combinations are in `Amstrad CPC` keyboard mode. Please check <<_gomados_keyboard_modes,the corresponding section>> for more information. You can also use `PC XT` keyboard mode combinations.
The following gomaDOS+ key combinations are in `Amstrad CPC` keyboard mode. Please check <<#_gomados_keyboard_modes,the corresponding section>> for more information. You can also use `PC XT` keyboard mode combinations.
During core execution:
@ -1189,7 +1206,7 @@ You can set up the files in the microSD in two different ways:
==== Special keys and buttons
The following gomaDOS+ key combinations are in `Acorn Electron` keyboard mode. Please check <<_gomados_keyboard_modes,the corresponding section>> for more information. You can also use `PC XT` keyboard mode combinations.
The following gomaDOS+ key combinations are in `Acorn Electron` keyboard mode. Please check <<#_gomados_keyboard_modes,the corresponding section>> for more information. You can also use `PC XT` keyboard mode combinations.
While the core is running:
@ -1228,13 +1245,13 @@ The ZXDOS+ core is developed by Neuro.
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 <<_cores,corresponding section>> for instructions of how to install the Commodore 64 core in ZXDOS+.
See the <<#_cores,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 <<_gomados_keyboard_modes,the corresponding section>> for more information. You can also use `PC XT` keyboard mode combinations.
The following gomaDOS+ key combinations are in `Commodore 64` keyboard mode. Please check <<#_gomados_keyboard_modes,the corresponding section>> for more information. You can also use `PC XT` keyboard mode combinations.
While the core is running:
@ -1312,7 +1329,7 @@ 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 <<_rotary_enoders,here>> for more information)
- Support for Joysticks, keyboard, mouse and rotary encoder controls (see <<#_rotary_enoders,here>> for more information)
- Several colour modes
==== microSD format
@ -1382,7 +1399,7 @@ Some features of this core are:
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 <<_cores,corresponding section>> for instructions of how to install the NES core in ZXDOS+.
See the <<#_cores,corresponding section>> for instructions of how to install the NES core in ZXDOS+.
==== Keyboard
@ -1431,7 +1448,7 @@ Some features of this core are:
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 https://github.com/fbelavenuto/colecofpga/tree/master/SD_Card[the original project in GitHub].
See the <<_cores,corresponding section>> for instructions of how to install the ColecoVision core in ZXDOS+.
See the <<#_cores,corresponding section>> for instructions of how to install the ColecoVision core in ZXDOS+.
==== Keyboard
@ -1471,13 +1488,13 @@ 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 <<_rotary_enoders,here>> for more information)
- Support for joysticks, keyboard, mouse and rotary encoder controls (see <<#_rotary_enoders,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 <<_cores,corresponding section>> for instructions of how to install the Atari 2600 core in ZXDOS+.
See the <<#_cores,corresponding section>> for instructions of how to install the Atari 2600 core in ZXDOS+.
==== Keyboard
@ -1537,7 +1554,7 @@ Some features of the core are:
You need a microSD card with the first partition in FAT16 format to store ROM image files to load.
See the <<_cores,corresponding section>> for instructions of how to install the Videopac core in ZXDOS+.
See the <<#_cores,corresponding section>> for instructions of how to install the Videopac core in ZXDOS+.
==== Keyboard
@ -1617,8 +1634,330 @@ It is recommended to wait, and make the connection after selecting the chosen op
<<<
=== Miniduino
https://www.antoniovillena.es/store/product/miniduino/[Miniduino] is a tape file audio player, based on a STM32F103C8T6 microcontroller with 64KB flash memory, and https://github.com/rcmolina/MaxDuino_BETA[Maxduino] firmware preinstalled.
Maxduino plays, in a very similar way to how https://es.wikipedia.org/wiki/Casete[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 http://www.specay.co.uk[SpecAY] in a ZX Spectrum.
==== Ports and buttons
[.text-center]
image:img/MiniduinoBack.jpg[pdfwidth=50%]
[.text-center]
image:img/MiniduinoFront.jpg[pdfwidth=50%]
[cols=2*]
|===
|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 <<#_ports_and_connectors,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.
[TIP]
====
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, https://fatsort.sourceforge.io/[FATsort] for Linux and MacOS, https://www.luisrios.eti.br/public/en_us/projects/yafs/[YAFS], http://www.trustfm.net/software/utilities/SDSorter.phpp[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.
[.text-center]
image:img/MiniduinoLogo.jpg[pdfwidth=30%]
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.
[.text-center]
image:img/MiniduinoVersion.jpg[pdfwidth=30%]
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).
[.text-center]
image:img/MiniduinoPlay.jpg[pdfwidth=30%]
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 https://www.va-de-retro.com/foros/viewtopic.php?t=5541&start=9999[forums] or at the https://github.com/rcmolina/MaxDuino_BETA[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 https://www.arduino.cc/en/software[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 https://github.com/rogerclarkmelbourne/Arduino_STM32/archive/master.zip[this link].
Extract the contents to the current user directory in
[source,shell]
----
...Arduino/hardware/Arduino_STM32
----
If on Windows, install the USB device controller, running (with elevated privileges:
[source,shell]
----
...\drivers\win\install_drivers.bat
----
On Linux, install with root privileeges the necessary `udev` rules:
[source,shell]
----
...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 https://github.com/libusb/libusb/wiki[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:
[source,shell]
----
if [ $# -eq 5 ]; then
dfuse_addr="--dfuse-address $5"
else
dfuse_addr=""
fi
----
And have to be changed into this:
[source,shell]
----
dfuse_addr=""
----
<<<
===== Upgrade
Once you have the environemnt ready, download the software from the https://github.com/rcmolina/MaxDuino_BETA[official repository in GitHub]
[NOTE]
====
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.
[source,c]
----
...
//#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 "":
[source]
----
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 https://www.python.org/[Python 3] to use it. Depending on the operating system you may have to https://www.python.org/downloads/[install it].
Having Python 3, you only need to download the latest version of the tool from the official repository, following https://github.com/kounch/zx123_tool/releases/latest[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:
[source,shell]
----
py -3 zx123_tool.py
----
With other operating systems it normally is like:
[source,shell]
----
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:
[source,shell]
----
... 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
[source,shell]
----
... zx123_tool.py -i FLASH.ZXD -l
----
To show the contents of the same file, including ZX Spectrun ROMs info:
[source,shell]
----
... 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`
[source,shell]
----
...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`+):
[source,shell]
----
...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 https://github.com/kounch/zx123_tool/[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:
[source,shell]
----
...zx123_tool.py -i FLASH.ZXD -a ROM,5,xdnlh17,Spec48,48.rom
----
See the https://github.com/kounch/zx123_tool/[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:
[source,shell]
----
...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:
[source,shell]
----
...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:
[source,shell]
----
...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:
[source,shell]
----
... 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.
@ -1630,9 +1969,9 @@ When this happens, there are several recovery methods that let you install again
*Hardware required*:
- Raspberry Pi (with SD card, keyboard, display, power supply, etc.) and with internet connection
- 5 https://en.wikipedia.org/wiki/Jump_wire[jump wires] (if possible, female on both sides) or, instead a USB blaster cable
- One https://en.wikipedia.org/wiki/Hex_key[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 partitiion formatted as FAT16 or FAT32
- 5 https://en.wikipedia.org/wiki/Jump_wire[jump wires] (if possible, female on both sides) or, instead a USB-Blaster cable
- One https://en.wikipedia.org/wiki/Hex_key[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*:
@ -1663,7 +2002,7 @@ rm -rf ./openocd-code
----
[start=3]
. 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 https://es.wikipedia.org/wiki/GPIO[GPIO] pins.
. 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 https://es.wikipedia.org/wiki/GPIO[GPIO] pins.
[.text-center]
image:img/jtag.jpg[pdfwidth=25%] image:img/jtaggomados.jpg[pdfwidth=40%]
@ -1675,7 +2014,7 @@ image:img/jtag.jpg[pdfwidth=25%] image:img/jtaggomados.jpg[pdfwidth=40%]
[NOTE]
====
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.
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.
====
<<<
@ -1731,7 +2070,7 @@ bcm2835gpio_jtag_nums 26 6 13 19
----
[start=7]
. Comment, if it wasnt't already, the line `bcm2835gpio_swd_nums` (not necessary for USB Blaster connection):
. Comment, if it wasnt't already, the line `bcm2835gpio_swd_nums` (not necessary for USB-Blaster connection):
[source]
----
@ -1739,7 +2078,7 @@ bcm2835gpio_jtag_nums 26 6 13 19
----
[start=8]
. Add, to the end of the file, the line `adapter speed 250` (again, not necessary for USB Blaster):
. Add, to the end of the file, the line `adapter speed 250` (again, not necessary for USB-Blaster):
[source]
----
@ -1759,7 +2098,7 @@ 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:
For USB-Blaster connection:
[source,shell]
----
@ -1779,7 +2118,7 @@ image:img/recovery.png[pdfwidth=70%]
[start=12]
. Insert in the ZXDOS+ the microSD card formatted as FAT16 o FAT32, and with the `FLASH.ZXD` file https://github.com/zxdos/zxdos-plus/raw/master/lx25/FLASH.zip[downloaded previously].
. If using a USB Blaster connection, unplug the connector.
. If using a USB-Blaster connection, unplug the connector.
<<<
@ -1806,7 +2145,7 @@ Ususally, the recovery image is set to use a PS/2 keyboard so, for a gomaDOS+, s
[NOTE]
====
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 <<_advanced, the right advanced setting>> that matches your display.
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 <<#_advanced, the right advanced setting>> that matches your display.
====
[NOTE]
@ -1826,6 +2165,136 @@ For a gomaDOS+, since the recovery image uses a PS/2 configuration as default, f
. Completely turn off gomaDOS` and turn it on again
====
<<<<
==== 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 https://github.com/zxdos/zxdos-plus/raw/master/lx25/FLASH.zip[official repository]
- Mac OS
- Extra data folder for UrJTAG, obtained from https://github.com/zxdos/zxdos-plus/blob/master/lx25/urjtag.zip[here]
*Software required*:
- https://brew.sh[Homebrew for Mac OS]
- UrJTAG: following instructions from https://n4abi.com/posts/2018-07-08-de0-nano-urjtag.html[here]:
*Instruction Steps*:
. Prepare UrJTAG instal:
[source,shell]
----
brew install libftdi libusb pkg-config
git clone https://github.com/C-Elegans/urjtag.git
cd urjtag
----
[start=2]
. Copy the extra data folder for UrJTAG, into urjtag `data` folder.
. Start compiling:
[source,shell]
----
./configure --with-libftdi --with-libusb --with-ftd2xx --with-inpout32 --enable-python=no
make -j4
sudo make install
----
[start=4]
. Copy `FLASH.ZXD` file to the root of the ZXDOS+ microSD card.
. Connect USB-Blaster cable to ZXDOS+ and the Mac
. Turn on the ZXDOS+ or gomaDOS+.
. Make sure that, we are in the directory where `recovery.zxd.bit` is, and execute `jtag` command.
<<<<
[start=8]
. A new shell appears. Now type the commands:
[source,shell]
----
cable usbblaster
detect
pld load recovery.zxd.bit
----
[WARNING]
====
Make sure, when using `detect`, that the device is shown as detected. You may need to execute `detect` several times until it appears.
====
[.text-center]
image:img/recovery_mac_1.png[pdfwidth=90%]
<<<<
[start=9]
. If all goes well, we will see that the FPGA LED change their state and the BIOS is shown on the display.
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.
[.text-center]
image:img/recovery.png[pdfwidth=70%]
[start=10]
. Insert in the ZXDOS+ the microSD card formatted as FAT16 o FAT32, and with the `FLASH.ZXD` file https://github.com/zxdos/zxdos-plus/raw/master/lx25/FLASH.zip[downloaded previously].
. Unplug the USB-Blaster.
. Select the option `Upgrade Flash from SD`. Press Enter, choose `Yes`, and press Enter again to start the Flash writing process.
[.text-center]
image:img/recovery2.png[pdfwidth=70%]
[WARNING]
====
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.
====
[NOTE]
====
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.
====
[start=13]
. After some minutes, the process will end, and, after turning the ZXDOS+ off and on, it should start fine.
[NOTE]
====
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 <<#_advanced, the right advanced setting>> that matches your display.
====
[NOTE]
====
For a gomaDOS+, since the recovery image uses a PS/2 configuration as default, follow this steps to set up the BIOS correctly:
. If you see no image, switch between composite and VGA mode (`Caps Shift+Symbol Shift+G`)
. Change to `PC XT` keyboard mode (`Caps Shift + Symbol Shift + U` and then `9`)
. Reboot gomaDOS+ without losing the temporary keyboard mode (`Caps Shift + Symbol Shift + B`)
. Quickly, press `Caps Shift + 1`
. Again, if there's no image, switch between composite and VGA mode (`Caps Shift+Symbol Shift+G`)
. Navigate through BIOS and turno on these options:
- `Advanced` -> `Keyboard Layout`: `Spectrum`
- `Advanced` -> `Video`: `VGA` (only if there was no image)
. Save changes:
- `Exit` -> `Save changes and exit`
. Completely turn off gomaDOS` and turn it on again
====
[NOTE]
====
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.)
====
<<<<
== References
http://zxuno.speccy.org/index.shtml[ZX-Uno]

View File

@ -1,10 +1,10 @@
= Manual de ZXDOS+ y gomaDOS+
:author: kounch
:revnumber: 1.2.2
:revnumber: 1.3.0
:doctype: book
:front-cover-image: image:img/portada.jpg[]
:email: kounch@users.noreply.github.com
:Revision: 1.2
:Revision: 1.3
:description: Manual en castellano de ZXDOS+ y gomaDOS+
:keywords: Manual, Castellano, ZXDOS+, gomaDOS+
:icons: font
@ -92,10 +92,11 @@ Para poder aprovechar todo su potencial, es útil tener también:
- 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 (<<#_miniduino,ver la sección correspondiente más adelante>>) o un reproductor/grabador de https://es.wikipedia.org/wiki/Casete[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 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.
[NOTE]
====
@ -176,10 +177,11 @@ image:./img/esxdos.png[pdfwidth=70%]
<<<
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 (https://github.com/zxdos/zxuno/tree/master/SD[aquí] y https://github.com/zxdos/zxuno/tree/master/[aquí]), y son los siguientes:
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 (https://github.com/zxdos/zxuno/tree/master/SD[aquí], https://github.com/zxdos/zxuno/tree/master/[aquí] y https://guest:zxuno@svn.zxuno.com/svn/zxuno/software/upgrade[aquí]), y son los siguientes:
back16m
back32m
backzx2
backzxd
corebios
dmaplayw
esprst
@ -192,7 +194,8 @@ Es recomendable, además, añadir los comandos esxdos específicos para ZXDOS+.
romsback
romsupgr
upgr16m
upgr32m
upgrzx2
upgrzxd
zxuc
zxunocfg
@ -451,7 +454,7 @@ La segunda pantalla muestra las ROMs de ZX Spectrum instaladas y permite reorden
[.text-center]
image:img/bios3.png[pdfwidth=70%]
La pantalla _Upgrade_ se utiliza para realizar las distintas actualizaciones del contenido de la memoria Flash: esxdos, BIOS, Cores, etc. (véase <<_actualizaciones,el apartado correspondiente a actualizaciones>> para más información).
La pantalla _Upgrade_ se utiliza para realizar las distintas actualizaciones del contenido de la memoria Flash: esxdos, BIOS, Cores, etc. (véase <<#_actualizaciones,el apartado correspondiente a actualizaciones>> para más información).
==== Boot
@ -469,7 +472,7 @@ image:img/bios5.png[pdfwidth=70%]
La pantalla de configuración avanzada sirve para modificar los siguientes ajustes:
- Distribución del teclado (Keyb Layout): Ver <<_teclado,el apartado correspondiente >> para más información)
- Distribución del teclado (Keyb Layout): Ver <<#_teclado,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
@ -549,7 +552,7 @@ image:./img/keyboardAV.png[pdfwidth=70%]
=== 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 <<_modos_de_teclado_en_gomados,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`).
Las combinaciones específicas de gomaDOS+ que se indican a continuación se corresponden con el modo de teclado `ZX`. Véase el <<#_modos_de_teclado_en_gomados,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:
@ -557,7 +560,7 @@ Teclas especiales durante el arranque:
- `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 del core de ZX Spectrum en modo "root"
- `/` (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):
@ -579,7 +582,7 @@ Teclas especiales que se pueden utilizar durante la ejecución del core principa
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 <<_roms_3,apartado de actualizaciones>> para más información sobre cómo ampliar o modificar las ROMs almacenadas en la memoria flash.
Véase el <<#_roms_3,apartado de actualizaciones>> para más información sobre cómo ampliar o modificar las ROMs almacenadas en la memoria flash.
<<<
@ -633,6 +636,11 @@ Algunos comandos extendidos de BASIC son:
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.
[NOTE]
====
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, https://fatsort.sourceforge.io/[FATsort] para Linux y MacOS, https://www.luisrios.eti.br/public/en_us/projects/yafs/[YAFS], http://www.trustfm.net/software/utilities/SDSorter.phpp[SDSorter] u otros.
====
<<<
==== Comandos para ZXDOS+
@ -640,7 +648,7 @@ Además, esxdos incluye un gestor NMI, es decir, una aplicación que se carga cu
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.
- `back32m`: Genera un fichero `FLASH.ZX2` 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.
- `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).
@ -650,10 +658,10 @@ Tal y como se ha explicado en la parte de instalación, existe una serie de coma
- `loadpzx`: Para cargar un archivo de imagen de cinta .PZX.
- `playmid`: Reproduce archivos musicales .MID en el addon MIDI.
- `playrmov`: Reproduce videos en <<#_creación_de_vídeos_rdm_radastan_movie,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. Se debe ejecutar desde una ROM en modo "root".
- `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".
- `upgr32m`: Copia el contenido de un fichero `FLASH.ZX2` 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".
- `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.
@ -774,21 +782,16 @@ Copiar el fichero en la raíz de la tarjeta MicroSD, encender y pulsar `F2` para
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 <<_roms,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 https://github.com/zxdos/zxuno/tree/master/modflash[repositorio de código de ZX-Uno].
Se puede añadir una nueva ROM desde <<#_roms,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 https://github.com/zxdos/zxuno/tree/master/modflash[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 "rooted", y entonces bastará con introducir el comando `.romsupgr`. Esto grabará todas las ROM, que quedarán disponibles para su uso.
[WARNING]
====
La versión actual `romsupgr`, en ZXDOS+, sólo funciona correctamente con ficheros RomPack que tengan un máximo de 35 slots de ROM ocupados.
====
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.
[NOTE]
====
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 ROM en un fichero RomPack llamado `ROMS.ZX1`), se puede usar el comando `.romsback`.
Para hacer el proceso contrario (guardar las ROMs en un fichero RomPack llamado `ROMS.ZX1`), se puede usar el comando `.romsback`.
[WARNING]
====
@ -799,13 +802,13 @@ Los ficheros RomPack se pueden editar fácilmente con la utilidad http://guest:z
=== Cores
Hay un número de slots disponibles para almacenar cores (el número depende del tamaño de la SPI Flash del modelo de ZXDOS), estando reservado el primer slot para el de ZX Spectrum principal (esto no impide tener más cores de ZX Spectrum en otros slot además del primero).
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 https://github.com/zxdos/zxdos-plus/tree/master/cores[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 slot donde realizar la instalación (por ejemplo `CORE2.ZX2` o `CORE2.ZXD` para el slot 2).
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).
[NOTE]
====
@ -835,7 +838,7 @@ Si todo se ha hecho correctamente, al encender el ZXDOS+ se verá cómo esxdos d
=== 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 `UPGR32M` de <<_esxdos,esxdos>> y un fichero con el nombre `FLASH.ZX2`.
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,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.
@ -866,7 +869,7 @@ Sus características principales son:
==== 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 <<_esxdos,el apartado correspondiente de esxdos>> para más información).
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 <<#_esxdos,el apartado correspondiente de esxdos>> para más información).
==== Teclado
@ -906,19 +909,19 @@ El manual de uso se puede descargar desde https://www.specnext.com/zx-spectrum-n
==== 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 <<_esxdos,el apartado correspondiente de esxdos>> para más información).
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 <<#_esxdos,el apartado correspondiente de esxdos>> para más información).
Obtener la distribución de NextZXOS https://www.specnext.com/latestdistro/[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, <<_cores,instalar el core de ZX Spectrum Next>> en el ZXDOS+.
Si no estuviera ya, <<#_cores,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 <<_modos_de_teclado_en_gomados,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`.
Las combinaciones específicas de gomaDOS+ que se indican a continuación se corresponden con el modo de teclado `ZX`. Véase el <<#_modos_de_teclado_en_gomados,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.
@ -952,6 +955,11 @@ image:img/next2.png[pdfwidth=70%]
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.).
[NOTE]
====
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, https://fatsort.sourceforge.io/[FATsort] para Linux y MacOS, https://www.luisrios.eti.br/public/en_us/projects/yafs/[YAFS], http://www.trustfm.net/software/utilities/SDSorter.phpp[SDSorter] u otros.
====
[.text-center]
image:img/next3.png[pdfwidth=70%]
@ -1012,7 +1020,7 @@ En el fichero `/MSX1FPGA/config.txt` se guarda la configuración del core, segú
+------Nextor: 1=Activo, 0=Inactivo
----
Si no estuviera ya, <<_cores,instalar el core de MSX>> en el ZXDOS+.
Si no estuviera ya, <<#_cores,instalar el core de MSX>> en el ZXDOS+.
<<<
@ -1020,7 +1028,7 @@ Si no estuviera ya, <<_cores,instalar el core de MSX>> en el ZXDOS+.
==== 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 <<_modos_de_teclado_en_gomados,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`.
Las combinaciones específicas de gomaDOS+ que se indican a continuación se corresponden con el modo de teclado `MSX`. Véase el <<#_modos_de_teclado_en_gomados,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:
@ -1052,9 +1060,13 @@ Para cambiar el modo de vídeo entre 50Hz y 60Hz (para ejecución correcta de pr
==== Guía básica
Para acceder a BASIC desde MSX-DOS, ejecutar el comando `BASIC`.
Para acceder a BASIC desde MSX-DOS, ejecutar el comando `BASIC`.
Para acceeder a MSX-DOS desde BASIC, ejecutar `CALL SYSTEM`.
Desde BASIC, se puede cargar desde una cinta (u <<#_miniduino,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`.
<<<
@ -1117,7 +1129,7 @@ Copiar tanto los ficheros `ROM` como los `DSK` a la raíz de la partición FAT32
==== 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 <<_modos_de_teclado_en_gomados,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`.
Las combinaciones específicas de gomaDOS+ que se indican a continuación se corresponden con el modo de teclado `Amstrad CPC`. Véase el <<#_modos_de_teclado_en_gomados,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:
@ -1187,7 +1199,7 @@ Ahora, se puede organizar la información en la tarjeta microSD de dos maneras d
==== 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 <<_modos_de_teclado_en_gomados,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`.
Las combinaciones específicas de gomaDOS+ que se indican a continuación se corresponden con el modo de teclado `Acorn Electron`. Véase el <<#_modos_de_teclado_en_gomados,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:
@ -1226,13 +1238,13 @@ El core para ZXDOS+ está siendo desarrollado por Neuro.
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, <<_cores,instalar el core de Commodore 64>> en el ZXDOS+.
Si no estuviera ya, <<#_cores,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 <<_modos_de_teclado_en_gomados,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`.
Las combinaciones específicas de gomaDOS+ que se indican a continuación se corresponden con el modo de teclado `Commodore 64`. Véase el <<#_modos_de_teclado_en_gomados,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:
@ -1312,7 +1324,7 @@ 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 <<_codificadores_rotatorios,aquí>> para más información)
- Compatible con joystick(s), teclado, ratón y codificadores (encoders) rotatorios (ver <<#_codificadores_rotatorios,aquí>> para más información)
- Varios modos de color
==== Formato de Tarjeta microSD
@ -1382,7 +1394,7 @@ Algunas de las características del core son:
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, <<_cores,instalar el core de NES>> en el ZXDOS+.
Si no estuviera ya, <<#_cores,instalar el core de NES>> en el ZXDOS+.
==== Teclado
@ -1431,7 +1443,7 @@ Algunas de las características del core son:
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 https://github.com/fbelavenuto/colecofpga/tree/master/SD_Card[web del proyecto original en GitHub].
Si no estuviera ya, <<_cores,instalar el core de ColecoVision>> en el ZXDOS+.
Si no estuviera ya, <<#_cores,instalar el core de ColecoVision>> en el ZXDOS+.
==== Teclado
@ -1471,13 +1483,13 @@ 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 <<_codificadores_rotatorios,aquí>> para más información)
- Compatible con joystick(s), teclado, ratón y codificadores (encoders) rotatorios (ver <<#_codificadores_rotatorios,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, <<_cores,instalar el core de Atari 2600>> en el ZXDOS+.
Si no estuviera ya, <<#_cores,instalar el core de Atari 2600>> en el ZXDOS+.
==== Teclado
@ -1538,7 +1550,7 @@ Algunas de las características del core son:
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, <<_cores,instalar el core de Videopac>> en el ZXDOS+.
Si no estuviera ya, <<#_cores,instalar el core de Videopac>> en el ZXDOS+.
==== Teclado
@ -1618,8 +1630,336 @@ Se recomienda no realizar la conexión hasta haber seleccionado la opción desea
<<<
=== Miniduino
https://www.antoniovillena.es/store/product/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 https://github.com/rcmolina/MaxDuino_BETA[Maxduino].
Maxduino permite la reproducción, de una forma similar a como se manejaban las cintas de https://es.wikipedia.org/wiki/Casete[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 http://www.specay.co.uk[SpecAY] desde ZX Spectrum.
==== Puertos y Botones
[.text-center]
image:img/MiniduinoBack.jpg[pdfwidth=50%]
[.text-center]
image:img/MiniduinoFront.jpg[pdfwidth=50%]
[cols=2*]
|===
|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 <<#_puertos_y_conectores,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.
[TIP]
====
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, https://fatsort.sourceforge.io/[FATsort] para Linux y MacOS, https://www.luisrios.eti.br/public/en_us/projects/yafs/[YAFS], http://www.trustfm.net/software/utilities/SDSorter.phpp[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.
[.text-center]
image:img/MiniduinoLogo.jpg[pdfwidth=30%]
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).
[.text-center]
image:img/MiniduinoVersion.jpg[pdfwidth=30%]
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.
[.text-center]
image:img/MiniduinoPlay.jpg[pdfwidth=30%]
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
[TIP]
====
Para obtener información mucho más detallada, se puede consultar el manual oficial del firmware Maxduino, disponible en el https://github.com/rcmolina/MaxDuino_BETA/tree/master/MANUAL%20por%20desUBIKado[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 https://www.va-de-retro.com/foros/viewtopic.php?t=5541&start=9999[foro] o bien en la https://github.com/rcmolina/MaxDuino_BETA[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 https://www.arduino.cc/en/software[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 https://github.com/rogerclarkmelbourne/Arduino_STM32/archive/master.zip[este enlace].
Descomprimir el contenido en la carpeta del usuario actual en
[source,shell]
----
...Arduino/hardware/Arduino_STM32
----
En Windows instalar el controlador USB ejecutando con privilegios elevados:
[source,shell]
----
...\drivers\win\install_drivers.bat
----
En Linux instalar con privilegios de root las reglas de `udev` necesarias:
[source,shell]
----
...tools/linux/install.sh
----
En MacOS, si no apareciese el Miniduino como dispositivo USB en Arduino IDE al conectarlo, puede que sea necesario instalar https://github.com/libusb/libusb/wiki[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:
[source,shell]
----
if [ $# -eq 5 ]; then
dfuse_addr="--dfuse-address $5"
else
dfuse_addr=""
fi
----
Y se tienen que cambiar por
[source,shell]
----
dfuse_addr=""
----
<<<<
===== Actualización
Una vez preparado el entorno, descargar la versión deseada del proyecto desde el https://github.com/rcmolina/MaxDuino_BETA[repositorio oficial en GitHub]
[NOTE]
====
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.
[source,c]
----
...
//#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
[source]
----
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 https://www.python.org/[Python 3]. Según el sistema operativo que se utilice puede que sea necesario https://www.python.org/downloads/[instalarlo].
Teniendo Python 3, basta con descargar la última versión de la herramienta desde su repositorio oficial, https://github.com/kounch/zx123_tool/releases/latest[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:
[source,shell]
----
py -3 zx123_tool.py
----
Mientras que en otros sistemas operativos debería bastar con algo parecido a:
[source,shell]
----
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:
[source,shell]
----
... 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
[source,shell]
----
... zx123_tool.py -i FLASH.ZXD -l
----
Para mostrar contenido de esa misma imagen, incluyendo datos de ROMs de ZX Spectrum:
[source,shell]
----
... 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`
[source,shell]
----
...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`+):
[source,shell]
----
...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 https://github.com/kounch/zx123_tool/#castellano[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:
[source,shell]
----
...zx123_tool.py -i FLASH.ZXD -a ROM,5,xdnlh17,Spec48,48.rom
----
Véase la https://github.com/kounch/zx123_tool/#castellano[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:
[source,shell]
----
...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:
[source,shell]
----
...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:
[source,shell]
----
...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:
[source,shell]
----
... 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.
@ -1631,8 +1971,8 @@ En esta situación, existen diferentes métodos de recuperación que permiten vo
*Material necesario*:
- Raspberry Pi (con tarjeta SD, teclado, monitor, fuente de alimentación, etc.) y con conexión a internet
- 5 https://es.wikipedia.org/wiki/Cable_puente[cables puente para prototipos] (idealmente, hembra en los dos extremos), o bien, en vez de los cables puente, un adaptador USB blaster
- Una https://es.wikipedia.org/wiki/Llave_Allen[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)
- 5 https://es.wikipedia.org/wiki/Cable_puente[cables puente para prototipos] (idealmente, hembra en los dos extremos), o bien, en vez de los cables puente, un adaptador USB-Blaster
- Una https://es.wikipedia.org/wiki/Llave_Allen[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+
@ -1653,7 +1993,7 @@ 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
git clone, git://git.code.sf.net/p/openocd/code openocd-code
cd openocd-code/
./bootstrap
./configure --enable-usb_blaster --enable-sysfsgpio --enable-bcm2835gpio
@ -1664,7 +2004,7 @@ rm -rf ./openocd-code
----
[start=3]
. 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 https://es.wikipedia.org/wiki/GPIO[GPIO] de la Raspberry Pi.
. 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 https://es.wikipedia.org/wiki/GPIO[GPIO] de la Raspberry Pi.
[.text-center]
image:img/jtag.jpg[pdfwidth=25%] image:img/jtaggomados.jpg[pdfwidth=40%]
@ -1676,7 +2016,7 @@ image:img/jtag.jpg[pdfwidth=25%] image:img/jtaggomados.jpg[pdfwidth=40%]
[NOTE]
====
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.
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.
====
<<<
@ -1713,7 +2053,7 @@ En este ejemplo, se utilizarán los pines `31`, `33`, `35`, `37` y `39` (corresp
[start=4]
. Copiar en la Raspberry Pi el fichero `recovery.zxd.bit` obtenido anteriormente del https://github.com/zxdos/zxdos-plus/raw/master/lx25/FLASH.zip[repositorio oficial]. En nuestro ejemplo, se dejará en `/home/pi/zxdosplus/unbrick/`
. 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.
. 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.
[source,shell]
----
@ -1732,7 +2072,7 @@ bcm2835gpio_jtag_nums 26 6 13 19
----
[start=7]
. Comentar, si no lo está, la línea `bcm2835gpio_swd_nums` (de nuevo, no necesario si la conexión es con USB Blaster):
. Comentar, si no lo está, la línea `bcm2835gpio_swd_nums` (de nuevo, no necesario si la conexión es con USB-Blaster):
[source]
----
@ -1740,7 +2080,7 @@ bcm2835gpio_jtag_nums 26 6 13 19
----
[start=8]
. Añadir, al final, la línea `adapter speed 250` (no necesario para uso con USB Blaster):
. Añadir, al final, la línea `adapter speed 250` (no necesario para uso con USB-Blaster):
[source]
----
@ -1760,7 +2100,7 @@ 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:
Con USB-Blaster:
[source,shell]
----
@ -1780,7 +2120,7 @@ image:img/recovery.png[pdfwidth=70%]
[start=12]
. 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` https://github.com/zxdos/zxdos-plus/raw/master/lx25/FLASH.zip[descargado anteriormente].
. Si se está utilizando USB Blaster, desconectar el cable.
. Si se está utilizando USB-Blaster, desconectar el cable.
<<<
@ -1807,7 +2147,7 @@ Habitualmente, la imagen de recuperación está configurada para usar un teclado
[NOTE]
====
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 <<_advanced, ajuste avanzado correspondiente>> para indicar la configuración de nuestro monitor.
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 <<#_advanced, ajuste avanzado correspondiente>> para indicar la configuración de nuestro monitor.
====
[NOTE]
@ -1827,21 +2167,25 @@ En el caso de gomaDOS+, como la configuración de la imagen de recuperación por
.Apagar completamente el gomaDOS+ y volver a encenderlo
====
<<<<
==== Recuperación usando Mac OS y Cable USB blaster
==== Recuperación usando MacOS y Cable USB-Blaster
*Material necesario*:
- Cable USB blaster. Preparado con el pineo adecuado para zxdos+
- Imagen Flash y recovery para ZXDOS+ (LX25). El mismo comentado en el paso anterior de Raspberry pi
- Sistema Mac OS
- 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 https://github.com/zxdos/zxdos-plus/raw/master/lx25/FLASH.zip[repositorio oficial, en este enlace]
- Sistema MacOS
- Carpeta data adicional para UrJTAG, obtenido desde https://github.com/zxdos/zxdos-plus/blob/master/lx25/urjtag.zip[aqui]
*Software necesario*:
- https://brew.sh[Homebrew para Mac OS]
- UrJTAG: seguidas las instrucciones de https://n4abi.com/posts/2018-07-08-de0-nano-urjtag.html[este enlace]:
- https://brew.sh[Homebrew para MacOS]
- UrJTAG: según las instrucciones de https://n4abi.com/posts/2018-07-08-de0-nano-urjtag.html[este enlace]:
*Pasos a seguir*:
. Preparar la instalación de UrJTAG
[source,shell]
----
@ -1850,8 +2194,10 @@ git clone https://github.com/C-Elegans/urjtag.git
cd urjtag
----
En este paso hay que copiar la carpeta data adicional para UrJTAG, dentro de la carpeta data de urjtag. Lanzamos el proceso de compilacion:
[start=2]
. Copiar la carpeta data adicional para UrJTAG, dentro de la carpeta data de urjtag.
. Lanzar el proceso de compilacion:
[source,shell]
----
@ -1860,9 +2206,19 @@ make -j4
sudo make install
----
De la imagen flash, el archivo FLASH.ZXD se ha copiado a la SD que hay en el zxdos+.
[start=4]
. Copiar el archivo FLASH.ZXD en la raiz de la tarjeta microSD para el ZXDOS+.
Con el archivo recovery.zxd.bit obtenido de la Imagen Flash, en la ruta actual, cable usb blaster conectado al zxdos+ y al Mac, pulsamos el boton de inicio de zxdos+, y ejecutamos el comando jtag. Aparecera una consola y lanzamos los comandos:
. Conectar el cable USB-Blaster al ZXDOS+ y al Mac
. Encender el ZXDOS+ o el gomaDOS+
. Asegurarnos de que estamos en el directorio donde se encuentra el archivo `recovery.zxd.bit`, y lanzar el comando `jtag`.
<<<<
[start=8]
. Aparecerá una consola donde se han de escribir los comandos:
[source,shell]
----
@ -1871,20 +2227,75 @@ detect
pld load recovery.zxd.bit
----
En el comando detect es importante que aparezca el dispositivo detectado. En el caso de mis pruebas, a veces he tenido que lanzar el comando detect de manera repetida hasta que ha aparecido.
[WARNING]
====
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.
====
[.text-center]
image:img/recovery_mac_1.png[pdfwidth=90%]
<<<<
Si todo funciona correctamente, deberia aparecer en el monitor conectado al zxdos+, la bios en modo recovery, donde podremos hacer upgrade de la flash
[start=9]
. 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.
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.
[.text-center]
image:img/recovery.png[pdfwidth=70%]
[start=10]
. 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` https://github.com/zxdos/zxdos-plus/raw/master/lx25/FLASH.zip[descargado anteriormente].
. Desconectar el cable USB-Blaster.
. 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.
[.text-center]
image:img/recovery2.png[pdfwidth=70%]
Nota: 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
[WARNING]
====
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.
====
[NOTE]
====
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.
====
[start=13]
. Tras unos minutos, el proceso finalizará, y podremos comprobar como, al apagar y encender, el ZXDOS+ (o el gomaDOS+) vuelve a arrancar correctamente.
[NOTE]
====
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 <<#_advanced, ajuste avanzado correspondiente>> para indicar la configuración de nuestro monitor.
====
[NOTE]
====
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:
. Si no hay imagen, cambiar entre modo video compuesto y modo VGA (`Caps Shift+Symbol Shift+G`)
. Cambiar al modo `PC XT` de teclado (`Caps Shift + Symbol Shift + U` y luego `9`)
. Reiniciar el gomaDOS+ sin que se pierda la configuración del teclado (`Caps Shift + Symbol Shift + B`)
. Rápidamente, pulsar `Caps Shift + 1`
. De nuevo, si no hay imagen, cambiar entre modo VGA y modo video compuesto (`Caps Shift+Symbol Shift+G`)
. Navegar por la BIOS y configurar las siguientes opciones:
- `Advanced` -> `Keyboard Layout`: `Spectrum`
- `Advanced` -> `Video`: `VGA` (sólo si no teníamos imagen)
. Guardar los cambios de la BIOS:
- `Exit` -> `Save changes and exit`
.Apagar completamente el gomaDOS+ y volver a encenderlo
====
[NOTE]
====
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
====
<<<<
== Referencias
@ -1950,6 +2361,10 @@ https://github.com/yomboprime/VideoPac-ZXDOS[VideoPac-ZXDOS]
https://archive.org/details/Magnavox_Odyssey_2_TOSEC_2012_04_23[TOSEC: Magnavox Odyssey 2 (2012-04-23)]
https://github.com/rcmolina/MaxDuino_BETA/blob/master/MANUAL%20por%20desUBIKado/MAXDUINO%20Gu%C3%ADa%20de%20uso.pdf[Maxduino - guía de uso]
https://github.com/rogerclarkmelbourne/Arduino_STM32/wiki/Installation[Hardware files to support STM32 based boards on Arduino version 1.8.x]
https://catleytech.com/?p=2679[Programming a Spartan 6 with a Raspberry Pi]
http://www.zxuno.com/forum/viewtopic.php?f=25&t=375[Tutorial para desbriquear el ZX-Uno con una Raspberry]

Binary file not shown.

BIN
doc/img/MiniduinoBack.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 KiB

BIN
doc/img/MiniduinoFront.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 773 KiB

BIN
doc/img/MiniduinoLogo.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

BIN
doc/img/MiniduinoPlay.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 100 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 109 KiB

After

Width:  |  Height:  |  Size: 105 KiB