Manual 1.4.0 de ZXUNO+ y +UNO

Correcciones ortográficas
Añadido core PC XT CGA
Añadido core Ondra SPO 186
This commit is contained in:
kounch 2022-03-14 16:26:13 +01:00
parent 623cbd44a5
commit a262e78e2b
18 changed files with 353 additions and 85 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,6 +1,6 @@
= Miniduino English Manual
:author: kounch
:revnumber: 1.0.0
:revnumber: 1.0.1
:doctype: book
:notitle:
:front-cover-image: image:img/portadaminiduino.jpg[]

View File

@ -1,11 +1,11 @@
= ZXUNO+ and +UNO Manual
:author: kounch
:revnumber: 1.3.1
:revnumber: 1.4.0
:doctype: book
:notitle:
:front-cover-image: image:img/portadauno.jpg[]
:email: kounch@users.noreply.github.com
:Revision: 1.3
:Revision: 1.4
:description: English ZXUNO+ and +UNO Manual
:keywords: Manual, English, ZXUNO+, +UNO
:icons: font
@ -24,7 +24,7 @@ Over time, the project has been growing, and now it is possible to install diffe
ZXUNO+ official web page is https://zxuno.speccy.org.
=== Aknowledgements
=== Acknowledgements
Most of the content is based on information previously shared:
@ -33,7 +33,7 @@ Most of the content is based on information previously shared:
- Several existing FAQ, mostly the original version https://uto.speccy.org/zxunofaq.html[by @uto_dev], and the latest one http://desubikado.sytes.net/zx-uno-faq-version-desubikado/[by @desUBIKado]
- At https://t.me/zxuno[ZX-Uno Telegram Channel]
A very special thaks to desUBIKado for the continuous and thorough work finding and sharing information about all the available cores and their functionalities.
A very special thanks to desUBIKado for the continuous and thorough work finding and sharing information about all the available cores and their functionalities.
Without the previous work of all of these people (and more), this manual wouldn't exist.
@ -131,7 +131,7 @@ In order to take advantage of its full potential, you may also have:
==== SD card formatting
In order to use a SD card, it has to be formatted with, at least, one FAT16 or FAT32 format (depending on the case, one or the other format is recommended for compatibility with different third-party cores). It must be the first partition if there are more than one, except for the Spectrum core wich can have <<#_sd_advanced_format_3e,the first partition in +3DOS format, and then the second one in FAT16 or FAT32 format>> to use with a +3e ROM.
In order to use a SD card, it has to be formatted with, at least, one FAT16 or FAT32 format (depending on the case, one or the other format is recommended for compatibility with different third-party cores). It must be the first partition if there are more than one, except for the Spectrum core which can have <<#_sd_advanced_format_3e,the first partition in +3DOS format, and then the second one in FAT16 or FAT32 format>> to use with a +3e ROM.
[NOTE]
====
@ -154,7 +154,7 @@ The Spectrum core can also have <<#_sd_advanced_format_3e,the first partition in
For simple configurations, and cards of the correct size (less than 2GB for FAT16 or less than 32GB for FAT32), you can use https://www.sdcard.org/downloads/formatter/[the official formatting tool of the SD Association ].
For other, more complex, configurations, and depending on operating system version, you may use the command line tool `diskpart` or Windows Disk Managemente GUI.
For other, more complex, configurations, and depending on operating system version, you may use the command line tool `diskpart` or Windows Disk Management GUI.
For example, on Windows, to format a card with just one FAT16 partition (if the card is 4GB or less in size), which is shown as disk 6 when typing `list disk` on `diskpart`:
@ -251,7 +251,7 @@ diskutil partitionDisk /dev/disk6 MBR "MS-DOS FAT32" ZXUNOPLUS 4G "MS-DOS FAT32"
[NOTE]
====
In this example, since the partition has a size of exactly 4G, MacOS will use a cluster size of 4096, which is the one neede for the Amstrad CPC 6128 core. For a smaller size, you may have to format again the first partition with some commands like these:
In this example, since the partition has a size of exactly 4G, MacOS will use a cluster size of 4096, which is the one needed for the Amstrad CPC 6128 core. For a smaller size, you may have to format again the first partition with some commands like these:
[source,shell]
----
@ -372,7 +372,7 @@ This table shows the available modes and activation keys:
<<<
ZX Spectrum mode key assignment, with the corresponding keypress when used simultaneouly with `Caps Shift+Symbol Shift`:
ZX Spectrum mode key assignment, with the corresponding keypress when used simultaneously with `Caps Shift+Symbol Shift`:
[align="center",width="80%",cols=10*]
|===
@ -593,7 +593,7 @@ Special keys that can be used while running the main core (ZX Spectrum):
- `F7` (`Caps Shift+Symbol Shift+7` on +UNO): Play or pause when playing .PZX files
- `F8` (`Caps Shift+Symbol Shift+8` on +UNO): Rewind .PZX file to the previous mark
- `F10` (`Caps Shift+Symbol Shift+0` on +UNO): Graph
- `F12` (`Caps Shift+Symbol Shift+W` on +UNO): Turbo Boost. Speeds up CPU to 28MHz while pressed (beginnig with core EXP27).
- `F12` (`Caps Shift+Symbol Shift+W` on +UNO): Turbo Boost. Speeds up CPU to 28MHz while pressed (beginning with core EXP27).
- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` on +UNO): Hard reset. Backspace is the delete key, located in the top-right portion of the keyboard, above `Enter`.
- `Ctrl+Alt+Del` (`Caps Shift+Symbol Shift+N` on +UNO): Soft reset.
- `Scroll Lock`: Switches between composite and VGA video modes.
@ -659,7 +659,7 @@ Using left and right cursor keys, you can navigate through the BIOS setup screen
[TIP]
====
You can also acces the BIOS if you have an adapter and a joystick connected, pressing the down direction button on startup. This accesses the list of installed cores. Choose the latest option (`Enter Setup`) to access.
You can also access the BIOS if you have an adapter and a joystick connected, pressing the down direction button on startup. This accesses the list of installed cores. Choose the latest option (`Enter Setup`) to access.
====
Other useful keys to use on startup are:
@ -667,7 +667,7 @@ Other useful keys to use on startup are:
- `Scroll Lock` or `Cursor Down`, or, if a joystick is connected, pressing the down direction button: Core Selection Menu
- `Esc` or, if a joystick with two or more buttons is connected, pressing the second fire: ZX Spectrum Core ROM selection menu
- `R`: Load the ZX Spectrum default ROM in "real" mode disabling esxdos, new graphic modes, etc. (combined with `Esc` let's you use a different ROM)
- `/` (numeric keypad): oad the ZX Spectrum default ROM in in "root" mode (combined with `Esc` let's you use a different ROM)
- `/` (numeric keypad): Load the ZX Spectrum default ROM in in "root" mode (combined with `Esc` let's you use a different ROM)
- Number between `1` and `9`: Load the corresponding core from Flash
==== Main
@ -810,7 +810,7 @@ These are some of its main characteristics:
- Ability to disable memory contention (for Pentagon 128 compatibility)
- Ability to choose the keyboard behavior (issue 2 or issue 3)
- Possibility to choose the timing of the ULA (48K, 128K or Pentagon)
- Control of screen framing, configurable for type of timing, and possibility to choose between original Spectrum synchronisms or progressive PAL standard.
- Control of screen framing, configurable for type of timing, and possibility to choose between original Spectrum synchronism or progressive PAL standard.
- Timex horizontal MMU support with HOME, DOC and EXT banks in RAM.
- Programmable raster interruption in line number, for any TV line.
- Possibility of activating/deactivating memory bank management registers, for better compatibility with each implemented model
@ -866,7 +866,7 @@ CargandoLeches is a set of ZX Spectrum ROMs that started as a project to load ga
Since version 2.0 the project changed from a single ROM to more, each one with different options. This way, you can choose a different mix of options that may include:
- Ultrafast loading
- Reset & Play (After a sofware reset of the core, the system is ready to load from tape)
- Reset & Play (After a software reset of the core, the system is ready to load from tape)
- POKE editor
- Enable or disable Sinclair BASIC token expansion
@ -994,7 +994,7 @@ Here are flag settings which work when <<#_zx123_tool,adding to the SPI flash>>
=== SD advanced format (+3e)
ZX Spectrum +3e is one ROM that can be used with ZX Spectrum core. This is an improved Sinclair ZX Spectrum +3, wich can use hard disks or memory cards.
ZX Spectrum +3e is one ROM that can be used with ZX Spectrum core. This is an improved Sinclair ZX Spectrum +3, which can use hard disks or memory cards.
+3e uses its own partition format (called IDEDOS), to split de hard disk into several partitions to store data. ROM version 1.28 and later can share IDEDOS partitions with MBR partitions. In other case, you must reserve the whole card for IDEDOS partitions.
@ -1048,7 +1048,7 @@ For this example, it will be disk 6:
Instruction steps:
. Unmount the disk and edit the partition sceme (the second step requires admin privileges):
. Unmount the disk and edit the partition scheme (the second step requires admin privileges):
[source,shell]
----
@ -3648,9 +3648,9 @@ Some features of this core are:
- Only VGA video mode is supported, with non-accurate timings, so it may not work with some displays
- HQ2X filters that "removes pixels" from the image
- Scanlines simulation
- Made with NES NTSC clock timings, so only USA ROMs run fine. PAL ROMs run faster than they sould
- Made with NES NTSC clock timings, so only USA ROMs run fine. PAL ROMs run faster than they should
- You can load ROMs from the SD
- It uses all 512 KB ZXUNO+ SRAM. It's split into two 256 KB banks, uno for PRG_ROM and the other for CHR_ROM. So any ROM using more than 256 KB for CHR or PRG won't work. Obviously any ROM bigger than 512 KB won´t work too.
- It uses all 512 KB ZXUNO+ SRAM. It's split into two 256 KB banks, uno for PRG_ROM and the other for CHR_ROM. So any ROM using more than 256 KB for CHR or PRG won't work. Obviously any ROM bigger than 512 KB won`t work too.
- Joystick support
==== SD card format
@ -3677,8 +3677,8 @@ There are alternate versions of this core, which can also be controlled with a k
- `I`, `J`, `K`, `L` (customizable) or joystick 2: Directional controls for player 2
- `H`, `Y` (customizable) or joystick 2 fire buttons: Player 2 A and B button
- `6` y `2`: `Select` and `Start` (Player 1)
- `F4` (`Caps Shift+Symbol Shift+4` on ZXUnGo+): Swap the keyboard keys for player 1 and player 2
- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+F` and then `B` on ZXUnGo+): Hard reset. Backspace is the delete key, located in the top-right portion of the keyboard, above `Enter`
- `F4` (`Caps Shift+Symbol Shift+4` on +UNO): Swap the keyboard keys for player 1 and player 2
- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` on +UNO): Hard reset. Backspace is the delete key, located in the top-right portion of the keyboard, above `Enter`
===== Control customization
@ -3714,6 +3714,62 @@ The following options are available:
====
You can move faster through the menu options using `Page Up` and `Page Down`.
====
<<<
=== Ondra SPO 186
The https://cs.wikipedia.org/wiki/Ondra_(poč%C3%ADtač)[Ondra SPO 186] was a Czechoslovak 8-bit computer developed in 1985 at Tesla Liberec as a cheap school and home computer.
The https://github.com/PetrM1/OndraSPO186_ZXUno[ZX-Uno version] has been developed by PetrM1, based on the previous MiSTer version, and has these features:
- 64 kB RAM
- Keyboard support
- Sound
- Software loading via ZX-Uno audio in port
- Program loading via serial port
==== SD card format
This core does not use the SD card.
==== Keyboard
[WARNING]
====
Due to the requirements of this core, it is not enough having a membrane keyboard connected. It is necessary to have a PS/2 keyboard connected at the same time to be able to use it.
====
Ondra has a 37-key keyboard, where the use of modifier keys allows each key to serve 2 or 3 different characters. Each modifier key must be pressed (and held) before pressing the character key to be modified.
[.text-center]
image:img/keyboardondra.png[pdfwidth=70%]
===== Special keys and buttons
- `Shift`: `Shift`
- `Alt`: `Symbols`
- `Tab`: `Numbers`
- `Control`: `Ctrl`
- `Shift`: `ČS` (used for Czech diacritics)
==== Basic guide
[.text-center]
image:img/ondraspo1.png[pdfwidth=70%]
Once you have started the core, you can load it from a tape (or other external audio device) by pressing the `Enter` key (if you have typed anything, erase it all using `Ctrl+Left Cursor`). The display will then start to flash and the following text will be shown:
[source]
----
.KÓD 1
----
[.text-center]
image:img/ondraspo1.png[pdfwidth=70%]
Start tape playback and the text on the screen will change during loading.
<<<
=== Oric Atmos
@ -3877,7 +3933,7 @@ When a program load is detected, the text changes to
Loading...<program name>
----
There's a script named `calorico.sh` at http://www.retrowiki.es/viewtopic.php?f=110&t=200037261[RetroWiki forums], made with bash, PHP and https://github.com/nataliapc/MSX_devs/tree/master/TSXphpclass[TSXphpclass utilities from Natalia Pujol] to convert Oirc `.TAP` files into `.TSX`.
There's a script named `calorico.sh` at http://www.retrowiki.es/viewtopic.php?f=110&t=200037261[RetroWiki forums], made with bash, PHP and https://github.com/nataliapc/MSX_devs/tree/master/TSXphpclass[TSXphpclass utilities from Natalia Pujol] to convert Oric `.TAP` files into `.TSX`.
[TIP]
====
@ -3893,7 +3949,7 @@ To save a BASIC program with the audio output, you can use the command `CSAVE "N
=== PC XT
https://www.zxuno.com/forum/viewforum.php?f=56[Next186lite] core is an implementation of http://flea.vieju.net/?page_id=20[Next186] core for FleaFPGA and Papilio Pro, pero adapted and trimmed.
https://www.zxuno.com/forum/viewforum.php?f=56[Next186lite] core is an implementation of http://flea.vieju.net/?page_id=20[Next186] core for FleaFPGA and Papilio Pro, but adapted and trimmed.
Features:
@ -3915,6 +3971,71 @@ See the <<#_cores,corresponding section>> for instructions of how to install the
<<<
=== PC XT CGA
The https://es.wikipedia.org/wiki/IBM_Personal_Computer_XT[IBM Personal Computer XT] also known as PC/XT was the second PC IBM model. The https://es.wikipedia.org/wiki/Color_Graphics_Adapter[IBM Color/Graphics Adapter] was the first graphic adapter card made by IBM for PC.
This core, https://github.com/spark2k06/next186lite_graphics_gremlin[made by spark2k06], and based on the <<#_pc_xt,original port of Next186 by DistWave>>, tries to be a more faithful recreation of the original PC XT, and has these features:
- Faithful implementation of https://es.wikipedia.org/wiki/Motorola_6845[Motorola 6845 chip], having all its registers and graphic modes
- Same behaviour with PUS SP like a 8086/80186 the CPU is correctly detected
- All partial video modes in Next186 are removed (MCGA/EGA/VGA)
- Full CGA implementation based on https://github.com/schlae/graphics-gremlin[Graphics Gremlin project] by TubeTime
- Partial Tandy Graphics (TGA) implementation
- Simplified clocks, setting the overall speed of the machine to 12Mhz (default) or 4.77Mhz (Throttle Down)
- Revised BIOS video functions, using part of https://github.com/skiselev/8088_bios[Micro8088 project by Sergey Kiselev]
- RGB666 video DAC support
- 2MB SRAM version has, for the moment, 1MB (EMS) available for the core
==== SD card format
You have to use a SDHC card, with the first partition in FAT16 format and with MS-DOS (or similar) installed. You can achieve this using, for example, virtualization software and connecting directly de SD card device as a hard disk. You can also find several pre-made images at https://www.zxuno.com/forum/viewforum.php?f=56[ZX-Uno forum page] and https://www.forofpga.es/viewtopic.php?f=37&t=120[ZXDOS+ forums].
[CAUTION]
====
**Do not use any FAT reordering utility** since, this may stop DOS from booting.
====
[WARNING]
====
Some files and directories used by MSXDOS have the same names, so it's not recommended to use the same SD card for <<#_msx,MSX>> and PC XT cores.
====
See the <<#_cores,corresponding section>> for instructions of how to install the PC XT core in Zx-Uno.
<<<
==== Keyboard
===== Special keys and buttons
The following +UNO keyboard combinations are obtained while in `PCXT` mode (`Caps Shift+Symbol Shift+U` and then `9`). Please read <<#_uno_keyboard,the section dedicated to +UNO keyboard modes>> for more information.
While the core is running:
- `Ctrl+Alt+Scroll Lock`: Change between Green, amber, and black and white modes
- `Ctrl+Alt+KeyPad -`: Throttle down speed
- `Ctrl+Alt+KeyPad +`: Set speed to normal (12MHz)
- `Ctrl+Alt+Del` (`Caps Shift+Symbol Shift+N` on +UNO): Soft Reset
- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol+B` on +UNO): Hard reset. Backspace is the delete key, located in the top-right portion of the keyboard, above `Enter`
==== Basic Guide
[.text-center]
image:img/pcxt.png[pdfwidth=70%]
. Start the ZX-Uno
. For a +UNO, change the keyboard mode to `PC XT` keyboard mode (`Caps Shift+Symbol Shift+U`, and then `9`)
. Reboot the ZX-Uno without losing the temporary keyboard mode (`Caps Shift+Symbol Shift+`B`)
. Quickly, press `Caps Shift+2` or `Caps Shift+6` and select the PC XT core to boot
[CAUTION]
====
On a +UNO, it's not recommended to use the `PC XT` keyboard mode with a PS/2 keyboard connected. This causes some conflicts and both keyboards won't function properly.
====
<<<
=== Pong
Pong was https://en.wikipedia.org/wiki/Pong[one of the earliest arcade video games] manufactured by Atari.
@ -4022,9 +4143,9 @@ The https://en.wikipedia.org/wiki/Master_System[Sega Master System] was a video
The ZX-Uno core is based on http://forum.gadgetfactory.net/index.php?/topic/1304-sega-master-system-on-the-papilio-plus/[Ben's original work for Papilio Plus].
Some of the core featurers are:
Some of the core features are:
- VGA and Compostite or RGB video output with PAL sync (50Hz)
- VGA and Composite or RGB video output with PAL sync (50Hz)
- Joysticks support
- Joystick emulation via keyboard
- Loading cartridge image files from the SD card
@ -4062,7 +4183,7 @@ image:img/sms.png[pdfwidth=70%]
=== SmartROM
https://github.com/Utodev/smartROM[SmartROM] is a kind of firmware that allows to loadi different ROMS for implementations of the ZX-Uno core in FPGA boards without flash memory, or where the flash memory cannot be used by the ZX-Uno core.
https://github.com/Utodev/smartROM[SmartROM] is a kind of firmware that can load different ROMS for implementations of the ZX-Uno core in FPGA boards without flash memory, or where the flash memory cannot be used by the ZX-Uno core.
==== SD card format
@ -4070,7 +4191,7 @@ The card has to be formatted <<_#sd_card_formatting,the same as when preparing f
Also, you have to install <<#_esxdos,esxdos 0.8.8>> to the card, and create a directory named `ZXUNO` with, at least, https://github.com/Utodev/smartROM/blob/master/binaries/SMARTROM.ZX1[the `SMARTROM.ZX1` file] and a RomPack file named `ROMS.ZX1` inside.
Finally, if your PS/2 keyboard is not in Spanish, you can copy the coresponding <<#_keyboard,keyboard map file>>, renamed as `KEYMAP.ZX1`.
Finally, if your PS/2 keyboard is not in Spanish, you can copy the corresponding <<#_keyboard,keyboard map file>>, renamed as `KEYMAP.ZX1`.
See the <<#_cores,corresponding section>> for instructions of how to install the SmartROM core in ZXUNO+.
@ -4366,7 +4487,7 @@ The joystick adapter must have pin 5 connected to positive VCC, used as main pow
A rotary encoder has 5 wires: Earth Ground (not connected), Vcc (`+`), GND (`0V`or `-`), `A` and `B`.
`A` and `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.
`A` and `B` are connected to pins 1 and 2 for the first encoder, 3 and 4 for the second one. This way you can have up to 4 encoders connected using both joystick ports.
[.text-center]
image:img/db9joy.png[pdfwidth=40%]
@ -4402,14 +4523,14 @@ It is recommended to wait, and make the connection after selecting the chosen op
Some cores can load, as the original machines could, from a external audio device like a cassette player or something else simulating it.
Besides the card, you have to plug an appropriate audio cable to <<#_ports_and_connectors,ZXUNO+ audio input>>. It must have a 3.5 mm stero jack on one side, and two mono outputs on the other side (one for each audio channel). The right audio mono is connected to the audio player (this is not necessary with a miniduino, since it already uses only the right audio channel when playing).
Besides the card, you have to plug an appropriate audio cable to <<#_ports_and_connectors,ZXUNO+ audio input>>. It must have a 3.5 mm stereo jack on one side, and two mono outputs on the other side (one for each audio channel). The right audio mono is connected to the audio player (this is not necessary with a miniduino, since it already uses only the right audio channel when playing).
==== Cassette Player
The use is exactly the same as when using the original computers:
. Plug the audio cable
. Type on the computer or select the tape loading option. For examle, for ZX Spectrum 48K, typing `J`, then, twice, `"` and then `Enter` to do the classic `LOAD "" + Enter`
. Type on the computer or select the tape loading option. For example, for ZX Spectrum 48K, typing `J`, then, twice, `"` and then `Enter` to do the classic `LOAD "" + Enter`
. Start playing the tape (you may have to try several times adjusting the player volume)
==== Computer
@ -4423,7 +4544,7 @@ This program for Windows, MacOS or Linux, can play directly a `TZX` tape file th
You can download the binary file (for example), for Windows from https://worldofspectrum.net/utilities/#tzxtools[World of Spectrum Classic] and for Mac from https://github.com/kounch/playtzx/releases[this GitHub repository]) or compile the source code as <<#_compile_source_code_macos_or_linux,explained later>>.
. Plug the audio cable between the computer audio output and ZXUNO+ audio input (remember to use only the right mono channel to the PC, Mac, etc. output)
. Type on the computer or select the tape loading option. For examle, for ZX Spectrum 48K, typing `J`, then, twice, `"` and then `Enter` to do the classic `LOAD "" + Enter`
. Type on the computer or select the tape loading option. For example, for ZX Spectrum 48K, typing `J`, then, twice, `"` and then `Enter` to do the classic `LOAD "" + Enter`
. Start playing a tape file with this command (you may have to try several times adjusting the player volume)
[source,shell]
@ -4463,7 +4584,7 @@ https://play.google.com/store/apps/details?id=com.baltazarstudios.playzxtapes[Pl
[WARNING]
====
The latest devices with headphone output are normally designed to work with impedances of only a few ohmis. This may, sometimes, not be enouth for the ZXUNO+ audio input.
The latest devices with headphone output are normally designed to work with impedances of only a few Ohms. This may, sometimes, not be enough for the ZXUNO+ audio input.
In these cases, it's recommended (if possible) to disable headphone volume limitations and/or use a headphone amplifier that can give a higher impedance.
====
@ -4472,7 +4593,7 @@ In these cases, it's recommended (if possible) to disable headphone volume limit
===== Audio file conversion
These are some of the many programas that exist and which can export tape files to audio files.
These are some of the many programs that exist and which can export tape files to audio files.
https://www.alessandrogrussu.it/tapir/index.html[Tapir] is a GUI program for Windows (but which can also run with Wine on Linux or Mac) that can load `TZX` and `TAP` files and export to `WAV` audio.
@ -4534,7 +4655,7 @@ With other operating systems it normally is like:
python3 ./zx123_tool.py
----
You also need a SPI flash image file. This can be obtained from within the Spectrum core in "root" mode, with one of the commands `back16m`, `backzx2` or `backzxd`. Once you have obtained the exteacted file from the SD, you can "clean" it leaving only the Spectrum core and the first Spectrum ROM with a command like this:
You also need a SPI flash image file. This can be obtained from within the Spectrum core in "root" mode, with one of the commands `back16m`, `backzx2` or `backzxd`. Once you have obtained the extracted file from the SD, you can "clean" it leaving only the Spectrum core and the first Spectrum ROM with a command like this:
[source,shell]
----
@ -4554,7 +4675,7 @@ To see the contents of an image file named `FLASH.ZX1` (installed cores and some
... zx123_tool.py -i FLASH.ZX1 -l
----
To show the contents of the same file, including ZX Spectrun ROMs info:
To show the contents of the same file, including ZX Spectrum ROMs info:
[source,shell]
----
@ -4663,7 +4784,7 @@ Just like the BIOS firmware, you can install a ROM esxdos file, with a command l
*Mix several actions in one line*
Please do note that you can add several actions in one command line. For example, to "clean" an image file named `FLASH.ZX1`, creating a new one named `FLASHnew.ZX1`, installing the BIOS from the file `FIRMWARE.ZX1`, set up video mode to VGA, the keyboard in Spectrum mode, add a Spectrum ROM file `48.rom`, with the name `Spec48` while ussing slot number 5, install a core at space 3, from a file named `TBBLUE.ZX1`, with the name `TBBlue`, as default core:
Please do note that you can add several actions in one command line. For example, to "clean" an image file named `FLASH.ZX1`, creating a new one named `FLASHnew.ZX1`, installing the BIOS from the file `FIRMWARE.ZX1`, set up video mode to VGA, the keyboard in Spectrum mode, add a Spectrum ROM file `48.rom`, with the name `Spec48` while using slot number 5, install a core at space 3, from a file named `TBBLUE.ZX1`, with the name `TBBlue`, as default core:
[source,shell]
----
@ -4713,7 +4834,7 @@ For a +UNO, you have to unplug the ZX-Uno board to make a recovery.
*Instruction Steps*:
. Install Raspberry Pi OS (formely known as Raspbian) to the Raspberry Pi SD card (using https://www.raspberrypi.org/downloads/raspberry-pi-os/[the official download], https://www.raspberrypi.org/downloads/noobs/[NOOBS], https://github.com/procount/pinn[PINN], etc.)
. Install Raspberry Pi OS (formerly known as Raspbian) to the Raspberry Pi SD card (using https://www.raspberrypi.org/downloads/raspberry-pi-os/[the official download], https://www.raspberrypi.org/downloads/noobs/[NOOBS], https://github.com/procount/pinn[PINN], etc.)
. Install Open OCD:
[source,shell]
@ -4788,7 +4909,7 @@ bcm2835gpio_jtag_nums 26 6 13 19
----
[start=7]
. Comment, if it wasnt't already, the line `bcm2835gpio_swd_nums` (not necessary for USB-Blaster connection):
. Comment, if it wasn't already, the line `bcm2835gpio_swd_nums` (not necessary for USB-Blaster connection):
[source]
----
@ -4873,7 +4994,7 @@ For a +UNO, since the recovery image uses a PS/2 configuration as default, follo
. Reboot +UNO without losing the temporary keyboard mode (`Caps Shift+Symbol Shift+B`)
. Quickly, press `Caps Shift + 1`
. Again, if there's no image, switch between RGB and VGA mode (`Caps Shift+Symbol Shift+G`)
. Navigate through BIOS and turno on these options:
. Navigate through BIOS and turn on these options:
- `Advanced` -> `Keyboard Layout`: `Spectrum`
- `Advanced` -> `Video`: `VGA` (only if there was no image)
. Save changes:
@ -4984,7 +5105,7 @@ This process can't be undone, and it will replace all the previously installed c
[NOTE]
====
Ususally, the recovery image is set to use a PS/2 keyboard so, for a +UNO, 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.
Usually, the recovery image is set to use a PS/2 keyboard so, for a +UNO, some key combinations, like `Caps Shift + 5`, etc may not work. In this case, you have to change the keyboard mode to `PC XT`(`Caps Shift + Symbol Shift + U` and then `9`), to make them work temporarily.
====
[start=13]
@ -5004,7 +5125,7 @@ For a +UNO, since the recovery image uses a PS/2 configuration as default, follo
. Reboot +UNO without losing the temporary keyboard mode (`Caps Shift + Symbol Shift + B`)
. Quickly, press `Caps Shift + 1`
. Again, if there's no image, switch between RGB and VGA mode (`Caps Shift+Symbol Shift+G`)
. Navigate through BIOS and turno on these options:
. Navigate through BIOS and turn on these options:
- `Advanced` -> `Keyboard Layout`: `Spectrum`
- `Advanced` -> `Video`: `VGA` (only if there was no image)
. Save changes:
@ -5014,7 +5135,7 @@ For a +UNO, since the recovery image uses a PS/2 configuration as default, follo
[NOTE]
====
When using Linux with `urjtag`, the process should be quite similar, although the dependencies (libftdi libusb pkg-config) would have to be installed with the appropiate package manager (apt, yum, pacman, etc.)
When using Linux with `urjtag`, the process should be quite similar, although the dependencies (libftdi libusb pkg-config) would have to be installed with the appropriate package manager (apt, yum, pacman, etc.)
====
<<<
@ -5087,7 +5208,7 @@ This process can't be undone, and it will replace all the previously installed c
[NOTE]
====
Ususally, the recovery image is set to use a PS/2 keyboard so, for a +UNO, 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.
Usually, the recovery image is set to use a PS/2 keyboard so, for a +UNO, some key combinations, like `Caps Shift + 5`, etc may not work. In this case, you have to change the keyboard mode to `PC XT`(`Caps Shift + Symbol Shift + U` and then `9`), to make them work temporarily.
====
[start=13]
@ -5107,7 +5228,7 @@ For a +UNO, since the recovery image uses a PS/2 configuration as default, follo
. Reboot +UNO without losing the temporary keyboard mode (`Caps Shift + Symbol Shift + B`)
. Quickly, press `Caps Shift + 1`
. Again, if there's no image, switch between RGB and VGA mode (`Caps Shift+Symbol Shift+G`)
. Navigate through BIOS and turno on these options:
. Navigate through BIOS and turn on these options:
- `Advanced` -> `Keyboard Layout`: `Spectrum`
- `Advanced` -> `Video`: `VGA` (only if there was no image)
. Save changes:

View File

@ -1,6 +1,6 @@
= Manual de Miniduino
:author: kounch
:revnumber: 1.0.0
:revnumber: 1.0.1
:doctype: book
:notitle:
:front-cover-image: image:img/portadaminiduino.jpg[]

View File

@ -1,11 +1,11 @@
= Manual de ZXUNO+ y +UNO
:author: kounch
:revnumber: 1.3.1
:revnumber: 1.4.0
:doctype: book
:notitle:
:front-cover-image: image:img/portadauno.jpg[]
:email: kounch@users.noreply.github.com
:Revision: 1.3
:Revision: 1.4
:description: Manual en castellano de ZXUNO+ y +UNO
:keywords: Manual, Castellano, ZXUNO+, +UNO
:icons: font
@ -126,12 +126,12 @@ Para poder aprovechar todo su potencial, es útil tener también:
- Una tarjeta SD, 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 ratón PS/2 (se necesista adaptador USB a PS/2)
- Un ratón PS/2 (se necesita adaptador USB a PS/2)
- Un cable con un jack estéreo de 3,5 mm en un extremo y los dos canales de sonido divididos en dos salidas mono en el otro, si se quiere usar algún dispositivo de reproducción y/o grabación de audio, como por ejemplo un Miniduino (<<#_miniduino,ver la sección correspondiente más adelante>>), un PC/Mac/Raspberry PI, etc. o un reproductor/grabador de https://es.wikipedia.org/wiki/Casete[cassette]. El canal derecho se utiliza como entrada (EAR) y el canal izquierdo se puede usar como salida de grabación (MIC).
==== Formato de la tarjeta SD
Para poder utilizar una tarjeta SD con el core principal de Spectrum, esta debe tener, al menos, una partición (la primera en el caso de haber varias) en formato FAT16, FAT32 u otros (según el caso, se puede necesitar, un formato específico para compatibilidad con distintos cores de terceros). Para el core de Spectrum, tambén es posible tener <<#_formato_avanzado_de_la_tarjeta_sd_3e,una primera partición en formato +3DOS y luego otra(s) en formato FAT16 o FAT32>>, para su uso con una ROM de +3e.
Para poder utilizar una tarjeta SD con el core principal de Spectrum, esta debe tener, al menos, una partición (la primera en el caso de haber varias) en formato FAT16, FAT32 u otros (según el caso, se puede necesitar, un formato específico para compatibilidad con distintos cores de terceros). Para el core de Spectrum, también es posible tener <<#_formato_avanzado_de_la_tarjeta_sd_3e,una primera partición en formato +3DOS y luego otra(s) en formato FAT16 o FAT32>>, para su uso con una ROM de +3e.
[NOTE]
====
@ -145,7 +145,7 @@ A la hora de poner el nombre a una partición que se vaya a utilizar con esxdos,
[TIP]
====
Para el core de Spectrum, tambén es posible tener <<#_formato_avanzado_de_la_tarjeta_sd_3e,una primera partición en formato +3DOS y luego otra(s) en formato FAT16 o FAT32>>, para su uso con una ROM de +3e.
Para el core de Spectrum, también es posible tener <<#_formato_avanzado_de_la_tarjeta_sd_3e,una primera partición en formato +3DOS y luego otra(s) en formato FAT16 o FAT32>>, para su uso con una ROM de +3e.
====
<<<
@ -685,7 +685,7 @@ En la primera pantalla de configuración, además de poder ejecutar distintas pr
- Soporte NMI para DivMMC
- Soporte para nuevos modos gráficos (ULAPlus, Timex, Radastan)
Se puede consultar información más tecnica en https://www.zxuno.com/wiki/index.php/ZX_Spectrum[la Wiki de ZX-Uno].
Se puede consultar información más técnica en https://www.zxuno.com/wiki/index.php/ZX_Spectrum[la Wiki de ZX-Uno].
<<<
@ -798,7 +798,7 @@ Finalmente, desde la última pantalla se puede:
== ZX Spectrum
El core principal es el que implementa un ordenador ZX Spectrum. Este core es especial, y no se puede sustibuir por otro que no sea de ZX Spectrum, ya que el ZXUNO+ lo utiliza para su funcionamiento.
El core principal es el que implementa un ordenador ZX Spectrum. Este core es especial, y no se puede sustituir por otro que no sea de ZX Spectrum, ya que el ZXUNO+ lo utiliza para su funcionamiento.
Estas son algunas de sus principales características:
@ -838,7 +838,7 @@ Véase el <<#_roms_3,apartado de actualizaciones>> para más información sobre
https://www.facebook.com/groups/DerbyPro[DerbyPro o Derby{pp}] es una ROM mejorada para el ZX Spectrum, basada en la versión 1.4 de la ROM de desarrollo Derby. El Spectrum 128 (nombre en código "Derby") fue una máquina española, encargada por Investronica y lanzada en 1985. Incluía un teclado aparte que añadía varias teclas de edición extra. En 1986 se lanzó la versión para Reino Unido con una versión simplificada de 128 BASIC y sin teclado extra. Derby++ se basa en la ROM española para incluir lo mejor de las dos versiones, sin sus inconvenientes, y con soporte para nuevo hardware.
Se puede descargar la ROM, un manual de usuario y otos ficheros del https://www.facebook.com/groups/DerbyPro[grupo púbilco oficial de Facebook].
Se puede descargar la ROM, un manual de usuario y otos ficheros del https://www.facebook.com/groups/DerbyPro[grupo público oficial de Facebook].
Esta ROM de 64K tiene soporte para nuevo hardware, incluyendo el uso de comandos de esxdos desde 128 BASIC, así que se pueden usar estas opciones al <<#_zx123_tool,añadirla a la SPI flash>>:
@ -858,7 +858,7 @@ Esta ROM de 64K tiene soporte para nuevo hardware, incluyendo el uso de comandos
==== CargandoLeches
https://github.com/antoniovillena/CargandoLeches[CargandoLeches] es un conjunto de ROMs de ZX Spectrum originalmente pensadas para cargar juegos a una velocidad de 15 a 20 veces superior a lo normal. En lugar de una cinta se requiere una fuente de audio digital como un ordenador, un dispositivo móvil, un reproductor MP3, etc. También tiene una rutina que detecta el método de carga y si no se trata de una carga ultrarápida, ejecuta el código de la ROM original. En cargas que no sean CargandoLeches no se nota por tanto la diferencia entre usar esta ROM y la ROM original.
https://github.com/antoniovillena/CargandoLeches[CargandoLeches] es un conjunto de ROMs de ZX Spectrum originalmente pensadas para cargar juegos a una velocidad de 15 a 20 veces superior a lo normal. En lugar de una cinta se requiere una fuente de audio digital como un ordenador, un dispositivo móvil, un reproductor MP3, etc. También tiene una rutina que detecta el método de carga y si no se trata de una carga ultrarrápida, ejecuta el código de la ROM original. En cargas que no sean CargandoLeches no se nota por tanto la diferencia entre usar esta ROM y la ROM original.
Desde la versión 2.0, el proyecto pasó de ser una única ROM a varias, cada una con distintas opciones. Así, es posible elegir diferentes combinaciones que pueden incluir:
@ -900,7 +900,7 @@ En el caso de usar una ROM con la opción de introducir POKEs, se hace de la sig
Las ROMs con la opción de carga ultrarrápida necesitan archivos de cinta especiales que se generan desde ficheros `TAP` de carga normal, de juegos que no tengan protección de carga o modo turbo.
Para crear una cinta de carga ultrarrápida se necesitan las utilidates de línea de comandos `leches` y `CgLeches`. Estas se pueden conseguir, para Windows, https://github.com/antoniovillena/CargandoLeches/tree/master/binaries[en el repositorio oficial]. Para MacOS es posible descargar una versión no oficial https://github.com/kounch/CargandoLeches/tree/master/binaries/MacOS[en este otro repositorio].
Para crear una cinta de carga ultrarrápida se necesitan las utilidades de línea de comandos `leches` y `CgLeches`. Estas se pueden conseguir, para Windows, https://github.com/antoniovillena/CargandoLeches/tree/master/binaries[en el repositorio oficial]. Para MacOS es posible descargar una versión no oficial https://github.com/kounch/CargandoLeches/tree/master/binaries/MacOS[en este otro repositorio].
En otro caso, es posible compilar desde https://github.com/antoniovillena/CargandoLeches[el código fuente disponible en el repositorio oficial]. Por ejemplo, para compilar en Linux usando `gcc` basta con usar estos comandos:
@ -932,7 +932,7 @@ Debido a limitaciones en el hardware, los ficheros `TZX` generados con `CgLeches
https://github.com/cheveron/sebasic4[SE Basic IV] es un intérprete de Microsoft BASIC, gratuito y de código abierto. SE Basic IV se ha diseñado para funcionar en un https://www.patreon.com/chloe280se[Chloe 280SE] pero también lo hace en ZX-Uno y similares.
SE Basic se pensó en sus orígenes como un nuevo firmware para el https://sinclair.wiki.zxnet.co.uk/wiki/ZX_Spectrum_SE[ZX Spectrum SE]. Las primeras versiones eran modificaciones aplicadas sobre la ROM original del ZX Spectrurm, pero posteriormente se ha reescrito basándose en la https://groups.google.com/g/comp.sys.sinclair/c/F90HbKTDkRk[ROM mejorada y de código abierto TS1000 / ZX81].
SE Basic se pensó en sus orígenes como un nuevo firmware para el https://sinclair.wiki.zxnet.co.uk/wiki/ZX_Spectrum_SE[ZX Spectrum SE]. Las primeras versiones eran modificaciones aplicadas sobre la ROM original del ZX Spectrum, pero posteriormente se ha reescrito basándose en la https://groups.google.com/g/comp.sys.sinclair/c/F90HbKTDkRk[ROM mejorada y de código abierto TS1000 / ZX81].
La versión 3, también conocida como https://zxdesign.itch.io/opense[OpenSE BASIC], todavía se mantiene como un firmware de código abierto para el Spectrum. Se incluye, por ejemplo, en el https://tracker.debian.org/pkg/opense-basic[repositorio principal de Debian] para su uso en emuladores.
@ -1598,7 +1598,7 @@ image:./img/fuzix02.png[pdfwidth=70%]
<<<
Escribir el identificador de la partición raiz (por ejemplo, `hd3`) y pulsar `Enter`.
Escribir el identificador de la partición raíz (por ejemplo, `hd3`) y pulsar `Enter`.
[.text-center]
image:./img/fuzix03.png[pdfwidth=70%]
@ -1852,7 +1852,7 @@ Para ver el menú de opciones en modo 128K se debe usar el comando de esxdos: `.
=== ZX Spectrum TBBlue
El firmware https://github.com/fbelavenuto/TBBlue[TBBlue], creado en 2016 por Victor Trucco y Fabio Belavenuto, lleva el nombre de dos de los creadores y el color de la máscara de soldadura de la placa base. Aunque inicialmente se pretendía usar el chip Z80 del ZX Spectrum original, el diseño se modificó posteriorement para usar una FPGA Xilinx Spartan-6, para permitir otras características avanzadas. Este core es la base sobre la que se construyó posterioremente el https://es.wikipedia.org/wiki/ZX_Spectrum_Next[ZX Spectrum Next].
El firmware https://github.com/fbelavenuto/TBBlue[TBBlue], creado en 2016 por Victor Trucco y Fabio Belavenuto, lleva el nombre de dos de los creadores y el color de la máscara de soldadura de la placa base. Aunque inicialmente se pretendía usar el chip Z80 del ZX Spectrum original, el diseño se modificó posteriormente para usar una FPGA Xilinx Spartan-6, para permitir otras características avanzadas. Este core es la base sobre la que se construyó posteriormente el https://es.wikipedia.org/wiki/ZX_Spectrum_Next[ZX Spectrum Next].
El core TBBlue más reciente para ZX-Uno es una versión sintetizada por azesmbog sobre últimas versiones del repositorio y tiene, entre otras, las siguientes caracterísicas:
@ -2464,7 +2464,7 @@ Durante la ejecución del core:
===== Personalización de los controles
Existen otras versiones de este core que permiten modificar el soporte de teclado. Para ello, se ha de crear en la raiz de la tarjeta SD un fichero llamado KEYSP1` para el primer jugador y `KEYSP2` para el segundo (se puede descargar uno de ejemplo desde https://www.zxuno.com/forum/download/file.php?id=1360[el foro de ZX-Uno]).
Existen otras versiones de este core que permiten modificar el soporte de teclado. Para ello, se ha de crear en la raíz de la tarjeta SD un fichero llamado KEYSP1` para el primer jugador y `KEYSP2` para el segundo (se puede descargar uno de ejemplo desde https://www.zxuno.com/forum/download/file.php?id=1360[el foro de ZX-Uno]).
Estos ficheros se pueden crear con un editor hexadecimal (como https://mh-nexus.de/en/hxd/[HxD para Windows])y están formados por una secuencia de bytes indicando en este orden: `Arriba`, `Abajo`, `Izquierda`, `Derecha`, `Botón de disparo`. Los códigos a utilizar en la secuencia se pueden consultar en la tabla <<#_scan_codes,Scan Codes>> al final del manual (Columna MAKE), pero, teniendo en cuenta que, si el código está emparejado con `0xE0`, se ha de usar el otro valor, sumánole `0x80` (por ejemplo, para `E0 14`, sería `0x94`).
@ -3579,7 +3579,7 @@ Debido a que es un core experimental, existen algunos problemas como, por ejempl
[TIP]
====
Se puede utilizar la utilidad https://original.sharpmz.org/mzf2wav.htm[mzf2wav], disponible para Windows, y con código fuente válido para Linux y Mac, para convetir ficheros de cinta `MZF` en `WAV` y así poder cargarlos desde un dispositivo externo de audio
Se puede utilizar la utilidad https://original.sharpmz.org/mzf2wav.htm[mzf2wav], disponible para Windows, y con código fuente válido para Linux y Mac, para convertir ficheros de cinta `MZF` en `WAV` y así poder cargarlos desde un dispositivo externo de audio
====
En los siguientes sitios web se puede encontrar información variada y software:
@ -3621,7 +3621,7 @@ Durante la ejecución del core:
==== Guía básica
Para usarlo, se deben utilizar *dos* puentes en los pines `P58` y `P51` del puerto de expansion, con `GND`:
Para usarlo, se deben utilizar *dos* puentes en los pines `P58` y `P51` del puerto de expansión, con `GND`:
[.text-center]
image:img/mz700puente.jpg[pdfwidth=70%]
@ -3634,7 +3634,7 @@ De la misma manera, `P51` *debe* estar conectado a GND para realizar una carga d
En general, para la mayoría de programas, no es necesario necesita quitar los puentes, y se pueden dejar fijos siempre.
Tras arrancar, la ROM por defecto del MZ-700 tiene un monitor básico con muy pocos comandos como LOAD (L), SAVE (S), DUMP (D), etc. Posterioremente, desde cinta, se pueden cargar programas en código máquina o distintos intérpretes de lenguajes (BASIC, Forth, Pascal) y posterioremente programas para el intérprete elegido.
Tras arrancar, la ROM por defecto del MZ-700 tiene un monitor básico con muy pocos comandos como LOAD (L), SAVE (S), DUMP (D), etc. Posteriormente, desde cinta, se pueden cargar programas en código máquina o distintos intérpretes de lenguajes (BASIC, Forth, Pascal) y posteriormente programas para el intérprete elegido.
<<<
@ -3691,14 +3691,14 @@ Existe otras versiones de este core que permiten el control también con teclado
- `I`, `J`, `K`, `L` (personalizables) o el joystick 2: Controles de dirección del jugador 2
- `H`, `Y` (personalizables) o botones de disparo del joystick 1: Botones A y B (Jugador 2)
- `6` y `2`: `Select` y `Start` (Jugador 1)
- `F4` (`Caps Shift+Symbol Shift+4` en ZXUnGo+): Intercambiar la asignación de teclas de jugador 1 y jugador 2
- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+F` y luego `B` en ZXUnGo+): Hard Reset. Backspace es la tecla de borrar hacia atrás, encima de `Enter`
- `F4` (`Caps Shift+Symbol Shift+4` en +UNO): Intercambiar la asignación de teclas de jugador 1 y jugador 2
- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+B` en +UNO): Hard Reset. Backspace es la tecla de borrar hacia atrás, encima de `Enter`
===== Personalización de los controles
Los controles por defecto del core con soporte de teclado se pueden modificar. Para ello, se ha de crear en la raiz de la tarjeta SD un fichero llamado KEYSP1` para el primer jugador y `KEYSP2` para el segundo (se puede descargar uno de ejemplo desde https://www.zxuno.com/forum/download/file.php?id=1360[el foro de ZX-Uno]).
Los controles por defecto del core con soporte de teclado se pueden modificar. Para ello, se ha de crear en la raíz de la tarjeta SD un fichero llamado KEYSP1` para el primer jugador y `KEYSP2` para el segundo (se puede descargar uno de ejemplo desde https://www.zxuno.com/forum/download/file.php?id=1360[el foro de ZX-Uno]).
Estos ficheros se pueden crear con un editor hexadecimal (como https://mh-nexus.de/en/hxd/[HxD para Windows])y están formados por una secuencia de bytes indicando en este orden: `Arriba`, `Abajo`, `Izquierda`, `Derecha`, `Botón A`, `Botón B`. Los códigos a utilizar en la secuencia se pueden consultar en la tabla <<#_scan_codes,Scan Codes>> al final del manual (Columna MAKE), pero, teniendo en cuenta que, si el código está emparejado con `0xE0`, se ha de usar el otro valor, sumánole `0x80` (por ejemplo, para `E0 14`, sería `0x94`).
Estos ficheros se pueden crear con un editor hexadecimal (como https://mh-nexus.de/en/hxd/[HxD para Windows])y están formados por una secuencia de bytes indicando en este orden: `Arriba`, `Abajo`, `Izquierda`, `Derecha`, `Botón A`, `Botón B`. Los códigos a utilizar en la secuencia se pueden consultar en la tabla <<#_scan_codes,Scan Codes>> al final del manual (Columna MAKE), pero, teniendo en cuenta que, si el código está emparejado con `0xE0`, se ha de usar el otro valor, sumándole `0x80` (por ejemplo, para `E0 14`, sería `0x94`).
[TIP]
====
@ -3731,6 +3731,62 @@ Se puede avanzar y retroceder más rápido por las opciones de menú usando `Re
<<<
=== Ondra SPO 186
El https://cs.wikipedia.org/wiki/Ondra_(poč%C3%ADtač)[Ondra SPO 186] era un ordenador checoslovaco de 8 bits desarrollado en 1985 en Tesla Liberec como ordenador escolar y doméstico barato.
La https://github.com/PetrM1/OndraSPO186_ZXUno[versión para ZX-Uno] ha sido desarrollada por PetrM1, basada en la versión anterior para MiSTer, y tiene estas características:
- 64 kB de RAM
- Soporte para teclado
- Sonido
- Carga de programas a través de la entrada de audio
- Carga de programas vía puerto serie
==== Formato de Tarjeta SD
Este core no utiliza la tarjeta SD.
==== Teclado
[WARNING]
====
Debido a los requisitos de este core, no es suficiente si sólo hay conectado un teclado de membrana. Es necesario tener un teclado PS/2 conectado, a la vez, para poder utilizarlo.
====
Ondra tiene teclado de 37 teclas, en el que el uso de teclas modificadoras permite que cada tecla sirva para 2 o 3 caracteres diferentes. Cada tecla modificadora debe ser presionada (y mantenida) antes de presionar la tecla de carácter a modificar.
[.text-center]
image:img/keyboardondra.png[pdfwidth=70%]
===== Teclas especiales y botones
- `Mayúsculas`: `Shift`
- `Alt`: `Symbols`
- `Tab`: `Numbers`
- `Control`: `Ctrl`
- `Bloq. Mayús`: `ČS` (se usa para los diacríticos checos)
==== Guía básica
[.text-center]
image:img/ondraspo1.png[pdfwidth=70%]
Una vez iniciado el core, se puede cargar desde una cinta (u otro dispositivo externo de audio) pulsando la tecla `Enter` (si se hubiera escrito algo, se ha de borrar todo utilizando `Ctrl+Cursor Izquierdo`). A continuación, la pantalla comenzará a parpadear y aparecerá el texto
[source]
----
.KÓD 1
----
[.text-center]
image:img/ondraspo2.png[pdfwidth=70%]
Inicie la reproducción de la cinta y el texto en pantalla irá cambiando durante la carga.
<<<
=== Oric Atmos
El https://es.wikipedia.org/wiki/Oric_Atmos[Oric Atmos] era un ordenador doméstico fabricado por Oric Products International Ltd , sucesor del Oric 1.
@ -3933,6 +3989,70 @@ Si no estuviera ya, <<#_cores,instalar el core de PC XT>> en el ZXUNO+.
<<<
=== PC XT CGA
El https://es.wikipedia.org/wiki/IBM_Personal_Computer_XT[IBM Personal Computer XT] o PC/XT fue el segundo modelo de la línea PC de IBM. Por otra parte la https://es.wikipedia.org/wiki/Color_Graphics_Adapter[IBM Color/Graphics Adapter] fue la primera tarjeta gráfica de IBM para PC.
Este core, https://github.com/spark2k06/next186lite_graphics_gremlin[creado por spark2k06], y basado en el <<#_pc_xt,port original de DistWave de Next186>>, intenta ser una recreación más fiel del PC XT original, y tiene las siguientes características:
- Implementación bastante fiel del https://es.wikipedia.org/wiki/Motorola_6845[chip Motorola 6845], con lo cual se dispone de todos sus registros y modos gráficos
- Mismo comportamiento que un 8086/80186 con PUSH SP, correcta identificación del modelo de CPU por parte de los programas
- Se eliminan los modos de vídeo que estaban parcialmente implementados en el proyecto Next186 (MCGA/EGA/VGA)
- Implementación completa de CGA basada en el https://github.com/schlae/graphics-gremlin[proyecto Graphics Gremlin] de TubeTime
- Implementación parcial de Tandy Graphics (TGA)
- Relojes simplificados, estableciendo la velocidad general de la máquina en 12Mhz (por defecto) y 4.77Mhz (velocidad reducida)
- Funciones de BIOS correspondientes al acceso a vídeo revisadas, utilizando parte del https://github.com/skiselev/8088_bios[proyecto Micro8088 de Sergey Kiselev]
- Soporte para DAC de Vídeo RGB666
- Soporte Adlib gracias al módulo de OPL2 desarrollado por @jotego (jtopl2[https://github.com/jotego/jtopl])
- La versión de 2MB de SRAM tiene, por el momento, direccionamiento de 1MB (EMS)
==== Formato de Tarjeta SD
Se debe de utilizar una tarjeta SDHC (por tanto de al menos 4GB), con la primera partición FAT16 y con MS-DOS (o similar) instalado. Esto se puede conseguir usando, por ejemplo, software de virtualización y conectando directamente el dispositivo de la tarjeta SD como disco. En los foros de https://www.zxuno.com/forum/viewforum.php?f=56[ZX-Uno] y https://www.forofpga.es/viewtopic.php?f=37&t=120[ZXDOS+] se puede obtener más información y encontrar algunas imágenes de tarjeta SD.
[CAUTION]
====
**No se debe utilizar ninguna utilidad de reordenación de FAT** ya que esto puede provocar que deje de arrancar correctamente DOS.
====
[WARNING]
====
Como algunos de los directorios y ficheros de sistema de MSXDOS pueden tienen el mismo nombre, no se recomienda utilizar la misma tarjeta para el <<#_msx,core de MSX>> y el de PC XT.
====
Si no estuviera ya, <<#_cores,instalar el core de PC XT CGA>> en el ZX-Uno.
<<<
==== Teclado
===== Teclas especiales y botones
Las combinaciones específicas de +UNO se corresponden con el modo de teclado `PCXT` (`Caps Shift+Symbol Shift+U` y luego `9`). Véase el <<#_teclado_incorporado_en_uno,apartado dedicado a los modos de teclado>> de +UNO para más información.
- `Ctrl+Alt+Bloq. Desp`: Cambio a Verde - Ambar - B&W (Simulación de monitor monocromático)
- `Ctrl+Alt+KeyPad -`: Reducir velocidad
- `Ctrl+Alt+KeyPad +`: Velocidad normal a 12MHz
- `Ctrl+Alt+Supr`(`Caps Shift+Symbol Shift+N` en +UNO): Soft Reset
- `Ctrl+Alt+Backspace` (`Caps Shift+Symbol Shift+F+B` en +UNO): Hard Reset. Backspace es la tecla de borrar hacia atrás, encima de `Enter`
==== Guía Básica
[.text-center]
image:img/pcxt.png[pdfwidth=70%]
. Iniciar el ZX-Uno
. En el caso de +UNO, cambiar el modo de teclado a `PC XT` (`Caps Shift+Symbol Shift+U` y luego `9`)
. Reiniciar el +UNO sin que se pierda la configuración del teclado pulsando `Caps Shift+Symbol Shift+B`
. Rápidamente, pulsar `Caps Shift+2` o `Caps Shift+6` y elegir el core de PC XT en el arranque
[CAUTION]
====
No se recomienda usar el modo de teclado `PC XT` en +UNO, a la vez que un teclado de PS/2 conectado, ya que se generan conflictos y no funciona correctamente.
====
<<<
=== Pong
Pong https://es.wikipedia.org/wiki/Pong[fue un videojuego] de la primera generación de videoconsolas publicado por Atari.
@ -4259,7 +4379,7 @@ Desde BASIC, se puede cargar desde una cinta (u <<#_miniduino,otro dispositivo e
[WARNING]
====
Algunos monitores dejan de reproducir la entrada de audio si se desactiva la señal de vídeo. Se recomienda conectar unos auriculares o altavoces externos para poder oir el sonido durante la carga de una cinta.
Algunos monitores dejan de reproducir la entrada de audio si se desactiva la señal de vídeo. Se recomienda conectar unos auriculares o altavoces externos para poder oír el sonido durante la carga de una cinta.
====
<<<
@ -4357,7 +4477,7 @@ Desde BASIC, se puede cargar desde un fichero cinta, que se haya seleccionado de
[TIP]
====
Algunos monitores dejan de reproducir la entrada de audio si se desactiva la señal de vídeo. Se recomienda conectar unos auriculares o altavoces externos para poder oir el sonido durante la carga de una cinta.
Algunos monitores dejan de reproducir la entrada de audio si se desactiva la señal de vídeo. Se recomienda conectar unos auriculares o altavoces externos para poder oír el sonido durante la carga de una cinta.
====
Se pueden cargar archivos `.p` con color y caracteres alternativos.
@ -4469,7 +4589,7 @@ En Linux, el programa utiliza como salida el dispositivo `/dev/dsp`, así que, e
====== Compilar código fuente (MacOS o Linux)
Verificar que están instaladas las herramientas de desarrollo, incluyendo un compilador de C (`gcc`, `clang` herramientas de desarrollaor de línea de comandos en Mac, etc.) y https://es.wikipedia.org/wiki/GNU_build_system[GNU Autotools].
Verificar que están instaladas las herramientas de desarrollo, incluyendo un compilador de C (`gcc`, `clang` herramientas de desarrollador de línea de comandos en Mac, etc.) y https://es.wikipedia.org/wiki/GNU_build_system[GNU Autotools].
Descargar el código fuente https://github.com/kounch/playtzx[desde este repositorio]), descomprimirlo y acceder en una consola al directorio, y ejecutar los comandos:
@ -4547,7 +4667,7 @@ Existen distintas herramientas que permiten generar y/o editar el contenido de l
==== zx123_tool
Esta es una herramienta que analiza, extrae o añade datos en ficheros de imagen de SPI flash de ZX-Uno, ZXDOS y otros dispostivos similares.
Esta es una herramienta que analiza, extrae o añade datos en ficheros de imagen de SPI flash de ZX-Uno, ZXDOS y otros dispositivos similares.
Para poder utilizarla se necesita https://www.python.org/[Python 3]. Según el sistema operativo que se utilice puede que sea necesario https://www.python.org/downloads/[instalarlo].
@ -4715,7 +4835,7 @@ En esta situación, existen diferentes métodos de recuperación que permiten vo
==== Preparación del cableado
En los siguientes pasos de recuperación se habla de conectar cables puente o USB-Blaster a la placa de ZXUNO+. Para ello, usar la siguiente imágen como referencia.
En los siguientes pasos de recuperación se habla de conectar cables puente o USB-Blaster a la placa de ZXUNO+. Para ello, usar la siguiente imagen como referencia.
[.text-center]
image:img/jtagzxunoplus.jpg[pdfwidth=80%]
@ -4770,7 +4890,7 @@ rm -rf ./openocd-code
<<<
[start=3]
. Conectar el USB-Blaster o los cables puente para GPIO <<#_preparación_del_cableado,tal y como se explica anterioremente>>. Si se va a hacer la conexión usando GPIO, abrir la carcasa del ZXUNO+ 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 <<#_preparación_del_cableado,tal y como se explica anteriormente>>. Si se va a hacer la conexión usando GPIO, abrir la carcasa del ZXUNO+ 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.
Si se hace conexión vía GPIO, tomar nota de los pines elegidos, teniendo cuidado de conectar `GND` con `GND`.
@ -4929,7 +5049,7 @@ En el caso de +UNO, como la configuración de la imagen de recuperación por def
*Software necesario*:
- Sistema MacOS
- Carpeta data adicional para UrJTAG, obtenido desde https://github.com/zxdos/zxdos-plus/blob/master/lx25/urjtag.zip[aqui]
- Carpeta data adicional para UrJTAG, obtenido desde https://github.com/zxdos/zxdos-plus/blob/master/lx25/urjtag.zip[aquí]
- https://brew.sh[Homebrew para MacOS]
- UrJTAG: según las instrucciones de https://n4abi.com/posts/2018-07-08-de0-nano-urjtag.html[este enlace]:
@ -4947,7 +5067,7 @@ cd urjtag
[start=2]
. Copiar la carpeta data adicional para UrJTAG, dentro de la carpeta data de urjtag.
. Lanzar el proceso de compilacion:
. Lanzar el proceso de compilación:
[source,shell]
----
@ -4957,7 +5077,7 @@ sudo make install
----
[start=4]
. Copiar el archivo `FLASH.ZX1` en la raiz de la tarjeta SD para el ZX-Uno.
. Copiar el archivo `FLASH.ZX1` en la raíz de la tarjeta SD para el ZX-Uno.
. Conectar el cable USB-Blaster al ZXUnCore y al Mac
@ -5045,7 +5165,7 @@ En el caso de +UNO, como la configuración de la imagen de recuperación por def
[NOTE]
====
En Linux, usando el mismo software UrJTAG, el proceso deberia ser similar, aunque en vez de instalar las dependencias (libftdi libusb pkg-config) mediante brew, se deberia hacer mediante apt, yum o similar
En Linux, usando el mismo software UrJTAG, el proceso debería ser similar, aunque en vez de instalar las dependencias (libftdi libusb pkg-config) mediante brew, se podría hacer utilizando apt, yum o similar
====
<<<
@ -5071,7 +5191,7 @@ En Linux, usando el mismo software UrJTAG, el proceso deberia ser similar, aunqu
. Descomprimir el software de UrJTAG, obtenido en https://github.com/zxdos/zxdos-plus/blob/master/lx25/urjtag.zip[el repositorio oficial]
. Copiar el archivo `FLASH.ZX1` en la raiz de la tarjeta SD para el ZX-Uno.
. Copiar el archivo `FLASH.ZX1` en la raíz de la tarjeta SD para el ZX-Uno.
. Conectar el cable USB-Blaster al ZXUnCore y al PC con Windows

27
doc/src/README.md Normal file
View File

@ -0,0 +1,27 @@
# Manual
## How to build this documentation
In order to make PDF and ePub files from the source code (`.adoc` files), folow these steps:
- Install [asciidoctor](https://asciidoctor.org), [asciidoctor PDF](https://asciidoctor.org/docs/asciidoctor-pdf/) and [asciidoctor EPUB3](https://asciidoctor.org/docs/asciidoctor-epub3/)
- Run on the shell commands like these (adjusting paths as needed):
asciidoctor-pdf -a pdf-stylesdir=... -a pdf-style=style.yml -o ".../build/English ZXUno4ALL Manual.pdf" index.adoc
asciidoctor-epub3 -o ".../build/English ZXUno4ALL Manual.epub" index.adoc
---
## Construcción de esta documentación
Para poder generar desde el código fuente (archivos `.adoc`), ficheros PDF y ePub, se han de seguir estos pasos (ajustando las rutas a directorios y ficheros según sea necesario):
- Instalar [asciidoctor](https://asciidoctor.org), [asciidoctor PDF](https://asciidoctor.org/docs/asciidoctor-pdf/) y [asciidoctor EPUB3](https://asciidoctor.org/docs/asciidoctor-epub3/)
- Ejecutar unos comandos similares a los siguientes
asciidoctor-epub3 -o ".../build/Manual de ZXUno4ALL.epub" indice.adoc
asciidoctor-pdf -a pdf-stylesdir=... -a pdf-style=style.yml -o ".../build/Manual de ZXUno4ALL.pdf" indice.adoc

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

BIN
doc/src/img/ondraspo1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

BIN
doc/src/img/ondraspo2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 446 B

View File

@ -34,9 +34,9 @@ A SD is needed in order to store the tape files to play. Fast cards (Class 10 or
The card must have the first partition formatted as FAT16 or FAT32.
Besides the card, you have to plug an appropriate audio cable to <<#_ports_and_connectors,ZXUNO+ audio input>>. It must have a 3.5 mm stero jack on one side, and two mono output on the other side (one for each audio channel). The right audio mono is connected to the Miniduino.
Besides the card, you have to plug an appropriate audio cable to <<#_ports_and_connectors,ZXUNO+ audio input>>. It must have a 3.5 mm stereo jack on one side, and two mono output on the other side (one for each audio channel). The right audio mono is connected to the Miniduino.
If you hava a device that can use motor control, you can also use a cable with a 2.6 mm jack.
If you have a device that can use motor control, you can also use a cable with a 2.6 mm jack.
Copy the tape files (`TAP`, `TZX`, `O`, `P`, `CAS`, `TSX`, etc) to the first partition of the SD card. They can be organized using folders or directories.
@ -81,10 +81,10 @@ image:img/MiniduinoPlay.jpg[pdfwidth=30%]
When in pause (tape block browser:
- Up and Down mov through the tape block files alreadey played (useful for multiload titles, to load a previous level block, for example)
- Up and Down mov through the tape block files already played (useful for multiload titles, to load a previous level block, for example)
- Left (Stop) cancels the player and goes back to file and directory browser mode
- Right (Play/Pause) continues playing from the selected block
- Press down the control butto to enable or disable turbo mode for MSX
- Press down the control button to enable or disable turbo mode for MSX
== Making TZX or TSX files from other formats
@ -146,7 +146,7 @@ If on Windows, install the USB device controller, running (with elevated privile
...\drivers\win\install_drivers.bat
----
On Linux, install with root privileeges the necessary `udev` rules:
On Linux, install with root privileges the necessary `udev` rules:
[source,shell]
----
@ -157,7 +157,7 @@ On MacOS, if Miniduino does not appear as USB device in Arduino ID when plugged,
<<<
Finaly, when on Mac or Linux, the file `maple_upload` inside `Arduino_STM32` has to be changed with a text editor. Those lines do not work:
Finally, when on Mac or Linux, the file `maple_upload` inside `Arduino_STM32` has to be changed with a text editor. Those lines do not work:
[source,shell]
----

View File

@ -69,7 +69,7 @@ image:img/MiniduinoVersion.jpg[pdfwidth=30%]
Con la reproducción detenida (navegación por archivos y directorios):
- Arriba y abajo permiten desplazarse por la lista actual de ficheros y directorios
- Izquierda (Stop) retrocede un nivel en el árbol de direcotorios
- Izquierda (Stop) retrocede un nivel en el árbol de directorios
- Derecha (Play/Pause) accede al contenido de un directorio o, si lo que hay seleccionado es un archivo, intenta reproducirlo
<<<
@ -82,7 +82,7 @@ image:img/MiniduinoPlay.jpg[pdfwidth=30%]
Con la reproducción en pausa (navegación por bloques de cinta):
- Arriba y abajo permiten desplazarse por los bloques del archivo de cinta que ya hayan sido reproducidos (útil para juegos multicarga, para volver a cargar un bloque de un nivel, por ejemplo)
- Izquierda (Stop) cancela la reprodución y entra de nuevo en el modo de navegación de archivos y directorios
- Izquierda (Stop) cancela la reproducción y entra de nuevo en el modo de navegación de archivos y directorios
- Derecha (Play/Pause) reanuda la reproducción en el bloque seleccionado
- Presionar directamente el botón de control permite activar o desactivar el modo turbo para MSX
@ -266,7 +266,7 @@ Verificar en el fichero `userconfig.h` que estén comentadas todas las entradas
<<<
Conectar el Miniduino al adaptador USBasp, asegurándose de que la serigrafía de los dos conectore se corresponde (ej: VCC con VCC, MOSI con MOSI, GND con GND, etc.), y conectar el adaptador USB al equipo.
Conectar el Miniduino al adaptador USBasp, asegurándose de que la serigrafía de los dos conectores se corresponde (ej: VCC con VCC, MOSI con MOSI, GND con GND, etc.), y conectar el adaptador USB al equipo.
[.text-center]
image:img/usbasp_2.jpg[pdfwidth=50%]