
The return of the Hybrid Sid Player by xAD/Nightfall & Gianluca Renzi (RetroBit Lab)
Basato sul progetto di Markus Gritsch pubblicato negli anni 2011-2015 sul forum dangerousprotypes. Grazie Markus.
Changelog:
v1.13 – 3/8/2021
Added:
- Illegal/undocumented opcodes to the CPU Emulator:
- RLA (Combination of two operations with the same addressing mode (Sub-instructions: ROL, AND))
- From an idea of Faber Pixel we have also added other information of the SID file on the small OLED screen (information available in the header of the file).
- With a frequency approximately of 7 seconds, the Load Range, Init Address and Play Address in hex addresses will be displayed on the screen alternating with the information of the SID Name, Author and Copyright.
Sample:
- Range: $1000-$2275
- Init Address: $1000
- Play Address: $1003
Obviously the displayed address range is the real memory occupation.
Fixed:
- The visualization of the SID Model of the tune that is playing every 5 seconds alternated between the playback mode icon. (Thanks Gianluca Renzi)
- Missing the file error handling in the subSong subroutine.

The return of the Hybrid Sid Player by xAD/Nightfall & Gianluca Renzi (RetroBit Lab)
Basato sul progetto di Markus Gritsch pubblicato negli anni 2011-2015 sul forum dangerousprotypes. Grazie Markus.
Changelog:
v1.12 – 18/07/2021
Updated:
- Improved a little bit the file error handling.
- If you try to load a SID Stereo file a message “Stereo SID detected, but cannot play it!” will be displayed on the OLED screen.
- Modified the modality of visualization of the SID Model of the tune that is playing.
- Now the display of the SID Model is alternated between the playback mode icon approximately every 5 seconds.
Added:
- Message during the boot that warns a checking of the USB storage and the correct filesystem mounting of the USB pen drive.
- Added six duplicate and probably useless opCodes, we are speaking about the “NOP” (they are $1A, $3A, $5A, $7A, $DA and $FA)
- Added one opcode absolutely useless for our use, we are speaking about the “JAM”.
Fixed:
- Fixed some opCodes Addressing mode (Accumulator Addressing instead of Immediate Addressing)

The return of the Hybrid Sid Player by xAD/Nightfall & Gianluca Renzi (RetroBit Lab)
Basato sul progetto di Markus Gritsch pubblicato negli anni 2011-2015 sul forum dangerousprotypes. Grazie Markus.
Changelog:
v1.11 – 22/06/2021
Updated:
- Decreased more than before the brightness of the display after 10 seconds if no activity is done on the buttons or encoder.
- Slighty improved the timing (CPU cycle) of the 6510 emulator but we are far from my perception of absolute perfection :-D
Added:
- Illegal/undocumented opcodes to the CPU Emulator:
- RRA (Combination of two operations with the same addressing mode (Sub-instructions: ADC, ROR))
- Automatic hardware SID switch between ZIF Socket #1 and ZIF Socket #2 (example if it is made only for 6581 or 8580).
- This features is included in the prototype pcb. The swap will be displayed by a led placed on the lower part of the ZIF Socket.
- Improved a little bit the file error handling.
- If you try to load a file not supported a message “Wrong file format” will be displayed on the screen.
- If you try to load a RSID file format a message “RSID detected, but cannot play it!” will be displayed on the screen.

The return of the Hybrid Sid Player by xAD/Nightfall & Gianluca Renzi (RetroBit Lab)
Basato sul progetto di Markus Gritsch pubblicato negli anni 2011-2015 sul forum dangerousprotypes. Grazie Markus.
Changelog:
v1.1 – 30/05/2021
Added:
Firmware Upgrade.
- The update can be done in three ways, one is automatic.
- 1) The automatic firmware installation is done in case the bootloader doesn’t find any valid application installed.
- 2) By pressing the SW1 button at the same time with the reset button or at power-on and released it.
- 3) Using the file browser (the same used to browse the *.SID / *.DMP files), just choose the file with the firmware and it will be installed.
- A status bar with a scrolling bits displays the writing status of the firmware.
- The firmware update file must be copied and NOT renamed to the root directory of the USB flash drive.
- Added some illegal/undocumented opcodes to the CPU Emulator:
- SRE (LSE) Combination of two operations with the same addressing mode (Sub-instructions: EOR, LSR)
- DCP Combination of two operations with the same addressing mode (Sub-instructions: CMP, DEC)

The return of the Hybrid Sid Player by xAD/Nightfall & Gianluca Renzi (RetroBit Lab)
Basato sul progetto di Markus Gritsch pubblicato negli anni 2011-2015 sul forum dangerousprotypes. Grazie Markus.
Changelog:
v1.05 – 18/05/2021
Updated:
- Made a single subroutine for the index eeprom write instead of repeating it many times in the code.
- Increased the display time of the sid model to 3 seconds.
- The action to clean the data in the eeprom has been changed.
- Now for reset the default settings just hold down the MODE button during boot until the message “Reset Default Settings” appears and then release it, the player will reboot.
Added:
- Faster than hell! :D
- Now when you are in the browsing sid files section you can also use the PREVIOUS or NEXT buttons to quickly scroll the list in both directions.
- You are Sleeping ? :D
- If you fall asleep while you listening a SID tunes and you are in the browsing sid files section after 30 seconds the player will automatically switch to the tuneinfo/vu-meter view mode. (available only if you are playing SID o SID/DIGI tunes , no DMP)
- Added some illegal/undocumented opcodes to the CPU Emulator:
- SHA
- SHS
- SBC ($EB)
- ASR
- ANC
- ARR
Fixed:
- The playing time of a song runs even if it wasn’t playing anything, this happen only at the first time when you power-on or reset the player and you haven’t chosen a song to listen yet.
- Fixed SBC & ASL and some others cpu opcode.
- Finally also these sid tune now works correctly:

The return of the Hybrid Sid Player by xAD/Nightfall & Gianluca Renzi (RetroBit Lab)
Basato sul progetto di Markus Gritsch pubblicato negli anni 2011-2015 sul forum dangerousprotypes. Grazie Markus.
Changelog:
v1.04 – 02/05/2021
Updated:
- Browsing files enhancement.
- There is no longer block on the first and last file of the list, it resumes browsing from the first or last (like Next/Previous).
- Improved a slight the timing of writing on the real SID (CS – Chip Select Signal).
Added:
- Reset Default Settings (Clear EEPROM Data).
- When you are in the BROWSER mode hold the MODE button for 4 seconds and the player clean all data in the eeprom and reboot.
- Added some illegal/undocumented opcodes to the CPU Emulator:
- SLO
- AXS (SBX) *1
- LAX *1
- SAX *2
- SHY
- SHX
- Finally these sid tune now works correctly:
- Wasted_All_These_Years (*1 & *2)
- Party_Horse (*1 & *2)
- Lunatico_side_1 (*1)
- Intertwined (*1 & *2)
Fixed:
- The problem of a folder with more than 255 sid files, starting from the 256th the index is not written to the eeprom.
Hybrid SID Player con SID 8580R5 e dev board Olimex PIC32-T795:
Dopo aver provato il SID Player di Bakisha e aver aggiunto alcune funzionalità (es: Big LCD ILI9341 / Real Sid) il tutto ovviamente con l’aiuto di Bakisha, grazie Branko
Ho voluto anche provare l’Hybrid SID Player di Markus Gritsch. Lo schema (omettendo alcuni componenti) e il firmware sono rimasti invariati e sono stati rilasciati alcuni anni fa (2011-2012) da Markus Gritsch nel forum di Dangerous Prototype.
Poiché la scheda DEV CUI32 dove era stato sviluppato l’Hybrid SID Player non è più disponibile da molti anni, ho utilizzato la scheda DEV PIC32-T795 di Olimex basata sullo stessa MCU PIC32MX795F512H.
Ho dovuto fare un hack sulla scheda di sviluppo PIC32-T795 perche’ i due piedini della MCU utilizzati per l’encoder rotativo non erano disponibili perche’ utilizzati per l’RTC, mi e’ bastato rimuovere dalla scheda PIC32-T795 il MHz Crystal e due condensatori, quindi ho dovuto saldare due fili direttamente sul pcb della dev board.
Lo scopo di tutti questi esperimenti è apportare alcune modifiche hardware e nuove implementazioni al progetto finale che sceglierò e quindi creare un circuito stampato all-in-one e renderlo pubblico a chiunque voglia costruirlo.
Gallery:
Video:
Continuano gli esperimenti con STM32 e il SID Player di Bakisha. Ringrazio Branko (Bakisha) per il supporto e la pazienza.
Ho aggiunto il supporto LCD (ILI9341) per il SID Player sulla STM32F407VET6 DEV Board.

… e un SID esterno per il SID Player sulla STM32F401CCU6 DEV Board.

Ho utilizzato l’ARMSID di Nobomi, ma funziona discretamente anche con il SID 8580R5, si evidenziano solo alcuni problemi di Timing che bisogna sistemare.
STM32F407VET6 SID Player + LCD (ILI9341) Video:
STM32F401CCU6 SID Player + ARMSID Video:
Ho voluto provare il SID Player di Bakisha anche con la Development Board basata su MCU STM32F407VET6 (post precedente: STM32F401CCU6) ARM Cortex-M4 a 32bit che funziona a frequenze fino a 168 MHz.
Dopo alcune modifiche hardware e software sono riuscito a utilizzare il supporto SD Card, pulsanti e LED presenti sul pcb.
Quello che vorrei fare e’ installare uno schermo LCD TFT compatibile con questa DEV Board e modificare il software per visualizzare le varie informazioni che ora vengono inviate tramite seriale.
L’MCUs di questa DEV Board arriva fino una frequenza di 168 Mhz e di conseguenza non dovrei avere problemi a gestire lo schermo LCD senza portare via cicli preziosi al SID Player.
Vi lascio ad alcune foto e un video.
Gallery:
SDCARD SDIO (Native) to SPI1 Pins:

Video:
source: github.com/Bakisha/STM32-SID-PLAYER
STM32 (Arm Cortex MCUs) SID Player di Bakisha.
Emulatore SID (6581/8580) e CPU 6502 per STM32 (MCU Arm Cortex). Compilato con Arduino IDE e caricato con ST-LINK V2.
NOTA:
Ho aggiunto al codice originale di Bakisha la visualizzazione delle 3 voci SID tramite 3 x LED verdi.
Inutile scrivere altro, guarda il Video e le Foto.
Un ringraziamento speciale va a Bakisha per il grande lavoro che ha fatto.
Componenti utilizzati per questo progetto:
- 1 x BreadBoard.
- 1 x STM32F401CCU6 (STM32 Black Pill) or STM32F407VET6
- 18 x BreadBoard jumper.
- 1 x SD Card Module.
- 3 x Green LED.
- 1 x Resistor (100 Ohm)
- 1 x Capacitor (100 nF)
- 1 x Capacitor (10 uF – 16v)
- 1 x Potentiometer (10KOhm)
- 1 x Jack Audio 3.5 Female.
Puoi trovare lo schema
qui
Gallery:
Video:
source: github.com/Bakisha/STM32-SID-PLAYER
Recent Comments