Archive

Archive for the ‘Projects / Repairs’ Category

The return of the Hybrid Sid Player Firmware update v1.14

August 23rd, 2021 No comments

The return of the Hybrid Sid Player by xAD/Nightfall & Gianluca Renzi (RetroBit Lab)

Based on the Project and Hardware Schematic by Markus Gritsch released in the years 2011-2015 on the forum dangerousprototypes. Thanks Markus.

Changelog:

v1.14 – 22/8/2021

Added:

  • Illegal/undocumented opcodes to the CPU Emulator:
    • ISC (Combination of two operations with the same addressing mode: INC, followed by SBC)
  • Display emulation clock:
    • I used the same position of the OLED display where the sid Subtunes are displayed (if are present), otherwise if the song doesn’t support subtunes it will displayed in the same position the type of clock speed emulation: |CIA| or |VBI|.

Fixed:

  • DMP files additional information:
    • Display of additional information of the SID when a DMP files is played but there are no additional information to display in the header of the DMP files.
  • CPU timing:
    • Some months ago when i wanted to fix the timing of the 6510 CPU emulator i made an unforgivable huge mistake :-D
  • Random Playing Mode:
    • The load routine try to load a index of a file that don’t exist and everything freeze.
  • File error handling:
    • When an load error occurs and you are in the TUNEINFO mode the player don’t back to the FILE Browsing mode.

The return of the Hybrid Sid Player Firmware update v1.13

August 6th, 2021 No comments

The return of the Hybrid Sid Player by xAD/Nightfall & Gianluca Renzi (RetroBit Lab)

Based on the Project and Hardware Schematic by Markus Gritsch released in the years 2011-2015 on the forum dangerousprototypes. Thanks 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 Firmware update v1.12

July 24th, 2021 No comments

The return of the Hybrid Sid Player by xAD/Nightfall & Gianluca Renzi (RetroBit Lab)

Based on the Project and Hardware Schematic by Markus Gritsch released in the years 2011-2015 on the forum dangerousprototypes. Thanks 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 Firmware update v1.11

July 3rd, 2021 2 comments

The return of the Hybrid Sid Player by xAD/Nightfall & Gianluca Renzi (RetroBit Lab)

Based on the Project and Hardware Schematic by Markus Gritsch released in the years 2011-2015 on the forum dangerousprototypes. Thanks 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 Firmware update v1.1

June 13th, 2021 No comments

The return of the Hybrid Sid Player by xAD/Nightfall & Gianluca Renzi (RetroBit Lab)

Based on the Project and Hardware Schematic by Markus Gritsch released in the years 2011-2015 on the forum dangerousprototypes. Thanks 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)

A usual Amiga Recap (A1200-A600)

May 29th, 2021 1 comment
A usual Amiga Recap (A1200-A600)

This is the usual post about replacing Amiga Electrolytic Capacitors.

Unlike the Amiga 1200 which had no problem with acid leaking from the capacitors but in any case i have replaced them, the Amiga 600 is in a dramatic state but with a little patience and a good cleaning everything started working perfectly again.

Yes, to remove the capacitors i did the much-hated “twist” of the component, ok, having said that, the job went well so don’t broken my balls, thanks.

Gallery of the repair:

The return of the Hybrid Sid Player Firmware update v1.05

May 19th, 2021 No comments

The return of the Hybrid Sid Player by xAD/Nightfall & Gianluca Renzi (RetroBit Lab)

Based on the Project and Hardware Schematic by Markus Gritsch released in the years 2011-2015 on the forum dangerousprototypes. Thanks 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 return of the Hybrid Sid Player Firmware update v1.04

The return of the Hybrid Sid Player by xAD/Nightfall & Gianluca Renzi (RetroBit Lab)

Based on the Project and Hardware Schematic by Markus Gritsch released in the years 2011-2015 on the forum dangerousprototypes. Thanks 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.

How was born the project The Return of the Hybrid SID Player?

April 28th, 2021 7 comments
The Return of the Hybrid SID Player

In this post i will briefly try to summarize the history of the project “The Return of the Hybrid SID Player”.

I have always had the monkey to build a standalone SID Player that was not completely emulated, yes, i am a Purist of SID music and SID sound CHIP (6581/8580).

In recent years i have tried several SID Players and in the last period i have focused on Bakisha’s SID emulator (based on STM32F407VET6 MCU which i love) upgrading it by adding an ILI9341 OLED display and some information and sound light on the screen.

Using the same project, but this time using the STM32F401CCU6 MCU, i have added the possibility to run with a Real external SID (thank you Bakisha for the precious support).

Unfortunately the Player had remained in an embryonic stage, at least compared to what i had in mind and to the expectations that i believe should be had from a software of that type.

After searching on the net (to avoid wasting time reinventing the wheel) i found the Hybrid Sid Player project by Markus Gritsch, published on the Dangerousprototypes forum and released between 2011 – 2015.

Markus’s project included, in addition to the emulation of the SID also the use of a real external SID, an OLED display, a File Browser with the possibility of using a Rotary Encoder and VU-METER, SID Digi in PSID format (pre HVSC #50), and SID with multi Tunes, as well as a proprietary file format called DMP, which also allowed you to listen (after a simple conversion) the SID files in the new RSID format.

Unfortunately the CUI32 DEV Board on which the Player was developed has not been available from many years, so to assemble the project i have used the Olimex DEV Board PIC32-T795, based on the same MCU Microchip PIC32MX795F512H.

The Return of the Hybrid SID Player

Everything ran pretty much immediately, but unfortunately some important features were missing. I thought of contacting Markus to find out if he was willing to continue with the project, but unfortunately he was no longer interested and, by the way, surprised that the source would also compile with the latest Microchip’s new MPLAB X IDE.

At that point i couldn’t help but slowly start reading and understanding the source code he wrote to add several features (which you can read in the changelog below).

Once i reached a good stability of the firmware i said to myself: now we need to do the PCB! i can’t keep everything on the breadboard, as it is definitely not recommended to work with Analog audio signals on a Breadboard, especially if you are a sound and SID purist!

Alone, however, i would never have been able to carry out such a project, i absolutely needed a hand. So i decided to contact Gianluca Renzi of RetroBit Lab, a person with an excellent experience in Electronics, PCB design and Programming. He liked my idea right away, and he took the project to heart by drawing the wiring diagram from scratch, taking care of the choice of components and taking care of some critical power supply sections. I am not going to list all the tests we have done but i guarantee you that they have been many!

Meticulous and paranoid both i and Gianluca, probably i’m more Paranoid than Gianluca :D, after several months, we were able to give birth to the prototype of the PCB that you can see below.

Currently there is no the PCB and the relative assembly of components, test its operation and in case of problems, apply some flying fixes, correct the wiring diagram and consequently the PCB.

The last step will be to write a short documentation and release everything on GITHUB, so that anyone can have the opportunity to build their own SID Player and, important note, to add features to the software, fix bugs or, why not, also rewrite everything from scratch! The PCB allows it and has been designed to be dynamic and adapt to the imagination and needs of the programmer.

Gallery:

Video:

…more video here.

Changelog:

The return of the Hybrid Sid Player by xAD/Nightfall & Gianluca Renzi (RetroBitLab)

Based on the Project and Hardware Schematic by Markus Gritsch released in the years 2011-2015 on the forum dangerousprototypes. Thanks Markus.

v1.03 – 01/04/2021

Updated:

- Reset Timer when the MODE key is pressed for the following modes: SEQUENTIAL – RANDOM – INTRO.
- Replaced the code for the EEPROM emulator with a real EEPROM 24LC256 (BitBang/I2c Mode). No more Timing Problem.

Added:

- Serial Debug via UART1 (RD3).
  The firmware will be released in two differents versions, one with the Debug enabled and one without.
- Splash Screen Logo.
- New fourth choice for the button MODE, it’s called The INTRO mode. (i like it!)
  It will play the first 15 seconds of the SID and then automatically select a new one at Random.
  If you like the SID you are listening to just press the MODE button to switch to Manual MODE and the SID will not change.
  This option remindful the old MP3 players that had the INTRO option to listen the first 30 seconds of the music track.
 
Fixed:

- Missing INCLUDE to remove the error “unable to resolve the symbol… tolower()” but MPLABX compile the code anyway :D
- The label of the SID Model Version in case the sid have subsongs is too large, fixed with a workaround. I am realizing now this OLED screen is too small :-D

Various:

- Cleaned up a bit the code with some unused functions.

v1.02 – 04/03/2021

Updated:

- Changed connection of Buttons [Previous|Next] (RB0 & RB1) because are conflict with the ICSP (thanks Gianluca Renzi [Te lo avevo detto! :D]) to RB3 and RB4,
  RB2 is already used by the MODE button.

Fixed:

- Reset timer when the playing MODE is changed.
- SID Model Version displayed accidentally when the playing MODE is changed.
- Pseudo Random.
- *DMP (Dump) Custom File Format Broken in the previous version v1.01.

* The DMP is a custom file of the original RSID format after a conversion.
  More information here: http://dangerousprototypes.com/forum/index.php?topic=2197.msg41618#msg41618

Various:

- Optimizing code.

v1.01 – 23/02/2021

Added:

- Button MODE for choose how to play the song: MANUAL – SEQUENTIAL – RANDOM.
  Since can’t implement songlenghts, the song changes every 2 minutes.

v1.0 – 09/02/2021

Updated:

- Adjusted Brightness when is used a OLED Display 1.3″
- 2 Secs wait time for the SpashScreen.
- Modified Splash Screen.

Added:

- Button for Next SID in the same folder and it start from the first one when reach the last one.
- Button for Previous SID in the same folder and it start from the last one when reach the first one.
- SID Model Version when Playing a SID, displayed the firsten 3 seconds and then show again the play icon .

Todo:

- Draw a Circuit Diagram with some enhancements and make a Prototype PCB and share the project for all. *This is NOT a commercial project*

- Update the FATFS Library by ChaN
– http://elm-chan.org/fsw/ff/00index_e.html

- Add Illegal Opcodes to the 6502/6510 Emulator and also Optimizing the CPU Emulator.
– https://www.oric.org/ftp/ceo/ceomag/downloads///ebooks/nomoresecretsnmos6510.pdf
– http://www.oxyron.de/html/opcodes02.html

- SID Playlist.
- Realtime Switching 6581/8580 if ARMSID is used.
- Use the Button MODE to open an advanced setup menu.
- Loading files error handling.

- Add Firmware Upgrade via USB Pen Drive.
– https://www.eeweb.com/wp-content/uploads/articles-app-notes-files-pic32-bootloader-1335647102.pdf

Selcom Lemon II Floppy Drive Repair and Clean

April 7th, 2021 No comments
Selcom Lemon II Floppy Drive Repair and Clean

Selcom Lemon II Floppy Drive Repair and Clean.

Defect: The Floppy Drive motor spins and the LED stays on but the R/W head does not move and don’t read anythings. This is a classic failure due to incorrect insertion of the Floppy Drive connector into the male connector on the side of the Floppy Drive Controller card.

By inserting the connector moved one row externally the supply consequently go to in the wrong places and the first IC to explode in the true sense of the word is the 74LS125 (see photo).

Replaced the component, everything has started to working again.

Taking advantage of the repair, i have cleaned the inside of the LEMON II Computer and done a DUMP of the EPROM, i also cleaned and lubrificate the mechanical parts of the Floppy Drive.

Gallery of the repair:

Download: Selcom Lemon II ROM EPROM Dump (712)

2 x Atari Lynx II Repair and Recap

March 21st, 2021 No comments
2 x Atari Lynx II Repair and Recap

2 x Atari Lynx II Repair and Recap.

The first Atari Lynx II did not turn on but when powering the console at 5v bypassing the power stage it worked properly.

I had to replace all the electrolytic capacitors and the critical components of the power stage.

  • 1 x MOSFET MTDJ055E with a equivalent one.
  • 2 x Transistor 2N3906.
  • 1 x Zener Diode 1N5991B.
  • 1 x 120 Ohm resistor.

The second Atari Lynx II working correctly so consequently i have only replaced the electrolytic capacitors.

Gallery of the repair:

Hybrid SID Player + SID 8580R5 running on Olimex PIC32-T795

February 6th, 2021 No comments
Hybrid SID Player with a real SID 8580R5 running on Olimex PIC32-T795

Hybrid SID Player with a real SID 8580R5 running on Olimex PIC32-T795.

After trying the sid player of Bakisha and have added some features (es: Big LCD ILI9341 / Real Sid) of course with the help of Bakisha, thanks Branko

I also wanted to try the Hybrid SID Player by Markus Gritsch. The schematic (omitting some components) and the firmware are untouched and released some years ago (2011-2012) by Markus Gritsch on the forum of Dangerous Prototype.

Since the CUI32 DEV Board where is born the Hybrid SID Player is no longer available from many years, i have used the DEV Board PIC32-T795 from Olimex based on the same MCU the PIC32MX795F512H.

I have made a hack on the PIC32-T795 development board because the two pins used for the rotary encoder are not available because they are used for the RTC, i just had to remove the MHz Crystal and two capacitors from the PIC32-T795 board, so i have solder two wires directly on the dev board pcb.

The purpose of all these experiments is make some hardware changes and new implementations to the final project that i will choose and then make an all-in-one pcb and make it public to anyone who wants to build it.

Gallery:

Video:

STM32F40x SID Player by Bakisha with LCD and ARMSID

January 3rd, 2021 No comments

I continue the experiments with STM32 and the SID Player by Bakisha. I must thank Branko (Bakisha) for his patience and support.

I have added the LCD support (ILI9341) for the SID Player on the STM32F407VET6 DEV Board.

… and an external SID for the SID Player on the STM32F401CCU6 DEV Board.

I have used the ARMSID by Nobomi but it works quite well with a real SID 8580R5 too,  there are only a little problems of timing that need to be fixed.

STM32F407VET6 SID Player + LCD (ILI9341) Video:

STM32F401CCU6 SID Player + ARMSID Video:

STM32F407VET6 (168Mhz Arm MCUs) SID Player by Bakisha

December 5th, 2020 No comments
STM32F407VET6 (168Mhz Arm MCUs) SID Player by Bakisha

I wanted to try Bakisha SID Player also with the STM32F407VET6 (previous post: STM32F401CCU6) ARM Cortex-M4 32bit MCU based Development Board which runs at frequencies up to 168MHz.

After some hardware and software changes i was able to use the SD Card support, buttons and LED on the pcb.

What i would like to do is install a TFT LCD screen compatible with this DEV Board and modify the software to display the various information that is now are sent via serial.

The MCUs that uses this DEV Board reaches a frequency of 168 Mhz and consequently i should not have problems of CPU overload taking away precious cycles times of the SID Player.

I leave you with some photos and a video.

Gallery:

SDCARD SDIO (Native) to SPI1 Pins:

Video:

source: github.com/Bakisha/STM32-SID-PLAYER

Parallel Cable for The Commodore Disk Drive 1541-II

November 25th, 2020 No comments
Parallel Cable for The Commodore Disk Drive 1541-II

The Commodore parallel cable is a companion cable for the Commodore serial cable (IEC) and gives you an additional parallel connection between a Commodore 1541, 1570 or 1571 drive and a Commodore 64 machine or via XUM1541 (PROMICRO)/ZoomFloppy …

The cable is supported by the following Commodore software:

  • The DOS accelerators Dolphin DOS and Speed DOS.
  • The disk copiers 15 Second Copy, Burst Nibbler and Maverick.

VIA 6522 Fix:

With the Commodore 1541-II disk drive there’s still an open issue after the parallel cable installation, you need also to cut the track between the PIN1 and PIN2 of the VIA 6522 (the same VIA where the parallel cable is installed).

No more to say.

I leave you the links, good reading.

Gallery:

source: d81.de/R.I.P/Para1541II.shtml ist.uwaterloo.ca/~schepers/1541port.html