Archive

Archive for the ‘Various’ Category

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 (914)

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

ELEGOO UNO R3 – Hackvision

November 25th, 2020 3 comments
ELEGOO UNO R3 - Hackvision

I’m not posting anything new, it simply something that i wanted to do from ten years, assemble the “project” Hackvision using Arduino, now i’m using a clone: ELEGOO UNO R3.

There is nothing more to say and like you can see from the photos the games run well.

The games are compiled with ARDUINO IDE with the TV-OUT library.

Gallery:

Electronic diagram:

source: nootropicdesign.com/hackvision/games/

STM32F401CCU6 (Arm Cortex MCUs) SID Player by Bakisha

November 23rd, 2020 5 comments
STM32 (Arm Cortex MCUs) SID Player by Bakisha

STM32 (Arm Cortex MCUs) SID Player by Bakisha.

SID chip (6581 and 8580) and 6502 CPU emulator for STM32 (Arm Cortex MCUs). Compiled with Arduino IDE and uploaded with ST-LINK V2.

NOTE:

I have added to the original code of Bakisha the visualization of the 3 SID voices via 3 x Green LED.

Useless to write more about this, watch the video and the photos.

Special thanks goes to Bakisha for his work.

Components used for this project:

  • 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.

You can found the schematic here.

Gallery:

Video:

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

Commodore PET CBM 3008 Motherboard and Monitor Repair

November 3rd, 2020 2 comments
Commodore PET Model CBM 3008 Motherboard and Monitor Repair

A person in need of my help of which i have already repaired several devices has contacted me and asked if i could make a repair of one of his Commodore PET with two different trouble.

  • The first fault was black screen on power up, meaning no image was displayed.
  • The second fault that occurred after a couple of days was a raster video distortion of the CRT monitor accompanied by a smell of burning (see photo)

The first fault was solved by replacing the UD7 ROM (901465-02) with an eprom (2532), the correct functioning test could be done by connecting the LCD monitor that i use for repairs via a video adapter.

The second fault was brilliantly resolved by replacing the voltage regulator installed on the pcb monitor, a 7812 which on the pin output did not always return 12v but rather a mix between 3v, 6v, 10v.

I also removed some pieces of foam rubber (see photo) which due to the glue used has damaged the back of the monitor PCB leaving obvious traces of corrosion and a black sticky stain that i have removed.

I also rebuilt a missing pin of the ROM UF14 (901447-10) that someone had thought to fix in a very rough way (see photo)

Gallery of the repair:

Download:

Philips NMS 8245: The usual melted belt of the Floppy Drive

August 26th, 2020 No comments
Philips MSX NMS 8245 usual melted belt

Philips NMS 8245: The usual melted belt of the Floppy Drive.

Gallery:

Philips Videopac G7000 a little bit Dirty but Working

August 10th, 2020 No comments
Philips Videopac G7000 a little bit Dirty but Working

Philips Videopac G7000 a little bit Dirty but Working. Nothing to write this time, just needed only a good clean up.

Gallery:

Dirty and Ruined Intellivision Black Screen repair

August 10th, 2020 No comments
Dirty and Ruined Intellivision Black Screen repair

Dirty and Ruined Intellivision *Black Screen* repair.

It would not have been nice to put the intellivision in a very worn state and without a controller inside the spare parts box without even trying it :-)

Obviously the intellivision was not working, black screen.

The repair was simple, i have replaced the AM9114 (U8-B) RAM with a NEC 2114 and everything started working better than before :-)

I have also removed both labels in a pitiful conditions, now it looks better than before.

Gallery of the repair:

Compudata (Exidy) Sorcerer II (DP1000-4)

June 28th, 2020 No comments
Compudata (Exidy) Sorcerer II (DP1000-4)

The restoration of the Sorcerer II of the Compudata (Exidy) was very simple, it was enough to replace all the tantalum capacitors with electrolytics one and make a good cleaning.

I tried the Sorcerer with the software downloadable at this link and to do a better understand the idea of the long loading (average 7 minutes) i have recorded the WAV file of the tape format on a Tape Cassette and used an old recorder to load the software, everything worked perfectly on the first try.

from Wikipedia;

The Sorcerer is a home computer system released in 1978 by the video game company Exidy.

It was comparatively advanced when released, especially when compared to the contemporary more commercially successful Commodore PET and TRS-80, but due to company focus on the coin operated video game marketplace resources were restricted for personal computer expansion and a separate division of the company was created.

Exidy Data Systems was headed by Paul Terrell to expand the product line to include small business computing with international distribution and technology license agreements to supplement corporate funding.

Distribution agreements with Dick Smith Electronics in Australia and Liveport in the UK as well as Compudata which included a manufacturing license to build, market and distribute the Tulip line of computers in Europe. Exidy sold the PC division to a Wall Street firm, Biotech, in 1983.

Gallery:

Usual boring repair of a Texas Instruments TI-99-4A

May 31st, 2020 No comments
Usual boring repair of a Texas Instruments TI-99-4A

Texas Instruments TI-99/4A Repair.

Defect:

  • Garbage boot screen.

Replaced parts:

  • 2 x TMS4116-15 RAM (U102 / U105)

Gallery of the repair: