Speccy2010: Frequently Asked Questions

Original Russian text by Syd, taken from the Speccy2010 documentation package (latest version available from Speccy2010 downloads). Translated by Gasman (with a little help from Google Translate).

1. I got a blank Speccy2010_r2 board, what to do next?

Obtain components and perform assembly. Speccy2010_r2.bom.pdf file contains a list of items, the file Speccy2010_r2.pcb.pdf - their position on the board. You may need the schematic, in the file Speccy2010_r2.sch.pdf.

2. Why does the list not include all items that are in the schematic?

Some items are not required to build the basic version. They are not in the list. Also on the PCB, some components are substituted with alternative parts, to keep the item as an affordable package.

3. I have the first revision of the board - what to do?

The first revision of the board contains two errors that need to be fixed for correct computer operation.

  1. The TDA1543 was wrongly powered with 3.3 volts - it needs 5.0V. To fix, cut the track to pin 5 of TDA1543 (marked in red) and connect a wire to 5V (marked in yellow).

    If you use the chip in a DIP8 package, the patch looks like this:

    If you use the chip in a SO16 package, the patch looks like this:

  2. Generator 20 MHz collected on a single inverter 74HCU04 does not work consistently. This manifests itself in trembling lines and periodic errors when working with the SDRAM. To correct, you should insert at least one more inverter (there are 5 available) between the generator and the clock input of the FPGA. One of the options for modifying the layout:

4. I have already assembled the board - what else do I need?

Minimum requirements:

5. There are many connectors on the motherboard. How do I connect them?

6. How do I connect the Speccy2010 to a TV via SCART cable, using the RGB output?

VGA connectorSCART connectorAssignment
115R
211G
37B
613R GND
79G GND
85B GND
1420PAL SYNC
1316RGB SWITCH
58GND (TV/AV)
1017,18GND

If there are not enough wires, you can combine all ground connections into one.

Pin numbering on the VGA connector (view from cable side - male).
Pin numbering on the SCART connector (view from cable side - male).

7. How do I connect the Speccy2010 to a TV via SCART cable, using the S-Video output?

S-Video connectorSCART connectorAssignment
117GND Y
213GND C
320Y
415C
1,216GND (RGB SWITCH)
1,28GND (TV/AV)
1,218GND
Pin 1: GND / Ground (Y). Pin 2: GND / Ground (C). Pin 3: Y / Intensity (Luminance). Pin 4: C / Color (Chrominance).
Pin numbering on the S-Video connector.

8. How to connect up the SCART audio?

Audio connectorSCART connectorAssignment
14GND
22RIGHT
36LEFT
Pin numbering on the TRS connector.

9. And what does the joystick port look like?

Compatible with Atari and SEGA joysticks with 9-pin connector (female). Assignment of pins:

DB9Assignment
1UP
2DOWN
3LEFT
4RIGHT
5+5V
6BUTTON A/B
7SELECT
8GND
9BUTTON START/C
Pin numbering on the DB9 female connector.

10. I'm all hooked up, what next?

The first thing is to install the firmware bootloader into the microcontroller. Firmware version 41 and later will not work without the bootloader. To do this:

11. What should be written on the SD card in order to start up?

A set of firmware (from the archive speccy2010-bin-revXXXX) in the root directory:

ROM images in a directory 'roms':

Disk images (formats trd, fdi, scl), tapes (tap, tzx) and RAM dumps (sna).

12. How to update the firmware of the microcontroller and FPGA?

Just replace the firmware files in the root directory of the new card. Firmware updates will occur during the next boot. Attention! If the firmware revision you had before updating was 40 or below, you must first flash the bootloader as described in section 10. All future updates will only require copying new speccy2010.bin, speccy2010.rbf and speccy2010.hlp onto the card.

13. How do I find out the current firmware version?

Run terminal and get a boot log. Also, starting with revision 41 the version of the firmware is displayed at the startup of the explorer (F12).

14. Can I upgrade the firmware of the microcontroller via USB (old way)?

Not recommended, but possible.

15. And what to do with the old firmware (revision 40 and below)?

This firmware will not work with the bootloader, and if for some reason you need to return to an older version, it needs to be flashed over USB using the command:

str750prog.exe --port COM2 --write --address 0x20000000 speccy2010.bin

16. Can you break the board by doing something wrong when flashing the firmware?

No. The board won't break.

17. How to turn on the computer?

Close the jumper XS10 - card must be inserted and jumper XS7 removed. Downloading only takes a few seconds.

18. I have assembled the board and I am ready to run it, what can I use for debugging?

You can run any terminal (e.g. Tera Term) and connect it to the port used to program the microcontroller. The transfer rate of the port is 115200. The log shows a set of diagnostics. Normal log looks something like this:

	Speccy2010 boot ver 1.0!
	SD card init OK..
	Skipping firmware upgrade.
	Speccy2010, ver 1.0, rev xx !
	SD card init OK..
	FPGA configuration started...
	FPGA configuration status OK...
	.................................FPGA configuration conf done...
	FPGA configuration finished...
	FPGA clock - 19.99762 MHz
	FPGA PLL clock - 83.99002 MHz
	ROM configuration started...
	ROM configuration finished...
	>

19. Something is wrong - in the logs there is a message: "SD card init error :(!"...

If the SD card is not on the board, then this is expected. If the card is present, there's a problem with the signal SD_CP (card present). If your SD slot is missing signals SD_CP and SD_WP, then to function correctly the respective contact pads must be connected to 0V. For example, as suggested by zst:

20. A few seconds passed, but the picture does not appear - the log is all correct, what to do?

You may need to switch the video output mode.

The selected mode is stored in the settings and restored automatically the next time you turn on.

21. The picture appeared, but no sound, what to do?

Go into the settings menu (F9), set the correct value in the section «Audio DAC mode». Most likely this will be «TDA1543». Also pay attention to all the other settings. To exit the menu, press ESC.

22. And how to run a game?

If it is a tape image in tap or tzx format - go to the explorer (F12), press ENTER at the desired file. Type LOAD "". Hit ENTER. Start playing the tape with the "+" key. To stop the tape, use "-". Pressing "-" again continues to play tapes from the place where it was stopped.

If it's a RAM dump (snapshot) in sna format - go to the explorer (F12), press ENTER at the desired file - the snapshot will load and run.

If it is a disk image in trd, fdi, scl format - go to the explorer (F12), press ENTER at the desired file - the image is mounted to drive A and TRDOS starts automatically. If you want to mount the image without rebooting, this is done by pressing "1" - "4" (drive A - D, respectively) on the selected file in the explorer window.

23. I want to see loading screens loading line-by-line, what to do?

Press F6 between blocks of program loading - it will reset the attributes on the screen to the value of "black on white".

24. All the time I die and have to play from the start, what to do?

For this purpose you have the ability to store a memory dump (snapshot) in sna format, and then at any time, you can load it back, and continue to play from your favourite places. This is done by pressing F11. In the dump all 8 pages of RAM are saved, along with all registers, and neither the stack nor the screen area are corrupted. It is also possible to save the RAM dump in sna format with a fixed name - Alt + number (0..9).

25. How to specify a name when you save the sna file?

Use the key combination Shift + F11. If the name contains digits at the end (before the extension), and you subsequently save a dump with the F11 key, this number will increase. If no name is specified, then it will be saved under a name generated automatically based on the name of the last saved snapshot / image. If the first character of the name is "/" it is interpreted as a full path - otherwise the file written to the current directory.

26. What are the keys?

27. What are the keys to the Explorer?

28. How to use hex editor?

29. What memory options are implemented?

Classic 48k, classic 128k, Pentagon 1024k.

30. And where to get the latest firmware?

http://code.google.com/p/speccy2010/

31. Is firmware source code available?

Yes. The source code can be downloaded as follows:

svn checkout http://speccy2010.googlecode.com/svn/trunk/ speccy2010-read-only
To do this you need to install the subversion client. This is a small, but very simple program.

32. How to compile the firmware?

Compiling the FPGA firmware requires Quartus. I'm using Quartus 9.1. Firmware for the microcontroller is compiled with the opensource GCC compiler. I use the free Lite assembler from CodeSourcery (EABI version) for Windows in conjunction with the best opensource development environment for C / C++ - code::blocks.

33. I want to change / add something in the firmware, but what to do?

Download the source code and change / append.

34. I want to participate in the project.

Email me, we'll work something out.

35. Where can I ask a question not answered here?

On the best forum of the ZX Spectrum and its clones!