diff --git a/doc/English ZXDOS+ and gomaDOS+ Manual.adoc b/doc/English ZXDOS+ and gomaDOS+ Manual.adoc index 6db1d56..8bb65b7 100644 --- a/doc/English ZXDOS+ and gomaDOS+ Manual.adoc +++ b/doc/English ZXDOS+ and gomaDOS+ Manual.adoc @@ -1,9 +1,10 @@ = ZXDOS+ and gomaDOS+ Manual :author: kounch -:revnumber: 1.0.3 +:revnumber: 1.2.2 :doctype: book +:front-cover-image: image:img/portada.jpg[] :email: kounch@users.noreply.github.com -:Revision: 1.0 +:Revision: 1.2 :description: English Manual of ZXDOS+ and gomaDOS+ :keywords: Manual, English, ZXDOS+, gomaDOS+ :icons: font @@ -16,31 +17,81 @@ == Introduction -ZXDOS+ y gomaDOS+ are the continuation of http://zxuno.speccy.org[ZX-Uno] a hardware and software project based on an FPGA board programmed to work like a ZX Spectrum computer, and created by the ZX-Uno team: Superfo, AVillena, McLeod, Quest and Hark0. +ZXDOS+ and gomaDOS+ are the continuation of http://zxuno.speccy.org[ZX-Uno] a hardware and software project based on an FPGA board programmed to work like a ZX Spectrum computer, and created by the ZX-Uno team: Superfo, AVillena, McLeod, Quest and Hark0. -Over time, the project has been growing, and now it is possible to install different software configurations (cores) in the flash memory of the FPGA, which work like different systems than the ZX Spectrum, being able to choose to start the ZXDOS+ with the desired configuration among all those installed. +Over time, the project has been growing, and now it is possible to install different software configurations (cores) in the flash memory of the FPGA, which work like different systems than the ZX Spectrum, and you can choose to start the ZXDOS+ with the desired configuration among all those installed. ZXDOS+ and gomaDOS+ official web page is http://zxdos.forofpga.es. Most of the functions and features of ZXDOS+ and gomaDOS+ are the same, so this document will generally talk about ZXDOS+, indicating the differences with gomaDOS+ where necessary. +<<< + +=== Ports and Connectors + +==== ZXDOS+ + +[.text-center] +image:img/ZXDOSfront.jpg[pdfwidth=90%] + +[.text-center] +image:img/ZXDOSback.jpg[pdfwidth=90%] + +<<< + +==== gomaDOS+ + +[.text-center] +image:img/gomaDosBack.jpg[pdfwidth=70%] + +==== Description + +[cols=2*] +|=== +|1 +|Power Switch +|2 +|microSD Card Slot +|3 +|JTAG and Joystick +|4 +|Audio Out +|5 +|Audio In +|6 +|RGB/VGA Out +|7 +|Power Socket +|8 +|Expansion Port +|9 +|Left Joystick Port +|10 +|Right Joystick Port +|11 +|PS/2 Keyboard Port +|12 +|PS/2 Mouse Port +|0 +|USB (PS/2) Port +|=== + +<<< + === Initial Setup In order to be able to set up and use a ZXDOS+ or gomaDOS+ you need, at least, the following: -- USB charger, a TV or other device that offers USB power +- A USB charger or a TV or other device that offers USB power - VGA cable and monitor - PS/2 keyboard (in the case of ZXDOS +) - In order to take advantage of its full potential, you should 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 -- A standard Atari joystick, such as a Megadrive DB9 gamepad -- A PS/2 mouse - -<<< +- 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+) ==== microSD card formatting @@ -121,7 +172,7 @@ Once downloaded and extracted, you have to copy the directories `BIN`, `SYS` and If everything has been done correctly, when you turn on the ZXDOS+ Spectrum core, you will see how esxdos detects the card and loads the necessary components to work. [.text-center] -image::./img/esxdos.png[pdfwidth=70%] +image:./img/esxdos.png[pdfwidth=70%] <<< @@ -149,16 +200,231 @@ It is also recommended to add the specific esxdos commands for ZXDOS+. These can <<< +=== GomaDOS+ keyboard modes + +gomaDOS+ keyboard, being similar to the original ZX Spectrum keyboard, lacks some of the existing keys on a modern PC keyboard. The keyboard membrane is connected to an Arduino board, which manages the transformation key presses to PS/2 keyboard protocol. The board is programmed so it can behave in different modes according to your needs. + +The default is ZX Spectrum mode. To change to a different mode, you must press `Caps Shift+Symbol Shift+U` and then the key for the desired mode. After doing that, some text is automatically typed, to show the selected mode (for example `.zx` if you press `Caps Shift+Symbol Shift+U` and theno `0`). + +This table shows the available modes and activation keys: + +[%header,cols=2*] +|=== +|Mode +|Key +|ZX Spectrum +|`0` +|Amstrad CPC +|`1` +|MSX +|`2` +|Commodore 64 +|`3` +|Atari 800XL +|`4` +|BBC Micro +|`5` +|Acorn Electron +|`6` +|Apple (I and II) +|`7` +|Commodore VIC 20 +|`8` +|PC XT +|`9` +|Oric Atmos +|`A` +|SAM Coupé +|`B` +|Jupiter ACE +|`C` +|=== + +<<< + +ZX Spectrum mode key assignment, with the corresponding keypress when used simultaneouly with `Caps Shift+Symbol Shift`: + +[cols=10*] +|=== +^|**1** +^|**2** +^|**3** +^|**4** +^|**5** +^|**6** +^|**7** +^|**8** +^|**9** +^|**0** +^|`F1` +^|`F2` +^|`F3` +^|`F4` +^|`F5` +^|`F6` +^|`F7` +^|`F8` +^|`F9` +^|`F1` +^|**Q** +^|**W** +^|**E** +^|**R** +^|**T** +^|**Y** +^|**U** +^|**I** +^|**O** +^|**P** +^|`F11` +^|`F12` +^| +^| +^| +^| +^|`Mode` +^| +^| +^| +^|**A** +^|**S** +^|**D** +^|**F** +^|**G** +^|**H** +^|**J** +^|**K** +^|**L** +^|**Enter** +^| +^| +^| +^| +^|`ScrLk` +^| +^| +^| +^| +^| +^|**CShift** +^|**Z** +^|**X** +^|**C** +^|**V** +^|**B** +^|**N** +^|**M** +^|**SShift** +^|**Space** +^| +^| +^|`Save` +^| +^|`Vers` +^|`hRes` +^|`sRes` +^| +^| +^| +|=== + +Where: + +- `ScrLk`: `Scroll Lock` changes betweein composite and VGA video mode (on Next Core, you must use `Caps Shift+Symbol Shift+2` or`F2` instead) +- `Save`: Sets the current mode as the default one +- `Vers`: Shows (types) current firmware version +- `hRes`: Hard Reset +- `sRes`: Soft Reset + +<<< + +The full list of key combinations (and compatible modes) is as follows: + +[%header,cols=3*] +|=== +|Caps S.+Symbol S. +|Mode +|Action +|1 +|All +|`F1` +|2 +|All +|`F2` +|3 +|All +|`F3` +|4 +|All +|`F4` +|5 +|All +|`F5` +|6 +|All +|`F6` +|7 +|All +|`F7` +|8 +|All +|`F8` +|9 +|All +|`F9` +|0 +|All +|`F10` +|Q +|All +|`F11` +|W +|All +|`F12` +|S +|C64 +|`Ctrl+F12` +|E +|Acorn/CPC +|`PgUp` +|R +|Acorn +|`PgDown` +|U +|All +|`Mode` +|G +|ZX/MSX/C64 +|`ScrLk` +|X +|All +|`Save` +|C +|PC +|`OPQA` +|V +|All +|`Version` +|B +|ZX +|`Ctrl+Alt+Bcksp` +|N +|ZX +|`Ctrl+Alt+Supr` +|=== + +<<< + === BIOS -Pressing the `F2` key during boot will access the BIOS setup. The BIOS firmware is the first program that runs when the ZXDOS+ is turned on. The main purpose of BIOS is to start and test the hardware and load one of the installed cores. +Pressing the `F2` key (`Caps Shift+1` on gomaDOS+) during boot will access the BIOS setup. The BIOS firmware is the first program that runs when the ZXDOS+ is turned on. The main purpose of BIOS is to start and test the hardware and load one of the installed cores. -Using cursor keys (left and right), you can navigate through the BIOS setup screens. With up and down keys you can choose the different elements of each screen and, with the `Enter` key, it is possible to activate and choose the options for each of these. `Esc` key is used to close open option windows without applying any action. +Using left and right cursor keys (`Caps Shift+5` and `Caps Shift+8` on gomaDOS+), you can navigate through the BIOS setup screens. With up and down keys (`Caps Shift+7` and `Caps Shift+6` on gomaDOS+) you can choose the different elements of each screen and, with the `Enter` key, it is possible to activate and choose the options for each of these. `Esc` key (`Caps Shift+Espacio` ongomaDOS+) is used to close open option windows without applying any action. ==== Main [.text-center] -image::img/bios.png[pdfwidth=70%] +image:img/bios.png[pdfwidth=70%] In the first configuration screen, in addition to being able to run several tests, you can define the default behavior for the following: @@ -176,14 +442,14 @@ More technical information can be found on http://www.zxuno.com/wiki/index.php/Z ==== ROMs [.text-center] -image::img/bios2.png[pdfwidth=70%] +image:img/bios2.png[pdfwidth=70%] The second screen shows the installed ZX Spectrum ROMs. You can reorder (Move Up, Move Down), rename or delete each of them, as well as choose the one that will be loaded by default at startup (Set Active ). ==== Upgrade [.text-center] -image::img/bios3.png[pdfwidth=70%] +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). @@ -192,7 +458,7 @@ _Upgrade_ screen is used to perform the different updates of the Flash memory co ==== Boot [.text-center] -image::img/bios4.png[pdfwidth=70%] +image:img/bios4.png[pdfwidth=70%] In the _Boot_ screen you can choose which one of the installed cores is loaded by default at startup. @@ -201,7 +467,7 @@ In the _Boot_ screen you can choose which one of the installed cores is loaded b ==== Advanced [.text-center] -image::img/bios5.png[pdfwidth=70%] +image:img/bios5.png[pdfwidth=70%] The Advanced configuration screen is used to edit the following settings: @@ -219,7 +485,7 @@ The Advanced configuration screen is used to edit the following settings: ==== Exit [.text-center] -image::img/bios6.png[pdfwidth=70%] +image:img/bios6.png[pdfwidth=70%] Finally, from the last screen you can: @@ -269,48 +535,46 @@ For more information, see http://www.zxuno.com/forum/viewtopic.php?f=37&t=208[th ==== Spanish [.text-center] -image::./img/keyboardEsp.png[pdfwidth=70%] +image:./img/keyboardEsp.png[pdfwidth=70%] ==== English [.text-center] -image::./img/keyboardEng.png[pdfwidth=70%] +image:./img/keyboardEng.png[pdfwidth=70%] ==== Spectrum [.text-center] -image::./img/keyboardAV.png[pdfwidth=70%] +image:./img/keyboardAV.png[pdfwidth=70%] <<< === Special keys and buttons -gomaDOS+ keyboard, being similar to the original ZX Spectrum keyboard, lacks some of the existing keys on a modern PC keyboard. To correct this, you can change the way the Spectrum keyboard is interpreted between two different modes: Conventional Mode (which is the default mode) and Full Mode. +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`). -To switch between the two keyboard modes, use the key combination `Caps Shift+Symbol Shift+F` and then press `D`. +Special keys which can be used during startup: + +- `F2` (`Caps Shift+1` on gomaDOS+) Enter BIOS setup +- `Caps Lock` or `Cursor down` (`Caps Shift+2 on gomaDOS+): Core selection menu +- `Esc` (`Caps Shift+Space` on gomaDOS+): ZX Spectrum core ROM selection menu +- `R`: Loads the Spectrum core ROM in "real" mode, disabling esxdos, new graphics modes, etc. +- `/` (numeric keyboard): Load ZX Spectrum core ROM in "root" mode +- Number from `1` to `9`: Load the core in the flash location corresponding to that number Special keys that can be used while running the main core (ZX Spectrum): -- `Esc`: BREAK -- `F2` (`Caps Shift+Symbol Shift+2` on gomaDOS+, Full Mode): Edit -- `F5` (`Caps Shift+Symbol Shift+5` on gomaDOS+, Full Mode - or `Caps Shift+Symbol Shift+F` and then `Y` -): NMI -- `F7` (`Caps Shift+Symbol Shift+7` on gomaDOS+, Full Mode): Play or pause when playing .PZX files -- `F8` (`Caps Shift+Symbol Shift+8` on gomaDOS+, Full Mode): Rewind .PZX file to the previous mark -- `F10` (`Caps Shift+Symbol Shift+0` on gomaDOS+, Full Mode): Graph -- `F12` (`Caps Shift+Symbol Shift+W` on gomaDOS+, Full Mode): Turbo Boost. Speeds up CPU to 28MHz while pressed (beginnig with core EXP27). +- `Esc` (`Caps Shift+Space` on gomaDOS+): BREAK +- `F2` (`Caps Shift+1` on gomaDOS+): Edit +- `F5` (`Caps Shift+Symbol Shift+5` on gomaDOS+): NMI +- `F7` (`Caps Shift+Symbol Shift+7` on gomaDOS+): Play or pause when playing .PZX files +- `F8` (`Caps Shift+Symbol Shift+8` on gomaDOS+): Rewind .PZX file to the previous mark +- `F10` (`Caps Shift+9` on gomaDOS+): Graph +- `F12` (`Caps Shift+Symbol Shift+W` on gomaDOS+): Turbo Boost. Speeds up CPU to 28MHz while pressed (beginnig with core EXP27). - `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` on gomaDOS+): Hard reset. Backspace is the delete key, located in the top-right portion of the keyboard, above `Enter`. - `Ctrl+Alt+Supr` (`Caps Shift+Symbol Shift+N` on gomaDOS+): Soft reset. - `Scroll Lock` (`Caps Shift+Symbol Shift+G` on gomaDOS+): Switches between compositve and VGA video modes. -During startup: - -- `F2` (`Caps Shift+1` on gomaDOS+, Full Mode) Enter BIOS setup -- `Caps Shift` or `Cursor down` (`Caps Shift+2 on gomaDOS+): Core selection menu -- `Esc` (`Caps Shift+Espacio` 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) (`Symbol Shift+V` on gomaDOS+): Load ZX Spectrum core ROM in "root" mode -- Number from `1` to `9`: Load the core in the flash location corresponding to that number - <<< === ROMs @@ -377,8 +641,8 @@ 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. After finishing, it is necessary to execute the command `.ls` so that the cache is written to the card -- `back32m`: Version of the backup command for 32 Meg SPI Flash memories. 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 +- `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 - `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 @@ -388,10 +652,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 `ROMS.ZX1` file, in the root directory of the microSD card, all ZX Spectrum core ROMS which are stored in SPI flash memory -- `romsupgr`: Load from a `ROMS.ZX1` file, in the root directory of the microSD card, all ZX Spectrum core ROMS into SPI flash memory -- `upgr16m`: Load the conent of a `FLASH.ZX1` file, in the root directory of the microSD card, to a 16 Meg SPI Flash memory -- `upgr32m`: Version of the upgrade command for 32 Meg SPI Flash memories +- `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 +- `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. - `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 @@ -510,16 +774,30 @@ Copy the file to the root of the MicroSD card, turn on and press `F2` to enter B === ROMs -To update the ROMs installed for ZX Spectrum, a 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. +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]. + +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. + +[WARNING] +==== +At this moment, `romsupgr`, only works correctly with RomPack files using a maximum of 35 slots. +==== [NOTE] ==== Remember that if the ZXDOS+ is started by pressing the `/` key (on the numeric keyboard) (`Symbol Shift+V` in gomaDOS+), then the default ROM of the ZX Spectrum core will be loaded in" root "mode. ==== -To do the opposite process (save the ROMs in a `ROMS.ZX1` file), you can use the` .romsback` command. +To do the opposite process (save the ROMs in a RomPack file named `ROMS.ZX1`), you can use the` .romsback` command. -`ROMS.ZX1` files can be easily edited with the http: // guest: zxuno@svn.zxuno.comsvn/zxuno/software/ZX1RomPack/[ZX1RomPack] utility. Although it is a Windows program, it works perfectly, for example using https://www.winehq.org[Wine] or similar programs, either on MacOS or Linux. +[WARNING] +==== +At this moment, `romsback`, only stores correctly the first 35 used slots. +==== + +RomPack files can be easily edited with the http: // guest: zxuno@svn.zxuno.comsvn/zxuno/software/ZX1RomPack/[ZX1RomPack] utility. Although it is a Windows program, it works perfectly, for example using https://www.winehq.org[Wine] or similar programs, either on MacOS or Linux. === Cores @@ -549,7 +827,7 @@ To update esxdos to a new version, the distribution must be obtained from http:/ Once downloaded and extracted, the contents of `BIN` and `SYS` directories have to be copied to the root of the card, merging the existing ones (to preserve the exclusive ZXDOS+ commands). -Copy `ESXMMC.BIN` in the root of the microSD card, renaming it as `ESXDOS.ZX2` (for a ZXDOS+ with FPGA LX16 board) or `ESXDOS.ZXD` (for a ZXDOS+ with LX25 board). +Copy `ESXMMC.BIN` (or `ESXMMC.ROM`, depending on version) to the root of the microSD card. Start ZXDOS + with the card inserted and press `F2` to access BIOS setup. Select the `Upgrade` menu and choose __"Upgrade esxdos for ZX"__. In the dialog that appears choose __"SD file"__ and, when it asks __"Load from SD"__ answer __"Yes"__ to the question __"Are you sure?"__. The content of the file `ESXDOS...` will be read, written to the flash storage and you will be notified when it is updated. @@ -557,17 +835,62 @@ Do a Hard-reset, or turn it off and on. If everything has been done correctly, when you turn on the ZXDOS+ you will see how esxdos detects the card and loads the necessary components to work, showing the new version at the top. +=== Flash Memory + +You also can update all the FPGA flash memory. At this moment, from the BIOS you can only use 16MiB image files. To use a 32MiB image, you must use <<_esxdos,esxdos>> `UPGR32M` command and a file named `FLASH.ZX2`. + +Copy the image file (16MiB) `FLASH.ZXD` to the root of the microSD card. + +Turn on the ZXDOS+ and press the `F2` key (`Caps Shift+1` on gomaDOS+) during boot to access the BIOS setup. Select the menu `Upgrade` and then choos the option __"Upgrade flash from SD"__. Press Enter, choose `Yes`, and press Enter again to start the Flash writing process. + +Do a Hard-Reset or turn of and on again. + +[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. +==== + <<< == Other cores +=== ZX Spectrum 48K (Kyp) + +https://github.com/Kyp069/zx48.zxdosplus/releases/[Alternative core], whose objective is to be the most accurate implementation in timings, memory contention, etc. + +Main features: + +- Only working on RGB (no VGA) +- Specdrum +- Turbosound (two AY chips) with mix selection ACB/ABC +- DivMMC with esxdos 0.8.8 +- Kempston joystick in port 1 + +==== microSD card format + +You need a microSD card with the first partition formatted as FAT16 or FAT32, and inside, the standard esxDOS 0.8.8 (see <<_esxdos,esxdos corresponding section>> for more info). + +==== Keyboard + +==== Special keys and buttons + +While the core is running: + +- `Esc` (`Caps Shift+Space` on gomaDOS+): BREAK +- `F5` (`Caps Shift+Symbol Shift+5` on gomaDOS+): NMI +- `F8` (`Caps Shift+Symbol Shift+8` on gomaDOS+): Change Turbosound mixer configuration between ACB and ABC. +- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` on gomaDOS+) or `F11` (`Caps Shift+Symbol Shift+Q` on gomaDOS+): Hard reset. Backspace is the delete key, located in the top-right portion of the keyboard, above `Enter`. +- `Ctrl+Alt+Supr` (`Caps Shift+Symbol Shift+N` on gomaDOS+) or `F12` (`Caps Shift+Symbol Shift+W` on gomaDOS+): Soft reset. + +<<< + === ZX Spectrum Next https://www.specnext.com[ZX Spectrum Next] is an FPGA based project, which wants to be the evolution of the Sinclair ZX Spectrum line of computers. It brings new features while keeping hardware and software compatibility with previous ZX Spectrum computers. -Specially thanks to avlixa, ther exists a ZX Spectrum Next core synthesized for ZXDOS+. +Specially thanks to avlixa, there exists a ZX Spectrum Next core synthesized for ZXDOS+. -The core, for the moment does not havd any of these features: +The core, for the moment does not have any of these features: - Raspberry Pi - Internal beeper @@ -597,17 +920,19 @@ If it wasn't already, <<_cores,install ZX Spectrum Next core>> into ZXDOS+. ==== 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 . + Take into account that `Ctrl+Alt+backspace` does not work with the ZX Spectrum Next core. You have to power cycle if you want to use another core. Also, there is no Reset or Drive button. While the core is running: -- `F1`: Hard Reset -- `F2`: Scandoubler. Doubles the resolution. Should be of for SCART -- `F3`: Change vertical frequency between 50Hz and 60Hz -- `F5`: Soft Reset -- `F7`: Scanlines -- `F9`: NMI -- `F10`: divMMC NMI. Simulates Drive button. If used with Caps Shift it forces a rescan of drives and a reload of the boot screen under esxDOS +- `F1` (`Caps Shift+Symbol Shift+1` on gomaDOS+): Hard Reset +- `F2` (`Caps Shift+Symbol Shift+2` on gomaDOS+): Scandoubler. Doubles the resolution. Should be of for SCART +- `F3` (`Caps Shift+Symbol Shift+3` on gomaDOS+): Change vertical frequency between 50Hz and 60Hz +- `F4` (`Caps Shift+Symbol Shift+4` on gomaDOS+): Soft Reset +- `F7` (`Caps Shift+Symbol Shift+7` on gomaDOS+): Scanlines +- `F9` (`Caps Shift+Symbol Shift+9` on gomaDOS+): NMI +- `F10` (`Caps Shift+Symbol Shift+0` on gomaDOS+): divMMC NMI. Simulates Drive button. If used with Caps Shift it forces a rescan of drives and a reload of the boot screen under esxDOS <<< @@ -616,21 +941,21 @@ While the core is running: On first boot, some help screens will show up. After pressing `Space` key, NextZXOS Startup Menu appears. [.text-center] -image::img/next.png[pdfwidth=70%] +image:img/next.png[pdfwidth=70%] -You can navigate the menu with the cursor keys or a joystick (if configured as Kempston, MD or cursor). `Enter` or the joystick button chooses one element. +You can navigate the menu with the cursor keys, `5`, `6`, `7` and `8` keys, or a joystick (if configured as Kempston, MD or cursor). `Enter` or the joystick button chooses one element. `More...` shows a second menu with more options. [.text-center] -image::img/next2.png[pdfwidth=70%] +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.). [.text-center] -image::img/next3.png[pdfwidth=70%] +image:img/next3.png[pdfwidth=70%] [WARNING] ==== @@ -639,7 +964,7 @@ At the time of writing, the ZX Spectrum Next core for ZXDOS+ does not support th [NOTE] ==== -It is not possible to load TRD files from the Browser (NextZXOS must be configured to load a "personality" with esxdos). +It is not possible to load TRD files directly from the Browser (NextZXOS must be configured to load a "personality" with esxdos). ==== For more information, see the https://www.specnext.com/zx-spectrum-next-user-manual-first-edition/[official user manual]. @@ -656,6 +981,7 @@ Some of its features are: - 128K Nextor (MSX-DOS2 evolution) ROM with SD driver - Reconfigurable keyboard map - Scanlines +- Joystick support ==== microSD format @@ -682,7 +1008,7 @@ The file `/MSX1FPGA/config.txt` keeps the core configuration, using this format: |||||| |||||+-Scanlines: 1=Enabled, 0=Disabled ||||+--Turbo: 1=Initialize with turbo enabled -|||+---Color System: N=NTSC, P=PAL +|||+---Colour System: N=NTSC, P=PAL ||+----Keymap: E=English, B=Brazilian, F=Francese, S=Spanish, J=Japanese |+-----Scandoubler(VGA): 1=Enabled, 0=Disabled +------Nextor: 1=Enabled, 0=Disabled @@ -696,32 +1022,36 @@ 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 . + While running the core: - `Print Scr`: Changes between VGA and RGB mode -- `Scroll Lock`: Enables or disables scanlines +- `Scroll Lock` (`Caps Shift+Symbol Shift+G` on gomaDOS+): Enables or disables scanlines - `Pause`: Changes between 50Hz and 60Hz -- `F11`: Enables and disables turbo mode +- `F11` (`Caps Shift+Symbol Shift+Q` on gomaDOS+): Enables and disables turbo mode - `Ctrl+Alt+Supr`: Soft Reset - `Ctrl+Alt+F12`: Hard Reset -- `Ctrl+Alt+Backspace`: Restarts the FPGA +- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` on gomaDOS+, `ZX Spectrum` keyboard mode): Restarts the FPGA - `Left ALT`: MSX GRAPH - `Right ALT`: MSX CODE - `Page Up`: MSX SELECT -- `Start` MSX HOME (`Shift+HOME`: CLS) +- `Start`: MSX HOME (`Shift+HOME`: CLS) - `End`: MSX STOP - `Ñ` or `Windows`: MSX DEAD [NOTE] ==== -In BASIC use `CTRL+STOP` keys to stop the execution of a program. +In BASIC use `CTRL+STOP` (`Ctrl+End`) keys to stop the execution of a program. ==== [NOTE] ==== -To change the video mode between 50Hz and 60Hz (and thus play at correct speed PAL games), you can use `DISPLAY.COM`, which can be downloaded https://www.msx.org/forum/msx-talk/software/dos-tool-to-switch-from-50-to-60hz[here]. +To change the video mode between 50Hz and 60Hz (and thus play at correct speed PAL games), you can use also use `DISPLAY.COM`, which can be downloaded https://www.msx.org/forum/msx-talk/software/dos-tool-to-switch-from-50-to-60hz[here]. ==== +<<< + ==== Basic Guide To go to BASIC from MSX-DOS you must execute `BASIC` command. @@ -789,10 +1119,12 @@ 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. + During core execution: -- `Page Up`: Reset the Amstrad computer and loads the next `DSK` file alphabetically -- Only the left shift key works properly +- `Page Up` (`Caps Shift+Symbol Shift+E` on gomaDOS+): Reset the Amstrad computer and load the next `DSK` file alphabetically +- On a PS/2 keyboard, only the left shift key works properly <<< @@ -801,12 +1133,12 @@ During core execution: Use the `CAT` command to see the contents of the currently loaded DSK file. [.text-center] -image::img/cpc.png[pdfwidth=70%] +image:img/cpc.png[pdfwidth=70%] Type the command `RUN"` to load a program from disk [.text-center] -image::img/cpc2.png[pdfwidth=70%] +image:img/cpc2.png[pdfwidth=70%] Press `Page Up` key to reset and load the next `DSK` file. @@ -857,19 +1189,21 @@ 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. + While the core is running: - `Shift+F10`: Shows Atom Software Archive Menu -- `F10`: Soft Reset -- `F1`: Turbo mode 1Mhz -- `F2`: Turbo mode 2Mhz -- `F3`: Turbo mode 4Mhz -- `F4`: Turbo mode 8Mhz +- `F10` (`Caps Shift+Symbol Shift+0` on gomaDOS+): Soft Reset +- `F1` (`Caps Shift+Symbol Shift+1` on gomaDOS+): Turbo mode 1Mhz +- `F2` (`Caps Shift+Symbol Shift+2` on gomaDOS+): Turbo mode 2Mhz +- `F3` (`Caps Shift+Symbol Shift+3` on gomaDOS+): Turbo mode 4Mhz +- `F4` (`Caps Shift+Symbol Shift+4` on gomaDOS+): Turbo mode 8Mhz The keyboard uses the following mapping: [.text-center] -image::img/keyboardAtom.jpg[pdfwidth=90%] +image:img/keyboardAtom.jpg[pdfwidth=90%] <<< @@ -878,7 +1212,7 @@ image::img/keyboardAtom.jpg[pdfwidth=90%] Sometimes, after starting up the core, a screen full of `@` appears. Ejecting and inserting, or only inserting, the microSD card will fully start the system. [.text-center] -image::img/acorn.jpg[pdfwidth=70%] +image:img/acorn.jpg[pdfwidth=70%] Once it's running, press `Shift+F10` to show a menu where you can choose and load Atom Software Archive programs from the card. @@ -900,26 +1234,29 @@ See the <<_cores,corresponding section>> for instructions of how to install the ==== 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. + While the core is running: +- `F9` `Caps Shift+Symbol Shift+9` on gomaDOS+): Play/Pause a TAP file - `F12` (`Caps Shift+Symbol Shift+W` on gomaDOS+): Shows options menu - `Scroll Lock` (`Caps Shift+Symbol Shift+G` on gomaDOS+): switches between VGA and RGB modes -- `Esc`: RUN/STOP (`Shift+RUN/STOP`: Load from tape) +- `Esc` (`Caps Shift+Space` on gomaDOS+): RUN/STOP (`Shift+RUN/STOP`: Load from tape) <<< ==== Basic Guide -After pressing `F12`, the option menu is shown. +After pressing `F12` (`Caps Shift+Symbol Shift+W` on gomaDOS+), the option menu is shown. [.text-center] -image::img/c64.jpg[pdfwidth=70%] +image:img/c64.jpg[pdfwidth=70%] The menu offers the following options - Core reset - Enable o disable scanlines -- Change color palette (Colores Payaso MICOLOR) +- Change colour palette (Colores Payaso MICOLOR) - Enable or disable PAL mode - Enable or disable tape loading sound (Sonido Carga Cinta) - Enable or disable audio filter (Filtro de Audio) @@ -930,7 +1267,7 @@ After a disk is inserted, normally, you can use `LOAD "*",8,1` and press `Enter` If there was more than one program in the disk, type `LOAD "$"` and press `Enter`. Then, type `LIST`, and press `Enter`, to see a list with the files in the disk. Now, to load one of them, type `LOAD "",8` (where `` is the name of the file to load) and press `Enter`. Once `READY` is shown on screen, type `RUN` and press `Enter` to execute it. If this didn't work try again with the command `LOAD "",8,1`. -To load from tape, you can type `LOAD` and press `Enter`, or just press `Shift+Esc` (`Shift+RUN/STOP`). +To load from tape, Select "Carga Tap" option from the menu. Then, browse the microSD and select the TAP file to load, press `ENTER` and close the options menu. After that, type `LOAD` and press `Enter`, or press `Shift+Esc` (`Shift+RUN/STOP`). Finally, when pressing `F9` (`Caps Shift+Symbol Shift+9` on gomaDOS+) the tape file will start playing (you can enable the tape loading sound selecting "Sonido Carga Cinta" in the options menu). Once the loading finishes, type `RUN` and press `ENTER` if needed. <<< @@ -956,9 +1293,9 @@ While the core is running: - `Q` and `A` or `Left Cursor` and `Right Cursor` (or a joystick): Movement control - `Z` or `X` `Left Windows Key` and `Space` (or joystick buttons 1 and 2): Fire 1 and 2, also to insert coin and `Start` -- `F2`: Switches between VGA and RGB modes +- `F2` (`Caps Shift+Symbol Shift+B` on gomaDOS+): Switches between VGA and RGB modes - `-` (numeric keyboard): Enable or disable scanlines -- `Tab`: Enables or disables 90º rotation of the direction of controls +- `Tab` (`Caps Shift+Enter` on gomaDOS+, `PC XT` keyboard mode): Enables or disables 90º rotation of the direction of controls ==== Basic Guide @@ -975,7 +1312,8 @@ 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 +- Support for Joysticks, keyboard, mouse and rotary encoder controls (see <<_rotary_enoders,here>> for more information) +- Several colour modes ==== microSD format @@ -987,35 +1325,40 @@ This core does not use the microSD card. While the core is running: -- `Esc` or joystick button 2 (or `Caps Shift+Space` on gomaDOS+): Show or hide configuration menu -- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+F` and `G`): Hard reset -- `Scroll Lock`: switch between VGA and RGB mode -- `F3` o `F12`: Restart game -- Number betwee `1` and `7`: Change the game variant -- `Cursor up` and `Cursor down`: Control left pad (Player 1 in 2 player mode and player 3 in 4 player mode) -- Joystick 1: Control left pad (Player 1) -- `Q` y `A`: Control right pad (Player 2 in 2 player mode and player 4 in 4 player mode) -- Joystick 2: Control right pad (Player 2). +- `Esc` or joystick button 2 (or `Caps Shift+Space` on gomaDOS+, `PC XT` keyboard mode): Show or hide configuration menu +- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` on gomaDOS+, `ZX Spectrum` keyboard mode): Hard reset +- `Scroll Lock` (`Caps Shift+Symbol Shift+G` on gomaDOS+, `ZX Spectrum` keyboard mode): switch between VGA and RGB mode +- `F3` o `F12` (`Caps Shift+Symbol Shift+3` or `Caps Shift+Symbol Shift+W` on gomaDOS+): Restart game +- Number between `1` and `7`: Change the game variant +- Joystick 2 (right): Control right pad (Player 1). +- Joystick 1 (left): Control left pad (Player 2) +- `Cursor up` and `Cursor down` or `O` and `K`: Control right pad (Player 1 in 2 player mode and player 3 in 4 player mode) +- `Q` and `A`: Control left pad (Player 2 in 2 player mode and player 4 in 4 player mode) - `Z`, `M` or joystick button 1: Manual serve +- Cursor keys (`Caps Shift+5`, `Caps Shift+6`, `Caps Shift+7` and `Caps Shift+8` on gomaDOS+, `PC XT` keyboard mode) and `Enter` to use the menu <<< ==== Basic Guide -Pressing `Esc` or joystick button 2 (`Caps Shift+Space` on gomaDOS+) shows or hides the configuration menu. +Pressing `Esc` or joystick button 2 (`Caps Shift+Space` on gomaDOS+, `PC XT` keyboard mode) shows or hides the configuration menu. Cursor keys (`Caps Shift+5`, `Caps Shift+6`, `Caps Shift+7` and `Caps Shift+8` on gomaDOS+, `PC XT` keyboard mode) and `Enter` to select and choose menu options. [.text-center] -image::img/pong.jpg[pdfwidth=70%] +image:img/pong.jpg[pdfwidth=70%] The following options are available: -- Manual Serve +- Serve mode - Ball Angle - Ball Speed - Paddle Size - Sound -- Four players -- Double OSD Window size +- Number of players +- Speed mode +- Angle mode +- Joystick, mouse, etc. controls +- Paddle accuracy +- Colour mode - Exit <<< @@ -1047,17 +1390,18 @@ See the <<_cores,corresponding section>> for instructions of how to install the While the core is running: -- `Esc` or joystick button 2 (or `Caps Shift+Space` on gomaDOS+): Show or hide configuration menu -- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+F` and `G`): Hard reset +- `Esc` or joystick button 2 (or `Caps Shift+Space` on gomaDOS+, `PC XT` keyboard mode): Show or hide configuration menu +- Cursor keys (`Caps Shift+5`, `Caps Shift+6`, `Caps Shift+7` and `Caps Shift+8` on gomaDOS+, `PC XT` keyboard mode), and `Enter` to use the menu +- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` on gomaDOS+, `ZX Spectrum` keyboard mode): Hard reset <<< ==== Basic Guide -Pressing `Esc` or joystick button 2 (`Caps Shift+Space` on gomaDOS+) shows or hides the configuration menu. +Pressing `Esc` or joystick button 2 (`Caps Shift+Space` on gomaDOS+) shows or hides the configuration menu. To navigate the menu and activate or choose any option, use the cursor keys (`Caps Shift+5`, `Caps Shift+6`, `Caps Shift+7` and `Caps Shift+8` in gomaDOS+, `PC XT` keyboard mode) and `Enter`. [.text-center] -image::img/nes.jpg[pdfwidth=70%] +image:img/nes.jpg[pdfwidth=70%] The following options are available: @@ -1071,6 +1415,208 @@ The following options are available: <<< +=== ColecoVision + +https://en.wikipedia.org/wiki/ColecoVision[ColecoVision] is Coleco Industries' home video-game console that was released in August 1982. + +ZXDOS+ core is based on https://github.com/fbelavenuto/colecofpga[ZX-Uno version] by Fabio Belavenuto. + +Some features of this core are: + +- BIOS ROM is loaded from microSD card +- Supports multicart ROM, also loaded from microSD +- Only works with VGA + +==== microSD card format + +You need a microSD card with the first partition in FAT16 format to store ROM image files of the games to load and other needed files. These can be downloaded from 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+. + +==== Keyboard + +==== Special keys and buttons + +While the core is running: + +- Cursor or `Q`, `A`, `E`, `R` or joystick 1: Directional controls for player 1 +- `Z` or joystick 1 main fire button: Fire Button 1 for player 1 +- `U`, `J`, `O`, `P` or joystick 2: Directional controls for player 2 +- `M` or joystick 2 main fire button: Fire button 1 for player 2 +- `X` or joystick 1 secondary fire button: Fire button 1 for player 1 and player 2 +- `0` to `9`: Button 0 to 9 for player 1 and player 2 +- `T`: Button '*' +- `Y`: Button '#' +- 'Esc' (or `Caps Shift+Space` on gomaDOS+, `PC XT` keyboard mode): Soft Reset + +<<< + +==== Basic Guide + +On startup, BIOS ROM is loaded from the card, and then the multicart ROM. + +[.text-center] +image:img/coleco.jpg[pdfwidth=70%] + +At multicart menu, use the directional controls to choose one ROM, and then fire button 1 to load. Pressing 'Esc' (`Caps Shift+Space` on gomaDOS+, `PC XT` keyboard mode) restarts the core and loads the ROM selection menu again. + +<<< + +=== Atari 2600 + +https://en.wikipedia.org/wiki/Atari_2600[Atari 2600] is a home video game console originally branded as the Atari Video Computer System (Atari VCS). + +ZXDOS+ core version is developed by avlixa. + +Some of the features of the core are: + +- RGB and VGA support +- Support for joysticks, keyboard, mouse and rotary encoder controls (see <<_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+. + +==== Keyboard + +For gomaDOS+, it is recommended to change the keyboard mode to `Atari 800` (`Caps Shift + Symbol Shift + U` and then `4`) o `PC XT` (`Caps Shift + Symbol Shift + U` and then `9`). + +==== Special keys and buttons + +During the core execution: + +- `W`, `A`, `S`, `D` or joystick 1: Directional controls for player 1 +- `F` or joystick 1 fire button: Player 1 fire button +- `I`, `J`, `K`, `L` or joystick 2: Directional controls for player 2 +- `H` or joystick 2 fire button: Player 2 fire button +- `Scroll Lock` (`Caps Shift+Symbol Shift+G` on gomaDOS+): change between RGB and VGA video mode +- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` on gomaDOS+): Hard reset. + +<<< + +==== Basic Guide + +Pressing `Esc` or joystick button 2 (`Caps Shift+Space` on gomaDOS+, `Atari800` keyboard mode) shows or hides the configuration menu. Cursor keys (`Caps Shift+5`, `Caps Shift+6`, `Caps Shift+7` and `Caps Shift+8` on gomaDOS+, `Atari800` keyboard mode) and `Enter` to select and choose menu options. + +[.text-center] +image:img/a2600.jpg[pdfwidth=70%] + +The following options are available: + +- Reset core +- Scanlines +- RGB Mode (PAL/NTSC) +- Paddle Size +- Sound +- Color +- Difficulty A +- Difficulty B +- Select +- Start +- Load ROM +- Joystick +- Paddle Accuracy +- Exit + +<<< + +=== Videopac + +https://en.wikipedia.org/wiki/Magnavox_Odyssey_2[Philips Videopac], also known as Magnavox Odyssey², Philips Videopac G7000 o Philips Odyssey², is a second generation home video game console that was released in 1978. + +The ZXDOS+ core is make by avlixa, and is based on ZXDOS core by yomboprime. + +Some features of the core are: + +- RGB and VGA support +- Needs at least one joystick to be used + +==== microSD card format + +You need a microSD card with the first partition in FAT16 format to store ROM image files to load. + +See the <<_cores,corresponding section>> for instructions of how to install the Videopac core in ZXDOS+. + +==== Keyboard + +For gomaDOS+, it is recommended to change the keyboard mode to `PC XT` (`Caps Shift + Symbol Shift + U` and then `9`). + +==== Special keys and buttons + +During the core execution: + +- `Scroll Lock` (`Caps Shift+Symbol Shift+G` on gomaDOS+): change between RGB and VGA video mode +- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` on gomaDOS+): Hard reset. + +<<< + +==== Basic Guide + +Pressing `Esc` or joystick button 2 (`Caps Shift+Space` on gomaDOS+, `PC XT` keyboard mode) shows or hides the configuration menu. Cursor keys (`Caps Shift+5`, `Caps Shift+6`, `Caps Shift+7` and `Caps Shift+8` on gomaDOS+, `PC XT` keyboard mode) and `Enter` to select and choose menu options. + +[.text-center] +image:img/videopac.jpg[pdfwidth=70%] + +The following options are available: + +- Reset core +- Scanlines +- Swap joysticks +- Load ROM +- Video mode: PAL/Videopac or NTSC/Odyssey2 +- Color Mode +- Exit + +<<< + +== Other Hardware + +=== Rotary Encoders + +Pong and Atari 2600 cores support the use of quadrature https://en.wikipedia.org/wiki/Rotary_encoder[rotary encoders] as control devices. They can be connected to the joystick ports. Although the testing has been done with 600 ppr encoders, lower ppr encoders, like 400 or 300, should also work. + +You can also use an Atari 2600 https://en.wikipedia.org/wiki/Paddle_(game_controller)[paddle] driving controller. In this case the playing experience is bad, since they have few ppr and you must do several full rotations. When using them, it's recommended to set the accuracy setting to 8, to have enough speed. + +==== Connection + +Both ZXDOS+ and gomaDOS+ have joystick pin 5 connected to positive VCC, used as main power, and pin 8 as GND. The rotary encoders to use must support voltage from 3,4v to 5v. + +A rotary encoder has 5 wires: Earth Ground (not connected), Vcc (`+`), GND (`0V`or `-`), `A` and `B`. + +`A` y `B` are connected to pins 1 and 2 for the first encoder, 3 and 4 for the seconde one. This way you can have up to 4 encoders connected using both joystick ports. + +[.text-center] +image:img/db9joy.png[pdfwidth=40%] + +This way, the connections should be: + +. Line `A` encoder 1 +. Line `B` encoder 1 +. Line `A` encoder 2 +. Line `B` encoder 2 +. Vcc(`+`) +. Fire 1 +. NC +. `GND` +. Fire 2 + +<<< + +==== Pong Core Configuration + +Follow these directions to choose the configuration: + +- For 1 or 2 endoders on joystick port 2 de joystick, select `1/2 Paddle in J2` option +- For 2 encoders, one for each joystick port, select `2/4 Paddle in J1&J2` option. This is also valid to connect two Atari 2600 driving paddles +- For 4 encoders, two for each joystick port, select `2/4 Paddle in J1&J2` option +- For 1 or 2 encoders on joystick port 2 along with a mouse (in this case the encoders are for players 2 and 4), select `Mouse PS/2` option + +It is recommended to wait, and make the connection after selecting the chosen option, since the encoders interfere with the up/down directions of the joystick, blocking access to the menu. Another option is to add a on/off switch for the encoder that will disable the power. + +<<< + == Troubleshooting === Firmware recovery @@ -1084,10 +1630,10 @@ 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) -- One https://en.wikipedia.org/wiki/Hex_key[hex key] with the right socket size for ZXDOS+ cover screws -- microSD for ZXDOS+ with the first partitiion formatted as FAT16 or FAT32 -- Keyboard and display for ZXDOS+ +- 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 +- Keyboard (not needed for gomaDOS+) and display for ZXDOS+ *Software required*: @@ -1105,10 +1651,11 @@ When this happens, there are several recovery methods that let you install again sudo apt-get update sudo apt-get install git autoconf libtool make pkg-config sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev telnet +sudo apt-get install libusb-dev libftdi-dev git clone git://git.code.sf.net/p/openocd/code openocd-code cd openocd-code/ ./bootstrap -./configure --enable-sysfsgpio --enable-bcm2835gpio +./configure --enable-usb_blaster --enable-sysfsgpio --enable-bcm2835gpio make sudo make install cd .. @@ -1116,22 +1663,27 @@ rm -rf ./openocd-code ---- [start=3] -. Open the ZXDOS+ 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=50%] +image:img/jtag.jpg[pdfwidth=25%] image:img/jtaggomados.jpg[pdfwidth=40%] [WARNING] ==== *DO NOT* connect the 3V line ==== +[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. +==== + <<< -Take note of the chosen pins, making sure that `GND` is connected with `GND`. +Is using a GPIO connection, take note of the chosen pins, making sure that `GND` is connected with `GND`. [.text-center] -image::img/gpio.jpg[pdfwidth=70%] +image:img/gpio.jpg[pdfwidth=70%] In this example, the `31`, `33`, `35`, `37` and `39` pins will be used (corresponding to `GPIO #6`, `GPIO #13`, `GPIO #19`, `GPIO #26` and `GND`), like this: @@ -1160,7 +1712,7 @@ In this example, the `31`, `33`, `35`, `37` and `39` pins will be used (correspo [start=4] . Copy to the Raspberry Pi the file named `recovery.zxd.bit` previously downloaded from the https://github.com/zxdos/zxdos-plus/raw/master/lx25/FLASH.zip[official repository]. For our example, it will be at `/home/pi/zxdosplus/unbrick/` -. Make a copy of Open OCD configuration file, to the same directory where `recovery.zxd.bit` is. +. If using GPIO, make a copy of Open OCD configuration file, to the same directory where `recovery.zxd.bit` is. [source,shell] ---- @@ -1170,7 +1722,7 @@ cp /usr/local/share/openocd/scripts/interface/raspberrypi2-native.cfg /home/pi/z <<< [start=6] -. Edit `raspberrypi2-native.cfg` copy, updating `bcm2835gpio_jtag_nums` (uncommenting, if necessary), with your JTAG and GPIO connection numbers, at the line `bcm2835gpio_jtag_nums`. For our example: +. For GPIO connection, edit `raspberrypi2-native.cfg` copy, updating `bcm2835gpio_jtag_nums` (uncommenting, if necessary), with your JTAG and GPIO connection numbers, at the line `bcm2835gpio_jtag_nums`. For our example: [source] ---- @@ -1179,7 +1731,7 @@ bcm2835gpio_jtag_nums 26 6 13 19 ---- [start=7] -. Comment, if it wasnt't already, the line `bcm2835gpio_swd_nums`: +. Comment, if it wasnt't already, the line `bcm2835gpio_swd_nums` (not necessary for USB Blaster connection): [source] ---- @@ -1187,7 +1739,7 @@ bcm2835gpio_jtag_nums 26 6 13 19 ---- [start=8] -. Add, to the end of the file, the line `adapter speed 250`: +. Add, to the end of the file, the line `adapter speed 250` (again, not necessary for USB Blaster): [source] ---- @@ -1195,48 +1747,85 @@ adapter speed 250 ---- [start=9] -. Start ZXDOS+ +. Turn on the ZXDOS+ or gomaDOS+. . Make sure that, on the Raspberry Pi, we are in the directory where `recovery.zxd.bit` is, and execute the command that loads the BIOS on recovery mode, using the path to the previously edited `raspberrypi2-native.cfg`. +For GPIO connection: + [source,shell] ---- 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" ---- -If all goes well, we will see that the FPGA LED change their state and the BIOS is shown on the display. +For USB Blaster connection: + +[source,shell] +---- +sudo openocd -f /usr/local/share/openocd/scripts/interface/altera-usb-blaster.cfg -f /usr/local/share/openocd/scripts/cpld/xilinx-xc6s.cfg -c "init; xc6s_program xc6s.tap; pld load 0 recovery.zxd.bit ; exit" +---- <<< + +[start=11] +. 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%] +image:img/recovery.png[pdfwidth=70%] -[start=11] +[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. + <<< -[start=12] +[start=14] . 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 will erase all the previously installed cores and ZX Spectrum ROMs. +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. ==== -[.text-center] -image::img/recovery2.png[pdfwidth=70%] +[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. +==== -After some minutes, the process will end, and, after turning the ZXDOS+ off and on, it should start fine. +<<< + +[start=15] +. 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 +==== + == References http://zxuno.speccy.org/index.shtml[ZX-Uno] @@ -1249,7 +1838,9 @@ http://www.zxuno.com/wiki/index.php/ZX_Spectrum[Core ZX Spectrum] http://www.zxuno.com/forum/viewtopic.php?f=37&t=208[Layouts de teclado] -https://github.com/ManuFerHi/ZX-GO-/blob/master/ZXUNOPS2/Nuevo%20firmware%20de%20teclado%20ZX-GO%2B%20V30052019.pdf[Nuevo firmware de teclado ZX-GO+] +https://github.com/spark2k06/zxunops2/blob/master/Alternative/Nuevo%20firmware%20de%20teclado%20ZX-GO%2B.pdf[Firmware de teclado para ZX Go+] + +https://github.com/zxdos/zxdos-plus/tree/master/zxunops2[zxunops2] https://docs.google.com/spreadsheets/d/17-ifpHcy932_AP7SAv9uBLxg-2ZptcdgTvQ8ILXQLM4/htmlview[Almost (In-) Complete List of esxDOS DOT-Commands] @@ -1263,6 +1854,12 @@ https://nihirash.net/network-tools-for-zx-uno-pack/[Network tools for ZX-Uno pac https://www.espressif.com/sites/default/files/documentation/4a-esp8266_at_instruction_set_en.pdf[ESP8266 AT Instruction Set] +https://www.zonadepruebas.com/viewtopic.php?t=4796&start=110[Vídeos Radastanianos] + +https://www.zxuno.com/forum/viewtopic.php?f=52&t=4074&p=28234&hilit=kyp#p28234[Nuevo core zx48] + +https://github.com/Kyp069/zx48.zxdosplus/releases/[ZX 48 for ZXDOS+ (Kyp)] + http://www.forofpga.es/viewtopic.php?t=349[Core ZXNEXT en ZXDOS] https://gitlab.com/thesmog358/tbblue/-/blob/master/docs/zxdos/zxdoscoreinstall.txt[ZX Spectrum Next en ZXDOS] @@ -1283,6 +1880,18 @@ http://www.zxuno.com/forum/viewtopic.php?f=16&t=4006[Atom Software Archive en ca http://www.zxuno.com/forum/viewtopic.php?f=16&t=4005[Teclado Core Atom] +http://www.zxuno.com/forum/viewtopic.php?t=1245[Core de NES para ZX-Uno] + +https://github.com/fbelavenuto/colecofpga[ColecoFPGA on GitHub] + +http://www.forofpga.es/viewtopic.php?f=167&t=24[Core de Videopac para ZXDOS] + +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://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] \ No newline at end of file +http://www.zxuno.com/forum/viewtopic.php?f=25&t=375[Tutorial para desbriquear el ZX-Uno con una Raspberry] + +http://www.forofpga.es/viewtopic.php?t=175[Como programar un UnAmiga con la Raspberry Pi (o Linux) con el USB-Blaster y OpenOCD] diff --git a/doc/English ZXDOS+ and gomaDOS+ Manual.pdf b/doc/English ZXDOS+ and gomaDOS+ Manual.pdf index 6917c06..3b8ce3e 100644 Binary files a/doc/English ZXDOS+ and gomaDOS+ Manual.pdf and b/doc/English ZXDOS+ and gomaDOS+ Manual.pdf differ diff --git a/doc/Manual de ZXDOS+ y gomaDOS+.adoc b/doc/Manual de ZXDOS+ y gomaDOS+.adoc index 35a4527..b81817e 100644 --- a/doc/Manual de ZXDOS+ y gomaDOS+.adoc +++ b/doc/Manual de ZXDOS+ y gomaDOS+.adoc @@ -1,9 +1,10 @@ = Manual de ZXDOS+ y gomaDOS+ :author: kounch -:revnumber: 1.0.3 +:revnumber: 1.2.2 :doctype: book +:front-cover-image: image:img/portada.jpg[] :email: kounch@users.noreply.github.com -:Revision: 1.0 +:Revision: 1.2 :description: Manual en castellano de ZXDOS+ y gomaDOS+ :keywords: Manual, Castellano, ZXDOS+, gomaDOS+ :icons: font @@ -24,22 +25,73 @@ La página oficial de ZXDOS+ y gomaDOS+ es http://zxdos.forofpga.es. La mayoría de las funciones y características de ZXDOS+ y gomaDOS+ son las mismas, así que, en este documento, se hablará, en general, de ZXDOS+, indicando las diferencias con gomaDOS+ donde sea necesario. +<<< + +=== Puertos y Conectores + +==== ZXDOS+ + +[.text-center] +image:img/ZXDOSfront.jpg[pdfwidth=90%] + +[.text-center] +image:img/ZXDOSback.jpg[pdfwidth=90%] + +<<< + +==== gomaDOS+ + +[.text-center] +image:img/gomaDosBack.jpg[pdfwidth=90%] + +==== Descripción + +[cols=2*] +|=== +|1 +|Interruptor +|2 +|Ranura microSD +|3 +|JTAG y Joystick +|4 +|Salida de Sonido +|5 +|Entrada de Sonido +|6 +|Salida RGB/VGA +|7 +|Enchufe de Alimentación +|8 +|Puerto de expansión +|9 +|Puerto de Joystick Izquierdo +|10 +|Puerto de Joystick Derecho +|11 +|Puerto de Teclado PS/2 +|12 +|Puerto de Ratón PS/2 +|0 +|Puerto USB (PS/2) +|=== + +<<< + === Configuración Inicial Para poder poner en marcha un ZXDOS+ o gomaDOS+ hace falta, al menos, lo siguiente: -- Un cargador USB, o una TV u otro dispositivo que ofrezca alimentación USB +- Un cargador USB, una TV u otro dispositivo que ofrezca alimentación USB - Un cable y un monitor VGA - Un teclado PS/2 (en el caso de ZXDOS+) Para poder aprovechar todo su potencial, es útil tener también: - Una tarjeta microSD, no necesariamente muy grande -- Unos altavoces de PC para conectar a la salida de audio, o un cable jack-stereo a dos conectores RCA rojo/blanco para conectar a la TV -- Un joystick norma Atari, como por ejemplo, un gamepad DB9 de Megadrive -- Un ratón PS/2 - -<<< +- 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+) ==== Formato de la tarjeta microSD @@ -120,7 +172,7 @@ Una vez descargado y descomprimido, se han de copiar, a la raíz de la tarjeta, Si todo se ha hecho correctamente, al encender el core Spectrum de ZXDOS+ se verá cómo esxdos detecta la tarjeta y carga los componentes necesarios para funcionar. [.text-center] -image::./img/esxdos.png[pdfwidth=70%] +image:./img/esxdos.png[pdfwidth=70%] <<< @@ -148,16 +200,231 @@ Es recomendable, además, añadir los comandos esxdos específicos para ZXDOS+. <<< +=== Modos de teclado en gomaDOS+ + +El teclado de gomaDOS+ al ser similar al teclado del ZX Spectrum original, carece de algunas de teclas existentes en un teclado moderno de PC. Internamente, el teclado de membrana está conectado a una placa Arduino, que se encarga de transformar las pulsaciones al protocolo PS/2 de teclado. Esta placa está programada de manera que pueda comportarse de distintas maneras según nos interese. + +Por defecto, está configurado en modo ZX Spectrum. Para cambiar a otro modo, se debe pulsar `Caps Shift+Symbol Shift+U` y luego la tecla correspondiente. Al hacerlo, se tecleará automáticamente un texto indicando el modo seleccionado (por ejemplo: `.zx` si se pulsa `Caps Shift+Symbol Shift+U` y luego `0`). + +La siguiente tabla indica los distintos modos y la tecla de activación asociada: + +[%header,cols=2*] +|=== +|Modo +|Tecla +|ZX Spectrum +|`0` +|Amstrad CPC +|`1` +|MSX +|`2` +|Commodore 64 +|`3` +|Atari 800XL +|`4` +|BBC Micro +|`5` +|Acorn Electron +|`6` +|Apple (I y II) +|`7` +|Commodore VIC 20 +|`8` +|PC XT +|`9` +|Oric Atmos +|`A` +|SAM Coupé +|`B` +|Jupiter ACE +|`C` +|=== + +<<< + +La distribución del teclado en modo ZX Spectrum, con la pulsación asociada al combinar junto con `Caps Shift+Symbol Shift`, se puede resumir según el siguiente esquema: + +[cols=10*] +|=== +^|**1** +^|**2** +^|**3** +^|**4** +^|**5** +^|**6** +^|**7** +^|**8** +^|**9** +^|**0** +^|`F1` +^|`F2` +^|`F3` +^|`F4` +^|`F5` +^|`F6` +^|`F7` +^|`F8` +^|`F9` +^|`F1` +^|**Q** +^|**W** +^|**E** +^|**R** +^|**T** +^|**Y** +^|**U** +^|**I** +^|**O** +^|**P** +^|`F11` +^|`F12` +^| +^| +^| +^| +^|`Modo` +^| +^| +^| +^|**A** +^|**S** +^|**D** +^|**F** +^|**G** +^|**H** +^|**J** +^|**K** +^|**L** +^|**Enter** +^| +^| +^| +^| +^|`BlqDs` +^| +^| +^| +^| +^| +^|**CShift** +^|**Z** +^|**X** +^|**C** +^|**V** +^|**B** +^|**N** +^|**M** +^|**SShift** +^|**Space** +^| +^| +^|`Guarda` +^| +^|`Vers` +^|`hRes` +^|`sRes` +^| +^| +^| +|=== + +Donde: + +- `BlqDs`: `Bloq. Despl.` cambia de modo video compuesto a VGA y viceversa (en el core de Next, se debe usar `Caps Shift+Symbol Shift+2` o `F2`) +- `Guarda`: Define el modo actual como el modo por defecto +- `Vers`: Muestra (teclea) la versión actual del firmware +- `hRes`: Hard Reset +- `sRes`: Soft Reset + +<<< + +La lista completa de combinaciones de teclado (y el modo en que se pueden utilizar) es la siguiente: + +[%header,cols=3*] +|=== +|Caps S.+Symbol S. +|Modo +|Acción +|1 +|Todos +|`F1` +|2 +|Todos +|`F2` +|3 +|Todos +|`F3` +|4 +|Todos +|`F4` +|5 +|Todos +|`F5` +|6 +|Todos +|`F6` +|7 +|Todos +|`F7` +|8 +|Todos +|`F8` +|9 +|Todos +|`F9` +|0 +|Todos +|`F10` +|Q +|Todos +|`F11` +|W +|Todos +|`F12` +|S +|C64 +|`Ctrl+F12` +|E +|Acorn/CPC +|`Re Pág` +|R +|Acorn +|`PgAbajo` +|U +|Todos +|`Modo` +|G +|ZX/MSX/C64 +|`BlqDs` +|X +|Todos +|`Guarda` +|C +|PC +|`OPQA` +|V +|Todos +|`Versión` +|B +|ZX +|`Ctrl+Alt+Bcksp` +|N +|ZX +|`Ctrl+Alt+Supr` +|=== + +<<< + === BIOS -Si se pulsa la tecla `F2` durante el arranque, se tendrá acceso a la configuración de BIOS. El firmware de BIOS es el primer programa que se ejecuta cuando se enciende el ZXDOS+. El propósito fundamental del software de BIOS es iniciar y probar el hardware y cargar uno de los cores instalados. +Si se pulsa la tecla `F2` (`Caps Shift+1` en gomaDOS+) durante el arranque, se tendrá acceso a la configuración de BIOS. El firmware de BIOS es el primer programa que se ejecuta cuando se enciende el ZXDOS+. El propósito fundamental del software de BIOS es iniciar y probar el hardware y cargar uno de los cores instalados. -Usando las teclas de cursor (izquierda y derecha), se puede navegar por las pantallas de configuración de la BIOS. Con las teclas arriba y abajo se pueden elegir los distintos elementos de cada pantalla y, con la tecla `Enter`, es posible activar y elegir las opciones de cada una de estas. La tecla `Esc` sirve para cerrar las ventanas de opciones abiertas sin aplicar ninguna acción. +Usando las teclas de cursor izquierda y derecha (`Caps Shift+5` y `Caps Shift+8` en gomaDOS+), se puede navegar por las pantallas de configuración de la BIOS. Con las teclas arriba y abajo (`Caps Shift+7` y `Caps Shift+6` en gomaDOS+) se pueden elegir los distintos elementos de cada pantalla y, con la tecla `Enter`, es posible activar y elegir las opciones de cada una de estas. La tecla `Esc` (`Caps Shift+Espacio` en gomaDOS+) sirve para cerrar las ventanas de opciones abiertas sin aplicar ninguna acción. ==== Main [.text-center] -image::img/bios.png[pdfwidth=70%] +image:img/bios.png[pdfwidth=70%] En la primera pantalla de configuración, además de poder ejecutar distintas pruebas, se puede definir el comportamiento por defecto para lo siguiente: @@ -175,21 +442,21 @@ Se puede consultar información más tecnica en http://www.zxuno.com/wiki/index. ==== ROMs [.text-center] -image::img/bios2.png[pdfwidth=70%] +image:img/bios2.png[pdfwidth=70%] La segunda pantalla muestra las ROMs de ZX Spectrum instaladas y permite reordenar (Move Up, Move Down), renombrar (Rename) o borrar (Delete) cada una de ellas, así como elegir la que se cargará por defecto en el arranque (Set Active). ==== Upgrade [.text-center] -image::img/bios3.png[pdfwidth=70%] +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). ==== Boot [.text-center] -image::img/bios4.png[pdfwidth=70%] +image:img/bios4.png[pdfwidth=70%] En la pantalla _Boot_ se puede elegir qué core de los instalados se desea que cargue por defecto en el arranque. @@ -198,7 +465,7 @@ En la pantalla _Boot_ se puede elegir qué core de los instalados se desea que c ==== Advanced [.text-center] -image::img/bios5.png[pdfwidth=70%] +image:img/bios5.png[pdfwidth=70%] La pantalla de configuración avanzada sirve para modificar los siguientes ajustes: @@ -216,7 +483,7 @@ La pantalla de configuración avanzada sirve para modificar los siguientes ajust ==== Exit [.text-center] -image::img/bios6.png[pdfwidth=70%] +image:img/bios6.png[pdfwidth=70%] Finalmente, desde la última pantalla se puede: @@ -266,48 +533,46 @@ Para más información, consultar http://www.zxuno.com/forum/viewtopic.php?f=37& ==== Español [.text-center] -image::./img/keyboardEsp.png[pdfwidth=70%] +image:./img/keyboardEsp.png[pdfwidth=70%] ==== Inglés [.text-center] -image::./img/keyboardEng.png[pdfwidth=70%] +image:./img/keyboardEng.png[pdfwidth=70%] ==== Spectrum [.text-center] -image::./img/keyboardAV.png[pdfwidth=70%] +image:./img/keyboardAV.png[pdfwidth=70%] <<< === Teclas especiales y botones -El teclado de gomaDOS+ al ser similar al teclado del ZX Spectrum original, carece de algunas de teclas existentes en un teclado moderno de PC. Para subsanarlo, se puede cambiar el modo en que se interpreta el teclado de Spectrum entre dos distintos: Modo Convencional (que es el modo por defecto) y Modo Completo. +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`). -Para cambiar entre los dos modos de teclado se utiliza la combinación de teclas `Caps Shift+Symbol Shift+F` y luego pulsar `D`. +Teclas especiales durante el arranque: -Teclas especiales que se pueden utilizar la ejecución del core principal (ZX Spectrum): +- `F2` (`Caps Shift+1` en gomaDOS+) Entrar en la BIOS +- `Bloq. Mayús` o `Cursor abajo` (`Caps Shift+2` en gomaDOS+): Menú de selección de cores +- `Esc` (`Caps Shift+Espacio` en gomaDOS+): Menú de selección de ROMS del core de ZX Spectrum +- `R`: Carga la rom del core de ZX Spectrum en modo "real" deshabilitando esxdos, nuevos modos gráficos, etc. +- `/` (del teclado numérico): Carga la ROM 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 -- `Esc`: BREAK -- `F2` (`Caps Shift+Symbol Shift+2` en gomaDOS+, en modo completo): Edit -- `F5` (`Caps Shift+Symbol Shift+5` en gomaDOS+, en modo completo - o bien `Caps Shift+Symbol Shift+F` y luego `Y` -): NMI -- `F7` (`Caps Shift+Symbol Shift+7` en gomaDOS+, en modo completo): Reproducir o Pausa en la reproducción de archivos .PZX -- `F8` (`Caps Shift+Symbol Shift+8` en gomaDOS+, en modo completo): Rebobinar el archivo .PZX hasta la marca anterior -- `F10` (`Caps Shift+Symbol Shift+0` en gomaDOS+, en modo completo): Graph -- `F12` (`Caps Shift+Symbol Shift+W` en gomaDOS+, en modo completo): Turbo Boost. Pone a la CPU a 28MHz mientras se mantenga pulsada (a partir del core EXP27). +Teclas especiales que se pueden utilizar durante la ejecución del core principal (ZX Spectrum): + +- `Esc` (`Caps Shift+Espacio` en gomaDOS+): BREAK +- `F2` (`Caps Shift+1` en gomaDOS+): Edit +- `F5` (`Caps Shift+Symbol Shift+5` en gomaDOS+): NMI +- `F7` (`Caps Shift+Symbol Shift+7` en gomaDOS+): Reproducir o Pausa en la reproducción de archivos .PZX +- `F8` (`Caps Shift+Symbol Shift+8` en gomaDOS+): Rebobinar el archivo .PZX hasta la marca anterior +- `F10` (`Caps Shift+9` en gomaDOS+): Graph +- `F12` (`Caps Shift+Symbol Shift+W` en gomaDOS+): Turbo Boost. Pone a la CPU a 28MHz mientras se mantenga pulsada (a partir del core EXP27). - `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` en gomaDOS+): Hard reset. Backspace es la tecla de borrar hacia atrás, encima de `Enter`. - `Ctrl+Alt+Supr` (`Caps Shift+Symbol Shift+N` en gomaDOS+): Soft reset. - `Bloq. Despl.` (`Caps Shift+Symbol Shift+G` en gomaDOS+): cambia de modo video compuesto a VGA y viceversa. -Durante el arranque: - -- `F2` (`Caps Shift+1` en gomaDOS+, en modo completo) Entrar en la BIOS -- `Bloq. Mayús` o `Cursor abajo` (`Caps Shift+2 en gomaDOS+): Menú de selección de cores -- `Esc` (`Caps Shift+Espacio` en gomaDOS+): Menú de selección de ROMS del core de ZX Spectrum -- `R`: Carga la rom del core de ZX Spectrum en modo "real" deshabilitando esxdos, nuevos modos gráficos, etc. -- `/` (del teclado numérico) (`Symbol Shift+V` en gomaDOS+): Carga la rom 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 - <<< === ROMs @@ -374,8 +639,8 @@ 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. Tras terminar su ejecución hay que ejecutar el comando `.ls` para que se termine de grabar la cache en la tarjeta. -- `back32m`: Versión del comando backup exclusivo para memorias SPI Flash de 32 Megas. Tras terminar su ejecución 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. +- `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. - `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). @@ -385,10 +650,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 `ROMS.ZX1` en el directorio raíz de la tarjeta microSD todas las ROMS del core ZX Spectrum almacenadas en la memoria SPI Flash. -- `romsupgr`: Copia el contenido de un fichero `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. -- `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. -- `upgr32m`: Versión del comando upgrade exclusivo para memorias SPI Flash de 32 Megas. +- `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". +- `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". - `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. @@ -507,16 +772,30 @@ Copiar el fichero en la raíz de la tarjeta MicroSD, encender y pulsar `F2` para === ROMs -Para actualizar las ROM instaladas para ZX Spectrum se ha de obtener un fichero 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. +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]. + +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. +==== [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 `ROMS.ZX1`), se puede usar el comando `.romsback`. +Para hacer el proceso contrario (guardar las ROM en un fichero RomPack llamado `ROMS.ZX1`), se puede usar el comando `.romsback`. -Los ficheros `ROMS.ZX1` se pueden editar fácilmente con la utilidad http://guest:zxuno@svn.zxuno.comsvn/zxuno/software/ZX1RomPack/[ZX1RomPack]. Aunque es un programa de Windows, funciona perfectamente, por ejemplo, usando https://www.winehq.org[Wine] o programas similares, tanto en MacOS como en Linux. +[WARNING] +==== +La versión actual de `romsback`, en ZXDOS+, sólo almacena correctamente en RomPack los primeros 35 slots de ROM ocupados. +==== + +Los ficheros RomPack se pueden editar fácilmente con la utilidad http://guest:zxuno@svn.zxuno.comsvn/zxuno/software/ZX1RomPack/[ZX1RomPack]. Aunque es un programa de Windows, funciona perfectamente, por ejemplo, usando https://www.winehq.org[Wine] o programas similares, tanto en MacOS como en Linux. === Cores @@ -546,7 +825,7 @@ Para actualizar esxdos a una nueva versión, se ha de obtener la distribución d Una vez descargado y descomprimido, se ha de copiar, a la raíz de la tarjeta, el contenido de los directorios `BIN` y `SYS` sobreescribiendo los existentes (para preservar los comandos exclusivos de ZXDOS+). -Copiar `ESXMMC.BIN` en la raíz de la tarjeta microSD, renombrándolo como `ESXDOS.ZX2` (para un ZXDOS+ con placa FPGA LX16) o `ESXDOS.ZXD` (para un ZXDOS+ con placa FPGA LX25). +Copiar `ESXMMC.BIN` (o `ESXMMC.ROM`, según la versión) en la raíz de la tarjeta microSD. Iniciar el ZXDOS+ con la tarjeta insertada y pulsar F2 para acceder a la configuración de BIOS. Seleccionar el menú `Upgrade` y elegir __"Upgrade esxdos for ZX"__. En el diálogo que aparece elegir __"SD file"__ y, cuando pregunte __"Load from SD"__ contestar __"Yes"__ a la pregunta __"Are you sure?"__. Se leerá el contenido del fichero `ESXDOS...`, se grabará en la flash y avisará cuando esté actualizado. @@ -554,10 +833,55 @@ Realizar un Hard-reset, o apagar y encender. Si todo se ha hecho correctamente, al encender el ZXDOS+ se verá cómo esxdos detecta la tarjeta y carga los componentes necesarios para funcionar, mostrando la nueva versión en la parte superior. +=== Memoria Flash + +También es posible actualizar la memoria flash de la FPGA. Por el momento desde el menú de la BIOS sólo es posible utilizar imágenes de 16MiB. Para poder usar una imagen de 32MiB, se ha de usar el comando `UPGR32M` de <<_esxdos,esxdos>> y un fichero con el nombre `FLASH.ZX2`. + +Copiar el archivo de imagen (de 16MiB) `FLASH.ZXD` en la raíz de la tarjeta microSD. + +Iniciar el ZXDOS+ con la tarjeta insertada y pulsar F2 (`Caps Shift+1` en gomaDOS+) para acceder a la configuración de BIOS. Seleccionar el menú `Upgrade` y elegir __"Upgrade flash from SD"__. En el diálogo que pregunta __"Load from SD"__ contestar __"Yes"__ a la pregunta __"Are you sure?"__. Se leerá el contenido del fichero `FLASH...`, . + +Realizar un Hard-reset, o apagar y encender. + +[WARNING] +==== +Este proceso sustituye todos los cores instalados, la BIOS, así como las ROMs de ZX Spectrum y la configuración por lo que haya en la imagen, y no se puede deshacer. +==== + <<< == Otros cores +=== ZX Spectrum 48K (Kyp) + +https://github.com/Kyp069/zx48.zxdosplus/releases/[Core alternativo], cuyo objetivo es ser una implementación de un Spectrum 48K que sea lo más exacta posible en cuanto a la configuración de los tiempos (timing), contención de memoria, etc. + +Sus características principales son: + +- Sólo funciona con RGB +- Specdrum +- Turbosound (dos chips AY) con posibilidad de elegir mix ACB/ABC +- DivMMC con esxdos 0.8.8 +- Joystick Kempston en el puerto 1 + +==== Formato de Tarjeta microSD + +Se debe de utilizar una tarjeta microSD con la primera partición en formato FAT16 o FAT32, y que tenga instalada la distribución de esxdos 0.8.8 (ver <<_esxdos,el apartado correspondiente de esxdos>> para más información). + +==== Teclado + +==== Teclas especiales y botones + +Durante la ejecución del core: + +- `Esc` (`Caps Shift+Espacio` en gomaDOS+): BREAK +- `F5` (`Caps Shift+Symbol Shift+5` en gomaDOS+): NMI +- `F8` (`Caps Shift+Symbol Shift+8` en gomaDOS+): Alternar la configuración de mezcla de Turbosound entre ACB y ABC. +- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` en gomaDOS+) o `F11` (`Caps Shift+Symbol Shift+Q` en gomaDOS+): Hard reset. Backspace es la tecla de borrar hacia atrás, encima de `Enter`. +- `Ctrl+Alt+Supr` (`Caps Shift+Symbol Shift+N` en gomaDOS+) o `F12` (`Caps Shift+Symbol Shift+W` en gomaDOS+): Soft reset. + +<<< + === ZX Spectrum Next https://www.specnext.com[ZX Spectrum Next] es un proyecto, basado en FPGA, que aspira a ser la evolución de los ordenadores Sinclair ZX Spectrum, manteniendo la compatibilidad hardware y software con los modelos anteriores, pero añadiendo nuevas características. @@ -594,17 +918,19 @@ Si no estuviera ya, <<_cores,instalar el core de ZX Spectrum Next>> 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 `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. Durante la ejecución del core: -- `F1`: Hard Reset -- `F2`: Scandoubler. Dobla la resolución. Debería estar apagado para conexiones vía SCART -- `F3`: Alternar la frecuencia vertical entre 50Hz y 60Hz -- `F5`: Soft Reset -- `F7`: Scanlines -- `F9`: NMI -- `F10`: divMMC NMI. Simula la pulsación del botón Drive. Si se usa con mayúsculas, fuerza volver a buscar unidades de almacenamiento y cargar la pantalla de arranque en esxdos +- `F1` (`Caps Shift+Symbol Shift+1` en gomaDOS+): Hard Reset +- `F2` (`Caps Shift+Symbol Shift+2` en gomaDOS+): Scandoubler. Dobla la resolución. Debería estar apagado para conexiones vía SCART +- `F3` (`Caps Shift+Symbol Shift+3` en gomaDOS+): Alternar la frecuencia vertical entre 50Hz y 60Hz +- `F4` (`Caps Shift+Symbol Shift+4` en gomaDOS+): Soft Reset +- `F7` (`Caps Shift+Symbol Shift+7` en gomaDOS+): Scanlines +- `F9` (`Caps Shift+Symbol Shift+9` en gomaDOS+): NMI +- `F10` (`Caps Shift+Symbol Shift+0` en gomaDOS+): divMMC NMI. Simula la pulsación del botón Drive. Si se usa con mayúsculas, fuerza volver a buscar unidades de almacenamiento y cargar la pantalla de arranque en esxdos <<< @@ -613,21 +939,21 @@ Durante la ejecución del core: Al iniciarse la primera vez, aparecerán una serie de pantallas de ayuda. Tras pulsar la tecla `Espacio`, se mostrará el menú de inicio de NextZXOS. [.text-center] -image::img/next.png[pdfwidth=70%] +image:img/next.png[pdfwidth=70%] -Se puede navegar utilizando las teclas de cursor o un joystick (si se ha configurado en modo Kempston, MD o cursor). `Enter` o el botón del joystick selecciona un elemento. +Se puede navegar utilizando las teclas de cursor, las teclas `5`, `6`, `7` y `8`, o un joystick (si se ha configurado en modo Kempston, MD o cursor). `Enter` o el botón del joystick selecciona un elemento. La opción `More...` muestra un segundo menú con más opciones. [.text-center] -image::img/next2.png[pdfwidth=70%] +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.). [.text-center] -image::img/next3.png[pdfwidth=70%] +image:img/next3.png[pdfwidth=70%] [WARNING] ==== @@ -636,7 +962,7 @@ En el momento de escribir estas líneas, el core de ZX Spectrum Next para ZXDOS+ [NOTE] ==== -Por defecto no es posible cargar ficheros TRD (se debe configurar NextZXOS para cargar una "personalidad" con esxdos). +Por defecto, no es posible cargar ficheros TRD dede el navegador (se debe configurar NextZXOS para cargar una "personalidad" con esxdos). ==== Para más información, consultar el https://www.specnext.com/zx-spectrum-next-user-manual-first-edition/[manual de uso oficial]. @@ -653,6 +979,7 @@ Algunas de sus características son: - Utiliza Nextor ROM con un controladr para SD - Mapa de teclado configurable - Simulación de línea de exploración (Scanlines) +- Soporte para joystick ==== Formato de Tarjeta microSD @@ -693,32 +1020,36 @@ 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`. + Durante la ejecución del core: - `Impr Pant`: Cambia el modo entre VGA y RGB -- `Bloq Desp`: Cambia el modo de línea de exploración (Scanlines) +- `Bloq Desp` (`Caps Shift+Symbol Shift+G` en gomaDOS+): Cambia el modo de línea de exploración (Scanlines) - `Pausa`: Cambia entre 50Hz y 60Hz -- `F11`: Activa o desactiva el modo turbo +- `F11` (`Caps Shift+Symbol Shift+Q` en gomaDOS+): : Activa o desactiva el modo turbo - `Ctrl+Alt+Supr`: Soft Reset - `Ctrl+Alt+F12`: Hard Reset -- `Ctrl+Alt+Backspace`: Reinicia la FPGA +- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` en gomaDOS+, en modo de teclado `ZX Spectrum`): Reinicia la FPGA - `ALT Izquierdo`: MSX GRAPH - `ALT Derecho`: MSX CODE - `Re Pág`: MSX SELECT -- `Inicio` MSX HOME (`Mayús+HOME`: CLS) +- `Inicio`: MSX HOME (`Mayús+HOME`: CLS) - `Fin`: MSX STOP - `Ñ` o `Windows`: MSX DEAD [NOTE] ==== -En BASIC, se puede usar `CTRL + STOP` para detener la ejecución de un programa. +En BASIC, se puede usar `CTRL + STOP` (`Ctrl+Fin`) para detener la ejecución de un programa. ==== [NOTE] ==== -Para cambiar el modo de vídeo entre 50Hz y 60Hz (para ejecución correcta de programas PAL a través de VGA), se puede usar `DISPLAY.COM`, que se puede obtener https://www.msx.org/forum/msx-talk/software/dos-tool-to-switch-from-50-to-60hz[en este hilo del foro de MSX]. +Para cambiar el modo de vídeo entre 50Hz y 60Hz (para ejecución correcta de programas PAL a través de VGA), se puede usar también `DISPLAY.COM`, que se puede obtener https://www.msx.org/forum/msx-talk/software/dos-tool-to-switch-from-50-to-60hz[en este hilo del foro de MSX]. ==== +<<< + ==== Guía básica Para acceder a BASIC desde MSX-DOS, ejecutar el comando `BASIC`. @@ -786,10 +1117,12 @@ 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`. + Durante la ejecución del core: -- `Re Pág`: Hace un Reset del Amstrad y carga el siguiente archivo `DSK` en orden alfabético. -- Sólo funciona la tecla mayúsculas del lado izquierdo del teclado. +- `Re Pág` (`Caps Shift+Symbol Shift+E` en gomaDOS+): Hace un Reset del Amstrad y carga el siguiente archivo `DSK` en orden alfabético. +- En un teclado PS/2, sólo funciona la tecla mayúsculas del lado izquierdo del teclado. <<< @@ -798,12 +1131,12 @@ Durante la ejecución del core: Escribir el comando `CAT` para ver el contenido del fichero DSK cargado actualmente. [.text-center] -image::img/cpc.png[pdfwidth=70%] +image:img/cpc.png[pdfwidth=70%] Escribir el comando `RUN"` para cargar un programa del disco [.text-center] -image::img/cpc2.png[pdfwidth=70%] +image:img/cpc2.png[pdfwidth=70%] Usar la tecla `Re Pág` para hacer reset y cargar el siguiente archivo `DSK` en orden alfabético. @@ -854,19 +1187,21 @@ 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`. + Durante la ejecución del core: - `Mayús+F10`: Muestra el menú de Atom Software Archive -- `F10`: Soft Reset -- `F1`: Modo turbo 1Mhz -- `F2`: Modo turbo 2Mhz -- `F3`: Modo turbo 4Mhz -- `F4`: Modo turbo 8Mhz +- `F10` (`Caps Shift+Symbol Shift+0` en gomaDOS+): Soft Reset +- `F1` (`Caps Shift+Symbol Shift+1` en gomaDOS+): Modo turbo 1Mhz +- `F2` (`Caps Shift+Symbol Shift+2` en gomaDOS+): Modo turbo 2Mhz +- `F3` (`Caps Shift+Symbol Shift+3` en gomaDOS+): Modo turbo 4Mhz +- `F4` (`Caps Shift+Symbol Shift+4` en gomaDOS+): Modo turbo 8Mhz El teclado está mapeado en inglés, según el siguiente esquema: [.text-center] -image::img/keyboardAtom.jpg[pdfwidth=90%] +image:img/keyboardAtom.jpg[pdfwidth=90%] <<< @@ -875,7 +1210,7 @@ image::img/keyboardAtom.jpg[pdfwidth=90%] Tras iniciar el core, en algunos casos, puede suceder que se muestre una pantalla llena de `@`. Basta con retirar e insertar, o simplemente insertar, la tarjeta microSD, para que empiece a funcionar. [.text-center] -image::img/acorn.jpg[pdfwidth=70%] +image:img/acorn.jpg[pdfwidth=70%] Una vez iniciado, pulsar `Mayús+F10` para mostrar el menú desde el que se pueden cargar los programas de Atom Software Archive de la tarjeta. @@ -897,20 +1232,23 @@ Si no estuviera ya, <<_cores,instalar el core de Commodore 64>> 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 `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: -- `F12` (`Caps Shift+Symbol Shift+W` en gomaDOS+, en modo completo): Muestra menú de opciones +- `F9` `Caps Shift+Symbol Shift+9` en gomaDOS+): Reproducir un archivo TAP de cinta +- `F12` (`Caps Shift+Symbol Shift+W` en gomaDOS+): Muestra menú de opciones - `Bloq. Despl.` (`Caps Shift+Symbol Shift+G` en gomaDOS+): cambia de modo video compuesto a VGA y viceversa. -- `Esc`: RUN/STOP (`Mayús+RUN/STOP`: Carga desde cinta) +- `Esc` (`Caps Shift+Espacio` en gomaDOS+): RUN/STOP (`Mayús+RUN/STOP`: Carga desde cinta) <<< ==== Guía básica -Tras pulsar `F12`, aparece el menú de opciones. +Tras pulsar `F12` (`Caps Shift+Symbol Shift+W` en gomaDOS+), aparece el menú de opciones. [.text-center] -image::img/c64.jpg[pdfwidth=70%] +image:img/c64.jpg[pdfwidth=70%] Desde dicho menú se puede @@ -923,11 +1261,13 @@ Desde dicho menú se puede - Cargar imagen de disco D64 - Cargar fichero de cinta TAP +<<< + Para cargar desde un disco, habitualmente, se ha de escribir `LOAD "*",8,1` y pulsar `Enter`. Una vez aparezca `READY` en la pantalla, escribir `RUN` y pulsar `Enter` para ejecutar el programa. Si el disco tuviera varios programas para ejecutar, escribir `LOAD "$"` y pulsar `Enter`. A continuación, escribir `LIST`, y pulsar `Enter`, para ver una lista con los archivos dentro del disco. Ahora, para cargar el archivo deseado, escribir `LOAD "",8` (donde `` es el nombre del archivo a cargar) y pulsar `Enter`. Una vez aparezca `READY` en la pantalla, escribir `RUN` y pulsar `Enter` para ejecutar el programa. Si esto no funcionase, probar con el comando `LOAD "",8,1`. -Para cargar desde cinta, se puede escribir `LOAD` y pulsar `Enter`, o bien pulsar `Mayús+Esc` (`Mayús+RUN/STOP`). +Para cargar desde una cinta, seleccionar la opción "Cargar fichero de cinta TAP" del menú de opciones. A continuación navegar por la tarjeta microSD y elegir el archivo de cinta a cargar, pulsar `ENTER` y cerrar el menú de opciones. Entonces escribir `LOAD` y pulsar `Enter`, o bien pulsar `Mayús+Esc` (`Mayús+RUN/STOP`). Finalmente, tras pulsar `F9` (`Caps Shift+Symbol Shift+9` en gomaDOS+) comenzará la reproducción del archivo de cinta (se puede usar la opción de activar el sonido de carga de la cinta del menú si se desea). Una vez finalizadada la carga, escribir `RUN` y pulsar `ENTER` si fuese necesario. <<< @@ -953,9 +1293,9 @@ Durante la ejecución del core: - `Q` y `A` o `Cursor Izquierdo` y `Cursor Derecho` (o un joystick): Control de movimiento - `Z` o `X` `Tecla Windows Izquierda` y `Espacio` (o botones 1 y 2 del joystick): Disparos 1 y 2, así como inserción de moneda y botón `Start` -- `F2`: Cambia el modo de vídeo entre RGB y VGA +- `F2` (`Caps Shift+Symbol Shift+2` en gomaDOS+): Cambia el modo de vídeo entre RGB y VGA - `-` (del teclado numérico): Activa o desactiva la simulación de línea de exploración (Scanlines) -- `Tab`: Activa o desactiva giro de 90º en las direcciones de los controles +- `Tab` (`Caps Shift+Enter` en gomaDOS+, en modo de teclado `PC XT`): Activa o desactiva giro de 90º en las direcciones de los controles ==== Guía básica @@ -972,7 +1312,8 @@ 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) +- 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 @@ -984,36 +1325,41 @@ Este core no utiliza la tarjeta microSD. Durante la ejecución del core: -- `Esc` o botón 2 del joystick (o `Caps Shift+Espacio` en gomaDOS+): Mostrar u ocultar el menú de configuración -- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+F` y `G`): Hard reset. Backspace es la tecla de borrar hacia atrás, encima del enter -- `Bloq. Despl.`: cambia de modo video compuesto a VGA y viceversa -- `F3` o `F12`: Reinicio del juego +- `Esc` o botón 2 del joystick (`Caps Shift+Espacio` en gomaDOS+, en modo de teclado `PC XT`): Mostrar u ocultar el menú de configuración +- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` en gomaDOS+, en modo de teclado `ZX Spectrum`): Hard reset. Backspace es la tecla de borrar hacia atrás, encima del enter +- `Bloq. Despl.` (`Caps Shift+Symbol Shift+G` en gomaDOS+, en modo de teclado `ZX Spectrum`): cambia de modo video compuesto a VGA y viceversa +- `F3` o `F12` (`Caps Shift+Symbol Shift+3` o `Caps Shift+Symbol Shift+W` en gomaDOS+): Reinicio del juego - Número del `1` al `7`: Cambiar el tipo de juego -- `Cursor arriba` y `Cursor abajo`: Control de paleta de la izquierda (Jugador 1 en modo 2 jugadores y jugador 3 en modo de 4 jugadores) -- Joystick 1: Control de paleta de la izquierda (Jugador 1) -- `Q` y `A`: Control de paleta de la derecha (Jugador 2 en modo 2 jugadores y jugador 4 en modo de 4 jugadores) -- Joystick 2: Control de paleta de la derecha (Jugador 2). +- Joystick 2 (derecha): Control de paleta de la derecha (Jugador 1). +- Joystick 1 (izquierda): Control de paleta de la izquierda (Jugador 2) +- `Cursor arriba` y `Cursor abajo` o `O` y `K`: Control de paleta de la derecha (Jugador 1 en modo 2 jugadores y jugador 3 en modo de 4 jugadores) +- `Q` y `A`: Control de paleta de la izquierda (Jugador 2 en modo 2 jugadores y jugador 4 en modo de 4 jugadores) - `Z`, `M` o botón de joystick 1: Saque manual +- Teclas de cursor (`Caps Shift+5`, `Caps Shift+6`, `Caps Shift+7` y `Caps Shift+8` en gomaDOS+, en modo de teclado `PC XT`) y `Enter` para navegar por el menú <<< ==== Guía básica -Pulsando `Esc` o el botón 2 del joystick (o `Caps Shift+Espacio` en gomaDOS+) se muestra el menú de configuración. +Pulsando `Esc` o el botón 2 del joystick (o `Caps Shift+Espacio` en gomaDOS+, en modo de teclado `PC XT`) se muestra el menú de configuración. Se usan las teclas de cursor (`Caps Shift+5`, `Caps Shift+6`, `Caps Shift+7` y `Caps Shift+8` en gomaDOS+, en modo de teclado `PC XT`) y `Enter` para elegir y seleccionar opciones del menú. [.text-center] -image::img/pong.jpg[pdfwidth=70%] +image:img/pong.jpg[pdfwidth=70%] En él se pueden activar o desactivar las siguientes opciones: -- Servicio manual (Manual Serve) +- Servicio automático o manual (Serve) - Ángulo de la bola (Ball Angle) - Velocidad de la bola (Ball Speed) - Tamaño de las palas (Paddle Size) - Sonido (Sound) - Cuatro jugadores (Four players) -- Duplicar el tamaño del menún (Double OSD Window) -- Salir del menú (Exit) +- Velocidad Aleatoria (Random Speed) +- Ángulo Aleatorio (Random Angle) +- Control por Joystick, teclado o ratón (Joystick) +- Precisión del movimiento (Paddle Accuracy) +- Modo de color (Mode) +- Salir del menú (Exit menu) <<< @@ -1044,17 +1390,18 @@ Si no estuviera ya, <<_cores,instalar el core de NES>> en el ZXDOS+. Durante la ejecución del core: -- `Esc` o botón 2 del joystick (o `Caps Shift+Espacio` en gomaDOS+): Mostrar u ocultar el menú de configuración -- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+F` y `G`): Hard reset. Backspace es la tecla de borrar hacia atrás, encima del enter +- `Esc` o botón 2 del joystick (o `Caps Shift+Espacio` en gomaDOS+, en modo de teclado `PC XT`): Mostrar u ocultar el menú de configuración +- Teclas de cursor (`Caps Shift+5`, `Caps Shift+6`, `Caps Shift+7` y `Caps Shift+8` en gomaDOS+, en modo de teclado `PC XT`), y `Enter` para usar el menú +- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` en gomaDOS+, en modo de teclado `ZX Spectrum`): Hard reset. Backspace es la tecla de borrar hacia atrás, encima del enter <<< ==== Guía básica -Pulsando `Esc` se muestra el menú de configuración. Para desplazarse por el menú y activar o elegir alguna opción, se utilizan las teclas de cursor y `Enter`. +Pulsando `Esc` se muestra el menú de configuración. Para desplazarse por el menú y activar o elegir alguna opción, se utilizan las teclas de cursor (`Caps Shift+5`, `Caps Shift+6`, `Caps Shift+7` y `Caps Shift+8` en gomaDOS+, en modo de teclado `PC XT`), y `Enter`. [.text-center] -image::img/nes.jpg[pdfwidth=70%] +image:img/nes.jpg[pdfwidth=70%] En él se pueden activar o desactivar las siguientes opciones: @@ -1068,6 +1415,209 @@ En él se pueden activar o desactivar las siguientes opciones: <<< +=== ColecoVision + +https://es.wikipedia.org/wiki/ColecoVision[ColecoVision] es una consola de videojuegos lanzada al mercado por la empresa Coleco. + +La versión para ZXDOS+ está basada en la https://github.com/fbelavenuto/colecofpga[versión para ZX-Uno] de Fabio Belavenuto. + +Algunas de las características del core son: + +- La ROM de la BIOS se carga desde la tarjeta microSD +- Soporta ROM multicartucho, que también se carga desde la microSD +- Sólo funciona en VGA ¿? + +==== Formato de Tarjeta microSD + +Se debe de utilizar una tarjeta microSD, con la primera partición en formato FAT16, para almacenar los ficheros con las imágenes ROM y otros archivos necesarios. Los archivos se pueden descargar desde la 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+. + +==== Teclado + +==== Teclas especiales y botones + +Durante la ejecución del core: + +- Cursor o `Q`, `A`, `E`, `R` o el joystick 1: Controles de dirección del jugador 1 +- `Z` o el botón de joystick 1: Botón de disparo 1 del jugador 1 +- `U`, `J`, `O`, `P` o el joystick 2: Controles de dirección del jugador 2 +- `M` o el botón de joystick 2: Botón de disparo 1 del jugador 2 +- `X` o el botón secundario de joystick 1: Botón de disparo 2 del jugador 1 y del jugador 2 +- `0` a `9`: Botones del 0 al 9 del jugador 1 y el jugador 2 +- `T`: Botón '*' +- `Y`: Botón '#' +- 'Esc' (o `Caps Shift+Espacio` en gomaDOS+, en modo de teclado `PC XT`): Soft Reset + +<<< + +==== Guía básica + +Al iniciar, la ROM de la BIOS se carga desde la tarjeta SD, así como la ROM multicartucho. + +[.text-center] +image:img/coleco.jpg[pdfwidth=70%] + +En el menú multicartucho, usar los controles de dirección para elegir la ROM a cargar, y luego el botón de disparo 1 para cargar la ROM elegida. Pulsando `Esc` (`Caps Shift+Espacio` en gomaDOS+, en modo de teclado `PC XT`) se reinicia el core y se vuelve a cargar el menú de selección de ROM. + +<<< + +=== Atari 2600 + +La https://es.wikipedia.org/wiki/Atari_2600[Atari 2600] es una videoconsola lanzada al mercado bajo el nombre de Atari VCS (Video Computer System). + +La versión para ZXDOS+ está desarrollada por avlixa. + +Algunas de las características del core son: + +- Dos modos de vídeo seleccionables: RGB y VGA +- Compatible con joystick(s), teclado, ratón y codificadores (encoders) rotatorios (ver <<_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+. + +==== Teclado + +En gomaDOS+, se recomienda cambiar el modo de teclado a `Atari 800` (`Caps Shift + Symbol Shift + U` y luego `4`) o `PC XT` (`Caps Shift + Symbol Shift + U` y luego `9`). + +==== Teclas especiales y botones + +Durante la ejecución del core: + +- `W`, `A`, `S`, `D` o el joystick 1: Controles de dirección del jugador 1 +- `F` o el botón de disparo del joystick 1: Disparo del jugador 1 +- `I`, `J`, `K`, `L` o el joystick 2: Controles de dirección del jugador 2 +- `H` o el botón de disparo del joystick 2: Disparo del jugador 2 +- `Bloq. Despl.` (`Caps Shift+Symbol Shift+G` en gomaDOS+): para cambiar entre modo de video compuesto y VGA +- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` en gomaDOS+): Hard reset. + +<<< + +==== Guía básica + +Pulsando `Esc` o el botón 2 del joystick (o `Caps Shift+Espacio` en gomaDOS+, en modo de teclado `Atari800`) se muestra el menú de configuración. Se usan las teclas de cursor (`Caps Shift+5`, `Caps Shift+6`, `Caps Shift+7` y `Caps Shift+8` en gomaDOS+, en modo de teclado `Atari800`) y `Enter` para elegir y seleccionar en el menú. + +[.text-center] +image:img/a2600.jpg[pdfwidth=70%] + +En él se pueden activar, desactivar o configurar las siguientes opciones: + +- Reiniciar el core (Reset) +- Línea de exploración (Scanlines) +- Modo RGB (PAL/NTSC) +- Tamaño de las palas (Paddle Size) +- Sonido (Sound) +- Color (Color) +- Dificultad A (Difficulty A) +- Dificultad B (Difficulty B) +- Select +- Start +- Cargar ROM (Load ROM) +- Joystick +- Precisión de paddle (Paddle Accuracy) +- Salir del menú (Exit) + +<<< + +=== Videopac + +La https://es.wikipedia.org/wiki/Magnavox_Odyssey²[Philips Videopac], también conocida como Magnavox Odyssey², Philips Videopac G7000 o Philips Odyssey² es una videoconsola lanzada en 1978. + +La versión para ZXDOS+ está desarrollada por avlixa, basada en el core de ZXDOS de yomboprime. + +Algunas de las características del core son: + +- Dos modos de vídeo seleccionables: RGB y VGA +- Necesita Joystick(s) para funcionar +- Modos de color incluyendo monocromo o fósforo verde/naranja + +==== Formato de Tarjeta microSD + +Se debe de utilizar una tarjeta microSD, con la primera partición en formato FAT16, para almacenar los ficheros con las imágenes ROM que se deseen cargar. + +Si no estuviera ya, <<_cores,instalar el core de Videopac>> en el ZXDOS+. + +==== Teclado + +En gomaDOS+, se recomienda cambiar el modo de teclado a `PC XT` (`Caps Shift + Symbol Shift + U` y luego `9`). + +==== Teclas especiales y botones + +Durante la ejecución del core: + +- `Bloq. Despl.` (`Caps Shift+Symbol Shift+G` en gomaDOS+): para cambiar entre modo de video compuesto y VGA +- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` en gomaDOS+): Hard reset. + +<<< + +==== Guía básica + +Pulsando `Esc` o el botón 2 del joystick (o `Caps Shift+Espacio` en gomaDOS+, en modo de teclado `PC XT`) se muestra el menú de configuración. Se usan las teclas de cursor (`Caps Shift+5`, `Caps Shift+6`, `Caps Shift+7` y `Caps Shift+8` en gomaDOS+, en modo de teclado `PC XT`) y `Enter` para elegir y seleccionar en el menú. + +[.text-center] +image:img/videopac.jpg[pdfwidth=70%] + +En él se pueden activar, desactivar o configurar las siguientes opciones: + +- Reiniciar el core (Reset) +- Línea de exploración (Scanlines) +- Intercambiar el orden de los joysticks (Swap joysticks) +- Cargar ROM (Load ROM) +- Modo de vídeo (PAL Videopac/NTSC Odyssey2) +- Modo de color (Color Mode) +- Salir del menú (Exit) + +<<< + +== Otro Hardware + +=== Codificadores rotatorios + +Los cores de Pong y Atari 2600 están también preparados para usar https://es.wikipedia.org/wiki/Codificador_rotatorio[codificadores rotatorios] (encoders), de tipo cuadratura, conectados al puerto de joystick. Está probado con codificadores de 600 ppr (pulsos por revolución), pero teóricamente deberían servir también de menor ppr, como de 400 o 300. + +También se puede utilizar con https://es.wikipedia.org/wiki/Paddle_(controlador_de_videojuegos)[paddle] del tipo volante de Atari 2600, pero **no** con los paddle del tipo raqueta. Eso sí, la experiencia en este caso es pobre, ya que son de muy pocos ppr y se deben hacer varios giros completos. Si se utilizan, se recomienda ajustar la precisión(accuracy) al valor 8 para conseguir una velocidad aceptable. + +==== Conexión + +Tanto el ZXDOS+ como el gomaDOS+ tienen conectado el pin 5 del joystick a voltaje positivo, que se utiliza para alimentación, y el pin 8 como GND. Los codificadores utilizados deben admitir voltajes de 3,4v a 5v. + +Los codificadores tienen 5 cables: Tierra (no conectada), Vcc (`+`), GND (`0V`ó `-`), `A` y `B`. + +Las conexiones `A` y `B` se conectan en los pines 1 y 2 para el primer codificador, y 3 y 4 para el segundo. Así se pueden tener hasta 4 codificadores conectados entre los 2 puertos de joystick. + +[.text-center] +image:img/db9joy.png[pdfwidth=40%] + +De esta manera, las conexiones serían: + +. Línea `A` codificador 1 +. Línea `B` codificador 1 +. Línea `A` codificador 2 +. Línea `B` codificador 2 +. Vcc(`+`) +. Disparo 1 +. NC +. `GND` +. Disparo 2 + +<<< + +==== Configuración del Core de Pong + +La forma de elegir la configuración es la siguiente: + +- Para 1 o 2 codificadores en el puerto 2 de joystick, seleccionar la opción `1/2 Paddle in J2`. +- Para 2 codificadores, uno en cada puerto de joystick, seleccionar la opción `2/4 Paddle in J1&J2`. Esta opción también sirve para conectar 2 paddle tipo driving de Atari 2600. +- Para 4 codificadores, dos en cada puerto de joystick, seleccionar la opción `2/4 Paddle in J1&J2`. +- Para 1 o 2 codificadores en el puerto 2 de joystick junto con el ratón (en este caso los codificadores se asocian para los jugadores 2 y 4), seleccionar la opción `Mouse PS/2`. + +Se recomienda no realizar la conexión hasta haber seleccionado la opción deseada, ya que los codificadores actúan sobre el botón arriba/abajo del joystick y por tanto no permiten manejar el menú. Otra opción sería añadir un interruptor on/off en el codificador que deshabilite la alimentación y así no emita señal mientras se realiza la selección de menú. + +<<< + == Solución de problemas === Recuperación del firmware @@ -1081,10 +1631,10 @@ 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) -- Una https://es.wikipedia.org/wiki/Llave_Allen[llave Allen] del tamaño adecuado para poder retirar la tapa del ZXDOS+ -- Tarjeta microSD para el ZXDOS+ con la primera partición en formato FAT16 o FAT32 -- Teclado y monitor para conectar el ZXDOS+ +- 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+ *Software necesario*: @@ -1102,10 +1652,11 @@ En esta situación, existen diferentes métodos de recuperación que permiten vo sudo apt-get update sudo apt-get install git autoconf libtool make pkg-config sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev telnet +sudo apt-get install libusb-dev libftdi-dev git clone git://git.code.sf.net/p/openocd/code openocd-code cd openocd-code/ ./bootstrap -./configure --enable-sysfsgpio --enable-bcm2835gpio +./configure --enable-usb_blaster --enable-sysfsgpio --enable-bcm2835gpio make sudo make install cd .. @@ -1113,22 +1664,27 @@ rm -rf ./openocd-code ---- [start=3] -. Abrir la carcasa del ZXDOS+ 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=50%] +image:img/jtag.jpg[pdfwidth=25%] image:img/jtaggomados.jpg[pdfwidth=40%] [WARNING] ==== *NO* se ha de conectar la línea de 3V ==== +[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. +==== + <<< -Tomar nota de los pines elegidos, teniendo cuidado de conectar `GND` con `GND`. +Si se hace conexión vía GPIO, tomar nota de los pines elegidos, teniendo cuidado de conectar `GND` con `GND`. [.text-center] -image::img/gpio.jpg[pdfwidth=70%] +image:img/gpio.jpg[pdfwidth=70%] En este ejemplo, se utilizarán los pines `31`, `33`, `35`, `37` y `39` (correspondientes a `GPIO #6`, `GPIO #13`, `GPIO #19`, `GPIO #26` y `GND`), de la siguiente manera: @@ -1157,7 +1713,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/` -. Realizar una copia del archivo de configuración de Open OCD, en el mismo lugar donde está `recovery.zxd.bit`. +. 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] ---- @@ -1167,7 +1723,7 @@ cp /usr/local/share/openocd/scripts/interface/raspberrypi2-native.cfg /home/pi/z <<< [start=6] -. Editar la copia de `raspberrypi2-native.cfg` actualizando `bcm2835gpio_jtag_nums` (y descomentando, si fuera necesario), según como se haya hecho la conexión entre JTAG y GPIO en la línea `bcm2835gpio_jtag_nums`. En nuestro ejemplo: +. Para la conexión vía GPIO, editar la copia de `raspberrypi2-native.cfg` actualizando `bcm2835gpio_jtag_nums` (y descomentando, si fuera necesario), según como se haya hecho la conexión entre JTAG y GPIO en la línea `bcm2835gpio_jtag_nums`. En nuestro ejemplo: [source] ---- @@ -1176,7 +1732,7 @@ bcm2835gpio_jtag_nums 26 6 13 19 ---- [start=7] -. Comentar, si no lo está, la línea `bcm2835gpio_swd_nums`: +. Comentar, si no lo está, la línea `bcm2835gpio_swd_nums` (de nuevo, no necesario si la conexión es con USB Blaster): [source] ---- @@ -1184,7 +1740,7 @@ bcm2835gpio_jtag_nums 26 6 13 19 ---- [start=8] -. Añadir, al final, la línea `adapter speed 250`: +. Añadir, al final, la línea `adapter speed 250` (no necesario para uso con USB Blaster): [source] ---- @@ -1192,48 +1748,85 @@ adapter speed 250 ---- [start=9] -. Encender el ZXDOS+ +. 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 que carga la BIOS en modo recuperación, indicando la ruta al archivo `raspberrypi2-native.cfg` que habíamos editado anteriormente. +Para conexión vía GPIO: + [source,shell] ---- 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" ---- -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. +Con USB blaster: + +[source,shell] +---- +sudo openocd -f /usr/local/share/openocd/scripts/interface/altera-usb-blaster.cfg -f /usr/local/share/openocd/scripts/cpld/xilinx-xc6s.cfg -c "init; xc6s_program xc6s.tap; pld load 0 recovery.zxd.bit ; exit" +---- <<< + +[start=11] +. 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%] +image:img/recovery.png[pdfwidth=70%] -[start=11] +[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. + <<< -[start=12] +[start=14] . 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%] + [WARNING] ==== -Este proceso eliminará todos los cores instalados, así como las ROMs de ZX Spectrum. +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. ==== -[.text-center] -image::img/recovery2.png[pdfwidth=70%] +[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. +==== -Tras unos minutos, el proceso finalizará, y podremos comprobar como, al apagar y encender, el ZXDOS+ vuelve a arrancar correctamente. +<<< + +[start=15] +. 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 +==== + == Referencias http://zxuno.speccy.org/index.shtml[ZX-Uno] @@ -1246,7 +1839,9 @@ http://www.zxuno.com/wiki/index.php/ZX_Spectrum[Core ZX Spectrum] http://www.zxuno.com/forum/viewtopic.php?f=37&t=208[Layouts de teclado] -https://github.com/ManuFerHi/ZX-GO-/blob/master/ZXUNOPS2/Nuevo%20firmware%20de%20teclado%20ZX-GO%2B%20V30052019.pdf[Nuevo firmware de teclado ZX-GO+] +https://github.com/spark2k06/zxunops2/blob/master/Alternative/Nuevo%20firmware%20de%20teclado%20ZX-GO%2B.pdf[Firmware de teclado para ZX Go+] + +https://github.com/zxdos/zxdos-plus/tree/master/zxunops2[zxunops2] https://docs.google.com/spreadsheets/d/17-ifpHcy932_AP7SAv9uBLxg-2ZptcdgTvQ8ILXQLM4/htmlview[Almost (In-) Complete List of esxDOS DOT-Commands] @@ -1262,6 +1857,10 @@ https://www.espressif.com/sites/default/files/documentation/4a-esp8266_at_instru https://www.zonadepruebas.com/viewtopic.php?t=4796&start=110[Vídeos Radastanianos] +https://www.zxuno.com/forum/viewtopic.php?f=52&t=4074&p=28234&hilit=kyp#p28234[Nuevo core zx48] + +https://github.com/Kyp069/zx48.zxdosplus/releases/[ZX 48 para ZXDOS+ (Kyp)] + http://www.forofpga.es/viewtopic.php?t=349[Core ZXNEXT en ZXDOS] https://gitlab.com/thesmog358/tbblue/-/blob/master/docs/zxdos/zxdoscoreinstall.txt[ZX Spectrum Next en ZXDOS] @@ -1282,6 +1881,18 @@ http://www.zxuno.com/forum/viewtopic.php?f=16&t=4006[Atom Software Archive en ca http://www.zxuno.com/forum/viewtopic.php?f=16&t=4005[Teclado Core Atom] +http://www.zxuno.com/forum/viewtopic.php?t=1245[Core de NES para ZX-Uno] + +https://github.com/fbelavenuto/colecofpga[ColecoFPGA en GitHub] + +http://www.forofpga.es/viewtopic.php?f=167&t=24[Core de Videopac para ZXDOS] + +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://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] \ No newline at end of file +http://www.zxuno.com/forum/viewtopic.php?f=25&t=375[Tutorial para desbriquear el ZX-Uno con una Raspberry] + +http://www.forofpga.es/viewtopic.php?t=175[Como programar un UnAmiga con la Raspberry Pi (o Linux) con el USB-Blaster y OpenOCD] diff --git a/doc/Manual de ZXDOS+ y gomaDOS+.pdf b/doc/Manual de ZXDOS+ y gomaDOS+.pdf index fe62503..bbb9e27 100644 Binary files a/doc/Manual de ZXDOS+ y gomaDOS+.pdf and b/doc/Manual de ZXDOS+ y gomaDOS+.pdf differ diff --git a/doc/img/Portada.jpg b/doc/img/Portada.jpg new file mode 100644 index 0000000..89edf74 Binary files /dev/null and b/doc/img/Portada.jpg differ diff --git a/doc/img/ZXDOSback.jpg b/doc/img/ZXDOSback.jpg new file mode 100644 index 0000000..6f4c496 Binary files /dev/null and b/doc/img/ZXDOSback.jpg differ diff --git a/doc/img/ZXDOSfront.jpg b/doc/img/ZXDOSfront.jpg new file mode 100644 index 0000000..ea3ff1b Binary files /dev/null and b/doc/img/ZXDOSfront.jpg differ diff --git a/doc/img/a2600.jpg b/doc/img/a2600.jpg new file mode 100644 index 0000000..8e9cfa3 Binary files /dev/null and b/doc/img/a2600.jpg differ diff --git a/doc/img/acorn.jpg b/doc/img/acorn.jpg index 4e16744..0fedb16 100644 Binary files a/doc/img/acorn.jpg and b/doc/img/acorn.jpg differ diff --git a/doc/img/bios.png b/doc/img/bios.png index 0d766f2..c7cc9d6 100644 Binary files a/doc/img/bios.png and b/doc/img/bios.png differ diff --git a/doc/img/bios2.png b/doc/img/bios2.png index efe6c40..2a75c3d 100644 Binary files a/doc/img/bios2.png and b/doc/img/bios2.png differ diff --git a/doc/img/bios3.png b/doc/img/bios3.png index a78f0c1..c06e313 100644 Binary files a/doc/img/bios3.png and b/doc/img/bios3.png differ diff --git a/doc/img/bios4.png b/doc/img/bios4.png index 73af7c4..9b38096 100644 Binary files a/doc/img/bios4.png and b/doc/img/bios4.png differ diff --git a/doc/img/bios5.png b/doc/img/bios5.png index d670361..baf5530 100644 Binary files a/doc/img/bios5.png and b/doc/img/bios5.png differ diff --git a/doc/img/bios6.png b/doc/img/bios6.png index 8e726f2..c5c5085 100644 Binary files a/doc/img/bios6.png and b/doc/img/bios6.png differ diff --git a/doc/img/c64.jpg b/doc/img/c64.jpg index 47c5b82..e060e65 100644 Binary files a/doc/img/c64.jpg and b/doc/img/c64.jpg differ diff --git a/doc/img/coleco.jpg b/doc/img/coleco.jpg new file mode 100644 index 0000000..89723c4 Binary files /dev/null and b/doc/img/coleco.jpg differ diff --git a/doc/img/cpc.png b/doc/img/cpc.png index c8e7401..09d6071 100644 Binary files a/doc/img/cpc.png and b/doc/img/cpc.png differ diff --git a/doc/img/cpc2.png b/doc/img/cpc2.png index 51da762..6d3e5f2 100644 Binary files a/doc/img/cpc2.png and b/doc/img/cpc2.png differ diff --git a/doc/img/db9joy.png b/doc/img/db9joy.png new file mode 100644 index 0000000..4f5262c Binary files /dev/null and b/doc/img/db9joy.png differ diff --git a/doc/img/esxdos.png b/doc/img/esxdos.png index 5fe09cb..9732756 100644 Binary files a/doc/img/esxdos.png and b/doc/img/esxdos.png differ diff --git a/doc/img/gomaDosBack.jpg b/doc/img/gomaDosBack.jpg new file mode 100644 index 0000000..2f04942 Binary files /dev/null and b/doc/img/gomaDosBack.jpg differ diff --git a/doc/img/gpio.jpg b/doc/img/gpio.jpg index 06a9309..d57d29e 100644 Binary files a/doc/img/gpio.jpg and b/doc/img/gpio.jpg differ diff --git a/doc/img/jtag.jpg b/doc/img/jtag.jpg index f4ee9db..d68d419 100644 Binary files a/doc/img/jtag.jpg and b/doc/img/jtag.jpg differ diff --git a/doc/img/jtaggomados.jpg b/doc/img/jtaggomados.jpg new file mode 100644 index 0000000..8830fa5 Binary files /dev/null and b/doc/img/jtaggomados.jpg differ diff --git a/doc/img/keyboardAtom.jpg b/doc/img/keyboardAtom.jpg index ae5fc0d..9fa169b 100755 Binary files a/doc/img/keyboardAtom.jpg and b/doc/img/keyboardAtom.jpg differ diff --git a/doc/img/keyboardAv.png b/doc/img/keyboardAv.png index d7432dd..f55c710 100644 Binary files a/doc/img/keyboardAv.png and b/doc/img/keyboardAv.png differ diff --git a/doc/img/keyboardEng.png b/doc/img/keyboardEng.png index e5be4ce..ed437f5 100644 Binary files a/doc/img/keyboardEng.png and b/doc/img/keyboardEng.png differ diff --git a/doc/img/keyboardEsp.png b/doc/img/keyboardEsp.png index 4e9755f..e6f7a01 100644 Binary files a/doc/img/keyboardEsp.png and b/doc/img/keyboardEsp.png differ diff --git a/doc/img/nes.jpg b/doc/img/nes.jpg index aecf27d..df52b0e 100644 Binary files a/doc/img/nes.jpg and b/doc/img/nes.jpg differ diff --git a/doc/img/next.png b/doc/img/next.png index b354765..1b1f700 100644 Binary files a/doc/img/next.png and b/doc/img/next.png differ diff --git a/doc/img/next2.png b/doc/img/next2.png index 79d3b65..01f564a 100644 Binary files a/doc/img/next2.png and b/doc/img/next2.png differ diff --git a/doc/img/next3.png b/doc/img/next3.png index 6529397..1000b85 100644 Binary files a/doc/img/next3.png and b/doc/img/next3.png differ diff --git a/doc/img/pong.jpg b/doc/img/pong.jpg index 2b18553..5c93a7e 100644 Binary files a/doc/img/pong.jpg and b/doc/img/pong.jpg differ diff --git a/doc/img/recovery.png b/doc/img/recovery.png index d710f49..b974315 100644 Binary files a/doc/img/recovery.png and b/doc/img/recovery.png differ diff --git a/doc/img/recovery2.png b/doc/img/recovery2.png index 20ac3ce..5f3391b 100644 Binary files a/doc/img/recovery2.png and b/doc/img/recovery2.png differ diff --git a/doc/img/videopac.jpg b/doc/img/videopac.jpg new file mode 100644 index 0000000..9c4a2fa Binary files /dev/null and b/doc/img/videopac.jpg differ