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).
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.
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.
The first revision of the board contains two errors that need to be fixed for correct computer operation.
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:
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:
Minimum requirements:
VGA connector | SCART connector | Assignment |
---|---|---|
1 | 15 | R |
2 | 11 | G |
3 | 7 | B |
6 | 13 | R GND |
7 | 9 | G GND |
8 | 5 | B GND |
14 | 20 | PAL SYNC |
13 | 16 | RGB SWITCH |
5 | 8 | GND (TV/AV) |
10 | 17,18 | GND |
If there are not enough wires, you can combine all ground connections into one.
S-Video connector | SCART connector | Assignment |
---|---|---|
1 | 17 | GND Y |
2 | 13 | GND C |
3 | 20 | Y |
4 | 15 | C |
1,2 | 16 | GND (RGB SWITCH) |
1,2 | 8 | GND (TV/AV) |
1,2 | 18 | GND |
Audio connector | SCART connector | Assignment |
---|---|---|
1 | 4 | GND |
2 | 2 | RIGHT |
3 | 6 | LEFT |
Compatible with Atari and SEGA joysticks with 9-pin connector (female). Assignment of pins:
DB9 | Assignment |
---|---|
1 | UP |
2 | DOWN |
3 | LEFT |
4 | RIGHT |
5 | +5V |
6 | BUTTON A/B |
7 | SELECT |
8 | GND |
9 | BUTTON START/C |
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:
str750prog.exe --port COM2 --write --address 0x20000000 speccy2010_boot.binReplace the port number with the correct one;
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).
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.
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).
Not recommended, but possible.
str750prog.exe --port COM2 --write --address 0x20008000 speccy2010.binReplace the port number with the correct one;
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
No. The board won't break.
Close the jumper XS10 - card must be inserted and jumper XS7 removed. Downloading only takes a few seconds.
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... >
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:
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.
Go into the settings menu (F9), set the correct value in the section \ABAudio DAC mode\BB. Most likely this will be \ABTDA1543\BB. Also pay attention to all the other settings. To exit the menu, press ESC.
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.
Press F6 between blocks of program loading - it will reset the attributes on the screen to the value of "black on white".
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).
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.
Classic 48k, classic 128k, Pentagon 1024k.
http://code.google.com/p/speccy2010/
Yes. The source code can be downloaded as follows:
svn checkout http://speccy2010.googlecode.com/svn/trunk/ speccy2010-read-onlyTo do this you need to install the subversion client. This is a small, but very simple program.
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.
Download the source code and change / append.
Email me, we'll work something out.