Džinova 8-bitová stránka
ARM2SID
What is it ?:
- A next logical step after succesful ARMSID. ARM2SID is based on the same blocks as ARMSID but one step more advanced blocks.
- Thanks to them, it added the possibility of emulating up to two additional chips and / or FM synthesis with OPL2.
- Like ARMSID, ARM2SID is a replacement for the MOS6581 and MOS8580 circuits used in Commodore C64/C128. It comes again in a minimalist form, but it can do a lot more.
- It can replace up to 3 chips at the same time, it can also emulate SFX sound expander as well as the newer FM-YAM clone.
- SIDs emulation itself is the same as with ARMSID, so emulation features can be read on its page.
- Firmware update possible inside the C64/C128.
- Now available here.
What is inside ?:
- A few resistors, capacitors, one stabilizer, one opamp and a processor. That's all, parts only from one side.
- STM32F446 processor (180MHz almost two times faster than ARMSID, 2x more FLASH memory and 4x more RAM, more pins, 2x 12bit DAC).
- The analog output is provided by the AD8646 audio amplifier (now in stereo).
- The 3.3V stabilizer, the processor itself has 5V tolerant inputs.
- There is an expansion connector on the board, you can either connect through it a second socket with a second control signals (chip-select and R/W) plus a second audio output or you can connect the connector to the appropriate signals on the computer board directly without another socket (especially if the computer hasn't a second socket).
- Block schematic in PDF here:

Firmware:
- Actual FW 3.12 from 9.9.2020 here. Or as a floppy disk image. Or here in zip.
- A new configuration utility is here. Update application and configuration utility both zipped here.
- Digifix in MOS8580 emulation is now configurable. By the software it can be set to a few levels including inverse polarities.
- But now it's controled by external pin current by default (as a real MOS6581 is). If you miss it, just set it by the configuration program as you want.
- Digifix for MOS8580 is required for example in the Ghostbusters game, but most of the games, demos and music (specially new ones) is not counting with Digifix and can produce some additional noises and hum.
- In this FW is finished the hotfix in noise generation (test bit) from previous FW, now is no sound missing for example in the TestBit_4x.sid.
- Last but not least, there are fixed inner analog offsets in the MOS6581 emulation. And now there is less distortion in some demos (for example Mahoney - Musik Run/Stop) and no more clicks in some games music (for example Bubble Bobble).
- A small fix in tone counters updates in the fast changes.
- Fixed setting of the lowest filter frequency for MOS6581 emulation (sometimes the simulation did not match the settings).
- Previous FW 3.8 from 24.3.2020 here. Or here in zip.
- Fixed a bug from older versions in the values generation of the register OSC3 during a noise waveform. Reported in the game Paradroid.
- Older FW 3.7 from 19.1.2020 is here.
- Compared to version 3.6, only marginal changes, added reading of OSC3 and ENV3 registers to the third SID emulation, some fix for older bootloaders, a simplified user interface for the update application.
- Compared to version 3.5, a quick response in stereo mode was added (when using a second socket), the dual-mono mode is activated without timeout when both socket is addressed in the same time.
- Also upper addresses mapping is fixed in the update (sometimes misaligned address detection in the update application).
- Update application and configuration program zipped here.
- For the update, just upload to the C64/C128, run it and follow the instructions.
- If you have wired A5/A8 address lines, you can try 3SID files modified for D400h, D420h, and D500h addresses. Download here.
Configuration:
- New version of the tester and configuration program is here (source code is here).
- Multiple ARM2SIDs channels detection added to the program (addresses D400h, D420h and D500h + fixed a false-positive detection on some address). If there are two or more ARM2SID channels than a choice is shown before the first screen:
- If only one ARM2SID channel is detected, the choice is omitted and the first screen is started immediately.
- The first screen from the configuration program:
- It is possible to change the emulated chip MOS6581 or MOS8580 or leave it on the automatic according to the supply voltage (set when the power is turned on).
- In this new version, we can save the settings permanently (into flash memory) to continue with this settings even after next power on.
- New features - low frequency limit and filter strength - are located on a new screen accessible by pressing the E key:
- The filter strength for MOS6581 corresponds with measurements published here.
- For MOS6581 the strength of the filter can be decreased or increased totally in fifteen steps (-7 to +7), the lower frequency limit can be set to 150,215 and 310Hz, for MOS8580 and center frequency settings the filter can be tuned from 3kHz to 12kHz in seven steps (cca 1/3 octave/step) and the lowest frequency tuning in seven steps from 30 to 330Hz. An example of other than default settings is here (controlled by cursor keys):
- It is now possible to set Digifix for MOS8580 emulation in the configuration, we can get to it via the D key from the main menu:
- Digifix can be set either by an externally grounded resistor on the external pin (as for the real MOS8580) or we can switch to software emulation and set the level in a few steps manually (one of the options is 0%, ie off):
- This configuration can be saved (by key S) to the RAM of ARMSID, so it can hold it to the next switch off only:
- Or we can save it (by key P) permanently (to the flash memory) to hold the configuration after the power off:
- Important page for ARM2SID is the address mapping setings (by pushing key M from the main page), the default settings looks like:
- If you have the ARM2SID with two socket, it's necessary to change PIN CONNECTIONS setting from WIRE to SOCKET:
- And for stereo settings choose for the second socket emulation SIDR:
- The configuration can be stored again by pressing key P permanently or by key S till the power-off (recomended for a new settings test, if everything works as it should, save it permanently).
- For the case of direct connecting of signals A5,A8 (to processor pins) and CS2, R/W2, IO (to pins of computers expansion bus) you leave the setting on WIRE. Than you can choose an emulation for every decoded address, here is an example for playing 3SID tracks on addresses D400(left),D420(right) and D500(center):
- Through the setting EMULATION MODE you can choose an emaulation of SIDs (pictures up to this point), SFX sound expander:
- Or combination of one SID (in the left channel) and SFX (right channel):
- If you need it you can combine stereo channels to one mono channel (both channels are the same) by switching DOWN-MIX TO MONO to ON.
- All settings will take effects in emulation only after saving it by key S to RAM or by key P to save to permanent flash memory.
<= zpìt